New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@synstack/json

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@synstack/json - npm Package Compare versions

Comparing version
1.1.9
to
1.1.10
+1
-1
dist/json.index.cjs.map

@@ -1,1 +0,1 @@

{"version":3,"sources":["../src/json.index.ts","../src/json.bundle.ts","../src/json.lib.ts"],"sourcesContent":["export * from \"./json.bundle.ts\";\nexport * as json from \"./json.bundle.ts\";\nexport { JsonParseException } from \"./json.lib.ts\";\n","export { deserialize, serialize } from \"./json.lib.ts\";\n","import type { ZodSchema } from \"zod\";\nimport type { Stringable } from \"../../shared/src/ts.utils.ts\";\n\n// Todo: check if passing \"zod\" as peer dependency breaks the build\n\n/**\n * Serializes data to JSON\n * @param data The data to serialize\n * @param config.pretty Whether to pretty print the JSON\n * @param config.schema Optional Zod schema to validate the data against before serializing\n * @returns The JSON as a string\n */\nexport const serialize = (\n data: any,\n config: { pretty?: boolean; schema?: ZodSchema<any> } = {},\n) => {\n const validatedData = config.schema ? config.schema.parse(data) : data;\n return JSON.stringify(validatedData, null, config.pretty ? 2 : undefined);\n};\n\n/**\n * Deserializes JSON to a TypeScript type\n * @param content The JSON content to deserialize\n * @param config.schema Optional Zod schema to validate the data against after deserializing\n * @returns The deserialized data as a js entity\n */\nexport const deserialize = <T = unknown>(\n content: Stringable,\n config: {\n schema?: ZodSchema<T>;\n } = {},\n): T => {\n try {\n const validatedData = JSON.parse(content.toString());\n if (config.schema) return config.schema.parse(validatedData);\n return validatedData as T;\n } catch (error) {\n throw new JsonParseException(content.toString(), error);\n }\n};\n\nexport class JsonParseException extends Error {\n constructor(value: string, cause?: any) {\n const message = `\nFailed to parse JSON\n\n[JSON String Value]:\n ${value}\n\n[Cause]:\n ${cause instanceof Error ? cause.message : String(cause)}\n `;\n\n super(message, { cause });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;;;ACYO,IAAM,YAAY,CACvB,MACA,SAAwD,CAAC,MACtD;AACH,QAAM,gBAAgB,OAAO,SAAS,OAAO,OAAO,MAAM,IAAI,IAAI;AAClE,SAAO,KAAK,UAAU,eAAe,MAAM,OAAO,SAAS,IAAI,MAAS;AAC1E;AAQO,IAAM,cAAc,CACzB,SACA,SAEI,CAAC,MACC;AACN,MAAI;AACF,UAAM,gBAAgB,KAAK,MAAM,QAAQ,SAAS,CAAC;AACnD,QAAI,OAAO,OAAQ,QAAO,OAAO,OAAO,MAAM,aAAa;AAC3D,WAAO;AAAA,EACT,SAAS,OAAO;AACd,UAAM,IAAI,mBAAmB,QAAQ,SAAS,GAAG,KAAK;AAAA,EACxD;AACF;AAEO,IAAM,qBAAN,cAAiC,MAAM;AAAA,EAC5C,YAAY,OAAe,OAAa;AACtC,UAAM,UAAU;AAAA;AAAA;AAAA;AAAA,IAIhB,KAAK;AAAA;AAAA;AAAA,IAGL,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AAAA;AAGtD,UAAM,SAAS,EAAE,MAAM,CAAC;AAAA,EAC1B;AACF;","names":[]}
{"version":3,"sources":["../src/json.index.ts","../src/json.bundle.ts","../src/json.lib.ts"],"sourcesContent":["export * from \"./json.bundle.ts\";\nexport * as json from \"./json.bundle.ts\";\nexport { JsonParseException } from \"./json.lib.ts\";\n","export { deserialize, serialize } from \"./json.lib.ts\";\n","import type { ZodTypeDef as ZodTypeDefV3, ZodType as ZodTypeV3 } from \"zod/v3\";\nimport type { ZodType as ZodTypeV4 } from \"zod/v4\";\nimport type { Stringable } from \"../../shared/src/ts.utils.ts\";\n\n// Union type to support both Zod v3 and v4 schemas\ntype ZodSchema<OUT = any, IN = any> =\n | ZodTypeV3<OUT, ZodTypeDefV3, IN>\n | ZodTypeV4<OUT, IN>;\n\n/**\n * Serializes data to JSON\n * @param data The data to serialize\n * @param config.pretty Whether to pretty print the JSON\n * @param config.schema Optional Zod schema to validate the data against before serializing\n * @returns The JSON as a string\n */\nexport const serialize = <SHAPE = unknown>(\n data: SHAPE,\n config: { pretty?: boolean; schema?: ZodSchema<any, SHAPE> } = {},\n) => {\n const validatedData = config.schema ? config.schema.parse(data) : data;\n return JSON.stringify(validatedData, null, config.pretty ? 2 : undefined);\n};\n\n/**\n * Deserializes JSON to a TypeScript type\n * @param content The JSON content to deserialize\n * @param config.schema Optional Zod schema to validate the data against after deserializing\n * @returns The deserialized data as a js entity\n */\nexport const deserialize = <SHAPE = unknown>(\n content: Stringable,\n config: {\n schema?: ZodSchema<SHAPE>;\n } = {},\n): SHAPE => {\n try {\n const validatedData = JSON.parse(content.toString());\n if (config.schema) return config.schema.parse(validatedData);\n return validatedData;\n } catch (error) {\n throw new JsonParseException(content.toString(), error);\n }\n};\n\nexport class JsonParseException extends Error {\n constructor(value: string, cause?: any) {\n const message = `\nFailed to parse JSON\n\n[JSON String Value]:\n ${value}\n\n[Cause]:\n ${cause instanceof Error ? cause.message : String(cause)}\n `;\n\n super(message, { cause });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;;;ACgBO,IAAM,YAAY,CACvB,MACA,SAA+D,CAAC,MAC7D;AACH,QAAM,gBAAgB,OAAO,SAAS,OAAO,OAAO,MAAM,IAAI,IAAI;AAClE,SAAO,KAAK,UAAU,eAAe,MAAM,OAAO,SAAS,IAAI,MAAS;AAC1E;AAQO,IAAM,cAAc,CACzB,SACA,SAEI,CAAC,MACK;AACV,MAAI;AACF,UAAM,gBAAgB,KAAK,MAAM,QAAQ,SAAS,CAAC;AACnD,QAAI,OAAO,OAAQ,QAAO,OAAO,OAAO,MAAM,aAAa;AAC3D,WAAO;AAAA,EACT,SAAS,OAAO;AACd,UAAM,IAAI,mBAAmB,QAAQ,SAAS,GAAG,KAAK;AAAA,EACxD;AACF;AAEO,IAAM,qBAAN,cAAiC,MAAM;AAAA,EAC5C,YAAY,OAAe,OAAa;AACtC,UAAM,UAAU;AAAA;AAAA;AAAA;AAAA,IAIhB,KAAK;AAAA;AAAA;AAAA,IAGL,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AAAA;AAGtD,UAAM,SAAS,EAAE,MAAM,CAAC;AAAA,EAC1B;AACF;","names":[]}

@@ -1,2 +0,3 @@

import { ZodSchema } from 'zod';
import { ZodType, ZodTypeDef } from 'zod/v3';
import { ZodType as ZodType$1 } from 'zod/v4';

@@ -10,2 +11,3 @@ /**

type ZodSchema<OUT = any, IN = any> = ZodType<OUT, ZodTypeDef, IN> | ZodType$1<OUT, IN>;
/**

@@ -18,5 +20,5 @@ * Serializes data to JSON

*/
declare const serialize: (data: any, config?: {
declare const serialize: <SHAPE = unknown>(data: SHAPE, config?: {
pretty?: boolean;
schema?: ZodSchema<any>;
schema?: ZodSchema<any, SHAPE>;
}) => string;

@@ -29,5 +31,5 @@ /**

*/
declare const deserialize: <T = unknown>(content: Stringable, config?: {
schema?: ZodSchema<T>;
}) => T;
declare const deserialize: <SHAPE = unknown>(content: Stringable, config?: {
schema?: ZodSchema<SHAPE>;
}) => SHAPE;
declare class JsonParseException extends Error {

@@ -34,0 +36,0 @@ constructor(value: string, cause?: any);

@@ -1,2 +0,3 @@

import { ZodSchema } from 'zod';
import { ZodType, ZodTypeDef } from 'zod/v3';
import { ZodType as ZodType$1 } from 'zod/v4';

@@ -10,2 +11,3 @@ /**

type ZodSchema<OUT = any, IN = any> = ZodType<OUT, ZodTypeDef, IN> | ZodType$1<OUT, IN>;
/**

@@ -18,5 +20,5 @@ * Serializes data to JSON

*/
declare const serialize: (data: any, config?: {
declare const serialize: <SHAPE = unknown>(data: SHAPE, config?: {
pretty?: boolean;
schema?: ZodSchema<any>;
schema?: ZodSchema<any, SHAPE>;
}) => string;

@@ -29,5 +31,5 @@ /**

*/
declare const deserialize: <T = unknown>(content: Stringable, config?: {
schema?: ZodSchema<T>;
}) => T;
declare const deserialize: <SHAPE = unknown>(content: Stringable, config?: {
schema?: ZodSchema<SHAPE>;
}) => SHAPE;
declare class JsonParseException extends Error {

@@ -34,0 +36,0 @@ constructor(value: string, cause?: any);

@@ -1,1 +0,1 @@

{"version":3,"sources":["../src/json.bundle.ts","../src/json.lib.ts"],"sourcesContent":["export { deserialize, serialize } from \"./json.lib.ts\";\n","import type { ZodSchema } from \"zod\";\nimport type { Stringable } from \"../../shared/src/ts.utils.ts\";\n\n// Todo: check if passing \"zod\" as peer dependency breaks the build\n\n/**\n * Serializes data to JSON\n * @param data The data to serialize\n * @param config.pretty Whether to pretty print the JSON\n * @param config.schema Optional Zod schema to validate the data against before serializing\n * @returns The JSON as a string\n */\nexport const serialize = (\n data: any,\n config: { pretty?: boolean; schema?: ZodSchema<any> } = {},\n) => {\n const validatedData = config.schema ? config.schema.parse(data) : data;\n return JSON.stringify(validatedData, null, config.pretty ? 2 : undefined);\n};\n\n/**\n * Deserializes JSON to a TypeScript type\n * @param content The JSON content to deserialize\n * @param config.schema Optional Zod schema to validate the data against after deserializing\n * @returns The deserialized data as a js entity\n */\nexport const deserialize = <T = unknown>(\n content: Stringable,\n config: {\n schema?: ZodSchema<T>;\n } = {},\n): T => {\n try {\n const validatedData = JSON.parse(content.toString());\n if (config.schema) return config.schema.parse(validatedData);\n return validatedData as T;\n } catch (error) {\n throw new JsonParseException(content.toString(), error);\n }\n};\n\nexport class JsonParseException extends Error {\n constructor(value: string, cause?: any) {\n const message = `\nFailed to parse JSON\n\n[JSON String Value]:\n ${value}\n\n[Cause]:\n ${cause instanceof Error ? cause.message : String(cause)}\n `;\n\n super(message, { cause });\n }\n}\n"],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACYO,IAAM,YAAY,CACvB,MACA,SAAwD,CAAC,MACtD;AACH,QAAM,gBAAgB,OAAO,SAAS,OAAO,OAAO,MAAM,IAAI,IAAI;AAClE,SAAO,KAAK,UAAU,eAAe,MAAM,OAAO,SAAS,IAAI,MAAS;AAC1E;AAQO,IAAM,cAAc,CACzB,SACA,SAEI,CAAC,MACC;AACN,MAAI;AACF,UAAM,gBAAgB,KAAK,MAAM,QAAQ,SAAS,CAAC;AACnD,QAAI,OAAO,OAAQ,QAAO,OAAO,OAAO,MAAM,aAAa;AAC3D,WAAO;AAAA,EACT,SAAS,OAAO;AACd,UAAM,IAAI,mBAAmB,QAAQ,SAAS,GAAG,KAAK;AAAA,EACxD;AACF;AAEO,IAAM,qBAAN,cAAiC,MAAM;AAAA,EAC5C,YAAY,OAAe,OAAa;AACtC,UAAM,UAAU;AAAA;AAAA;AAAA;AAAA,IAIhB,KAAK;AAAA;AAAA;AAAA,IAGL,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AAAA;AAGtD,UAAM,SAAS,EAAE,MAAM,CAAC;AAAA,EAC1B;AACF;","names":[]}
{"version":3,"sources":["../src/json.bundle.ts","../src/json.lib.ts"],"sourcesContent":["export { deserialize, serialize } from \"./json.lib.ts\";\n","import type { ZodTypeDef as ZodTypeDefV3, ZodType as ZodTypeV3 } from \"zod/v3\";\nimport type { ZodType as ZodTypeV4 } from \"zod/v4\";\nimport type { Stringable } from \"../../shared/src/ts.utils.ts\";\n\n// Union type to support both Zod v3 and v4 schemas\ntype ZodSchema<OUT = any, IN = any> =\n | ZodTypeV3<OUT, ZodTypeDefV3, IN>\n | ZodTypeV4<OUT, IN>;\n\n/**\n * Serializes data to JSON\n * @param data The data to serialize\n * @param config.pretty Whether to pretty print the JSON\n * @param config.schema Optional Zod schema to validate the data against before serializing\n * @returns The JSON as a string\n */\nexport const serialize = <SHAPE = unknown>(\n data: SHAPE,\n config: { pretty?: boolean; schema?: ZodSchema<any, SHAPE> } = {},\n) => {\n const validatedData = config.schema ? config.schema.parse(data) : data;\n return JSON.stringify(validatedData, null, config.pretty ? 2 : undefined);\n};\n\n/**\n * Deserializes JSON to a TypeScript type\n * @param content The JSON content to deserialize\n * @param config.schema Optional Zod schema to validate the data against after deserializing\n * @returns The deserialized data as a js entity\n */\nexport const deserialize = <SHAPE = unknown>(\n content: Stringable,\n config: {\n schema?: ZodSchema<SHAPE>;\n } = {},\n): SHAPE => {\n try {\n const validatedData = JSON.parse(content.toString());\n if (config.schema) return config.schema.parse(validatedData);\n return validatedData;\n } catch (error) {\n throw new JsonParseException(content.toString(), error);\n }\n};\n\nexport class JsonParseException extends Error {\n constructor(value: string, cause?: any) {\n const message = `\nFailed to parse JSON\n\n[JSON String Value]:\n ${value}\n\n[Cause]:\n ${cause instanceof Error ? cause.message : String(cause)}\n `;\n\n super(message, { cause });\n }\n}\n"],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACgBO,IAAM,YAAY,CACvB,MACA,SAA+D,CAAC,MAC7D;AACH,QAAM,gBAAgB,OAAO,SAAS,OAAO,OAAO,MAAM,IAAI,IAAI;AAClE,SAAO,KAAK,UAAU,eAAe,MAAM,OAAO,SAAS,IAAI,MAAS;AAC1E;AAQO,IAAM,cAAc,CACzB,SACA,SAEI,CAAC,MACK;AACV,MAAI;AACF,UAAM,gBAAgB,KAAK,MAAM,QAAQ,SAAS,CAAC;AACnD,QAAI,OAAO,OAAQ,QAAO,OAAO,OAAO,MAAM,aAAa;AAC3D,WAAO;AAAA,EACT,SAAS,OAAO;AACd,UAAM,IAAI,mBAAmB,QAAQ,SAAS,GAAG,KAAK;AAAA,EACxD;AACF;AAEO,IAAM,qBAAN,cAAiC,MAAM;AAAA,EAC5C,YAAY,OAAe,OAAa;AACtC,UAAM,UAAU;AAAA;AAAA;AAAA;AAAA,IAIhB,KAAK;AAAA;AAAA;AAAA,IAGL,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AAAA;AAGtD,UAAM,SAAS,EAAE,MAAM,CAAC;AAAA,EAC1B;AACF;","names":[]}

@@ -7,3 +7,3 @@ {

},
"version": "1.1.9",
"version": "1.1.10",
"description": "Schema-safe and type-safe JSON serialization and deserialization",

@@ -35,4 +35,3 @@ "keywords": [

"test:unit:watch": "node --experimental-strip-types --experimental-test-snapshots --no-warnings --watch --test --watch src/**/*.test.ts",
"test": "yarn test:types && yarn test:unit",
"prepare": "yarn test && yarn build"
"test": "pnpm test:types && pnpm test:unit"
},

@@ -52,9 +51,9 @@ "exports": {

"devDependencies": {
"@types/node": "^22.15.18",
"tsup": "^8.4.0",
"@types/node": "^22.15.32",
"tsup": "^8.5.0",
"typescript": "^5.8.3",
"zod": "^3.24.4"
"zod": "^3.25.67"
},
"peerDependencies": {
"zod": "*"
"zod": "^3.25.0"
},

@@ -66,3 +65,3 @@ "files": [

],
"gitHead": "e1e1af9e37deafae1ff7e22df9874af26941ae6b"
"gitHead": "f0daeeb6dd582a265033f020ba5e4baef3ff2a94"
}

@@ -1,5 +0,9 @@

import type { ZodSchema } from "zod";
import type { ZodTypeDef as ZodTypeDefV3, ZodType as ZodTypeV3 } from "zod/v3";
import type { ZodType as ZodTypeV4 } from "zod/v4";
import type { Stringable } from "../../shared/src/ts.utils.ts";
// Todo: check if passing "zod" as peer dependency breaks the build
// Union type to support both Zod v3 and v4 schemas
type ZodSchema<OUT = any, IN = any> =
| ZodTypeV3<OUT, ZodTypeDefV3, IN>
| ZodTypeV4<OUT, IN>;

@@ -13,5 +17,5 @@ /**

*/
export const serialize = (
data: any,
config: { pretty?: boolean; schema?: ZodSchema<any> } = {},
export const serialize = <SHAPE = unknown>(
data: SHAPE,
config: { pretty?: boolean; schema?: ZodSchema<any, SHAPE> } = {},
) => {

@@ -28,12 +32,12 @@ const validatedData = config.schema ? config.schema.parse(data) : data;

*/
export const deserialize = <T = unknown>(
export const deserialize = <SHAPE = unknown>(
content: Stringable,
config: {
schema?: ZodSchema<T>;
schema?: ZodSchema<SHAPE>;
} = {},
): T => {
): SHAPE => {
try {
const validatedData = JSON.parse(content.toString());
if (config.schema) return config.schema.parse(validatedData);
return validatedData as T;
return validatedData;
} catch (error) {

@@ -40,0 +44,0 @@ throw new JsonParseException(content.toString(), error);