elm-packages
Elm packages information library.
Install
npm i elm-packages
Usage
Get all Elm packages information:
const elmInfo = // Inside an async functionconst allPackages = await elmInfo
Get documentation of a package:
const elmInfo = // Inside an async functionconst docs = await elmInfo
Get available versions of a package:
const elmInfo = // Inside an async functionconst docs = await elmInfoversion'elm''browser'
Search by keyword (offline)
This package uses an offline db (db.json
~ 24MB) to provide Elm type info (npm compresses all packages by default so the download size would be < 3.5 MB) and uses an in memory Map
indexed by methods
and unions
so queries would be resolved super fast.
You can pass an options
object alongside keyword
to customize your search. Structure of options
object is:
method: String packages: Array type: String
method
: How to match keyword. Valid options are:exact
: Results should be exactly the same as searchkeyword
.startsWith
: Results should be started with searchkeyword
.contains
:keyword
can appear anywhere in searched entries.
packages
: Array ofstring
. Array of all packages to search for keyword. Empty array means all packages.type
: What to search. Valid options are:method
: Searchkeyword
in methods.union
: Searchkeyword
in unions.any
: Searchkeyword
in methods and unions.
Search result is an object of:
Methods: Unions:
Examples
Contribution
PRs are welcome. Check if tests pass by npm run test
Changes
0.5.1
- Fixing security vulnerability in
js-yaml
dependency. - Fixing security vulnerability in
handlebars
dependency.
0.5.0
- Search options added with examples.
- Error in case of malformed Json.
- Unit tests added.
0.4.0
- Search added.
0.3.0
- Create offline db.
0.2.0
- Get latest package version info by default.
0.1.0
- Initial release.