@keyv/serialize 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -25,15 +25,17 @@ __export(index_exports, {
25
25
  });
26
26
  module.exports = __toCommonJS(index_exports);
27
27
  var import_node_buffer = require("buffer");
28
- var defaultSerialize = (data) => {
28
+ var _serialize = (data, escapeColonStrings = true) => {
29
29
  if (data === void 0 || data === null) {
30
30
  return "null";
31
31
  }
32
32
  if (typeof data === "string") {
33
- return JSON.stringify(data.startsWith(":") ? ":" + data : data);
33
+ return JSON.stringify(
34
+ escapeColonStrings && data.startsWith(":") ? `:${data}` : data
35
+ );
34
36
  }
35
37
  if (import_node_buffer.Buffer.isBuffer(data)) {
36
- return JSON.stringify(":base64:" + data.toString("base64"));
38
+ return JSON.stringify(`:base64:${data.toString("base64")}`);
37
39
  }
38
40
  if (data?.toJSON) {
39
41
  data = data.toJSON();
@@ -53,9 +55,9 @@ var defaultSerialize = (data) => {
53
55
  }
54
56
  first = false;
55
57
  if (array) {
56
- s += defaultSerialize(data[k]);
58
+ s += _serialize(data[k], escapeColonStrings);
57
59
  } else if (data[k] !== void 0) {
58
- s += defaultSerialize(k) + ":" + defaultSerialize(data[k]);
60
+ s += `${_serialize(k, false)}:${_serialize(data[k], escapeColonStrings)}`;
59
61
  }
60
62
  }
61
63
  s += array ? "]" : "}";
@@ -63,6 +65,9 @@ var defaultSerialize = (data) => {
63
65
  }
64
66
  return JSON.stringify(data);
65
67
  };
68
+ var defaultSerialize = (data) => {
69
+ return _serialize(data, true);
70
+ };
66
71
  var defaultDeserialize = (data) => JSON.parse(data, (_, value) => {
67
72
  if (typeof value === "string") {
68
73
  if (value.startsWith(":base64:")) {
package/dist/index.js CHANGED
@@ -1,14 +1,16 @@
1
1
  // src/index.ts
2
2
  import { Buffer } from "buffer";
3
- var defaultSerialize = (data) => {
3
+ var _serialize = (data, escapeColonStrings = true) => {
4
4
  if (data === void 0 || data === null) {
5
5
  return "null";
6
6
  }
7
7
  if (typeof data === "string") {
8
- return JSON.stringify(data.startsWith(":") ? ":" + data : data);
8
+ return JSON.stringify(
9
+ escapeColonStrings && data.startsWith(":") ? `:${data}` : data
10
+ );
9
11
  }
10
12
  if (Buffer.isBuffer(data)) {
11
- return JSON.stringify(":base64:" + data.toString("base64"));
13
+ return JSON.stringify(`:base64:${data.toString("base64")}`);
12
14
  }
13
15
  if (data?.toJSON) {
14
16
  data = data.toJSON();
@@ -28,9 +30,9 @@ var defaultSerialize = (data) => {
28
30
  }
29
31
  first = false;
30
32
  if (array) {
31
- s += defaultSerialize(data[k]);
33
+ s += _serialize(data[k], escapeColonStrings);
32
34
  } else if (data[k] !== void 0) {
33
- s += defaultSerialize(k) + ":" + defaultSerialize(data[k]);
35
+ s += `${_serialize(k, false)}:${_serialize(data[k], escapeColonStrings)}`;
34
36
  }
35
37
  }
36
38
  s += array ? "]" : "}";
@@ -38,6 +40,9 @@ var defaultSerialize = (data) => {
38
40
  }
39
41
  return JSON.stringify(data);
40
42
  };
43
+ var defaultSerialize = (data) => {
44
+ return _serialize(data, true);
45
+ };
41
46
  var defaultDeserialize = (data) => JSON.parse(data, (_, value) => {
42
47
  if (typeof value === "string") {
43
48
  if (value.startsWith(":base64:")) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keyv/serialize",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Serialization for Keyv",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -30,14 +30,14 @@
30
30
  },
31
31
  "homepage": "https://github.com/jaredwray/keyv",
32
32
  "devDependencies": {
33
+ "@biomejs/biome": "^2.2.3",
33
34
  "@vitest/coverage-v8": "^3.2.4",
34
35
  "rimraf": "^6.0.1",
35
- "tsd": "^0.32.0",
36
- "typescript": "^5.8.3",
36
+ "tsd": "^0.33.0",
37
+ "typescript": "^5.9.2",
37
38
  "vitest": "^3.2.4",
38
- "xo": "^1.2.1",
39
- "@keyv/test-suite": "^2.0.9",
40
- "keyv": "^5.3.4"
39
+ "@keyv/test-suite": "^2.1.1",
40
+ "keyv": "^5.5.0"
41
41
  },
42
42
  "tsd": {
43
43
  "directory": "test"
@@ -48,8 +48,8 @@
48
48
  ],
49
49
  "scripts": {
50
50
  "build": "rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean",
51
- "test": "xo --fix && vitest run --coverage",
52
- "test:ci": "xo && vitest --run --sequence.setupFiles=list --coverage",
51
+ "test": "biome check --write && vitest run --coverage",
52
+ "test:ci": "biome check && vitest --run --sequence.setupFiles=list --coverage",
53
53
  "clean": "rimraf ./node_modules ./coverage ./dist"
54
54
  }
55
55
  }