JSPM

klp-json

0.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q9725F
  • License MIT

A JSON plugin for `klp` (Kelpie), the small, fast, and magical command-line data processor.

Package Exports

  • klp-json

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (klp-json) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

TODO: klp-json teaser

🐴klp-json is a JSON plugin for klp (Kelpie), the small, fast, and magical command-line data processor.

See the klp github repository for more details!

node version npm version license PRs Welcome linux unit tests status macos unit tests status windows unit tests status

Installation

👌 klp-json comes preinstalled in klp. No installation necessary. If you still want to install it, proceed as described below.

klp-json is installed in ~/.klp/ as follows:

npm install klp-json

The plugin is included in ~/.klp/index.js as follows:

const json = require('klp-json')

module.exports = {
  plugins:  [json],
  context:  {},
  defaults: {}
}

For a much more detailed description, see the .klp module documentation.

Extensions

This plugin comes with the following klp extensions:

Description
jsonObj chunker Searches the data for JSON objects and returns each object as a chunk. All data between objects is dropped. This is useful in a streaming context, or when deserializing files containing one big JSON list of JSON objects.
json deserializer Deserializes data into JSON. Uses JSON.parse internally.
json serializer Serializes transformed JSON into JSON using JSON.stringify.

Limitations

This plugin has the following limitations:

  1. No BigInt Support: Since JSON does not support BigInt, klp-json does not support it either. If you need to pass BigInts, encode them as strings and not as numbers.
  2. No JSON-Stream Chunker for Non-Objects: Currently, klp-json only ships with a JSON object chunker for data streams. This may change in the future.
  3. Integer Key Ordering: The json serializer may order JSON object keys in surprising ways. Keys that are integers are always moved to the beginning and sorted in ascending order. All other keys come after these integer keys. This is how JavaScript generally handles object keys and klp-json makes no exception.

Reporting Issues

Please report issues in the tracker!

License

klp-json is MIT licensed.