@zenstackhq/runtime 1.0.0-beta.2 → 1.0.0-beta.20

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.
Files changed (75) hide show
  1. package/browser/index.d.mts +13 -0
  2. package/browser/index.d.ts +13 -0
  3. package/browser/index.js +70 -0
  4. package/browser/index.js.map +1 -0
  5. package/browser/index.mjs +32 -0
  6. package/browser/index.mjs.map +1 -0
  7. package/constants.d.ts +59 -2
  8. package/constants.js +60 -2
  9. package/constants.js.map +1 -1
  10. package/enhancements/enhance.d.ts +18 -0
  11. package/enhancements/enhance.js +42 -0
  12. package/enhancements/enhance.js.map +1 -0
  13. package/enhancements/index.d.ts +5 -0
  14. package/enhancements/index.js +5 -0
  15. package/enhancements/index.js.map +1 -1
  16. package/enhancements/model-data-visitor.d.ts +16 -0
  17. package/enhancements/model-data-visitor.js +41 -0
  18. package/enhancements/model-data-visitor.js.map +1 -0
  19. package/enhancements/model-meta.d.ts +6 -1
  20. package/enhancements/model-meta.js +23 -2
  21. package/enhancements/model-meta.js.map +1 -1
  22. package/enhancements/nested-write-vistor.d.ts +21 -16
  23. package/enhancements/nested-write-vistor.js +73 -34
  24. package/enhancements/nested-write-vistor.js.map +1 -1
  25. package/enhancements/omit.d.ts +1 -1
  26. package/enhancements/policy/handler.d.ts +25 -15
  27. package/enhancements/policy/handler.js +771 -133
  28. package/enhancements/policy/handler.js.map +1 -1
  29. package/enhancements/policy/index.d.ts +5 -1
  30. package/enhancements/policy/index.js +53 -3
  31. package/enhancements/policy/index.js.map +1 -1
  32. package/enhancements/policy/logger.js +1 -1
  33. package/enhancements/policy/logger.js.map +1 -1
  34. package/enhancements/policy/policy-utils.d.ts +102 -46
  35. package/enhancements/policy/policy-utils.js +683 -550
  36. package/enhancements/policy/policy-utils.js.map +1 -1
  37. package/enhancements/preset.d.ts +3 -8
  38. package/enhancements/preset.js +2 -4
  39. package/enhancements/preset.js.map +1 -1
  40. package/enhancements/proxy.d.ts +3 -1
  41. package/enhancements/proxy.js +23 -12
  42. package/enhancements/proxy.js.map +1 -1
  43. package/enhancements/types.d.ts +25 -8
  44. package/enhancements/types.js +1 -0
  45. package/enhancements/types.js.map +1 -1
  46. package/enhancements/utils.d.ts +4 -0
  47. package/enhancements/utils.js +59 -8
  48. package/enhancements/utils.js.map +1 -1
  49. package/enhancements/where-visitor.d.ts +33 -0
  50. package/enhancements/where-visitor.js +87 -0
  51. package/enhancements/where-visitor.js.map +1 -0
  52. package/error.js +9 -3
  53. package/error.js.map +1 -1
  54. package/index.d.ts +3 -2
  55. package/index.js +3 -2
  56. package/index.js.map +1 -1
  57. package/package.json +33 -9
  58. package/types.d.ts +11 -2
  59. package/types.js +2 -0
  60. package/types.js.map +1 -1
  61. package/version.d.ts +5 -0
  62. package/version.js +34 -1
  63. package/version.js.map +1 -1
  64. package/zod/index.d.ts +2 -0
  65. package/zod/index.js +4 -0
  66. package/zod/input.d.ts +1 -0
  67. package/zod/input.js +8 -0
  68. package/zod/models.d.ts +1 -0
  69. package/zod/models.js +8 -0
  70. package/serialization-utils.d.ts +0 -1
  71. package/serialization-utils.js +0 -22
  72. package/serialization-utils.js.map +0 -1
  73. package/zod.d.ts +0 -10
  74. package/zod.js +0 -17
  75. package/zod.js.map +0 -1
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
3
+ /* eslint-disable @typescript-eslint/no-explicit-any */
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.WhereVisitor = void 0;
15
+ const model_meta_1 = require("./model-meta");
16
+ const utils_1 = require("./utils");
17
+ const FILTER_OPERATORS = [
18
+ 'equals',
19
+ 'not',
20
+ 'in',
21
+ 'notIn',
22
+ 'lt',
23
+ 'lte',
24
+ 'gt',
25
+ 'gte',
26
+ 'contains',
27
+ 'search',
28
+ 'startsWith',
29
+ 'endsWith',
30
+ ];
31
+ const RELATION_FILTER_OPERATORS = ['is', 'isNot', 'some', 'every', 'none'];
32
+ /**
33
+ * Recursive visitor for where payload
34
+ */
35
+ class WhereVisitor {
36
+ constructor(modelMeta, callback) {
37
+ this.modelMeta = modelMeta;
38
+ this.callback = callback;
39
+ }
40
+ /**
41
+ * Start visiting
42
+ */
43
+ visit(model, where) {
44
+ var _a, _b, _c, _d;
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ if (!where) {
47
+ return;
48
+ }
49
+ for (const [k, v] of Object.entries(where)) {
50
+ if (['AND', 'OR', 'NOT'].includes(k)) {
51
+ for (const item of (0, utils_1.enumerate)(v)) {
52
+ yield this.visit(model, item);
53
+ }
54
+ continue;
55
+ }
56
+ if (RELATION_FILTER_OPERATORS.includes(k)) {
57
+ // visit into filter body
58
+ yield this.visit(model, v);
59
+ continue;
60
+ }
61
+ const field = (0, model_meta_1.resolveField)(this.modelMeta, model, k);
62
+ if (!field) {
63
+ continue;
64
+ }
65
+ if (typeof v === 'object') {
66
+ const filterOp = Object.keys(v).find((f) => FILTER_OPERATORS.includes(f));
67
+ if (filterOp) {
68
+ // reach into filter value
69
+ const newValue = yield ((_b = (_a = this.callback).field) === null || _b === void 0 ? void 0 : _b.call(_a, field, v[filterOp]));
70
+ v[filterOp] = newValue;
71
+ continue;
72
+ }
73
+ if (Object.keys(v).some((f) => RELATION_FILTER_OPERATORS.includes(f))) {
74
+ // filter payload
75
+ yield this.visit(field.type, v);
76
+ continue;
77
+ }
78
+ }
79
+ // scalar field
80
+ const newValue = yield ((_d = (_c = this.callback).field) === null || _d === void 0 ? void 0 : _d.call(_c, field, v));
81
+ where[k] = newValue;
82
+ }
83
+ });
84
+ }
85
+ }
86
+ exports.WhereVisitor = WhereVisitor;
87
+ //# sourceMappingURL=where-visitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"where-visitor.js","sourceRoot":"","sources":["../../src/enhancements/where-visitor.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,uDAAuD;;;;;;;;;;;;AAGvD,6CAA4C;AAE5C,mCAAoC;AAwBpC,MAAM,gBAAgB,GAAG;IACrB,QAAQ;IACR,KAAK;IACL,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,KAAK;IACL,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,UAAU;CACb,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAa,YAAY;IACrB,YAA6B,SAAoB,EAAmB,QAA8B;QAArE,cAAS,GAAT,SAAS,CAAW;QAAmB,aAAQ,GAAR,QAAQ,CAAsB;IAAG,CAAC;IAEtG;;OAEG;IACG,KAAK,CAAC,KAAa,EAAE,KAAU;;;YACjC,IAAI,CAAC,KAAK,EAAE;gBACR,OAAO;aACV;YAED,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAM,KAAK,CAAC,EAAE;gBAC7C,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;oBAClC,KAAK,MAAM,IAAI,IAAI,IAAA,iBAAS,EAAC,CAAC,CAAC,EAAE;wBAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBACjC;oBACD,SAAS;iBACZ;gBAED,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;oBACvC,yBAAyB;oBACzB,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC3B,SAAS;iBACZ;gBAED,MAAM,KAAK,GAAG,IAAA,yBAAY,EAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,KAAK,EAAE;oBACR,SAAS;iBACZ;gBAED,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;oBACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,IAAI,QAAQ,EAAE;wBACV,0BAA0B;wBAC1B,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAC,KAAK,mDAAG,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA,CAAC;wBACjE,CAAC,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;wBACvB,SAAS;qBACZ;oBAED,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;wBACnE,iBAAiB;wBACjB,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBAChC,SAAS;qBACZ;iBACJ;gBAED,eAAe;gBACf,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAC,KAAK,mDAAG,KAAK,EAAE,CAAC,CAAC,CAAA,CAAC;gBACvD,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;aACvB;;KACJ;CACJ;AAnDD,oCAmDC"}
package/error.js CHANGED
@@ -3,15 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isPrismaClientValidationError = exports.isPrismaClientUnknownRequestError = exports.isPrismaClientKnownRequestError = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  function isPrismaClientKnownRequestError(err) {
6
- return err.__proto__.constructor.name === 'PrismaClientKnownRequestError';
6
+ return findConstructorName(err.__proto__, 'PrismaClientKnownRequestError');
7
7
  }
8
8
  exports.isPrismaClientKnownRequestError = isPrismaClientKnownRequestError;
9
9
  function isPrismaClientUnknownRequestError(err) {
10
- return err.__proto__.constructor.name === 'PrismaClientUnknownRequestError';
10
+ return findConstructorName(err.__proto__, 'PrismaClientUnknownRequestError');
11
11
  }
12
12
  exports.isPrismaClientUnknownRequestError = isPrismaClientUnknownRequestError;
13
13
  function isPrismaClientValidationError(err) {
14
- return err.__proto__.constructor.name === 'PrismaClientValidationError';
14
+ return findConstructorName(err.__proto__, 'PrismaClientValidationError');
15
15
  }
16
16
  exports.isPrismaClientValidationError = isPrismaClientValidationError;
17
+ function findConstructorName(proto, name) {
18
+ if (!proto) {
19
+ return false;
20
+ }
21
+ return proto.constructor.name === name || findConstructorName(proto.__proto__, name);
22
+ }
17
23
  //# sourceMappingURL=error.js.map
package/error.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,SAAgB,+BAA+B,CAC3C,GAAQ;IAER,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,+BAA+B,CAAC;AAC9E,CAAC;AAJD,0EAIC;AAED,SAAgB,iCAAiC,CAAC,GAAQ;IACtD,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,iCAAiC,CAAC;AAChF,CAAC;AAFD,8EAEC;AAED,SAAgB,6BAA6B,CAAC,GAAQ;IAClD,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,6BAA6B,CAAC;AAC5E,CAAC;AAFD,sEAEC"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,SAAgB,+BAA+B,CAC3C,GAAQ;IAER,OAAO,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC;AAC/E,CAAC;AAJD,0EAIC;AAED,SAAgB,iCAAiC,CAAC,GAAQ;IACtD,OAAO,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,iCAAiC,CAAC,CAAC;AACjF,CAAC;AAFD,8EAEC;AAED,SAAgB,6BAA6B,CAAC,GAAQ;IAClD,OAAO,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;AAC7E,CAAC;AAFD,sEAEC;AAED,SAAS,mBAAmB,CAAC,KAAU,EAAE,IAAY;IACjD,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,IAAI,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACzF,CAAC"}
package/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
+ export * from './constants';
1
2
  export * from './enhancements';
2
- export * from './enhancements/policy';
3
+ export * from './error';
3
4
  export * from './types';
4
5
  export * from './validation';
5
- export * from './error';
6
+ export * from './version';
package/index.js CHANGED
@@ -14,9 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./constants"), exports);
17
18
  __exportStar(require("./enhancements"), exports);
18
- __exportStar(require("./enhancements/policy"), exports);
19
+ __exportStar(require("./error"), exports);
19
20
  __exportStar(require("./types"), exports);
20
21
  __exportStar(require("./validation"), exports);
21
- __exportStar(require("./error"), exports);
22
+ __exportStar(require("./version"), exports);
22
23
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,wDAAsC;AACtC,0CAAwB;AACxB,+CAA6B;AAC7B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,iDAA+B;AAC/B,0CAAwB;AACxB,0CAAwB;AACxB,+CAA6B;AAC7B,4CAA0B"}
package/package.json CHANGED
@@ -1,34 +1,58 @@
1
1
  {
2
2
  "name": "@zenstackhq/runtime",
3
3
  "displayName": "ZenStack Runtime Library",
4
- "version": "1.0.0-beta.2",
4
+ "version": "1.0.0-beta.20",
5
5
  "description": "Runtime of ZenStack for both client-side and server-side environments.",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/zenstackhq/zenstack"
9
9
  },
10
+ "main": "index.js",
11
+ "types": "index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "default": "./index.js"
15
+ },
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ "./zod": {
20
+ "default": "./zod/index.js"
21
+ },
22
+ "./zod/input": {
23
+ "default": "./zod/input.js"
24
+ },
25
+ "./zod/models": {
26
+ "default": "./zod/models.js"
27
+ },
28
+ "./browser": {
29
+ "import": "./browser/index.mjs",
30
+ "require": "./browser/index.js",
31
+ "default": "./browser/index.js",
32
+ "types": "./browser/index.d.ts"
33
+ }
34
+ },
10
35
  "publishConfig": {
11
36
  "directory": "dist",
12
37
  "linkDirectory": true
13
38
  },
14
39
  "dependencies": {
15
- "@paralleldrive/cuid2": "^2.2.0",
16
40
  "@types/bcryptjs": "^2.4.2",
17
41
  "bcryptjs": "^2.4.3",
42
+ "buffer": "^6.0.3",
18
43
  "change-case": "^4.1.2",
19
44
  "colors": "1.4.0",
20
45
  "decimal.js": "^10.4.2",
21
46
  "deepcopy": "^2.1.0",
22
47
  "lower-case-first": "^2.0.2",
23
48
  "pluralize": "^8.0.0",
49
+ "semver": "^7.3.8",
24
50
  "superjson": "^1.11.0",
25
51
  "tslib": "^2.4.1",
52
+ "upper-case-first": "^2.0.2",
26
53
  "zod": "3.21.1",
27
54
  "zod-validation-error": "^0.2.1"
28
55
  },
29
- "peerDependencies": {
30
- "@prisma/client": "^4.0.0"
31
- },
32
56
  "author": {
33
57
  "name": "ZenStack Team"
34
58
  },
@@ -37,17 +61,17 @@
37
61
  "devDependencies": {
38
62
  "@types/bcryptjs": "^2.4.2",
39
63
  "@types/jest": "^29.5.0",
40
- "@types/lower-case-first": "^1.0.1",
41
- "@types/node": "^14.18.29",
64
+ "@types/node": "^18.0.0",
42
65
  "@types/pluralize": "^0.0.29",
66
+ "@types/semver": "^7.3.13",
43
67
  "copyfiles": "^2.4.1",
44
68
  "rimraf": "^3.0.2",
45
69
  "typescript": "^4.9.3"
46
70
  },
47
71
  "scripts": {
48
72
  "clean": "rimraf dist",
49
- "build": "pnpm lint && pnpm clean && tsc && copyfiles ./package.json ./README.md ../../LICENSE dist",
50
- "watch": "tsc --watch",
73
+ "build": "pnpm lint && pnpm clean && tsc && tsup-node && copyfiles ./package.json ./README.md ../../LICENSE dist && copyfiles -u1 'res/**/*' dist && pnpm pack dist --pack-destination '../../../.build'",
74
+ "watch": "concurrently \"tsc --watch\" \"tsup-node --watch\"",
51
75
  "lint": "eslint src --ext ts",
52
76
  "publish-dev": "pnpm publish --tag dev"
53
77
  }
package/types.d.ts CHANGED
@@ -23,6 +23,8 @@ export interface DbOperations {
23
23
  aggregate(args: unknown): Promise<unknown>;
24
24
  groupBy(args: unknown): Promise<unknown>;
25
25
  count(args?: unknown): Promise<unknown>;
26
+ subscribe(args?: unknown): Promise<unknown>;
27
+ fields: Record<string, any>;
26
28
  }
27
29
  /**
28
30
  * Kinds of access policy
@@ -44,6 +46,9 @@ export type QueryContext = {
44
46
  * Current login user (provided by @see RequestHandlerOptions)
45
47
  */
46
48
  user?: AuthUser;
49
+ /**
50
+ * Pre-update value of the entity
51
+ */
47
52
  preValue?: any;
48
53
  };
49
54
  export type RuntimeAttribute = {
@@ -93,9 +98,13 @@ export type FieldInfo = {
93
98
  * If the field is the owner side of a relation
94
99
  */
95
100
  isRelationOwner: boolean;
101
+ /**
102
+ * Mapping from foreign key field names to relation field names
103
+ */
104
+ foreignKeyMapping?: Record<string, string>;
96
105
  };
97
106
  export type DbClientContract = Record<string, DbOperations> & {
98
- $transaction: <T>(action: (tx: Record<string, DbOperations>) => Promise<T>) => Promise<T>;
107
+ $transaction: <T>(action: (tx: Record<string, DbOperations>) => Promise<T>, options?: unknown) => Promise<T>;
99
108
  };
100
- export declare const PrismaWriteActions: readonly ["create", "createMany", "connectOrCreate", "update", "updateMany", "upsert", "connect", "disconnect", "delete", "deleteMany"];
109
+ export declare const PrismaWriteActions: readonly ["create", "createMany", "connectOrCreate", "update", "updateMany", "upsert", "connect", "disconnect", "set", "delete", "deleteMany"];
101
110
  export type PrismaWriteActionType = (typeof PrismaWriteActions)[number];
package/types.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.PrismaWriteActions = void 0;
4
5
  exports.PrismaWriteActions = [
@@ -10,6 +11,7 @@ exports.PrismaWriteActions = [
10
11
  'upsert',
11
12
  'connect',
12
13
  'disconnect',
14
+ 'set',
13
15
  'delete',
14
16
  'deleteMany',
15
17
  ];
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA4Ga,QAAA,kBAAkB,GAAG;IAC9B,QAAQ;IACR,YAAY;IACZ,iBAAiB;IACjB,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,YAAY;CACN,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AAwH1C,QAAA,kBAAkB,GAAG;IAC9B,QAAQ;IACR,YAAY;IACZ,iBAAiB;IACjB,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,KAAK;IACL,QAAQ;IACR,YAAY;CACN,CAAC"}
package/version.d.ts CHANGED
@@ -1 +1,6 @@
1
1
  export declare function getVersion(): any;
2
+ /**
3
+ * Gets installed Prisma version by first checking "@prisma/client" and if not available,
4
+ * "prisma".
5
+ */
6
+ export declare function getPrismaVersion(): string | undefined;
package/version.js CHANGED
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getVersion = void 0;
6
+ exports.getPrismaVersion = exports.getVersion = void 0;
7
+ const path_1 = __importDefault(require("path"));
4
8
  /* eslint-disable @typescript-eslint/no-var-requires */
5
9
  function getVersion() {
6
10
  try {
@@ -17,4 +21,33 @@ function getVersion() {
17
21
  }
18
22
  }
19
23
  exports.getVersion = getVersion;
24
+ /**
25
+ * Gets installed Prisma version by first checking "@prisma/client" and if not available,
26
+ * "prisma".
27
+ */
28
+ function getPrismaVersion() {
29
+ try {
30
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
31
+ return require('@prisma/client/package.json').version;
32
+ }
33
+ catch (_a) {
34
+ try {
35
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
36
+ return require('prisma/package.json').version;
37
+ }
38
+ catch (_b) {
39
+ if (process.env.ZENSTACK_TEST === '1') {
40
+ // test environment
41
+ try {
42
+ return require(path_1.default.resolve('./node_modules/@prisma/client/package.json')).version;
43
+ }
44
+ catch (_c) {
45
+ return undefined;
46
+ }
47
+ }
48
+ return undefined;
49
+ }
50
+ }
51
+ }
52
+ exports.getPrismaVersion = getPrismaVersion;
20
53
  //# sourceMappingURL=version.js.map
package/version.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,SAAgB,UAAU;IACtB,IAAI;QACA,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;KAC5C;IAAC,WAAM;QACJ,IAAI;YACA,kBAAkB;YAClB,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;SAC7C;QAAC,WAAM;YACJ,OAAO,SAAS,CAAC;SACpB;KACJ;AACL,CAAC;AAXD,gCAWC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,uDAAuD;AACvD,SAAgB,UAAU;IACtB,IAAI;QACA,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;KAC5C;IAAC,WAAM;QACJ,IAAI;YACA,kBAAkB;YAClB,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;SAC7C;QAAC,WAAM;YACJ,OAAO,SAAS,CAAC;SACpB;KACJ;AACL,CAAC;AAXD,gCAWC;AAED;;;GAGG;AACH,SAAgB,gBAAgB;IAC5B,IAAI;QACA,8DAA8D;QAC9D,OAAO,OAAO,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC;KACzD;IAAC,WAAM;QACJ,IAAI;YACA,8DAA8D;YAC9D,OAAO,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC;SACjD;QAAC,WAAM;YACJ,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,EAAE;gBACnC,mBAAmB;gBACnB,IAAI;oBACA,OAAO,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,CAAC,OAAO,CAAC;iBACtF;gBAAC,WAAM;oBACJ,OAAO,SAAS,CAAC;iBACpB;aACJ;YAED,OAAO,SAAS,CAAC;SACpB;KACJ;AACL,CAAC;AArBD,4CAqBC"}
package/zod/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * as models from './models';
2
+ export * as input from './input';
package/zod/index.js ADDED
@@ -0,0 +1,4 @@
1
+ module.exports = {
2
+ models: require('./models'),
3
+ input: require('./input'),
4
+ };
package/zod/input.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '.zenstack/zod/input';
package/zod/input.js ADDED
@@ -0,0 +1,8 @@
1
+ let schemas;
2
+ try {
3
+ schemas = require('.zenstack/zod/input/index');
4
+ } catch {}
5
+
6
+ module.exports = schemas && {
7
+ ...schemas,
8
+ };
@@ -0,0 +1 @@
1
+ export * from '.zenstack/zod/models';
package/zod/models.js ADDED
@@ -0,0 +1,8 @@
1
+ let schemas;
2
+ try {
3
+ schemas = require('.zenstack/zod/models/index');
4
+ } catch {}
5
+
6
+ module.exports = schemas && {
7
+ ...schemas,
8
+ };
@@ -1 +0,0 @@
1
- export declare function registerSerializers(): void;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.registerSerializers = void 0;
7
- const decimal_js_1 = __importDefault(require("decimal.js"));
8
- const superjson_1 = __importDefault(require("superjson"));
9
- function registerSerializers() {
10
- superjson_1.default.registerCustom({
11
- isApplicable: (v) => Buffer.isBuffer(v),
12
- serialize: (v) => JSON.stringify(v.toJSON().data),
13
- deserialize: (v) => Buffer.from(JSON.parse(v)),
14
- }, 'Buffer');
15
- superjson_1.default.registerCustom({
16
- isApplicable: (v) => decimal_js_1.default.isDecimal(v),
17
- serialize: (v) => v.toJSON(),
18
- deserialize: (v) => new decimal_js_1.default(v),
19
- }, 'decimal.js');
20
- }
21
- exports.registerSerializers = registerSerializers;
22
- //# sourceMappingURL=serialization-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serialization-utils.js","sourceRoot":"","sources":["../src/serialization-utils.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAiC;AACjC,0DAAkC;AAElC,SAAgB,mBAAmB;IAC/B,mBAAS,CAAC,cAAc,CACpB;QACI,YAAY,EAAE,CAAC,CAAC,EAAe,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;QACjD,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACjD,EACD,QAAQ,CACX,CAAC;IACF,mBAAS,CAAC,cAAc,CACpB;QACI,YAAY,EAAE,CAAC,CAAC,EAAgB,EAAE,CAAC,oBAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACvD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;QAC5B,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,oBAAO,CAAC,CAAC,CAAC;KACrC,EACD,YAAY,CACf,CAAC;AACN,CAAC;AAjBD,kDAiBC"}
package/zod.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import z from 'zod';
2
- import { DbOperations } from './types';
3
- /**
4
- * Mapping from model type name to zod schema for Prisma operations
5
- */
6
- export type ModelZodSchema = Record<string, Record<keyof DbOperations, z.ZodType>>;
7
- /**
8
- * Load zod schema from standard location.
9
- */
10
- export declare function getModelZodSchemas(): ModelZodSchema;
package/zod.js DELETED
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getModelZodSchemas = void 0;
4
- /**
5
- * Load zod schema from standard location.
6
- */
7
- function getModelZodSchemas() {
8
- try {
9
- // eslint-disable-next-line @typescript-eslint/no-var-requires
10
- return require('.zenstack/zod').default;
11
- }
12
- catch (_a) {
13
- throw new Error('Zod schemas cannot be loaded. Please make sure "@core/zod" plugin is enabled in schema.zmodel.');
14
- }
15
- }
16
- exports.getModelZodSchemas = getModelZodSchemas;
17
- //# sourceMappingURL=zod.js.map
package/zod.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"zod.js","sourceRoot":"","sources":["../src/zod.ts"],"names":[],"mappings":";;;AAQA;;GAEG;AACH,SAAgB,kBAAkB;IAC9B,IAAI;QACA,8DAA8D;QAC9D,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC;KAC3C;IAAC,WAAM;QACJ,MAAM,IAAI,KAAK,CACX,gGAAgG,CACnG,CAAC;KACL;AACL,CAAC;AATD,gDASC"}