@keyv/serialize
Advanced tools
+10
-5
@@ -28,3 +28,3 @@ "use strict"; | ||
| var import_node_buffer = require("buffer"); | ||
| var defaultSerialize = (data) => { | ||
| var _serialize = (data, escapeColonStrings = true) => { | ||
| if (data === void 0 || data === null) { | ||
@@ -34,6 +34,8 @@ return "null"; | ||
| if (typeof data === "string") { | ||
| return JSON.stringify(data.startsWith(":") ? ":" + data : data); | ||
| return JSON.stringify( | ||
| escapeColonStrings && data.startsWith(":") ? `:${data}` : data | ||
| ); | ||
| } | ||
| if (import_node_buffer.Buffer.isBuffer(data)) { | ||
| return JSON.stringify(":base64:" + data.toString("base64")); | ||
| return JSON.stringify(`:base64:${data.toString("base64")}`); | ||
| } | ||
@@ -58,5 +60,5 @@ if (data?.toJSON) { | ||
| if (array) { | ||
| s += defaultSerialize(data[k]); | ||
| s += _serialize(data[k], escapeColonStrings); | ||
| } else if (data[k] !== void 0) { | ||
| s += defaultSerialize(k) + ":" + defaultSerialize(data[k]); | ||
| s += `${_serialize(k, false)}:${_serialize(data[k], escapeColonStrings)}`; | ||
| } | ||
@@ -69,2 +71,5 @@ } | ||
| }; | ||
| var defaultSerialize = (data) => { | ||
| return _serialize(data, true); | ||
| }; | ||
| var defaultDeserialize = (data) => JSON.parse(data, (_, value) => { | ||
@@ -71,0 +76,0 @@ if (typeof value === "string") { |
+10
-5
| // src/index.ts | ||
| import { Buffer } from "buffer"; | ||
| var defaultSerialize = (data) => { | ||
| var _serialize = (data, escapeColonStrings = true) => { | ||
| if (data === void 0 || data === null) { | ||
@@ -8,6 +8,8 @@ return "null"; | ||
| if (typeof data === "string") { | ||
| return JSON.stringify(data.startsWith(":") ? ":" + data : data); | ||
| return JSON.stringify( | ||
| escapeColonStrings && data.startsWith(":") ? `:${data}` : data | ||
| ); | ||
| } | ||
| if (Buffer.isBuffer(data)) { | ||
| return JSON.stringify(":base64:" + data.toString("base64")); | ||
| return JSON.stringify(`:base64:${data.toString("base64")}`); | ||
| } | ||
@@ -32,5 +34,5 @@ if (data?.toJSON) { | ||
| if (array) { | ||
| s += defaultSerialize(data[k]); | ||
| s += _serialize(data[k], escapeColonStrings); | ||
| } else if (data[k] !== void 0) { | ||
| s += defaultSerialize(k) + ":" + defaultSerialize(data[k]); | ||
| s += `${_serialize(k, false)}:${_serialize(data[k], escapeColonStrings)}`; | ||
| } | ||
@@ -43,2 +45,5 @@ } | ||
| }; | ||
| var defaultSerialize = (data) => { | ||
| return _serialize(data, true); | ||
| }; | ||
| var defaultDeserialize = (data) => JSON.parse(data, (_, value) => { | ||
@@ -45,0 +50,0 @@ if (typeof value === "string") { |
+8
-8
| { | ||
| "name": "@keyv/serialize", | ||
| "version": "1.1.0", | ||
| "version": "1.1.1", | ||
| "description": "Serialization for Keyv", | ||
@@ -33,10 +33,10 @@ "type": "module", | ||
| "devDependencies": { | ||
| "@biomejs/biome": "^2.2.3", | ||
| "@vitest/coverage-v8": "^3.2.4", | ||
| "rimraf": "^6.0.1", | ||
| "tsd": "^0.32.0", | ||
| "typescript": "^5.8.3", | ||
| "tsd": "^0.33.0", | ||
| "typescript": "^5.9.2", | ||
| "vitest": "^3.2.4", | ||
| "xo": "^1.2.1", | ||
| "@keyv/test-suite": "^2.0.9", | ||
| "keyv": "^5.3.4" | ||
| "@keyv/test-suite": "^2.1.1", | ||
| "keyv": "^5.5.0" | ||
| }, | ||
@@ -52,6 +52,6 @@ "tsd": { | ||
| "build": "rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean", | ||
| "test": "xo --fix && vitest run --coverage", | ||
| "test:ci": "xo && vitest --run --sequence.setupFiles=list --coverage", | ||
| "test": "biome check --write && vitest run --coverage", | ||
| "test:ci": "biome check && vitest --run --sequence.setupFiles=list --coverage", | ||
| "clean": "rimraf ./node_modules ./coverage ./dist" | ||
| } | ||
| } |
8107
4.4%144
7.46%