@strapi/database 5.31.3 → 5.33.0

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.
@@ -1,6 +1,6 @@
1
1
  import Field from './field';
2
2
  export default class BooleanField extends Field {
3
- toDB(value: unknown): boolean;
3
+ toDB(value: unknown): boolean | null;
4
4
  fromDB(value: unknown): boolean | null;
5
5
  }
6
6
  //# sourceMappingURL=boolean.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../src/fields/boolean.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,SAAS,CAAC;AAM5B,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK;IAC7C,IAAI,CAAC,KAAK,EAAE,OAAO;IAgBnB,MAAM,CAAC,KAAK,EAAE,OAAO;CAetB"}
1
+ {"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../src/fields/boolean.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,SAAS,CAAC;AAM5B,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK;IAC7C,IAAI,CAAC,KAAK,EAAE,OAAO;IAqBnB,MAAM,CAAC,KAAK,EAAE,OAAO;CAetB"}
@@ -11,6 +11,10 @@ class BooleanField extends field {
11
11
  if (typeof value === 'boolean') {
12
12
  return value;
13
13
  }
14
+ // Handle null/undefined values explicitly
15
+ if (value === null || value === undefined) {
16
+ return null;
17
+ }
14
18
  if (isStringOrNumber(value) && [
15
19
  'true',
16
20
  't',
@@ -1 +1 @@
1
- {"version":3,"file":"boolean.js","sources":["../../src/fields/boolean.ts"],"sourcesContent":["import { toString } from 'lodash/fp';\nimport Field from './field';\n\nfunction isStringOrNumber(value: unknown): value is string | number {\n return typeof value === 'string' || typeof value === 'number';\n}\n\nexport default class BooleanField extends Field {\n toDB(value: unknown) {\n if (typeof value === 'boolean') {\n return value;\n }\n\n if (isStringOrNumber(value) && ['true', 't', '1', 1].includes(value)) {\n return true;\n }\n\n if (isStringOrNumber(value) && ['false', 'f', '0', 0].includes(value)) {\n return false;\n }\n\n return Boolean(value);\n }\n\n fromDB(value: unknown) {\n if (typeof value === 'boolean') {\n return value;\n }\n\n const strVal = toString(value);\n\n if (strVal === '1') {\n return true;\n }\n if (strVal === '0') {\n return false;\n }\n return null;\n }\n}\n"],"names":["isStringOrNumber","value","BooleanField","Field","toDB","includes","Boolean","fromDB","strVal","toString"],"mappings":";;;;;AAGA,SAASA,iBAAiBC,KAAc,EAAA;AACtC,IAAA,OAAO,OAAOA,KAAAA,KAAU,QAAY,IAAA,OAAOA,KAAU,KAAA,QAAA;AACvD;AAEe,MAAMC,YAAqBC,SAAAA,KAAAA,CAAAA;AACxCC,IAAAA,IAAAA,CAAKH,KAAc,EAAE;QACnB,IAAI,OAAOA,UAAU,SAAW,EAAA;YAC9B,OAAOA,KAAAA;AACT;AAEA,QAAA,IAAID,iBAAiBC,KAAU,CAAA,IAAA;AAAC,YAAA,MAAA;AAAQ,YAAA,GAAA;AAAK,YAAA,GAAA;AAAK,YAAA;SAAE,CAACI,QAAQ,CAACJ,KAAQ,CAAA,EAAA;YACpE,OAAO,IAAA;AACT;AAEA,QAAA,IAAID,iBAAiBC,KAAU,CAAA,IAAA;AAAC,YAAA,OAAA;AAAS,YAAA,GAAA;AAAK,YAAA,GAAA;AAAK,YAAA;SAAE,CAACI,QAAQ,CAACJ,KAAQ,CAAA,EAAA;YACrE,OAAO,KAAA;AACT;AAEA,QAAA,OAAOK,OAAQL,CAAAA,KAAAA,CAAAA;AACjB;AAEAM,IAAAA,MAAAA,CAAON,KAAc,EAAE;QACrB,IAAI,OAAOA,UAAU,SAAW,EAAA;YAC9B,OAAOA,KAAAA;AACT;AAEA,QAAA,MAAMO,SAASC,UAASR,CAAAA,KAAAA,CAAAA;AAExB,QAAA,IAAIO,WAAW,GAAK,EAAA;YAClB,OAAO,IAAA;AACT;AACA,QAAA,IAAIA,WAAW,GAAK,EAAA;YAClB,OAAO,KAAA;AACT;QACA,OAAO,IAAA;AACT;AACF;;;;"}
1
+ {"version":3,"file":"boolean.js","sources":["../../src/fields/boolean.ts"],"sourcesContent":["import { toString } from 'lodash/fp';\nimport Field from './field';\n\nfunction isStringOrNumber(value: unknown): value is string | number {\n return typeof value === 'string' || typeof value === 'number';\n}\n\nexport default class BooleanField extends Field {\n toDB(value: unknown) {\n if (typeof value === 'boolean') {\n return value;\n }\n\n // Handle null/undefined values explicitly\n if (value === null || value === undefined) {\n return null;\n }\n\n if (isStringOrNumber(value) && ['true', 't', '1', 1].includes(value)) {\n return true;\n }\n\n if (isStringOrNumber(value) && ['false', 'f', '0', 0].includes(value)) {\n return false;\n }\n\n return Boolean(value);\n }\n\n fromDB(value: unknown) {\n if (typeof value === 'boolean') {\n return value;\n }\n\n const strVal = toString(value);\n\n if (strVal === '1') {\n return true;\n }\n if (strVal === '0') {\n return false;\n }\n return null;\n }\n}\n"],"names":["isStringOrNumber","value","BooleanField","Field","toDB","undefined","includes","Boolean","fromDB","strVal","toString"],"mappings":";;;;;AAGA,SAASA,iBAAiBC,KAAc,EAAA;AACtC,IAAA,OAAO,OAAOA,KAAAA,KAAU,QAAY,IAAA,OAAOA,KAAU,KAAA,QAAA;AACvD;AAEe,MAAMC,YAAqBC,SAAAA,KAAAA,CAAAA;AACxCC,IAAAA,IAAAA,CAAKH,KAAc,EAAE;QACnB,IAAI,OAAOA,UAAU,SAAW,EAAA;YAC9B,OAAOA,KAAAA;AACT;;QAGA,IAAIA,KAAAA,KAAU,IAAQA,IAAAA,KAAAA,KAAUI,SAAW,EAAA;YACzC,OAAO,IAAA;AACT;AAEA,QAAA,IAAIL,iBAAiBC,KAAU,CAAA,IAAA;AAAC,YAAA,MAAA;AAAQ,YAAA,GAAA;AAAK,YAAA,GAAA;AAAK,YAAA;SAAE,CAACK,QAAQ,CAACL,KAAQ,CAAA,EAAA;YACpE,OAAO,IAAA;AACT;AAEA,QAAA,IAAID,iBAAiBC,KAAU,CAAA,IAAA;AAAC,YAAA,OAAA;AAAS,YAAA,GAAA;AAAK,YAAA,GAAA;AAAK,YAAA;SAAE,CAACK,QAAQ,CAACL,KAAQ,CAAA,EAAA;YACrE,OAAO,KAAA;AACT;AAEA,QAAA,OAAOM,OAAQN,CAAAA,KAAAA,CAAAA;AACjB;AAEAO,IAAAA,MAAAA,CAAOP,KAAc,EAAE;QACrB,IAAI,OAAOA,UAAU,SAAW,EAAA;YAC9B,OAAOA,KAAAA;AACT;AAEA,QAAA,MAAMQ,SAASC,UAAST,CAAAA,KAAAA,CAAAA;AAExB,QAAA,IAAIQ,WAAW,GAAK,EAAA;YAClB,OAAO,IAAA;AACT;AACA,QAAA,IAAIA,WAAW,GAAK,EAAA;YAClB,OAAO,KAAA;AACT;QACA,OAAO,IAAA;AACT;AACF;;;;"}
@@ -9,6 +9,10 @@ class BooleanField extends Field {
9
9
  if (typeof value === 'boolean') {
10
10
  return value;
11
11
  }
12
+ // Handle null/undefined values explicitly
13
+ if (value === null || value === undefined) {
14
+ return null;
15
+ }
12
16
  if (isStringOrNumber(value) && [
13
17
  'true',
14
18
  't',
@@ -1 +1 @@
1
- {"version":3,"file":"boolean.mjs","sources":["../../src/fields/boolean.ts"],"sourcesContent":["import { toString } from 'lodash/fp';\nimport Field from './field';\n\nfunction isStringOrNumber(value: unknown): value is string | number {\n return typeof value === 'string' || typeof value === 'number';\n}\n\nexport default class BooleanField extends Field {\n toDB(value: unknown) {\n if (typeof value === 'boolean') {\n return value;\n }\n\n if (isStringOrNumber(value) && ['true', 't', '1', 1].includes(value)) {\n return true;\n }\n\n if (isStringOrNumber(value) && ['false', 'f', '0', 0].includes(value)) {\n return false;\n }\n\n return Boolean(value);\n }\n\n fromDB(value: unknown) {\n if (typeof value === 'boolean') {\n return value;\n }\n\n const strVal = toString(value);\n\n if (strVal === '1') {\n return true;\n }\n if (strVal === '0') {\n return false;\n }\n return null;\n }\n}\n"],"names":["isStringOrNumber","value","BooleanField","Field","toDB","includes","Boolean","fromDB","strVal","toString"],"mappings":";;;AAGA,SAASA,iBAAiBC,KAAc,EAAA;AACtC,IAAA,OAAO,OAAOA,KAAAA,KAAU,QAAY,IAAA,OAAOA,KAAU,KAAA,QAAA;AACvD;AAEe,MAAMC,YAAqBC,SAAAA,KAAAA,CAAAA;AACxCC,IAAAA,IAAAA,CAAKH,KAAc,EAAE;QACnB,IAAI,OAAOA,UAAU,SAAW,EAAA;YAC9B,OAAOA,KAAAA;AACT;AAEA,QAAA,IAAID,iBAAiBC,KAAU,CAAA,IAAA;AAAC,YAAA,MAAA;AAAQ,YAAA,GAAA;AAAK,YAAA,GAAA;AAAK,YAAA;SAAE,CAACI,QAAQ,CAACJ,KAAQ,CAAA,EAAA;YACpE,OAAO,IAAA;AACT;AAEA,QAAA,IAAID,iBAAiBC,KAAU,CAAA,IAAA;AAAC,YAAA,OAAA;AAAS,YAAA,GAAA;AAAK,YAAA,GAAA;AAAK,YAAA;SAAE,CAACI,QAAQ,CAACJ,KAAQ,CAAA,EAAA;YACrE,OAAO,KAAA;AACT;AAEA,QAAA,OAAOK,OAAQL,CAAAA,KAAAA,CAAAA;AACjB;AAEAM,IAAAA,MAAAA,CAAON,KAAc,EAAE;QACrB,IAAI,OAAOA,UAAU,SAAW,EAAA;YAC9B,OAAOA,KAAAA;AACT;AAEA,QAAA,MAAMO,SAASC,QAASR,CAAAA,KAAAA,CAAAA;AAExB,QAAA,IAAIO,WAAW,GAAK,EAAA;YAClB,OAAO,IAAA;AACT;AACA,QAAA,IAAIA,WAAW,GAAK,EAAA;YAClB,OAAO,KAAA;AACT;QACA,OAAO,IAAA;AACT;AACF;;;;"}
1
+ {"version":3,"file":"boolean.mjs","sources":["../../src/fields/boolean.ts"],"sourcesContent":["import { toString } from 'lodash/fp';\nimport Field from './field';\n\nfunction isStringOrNumber(value: unknown): value is string | number {\n return typeof value === 'string' || typeof value === 'number';\n}\n\nexport default class BooleanField extends Field {\n toDB(value: unknown) {\n if (typeof value === 'boolean') {\n return value;\n }\n\n // Handle null/undefined values explicitly\n if (value === null || value === undefined) {\n return null;\n }\n\n if (isStringOrNumber(value) && ['true', 't', '1', 1].includes(value)) {\n return true;\n }\n\n if (isStringOrNumber(value) && ['false', 'f', '0', 0].includes(value)) {\n return false;\n }\n\n return Boolean(value);\n }\n\n fromDB(value: unknown) {\n if (typeof value === 'boolean') {\n return value;\n }\n\n const strVal = toString(value);\n\n if (strVal === '1') {\n return true;\n }\n if (strVal === '0') {\n return false;\n }\n return null;\n }\n}\n"],"names":["isStringOrNumber","value","BooleanField","Field","toDB","undefined","includes","Boolean","fromDB","strVal","toString"],"mappings":";;;AAGA,SAASA,iBAAiBC,KAAc,EAAA;AACtC,IAAA,OAAO,OAAOA,KAAAA,KAAU,QAAY,IAAA,OAAOA,KAAU,KAAA,QAAA;AACvD;AAEe,MAAMC,YAAqBC,SAAAA,KAAAA,CAAAA;AACxCC,IAAAA,IAAAA,CAAKH,KAAc,EAAE;QACnB,IAAI,OAAOA,UAAU,SAAW,EAAA;YAC9B,OAAOA,KAAAA;AACT;;QAGA,IAAIA,KAAAA,KAAU,IAAQA,IAAAA,KAAAA,KAAUI,SAAW,EAAA;YACzC,OAAO,IAAA;AACT;AAEA,QAAA,IAAIL,iBAAiBC,KAAU,CAAA,IAAA;AAAC,YAAA,MAAA;AAAQ,YAAA,GAAA;AAAK,YAAA,GAAA;AAAK,YAAA;SAAE,CAACK,QAAQ,CAACL,KAAQ,CAAA,EAAA;YACpE,OAAO,IAAA;AACT;AAEA,QAAA,IAAID,iBAAiBC,KAAU,CAAA,IAAA;AAAC,YAAA,OAAA;AAAS,YAAA,GAAA;AAAK,YAAA,GAAA;AAAK,YAAA;SAAE,CAACK,QAAQ,CAACL,KAAQ,CAAA,EAAA;YACrE,OAAO,KAAA;AACT;AAEA,QAAA,OAAOM,OAAQN,CAAAA,KAAAA,CAAAA;AACjB;AAEAO,IAAAA,MAAAA,CAAOP,KAAc,EAAE;QACrB,IAAI,OAAOA,UAAU,SAAW,EAAA;YAC9B,OAAOA,KAAAA;AACT;AAEA,QAAA,MAAMQ,SAASC,QAAST,CAAAA,KAAAA,CAAAA;AAExB,QAAA,IAAIQ,WAAW,GAAK,EAAA;YAClB,OAAO,IAAA;AACT;AACA,QAAA,IAAIA,WAAW,GAAK,EAAA;YAClB,OAAO,KAAA;AACT;QACA,OAAO,IAAA;AACT;AACF;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/database",
3
- "version": "5.31.3",
3
+ "version": "5.33.0",
4
4
  "description": "Strapi's database layer",
5
5
  "homepage": "https://strapi.io",
6
6
  "bugs": {
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "@paralleldrive/cuid2": "2.2.2",
45
- "@strapi/utils": "5.31.3",
45
+ "@strapi/utils": "5.33.0",
46
46
  "ajv": "8.16.0",
47
47
  "date-fns": "2.30.0",
48
48
  "debug": "4.3.4",
@@ -54,8 +54,8 @@
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/fs-extra": "11.0.4",
57
- "eslint-config-custom": "5.31.3",
58
- "tsconfig": "5.31.3"
57
+ "eslint-config-custom": "5.33.0",
58
+ "tsconfig": "5.33.0"
59
59
  },
60
60
  "engines": {
61
61
  "node": ">=20.0.0 <=24.x.x",