@webiny/api-headless-cms 6.0.0 → 6.1.0-beta.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 (285) hide show
  1. package/crud/contentEntry/entryDataFactories/createEntryData.js +3 -1
  2. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
  3. package/crud/contentEntry.crud.js +0 -11
  4. package/crud/contentEntry.crud.js.map +1 -1
  5. package/crud/contentModel/validation.d.ts +209 -917
  6. package/crud/contentModel/validation.js +52 -29
  7. package/crud/contentModel/validation.js.map +1 -1
  8. package/domain/contentEntry/EntryId.d.ts +1 -0
  9. package/domain/contentEntry/EntryId.js +2 -0
  10. package/domain/contentEntry/EntryId.js.map +1 -1
  11. package/domain/contentEntry/errors.d.ts +2 -2
  12. package/domain/contentEntry/errors.js.map +1 -1
  13. package/domain/contentModel/schemas.d.ts +162 -718
  14. package/domain/contentModel/schemas.js +34 -20
  15. package/domain/contentModel/schemas.js.map +1 -1
  16. package/domain/contentModelGroup/validation.d.ts +34 -82
  17. package/domain/contentModelGroup/validation.js +2 -2
  18. package/domain/contentModelGroup/validation.js.map +1 -1
  19. package/exports/api/cms/entry.d.ts +1 -0
  20. package/exports/api/cms/entry.js +2 -0
  21. package/exports/api/cms/entry.js.map +1 -1
  22. package/exports/api/cms/model.d.ts +5 -2
  23. package/exports/api/cms/model.js +3 -1
  24. package/exports/api/cms/model.js.map +1 -1
  25. package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +2 -6
  26. package/extensions/index.d.ts +2 -6
  27. package/features/contentEntry/ContentEntriesFeature.js +4 -0
  28. package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
  29. package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.d.ts +1 -1
  30. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.d.ts +14 -0
  31. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js +25 -0
  32. package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js.map +1 -0
  33. package/features/contentEntry/ContentEntryTraverser/abstractions.d.ts +12 -0
  34. package/features/contentEntry/ContentEntryTraverser/abstractions.js +7 -0
  35. package/features/contentEntry/ContentEntryTraverser/abstractions.js.map +1 -0
  36. package/features/contentEntry/ContentEntryTraverser/feature.d.ts +1 -0
  37. package/features/contentEntry/ContentEntryTraverser/feature.js +10 -0
  38. package/features/contentEntry/ContentEntryTraverser/feature.js.map +1 -0
  39. package/features/contentEntry/ContentEntryTraverser/index.d.ts +2 -0
  40. package/features/contentEntry/ContentEntryTraverser/index.js +4 -0
  41. package/features/contentEntry/ContentEntryTraverser/index.js.map +1 -0
  42. package/features/contentEntry/CreateEntry/abstractions.d.ts +1 -0
  43. package/features/contentEntry/CreateEntry/abstractions.js +1 -0
  44. package/features/contentEntry/CreateEntry/abstractions.js.map +1 -1
  45. package/features/contentEntry/CreateEntry/events.d.ts +2 -0
  46. package/features/contentEntry/CreateEntry/events.js +4 -0
  47. package/features/contentEntry/CreateEntry/events.js.map +1 -1
  48. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.d.ts +1 -0
  49. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js +1 -0
  50. package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js.map +1 -1
  51. package/features/contentEntry/CreateEntryRevisionFrom/events.d.ts +2 -0
  52. package/features/contentEntry/CreateEntryRevisionFrom/events.js +4 -0
  53. package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
  54. package/features/contentEntry/DeleteEntry/abstractions.d.ts +2 -0
  55. package/features/contentEntry/DeleteEntry/abstractions.js +2 -0
  56. package/features/contentEntry/DeleteEntry/abstractions.js.map +1 -1
  57. package/features/contentEntry/DeleteEntry/events.d.ts +2 -0
  58. package/features/contentEntry/DeleteEntry/events.js +4 -0
  59. package/features/contentEntry/DeleteEntry/events.js.map +1 -1
  60. package/features/contentEntry/DeleteEntryRevision/abstractions.d.ts +1 -0
  61. package/features/contentEntry/DeleteEntryRevision/abstractions.js +1 -0
  62. package/features/contentEntry/DeleteEntryRevision/abstractions.js.map +1 -1
  63. package/features/contentEntry/DeleteEntryRevision/events.d.ts +2 -0
  64. package/features/contentEntry/DeleteEntryRevision/events.js +4 -0
  65. package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
  66. package/features/contentEntry/DeleteMultipleEntries/abstractions.d.ts +1 -0
  67. package/features/contentEntry/DeleteMultipleEntries/abstractions.js +1 -0
  68. package/features/contentEntry/DeleteMultipleEntries/abstractions.js.map +1 -1
  69. package/features/contentEntry/DeleteMultipleEntries/events.d.ts +2 -0
  70. package/features/contentEntry/DeleteMultipleEntries/events.js +4 -0
  71. package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
  72. package/features/contentEntry/GetEntriesByIds/abstractions.d.ts +1 -0
  73. package/features/contentEntry/GetEntriesByIds/abstractions.js +1 -0
  74. package/features/contentEntry/GetEntriesByIds/abstractions.js.map +1 -1
  75. package/features/contentEntry/GetEntry/abstractions.d.ts +1 -0
  76. package/features/contentEntry/GetEntry/abstractions.js +1 -0
  77. package/features/contentEntry/GetEntry/abstractions.js.map +1 -1
  78. package/features/contentEntry/GetEntryById/abstractions.d.ts +1 -0
  79. package/features/contentEntry/GetEntryById/abstractions.js +1 -0
  80. package/features/contentEntry/GetEntryById/abstractions.js.map +1 -1
  81. package/features/contentEntry/GetLatestEntriesByIds/abstractions.d.ts +1 -0
  82. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js +1 -0
  83. package/features/contentEntry/GetLatestEntriesByIds/abstractions.js.map +1 -1
  84. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.d.ts +4 -9
  85. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js +4 -9
  86. package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js.map +1 -1
  87. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.d.ts +2 -3
  88. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js +2 -3
  89. package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js.map +1 -1
  90. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.d.ts +1 -0
  91. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js +1 -0
  92. package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js.map +1 -1
  93. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.d.ts +1 -0
  94. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js +1 -0
  95. package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js.map +1 -1
  96. package/features/contentEntry/GetRevisionById/abstractions.d.ts +1 -0
  97. package/features/contentEntry/GetRevisionById/abstractions.js +1 -0
  98. package/features/contentEntry/GetRevisionById/abstractions.js.map +1 -1
  99. package/features/contentEntry/GetRevisionsByEntryId/abstractions.d.ts +1 -0
  100. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js +1 -0
  101. package/features/contentEntry/GetRevisionsByEntryId/abstractions.js.map +1 -1
  102. package/features/contentEntry/GetSingletonEntry/abstractions.d.ts +1 -0
  103. package/features/contentEntry/GetSingletonEntry/abstractions.js +1 -0
  104. package/features/contentEntry/GetSingletonEntry/abstractions.js.map +1 -1
  105. package/features/contentEntry/ListEntries/ListEntriesRepository.js +6 -1
  106. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
  107. package/features/contentEntry/ListEntries/abstractions.d.ts +4 -0
  108. package/features/contentEntry/ListEntries/abstractions.js +4 -0
  109. package/features/contentEntry/ListEntries/abstractions.js.map +1 -1
  110. package/features/contentEntry/MoveEntry/abstractions.d.ts +1 -0
  111. package/features/contentEntry/MoveEntry/abstractions.js +1 -0
  112. package/features/contentEntry/MoveEntry/abstractions.js.map +1 -1
  113. package/features/contentEntry/MoveEntry/events.d.ts +2 -0
  114. package/features/contentEntry/MoveEntry/events.js +4 -0
  115. package/features/contentEntry/MoveEntry/events.js.map +1 -1
  116. package/features/contentEntry/PublishEntry/abstractions.d.ts +1 -0
  117. package/features/contentEntry/PublishEntry/abstractions.js +1 -0
  118. package/features/contentEntry/PublishEntry/abstractions.js.map +1 -1
  119. package/features/contentEntry/PublishEntry/events.d.ts +2 -0
  120. package/features/contentEntry/PublishEntry/events.js +4 -0
  121. package/features/contentEntry/PublishEntry/events.js.map +1 -1
  122. package/features/contentEntry/RepublishEntry/abstractions.d.ts +1 -0
  123. package/features/contentEntry/RepublishEntry/abstractions.js +1 -0
  124. package/features/contentEntry/RepublishEntry/abstractions.js.map +1 -1
  125. package/features/contentEntry/RepublishEntry/events.d.ts +2 -0
  126. package/features/contentEntry/RepublishEntry/events.js +4 -0
  127. package/features/contentEntry/RepublishEntry/events.js.map +1 -1
  128. package/features/contentEntry/RestoreEntryFromBin/abstractions.d.ts +1 -0
  129. package/features/contentEntry/RestoreEntryFromBin/abstractions.js +1 -0
  130. package/features/contentEntry/RestoreEntryFromBin/abstractions.js.map +1 -1
  131. package/features/contentEntry/RestoreEntryFromBin/events.d.ts +2 -0
  132. package/features/contentEntry/RestoreEntryFromBin/events.js +4 -0
  133. package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
  134. package/features/contentEntry/UnpublishEntry/abstractions.d.ts +1 -0
  135. package/features/contentEntry/UnpublishEntry/abstractions.js +1 -0
  136. package/features/contentEntry/UnpublishEntry/abstractions.js.map +1 -1
  137. package/features/contentEntry/UnpublishEntry/events.d.ts +2 -0
  138. package/features/contentEntry/UnpublishEntry/events.js +4 -0
  139. package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
  140. package/features/contentEntry/UpdateEntry/abstractions.d.ts +1 -0
  141. package/features/contentEntry/UpdateEntry/abstractions.js +1 -0
  142. package/features/contentEntry/UpdateEntry/abstractions.js.map +1 -1
  143. package/features/contentEntry/UpdateEntry/events.d.ts +2 -0
  144. package/features/contentEntry/UpdateEntry/events.js +4 -0
  145. package/features/contentEntry/UpdateEntry/events.js.map +1 -1
  146. package/features/contentEntry/UpdateSingletonEntry/abstractions.d.ts +1 -0
  147. package/features/contentEntry/UpdateSingletonEntry/abstractions.js +1 -0
  148. package/features/contentEntry/UpdateSingletonEntry/abstractions.js.map +1 -1
  149. package/features/contentEntry/ValidateEntry/abstractions.d.ts +1 -0
  150. package/features/contentEntry/ValidateEntry/abstractions.js +1 -0
  151. package/features/contentEntry/ValidateEntry/abstractions.js.map +1 -1
  152. package/features/contentModel/CreateModel/abstractions.d.ts +1 -0
  153. package/features/contentModel/CreateModel/abstractions.js +1 -0
  154. package/features/contentModel/CreateModel/abstractions.js.map +1 -1
  155. package/features/contentModel/CreateModel/events.d.ts +2 -0
  156. package/features/contentModel/CreateModel/events.js +4 -0
  157. package/features/contentModel/CreateModel/events.js.map +1 -1
  158. package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -0
  159. package/features/contentModel/CreateModelFrom/abstractions.js +1 -0
  160. package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
  161. package/features/contentModel/CreateModelFrom/events.d.ts +2 -0
  162. package/features/contentModel/CreateModelFrom/events.js +4 -0
  163. package/features/contentModel/CreateModelFrom/events.js.map +1 -1
  164. package/features/contentModel/DeleteModel/abstractions.d.ts +1 -0
  165. package/features/contentModel/DeleteModel/abstractions.js +1 -0
  166. package/features/contentModel/DeleteModel/abstractions.js.map +1 -1
  167. package/features/contentModel/DeleteModel/events.d.ts +2 -0
  168. package/features/contentModel/DeleteModel/events.js +4 -0
  169. package/features/contentModel/DeleteModel/events.js.map +1 -1
  170. package/features/contentModel/GetModel/abstractions.d.ts +1 -0
  171. package/features/contentModel/GetModel/abstractions.js +1 -0
  172. package/features/contentModel/GetModel/abstractions.js.map +1 -1
  173. package/features/contentModel/ListModels/abstractions.d.ts +1 -0
  174. package/features/contentModel/ListModels/abstractions.js +1 -0
  175. package/features/contentModel/ListModels/abstractions.js.map +1 -1
  176. package/features/contentModel/UpdateModel/abstractions.d.ts +1 -0
  177. package/features/contentModel/UpdateModel/abstractions.js +1 -0
  178. package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
  179. package/features/contentModel/UpdateModel/events.d.ts +2 -0
  180. package/features/contentModel/UpdateModel/events.js +4 -0
  181. package/features/contentModel/UpdateModel/events.js.map +1 -1
  182. package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -0
  183. package/features/contentModelGroup/CreateGroup/abstractions.js +1 -0
  184. package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
  185. package/features/contentModelGroup/CreateGroup/events.d.ts +2 -0
  186. package/features/contentModelGroup/CreateGroup/events.js +4 -0
  187. package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
  188. package/features/contentModelGroup/DeleteGroup/abstractions.d.ts +1 -0
  189. package/features/contentModelGroup/DeleteGroup/abstractions.js +1 -0
  190. package/features/contentModelGroup/DeleteGroup/abstractions.js.map +1 -1
  191. package/features/contentModelGroup/DeleteGroup/events.d.ts +2 -0
  192. package/features/contentModelGroup/DeleteGroup/events.js +4 -0
  193. package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
  194. package/features/contentModelGroup/GetGroup/abstractions.d.ts +1 -0
  195. package/features/contentModelGroup/GetGroup/abstractions.js +1 -0
  196. package/features/contentModelGroup/GetGroup/abstractions.js.map +1 -1
  197. package/features/contentModelGroup/ListGroups/abstractions.d.ts +1 -0
  198. package/features/contentModelGroup/ListGroups/abstractions.js +1 -0
  199. package/features/contentModelGroup/ListGroups/abstractions.js.map +1 -1
  200. package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -0
  201. package/features/contentModelGroup/UpdateGroup/abstractions.js +1 -0
  202. package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
  203. package/features/contentModelGroup/UpdateGroup/events.d.ts +2 -0
  204. package/features/contentModelGroup/UpdateGroup/events.js +4 -0
  205. package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
  206. package/features/contentModelGroup/shared/abstractions.d.ts +1 -0
  207. package/features/contentModelGroup/shared/abstractions.js +1 -0
  208. package/features/contentModelGroup/shared/abstractions.js.map +1 -1
  209. package/features/modelBuilder/abstractions.d.ts +8 -4
  210. package/features/modelBuilder/abstractions.js +5 -2
  211. package/features/modelBuilder/abstractions.js.map +1 -1
  212. package/features/modelBuilder/fields/BooleanFieldType.d.ts +6 -4
  213. package/features/modelBuilder/fields/BooleanFieldType.js +2 -2
  214. package/features/modelBuilder/fields/BooleanFieldType.js.map +1 -1
  215. package/features/modelBuilder/fields/DataFieldBuilder.d.ts +6 -14
  216. package/features/modelBuilder/fields/DataFieldBuilder.js +1 -9
  217. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
  218. package/features/modelBuilder/fields/DateTimeFieldType.d.ts +3 -3
  219. package/features/modelBuilder/fields/DateTimeFieldType.js +2 -2
  220. package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -1
  221. package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +2 -2
  222. package/features/modelBuilder/fields/DynamicZoneFieldType.js +2 -2
  223. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
  224. package/features/modelBuilder/fields/FieldBuilder.d.ts +2 -2
  225. package/features/modelBuilder/fields/FieldBuilder.js +1 -1
  226. package/features/modelBuilder/fields/FieldBuilder.js.map +1 -1
  227. package/features/modelBuilder/fields/FieldBuilderRegistry.d.ts +3 -3
  228. package/features/modelBuilder/fields/FileFieldType.d.ts +3 -3
  229. package/features/modelBuilder/fields/FileFieldType.js +2 -2
  230. package/features/modelBuilder/fields/FileFieldType.js.map +1 -1
  231. package/features/modelBuilder/fields/JsonFieldType.d.ts +2 -2
  232. package/features/modelBuilder/fields/JsonFieldType.js +2 -2
  233. package/features/modelBuilder/fields/JsonFieldType.js.map +1 -1
  234. package/features/modelBuilder/fields/LongTextFieldType.d.ts +3 -4
  235. package/features/modelBuilder/fields/LongTextFieldType.js +2 -2
  236. package/features/modelBuilder/fields/LongTextFieldType.js.map +1 -1
  237. package/features/modelBuilder/fields/NumberFieldType.d.ts +3 -3
  238. package/features/modelBuilder/fields/NumberFieldType.js +2 -2
  239. package/features/modelBuilder/fields/NumberFieldType.js.map +1 -1
  240. package/features/modelBuilder/fields/ObjectFieldType.d.ts +3 -3
  241. package/features/modelBuilder/fields/ObjectFieldType.js +2 -2
  242. package/features/modelBuilder/fields/ObjectFieldType.js.map +1 -1
  243. package/features/modelBuilder/fields/RefFieldType.d.ts +3 -3
  244. package/features/modelBuilder/fields/RefFieldType.js +2 -2
  245. package/features/modelBuilder/fields/RefFieldType.js.map +1 -1
  246. package/features/modelBuilder/fields/RichTextFieldType.d.ts +2 -2
  247. package/features/modelBuilder/fields/RichTextFieldType.js +2 -2
  248. package/features/modelBuilder/fields/RichTextFieldType.js.map +1 -1
  249. package/features/modelBuilder/fields/SearchableJsonFieldType.d.ts +2 -2
  250. package/features/modelBuilder/fields/SearchableJsonFieldType.js +2 -2
  251. package/features/modelBuilder/fields/SearchableJsonFieldType.js.map +1 -1
  252. package/features/modelBuilder/fields/TextFieldType.d.ts +3 -3
  253. package/features/modelBuilder/fields/TextFieldType.js +2 -2
  254. package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
  255. package/features/modelBuilder/fields/abstractions.d.ts +4 -1
  256. package/features/modelBuilder/fields/abstractions.js +1 -1
  257. package/features/modelBuilder/fields/abstractions.js.map +1 -1
  258. package/features/modelBuilder/fields/{validators.d.ts → fieldTypeValidator.d.ts} +22 -0
  259. package/features/modelBuilder/fields/fieldTypeValidator.js +31 -0
  260. package/features/modelBuilder/fields/fieldTypeValidator.js.map +1 -0
  261. package/features/sortMapper/abstractions.d.ts +1 -0
  262. package/features/sortMapper/abstractions.js +1 -0
  263. package/features/sortMapper/abstractions.js.map +1 -1
  264. package/features/whereMapper/abstractions.d.ts +1 -0
  265. package/features/whereMapper/abstractions.js +1 -0
  266. package/features/whereMapper/abstractions.js.map +1 -1
  267. package/graphql/schema/cms/listEntriesResolver.d.ts +1 -0
  268. package/graphql/schema/cms/listEntriesResolver.js +5 -1
  269. package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
  270. package/graphql/schema/cms/typeDefs/query.js +1 -0
  271. package/graphql/schema/cms/typeDefs/query.js.map +1 -1
  272. package/graphql/schema/createSingularSDL.js +1 -0
  273. package/graphql/schema/createSingularSDL.js.map +1 -1
  274. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +4 -1
  275. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
  276. package/index.d.ts +2 -1
  277. package/index.js +2 -1
  278. package/index.js.map +1 -1
  279. package/package.json +25 -25
  280. package/types/context.d.ts +0 -5
  281. package/types/context.js.map +1 -1
  282. package/features/modelBuilder/fields/validators.js +0 -3
  283. package/features/modelBuilder/fields/validators.js.map +0 -1
  284. /package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.js +0 -0
  285. /package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.js.map +0 -0
@@ -1,7 +1,7 @@
1
1
  import { type IFieldTypeFactory } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- import { RequiredValidator } from "./validators.js";
4
- export interface IFileFieldBuilder extends FieldBuilder<"file">, RequiredValidator {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ import { RequiredValidator } from "./fieldTypeValidator.js";
4
+ export interface IFileFieldBuilder extends DataFieldBuilder<"file">, RequiredValidator {
5
5
  imagesOnly(): this;
6
6
  }
7
7
  declare class FileFieldTypeFactory implements IFieldTypeFactory {
@@ -1,6 +1,6 @@
1
1
  import { FieldType } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- class FileFieldBuilder extends FieldBuilder {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ class FileFieldBuilder extends DataFieldBuilder {
4
4
  constructor() {
5
5
  super("file");
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"names":["FieldType","FieldBuilder","FileFieldBuilder","constructor","required","message","validation","name","settings","imagesOnly","config","FileFieldTypeFactory","type","create","FileFieldType","createImplementation","implementation","dependencies"],"sources":["FileFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { FieldBuilder } from \"./FieldBuilder.js\";\nimport { RequiredValidator } from \"./validators.js\";\n\nexport interface IFileFieldBuilder extends FieldBuilder<\"file\">, RequiredValidator {\n imagesOnly(): this;\n}\n\nclass FileFieldBuilder extends FieldBuilder<\"file\"> implements IFileFieldBuilder {\n public constructor() {\n super(\"file\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n imagesOnly(): this {\n this.config.settings = this.config.settings || {};\n this.config.settings.imagesOnly = true;\n return this;\n }\n}\n\nclass FileFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"file\";\n\n create(): IFileFieldBuilder {\n return new FileFieldBuilder();\n }\n}\n\nexport const FileFieldType = FieldType.createImplementation({\n implementation: FileFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n file(): IFileFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,YAAY;AAOrB,MAAMC,gBAAgB,SAASD,YAAY,CAAsC;EACtEE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,MAAM,CAAC;EACjB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEAC,UAAUA,CAAA,EAAS;IACf,IAAI,CAACC,MAAM,CAACF,QAAQ,GAAG,IAAI,CAACE,MAAM,CAACF,QAAQ,IAAI,CAAC,CAAC;IACjD,IAAI,CAACE,MAAM,CAACF,QAAQ,CAACC,UAAU,GAAG,IAAI;IACtC,OAAO,IAAI;EACf;AACJ;AAEA,MAAME,oBAAoB,CAA8B;EAC3CC,IAAI,GAAG,MAAM;EAEtBC,MAAMA,CAAA,EAAsB;IACxB,OAAO,IAAIX,gBAAgB,CAAC,CAAC;EACjC;AACJ;AAEA,OAAO,MAAMY,aAAa,GAAGd,SAAS,CAACe,oBAAoB,CAAC;EACxDC,cAAc,EAAEL,oBAAoB;EACpCM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
1
+ {"version":3,"names":["FieldType","DataFieldBuilder","FileFieldBuilder","constructor","required","message","validation","name","settings","imagesOnly","config","FileFieldTypeFactory","type","create","FileFieldType","createImplementation","implementation","dependencies"],"sources":["FileFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport { RequiredValidator } from \"./fieldTypeValidator.js\";\n\nexport interface IFileFieldBuilder extends DataFieldBuilder<\"file\">, RequiredValidator {\n imagesOnly(): this;\n}\n\nclass FileFieldBuilder extends DataFieldBuilder<\"file\"> implements IFileFieldBuilder {\n public constructor() {\n super(\"file\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n imagesOnly(): this {\n this.config.settings = this.config.settings || {};\n this.config.settings.imagesOnly = true;\n return this;\n }\n}\n\nclass FileFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"file\";\n\n create(): IFileFieldBuilder {\n return new FileFieldBuilder();\n }\n}\n\nexport const FileFieldType = FieldType.createImplementation({\n implementation: FileFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n file(): IFileFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,gBAAgB;AAOzB,MAAMC,gBAAgB,SAASD,gBAAgB,CAAsC;EAC1EE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,MAAM,CAAC;EACjB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEAC,UAAUA,CAAA,EAAS;IACf,IAAI,CAACC,MAAM,CAACF,QAAQ,GAAG,IAAI,CAACE,MAAM,CAACF,QAAQ,IAAI,CAAC,CAAC;IACjD,IAAI,CAACE,MAAM,CAACF,QAAQ,CAACC,UAAU,GAAG,IAAI;IACtC,OAAO,IAAI;EACf;AACJ;AAEA,MAAME,oBAAoB,CAA8B;EAC3CC,IAAI,GAAG,MAAM;EAEtBC,MAAMA,CAAA,EAAsB;IACxB,OAAO,IAAIX,gBAAgB,CAAC,CAAC;EACjC;AACJ;AAEA,OAAO,MAAMY,aAAa,GAAGd,SAAS,CAACe,oBAAoB,CAAC;EACxDC,cAAc,EAAEL,oBAAoB;EACpCM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { type IFieldTypeFactory } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- export interface IJsonFieldBuilder extends FieldBuilder<"json"> {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ export interface IJsonFieldBuilder extends DataFieldBuilder<"json"> {
4
4
  }
5
5
  declare class JsonFieldTypeFactory implements IFieldTypeFactory {
6
6
  readonly type = "json";
@@ -1,6 +1,6 @@
1
1
  import { FieldType } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- class JsonFieldBuilder extends FieldBuilder {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ class JsonFieldBuilder extends DataFieldBuilder {
4
4
  constructor() {
5
5
  super("json");
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"names":["FieldType","FieldBuilder","JsonFieldBuilder","constructor","JsonFieldTypeFactory","type","create","JsonFieldType","createImplementation","implementation","dependencies"],"sources":["JsonFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { FieldBuilder } from \"./FieldBuilder.js\";\n\nexport interface IJsonFieldBuilder extends FieldBuilder<\"json\"> {}\n\nclass JsonFieldBuilder extends FieldBuilder<\"json\"> implements IJsonFieldBuilder {\n public constructor() {\n super(\"json\");\n }\n}\n\nclass JsonFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"json\";\n\n create(): IJsonFieldBuilder {\n return new JsonFieldBuilder();\n }\n}\n\nexport const JsonFieldType = FieldType.createImplementation({\n implementation: JsonFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n json(): IJsonFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,YAAY;AAIrB,MAAMC,gBAAgB,SAASD,YAAY,CAAsC;EACtEE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,MAAM,CAAC;EACjB;AACJ;AAEA,MAAMC,oBAAoB,CAA8B;EAC3CC,IAAI,GAAG,MAAM;EAEtBC,MAAMA,CAAA,EAAsB;IACxB,OAAO,IAAIJ,gBAAgB,CAAC,CAAC;EACjC;AACJ;AAEA,OAAO,MAAMK,aAAa,GAAGP,SAAS,CAACQ,oBAAoB,CAAC;EACxDC,cAAc,EAAEL,oBAAoB;EACpCM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
1
+ {"version":3,"names":["FieldType","DataFieldBuilder","JsonFieldBuilder","constructor","JsonFieldTypeFactory","type","create","JsonFieldType","createImplementation","implementation","dependencies"],"sources":["JsonFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\n\nexport interface IJsonFieldBuilder extends DataFieldBuilder<\"json\"> {}\n\nclass JsonFieldBuilder extends DataFieldBuilder<\"json\"> implements IJsonFieldBuilder {\n public constructor() {\n super(\"json\");\n }\n}\n\nclass JsonFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"json\";\n\n create(): IJsonFieldBuilder {\n return new JsonFieldBuilder();\n }\n}\n\nexport const JsonFieldType = FieldType.createImplementation({\n implementation: JsonFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n json(): IJsonFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,gBAAgB;AAIzB,MAAMC,gBAAgB,SAASD,gBAAgB,CAAsC;EAC1EE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,MAAM,CAAC;EACjB;AACJ;AAEA,MAAMC,oBAAoB,CAA8B;EAC3CC,IAAI,GAAG,MAAM;EAEtBC,MAAMA,CAAA,EAAsB;IACxB,OAAO,IAAIJ,gBAAgB,CAAC,CAAC;EACjC;AACJ;AAEA,OAAO,MAAMK,aAAa,GAAGP,SAAS,CAACQ,oBAAoB,CAAC;EACxDC,cAAc,EAAEL,oBAAoB;EACpCM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { type IFieldTypeFactory } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- import { RequiredValidator, MinLengthValidator, MaxLengthValidator, PatternValidator, EmailValidator, UrlValidator, LowerCaseValidator, UpperCaseValidator, LowerCaseSpaceValidator, UpperCaseSpaceValidator } from "./validators.js";
4
- export interface ILongTextFieldBuilder extends FieldBuilder<"long-text">, RequiredValidator, MinLengthValidator, MaxLengthValidator, PatternValidator, EmailValidator, UrlValidator, LowerCaseValidator, UpperCaseValidator, LowerCaseSpaceValidator, UpperCaseSpaceValidator {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ import { RequiredValidator, MinLengthValidator, MaxLengthValidator, PatternValidator, EmailValidator, UrlValidator, LowerCaseValidator, UpperCaseValidator, LowerCaseSpaceValidator, UpperCaseSpaceValidator } from "./fieldTypeValidator.js";
4
+ export interface ILongTextFieldBuilder extends DataFieldBuilder<"long-text">, RequiredValidator, MinLengthValidator, MaxLengthValidator, PatternValidator, EmailValidator, UrlValidator, LowerCaseValidator, UpperCaseValidator, LowerCaseSpaceValidator, UpperCaseSpaceValidator {
5
5
  }
6
6
  declare class LongTextFieldTypeFactory implements IFieldTypeFactory {
7
7
  readonly type = "long-text";
@@ -12,7 +12,6 @@ export declare const LongTextFieldType: typeof LongTextFieldTypeFactory & {
12
12
  };
13
13
  declare module "../abstractions.js" {
14
14
  interface IFieldBuilderRegistry {
15
- "long-text"(): ILongTextFieldBuilder;
16
15
  longText(): ILongTextFieldBuilder;
17
16
  }
18
17
  }
@@ -1,6 +1,6 @@
1
1
  import { FieldType } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- class LongTextFieldBuilder extends FieldBuilder {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ class LongTextFieldBuilder extends DataFieldBuilder {
4
4
  constructor() {
5
5
  super("long-text");
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"names":["FieldType","FieldBuilder","LongTextFieldBuilder","constructor","required","message","validation","name","settings","minLength","value","String","maxLength","pattern","regex","flags","preset","email","url","lowerCase","upperCase","lowerCaseSpace","upperCaseSpace","LongTextFieldTypeFactory","type","create","LongTextFieldType","createImplementation","implementation","dependencies"],"sources":["LongTextFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { FieldBuilder } from \"./FieldBuilder.js\";\nimport {\n RequiredValidator,\n MinLengthValidator,\n MaxLengthValidator,\n PatternValidator,\n EmailValidator,\n UrlValidator,\n LowerCaseValidator,\n UpperCaseValidator,\n LowerCaseSpaceValidator,\n UpperCaseSpaceValidator\n} from \"./validators.js\";\n\nexport interface ILongTextFieldBuilder\n extends FieldBuilder<\"long-text\">,\n RequiredValidator,\n MinLengthValidator,\n MaxLengthValidator,\n PatternValidator,\n EmailValidator,\n UrlValidator,\n LowerCaseValidator,\n UpperCaseValidator,\n LowerCaseSpaceValidator,\n UpperCaseSpaceValidator {}\n\nclass LongTextFieldBuilder extends FieldBuilder<\"long-text\"> implements ILongTextFieldBuilder {\n public constructor() {\n super(\"long-text\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n minLength(value: number, message?: string): this {\n return this.validation({\n name: \"minLength\",\n message: message || \"Value is too short.\",\n settings: { value: String(value) }\n });\n }\n\n maxLength(value: number, message?: string): this {\n return this.validation({\n name: \"maxLength\",\n message: message || \"Value is too long.\",\n settings: { value: String(value) }\n });\n }\n\n pattern(regex: string, flags: string = \"\", message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Invalid value.\",\n settings: {\n preset: \"custom\",\n regex,\n flags\n }\n });\n }\n\n email(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid e-mail.\",\n settings: {\n preset: \"email\",\n regex: null,\n flags: null\n }\n });\n }\n\n url(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid URL.\",\n settings: {\n preset: \"url\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters are allowed.\",\n settings: {\n preset: \"lowerCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters are allowed.\",\n settings: {\n preset: \"upperCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters and space are allowed.\",\n settings: {\n preset: \"lowerCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters and space are allowed.\",\n settings: {\n preset: \"upperCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n}\n\nclass LongTextFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"long-text\";\n\n create(): ILongTextFieldBuilder {\n return new LongTextFieldBuilder();\n }\n}\n\nexport const LongTextFieldType = FieldType.createImplementation({\n implementation: LongTextFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n \"long-text\"(): ILongTextFieldBuilder;\n longText(): ILongTextFieldBuilder;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["FieldType","DataFieldBuilder","LongTextFieldBuilder","constructor","required","message","validation","name","settings","minLength","value","String","maxLength","pattern","regex","flags","preset","email","url","lowerCase","upperCase","lowerCaseSpace","upperCaseSpace","LongTextFieldTypeFactory","type","create","LongTextFieldType","createImplementation","implementation","dependencies"],"sources":["LongTextFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport {\n RequiredValidator,\n MinLengthValidator,\n MaxLengthValidator,\n PatternValidator,\n EmailValidator,\n UrlValidator,\n LowerCaseValidator,\n UpperCaseValidator,\n LowerCaseSpaceValidator,\n UpperCaseSpaceValidator\n} from \"./fieldTypeValidator.js\";\n\nexport interface ILongTextFieldBuilder\n extends DataFieldBuilder<\"long-text\">,\n RequiredValidator,\n MinLengthValidator,\n MaxLengthValidator,\n PatternValidator,\n EmailValidator,\n UrlValidator,\n LowerCaseValidator,\n UpperCaseValidator,\n LowerCaseSpaceValidator,\n UpperCaseSpaceValidator {}\n\nclass LongTextFieldBuilder extends DataFieldBuilder<\"long-text\"> implements ILongTextFieldBuilder {\n public constructor() {\n super(\"long-text\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n minLength(value: number, message?: string): this {\n return this.validation({\n name: \"minLength\",\n message: message || \"Value is too short.\",\n settings: { value: String(value) }\n });\n }\n\n maxLength(value: number, message?: string): this {\n return this.validation({\n name: \"maxLength\",\n message: message || \"Value is too long.\",\n settings: { value: String(value) }\n });\n }\n\n pattern(regex: string, flags: string = \"\", message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Invalid value.\",\n settings: {\n preset: \"custom\",\n regex,\n flags\n }\n });\n }\n\n email(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid e-mail.\",\n settings: {\n preset: \"email\",\n regex: null,\n flags: null\n }\n });\n }\n\n url(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid URL.\",\n settings: {\n preset: \"url\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters are allowed.\",\n settings: {\n preset: \"lowerCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters are allowed.\",\n settings: {\n preset: \"upperCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters and space are allowed.\",\n settings: {\n preset: \"lowerCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters and space are allowed.\",\n settings: {\n preset: \"upperCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n}\n\nclass LongTextFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"long-text\";\n\n create(): ILongTextFieldBuilder {\n return new LongTextFieldBuilder();\n }\n}\n\nexport const LongTextFieldType = FieldType.createImplementation({\n implementation: LongTextFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n longText(): ILongTextFieldBuilder;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { type IFieldTypeFactory } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- import { RequiredValidator, GteValidator, LteValidator } from "./validators.js";
4
- export interface INumberFieldBuilder extends FieldBuilder<"number">, RequiredValidator, GteValidator, LteValidator {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ import { RequiredValidator, GteValidator, LteValidator } from "./fieldTypeValidator.js";
4
+ export interface INumberFieldBuilder extends DataFieldBuilder<"number">, RequiredValidator, GteValidator, LteValidator {
5
5
  }
6
6
  declare class NumberFieldTypeFactory implements IFieldTypeFactory {
7
7
  readonly type = "number";
@@ -1,6 +1,6 @@
1
1
  import { FieldType } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- class NumberFieldBuilder extends FieldBuilder {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ class NumberFieldBuilder extends DataFieldBuilder {
4
4
  constructor() {
5
5
  super("number");
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"names":["FieldType","FieldBuilder","NumberFieldBuilder","constructor","required","message","validation","name","settings","gte","value","String","lte","NumberFieldTypeFactory","type","create","NumberFieldType","createImplementation","implementation","dependencies"],"sources":["NumberFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { FieldBuilder } from \"./FieldBuilder.js\";\nimport { RequiredValidator, GteValidator, LteValidator } from \"./validators.js\";\n\nexport interface INumberFieldBuilder\n extends FieldBuilder<\"number\">,\n RequiredValidator,\n GteValidator,\n LteValidator {}\n\nclass NumberFieldBuilder extends FieldBuilder<\"number\"> implements INumberFieldBuilder {\n public constructor() {\n super(\"number\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n gte(value: number, message?: string): this {\n return this.validation({\n name: \"gte\",\n message: message || \"Value is too small.\",\n settings: { value: String(value) }\n });\n }\n\n lte(value: number, message?: string): this {\n return this.validation({\n name: \"lte\",\n message: message || \"Value is too large.\",\n settings: { value: String(value) }\n });\n }\n}\n\nclass NumberFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"number\";\n\n create(): INumberFieldBuilder {\n return new NumberFieldBuilder();\n }\n}\n\nexport const NumberFieldType = FieldType.createImplementation({\n implementation: NumberFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n number(): INumberFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,YAAY;AASrB,MAAMC,kBAAkB,SAASD,YAAY,CAA0C;EAC5EE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,QAAQ,CAAC;EACnB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEAC,GAAGA,CAACC,KAAa,EAAEL,OAAgB,EAAQ;IACvC,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,KAAK;MACXF,OAAO,EAAEA,OAAO,IAAI,qBAAqB;MACzCG,QAAQ,EAAE;QAAEE,KAAK,EAAEC,MAAM,CAACD,KAAK;MAAE;IACrC,CAAC,CAAC;EACN;EAEAE,GAAGA,CAACF,KAAa,EAAEL,OAAgB,EAAQ;IACvC,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,KAAK;MACXF,OAAO,EAAEA,OAAO,IAAI,qBAAqB;MACzCG,QAAQ,EAAE;QAAEE,KAAK,EAAEC,MAAM,CAACD,KAAK;MAAE;IACrC,CAAC,CAAC;EACN;AACJ;AAEA,MAAMG,sBAAsB,CAA8B;EAC7CC,IAAI,GAAG,QAAQ;EAExBC,MAAMA,CAAA,EAAwB;IAC1B,OAAO,IAAIb,kBAAkB,CAAC,CAAC;EACnC;AACJ;AAEA,OAAO,MAAMc,eAAe,GAAGhB,SAAS,CAACiB,oBAAoB,CAAC;EAC1DC,cAAc,EAAEL,sBAAsB;EACtCM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
1
+ {"version":3,"names":["FieldType","DataFieldBuilder","NumberFieldBuilder","constructor","required","message","validation","name","settings","gte","value","String","lte","NumberFieldTypeFactory","type","create","NumberFieldType","createImplementation","implementation","dependencies"],"sources":["NumberFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport { RequiredValidator, GteValidator, LteValidator } from \"./fieldTypeValidator.js\";\n\nexport interface INumberFieldBuilder\n extends DataFieldBuilder<\"number\">,\n RequiredValidator,\n GteValidator,\n LteValidator {}\n\nclass NumberFieldBuilder extends DataFieldBuilder<\"number\"> implements INumberFieldBuilder {\n public constructor() {\n super(\"number\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n gte(value: number, message?: string): this {\n return this.validation({\n name: \"gte\",\n message: message || \"Value is too small.\",\n settings: { value: String(value) }\n });\n }\n\n lte(value: number, message?: string): this {\n return this.validation({\n name: \"lte\",\n message: message || \"Value is too large.\",\n settings: { value: String(value) }\n });\n }\n}\n\nclass NumberFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"number\";\n\n create(): INumberFieldBuilder {\n return new NumberFieldBuilder();\n }\n}\n\nexport const NumberFieldType = FieldType.createImplementation({\n implementation: NumberFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n number(): INumberFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,gBAAgB;AASzB,MAAMC,kBAAkB,SAASD,gBAAgB,CAA0C;EAChFE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,QAAQ,CAAC;EACnB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEAC,GAAGA,CAACC,KAAa,EAAEL,OAAgB,EAAQ;IACvC,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,KAAK;MACXF,OAAO,EAAEA,OAAO,IAAI,qBAAqB;MACzCG,QAAQ,EAAE;QAAEE,KAAK,EAAEC,MAAM,CAACD,KAAK;MAAE;IACrC,CAAC,CAAC;EACN;EAEAE,GAAGA,CAACF,KAAa,EAAEL,OAAgB,EAAQ;IACvC,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,KAAK;MACXF,OAAO,EAAEA,OAAO,IAAI,qBAAqB;MACzCG,QAAQ,EAAE;QAAEE,KAAK,EAAEC,MAAM,CAACD,KAAK;MAAE;IACrC,CAAC,CAAC;EACN;AACJ;AAEA,MAAMG,sBAAsB,CAA8B;EAC7CC,IAAI,GAAG,QAAQ;EAExBC,MAAMA,CAAA,EAAwB;IAC1B,OAAO,IAAIb,kBAAkB,CAAC,CAAC;EACnC;AACJ;AAEA,OAAO,MAAMc,eAAe,GAAGhB,SAAS,CAACiB,oBAAoB,CAAC;EAC1DC,cAAc,EAAEL,sBAAsB;EACtCM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
@@ -1,14 +1,14 @@
1
1
  import { type IFieldTypeFactory } from "./abstractions.js";
2
2
  import { BaseFieldBuilder } from "./BaseFieldBuilder.js";
3
- import { FieldBuilder } from "./FieldBuilder.js";
3
+ import { DataFieldBuilder } from "./FieldBuilder.js";
4
4
  import { FieldBuilderRegistry } from "../abstractions.js";
5
5
  import { LayoutBuilder } from "../LayoutBuilder.js";
6
- export interface IObjectFieldBuilder extends FieldBuilder<"object"> {
6
+ export interface IObjectFieldBuilder extends DataFieldBuilder<"object"> {
7
7
  required(message?: string): this;
8
8
  fields(builder: (registry: FieldBuilderRegistry.Interface) => Record<string, BaseFieldBuilder<any>>): this;
9
9
  layout(layoutOrBuilder: string[][] | ((builder: LayoutBuilder) => void)): this;
10
10
  }
11
- export declare class ObjectFieldBuilder extends FieldBuilder<"object"> implements IObjectFieldBuilder {
11
+ export declare class ObjectFieldBuilder extends DataFieldBuilder<"object"> implements IObjectFieldBuilder {
12
12
  private registry;
13
13
  private layoutBuilder;
14
14
  private fieldBuildersMap;
@@ -1,7 +1,7 @@
1
1
  import { FieldType } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
3
  import { LayoutBuilder } from "../LayoutBuilder.js";
4
- export class ObjectFieldBuilder extends FieldBuilder {
4
+ export class ObjectFieldBuilder extends DataFieldBuilder {
5
5
  fieldBuildersMap = new Map();
6
6
  constructor(registry) {
7
7
  super("object");
@@ -1 +1 @@
1
- {"version":3,"names":["FieldType","FieldBuilder","LayoutBuilder","ObjectFieldBuilder","fieldBuildersMap","Map","constructor","registry","layoutBuilder","required","message","validation","name","config","push","fields","builder","existingFields","fieldBuilders","key","fieldBuilder","Object","entries","fieldId","set","layout","layoutOrBuilder","Array","isArray","setLayout","addModifier","build","settings","layoutReplacements","result","type","layoutCell","field","rawLayout","map","row","cell","get","ObjectFieldTypeFactory","create","ObjectFieldType","createImplementation","implementation","dependencies"],"sources":["ObjectFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { BaseFieldBuilder } from \"./BaseFieldBuilder.js\";\nimport { FieldBuilder } from \"./FieldBuilder.js\";\nimport { FieldBuilderRegistry } from \"../abstractions.js\";\nimport { LayoutBuilder } from \"../LayoutBuilder.js\";\nimport type { CmsModelField, CmsModelLayoutCell } from \"~/types/index.js\";\n\nexport interface IObjectFieldBuilder extends FieldBuilder<\"object\"> {\n required(message?: string): this;\n fields(\n builder: (registry: FieldBuilderRegistry.Interface) => Record<string, BaseFieldBuilder<any>>\n ): this;\n layout(layoutOrBuilder: string[][] | ((builder: LayoutBuilder) => void)): this;\n}\n\nexport class ObjectFieldBuilder extends FieldBuilder<\"object\"> implements IObjectFieldBuilder {\n private layoutBuilder: LayoutBuilder;\n private fieldBuildersMap = new Map<string, BaseFieldBuilder<any>>();\n\n public constructor(private registry: FieldBuilderRegistry.Interface) {\n super(\"object\");\n this.layoutBuilder = new LayoutBuilder();\n }\n\n required(message?: string): this {\n const validation = {\n name: \"required\",\n message: message || \"Value is required.\"\n };\n this.config.validation = this.config.validation || [];\n this.config.validation.push(validation);\n return this;\n }\n\n fields(\n builder: (registry: FieldBuilderRegistry.Interface) => Record<string, BaseFieldBuilder<any>>\n ): this {\n // Pass existing fields to registry so it can return them when extending\n (this.registry as any).existingFields = this.fieldBuildersMap;\n\n const fieldBuilders = builder(this.registry);\n for (const [key, fieldBuilder] of Object.entries(fieldBuilders)) {\n // Automatically set the fieldId from the object key\n fieldBuilder.fieldId(key);\n // Store builder (not built field)\n this.fieldBuildersMap.set(key, fieldBuilder);\n }\n\n return this;\n }\n\n layout(layoutOrBuilder: string[][] | ((builder: LayoutBuilder) => void)): this {\n if (Array.isArray(layoutOrBuilder)) {\n // Set base layout and clear modifiers\n this.layoutBuilder.setLayout(layoutOrBuilder);\n } else {\n // Queue the modifier callback\n this.layoutBuilder.addModifier(layoutOrBuilder);\n }\n\n return this;\n }\n\n override build() {\n this.config.settings = this.config.settings || {};\n\n // Build nested fields, separating data fields from layout fields\n const fields: CmsModelField[] = [];\n const layoutReplacements = new Map<string, CmsModelLayoutCell>();\n\n for (const [fieldId, builder] of this.fieldBuildersMap) {\n const result = builder.build();\n if (result.type === \"layout\") {\n layoutReplacements.set(fieldId, result.layoutCell);\n if (result.fields) {\n fields.push(...result.fields);\n }\n } else {\n fields.push(result.field);\n }\n }\n\n this.config.settings.fields = fields;\n\n // Build layout and apply replacements\n const rawLayout = this.layoutBuilder.build();\n this.config.settings.layout = rawLayout.map(row =>\n row.map(cell => layoutReplacements.get(cell) ?? cell)\n );\n\n return super.build();\n }\n}\n\nclass ObjectFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"object\";\n\n create(registry: FieldBuilderRegistry.Interface): IObjectFieldBuilder {\n return new ObjectFieldBuilder(registry);\n }\n}\n\nexport const ObjectFieldType = FieldType.createImplementation({\n implementation: ObjectFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n object(): IObjectFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAElB,SAASC,YAAY;AAErB,SAASC,aAAa;AAWtB,OAAO,MAAMC,kBAAkB,SAASF,YAAY,CAA0C;EAElFG,gBAAgB,GAAG,IAAIC,GAAG,CAAgC,CAAC;EAE5DC,WAAWA,CAASC,QAAwC,EAAE;IACjE,KAAK,CAAC,QAAQ,CAAC;IAAC,KADOA,QAAwC,GAAxCA,QAAwC;IAE/D,IAAI,CAACC,aAAa,GAAG,IAAIN,aAAa,CAAC,CAAC;EAC5C;EAEAO,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,MAAMC,UAAU,GAAG;MACfC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI;IACxB,CAAC;IACD,IAAI,CAACG,MAAM,CAACF,UAAU,GAAG,IAAI,CAACE,MAAM,CAACF,UAAU,IAAI,EAAE;IACrD,IAAI,CAACE,MAAM,CAACF,UAAU,CAACG,IAAI,CAACH,UAAU,CAAC;IACvC,OAAO,IAAI;EACf;EAEAI,MAAMA,CACFC,OAA4F,EACxF;IACJ;IACC,IAAI,CAACT,QAAQ,CAASU,cAAc,GAAG,IAAI,CAACb,gBAAgB;IAE7D,MAAMc,aAAa,GAAGF,OAAO,CAAC,IAAI,CAACT,QAAQ,CAAC;IAC5C,KAAK,MAAM,CAACY,GAAG,EAAEC,YAAY,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,aAAa,CAAC,EAAE;MAC7D;MACAE,YAAY,CAACG,OAAO,CAACJ,GAAG,CAAC;MACzB;MACA,IAAI,CAACf,gBAAgB,CAACoB,GAAG,CAACL,GAAG,EAAEC,YAAY,CAAC;IAChD;IAEA,OAAO,IAAI;EACf;EAEAK,MAAMA,CAACC,eAAgE,EAAQ;IAC3E,IAAIC,KAAK,CAACC,OAAO,CAACF,eAAe,CAAC,EAAE;MAChC;MACA,IAAI,CAAClB,aAAa,CAACqB,SAAS,CAACH,eAAe,CAAC;IACjD,CAAC,MAAM;MACH;MACA,IAAI,CAAClB,aAAa,CAACsB,WAAW,CAACJ,eAAe,CAAC;IACnD;IAEA,OAAO,IAAI;EACf;EAESK,KAAKA,CAAA,EAAG;IACb,IAAI,CAAClB,MAAM,CAACmB,QAAQ,GAAG,IAAI,CAACnB,MAAM,CAACmB,QAAQ,IAAI,CAAC,CAAC;;IAEjD;IACA,MAAMjB,MAAuB,GAAG,EAAE;IAClC,MAAMkB,kBAAkB,GAAG,IAAI5B,GAAG,CAA6B,CAAC;IAEhE,KAAK,MAAM,CAACkB,OAAO,EAAEP,OAAO,CAAC,IAAI,IAAI,CAACZ,gBAAgB,EAAE;MACpD,MAAM8B,MAAM,GAAGlB,OAAO,CAACe,KAAK,CAAC,CAAC;MAC9B,IAAIG,MAAM,CAACC,IAAI,KAAK,QAAQ,EAAE;QAC1BF,kBAAkB,CAACT,GAAG,CAACD,OAAO,EAAEW,MAAM,CAACE,UAAU,CAAC;QAClD,IAAIF,MAAM,CAACnB,MAAM,EAAE;UACfA,MAAM,CAACD,IAAI,CAAC,GAAGoB,MAAM,CAACnB,MAAM,CAAC;QACjC;MACJ,CAAC,MAAM;QACHA,MAAM,CAACD,IAAI,CAACoB,MAAM,CAACG,KAAK,CAAC;MAC7B;IACJ;IAEA,IAAI,CAACxB,MAAM,CAACmB,QAAQ,CAACjB,MAAM,GAAGA,MAAM;;IAEpC;IACA,MAAMuB,SAAS,GAAG,IAAI,CAAC9B,aAAa,CAACuB,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAClB,MAAM,CAACmB,QAAQ,CAACP,MAAM,GAAGa,SAAS,CAACC,GAAG,CAACC,GAAG,IAC3CA,GAAG,CAACD,GAAG,CAACE,IAAI,IAAIR,kBAAkB,CAACS,GAAG,CAACD,IAAI,CAAC,IAAIA,IAAI,CACxD,CAAC;IAED,OAAO,KAAK,CAACV,KAAK,CAAC,CAAC;EACxB;AACJ;AAEA,MAAMY,sBAAsB,CAA8B;EAC7CR,IAAI,GAAG,QAAQ;EAExBS,MAAMA,CAACrC,QAAwC,EAAuB;IAClE,OAAO,IAAIJ,kBAAkB,CAACI,QAAQ,CAAC;EAC3C;AACJ;AAEA,OAAO,MAAMsC,eAAe,GAAG7C,SAAS,CAAC8C,oBAAoB,CAAC;EAC1DC,cAAc,EAAEJ,sBAAsB;EACtCK,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
1
+ {"version":3,"names":["FieldType","DataFieldBuilder","LayoutBuilder","ObjectFieldBuilder","fieldBuildersMap","Map","constructor","registry","layoutBuilder","required","message","validation","name","config","push","fields","builder","existingFields","fieldBuilders","key","fieldBuilder","Object","entries","fieldId","set","layout","layoutOrBuilder","Array","isArray","setLayout","addModifier","build","settings","layoutReplacements","result","type","layoutCell","field","rawLayout","map","row","cell","get","ObjectFieldTypeFactory","create","ObjectFieldType","createImplementation","implementation","dependencies"],"sources":["ObjectFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { BaseFieldBuilder } from \"./BaseFieldBuilder.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport { FieldBuilderRegistry } from \"../abstractions.js\";\nimport { LayoutBuilder } from \"../LayoutBuilder.js\";\nimport type { CmsModelField, CmsModelLayoutCell } from \"~/types/index.js\";\n\nexport interface IObjectFieldBuilder extends DataFieldBuilder<\"object\"> {\n required(message?: string): this;\n fields(\n builder: (registry: FieldBuilderRegistry.Interface) => Record<string, BaseFieldBuilder<any>>\n ): this;\n layout(layoutOrBuilder: string[][] | ((builder: LayoutBuilder) => void)): this;\n}\n\nexport class ObjectFieldBuilder extends DataFieldBuilder<\"object\"> implements IObjectFieldBuilder {\n private layoutBuilder: LayoutBuilder;\n private fieldBuildersMap = new Map<string, BaseFieldBuilder<any>>();\n\n public constructor(private registry: FieldBuilderRegistry.Interface) {\n super(\"object\");\n this.layoutBuilder = new LayoutBuilder();\n }\n\n required(message?: string): this {\n const validation = {\n name: \"required\",\n message: message || \"Value is required.\"\n };\n this.config.validation = this.config.validation || [];\n this.config.validation.push(validation);\n return this;\n }\n\n fields(\n builder: (registry: FieldBuilderRegistry.Interface) => Record<string, BaseFieldBuilder<any>>\n ): this {\n // Pass existing fields to registry so it can return them when extending\n (this.registry as any).existingFields = this.fieldBuildersMap;\n\n const fieldBuilders = builder(this.registry);\n for (const [key, fieldBuilder] of Object.entries(fieldBuilders)) {\n // Automatically set the fieldId from the object key\n fieldBuilder.fieldId(key);\n // Store builder (not built field)\n this.fieldBuildersMap.set(key, fieldBuilder);\n }\n\n return this;\n }\n\n layout(layoutOrBuilder: string[][] | ((builder: LayoutBuilder) => void)): this {\n if (Array.isArray(layoutOrBuilder)) {\n // Set base layout and clear modifiers\n this.layoutBuilder.setLayout(layoutOrBuilder);\n } else {\n // Queue the modifier callback\n this.layoutBuilder.addModifier(layoutOrBuilder);\n }\n\n return this;\n }\n\n override build() {\n this.config.settings = this.config.settings || {};\n\n // Build nested fields, separating data fields from layout fields\n const fields: CmsModelField[] = [];\n const layoutReplacements = new Map<string, CmsModelLayoutCell>();\n\n for (const [fieldId, builder] of this.fieldBuildersMap) {\n const result = builder.build();\n if (result.type === \"layout\") {\n layoutReplacements.set(fieldId, result.layoutCell);\n if (result.fields) {\n fields.push(...result.fields);\n }\n } else {\n fields.push(result.field);\n }\n }\n\n this.config.settings.fields = fields;\n\n // Build layout and apply replacements\n const rawLayout = this.layoutBuilder.build();\n this.config.settings.layout = rawLayout.map(row =>\n row.map(cell => layoutReplacements.get(cell) ?? cell)\n );\n\n return super.build();\n }\n}\n\nclass ObjectFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"object\";\n\n create(registry: FieldBuilderRegistry.Interface): IObjectFieldBuilder {\n return new ObjectFieldBuilder(registry);\n }\n}\n\nexport const ObjectFieldType = FieldType.createImplementation({\n implementation: ObjectFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n object(): IObjectFieldBuilder;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { type IFieldTypeFactory } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- import { RequiredValidator, ListMinLengthValidator, ListMaxLengthValidator } from "./validators.js";
4
- export interface IRefFieldBuilder extends FieldBuilder<"ref">, RequiredValidator, ListMinLengthValidator, ListMaxLengthValidator {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ import type { FieldTypeValidator } from "./fieldTypeValidator.js";
4
+ export interface IRefFieldBuilder extends DataFieldBuilder<"ref">, FieldTypeValidator.Required, FieldTypeValidator.ListMinLength, FieldTypeValidator.ListMaxLength {
5
5
  models(models: Array<{
6
6
  modelId: string;
7
7
  }>): this;
@@ -1,6 +1,6 @@
1
1
  import { FieldType } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- class RefFieldBuilder extends FieldBuilder {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ class RefFieldBuilder extends DataFieldBuilder {
4
4
  constructor() {
5
5
  super("ref");
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"names":["FieldType","FieldBuilder","RefFieldBuilder","constructor","required","message","validation","name","settings","models","config","RefFieldTypeFactory","type","create","RefFieldType","createImplementation","implementation","dependencies"],"sources":["RefFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { FieldBuilder } from \"./FieldBuilder.js\";\nimport { RequiredValidator, ListMinLengthValidator, ListMaxLengthValidator } from \"./validators.js\";\n\nexport interface IRefFieldBuilder\n extends FieldBuilder<\"ref\">,\n RequiredValidator,\n ListMinLengthValidator,\n ListMaxLengthValidator {\n models(models: Array<{ modelId: string }>): this;\n}\n\nclass RefFieldBuilder extends FieldBuilder<\"ref\"> implements IRefFieldBuilder {\n public constructor() {\n super(\"ref\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n models(models: Array<{ modelId: string }>): this {\n this.config.settings = this.config.settings || {};\n this.config.settings.models = models;\n return this;\n }\n}\n\nclass RefFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"ref\";\n\n create(): IRefFieldBuilder {\n return new RefFieldBuilder();\n }\n}\n\nexport const RefFieldType = FieldType.createImplementation({\n implementation: RefFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n ref(): IRefFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,YAAY;AAWrB,MAAMC,eAAe,SAASD,YAAY,CAAoC;EACnEE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,KAAK,CAAC;EAChB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEAC,MAAMA,CAACA,MAAkC,EAAQ;IAC7C,IAAI,CAACC,MAAM,CAACF,QAAQ,GAAG,IAAI,CAACE,MAAM,CAACF,QAAQ,IAAI,CAAC,CAAC;IACjD,IAAI,CAACE,MAAM,CAACF,QAAQ,CAACC,MAAM,GAAGA,MAAM;IACpC,OAAO,IAAI;EACf;AACJ;AAEA,MAAME,mBAAmB,CAA8B;EAC1CC,IAAI,GAAG,KAAK;EAErBC,MAAMA,CAAA,EAAqB;IACvB,OAAO,IAAIX,eAAe,CAAC,CAAC;EAChC;AACJ;AAEA,OAAO,MAAMY,YAAY,GAAGd,SAAS,CAACe,oBAAoB,CAAC;EACvDC,cAAc,EAAEL,mBAAmB;EACnCM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
1
+ {"version":3,"names":["FieldType","DataFieldBuilder","RefFieldBuilder","constructor","required","message","validation","name","settings","models","config","RefFieldTypeFactory","type","create","RefFieldType","createImplementation","implementation","dependencies"],"sources":["RefFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport type { FieldTypeValidator } from \"./fieldTypeValidator.js\";\n\nexport interface IRefFieldBuilder\n extends DataFieldBuilder<\"ref\">,\n FieldTypeValidator.Required,\n FieldTypeValidator.ListMinLength,\n FieldTypeValidator.ListMaxLength {\n models(models: Array<{ modelId: string }>): this;\n}\n\nclass RefFieldBuilder extends DataFieldBuilder<\"ref\"> implements IRefFieldBuilder {\n public constructor() {\n super(\"ref\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n models(models: Array<{ modelId: string }>): this {\n this.config.settings = this.config.settings || {};\n this.config.settings.models = models;\n return this;\n }\n}\n\nclass RefFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"ref\";\n\n create(): IRefFieldBuilder {\n return new RefFieldBuilder();\n }\n}\n\nexport const RefFieldType = FieldType.createImplementation({\n implementation: RefFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n ref(): IRefFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,gBAAgB;AAWzB,MAAMC,eAAe,SAASD,gBAAgB,CAAoC;EACvEE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,KAAK,CAAC;EAChB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEAC,MAAMA,CAACA,MAAkC,EAAQ;IAC7C,IAAI,CAACC,MAAM,CAACF,QAAQ,GAAG,IAAI,CAACE,MAAM,CAACF,QAAQ,IAAI,CAAC,CAAC;IACjD,IAAI,CAACE,MAAM,CAACF,QAAQ,CAACC,MAAM,GAAGA,MAAM;IACpC,OAAO,IAAI;EACf;AACJ;AAEA,MAAME,mBAAmB,CAA8B;EAC1CC,IAAI,GAAG,KAAK;EAErBC,MAAMA,CAAA,EAAqB;IACvB,OAAO,IAAIX,eAAe,CAAC,CAAC;EAChC;AACJ;AAEA,OAAO,MAAMY,YAAY,GAAGd,SAAS,CAACe,oBAAoB,CAAC;EACvDC,cAAc,EAAEL,mBAAmB;EACnCM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { type IFieldTypeFactory } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- export interface IRichTextFieldBuilder extends FieldBuilder<"rich-text"> {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ export interface IRichTextFieldBuilder extends DataFieldBuilder<"rich-text"> {
4
4
  required(message?: string): this;
5
5
  }
6
6
  declare class RichTextFieldTypeFactory implements IFieldTypeFactory {
@@ -1,6 +1,6 @@
1
1
  import { FieldType } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- class RichTextFieldBuilder extends FieldBuilder {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ class RichTextFieldBuilder extends DataFieldBuilder {
4
4
  constructor() {
5
5
  super("rich-text");
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"names":["FieldType","FieldBuilder","RichTextFieldBuilder","constructor","required","message","validation","name","settings","RichTextFieldTypeFactory","type","create","RichTextFieldType","createImplementation","implementation","dependencies"],"sources":["RichTextFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { FieldBuilder } from \"./FieldBuilder.js\";\n\nexport interface IRichTextFieldBuilder extends FieldBuilder<\"rich-text\"> {\n required(message?: string): this;\n}\n\nclass RichTextFieldBuilder extends FieldBuilder<\"rich-text\"> implements IRichTextFieldBuilder {\n public constructor() {\n super(\"rich-text\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Field is required\",\n settings: {}\n });\n }\n}\n\nclass RichTextFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"rich-text\";\n\n create(): IRichTextFieldBuilder {\n return new RichTextFieldBuilder();\n }\n}\n\nexport const RichTextFieldType = FieldType.createImplementation({\n implementation: RichTextFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n \"rich-text\"(): IRichTextFieldBuilder;\n richText(): IRichTextFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,YAAY;AAMrB,MAAMC,oBAAoB,SAASD,YAAY,CAA+C;EACnFE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,WAAW,CAAC;EACtB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,mBAAmB;MACvCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;AACJ;AAEA,MAAMC,wBAAwB,CAA8B;EAC/CC,IAAI,GAAG,WAAW;EAE3BC,MAAMA,CAAA,EAA0B;IAC5B,OAAO,IAAIT,oBAAoB,CAAC,CAAC;EACrC;AACJ;AAEA,OAAO,MAAMU,iBAAiB,GAAGZ,SAAS,CAACa,oBAAoB,CAAC;EAC5DC,cAAc,EAAEL,wBAAwB;EACxCM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
1
+ {"version":3,"names":["FieldType","DataFieldBuilder","RichTextFieldBuilder","constructor","required","message","validation","name","settings","RichTextFieldTypeFactory","type","create","RichTextFieldType","createImplementation","implementation","dependencies"],"sources":["RichTextFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\n\nexport interface IRichTextFieldBuilder extends DataFieldBuilder<\"rich-text\"> {\n required(message?: string): this;\n}\n\nclass RichTextFieldBuilder extends DataFieldBuilder<\"rich-text\"> implements IRichTextFieldBuilder {\n public constructor() {\n super(\"rich-text\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Field is required\",\n settings: {}\n });\n }\n}\n\nclass RichTextFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"rich-text\";\n\n create(): IRichTextFieldBuilder {\n return new RichTextFieldBuilder();\n }\n}\n\nexport const RichTextFieldType = FieldType.createImplementation({\n implementation: RichTextFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n \"rich-text\"(): IRichTextFieldBuilder;\n richText(): IRichTextFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,gBAAgB;AAMzB,MAAMC,oBAAoB,SAASD,gBAAgB,CAA+C;EACvFE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,WAAW,CAAC;EACtB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,mBAAmB;MACvCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;AACJ;AAEA,MAAMC,wBAAwB,CAA8B;EAC/CC,IAAI,GAAG,WAAW;EAE3BC,MAAMA,CAAA,EAA0B;IAC5B,OAAO,IAAIT,oBAAoB,CAAC,CAAC;EACrC;AACJ;AAEA,OAAO,MAAMU,iBAAiB,GAAGZ,SAAS,CAACa,oBAAoB,CAAC;EAC5DC,cAAc,EAAEL,wBAAwB;EACxCM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { type IFieldTypeFactory } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- export interface ISearchableJsonFieldBuilder extends FieldBuilder<"searchable-json"> {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ export interface ISearchableJsonFieldBuilder extends DataFieldBuilder<"searchable-json"> {
4
4
  }
5
5
  declare class SearchableJsonFieldTypeFactory implements IFieldTypeFactory {
6
6
  readonly type = "searchable-json";
@@ -1,6 +1,6 @@
1
1
  import { FieldType } from "./abstractions.js";
2
- import { FieldBuilder } from "./FieldBuilder.js";
3
- class SearchableJsonFieldBuilder extends FieldBuilder {
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
+ class SearchableJsonFieldBuilder extends DataFieldBuilder {
4
4
  constructor() {
5
5
  super("searchable-json");
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"names":["FieldType","FieldBuilder","SearchableJsonFieldBuilder","constructor","SearchableJsonFieldTypeFactory","type","create","SearchableJsonFieldType","createImplementation","implementation","dependencies"],"sources":["SearchableJsonFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { FieldBuilder } from \"./FieldBuilder.js\";\n\nexport interface ISearchableJsonFieldBuilder extends FieldBuilder<\"searchable-json\"> {}\n\nclass SearchableJsonFieldBuilder\n extends FieldBuilder<\"searchable-json\">\n implements ISearchableJsonFieldBuilder\n{\n public constructor() {\n super(\"searchable-json\");\n }\n}\n\nclass SearchableJsonFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"searchable-json\";\n\n create(): ISearchableJsonFieldBuilder {\n return new SearchableJsonFieldBuilder();\n }\n}\n\nexport const SearchableJsonFieldType = FieldType.createImplementation({\n implementation: SearchableJsonFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n searchableJson(): ISearchableJsonFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,YAAY;AAIrB,MAAMC,0BAA0B,SACpBD,YAAY,CAExB;EACWE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,iBAAiB,CAAC;EAC5B;AACJ;AAEA,MAAMC,8BAA8B,CAA8B;EACrDC,IAAI,GAAG,iBAAiB;EAEjCC,MAAMA,CAAA,EAAgC;IAClC,OAAO,IAAIJ,0BAA0B,CAAC,CAAC;EAC3C;AACJ;AAEA,OAAO,MAAMK,uBAAuB,GAAGP,SAAS,CAACQ,oBAAoB,CAAC;EAClEC,cAAc,EAAEL,8BAA8B;EAC9CM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
1
+ {"version":3,"names":["FieldType","DataFieldBuilder","SearchableJsonFieldBuilder","constructor","SearchableJsonFieldTypeFactory","type","create","SearchableJsonFieldType","createImplementation","implementation","dependencies"],"sources":["SearchableJsonFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\n\nexport interface ISearchableJsonFieldBuilder extends DataFieldBuilder<\"searchable-json\"> {}\n\nclass SearchableJsonFieldBuilder\n extends DataFieldBuilder<\"searchable-json\">\n implements ISearchableJsonFieldBuilder\n{\n public constructor() {\n super(\"searchable-json\");\n }\n}\n\nclass SearchableJsonFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"searchable-json\";\n\n create(): ISearchableJsonFieldBuilder {\n return new SearchableJsonFieldBuilder();\n }\n}\n\nexport const SearchableJsonFieldType = FieldType.createImplementation({\n implementation: SearchableJsonFieldTypeFactory,\n dependencies: []\n});\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n searchableJson(): ISearchableJsonFieldBuilder;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,gBAAgB;AAIzB,MAAMC,0BAA0B,SACpBD,gBAAgB,CAE5B;EACWE,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,iBAAiB,CAAC;EAC5B;AACJ;AAEA,MAAMC,8BAA8B,CAA8B;EACrDC,IAAI,GAAG,iBAAiB;EAEjCC,MAAMA,CAAA,EAAgC;IAClC,OAAO,IAAIJ,0BAA0B,CAAC,CAAC;EAC3C;AACJ;AAEA,OAAO,MAAMK,uBAAuB,GAAGP,SAAS,CAACQ,oBAAoB,CAAC;EAClEC,cAAc,EAAEL,8BAA8B;EAC9CM,YAAY,EAAE;AAClB,CAAC,CAAC;;AAEF","ignoreList":[]}
@@ -1,7 +1,7 @@
1
- import { FieldBuilder } from "./FieldBuilder.js";
1
+ import { DataFieldBuilder } from "./FieldBuilder.js";
2
2
  import { type IFieldTypeFactory } from "./abstractions.js";
3
- import { RequiredValidator, MinLengthValidator, MaxLengthValidator, PatternValidator, EmailValidator, UrlValidator, LowerCaseValidator, UpperCaseValidator, LowerCaseSpaceValidator, UpperCaseSpaceValidator, UniqueValidator } from "./validators.js";
4
- export interface ITextFieldBuilder extends FieldBuilder<"text">, RequiredValidator, MinLengthValidator, MaxLengthValidator, PatternValidator, EmailValidator, UrlValidator, LowerCaseValidator, UpperCaseValidator, LowerCaseSpaceValidator, UpperCaseSpaceValidator, UniqueValidator {
3
+ import type { FieldTypeValidator } from "./fieldTypeValidator.js";
4
+ export interface ITextFieldBuilder extends DataFieldBuilder<"text">, FieldTypeValidator.Required, FieldTypeValidator.MinLength, FieldTypeValidator.MaxLength, FieldTypeValidator.Pattern, FieldTypeValidator.Email, FieldTypeValidator.Url, FieldTypeValidator.LowerCase, FieldTypeValidator.UpperCase, FieldTypeValidator.LowerCaseSpace, FieldTypeValidator.UpperCaseSpace, FieldTypeValidator.Unique {
5
5
  }
6
6
  declare module "../abstractions.js" {
7
7
  interface IFieldBuilderRegistry {
@@ -1,10 +1,10 @@
1
1
  import { createImplementation } from "@webiny/feature/api";
2
- import { FieldBuilder } from "./FieldBuilder.js";
2
+ import { DataFieldBuilder } from "./FieldBuilder.js";
3
3
  import { FieldType } from "./abstractions.js";
4
4
 
5
5
  // Module augmentation for TypeScript autocomplete
6
6
 
7
- class TextFieldBuilder extends FieldBuilder {
7
+ class TextFieldBuilder extends DataFieldBuilder {
8
8
  constructor() {
9
9
  super("text");
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","FieldBuilder","FieldType","TextFieldBuilder","constructor","required","message","validation","name","settings","minLength","value","String","maxLength","pattern","regex","flags","preset","email","url","lowerCase","upperCase","lowerCaseSpace","upperCaseSpace","unique","TextFieldTypeFactory","type","create","TextFieldType","abstraction","implementation","dependencies"],"sources":["TextFieldType.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { FieldBuilder } from \"./FieldBuilder.js\";\nimport { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport {\n RequiredValidator,\n MinLengthValidator,\n MaxLengthValidator,\n PatternValidator,\n EmailValidator,\n UrlValidator,\n LowerCaseValidator,\n UpperCaseValidator,\n LowerCaseSpaceValidator,\n UpperCaseSpaceValidator,\n UniqueValidator\n} from \"./validators.js\";\n\nexport interface ITextFieldBuilder\n extends FieldBuilder<\"text\">,\n RequiredValidator,\n MinLengthValidator,\n MaxLengthValidator,\n PatternValidator,\n EmailValidator,\n UrlValidator,\n LowerCaseValidator,\n UpperCaseValidator,\n LowerCaseSpaceValidator,\n UpperCaseSpaceValidator,\n UniqueValidator {}\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n text(): ITextFieldBuilder;\n }\n}\n\nclass TextFieldBuilder extends FieldBuilder<\"text\"> implements ITextFieldBuilder {\n public constructor() {\n super(\"text\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n minLength(value: number, message?: string): this {\n return this.validation({\n name: \"minLength\",\n message: message || \"Value is too short.\",\n settings: { value: String(value) }\n });\n }\n\n maxLength(value: number, message?: string): this {\n return this.validation({\n name: \"maxLength\",\n message: message || \"Value is too long.\",\n settings: { value: String(value) }\n });\n }\n\n pattern(regex: string, flags: string = \"\", message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Invalid value.\",\n settings: {\n preset: \"custom\",\n regex,\n flags\n }\n });\n }\n\n email(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid e-mail.\",\n settings: {\n preset: \"email\",\n regex: null,\n flags: null\n }\n });\n }\n\n url(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid URL.\",\n settings: {\n preset: \"url\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters are allowed.\",\n settings: {\n preset: \"lowerCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters are allowed.\",\n settings: {\n preset: \"upperCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters and space are allowed.\",\n settings: {\n preset: \"lowerCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters and space are allowed.\",\n settings: {\n preset: \"upperCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n\n unique(message?: string): this {\n return this.validation({\n name: \"unique\",\n message: message || \"Value must be unique.\",\n settings: {}\n });\n }\n}\n\nclass TextFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"text\";\n\n create(): ITextFieldBuilder {\n return new TextFieldBuilder();\n }\n}\n\nexport const TextFieldType = createImplementation({\n abstraction: FieldType,\n implementation: TextFieldTypeFactory,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,YAAY;AACrB,SAASC,SAAS;;AA6BlB;;AAOA,MAAMC,gBAAgB,SAASF,YAAY,CAAsC;EACtEG,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,MAAM,CAAC;EACjB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEAC,SAASA,CAACC,KAAa,EAAEL,OAAgB,EAAQ;IAC7C,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,WAAW;MACjBF,OAAO,EAAEA,OAAO,IAAI,qBAAqB;MACzCG,QAAQ,EAAE;QAAEE,KAAK,EAAEC,MAAM,CAACD,KAAK;MAAE;IACrC,CAAC,CAAC;EACN;EAEAE,SAASA,CAACF,KAAa,EAAEL,OAAgB,EAAQ;IAC7C,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,WAAW;MACjBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE;QAAEE,KAAK,EAAEC,MAAM,CAACD,KAAK;MAAE;IACrC,CAAC,CAAC;EACN;EAEAG,OAAOA,CAACC,KAAa,EAAEC,KAAa,GAAG,EAAE,EAAEV,OAAgB,EAAQ;IAC/D,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,gBAAgB;MACpCG,QAAQ,EAAE;QACNQ,MAAM,EAAE,QAAQ;QAChBF,KAAK;QACLC;MACJ;IACJ,CAAC,CAAC;EACN;EAEAE,KAAKA,CAACZ,OAAgB,EAAQ;IAC1B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,8BAA8B;MAClDG,QAAQ,EAAE;QACNQ,MAAM,EAAE,OAAO;QACfF,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;EACN;EAEAG,GAAGA,CAACb,OAAgB,EAAQ;IACxB,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,2BAA2B;MAC/CG,QAAQ,EAAE;QACNQ,MAAM,EAAE,KAAK;QACbF,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;EACN;EAEAI,SAASA,CAACd,OAAgB,EAAQ;IAC9B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,yCAAyC;MAC7DG,QAAQ,EAAE;QACNQ,MAAM,EAAE,WAAW;QACnBF,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;EACN;EAEAK,SAASA,CAACf,OAAgB,EAAQ;IAC9B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,yCAAyC;MAC7DG,QAAQ,EAAE;QACNQ,MAAM,EAAE,WAAW;QACnBF,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;EACN;EAEAM,cAAcA,CAAChB,OAAgB,EAAQ;IACnC,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,mDAAmD;MACvEG,QAAQ,EAAE;QACNQ,MAAM,EAAE,gBAAgB;QACxBF,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;EACN;EAEAO,cAAcA,CAACjB,OAAgB,EAAQ;IACnC,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,mDAAmD;MACvEG,QAAQ,EAAE;QACNQ,MAAM,EAAE,gBAAgB;QACxBF,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;EACN;EAEAQ,MAAMA,CAAClB,OAAgB,EAAQ;IAC3B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,QAAQ;MACdF,OAAO,EAAEA,OAAO,IAAI,uBAAuB;MAC3CG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;AACJ;AAEA,MAAMgB,oBAAoB,CAA8B;EAC3CC,IAAI,GAAG,MAAM;EAEtBC,MAAMA,CAAA,EAAsB;IACxB,OAAO,IAAIxB,gBAAgB,CAAC,CAAC;EACjC;AACJ;AAEA,OAAO,MAAMyB,aAAa,GAAG5B,oBAAoB,CAAC;EAC9C6B,WAAW,EAAE3B,SAAS;EACtB4B,cAAc,EAAEL,oBAAoB;EACpCM,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createImplementation","DataFieldBuilder","FieldType","TextFieldBuilder","constructor","required","message","validation","name","settings","minLength","value","String","maxLength","pattern","regex","flags","preset","email","url","lowerCase","upperCase","lowerCaseSpace","upperCaseSpace","unique","TextFieldTypeFactory","type","create","TextFieldType","abstraction","implementation","dependencies"],"sources":["TextFieldType.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { DataFieldBuilder } from \"./FieldBuilder.js\";\nimport { FieldType, type IFieldTypeFactory } from \"./abstractions.js\";\nimport type { FieldTypeValidator } from \"./fieldTypeValidator.js\";\n\nexport interface ITextFieldBuilder\n extends DataFieldBuilder<\"text\">,\n FieldTypeValidator.Required,\n FieldTypeValidator.MinLength,\n FieldTypeValidator.MaxLength,\n FieldTypeValidator.Pattern,\n FieldTypeValidator.Email,\n FieldTypeValidator.Url,\n FieldTypeValidator.LowerCase,\n FieldTypeValidator.UpperCase,\n FieldTypeValidator.LowerCaseSpace,\n FieldTypeValidator.UpperCaseSpace,\n FieldTypeValidator.Unique {}\n\n// Module augmentation for TypeScript autocomplete\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n text(): ITextFieldBuilder;\n }\n}\n\nclass TextFieldBuilder extends DataFieldBuilder<\"text\"> implements ITextFieldBuilder {\n public constructor() {\n super(\"text\");\n }\n\n required(message?: string): this {\n return this.validation({\n name: \"required\",\n message: message || \"Value is required.\",\n settings: {}\n });\n }\n\n minLength(value: number, message?: string): this {\n return this.validation({\n name: \"minLength\",\n message: message || \"Value is too short.\",\n settings: { value: String(value) }\n });\n }\n\n maxLength(value: number, message?: string): this {\n return this.validation({\n name: \"maxLength\",\n message: message || \"Value is too long.\",\n settings: { value: String(value) }\n });\n }\n\n pattern(regex: string, flags: string = \"\", message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Invalid value.\",\n settings: {\n preset: \"custom\",\n regex,\n flags\n }\n });\n }\n\n email(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid e-mail.\",\n settings: {\n preset: \"email\",\n regex: null,\n flags: null\n }\n });\n }\n\n url(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Please enter a valid URL.\",\n settings: {\n preset: \"url\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters are allowed.\",\n settings: {\n preset: \"lowerCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCase(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters are allowed.\",\n settings: {\n preset: \"upperCase\",\n regex: null,\n flags: null\n }\n });\n }\n\n lowerCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only lower case characters and space are allowed.\",\n settings: {\n preset: \"lowerCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n\n upperCaseSpace(message?: string): this {\n return this.validation({\n name: \"pattern\",\n message: message || \"Only upper case characters and space are allowed.\",\n settings: {\n preset: \"upperCaseSpace\",\n regex: null,\n flags: null\n }\n });\n }\n\n unique(message?: string): this {\n return this.validation({\n name: \"unique\",\n message: message || \"Value must be unique.\",\n settings: {}\n });\n }\n}\n\nclass TextFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"text\";\n\n create(): ITextFieldBuilder {\n return new TextFieldBuilder();\n }\n}\n\nexport const TextFieldType = createImplementation({\n abstraction: FieldType,\n implementation: TextFieldTypeFactory,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,gBAAgB;AACzB,SAASC,SAAS;;AAiBlB;;AAOA,MAAMC,gBAAgB,SAASF,gBAAgB,CAAsC;EAC1EG,WAAWA,CAAA,EAAG;IACjB,KAAK,CAAC,MAAM,CAAC;EACjB;EAEAC,QAAQA,CAACC,OAAgB,EAAQ;IAC7B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,UAAU;MAChBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;EAEAC,SAASA,CAACC,KAAa,EAAEL,OAAgB,EAAQ;IAC7C,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,WAAW;MACjBF,OAAO,EAAEA,OAAO,IAAI,qBAAqB;MACzCG,QAAQ,EAAE;QAAEE,KAAK,EAAEC,MAAM,CAACD,KAAK;MAAE;IACrC,CAAC,CAAC;EACN;EAEAE,SAASA,CAACF,KAAa,EAAEL,OAAgB,EAAQ;IAC7C,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,WAAW;MACjBF,OAAO,EAAEA,OAAO,IAAI,oBAAoB;MACxCG,QAAQ,EAAE;QAAEE,KAAK,EAAEC,MAAM,CAACD,KAAK;MAAE;IACrC,CAAC,CAAC;EACN;EAEAG,OAAOA,CAACC,KAAa,EAAEC,KAAa,GAAG,EAAE,EAAEV,OAAgB,EAAQ;IAC/D,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,gBAAgB;MACpCG,QAAQ,EAAE;QACNQ,MAAM,EAAE,QAAQ;QAChBF,KAAK;QACLC;MACJ;IACJ,CAAC,CAAC;EACN;EAEAE,KAAKA,CAACZ,OAAgB,EAAQ;IAC1B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,8BAA8B;MAClDG,QAAQ,EAAE;QACNQ,MAAM,EAAE,OAAO;QACfF,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;EACN;EAEAG,GAAGA,CAACb,OAAgB,EAAQ;IACxB,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,2BAA2B;MAC/CG,QAAQ,EAAE;QACNQ,MAAM,EAAE,KAAK;QACbF,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;EACN;EAEAI,SAASA,CAACd,OAAgB,EAAQ;IAC9B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,yCAAyC;MAC7DG,QAAQ,EAAE;QACNQ,MAAM,EAAE,WAAW;QACnBF,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;EACN;EAEAK,SAASA,CAACf,OAAgB,EAAQ;IAC9B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,yCAAyC;MAC7DG,QAAQ,EAAE;QACNQ,MAAM,EAAE,WAAW;QACnBF,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;EACN;EAEAM,cAAcA,CAAChB,OAAgB,EAAQ;IACnC,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,mDAAmD;MACvEG,QAAQ,EAAE;QACNQ,MAAM,EAAE,gBAAgB;QACxBF,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;EACN;EAEAO,cAAcA,CAACjB,OAAgB,EAAQ;IACnC,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,SAAS;MACfF,OAAO,EAAEA,OAAO,IAAI,mDAAmD;MACvEG,QAAQ,EAAE;QACNQ,MAAM,EAAE,gBAAgB;QACxBF,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;EACN;EAEAQ,MAAMA,CAAClB,OAAgB,EAAQ;IAC3B,OAAO,IAAI,CAACC,UAAU,CAAC;MACnBC,IAAI,EAAE,QAAQ;MACdF,OAAO,EAAEA,OAAO,IAAI,uBAAuB;MAC3CG,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN;AACJ;AAEA,MAAMgB,oBAAoB,CAA8B;EAC3CC,IAAI,GAAG,MAAM;EAEtBC,MAAMA,CAAA,EAAsB;IACxB,OAAO,IAAIxB,gBAAgB,CAAC,CAAC;EACjC;AACJ;AAEA,OAAO,MAAMyB,aAAa,GAAG5B,oBAAoB,CAAC;EAC9C6B,WAAW,EAAE3B,SAAS;EACtB4B,cAAc,EAAEL,oBAAoB;EACpCM,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -10,6 +10,9 @@ export interface IFieldTypeFactory {
10
10
  create(registry: IFieldBuilderRegistry): BaseFieldBuilder<any>;
11
11
  }
12
12
  /**
13
- * Field Type abstraction - use with { multiple: true } in DI
13
+ * Use to implement new field types.
14
14
  */
15
15
  export declare const FieldType: import("@webiny/di").Abstraction<IFieldTypeFactory>;
16
+ export declare namespace FieldType {
17
+ type Factory = IFieldTypeFactory;
18
+ }
@@ -5,7 +5,7 @@ import { createAbstraction } from "@webiny/feature/api";
5
5
  */
6
6
 
7
7
  /**
8
- * Field Type abstraction - use with { multiple: true } in DI
8
+ * Use to implement new field types.
9
9
  */
10
10
  export const FieldType = createAbstraction("FieldType");
11
11
 
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","FieldType"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { BaseFieldBuilder } from \"./BaseFieldBuilder.js\";\nimport type { IFieldBuilderRegistry } from \"../abstractions.js\";\n\n/**\n * Field Type Factory - creates a field builder instance\n */\nexport interface IFieldTypeFactory {\n /** Unique identifier for this field type */\n readonly type: string;\n\n /** Create a new field builder instance */\n create(registry: IFieldBuilderRegistry): BaseFieldBuilder<any>;\n}\n\n/**\n * Field Type abstraction - use with { multiple: true } in DI\n */\nexport const FieldType = createAbstraction<IFieldTypeFactory>(\"FieldType\");\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAIvD;AACA;AACA;;AASA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAGD,iBAAiB,CAAoB,WAAW,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","FieldType"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { BaseFieldBuilder } from \"./BaseFieldBuilder.js\";\nimport type { IFieldBuilderRegistry } from \"../abstractions.js\";\n\n/**\n * Field Type Factory - creates a field builder instance\n */\nexport interface IFieldTypeFactory {\n /** Unique identifier for this field type */\n readonly type: string;\n\n /** Create a new field builder instance */\n create(registry: IFieldBuilderRegistry): BaseFieldBuilder<any>;\n}\n\n/**\n * Use to implement new field types.\n */\nexport const FieldType = createAbstraction<IFieldTypeFactory>(\"FieldType\");\n\nexport namespace FieldType {\n export type Factory = IFieldTypeFactory;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAIvD;AACA;AACA;;AASA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAGD,iBAAiB,CAAoB,WAAW,CAAC","ignoreList":[]}
@@ -74,3 +74,25 @@ export interface ListMinLengthValidator {
74
74
  export interface ListMaxLengthValidator {
75
75
  listMaxLength(value: number, message?: string): this;
76
76
  }
77
+ /**
78
+ * Validators to use when building a custom field type
79
+ */
80
+ export declare namespace FieldTypeValidator {
81
+ type Required = RequiredValidator;
82
+ type MinLength = MinLengthValidator;
83
+ type MaxLength = MaxLengthValidator;
84
+ type Pattern = PatternValidator;
85
+ type Email = EmailValidator;
86
+ type Url = UrlValidator;
87
+ type LowerCase = LowerCaseValidator;
88
+ type UpperCase = UpperCaseValidator;
89
+ type LowerCaseSpace = LowerCaseSpaceValidator;
90
+ type UpperCaseSpace = UpperCaseSpaceValidator;
91
+ type Gte = GteValidator;
92
+ type Lte = LteValidator;
93
+ type DateGte = DateGteValidator;
94
+ type DateLte = DateLteValidator;
95
+ type Unique = UniqueValidator;
96
+ type ListMinLength = ListMinLengthValidator;
97
+ type ListMaxLength = ListMaxLengthValidator;
98
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Validator interface mixins for type-safe field validators.
3
+ * These interfaces provide TypeScript autocomplete and type safety for field validation methods.
4
+ */
5
+ /**
6
+ * Custom regex pattern validator.
7
+ * For common patterns, use the preset validators below (email, url, etc.).
8
+ */
9
+ /**
10
+ * Pattern preset validators.
11
+ * These are convenience methods for common validation patterns.
12
+ */
13
+ /**
14
+ * Number comparison validators
15
+ */
16
+ /**
17
+ * Date/time comparison validators
18
+ */
19
+ /**
20
+ * Unique value validator (ensures field value is unique across entries)
21
+ */
22
+ /**
23
+ * List validators (for list fields).
24
+ * These validate the array itself, not individual items.
25
+ */
26
+ /**
27
+ * Validators to use when building a custom field type
28
+ */
29
+ export let FieldTypeValidator;
30
+
31
+ //# sourceMappingURL=fieldTypeValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FieldTypeValidator"],"sources":["fieldTypeValidator.ts"],"sourcesContent":["/**\n * Validator interface mixins for type-safe field validators.\n * These interfaces provide TypeScript autocomplete and type safety for field validation methods.\n */\n\nexport interface RequiredValidator {\n required(message?: string): this;\n}\n\nexport interface MinLengthValidator {\n minLength(value: number, message?: string): this;\n}\n\nexport interface MaxLengthValidator {\n maxLength(value: number, message?: string): this;\n}\n\n/**\n * Custom regex pattern validator.\n * For common patterns, use the preset validators below (email, url, etc.).\n */\nexport interface PatternValidator {\n pattern(regex: string, flags?: string, message?: string): this;\n}\n\n/**\n * Pattern preset validators.\n * These are convenience methods for common validation patterns.\n */\nexport interface EmailValidator {\n email(message?: string): this;\n}\n\nexport interface UrlValidator {\n url(message?: string): this;\n}\n\nexport interface LowerCaseValidator {\n lowerCase(message?: string): this;\n}\n\nexport interface UpperCaseValidator {\n upperCase(message?: string): this;\n}\n\nexport interface LowerCaseSpaceValidator {\n lowerCaseSpace(message?: string): this;\n}\n\nexport interface UpperCaseSpaceValidator {\n upperCaseSpace(message?: string): this;\n}\n\n/**\n * Number comparison validators\n */\nexport interface GteValidator {\n gte(value: number, message?: string): this;\n}\n\nexport interface LteValidator {\n lte(value: number, message?: string): this;\n}\n\n/**\n * Date/time comparison validators\n */\nexport interface DateGteValidator {\n dateGte(value: string, message?: string): this;\n}\n\nexport interface DateLteValidator {\n dateLte(value: string, message?: string): this;\n}\n\n/**\n * Unique value validator (ensures field value is unique across entries)\n */\nexport interface UniqueValidator {\n unique(message?: string): this;\n}\n\n/**\n * List validators (for list fields).\n * These validate the array itself, not individual items.\n */\nexport interface ListMinLengthValidator {\n listMinLength(value: number, message?: string): this;\n}\n\nexport interface ListMaxLengthValidator {\n listMaxLength(value: number, message?: string): this;\n}\n\n/**\n * Validators to use when building a custom field type\n */\nexport namespace FieldTypeValidator {\n export type Required = RequiredValidator;\n export type MinLength = MinLengthValidator;\n export type MaxLength = MaxLengthValidator;\n export type Pattern = PatternValidator;\n export type Email = EmailValidator;\n export type Url = UrlValidator;\n export type LowerCase = LowerCaseValidator;\n export type UpperCase = UpperCaseValidator;\n export type LowerCaseSpace = LowerCaseSpaceValidator;\n export type UpperCaseSpace = UpperCaseSpaceValidator;\n export type Gte = GteValidator;\n export type Lte = LteValidator;\n export type DateGte = DateGteValidator;\n export type DateLte = DateLteValidator;\n export type Unique = UniqueValidator;\n export type ListMinLength = ListMinLengthValidator;\n export type ListMaxLength = ListMaxLengthValidator;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAcA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AAyBA;AACA;AACA;AASA;AACA;AACA;AASA;AACA;AACA;AAKA;AACA;AACA;AACA;AASA;AACA;AACA;AAFA,WAGiBA,kBAAkB","ignoreList":[]}
@@ -6,6 +6,7 @@ export interface ICmsSortMapperParams {
6
6
  export interface ICmsSortMapper {
7
7
  map(params: ICmsSortMapperParams): CmsEntryListSort | undefined;
8
8
  }
9
+ /** Map CMS sort parameters to storage queries. */
9
10
  export declare const CmsSortMapper: import("@webiny/di").Abstraction<ICmsSortMapper>;
10
11
  export declare namespace CmsSortMapper {
11
12
  type Interface = ICmsSortMapper;
@@ -1,4 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
+ /** Map CMS sort parameters to storage queries. */
2
3
  export const CmsSortMapper = createAbstraction("CmsSortMapper");
3
4
 
4
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","CmsSortMapper"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsEntryListSort, CmsModelField } from \"~/types/index.js\";\n\nexport interface ICmsSortMapperParams {\n fields: Pick<CmsModelField, \"fieldId\">[];\n input: CmsEntryListSort | undefined;\n}\n\nexport interface ICmsSortMapper {\n map(params: ICmsSortMapperParams): CmsEntryListSort | undefined;\n}\n\nexport const CmsSortMapper = createAbstraction<ICmsSortMapper>(\"CmsSortMapper\");\n\nexport namespace CmsSortMapper {\n export type Interface = ICmsSortMapper;\n export type Params = ICmsSortMapperParams;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAYvD,OAAO,MAAMC,aAAa,GAAGD,iBAAiB,CAAiB,eAAe,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","CmsSortMapper"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsEntryListSort, CmsModelField } from \"~/types/index.js\";\n\nexport interface ICmsSortMapperParams {\n fields: Pick<CmsModelField, \"fieldId\">[];\n input: CmsEntryListSort | undefined;\n}\n\nexport interface ICmsSortMapper {\n map(params: ICmsSortMapperParams): CmsEntryListSort | undefined;\n}\n\n/** Map CMS sort parameters to storage queries. */\nexport const CmsSortMapper = createAbstraction<ICmsSortMapper>(\"CmsSortMapper\");\n\nexport namespace CmsSortMapper {\n export type Interface = ICmsSortMapper;\n export type Params = ICmsSortMapperParams;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAYvD;AACA,OAAO,MAAMC,aAAa,GAAGD,iBAAiB,CAAiB,eAAe,CAAC","ignoreList":[]}
@@ -7,6 +7,7 @@ export interface ICmsWhereMapperParams<T extends GenericRecord> {
7
7
  export interface ICmsWhereMapper {
8
8
  map<T extends GenericRecord>(params: ICmsWhereMapperParams<T>): CmsEntryListWhere | undefined;
9
9
  }
10
+ /** Map CMS filter conditions to storage queries. */
10
11
  export declare const CmsWhereMapper: import("@webiny/di").Abstraction<ICmsWhereMapper>;
11
12
  export declare namespace CmsWhereMapper {
12
13
  type Interface = ICmsWhereMapper;
@@ -1,4 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
+ /** Map CMS filter conditions to storage queries. */
2
3
  export const CmsWhereMapper = createAbstraction("CmsWhereMapper");
3
4
 
4
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","CmsWhereMapper"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsEntryListWhere, CmsModelField } from \"~/types/index.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport interface ICmsWhereMapperParams<T extends GenericRecord> {\n fields: Pick<CmsModelField, \"fieldId\">[];\n input: T | undefined;\n}\n\nexport interface ICmsWhereMapper {\n map<T extends GenericRecord>(params: ICmsWhereMapperParams<T>): CmsEntryListWhere | undefined;\n}\n\nexport const CmsWhereMapper = createAbstraction<ICmsWhereMapper>(\"CmsWhereMapper\");\n\nexport namespace CmsWhereMapper {\n export type Interface = ICmsWhereMapper;\n export type Params<T extends GenericRecord> = ICmsWhereMapperParams<T>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAavD,OAAO,MAAMC,cAAc,GAAGD,iBAAiB,CAAkB,gBAAgB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","CmsWhereMapper"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsEntryListWhere, CmsModelField } from \"~/types/index.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport interface ICmsWhereMapperParams<T extends GenericRecord> {\n fields: Pick<CmsModelField, \"fieldId\">[];\n input: T | undefined;\n}\n\nexport interface ICmsWhereMapper {\n map<T extends GenericRecord>(params: ICmsWhereMapperParams<T>): CmsEntryListWhere | undefined;\n}\n\n/** Map CMS filter conditions to storage queries. */\nexport const CmsWhereMapper = createAbstraction<ICmsWhereMapper>(\"CmsWhereMapper\");\n\nexport namespace CmsWhereMapper {\n export type Interface = ICmsWhereMapper;\n export type Params<T extends GenericRecord> = ICmsWhereMapperParams<T>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAavD;AACA,OAAO,MAAMC,cAAc,GAAGD,iBAAiB,CAAkB,gBAAgB,CAAC","ignoreList":[]}
@@ -5,6 +5,7 @@ export interface ListEntriesArgs {
5
5
  sort?: Record<string, unknown> | string[];
6
6
  limit?: number;
7
7
  after?: string;
8
+ search?: string;
8
9
  fields: string[];
9
10
  preview?: boolean;
10
11
  }