πŸš€ Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more β†’
Socket
Book a DemoInstallSign in
Socket

json-as

Package Overview
Dependencies
Maintainers
1
Versions
192
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

json-as

JSON encoder/decoder for AssemblyScript

0.2.6
Source
npm
Version published
Weekly downloads
3K
43.71%
Maintainers
1
Weekly downloads
Β 
Created
Source

AS-JSON

JSON encoder/decoder for AssemblyScript

Installation

~ npm install json-as
--transform json-as/transform

Support

  • βœ… Objects
  • βœ… Arrays
  • βœ… Numbers
  • βœ… Integers
  • βœ… Null
  • βœ… Dynamic Arrays
  • βœ… Dynamic Types
  • βœ… Dynamic Objects
  • βœ… Whitespace

Usage

import { JSON } from 'json-as'

Object

@json
class JSONSchema {
    firstName: string
    lastName: string
    age: i32
}

const data: JSONSchema {
    firstName: 'Jairus',
    lastName: 'Tanaka',
    age: 14
}

const stringified = JSON.stringify(data)
// '{"firstName":"Jairus","lastName":"Tanaka","age":14}'

const parsed = JSON.parse<JSONSchema>(stringified)
// { firstName: "Jairus", lastName: "Tanaka", age: 14 }

Array

const stringified = JSON.stringify(['Hello', 'World'])
// '["Hello","World"]'

const parsed = JSON.parse<JSONSchema>(stringified)
// ["Hello", "World"]

Float

const stringified = JSON.stringify(3.14)
// '3.14'

const parsed = JSON.parse<f64>(stringified)
// 3.14

Integer

const stringified = JSON.stringify(14)
// '14'

const parsed = JSON.parse<i32>(stringified)
// 14

Boolean

const stringified = JSON.stringify(true)
// 'true'

const parsed = JSON.parse<boolean>(stringified)
// true

Bool

const stringified = JSON.stringify(true)
// 'true'

const parsed = JSON.parse<bool>(stringified)
// true

Null

const stringified = JSON.stringify(null)
// 'null'

const parsed = JSON.parse(stringified)
// null

Benchmarks

AS-JSON Stringify String: ~4191267.51 ops/s | 23.86ms
AS-JSON Parse String: ~6218119.99 ops/s | 16.08ms
AS-JSON Stringify Integer: ~13775012.61 ops/s | 7.26ms
AS-JSON Parse Integer: ~55061164.13 ops/s | 1.82ms
AS-JSON Stringify Float: ~7739399.89 ops/s | 12.92ms
AS-JSON Parse Float: ~37522902.16 ops/s | 2.67ms
AS-JSON Stringify Boolean: ~615015015.02 ops/s | 0.16ms
AS-JSON Parse Boolean: ~93901879.87 ops/s | 1.06ms
AS-JSON Stringify Array: ~2380329.74 ops/s | 42.01ms
AS-JSON Parse Array: ~6258786.14 ops/s | 15.98ms
AS-JSON Stringify Object: ~5245632.91 ops/s | 19.06ms
AS-JSON Parse Object: ~1328576.06 ops/s | 75.27ms

Keywords

assemblyscript

FAQs

Package last updated on 28 Oct 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts