@ts-common/json
Advanced tools
Comparing version 0.0.2 to 0.0.3
@@ -6,3 +6,3 @@ export interface ObjectProperties { | ||
export declare type ArrayObject = Array<any>; | ||
export declare type Json = null | boolean | string | number | Object | ArrayObject; | ||
export declare type Json = null | boolean | string | number | ArrayObject | Object; | ||
export interface Visitor<T> { | ||
@@ -13,4 +13,4 @@ asNull(): T; | ||
asNumber(value: number): T; | ||
asArray(value: ReadonlyArray<Json>): T; | ||
asObject(value: ObjectProperties): T; | ||
asArray(value: ReadonlyArray<Json>): T; | ||
} | ||
@@ -17,0 +17,0 @@ export declare function visit<T>(value: Json, visitor: Visitor<T>): T; |
22
index.js
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
function visit(value, visitor) { | ||
if (value === null) { | ||
return visitor.asNull(); | ||
} | ||
if (typeof value === "boolean") { | ||
return visitor.asBoolean(value); | ||
} | ||
if (typeof value === "string") { | ||
return visitor.asString(value); | ||
} | ||
if (typeof value === "number") { | ||
return visitor.asNumber(value); | ||
} | ||
if (value instanceof Array) { | ||
return visitor.asArray(value); | ||
} | ||
return visitor.asObject(value); | ||
return value === null ? visitor.asNull() : | ||
typeof value === "boolean" ? visitor.asBoolean(value) : | ||
typeof value === "string" ? visitor.asString(value) : | ||
typeof value === "number" ? visitor.asNumber(value) : | ||
value instanceof Array ? visitor.asArray(value) : | ||
visitor.asObject(value); | ||
} | ||
@@ -21,0 +11,0 @@ exports.visit = visit; |
{ | ||
"name": "@ts-common/json", | ||
"version": "0.0.2", | ||
"version": "0.0.3", | ||
"description": "JSON Data Type", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
13489
30