npm.io
2.9.1 • Published 3 weeks ago

@jsonic/multisource

Licence
MIT
Version
2.9.1
Deps
0
Size
81 kB
Vulns
0
Weekly
0

multisource

Load partial values from multiple sources (files, packages, memory) into a single Jsonic parse result.

npm version build Coverage Status Known Vulnerabilities DeepScan grade Maintainability

Voxgig This open source module is sponsored and supported by Voxgig.

Documentation

Documentation is available for both language implementations:

Quick Example

// file: foo.jsonic
//   a:1

import { Jsonic } from 'jsonic'
import MultiSource from '@jsonic/multisource'
import { makeFileResolver } from '@jsonic/multisource/resolver/file'

const j = Jsonic.make().use(MultiSource, {
  resolver: makeFileResolver(),
})

j('@"foo.jsonic" b:2')
// => { a: 1, b: 2 }
import (
    jsonic "github.com/jsonicjs/jsonic/go"
    multisource "github.com/jsonicjs/multisource/go"
)

files := map[string]string{"foo.jsonic": "a:1"}
j := multisource.MakeJsonic(multisource.MultiSourceOptions{
    Resolver: multisource.MakeMemResolver(files),
})
out, _ := j.Parse(`{@foo.jsonic, b:2}`)
// => map[a:1 b:2]

License

MIT Richard Rodger and contributors.