Skip to main content
This package works with Bun, Cloudflare Workers, Node.js, Deno, Browsers
JSR Score
64%
Published
2 weeks ago (0.2.0)

jsonup

https://jsr.io/@tani/jsonup

This is a zero dependency compile-time JSON parser written in TypeScript.

Usage

import { JSONUP, ObjectLike } from 'jsonup' // Node
import { JSONUP, ObjectLike } from 'jsr:@tani/jsonup' // Deno

const src = `{ "name": "jsonup" }`

type Str = typeof src      // Type: `'{ "name": "jsonup" }'`
type Obj = ObjectLike<Str> // Type: `{ name: string }`

/**
 * JSONUP.parse infers the type from a given object.
 * The type parameter is optional.
 */
// Type: `{ name: string }` the inferred record type
// Value: `{ name: "jsonup" }` the generated object
let obj = JSONUP.parse(src) 
let obj = JSONUP.parse<Obj>(src)

/**
 * JSONUP.stringify guarantees the semantic equality between 
 * the generated string and the given literal type. 
 * The type parameter is required (maybe).
 */
// Type: `'{ "name": "jsonup" }'` the given literal type
// Value: `'{ "name": "jsonup" }'` the generated string
const str = JSONUP.stringify<Str>(obj) 

(c) 2022 TANIGUCHI Masaya. https://git.io/mit-license

Add Package

deno add @tani/jsonup

Import symbol

import * as mod from "@tani/jsonup";

Add Package

npx jsr add @tani/jsonup

Import symbol

import * as mod from "@tani/jsonup";

Add Package

yarn dlx jsr add @tani/jsonup

Import symbol

import * as mod from "@tani/jsonup";

Add Package

pnpm dlx jsr add @tani/jsonup

Import symbol

import * as mod from "@tani/jsonup";

Add Package

bunx jsr add @tani/jsonup

Import symbol

import * as mod from "@tani/jsonup";