@webiny/api-headless-cms 6.0.0-rc.7 → 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.
- package/crud/contentEntry/entryDataFactories/createEntryData.js +3 -1
- package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
- package/crud/contentEntry.crud.js +0 -11
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/validation.d.ts +209 -917
- package/crud/contentModel/validation.js +52 -29
- package/crud/contentModel/validation.js.map +1 -1
- package/domain/contentEntry/EntryId.d.ts +1 -0
- package/domain/contentEntry/EntryId.js +2 -0
- package/domain/contentEntry/EntryId.js.map +1 -1
- package/domain/contentEntry/errors.d.ts +2 -2
- package/domain/contentEntry/errors.js.map +1 -1
- package/domain/contentModel/schemas.d.ts +162 -718
- package/domain/contentModel/schemas.js +34 -20
- package/domain/contentModel/schemas.js.map +1 -1
- package/domain/contentModelGroup/validation.d.ts +34 -82
- package/domain/contentModelGroup/validation.js +2 -2
- package/domain/contentModelGroup/validation.js.map +1 -1
- package/exports/api/cms/entry.d.ts +1 -0
- package/exports/api/cms/entry.js +2 -0
- package/exports/api/cms/entry.js.map +1 -1
- package/exports/api/cms/model.d.ts +5 -2
- package/exports/api/cms/model.js +3 -1
- package/exports/api/cms/model.js.map +1 -1
- package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +2 -6
- package/extensions/index.d.ts +2 -6
- package/features/contentEntry/ContentEntriesFeature.js +4 -0
- package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
- package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.d.ts +1 -1
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.d.ts +14 -0
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js +25 -0
- package/features/contentEntry/ContentEntryTraverser/ContentEntryTraverserProvider.js.map +1 -0
- package/features/contentEntry/ContentEntryTraverser/abstractions.d.ts +12 -0
- package/features/contentEntry/ContentEntryTraverser/abstractions.js +7 -0
- package/features/contentEntry/ContentEntryTraverser/abstractions.js.map +1 -0
- package/features/contentEntry/ContentEntryTraverser/feature.d.ts +1 -0
- package/features/contentEntry/ContentEntryTraverser/feature.js +10 -0
- package/features/contentEntry/ContentEntryTraverser/feature.js.map +1 -0
- package/features/contentEntry/ContentEntryTraverser/index.d.ts +2 -0
- package/features/contentEntry/ContentEntryTraverser/index.js +4 -0
- package/features/contentEntry/ContentEntryTraverser/index.js.map +1 -0
- package/features/contentEntry/CreateEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/CreateEntry/abstractions.js +1 -0
- package/features/contentEntry/CreateEntry/abstractions.js.map +1 -1
- package/features/contentEntry/CreateEntry/events.d.ts +2 -0
- package/features/contentEntry/CreateEntry/events.js +4 -0
- package/features/contentEntry/CreateEntry/events.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.d.ts +1 -0
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js +1 -0
- package/features/contentEntry/CreateEntryRevisionFrom/abstractions.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/events.d.ts +2 -0
- package/features/contentEntry/CreateEntryRevisionFrom/events.js +4 -0
- package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
- package/features/contentEntry/DeleteEntry/abstractions.d.ts +2 -0
- package/features/contentEntry/DeleteEntry/abstractions.js +2 -0
- package/features/contentEntry/DeleteEntry/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteEntry/events.d.ts +2 -0
- package/features/contentEntry/DeleteEntry/events.js +4 -0
- package/features/contentEntry/DeleteEntry/events.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/abstractions.d.ts +1 -0
- package/features/contentEntry/DeleteEntryRevision/abstractions.js +1 -0
- package/features/contentEntry/DeleteEntryRevision/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/events.d.ts +2 -0
- package/features/contentEntry/DeleteEntryRevision/events.js +4 -0
- package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/abstractions.d.ts +1 -0
- package/features/contentEntry/DeleteMultipleEntries/abstractions.js +1 -0
- package/features/contentEntry/DeleteMultipleEntries/abstractions.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/events.d.ts +2 -0
- package/features/contentEntry/DeleteMultipleEntries/events.js +4 -0
- package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
- package/features/contentEntry/GetEntriesByIds/abstractions.d.ts +1 -0
- package/features/contentEntry/GetEntriesByIds/abstractions.js +1 -0
- package/features/contentEntry/GetEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/GetEntry/abstractions.js +1 -0
- package/features/contentEntry/GetEntry/abstractions.js.map +1 -1
- package/features/contentEntry/GetEntryById/abstractions.d.ts +1 -0
- package/features/contentEntry/GetEntryById/abstractions.js +1 -0
- package/features/contentEntry/GetEntryById/abstractions.js.map +1 -1
- package/features/contentEntry/GetLatestEntriesByIds/abstractions.d.ts +1 -0
- package/features/contentEntry/GetLatestEntriesByIds/abstractions.js +1 -0
- package/features/contentEntry/GetLatestEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.d.ts +4 -9
- package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js +4 -9
- package/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.d.ts +2 -3
- package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js +2 -3
- package/features/contentEntry/GetPreviousRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetPublishedEntriesByIds/abstractions.d.ts +1 -0
- package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js +1 -0
- package/features/contentEntry/GetPublishedEntriesByIds/abstractions.js.map +1 -1
- package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.d.ts +1 -0
- package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js +1 -0
- package/features/contentEntry/GetPublishedRevisionByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetRevisionById/abstractions.d.ts +1 -0
- package/features/contentEntry/GetRevisionById/abstractions.js +1 -0
- package/features/contentEntry/GetRevisionById/abstractions.js.map +1 -1
- package/features/contentEntry/GetRevisionsByEntryId/abstractions.d.ts +1 -0
- package/features/contentEntry/GetRevisionsByEntryId/abstractions.js +1 -0
- package/features/contentEntry/GetRevisionsByEntryId/abstractions.js.map +1 -1
- package/features/contentEntry/GetSingletonEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/GetSingletonEntry/abstractions.js +1 -0
- package/features/contentEntry/GetSingletonEntry/abstractions.js.map +1 -1
- package/features/contentEntry/ListEntries/ListEntriesRepository.js +6 -1
- package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
- package/features/contentEntry/ListEntries/abstractions.d.ts +4 -0
- package/features/contentEntry/ListEntries/abstractions.js +4 -0
- package/features/contentEntry/ListEntries/abstractions.js.map +1 -1
- package/features/contentEntry/MoveEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/MoveEntry/abstractions.js +1 -0
- package/features/contentEntry/MoveEntry/abstractions.js.map +1 -1
- package/features/contentEntry/MoveEntry/events.d.ts +2 -0
- package/features/contentEntry/MoveEntry/events.js +4 -0
- package/features/contentEntry/MoveEntry/events.js.map +1 -1
- package/features/contentEntry/PublishEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/PublishEntry/abstractions.js +1 -0
- package/features/contentEntry/PublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/PublishEntry/events.d.ts +2 -0
- package/features/contentEntry/PublishEntry/events.js +4 -0
- package/features/contentEntry/PublishEntry/events.js.map +1 -1
- package/features/contentEntry/RepublishEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/RepublishEntry/abstractions.js +1 -0
- package/features/contentEntry/RepublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/RepublishEntry/events.d.ts +2 -0
- package/features/contentEntry/RepublishEntry/events.js +4 -0
- package/features/contentEntry/RepublishEntry/events.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/abstractions.d.ts +1 -0
- package/features/contentEntry/RestoreEntryFromBin/abstractions.js +1 -0
- package/features/contentEntry/RestoreEntryFromBin/abstractions.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/events.d.ts +2 -0
- package/features/contentEntry/RestoreEntryFromBin/events.js +4 -0
- package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/UnpublishEntry/abstractions.js +1 -0
- package/features/contentEntry/UnpublishEntry/abstractions.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/events.d.ts +2 -0
- package/features/contentEntry/UnpublishEntry/events.js +4 -0
- package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
- package/features/contentEntry/UpdateEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/UpdateEntry/abstractions.js +1 -0
- package/features/contentEntry/UpdateEntry/abstractions.js.map +1 -1
- package/features/contentEntry/UpdateEntry/events.d.ts +2 -0
- package/features/contentEntry/UpdateEntry/events.js +4 -0
- package/features/contentEntry/UpdateEntry/events.js.map +1 -1
- package/features/contentEntry/UpdateSingletonEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/UpdateSingletonEntry/abstractions.js +1 -0
- package/features/contentEntry/UpdateSingletonEntry/abstractions.js.map +1 -1
- package/features/contentEntry/ValidateEntry/abstractions.d.ts +1 -0
- package/features/contentEntry/ValidateEntry/abstractions.js +1 -0
- package/features/contentEntry/ValidateEntry/abstractions.js.map +1 -1
- package/features/contentModel/CreateModel/abstractions.d.ts +1 -0
- package/features/contentModel/CreateModel/abstractions.js +1 -0
- package/features/contentModel/CreateModel/abstractions.js.map +1 -1
- package/features/contentModel/CreateModel/events.d.ts +2 -0
- package/features/contentModel/CreateModel/events.js +4 -0
- package/features/contentModel/CreateModel/events.js.map +1 -1
- package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -0
- package/features/contentModel/CreateModelFrom/abstractions.js +1 -0
- package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
- package/features/contentModel/CreateModelFrom/events.d.ts +2 -0
- package/features/contentModel/CreateModelFrom/events.js +4 -0
- package/features/contentModel/CreateModelFrom/events.js.map +1 -1
- package/features/contentModel/DeleteModel/abstractions.d.ts +1 -0
- package/features/contentModel/DeleteModel/abstractions.js +1 -0
- package/features/contentModel/DeleteModel/abstractions.js.map +1 -1
- package/features/contentModel/DeleteModel/events.d.ts +2 -0
- package/features/contentModel/DeleteModel/events.js +4 -0
- package/features/contentModel/DeleteModel/events.js.map +1 -1
- package/features/contentModel/GetModel/abstractions.d.ts +1 -0
- package/features/contentModel/GetModel/abstractions.js +1 -0
- package/features/contentModel/GetModel/abstractions.js.map +1 -1
- package/features/contentModel/ListModels/abstractions.d.ts +1 -0
- package/features/contentModel/ListModels/abstractions.js +1 -0
- package/features/contentModel/ListModels/abstractions.js.map +1 -1
- package/features/contentModel/UpdateModel/abstractions.d.ts +1 -0
- package/features/contentModel/UpdateModel/abstractions.js +1 -0
- package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
- package/features/contentModel/UpdateModel/events.d.ts +2 -0
- package/features/contentModel/UpdateModel/events.js +4 -0
- package/features/contentModel/UpdateModel/events.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/CreateGroup/abstractions.js +1 -0
- package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/events.d.ts +2 -0
- package/features/contentModelGroup/CreateGroup/events.js +4 -0
- package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/DeleteGroup/abstractions.js +1 -0
- package/features/contentModelGroup/DeleteGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/events.d.ts +2 -0
- package/features/contentModelGroup/DeleteGroup/events.js +4 -0
- package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
- package/features/contentModelGroup/GetGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/GetGroup/abstractions.js +1 -0
- package/features/contentModelGroup/GetGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/ListGroups/abstractions.d.ts +1 -0
- package/features/contentModelGroup/ListGroups/abstractions.js +1 -0
- package/features/contentModelGroup/ListGroups/abstractions.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -0
- package/features/contentModelGroup/UpdateGroup/abstractions.js +1 -0
- package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/events.d.ts +2 -0
- package/features/contentModelGroup/UpdateGroup/events.js +4 -0
- package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
- package/features/contentModelGroup/shared/abstractions.d.ts +1 -0
- package/features/contentModelGroup/shared/abstractions.js +1 -0
- package/features/contentModelGroup/shared/abstractions.js.map +1 -1
- package/features/modelBuilder/abstractions.d.ts +8 -4
- package/features/modelBuilder/abstractions.js +5 -2
- package/features/modelBuilder/abstractions.js.map +1 -1
- package/features/modelBuilder/fields/BooleanFieldType.d.ts +6 -4
- package/features/modelBuilder/fields/BooleanFieldType.js +2 -2
- package/features/modelBuilder/fields/BooleanFieldType.js.map +1 -1
- package/features/modelBuilder/fields/DataFieldBuilder.d.ts +6 -14
- package/features/modelBuilder/fields/DataFieldBuilder.js +1 -9
- package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/DateTimeFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/DateTimeFieldType.js +2 -2
- package/features/modelBuilder/fields/DateTimeFieldType.js.map +1 -1
- package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/DynamicZoneFieldType.js +2 -2
- package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
- package/features/modelBuilder/fields/FieldBuilder.d.ts +2 -2
- package/features/modelBuilder/fields/FieldBuilder.js +1 -1
- package/features/modelBuilder/fields/FieldBuilder.js.map +1 -1
- package/features/modelBuilder/fields/FieldBuilderRegistry.d.ts +3 -3
- package/features/modelBuilder/fields/FileFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/FileFieldType.js +2 -2
- package/features/modelBuilder/fields/FileFieldType.js.map +1 -1
- package/features/modelBuilder/fields/JsonFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/JsonFieldType.js +2 -2
- package/features/modelBuilder/fields/JsonFieldType.js.map +1 -1
- package/features/modelBuilder/fields/LongTextFieldType.d.ts +3 -4
- package/features/modelBuilder/fields/LongTextFieldType.js +2 -2
- package/features/modelBuilder/fields/LongTextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/NumberFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/NumberFieldType.js +2 -2
- package/features/modelBuilder/fields/NumberFieldType.js.map +1 -1
- package/features/modelBuilder/fields/ObjectFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/ObjectFieldType.js +2 -2
- package/features/modelBuilder/fields/ObjectFieldType.js.map +1 -1
- package/features/modelBuilder/fields/RefFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/RefFieldType.js +2 -2
- package/features/modelBuilder/fields/RefFieldType.js.map +1 -1
- package/features/modelBuilder/fields/RichTextFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/RichTextFieldType.js +2 -2
- package/features/modelBuilder/fields/RichTextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/SearchableJsonFieldType.d.ts +2 -2
- package/features/modelBuilder/fields/SearchableJsonFieldType.js +2 -2
- package/features/modelBuilder/fields/SearchableJsonFieldType.js.map +1 -1
- package/features/modelBuilder/fields/TextFieldType.d.ts +3 -3
- package/features/modelBuilder/fields/TextFieldType.js +2 -2
- package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
- package/features/modelBuilder/fields/abstractions.d.ts +4 -1
- package/features/modelBuilder/fields/abstractions.js +1 -1
- package/features/modelBuilder/fields/abstractions.js.map +1 -1
- package/features/modelBuilder/fields/{validators.d.ts → fieldTypeValidator.d.ts} +22 -0
- package/features/modelBuilder/fields/fieldTypeValidator.js +31 -0
- package/features/modelBuilder/fields/fieldTypeValidator.js.map +1 -0
- package/features/sortMapper/abstractions.d.ts +1 -0
- package/features/sortMapper/abstractions.js +1 -0
- package/features/sortMapper/abstractions.js.map +1 -1
- package/features/whereMapper/abstractions.d.ts +1 -0
- package/features/whereMapper/abstractions.js +1 -0
- package/features/whereMapper/abstractions.js.map +1 -1
- package/graphql/schema/cms/listEntriesResolver.d.ts +1 -0
- package/graphql/schema/cms/listEntriesResolver.js +5 -1
- package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
- package/graphql/schema/cms/typeDefs/query.js +1 -0
- package/graphql/schema/cms/typeDefs/query.js.map +1 -1
- package/graphql/schema/createSingularSDL.js +1 -0
- package/graphql/schema/createSingularSDL.js.map +1 -1
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +4 -1
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +25 -25
- package/types/context.d.ts +0 -5
- package/types/context.js.map +1 -1
- package/features/modelBuilder/fields/validators.js +0 -3
- package/features/modelBuilder/fields/validators.js.map +0 -1
- /package/{utils/contentEntryTraverser → features/contentEntry/ContentEntryTraverser}/ContentEntryTraverser.js +0 -0
- /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 {
|
|
3
|
-
import { RequiredValidator } from "./
|
|
4
|
-
export interface IFileFieldBuilder extends
|
|
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 {
|
|
3
|
-
class FileFieldBuilder extends
|
|
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","
|
|
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 {
|
|
3
|
-
export interface IJsonFieldBuilder extends
|
|
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 {
|
|
3
|
-
class JsonFieldBuilder extends
|
|
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","
|
|
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 {
|
|
3
|
-
import { RequiredValidator, MinLengthValidator, MaxLengthValidator, PatternValidator, EmailValidator, UrlValidator, LowerCaseValidator, UpperCaseValidator, LowerCaseSpaceValidator, UpperCaseSpaceValidator } from "./
|
|
4
|
-
export interface ILongTextFieldBuilder extends
|
|
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 {
|
|
3
|
-
class LongTextFieldBuilder extends
|
|
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","
|
|
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 {
|
|
3
|
-
import { RequiredValidator, GteValidator, LteValidator } from "./
|
|
4
|
-
export interface INumberFieldBuilder extends
|
|
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 {
|
|
3
|
-
class NumberFieldBuilder extends
|
|
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","
|
|
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 {
|
|
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
|
|
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
|
|
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 {
|
|
2
|
+
import { DataFieldBuilder } from "./FieldBuilder.js";
|
|
3
3
|
import { LayoutBuilder } from "../LayoutBuilder.js";
|
|
4
|
-
export class ObjectFieldBuilder extends
|
|
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","
|
|
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 {
|
|
3
|
-
import {
|
|
4
|
-
export interface IRefFieldBuilder extends
|
|
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 {
|
|
3
|
-
class RefFieldBuilder extends
|
|
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","
|
|
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 {
|
|
3
|
-
export interface IRichTextFieldBuilder extends
|
|
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 {
|
|
3
|
-
class RichTextFieldBuilder extends
|
|
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","
|
|
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 {
|
|
3
|
-
export interface ISearchableJsonFieldBuilder extends
|
|
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 {
|
|
3
|
-
class SearchableJsonFieldBuilder extends
|
|
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","
|
|
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 {
|
|
1
|
+
import { DataFieldBuilder } from "./FieldBuilder.js";
|
|
2
2
|
import { type IFieldTypeFactory } from "./abstractions.js";
|
|
3
|
-
import {
|
|
4
|
-
export interface ITextFieldBuilder extends
|
|
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 {
|
|
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
|
|
7
|
+
class TextFieldBuilder extends DataFieldBuilder {
|
|
8
8
|
constructor() {
|
|
9
9
|
super("text");
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createImplementation","
|
|
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":"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","ignoreList":[]}
|
|
@@ -10,6 +10,9 @@ export interface IFieldTypeFactory {
|
|
|
10
10
|
create(registry: IFieldBuilderRegistry): BaseFieldBuilder<any>;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
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
|
+
}
|
|
@@ -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 *
|
|
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 +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 +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":[]}
|