@rakun-kit/core 1.1.0 → 1.2.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.
Files changed (216) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/api/routes/manager/media/finalizeUpload.js +42 -0
  3. package/dist/cjs/api/routes/manager/media/finalizeUpload.js.map +1 -1
  4. package/dist/cjs/api/routes/manager/media/prepareUpload.js +26 -1
  5. package/dist/cjs/api/routes/manager/media/prepareUpload.js.map +1 -1
  6. package/dist/cjs/api/routes/manager/media/uploadBinary.js +40 -0
  7. package/dist/cjs/api/routes/manager/media/uploadBinary.js.map +1 -1
  8. package/dist/cjs/bootstrapState.js.map +1 -1
  9. package/dist/cjs/client.js +3 -2
  10. package/dist/cjs/client.js.map +1 -1
  11. package/dist/cjs/index.js +0 -14
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/lib/ContentType.js +106 -74
  14. package/dist/cjs/lib/ContentType.js.map +1 -1
  15. package/dist/cjs/lib/Logger.js +56 -0
  16. package/dist/cjs/lib/Logger.js.map +1 -1
  17. package/dist/cjs/lib/Registry.js +35 -22
  18. package/dist/cjs/lib/Registry.js.map +1 -1
  19. package/dist/cjs/lib/fields/Boolean.js +14 -9
  20. package/dist/cjs/lib/fields/Boolean.js.map +1 -1
  21. package/dist/cjs/lib/fields/ContentReference.js +29 -17
  22. package/dist/cjs/lib/fields/ContentReference.js.map +1 -1
  23. package/dist/cjs/lib/fields/Date.js +26 -22
  24. package/dist/cjs/lib/fields/Date.js.map +1 -1
  25. package/dist/cjs/lib/fields/Field.js +79 -59
  26. package/dist/cjs/lib/fields/Field.js.map +1 -1
  27. package/dist/cjs/lib/fields/Fields.js +32 -0
  28. package/dist/cjs/lib/fields/Fields.js.map +1 -0
  29. package/dist/cjs/lib/fields/File.js +60 -85
  30. package/dist/cjs/lib/fields/File.js.map +1 -1
  31. package/dist/cjs/lib/fields/Iterator.js +8 -10
  32. package/dist/cjs/lib/fields/Iterator.js.map +1 -1
  33. package/dist/cjs/lib/fields/Link.js +20 -15
  34. package/dist/cjs/lib/fields/Link.js.map +1 -1
  35. package/dist/cjs/lib/fields/List.js +47 -16
  36. package/dist/cjs/lib/fields/List.js.map +1 -1
  37. package/dist/cjs/lib/fields/Number.js +35 -17
  38. package/dist/cjs/lib/fields/Number.js.map +1 -1
  39. package/dist/cjs/lib/fields/Relation.js +73 -66
  40. package/dist/cjs/lib/fields/Relation.js.map +1 -1
  41. package/dist/cjs/lib/fields/Select.js +28 -17
  42. package/dist/cjs/lib/fields/Select.js.map +1 -1
  43. package/dist/cjs/lib/fields/SelfRelation.js +30 -21
  44. package/dist/cjs/lib/fields/SelfRelation.js.map +1 -1
  45. package/dist/cjs/lib/fields/SimpleList.js +38 -21
  46. package/dist/cjs/lib/fields/SimpleList.js.map +1 -1
  47. package/dist/cjs/lib/fields/String.js +54 -40
  48. package/dist/cjs/lib/fields/String.js.map +1 -1
  49. package/dist/cjs/lib/fields/index.js +29 -37
  50. package/dist/cjs/lib/fields/index.js.map +1 -1
  51. package/dist/cjs/orm/operations/findDependencies.js +4 -2
  52. package/dist/cjs/orm/operations/findDependencies.js.map +1 -1
  53. package/dist/esm/api/operations/index.d.ts +15 -16
  54. package/dist/esm/api/operations/index.d.ts.map +1 -1
  55. package/dist/esm/api/operations/manager-contract.d.ts +7 -6
  56. package/dist/esm/api/operations/manager-contract.d.ts.map +1 -1
  57. package/dist/esm/api/operations/manager.d.ts +7 -6
  58. package/dist/esm/api/operations/manager.d.ts.map +1 -1
  59. package/dist/esm/api/operations/web-contract.d.ts +8 -10
  60. package/dist/esm/api/operations/web-contract.d.ts.map +1 -1
  61. package/dist/esm/api/operations/web.d.ts +8 -10
  62. package/dist/esm/api/operations/web.d.ts.map +1 -1
  63. package/dist/esm/api/proxies/index.d.ts +7 -3
  64. package/dist/esm/api/proxies/index.d.ts.map +1 -1
  65. package/dist/esm/api/routes/manager/media/finalizeUpload.d.ts.map +1 -1
  66. package/dist/esm/api/routes/manager/media/finalizeUpload.js +42 -0
  67. package/dist/esm/api/routes/manager/media/finalizeUpload.js.map +1 -1
  68. package/dist/esm/api/routes/manager/media/prepareUpload.d.ts.map +1 -1
  69. package/dist/esm/api/routes/manager/media/prepareUpload.js +26 -1
  70. package/dist/esm/api/routes/manager/media/prepareUpload.js.map +1 -1
  71. package/dist/esm/api/routes/manager/media/uploadBinary.d.ts.map +1 -1
  72. package/dist/esm/api/routes/manager/media/uploadBinary.js +40 -0
  73. package/dist/esm/api/routes/manager/media/uploadBinary.js.map +1 -1
  74. package/dist/esm/api/utils/getLanguages.d.ts +2 -6
  75. package/dist/esm/api/utils/getLanguages.d.ts.map +1 -1
  76. package/dist/esm/api/utils/getUser.d.ts +6 -2
  77. package/dist/esm/api/utils/getUser.d.ts.map +1 -1
  78. package/dist/esm/bootstrapState.d.ts +3 -2
  79. package/dist/esm/bootstrapState.d.ts.map +1 -1
  80. package/dist/esm/bootstrapState.js.map +1 -1
  81. package/dist/esm/client.d.ts +1 -1
  82. package/dist/esm/client.d.ts.map +1 -1
  83. package/dist/esm/client.js +1 -1
  84. package/dist/esm/client.js.map +1 -1
  85. package/dist/esm/index.d.ts +0 -14
  86. package/dist/esm/index.d.ts.map +1 -1
  87. package/dist/esm/index.js +0 -14
  88. package/dist/esm/index.js.map +1 -1
  89. package/dist/esm/internal-content-types/HelloWorld.d.ts +53 -1
  90. package/dist/esm/internal-content-types/HelloWorld.d.ts.map +1 -1
  91. package/dist/esm/internal-content-types/Language.d.ts +68 -4
  92. package/dist/esm/internal-content-types/Language.d.ts.map +1 -1
  93. package/dist/esm/internal-content-types/LiteralTranslation.d.ts +107 -3
  94. package/dist/esm/internal-content-types/LiteralTranslation.d.ts.map +1 -1
  95. package/dist/esm/internal-content-types/ManagerRole.d.ts +54 -2
  96. package/dist/esm/internal-content-types/ManagerRole.d.ts.map +1 -1
  97. package/dist/esm/internal-content-types/ManagerUser.d.ts +348 -19
  98. package/dist/esm/internal-content-types/ManagerUser.d.ts.map +1 -1
  99. package/dist/esm/internal-content-types/Media.d.ts +469 -52
  100. package/dist/esm/internal-content-types/Media.d.ts.map +1 -1
  101. package/dist/esm/internal-content-types/MediaFolder.d.ts +161 -5
  102. package/dist/esm/internal-content-types/MediaFolder.d.ts.map +1 -1
  103. package/dist/esm/internal-content-types/MfaChallenge.d.ts +961 -53
  104. package/dist/esm/internal-content-types/MfaChallenge.d.ts.map +1 -1
  105. package/dist/esm/internal-content-types/Page.d.ts +242 -26
  106. package/dist/esm/internal-content-types/Page.d.ts.map +1 -1
  107. package/dist/esm/internal-content-types/Redirect.d.ts +270 -12
  108. package/dist/esm/internal-content-types/Redirect.d.ts.map +1 -1
  109. package/dist/esm/internal-content-types/Route.d.ts +280 -9
  110. package/dist/esm/internal-content-types/Route.d.ts.map +1 -1
  111. package/dist/esm/internal-content-types/RouteLayoutModule.d.ts +306 -7
  112. package/dist/esm/internal-content-types/RouteLayoutModule.d.ts.map +1 -1
  113. package/dist/esm/internal-content-types/RouteLayoutModuleOverride.d.ts +266 -6
  114. package/dist/esm/internal-content-types/RouteLayoutModuleOverride.d.ts.map +1 -1
  115. package/dist/esm/internal-content-types/RouteMap.d.ts +265 -5
  116. package/dist/esm/internal-content-types/RouteMap.d.ts.map +1 -1
  117. package/dist/esm/internal-content-types/RouteSettings.d.ts +296 -76
  118. package/dist/esm/internal-content-types/RouteSettings.d.ts.map +1 -1
  119. package/dist/esm/internal-content-types/Seo.d.ts +54 -2
  120. package/dist/esm/internal-content-types/Seo.d.ts.map +1 -1
  121. package/dist/esm/internal-content-types/Session.d.ts +892 -49
  122. package/dist/esm/internal-content-types/Session.d.ts.map +1 -1
  123. package/dist/esm/internal-content-types/UserMfa.d.ts +829 -52
  124. package/dist/esm/internal-content-types/UserMfa.d.ts.map +1 -1
  125. package/dist/esm/internal-content-types/WebAuthnCredential.d.ts +1064 -52
  126. package/dist/esm/internal-content-types/WebAuthnCredential.d.ts.map +1 -1
  127. package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts +946 -51
  128. package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts.map +1 -1
  129. package/dist/esm/lib/ContentType.d.ts +87 -49
  130. package/dist/esm/lib/ContentType.d.ts.map +1 -1
  131. package/dist/esm/lib/ContentType.js +93 -64
  132. package/dist/esm/lib/ContentType.js.map +1 -1
  133. package/dist/esm/lib/Logger.d.ts.map +1 -1
  134. package/dist/esm/lib/Logger.js +56 -0
  135. package/dist/esm/lib/Logger.js.map +1 -1
  136. package/dist/esm/lib/Registry.d.ts +28 -6
  137. package/dist/esm/lib/Registry.d.ts.map +1 -1
  138. package/dist/esm/lib/Registry.js +35 -22
  139. package/dist/esm/lib/Registry.js.map +1 -1
  140. package/dist/esm/lib/fields/Boolean.d.ts +8 -10
  141. package/dist/esm/lib/fields/Boolean.d.ts.map +1 -1
  142. package/dist/esm/lib/fields/Boolean.js +14 -8
  143. package/dist/esm/lib/fields/Boolean.js.map +1 -1
  144. package/dist/esm/lib/fields/ContentReference.d.ts +14 -14
  145. package/dist/esm/lib/fields/ContentReference.d.ts.map +1 -1
  146. package/dist/esm/lib/fields/ContentReference.js +29 -16
  147. package/dist/esm/lib/fields/ContentReference.js.map +1 -1
  148. package/dist/esm/lib/fields/Date.d.ts +14 -17
  149. package/dist/esm/lib/fields/Date.d.ts.map +1 -1
  150. package/dist/esm/lib/fields/Date.js +25 -21
  151. package/dist/esm/lib/fields/Date.js.map +1 -1
  152. package/dist/esm/lib/fields/Field.d.ts +122 -59
  153. package/dist/esm/lib/fields/Field.d.ts.map +1 -1
  154. package/dist/esm/lib/fields/Field.js +70 -55
  155. package/dist/esm/lib/fields/Field.js.map +1 -1
  156. package/dist/esm/lib/fields/Fields.d.ts +29 -0
  157. package/dist/esm/lib/fields/Fields.d.ts.map +1 -0
  158. package/dist/esm/lib/fields/Fields.js +29 -0
  159. package/dist/esm/lib/fields/Fields.js.map +1 -0
  160. package/dist/esm/lib/fields/File.d.ts +26 -51
  161. package/dist/esm/lib/fields/File.d.ts.map +1 -1
  162. package/dist/esm/lib/fields/File.js +59 -84
  163. package/dist/esm/lib/fields/File.js.map +1 -1
  164. package/dist/esm/lib/fields/Iterator.d.ts +13 -25
  165. package/dist/esm/lib/fields/Iterator.d.ts.map +1 -1
  166. package/dist/esm/lib/fields/Iterator.js +9 -10
  167. package/dist/esm/lib/fields/Iterator.js.map +1 -1
  168. package/dist/esm/lib/fields/Link.d.ts +13 -15
  169. package/dist/esm/lib/fields/Link.d.ts.map +1 -1
  170. package/dist/esm/lib/fields/Link.js +20 -14
  171. package/dist/esm/lib/fields/Link.js.map +1 -1
  172. package/dist/esm/lib/fields/List.d.ts +34 -34
  173. package/dist/esm/lib/fields/List.d.ts.map +1 -1
  174. package/dist/esm/lib/fields/List.js +46 -15
  175. package/dist/esm/lib/fields/List.js.map +1 -1
  176. package/dist/esm/lib/fields/Number.d.ts +12 -12
  177. package/dist/esm/lib/fields/Number.d.ts.map +1 -1
  178. package/dist/esm/lib/fields/Number.js +35 -16
  179. package/dist/esm/lib/fields/Number.js.map +1 -1
  180. package/dist/esm/lib/fields/Relation.d.ts +44 -38
  181. package/dist/esm/lib/fields/Relation.d.ts.map +1 -1
  182. package/dist/esm/lib/fields/Relation.js +74 -66
  183. package/dist/esm/lib/fields/Relation.js.map +1 -1
  184. package/dist/esm/lib/fields/Select.d.ts +14 -13
  185. package/dist/esm/lib/fields/Select.d.ts.map +1 -1
  186. package/dist/esm/lib/fields/Select.js +28 -16
  187. package/dist/esm/lib/fields/Select.js.map +1 -1
  188. package/dist/esm/lib/fields/SelfRelation.d.ts +19 -18
  189. package/dist/esm/lib/fields/SelfRelation.d.ts.map +1 -1
  190. package/dist/esm/lib/fields/SelfRelation.js +30 -20
  191. package/dist/esm/lib/fields/SelfRelation.js.map +1 -1
  192. package/dist/esm/lib/fields/SimpleList.d.ts +16 -20
  193. package/dist/esm/lib/fields/SimpleList.d.ts.map +1 -1
  194. package/dist/esm/lib/fields/SimpleList.js +38 -20
  195. package/dist/esm/lib/fields/SimpleList.js.map +1 -1
  196. package/dist/esm/lib/fields/String.d.ts +18 -25
  197. package/dist/esm/lib/fields/String.d.ts.map +1 -1
  198. package/dist/esm/lib/fields/String.js +53 -39
  199. package/dist/esm/lib/fields/String.js.map +1 -1
  200. package/dist/esm/lib/fields/index.d.ts +15 -83
  201. package/dist/esm/lib/fields/index.d.ts.map +1 -1
  202. package/dist/esm/lib/fields/index.js +15 -36
  203. package/dist/esm/lib/fields/index.js.map +1 -1
  204. package/dist/esm/lib/types/index.d.ts +6 -2
  205. package/dist/esm/lib/types/index.d.ts.map +1 -1
  206. package/dist/esm/manager.d.ts +28 -24
  207. package/dist/esm/manager.d.ts.map +1 -1
  208. package/dist/esm/orm/operations/findDependencies.d.ts.map +1 -1
  209. package/dist/esm/orm/operations/findDependencies.js +4 -2
  210. package/dist/esm/orm/operations/findDependencies.js.map +1 -1
  211. package/dist/esm/orm/utils/parseId.d.ts +1 -1
  212. package/dist/esm/orm/utils/parseId.d.ts.map +1 -1
  213. package/dist/esm/schemas/web/page.d.ts +66 -18
  214. package/dist/esm/schemas/web/page.d.ts.map +1 -1
  215. package/dist/tsconfig.build.tsbuildinfo +1 -1
  216. package/package.json +4 -3
@@ -3,78 +3,85 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RelationField = void 0;
6
+ exports.relationField = relationField;
7
7
  const zod_1 = __importDefault(require("zod"));
8
8
  const Field_1 = require("./Field");
9
9
  const SimpleList_1 = require("./SimpleList");
10
- const SelfRelation_1 = require("./SelfRelation");
11
- const getSchemas_1 = require("../utils/getSchemas");
12
10
  const id_1 = require("../utils/id");
13
- class RelationField extends Field_1.Field {
14
- constructor(contentType, only) {
15
- super({
16
- config: { ui: "ContentType", type: "Relation" },
17
- schema: contentType.getInputSchema(),
18
- });
19
- this.contentType = contentType;
20
- this.only = only;
21
- }
22
- setSelfRelateds() {
23
- Object.values(this.contentType.fields).forEach((field) => {
24
- if (field instanceof SelfRelation_1.SelfRelationField) {
25
- field.setContentType(this.contentType);
11
+ function relationField(contentType, only) {
12
+ return makeRelationField({ contentType, only }, Field_1.defaultFieldState);
13
+ }
14
+ function makeRelationField(options, state) {
15
+ const field = {
16
+ ...(0, Field_1.createField)({
17
+ meta: {
18
+ type: "Relation",
19
+ ui: "ContentType",
20
+ contentType: options.contentType.name,
21
+ only: options.only,
22
+ },
23
+ state,
24
+ schemas: {
25
+ input: () => buildRelationSchema(options),
26
+ db: () => buildRelationSchema(options),
27
+ output: () => getContentTypeOutputSchema(options.contentType),
28
+ },
29
+ }),
30
+ getPopulatedSchema: () => applyRelationOutputPresence(getContentTypePopulatedSchema(options.contentType), state),
31
+ contentType: options.contentType,
32
+ only: options.only,
33
+ multiple: function () {
34
+ const relation = makeRelationField(options, Field_1.defaultFieldState).required();
35
+ let list = (0, SimpleList_1.simpleListField)(relation);
36
+ if (this.state.required) {
37
+ list = list.required();
26
38
  }
27
- });
28
- }
29
- getSchemaType() {
30
- const newSchema = zod_1.default.object({
31
- type: zod_1.default.literal("new"),
32
- data: this.schema,
33
- });
34
- const existingSchema = zod_1.default.object({
35
- type: zod_1.default.literal("existing"),
36
- _id: id_1.Id,
37
- contentType: zod_1.default.literal(this.contentType.name),
38
- });
39
- const bothSchema = zod_1.default.discriminatedUnion("type", [
40
- newSchema,
41
- existingSchema,
42
- ]);
43
- return (this.only === "new"
44
- ? newSchema
45
- : this.only === "existing"
46
- ? existingSchema
47
- : bothSchema);
48
- }
49
- getBaseInputSchema() {
50
- return (0, getSchemas_1.getDefaultInputSchema)(this.getSchemaType(), this.isRequired, this.isTranslatable);
51
- }
52
- getBaseSchema() {
53
- return (0, getSchemas_1.getDefaultSchema)(this.getSchemaType(), this.isRequired, this.isTranslatable);
54
- }
55
- getBaseOutputSchema() {
56
- return (0, getSchemas_1.getDefaultOutputSchema)(this.contentType.getOutputSchemaWithoutIterators(), this.isRequired);
57
- }
58
- getPopulatedSchema() {
59
- return (0, getSchemas_1.getDefaultOutputSchema)(this.schema, this.isRequired);
39
+ if (this.state.translatable) {
40
+ list = list.translatable();
41
+ }
42
+ if (this.state.visibility === "api") {
43
+ list = list.apiOnly();
44
+ }
45
+ if (this.state.visibility === "manager") {
46
+ list = list.managerOnly();
47
+ }
48
+ return list;
49
+ },
50
+ };
51
+ return (0, Field_1.withFieldModifiers)({
52
+ field,
53
+ rebuild: (nextState) => makeRelationField(options, nextState),
54
+ });
55
+ }
56
+ function buildRelationSchema(options) {
57
+ const newSchema = zod_1.default.object({
58
+ type: zod_1.default.literal("new"),
59
+ data: options.contentType.getInputSchema(),
60
+ });
61
+ const existingSchema = zod_1.default.object({
62
+ type: zod_1.default.literal("existing"),
63
+ _id: id_1.Id,
64
+ contentType: zod_1.default.literal(options.contentType.name),
65
+ });
66
+ if (options.only === "new") {
67
+ return newSchema;
60
68
  }
61
- multiple() {
62
- const relation = new RelationField(this.contentType, this.only).required();
63
- const list = new SimpleList_1.SimpleListField(relation);
64
- if (this.isRequired) {
65
- list.required();
66
- }
67
- if (this.isTranslatable) {
68
- list.translatable();
69
- }
70
- if (this.visibility === "api") {
71
- list.apiOnly();
72
- }
73
- if (this.visibility === "manager") {
74
- list.managerOnly();
75
- }
76
- return list;
69
+ if (options.only === "existing") {
70
+ return existingSchema;
77
71
  }
72
+ return zod_1.default.discriminatedUnion("type", [
73
+ newSchema,
74
+ existingSchema,
75
+ ]);
76
+ }
77
+ function getContentTypeOutputSchema(contentType) {
78
+ return (contentType.getOutputSchemaWithoutIterators?.() ??
79
+ contentType.getOutputSchema());
80
+ }
81
+ function getContentTypePopulatedSchema(contentType) {
82
+ return (contentType.getPopulatedSchema?.() ?? getContentTypeOutputSchema(contentType));
83
+ }
84
+ function applyRelationOutputPresence(schema, state) {
85
+ return state.required ? schema : schema.optional();
78
86
  }
79
- exports.RelationField = RelationField;
80
87
  //# sourceMappingURL=Relation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Relation.js","sourceRoot":"","sources":["../../../../src/lib/fields/Relation.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAGpB,mCAAgC;AAChC,6CAA+C;AAS/C,iDAAmD;AACnD,oDAI6B;AAC7B,oCAAiC;AA+CjC,MAAa,aAUX,SAAQ,aAOT;IAIC,YAAY,WAAe,EAAE,IAAQ;QACnC,KAAK,CAAC;YACJ,MAAM,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE;YAC/C,MAAM,EAAE,WAAW,CAAC,cAAc,EAAiC;SACpE,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,eAAe;QACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvD,IAAI,KAAK,YAAY,gCAAiB,EAAE,CAAC;gBACvC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa;QACnB,MAAM,SAAS,GAAG,aAAC,CAAC,MAAM,CAAC;YACzB,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM;SAClB,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,aAAC,CAAC,MAAM,CAAC;YAC9B,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YAC3B,GAAG,EAAE,OAAE;YACP,WAAW,EAAE,aAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;SAC9C,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,aAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC9C,SAAS;YACT,cAAc;SACf,CAAC,CAAC;QAEH,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,KAAK;YACjB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU;gBACxB,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,UAAU,CACG,CAAC;IACxB,CAAC;IAEkB,kBAAkB;QACnC,OAAO,IAAA,kCAAqB,EAC1B,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,cAAc,CACqD,CAAC;IAC7E,CAAC;IAEkB,aAAa;QAC9B,OAAO,IAAA,6BAAgB,EACrB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,cAAc,CACgD,CAAC;IACxE,CAAC;IAEkB,mBAAmB;QACpC,OAAO,IAAA,mCAAsB,EAC3B,IAAI,CAAC,WAAW,CAAC,+BAA+B,EAAU,EAC1D,IAAI,CAAC,UAAU,CAC+B,CAAC;IACnD,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAA,mCAAsB,EAC3B,IAAI,CAAC,MAAc,EACnB,IAAI,CAAC,UAAU,CAC+B,CAAC;IACnD,CAAC;IAED,QAAQ;QACN,MAAM,QAAQ,GAAG,IAAI,aAAa,CAChC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,IAAI,CACV,CAAC,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,IAAI,4BAAe,CAAC,QAAQ,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAvHD,sCAuHC"}
1
+ {"version":3,"file":"Relation.js","sourceRoot":"","sources":["../../../../src/lib/fields/Relation.ts"],"names":[],"mappings":"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"}
@@ -3,24 +3,35 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SelectField = void 0;
6
+ exports.selectField = selectField;
7
7
  const zod_1 = __importDefault(require("zod"));
8
8
  const Field_1 = require("./Field");
9
- class SelectField extends Field_1.Field {
10
- constructor(options) {
11
- super({
12
- config: { ui: "Select", type: "Select" },
13
- schema: zod_1.default.literal(options.length ? options : [""]),
14
- });
15
- this.isMultiple = false;
16
- this.options = options;
17
- }
18
- multiple() {
19
- this.schema = zod_1.default.array(zod_1.default.literal(this.options));
20
- this.config.ui = "MultiSelect";
21
- this.isMultiple = true;
22
- return this;
23
- }
9
+ function selectField(options) {
10
+ return makeSelectField({ options, multiple: false }, Field_1.defaultFieldState);
11
+ }
12
+ function makeSelectField(options, state) {
13
+ const field = {
14
+ ...(0, Field_1.createField)({
15
+ meta: {
16
+ type: "Select",
17
+ ui: (options.multiple ? "MultiSelect" : "Select"),
18
+ options: options.options,
19
+ isMultiple: options.multiple,
20
+ },
21
+ state,
22
+ schemas: (0, Field_1.sameSchemas)(() => buildSelectSchema(options)),
23
+ }),
24
+ multiple: function () {
25
+ return makeSelectField({ ...options, multiple: true }, this.state);
26
+ },
27
+ };
28
+ return (0, Field_1.withFieldModifiers)({
29
+ field,
30
+ rebuild: (nextState) => makeSelectField(options, nextState),
31
+ });
32
+ }
33
+ function buildSelectSchema(options) {
34
+ const literal = zod_1.default.literal(options.options.length ? options.options : [""]);
35
+ return (options.multiple ? zod_1.default.array(literal) : literal);
24
36
  }
25
- exports.SelectField = SelectField;
26
37
  //# sourceMappingURL=Select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/lib/fields/Select.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAGpB,mCAAgC;AAiBhC,MAAa,WAWX,SAAQ,aAOT;IAGC,YAAY,OAAU;QACpB,KAAK,CAAC;YACJ,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxC,MAAM,EAAE,aAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAM;SACxD,CAAC,CAAC;QALL,eAAU,GAAM,KAAU,CAAC;QAMzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,GAAG,aAAC,CAAC,KAAK,CAAC,aAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAM,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,aAAa,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAS,CAAC;QAC5B,OAAO,IAON,CAAC;IACJ,CAAC;CACF;AA1CD,kCA0CC"}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/lib/fields/Select.ts"],"names":[],"mappings":";;;;;AA0EA,kCAIC;AA9ED,8CAAoB;AAEpB,mCAYiB;AA4DjB,SAAgB,WAAW,CACzB,OAAgB;IAEhB,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,yBAAiB,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,eAAe,CAKtB,OAAyC,EACzC,KAAY;IAEZ,MAAM,KAAK,GAA8C;QACvD,GAAG,IAAA,mBAAW,EAAC;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAGzC;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,UAAU,EAAE,OAAO,CAAC,QAAQ;aAC7B;YACD,KAAK;YACL,OAAO,EAAE,IAAA,mBAAW,EAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACvD,CAAC;QACF,QAAQ,EAAE;YAGR,OAAO,eAAe,CACpB,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAC9B,IAAI,CAAC,KAA4B,CAClC,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO,IAAA,0BAAkB,EAAC;QACxB,KAAK;QACL,OAAO,EAAE,CAA+B,SAAoB,EAAE,EAAE,CAC9D,eAAe,CAAC,OAAO,EAAE,SAAS,CAGjC;KACJ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAGxB,OAAyC;IACzC,MAAM,OAAO,GAAG,aAAC,CAAC,OAAO,CACvB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAClB,CAAC;IAEhC,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CACD,CAAC;AACjD,CAAC"}
@@ -3,29 +3,38 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SelfRelationField = void 0;
6
+ exports.selfRelationField = selfRelationField;
7
7
  const zod_1 = __importDefault(require("zod"));
8
8
  const Field_1 = require("./Field");
9
9
  const id_1 = require("../utils/id");
10
- const SelfRelationSchema = zod_1.default.object({
11
- type: zod_1.default.literal("self"),
12
- _id: id_1.Id,
13
- contentType: zod_1.default.string(),
14
- });
15
- class SelfRelationField extends Field_1.Field {
16
- constructor() {
17
- super({
18
- config: { ui: "SelfRelation", type: "Relation" },
19
- schema: SelfRelationSchema,
20
- });
21
- }
22
- setContentType(contentType) {
23
- this.schema = zod_1.default.object({
24
- type: zod_1.default.literal("self"),
25
- _id: id_1.Id,
26
- contentType: zod_1.default.literal(contentType.name),
27
- });
28
- }
10
+ function selfRelationField() {
11
+ return makeSelfRelationField({}, Field_1.defaultFieldState);
12
+ }
13
+ function makeSelfRelationField(options, state) {
14
+ const field = {
15
+ ...(0, Field_1.createField)({
16
+ meta: {
17
+ type: "Relation",
18
+ ui: "SelfRelation",
19
+ contentType: options.contentType,
20
+ },
21
+ state,
22
+ schemas: (0, Field_1.sameSchemas)(() => buildSelfRelationSchema(options.contentType)),
23
+ }),
24
+ setContentType: function (contentType) {
25
+ return makeSelfRelationField({ contentType: contentType.name }, this.state);
26
+ },
27
+ };
28
+ return (0, Field_1.withFieldModifiers)({
29
+ field,
30
+ rebuild: (nextState) => makeSelfRelationField(options, nextState),
31
+ });
32
+ }
33
+ function buildSelfRelationSchema(contentType) {
34
+ return zod_1.default.object({
35
+ type: zod_1.default.literal("self"),
36
+ _id: id_1.Id,
37
+ contentType: contentType ? zod_1.default.literal(contentType) : zod_1.default.string(),
38
+ });
29
39
  }
30
- exports.SelfRelationField = SelfRelationField;
31
40
  //# sourceMappingURL=SelfRelation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelfRelation.js","sourceRoot":"","sources":["../../../../src/lib/fields/SelfRelation.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAGpB,mCAAgC;AAEhC,oCAAiC;AAGjC,MAAM,kBAAkB,GAAG,aAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,GAAG,EAAE,OAAE;IACP,WAAW,EAAE,aAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AAQH,MAAa,iBAIX,SAAQ,aAOT;IACC;QACE,KAAK,CAAC;YACJ,MAAM,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE;YAChD,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,WAAwB;QACrC,IAAI,CAAC,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACvB,GAAG,EAAE,OAAE;YACP,WAAW,EAAE,aAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;SACzC,CAAkC,CAAC;IACtC,CAAC;CACF;AA1BD,8CA0BC"}
1
+ {"version":3,"file":"SelfRelation.js","sourceRoot":"","sources":["../../../../src/lib/fields/SelfRelation.ts"],"names":[],"mappings":";;;;;AA0DA,8CAEC;AA5DD,8CAAoB;AAEpB,mCAYiB;AACjB,oCAAiC;AA2CjC,SAAgB,iBAAiB;IAC/B,OAAO,qBAAqB,CAAC,EAAE,EAAE,yBAAiB,CAAC,CAAC;AACtD,CAAC;AAID,SAAS,qBAAqB,CAI5B,OAA+B,EAC/B,KAAY;IAEZ,MAAM,KAAK,GAAuC;QAChD,GAAG,IAAA,mBAAW,EAAC;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,cAAc;gBAClB,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC;YACD,KAAK;YACL,OAAO,EAAE,IAAA,mBAAW,EAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACzE,CAAC;QACF,cAAc,EAAE,UAGD,WAA+B;YAC5C,OAAO,qBAAqB,CAC1B,EAAE,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE,EACjC,IAAI,CAAC,KAA4B,CAClC,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO,IAAA,0BAAkB,EAAC;QACxB,KAAK;QACL,OAAO,EAAE,CAA+B,SAAoB,EAAE,EAAE,CAC9D,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAGvC;KACJ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAsB,WAAkB;IACtE,OAAO,aAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,GAAG,EAAE,OAAE;QACP,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,aAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAC,CAAC,MAAM,EAAE;KAC/D,CAAuC,CAAC;AAC3C,CAAC"}
@@ -3,28 +3,45 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SimpleListField = void 0;
7
- /* eslint-disable @typescript-eslint/no-explicit-any */
6
+ exports.simpleListField = simpleListField;
8
7
  const zod_1 = __importDefault(require("zod"));
9
8
  const Field_1 = require("./Field");
10
- const getSchemas_1 = require("../utils/getSchemas");
11
- class SimpleListField extends Field_1.Field {
12
- constructor(field) {
13
- super({
14
- config: { ui: "SimpleList", type: "List" },
15
- schema: zod_1.default.array(field.getInputSchema()),
16
- });
17
- this.field = field;
18
- }
19
- getBaseOutputSchema() {
20
- return (0, getSchemas_1.getDefaultOutputSchema)(zod_1.default.array(this.field.getOutputSchema()), this.isRequired);
21
- }
22
- getPopulatedSchema() {
23
- return (0, getSchemas_1.getDefaultOutputSchema)(zod_1.default.array("getPopulatedSchema" in this.field &&
24
- typeof this.field.getPopulatedSchema === "function"
25
- ? this.field.getPopulatedSchema()
26
- : this.field.getSchema()), this.isRequired);
27
- }
9
+ function simpleListField(field) {
10
+ return makeSimpleListField(field, Field_1.defaultFieldState);
11
+ }
12
+ function makeSimpleListField(field, state) {
13
+ const core = {
14
+ ...(0, Field_1.createField)({
15
+ meta: {
16
+ type: "List",
17
+ ui: "SimpleList",
18
+ field: field.meta,
19
+ },
20
+ state,
21
+ schemas: {
22
+ input: () => zod_1.default.array(field.getInputSchema()),
23
+ db: () => zod_1.default.array(field.getSchema()),
24
+ output: () => zod_1.default.array(field.getOutputSchema()),
25
+ },
26
+ }),
27
+ getPopulatedSchema: () => applySimpleListOutputPresence(zod_1.default.array(getFieldPopulatedSchema(field)), state),
28
+ field,
29
+ };
30
+ return (0, Field_1.withFieldModifiers)({
31
+ field: core,
32
+ rebuild: (nextState) => makeSimpleListField(field, nextState),
33
+ });
34
+ }
35
+ function hasPopulatedSchema(field) {
36
+ return ("getPopulatedSchema" in field &&
37
+ typeof field.getPopulatedSchema === "function");
38
+ }
39
+ function getFieldPopulatedSchema(field) {
40
+ return hasPopulatedSchema(field)
41
+ ? field.getPopulatedSchema()
42
+ : field.getSchema();
43
+ }
44
+ function applySimpleListOutputPresence(schema, state) {
45
+ return state.required ? schema : schema.optional();
28
46
  }
29
- exports.SimpleListField = SimpleListField;
30
47
  //# sourceMappingURL=SimpleList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleList.js","sourceRoot":"","sources":["../../../../src/lib/fields/SimpleList.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAuD;AACvD,8CAAoB;AAGpB,mCAAgC;AAEhC,oDAA6D;AAuB7D,MAAa,eAyBX,SAAQ,aAOT;IAGC,YAAY,KAAQ;QAClB,KAAK,CAAC;YACJ,MAAM,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;YAC1C,MAAM,EAAE,aAAC,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,CAAiB;SACxD,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEkB,mBAAmB;QACpC,OAAO,IAAA,mCAAsB,EAC3B,aAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAoB,EACxD,IAAI,CAAC,UAAuB,CAC7B,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAA,mCAAsB,EAC3B,aAAC,CAAC,KAAK,CACL,oBAAoB,IAAI,IAAI,CAAC,KAAK;YAChC,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,UAAU;YACnD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;YACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CACnB,EACT,IAAI,CAAC,UAAU,CAC+B,CAAC;IACnD,CAAC;CACF;AA7DD,0CA6DC"}
1
+ {"version":3,"file":"SimpleList.js","sourceRoot":"","sources":["../../../../src/lib/fields/SimpleList.ts"],"names":[],"mappings":";;;;;AAwDA,0CAIC;AA5DD,8CAAoB;AAEpB,mCAkBiB;AAoCjB,SAAgB,eAAe,CAC7B,KAAQ;IAER,OAAO,mBAAmB,CAAC,KAAK,EAAE,yBAAiB,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAQ,EACR,KAAY;IAEZ,MAAM,IAAI,GAAkC;QAC1C,GAAG,IAAA,mBAAW,EAAC;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,KAAK,CAAC,IAAI;aAClB;YACD,KAAK;YACL,OAAO,EAAE;gBACP,KAAK,EAAE,GAAG,EAAE,CAAC,aAAC,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,CAAkC;gBAC7E,EAAE,EAAE,GAAG,EAAE,CAAC,aAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAA+B;gBAClE,MAAM,EAAE,GAAG,EAAE,CACX,aAAC,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,CAAmC;aACrE;SACF,CAAC;QACF,kBAAkB,EAAE,GAAG,EAAE,CACvB,6BAA6B,CAC3B,aAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAErC,EACD,KAAK,CACmD;QAC5D,KAAK;KACN,CAAC;IAEF,OAAO,IAAA,0BAAkB,EAAC;QACxB,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,CAA+B,SAAoB,EAAE,EAAE,CAC9D,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAGnC;KACJ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAmB;IAEnB,OAAO,CACL,oBAAoB,IAAI,KAAK;QAC7B,OAAO,KAAK,CAAC,kBAAkB,KAAK,UAAU,CAC/C,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAmB;IAClD,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAC9B,CAAC,CAAC,KAAK,CAAC,kBAAkB,EAAE;QAC5B,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,6BAA6B,CACpC,MAAwB,EACxB,KAAY;IAEZ,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;AACrD,CAAC"}
@@ -3,12 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.StringField = exports.StringUI = void 0;
6
+ exports.stringUis = void 0;
7
+ exports.stringField = stringField;
7
8
  const zod_1 = __importDefault(require("zod"));
8
9
  const Field_1 = require("./Field");
9
10
  const id_1 = require("../utils/id");
10
11
  const slugify_1 = require("../utils/slugify");
11
- exports.StringUI = zod_1.default.enum([
12
+ exports.stringUis = [
12
13
  "Text",
13
14
  "Textarea",
14
15
  "RichText",
@@ -17,47 +18,60 @@ exports.StringUI = zod_1.default.enum([
17
18
  "Password",
18
19
  "Id",
19
20
  "Url",
20
- ]);
21
- class StringField extends Field_1.Field {
22
- constructor() {
23
- super({
24
- config: { ui: "Text", type: "String" },
25
- schema: zod_1.default.string(),
26
- });
21
+ ];
22
+ function stringField() {
23
+ return makeStringField({ ui: "Text" }, Field_1.defaultFieldState);
24
+ }
25
+ function makeStringField(options, state) {
26
+ const meta = {
27
+ type: "String",
28
+ ui: options.ui,
29
+ minLength: options.minLength,
30
+ maxLength: options.maxLength,
31
+ };
32
+ const field = {
33
+ ...(0, Field_1.createField)({
34
+ meta,
35
+ state,
36
+ schemas: (0, Field_1.sameSchemas)(() => buildStringSchema(options)),
37
+ }),
38
+ type: function (ui) {
39
+ return makeStringField({ ...options, ui }, this.state);
40
+ },
41
+ min: function (length) {
42
+ return makeStringField({ ...options, minLength: length }, this.state);
43
+ },
44
+ max: function (length) {
45
+ return makeStringField({ ...options, maxLength: length }, this.state);
46
+ },
47
+ };
48
+ return (0, Field_1.withFieldModifiers)({
49
+ field,
50
+ rebuild: (nextState) => makeStringField(options, nextState),
51
+ });
52
+ }
53
+ function buildStringSchema(options) {
54
+ if (options.ui === "RichText") {
55
+ return zod_1.default
56
+ .record(zod_1.default.string(), zod_1.default.unknown());
57
+ }
58
+ let schema = options.ui === "Email"
59
+ ? zod_1.default.email()
60
+ : options.ui === "Url"
61
+ ? zod_1.default.url()
62
+ : zod_1.default.string();
63
+ if (options.ui === "Id") {
64
+ schema = id_1.Id;
27
65
  }
28
- type(ui) {
29
- this.config.ui = ui;
30
- if (ui === "Email") {
31
- this.schema = zod_1.default.email();
32
- }
33
- if (ui === "Url") {
34
- this.schema = zod_1.default.url();
35
- }
36
- if (ui === "Id") {
37
- this.schema = id_1.Id;
38
- }
39
- if (ui === "Slug") {
40
- this.schema = zod_1.default.string().transform(slugify_1.slugify);
41
- }
42
- if (ui === "RichText") {
43
- this.schema = zod_1.default.record(zod_1.default.string(), zod_1.default.any());
44
- }
45
- return this;
66
+ if (options.minLength !== undefined) {
67
+ schema = schema.min(options.minLength);
46
68
  }
47
- min(length) {
48
- if (this.config.ui === "RichText") {
49
- return this;
50
- }
51
- this.schema = this.schema.min(length);
52
- return this;
69
+ if (options.maxLength !== undefined) {
70
+ schema = schema.max(options.maxLength);
53
71
  }
54
- max(length) {
55
- if (this.config.ui === "RichText") {
56
- return this;
57
- }
58
- this.schema = this.schema.max(length);
59
- return this;
72
+ if (options.ui === "Slug") {
73
+ return schema.transform(slugify_1.slugify);
60
74
  }
75
+ return schema;
61
76
  }
62
- exports.StringField = StringField;
63
77
  //# sourceMappingURL=String.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"String.js","sourceRoot":"","sources":["../../../../src/lib/fields/String.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAGpB,mCAAgC;AAEhC,oCAAiC;AACjC,8CAA2C;AAE9B,QAAA,QAAQ,GAAG,aAAC,CAAC,IAAI,CAAC;IAC7B,MAAM;IACN,UAAU;IACV,UAAU;IACV,OAAO;IACP,MAAM;IACN,UAAU;IACV,IAAI;IACJ,KAAK;CACN,CAAC,CAAC;AAYH,MAAa,WAKX,SAAQ,aAOT;IACC;QACE,KAAK,CAAC;YACJ,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,MAAM,EAAE,aAAC,CAAC,MAAM,EAAuB;SACxC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAqB,EAAK;QAI5B,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QAEpB,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,aAAC,CAAC,KAAK,EAAuB,CAAC;QAC/C,CAAC;QAED,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,aAAC,CAAC,GAAG,EAAuB,CAAC;QAC7C,CAAC;QAED,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,OAAY,CAAC;QAC7B,CAAC;QAED,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,aAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,iBAAO,CAAsB,CAAC;QACnE,CAAC;QAED,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC,aAAC,CAAC,MAAM,EAAE,EAAE,aAAC,CAAC,GAAG,EAAE,CAAW,CAAC;QACxD,CAAC;QAED,OAAO,IAKN,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,MAAc;QAChB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAsB,CAAC,GAAG,CAAC,MAAM,CAAsB,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,MAAc;QAChB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAsB,CAAC,GAAG,CAAC,MAAM,CAAsB,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAtED,kCAsEC"}
1
+ {"version":3,"file":"String.js","sourceRoot":"","sources":["../../../../src/lib/fields/String.ts"],"names":[],"mappings":";;;;;;AAqFA,kCAEC;AAvFD,8CAAoB;AAEpB,mCAYiB;AACjB,oCAAiC;AACjC,8CAA2C;AAE9B,QAAA,SAAS,GAAG;IACvB,MAAM;IACN,UAAU;IACV,UAAU;IACV,OAAO;IACP,MAAM;IACN,UAAU;IACV,IAAI;IACJ,KAAK;CACG,CAAC;AA0DX,SAAgB,WAAW;IACzB,OAAO,eAAe,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,yBAAiB,CAAC,CAAC;AAC5D,CAAC;AAID,SAAS,eAAe,CACtB,OAA0B,EAC1B,KAAY;IAEZ,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;KACK,CAAC;IAEpC,MAAM,KAAK,GAA+B;QACxC,GAAG,IAAA,mBAAW,EAAC;YACb,IAAI;YACJ,KAAK;YACL,OAAO,EAAE,IAAA,mBAAW,EAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACvD,CAAC;QACF,IAAI,EAAE,UAGS,EAAU;YACvB,OAAO,eAAe,CACpB,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,EAClB,IAAI,CAAC,KAA4B,CAClC,CAAC;QACJ,CAAC;QACD,GAAG,EAAE,UAEH,MAAc;YAEd,OAAO,eAAe,CACpB,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EACjC,IAAI,CAAC,KAA4B,CAClC,CAAC;QACJ,CAAC;QACD,GAAG,EAAE,UAEH,MAAc;YAEd,OAAO,eAAe,CACpB,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EACjC,IAAI,CAAC,KAA4B,CAClC,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO,IAAA,0BAAkB,EAAC;QACxB,KAAK;QACL,OAAO,EAAE,CAA+B,SAAoB,EAAE,EAAE,CAC9D,eAAe,CAAC,OAAO,EAAE,SAAS,CAGjC;KACJ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,OAA0B;IAE1B,IAAI,OAAO,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,aAAC;aACL,MAAM,CAAC,aAAC,CAAC,MAAM,EAAE,EAAE,aAAC,CAAC,OAAO,EAAE,CAEhC,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,GACR,OAAO,CAAC,EAAE,KAAK,OAAO;QACpB,CAAC,CAAC,aAAC,CAAC,KAAK,EAAE;QACX,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK;YACpB,CAAC,CAAC,aAAC,CAAC,GAAG,EAAE;YACT,CAAC,CAAC,aAAC,CAAC,MAAM,EAAE,CAAC;IAEnB,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,GAAG,OAAE,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,SAAS,CAAC,iBAAO,CAA0C,CAAC;IAC5E,CAAC;IAED,OAAO,MAA+C,CAAC;AACzD,CAAC"}
@@ -1,40 +1,32 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Fields = void 0;
4
- const Boolean_1 = require("./Boolean");
5
- const ContentReference_1 = require("./ContentReference");
6
- const Date_1 = require("./Date");
7
- const Iterator_1 = require("./Iterator");
8
- const Link_1 = require("./Link");
9
- const File_1 = require("./File");
10
- const List_1 = require("./List");
11
- const Number_1 = require("./Number");
12
- const Relation_1 = require("./Relation");
13
- const Select_1 = require("./Select");
14
- const SelfRelation_1 = require("./SelfRelation");
15
- const SimpleList_1 = require("./SimpleList");
16
- const String_1 = require("./String");
17
- exports.Fields = {
18
- string: () => new String_1.StringField(),
19
- relation: (contentType, only) => new Relation_1.RelationField(contentType, only),
20
- contentReference: (contentType) => new ContentReference_1.ContentReferenceField(contentType),
21
- selfRelation: () => new SelfRelation_1.SelfRelationField(),
22
- number: () => new Number_1.NumberField(),
23
- boolean: () => new Boolean_1.BooleanField(),
24
- link: () => new Link_1.LinkField(),
25
- file: () => new File_1.FileField(),
26
- date: () => new Date_1.DateField(),
27
- select: (options) => new Select_1.SelectField(options),
28
- iterator: (fields) => new Iterator_1.IteratorField(fields),
29
- /**
30
- * Ordered list where each item can be one of several named field shapes.
31
- * Use this for block-like heterogeneous content.
32
- */
33
- blocks: (fields) => new List_1.ListField(fields),
34
- /**
35
- * Ordered list where every item has the same field shape.
36
- * Used by multi-value fields such as relation `.multiple()`.
37
- */
38
- array: (field) => new SimpleList_1.SimpleListField(field),
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
39
15
  };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Boolean"), exports);
18
+ __exportStar(require("./ContentReference"), exports);
19
+ __exportStar(require("./Date"), exports);
20
+ __exportStar(require("./Field"), exports);
21
+ __exportStar(require("./Fields"), exports);
22
+ __exportStar(require("./File"), exports);
23
+ __exportStar(require("./Iterator"), exports);
24
+ __exportStar(require("./Link"), exports);
25
+ __exportStar(require("./List"), exports);
26
+ __exportStar(require("./Number"), exports);
27
+ __exportStar(require("./Relation"), exports);
28
+ __exportStar(require("./Select"), exports);
29
+ __exportStar(require("./SelfRelation"), exports);
30
+ __exportStar(require("./SimpleList"), exports);
31
+ __exportStar(require("./String"), exports);
40
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/fields/index.ts"],"names":[],"mappings":";;;AACA,uCAAyC;AACzC,yDAA2D;AAC3D,iCAAmC;AAEnC,yCAA6D;AAC7D,iCAAmC;AACnC,iCAAmC;AAEnC,iCAAmC;AACnC,qCAAuC;AAEvC,yCAA2C;AAC3C,qCAAuC;AACvC,iDAAmD;AACnD,6CAA+C;AAC/C,qCAAuC;AAE1B,QAAA,MAAM,GAAG;IACpB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,oBAAW,EAAE;IAC/B,QAAQ,EAAE,CACR,WAAe,EACf,IAAQ,EACR,EAAE,CAAC,IAAI,wBAAa,CAAC,WAAW,EAAE,IAAI,CAAC;IACzC,gBAAgB,EAAE,CAAyB,WAAc,EAAE,EAAE,CAC3D,IAAI,wCAAqB,CAAC,WAAW,CAAC;IACxC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,gCAAiB,EAAE;IAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,oBAAW,EAAE;IAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,sBAAY,EAAE;IACjC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAS,EAAE;IAC3B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAS,EAAE;IAC3B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAS,EAAE;IAC3B,MAAM,EAAE,CAAsC,OAAU,EAAE,EAAE,CAC1D,IAAI,oBAAW,CAAC,OAAO,CAAC;IAC1B,QAAQ,EAAE,CAAgC,MAAU,EAAE,EAAE,CACtD,IAAI,wBAAa,CAAC,MAAM,CAAC;IAC3B;;;OAGG;IACH,MAAM,EAAE,CAAoB,MAAS,EAAE,EAAE,CAAC,IAAI,gBAAS,CAAI,MAAM,CAAC;IAClE;;;OAGG;IACH,KAAK,EAAE,CAAgD,KAAQ,EAAE,EAAE,CACjE,IAAI,4BAAe,CAAC,KAAK,CAAC;CAC7B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/fields/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,qDAAmC;AACnC,yCAAuB;AACvB,0CAAwB;AACxB,2CAAyB;AACzB,yCAAuB;AACvB,6CAA2B;AAC3B,yCAAuB;AACvB,yCAAuB;AACvB,2CAAyB;AACzB,6CAA2B;AAC3B,2CAAyB;AACzB,iDAA+B;AAC/B,+CAA6B;AAC7B,2CAAyB"}
@@ -5,8 +5,10 @@ const dbService_1 = require("../dbService");
5
5
  const parseId_1 = require("../utils/parseId");
6
6
  const mongodbPeer_1 = require("../mongodbPeer");
7
7
  const Registry_1 = require("../../lib/Registry");
8
- const isRelationFieldAndTarget = (field, contentType) => field.getConfig().ui === "ContentType" &&
9
- field.contentType.name === contentType;
8
+ const isRelationFieldAndTarget = (field, contentType) => {
9
+ const config = field.getConfig();
10
+ return config.ui === "ContentType" && config.contentType === contentType;
11
+ };
10
12
  const isFileFieldAndTarget = (field, contentType) => field.getConfig().type === "File" && contentType === "Media";
11
13
  const isSelfRelationFieldAndSameTarget = (field, thisContentType, targetContentType) => field.getConfig().ui === "SelfRelation" &&
12
14
  thisContentType === targetContentType;