@zenstackhq/runtime 2.18.1 → 2.19.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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zenstackhq/runtime",
3
3
  "displayName": "ZenStack Runtime Library",
4
- "version": "2.18.1",
4
+ "version": "2.19.0",
5
5
  "description": "Runtime of ZenStack for both client-side and server-side environments.",
6
6
  "repository": {
7
7
  "type": "git",
@@ -105,15 +105,6 @@
105
105
  "uuid": "^9.0.0",
106
106
  "zod-validation-error": "^4.0.0"
107
107
  },
108
- "peerDependencies": {
109
- "@prisma/client": "5.0.0 - 6.14.x",
110
- "zod": "^3.25.0"
111
- },
112
- "author": {
113
- "name": "ZenStack Team"
114
- },
115
- "homepage": "https://zenstack.dev",
116
- "license": "MIT",
117
108
  "devDependencies": {
118
109
  "@types/bcryptjs": "^2.4.2",
119
110
  "@types/pluralize": "^0.0.29",
@@ -122,8 +113,18 @@
122
113
  "@types/uuid": "^8.3.4",
123
114
  "decimal.js-light": "^2.5.1",
124
115
  "superjson": "^1.13.0",
125
- "uuid": "^9.0.0"
116
+ "uuid": "^9.0.0",
117
+ "zod": "^3.25.0"
118
+ },
119
+ "peerDependencies": {
120
+ "@prisma/client": "5.0.0 - 6.16.x",
121
+ "zod": "^3.25.0 || ^4.0.0"
122
+ },
123
+ "author": {
124
+ "name": "ZenStack Team"
126
125
  },
126
+ "homepage": "https://zenstack.dev",
127
+ "license": "MIT",
127
128
  "scripts": {
128
129
  "clean": "rimraf dist",
129
130
  "build": "pnpm lint --max-warnings=0 && pnpm clean && tsc && tsup-node --config ./tsup-browser.config.ts && tsup-node --config ./tsup-cross.config.ts && copyfiles ./package.json ./README.md ../../LICENSE dist && copyfiles -u1 \"res/**/*\" dist && pnpm pack dist --pack-destination ../../../.build",
package/validation.js CHANGED
@@ -4,7 +4,7 @@ exports.ValidationError = void 0;
4
4
  exports.validate = validate;
5
5
  exports.hasAllFields = hasAllFields;
6
6
  exports.allFieldsEqual = allFieldsEqual;
7
- const v3_1 = require("zod-validation-error/v3");
7
+ const local_helpers_1 = require("./local-helpers");
8
8
  /**
9
9
  * Error indicating violations of field-level constraints
10
10
  */
@@ -22,7 +22,7 @@ function validate(validator, data) {
22
22
  validator.parse(data);
23
23
  }
24
24
  catch (err) {
25
- throw new ValidationError((0, v3_1.fromZodError)(err).message);
25
+ throw new ValidationError((0, local_helpers_1.getZodErrorMessage)(err));
26
26
  }
27
27
  }
28
28
  /**
package/validation.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":";;;AAaA,4BAMC;AASD,oCAKC;AAOD,wCAKC;AA5CD,gDAAuD;AAEvD;;GAEG;AACH,MAAa,eAAe;IACxB,YAA4B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;CAClD;AAFD,0CAEC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,SAAoB,EAAE,IAAa;IACxD,IAAI,CAAC;QACD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CAAC,IAAA,iBAAY,EAAC,GAAiB,CAAC,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,YAAY,CAAC,GAAQ,EAAE,MAAgB;IACnD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,8DAA8D;AAC9D,SAAgB,cAAc,CAAC,IAAS,EAAE,IAAS,EAAE,MAAgB;IACjE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":";;;AAaA,4BAMC;AASD,oCAKC;AAOD,wCAKC;AA5CD,mDAAqD;AAErD;;GAEG;AACH,MAAa,eAAe;IACxB,YAA4B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;CAClD;AAFD,0CAEC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,SAAoB,EAAE,IAAa;IACxD,IAAI,CAAC;QACD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CAAC,IAAA,kCAAkB,EAAC,GAAiB,CAAC,CAAC,CAAC;IACrE,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,YAAY,CAAC,GAAQ,EAAE,MAAgB;IACnD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,8DAA8D;AAC9D,SAAgB,cAAc,CAAC,IAAS,EAAE,IAAS,EAAE,MAAgB;IACjE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}
package/zod-utils.js CHANGED
@@ -92,6 +92,17 @@ function countUnrecognizedKeys(issues) {
92
92
  .reduce((a, b) => a + b, 0);
93
93
  }
94
94
  function unwrapLazy(z, schema) {
95
- return schema instanceof z.ZodLazy ? schema.schema : schema;
95
+ if (!(schema instanceof z.ZodLazy)) {
96
+ return schema;
97
+ }
98
+ if ('unwrap' in schema && typeof schema.unwrap === 'function') {
99
+ return schema.unwrap();
100
+ }
101
+ else if ('schema' in schema) {
102
+ return schema.schema;
103
+ }
104
+ else {
105
+ throw new Error('Unable to determine how to unwrap a lazy schema with this zod version.');
106
+ }
96
107
  }
97
108
  //# sourceMappingURL=zod-utils.js.map
package/zod-utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"zod-utils.js","sourceRoot":"","sources":["../src/zod-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zod-utils.js","sourceRoot":"","sources":["../src/zod-utils.ts"],"names":[],"mappings":"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"}