payload 3.0.0-beta.92 → 3.0.0-beta.94
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/dist/fields/config/types.d.ts +7 -0
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js.map +1 -1
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.js +4 -0
- package/dist/fields/hooks/afterRead/promise.js.map +1 -1
- package/dist/utilities/dependencies/dependencyChecker.d.ts +2 -1
- package/dist/utilities/dependencies/dependencyChecker.d.ts.map +1 -1
- package/dist/utilities/dependencies/dependencyChecker.js +1 -1
- package/dist/utilities/dependencies/dependencyChecker.js.map +1 -1
- package/dist/utilities/getDataByPath.d.ts +1 -1
- package/dist/utilities/getDataByPath.d.ts.map +1 -1
- package/dist/utilities/getDataByPath.js.map +1 -1
- package/package.json +2 -2
|
@@ -15,11 +15,18 @@ export type FieldHookArgs<TData extends TypeWithID = any, TValue = any, TSibling
|
|
|
15
15
|
/** The collection which the field belongs to. If the field belongs to a global, this will be null. */
|
|
16
16
|
collection: SanitizedCollectionConfig | null;
|
|
17
17
|
context: RequestContext;
|
|
18
|
+
/**
|
|
19
|
+
* Only available in `afterRead` hooks
|
|
20
|
+
*/
|
|
21
|
+
currentDepth?: number; /**
|
|
22
|
+
* Only available in `afterRead` hooks
|
|
23
|
+
*/
|
|
18
24
|
/** The data passed to update the document within create and update operations, and the full document itself in the afterRead hook. */
|
|
19
25
|
data?: Partial<TData>;
|
|
20
26
|
/**
|
|
21
27
|
* Only available in the `afterRead` hook.
|
|
22
28
|
*/
|
|
29
|
+
depth?: number;
|
|
23
30
|
draft?: boolean;
|
|
24
31
|
/** The field which the hook is running against. */
|
|
25
32
|
field: FieldAffectingData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/config/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/config/types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport type { EditorProps } from '@monaco-editor/react'\nimport type { JSONSchema4 } from 'json-schema'\nimport type { CSSProperties } from 'react'\nimport type { DeepUndefinable } from 'ts-essentials'\n\nimport type { RichTextAdapter, RichTextAdapterProvider } from '../../admin/RichText.js'\nimport type {\n ArrayFieldErrorClientComponent,\n ArrayFieldErrorServerComponent,\n ArrayFieldLabelClientComponent,\n ArrayFieldLabelServerComponent,\n ArrayFieldProps,\n BlockFieldErrorClientComponent,\n BlockFieldErrorServerComponent,\n BlockFieldProps,\n CheckboxFieldErrorClientComponent,\n CheckboxFieldErrorServerComponent,\n CheckboxFieldLabelClientComponent,\n CheckboxFieldLabelServerComponent,\n CheckboxFieldProps,\n ClientTab,\n CodeFieldErrorClientComponent,\n CodeFieldErrorServerComponent,\n CodeFieldLabelClientComponent,\n CodeFieldLabelServerComponent,\n CodeFieldProps,\n CollapsibleFieldLabelClientComponent,\n CollapsibleFieldLabelServerComponent,\n CollapsibleFieldProps,\n ConditionalDateProps,\n DateFieldErrorClientComponent,\n DateFieldErrorServerComponent,\n DateFieldLabelClientComponent,\n DateFieldLabelServerComponent,\n DateFieldProps,\n Description,\n EmailFieldErrorClientComponent,\n EmailFieldErrorServerComponent,\n EmailFieldLabelClientComponent,\n EmailFieldLabelServerComponent,\n EmailFieldProps,\n FieldDescriptionClientComponent,\n FieldDescriptionServerComponent,\n GroupFieldLabelClientComponent,\n GroupFieldLabelServerComponent,\n GroupFieldProps,\n HiddenFieldProps,\n JSONFieldErrorClientComponent,\n JSONFieldErrorServerComponent,\n JSONFieldLabelClientComponent,\n JSONFieldLabelServerComponent,\n JSONFieldProps,\n MappedComponent,\n NumberFieldErrorClientComponent,\n NumberFieldErrorServerComponent,\n NumberFieldLabelClientComponent,\n NumberFieldLabelServerComponent,\n NumberFieldProps,\n PointFieldErrorClientComponent,\n PointFieldErrorServerComponent,\n PointFieldLabelClientComponent,\n PointFieldLabelServerComponent,\n PointFieldProps,\n RadioFieldErrorClientComponent,\n RadioFieldErrorServerComponent,\n RadioFieldLabelClientComponent,\n RadioFieldLabelServerComponent,\n RadioFieldProps,\n RelationshipFieldErrorClientComponent,\n RelationshipFieldErrorServerComponent,\n RelationshipFieldLabelClientComponent,\n RelationshipFieldLabelServerComponent,\n RelationshipFieldProps,\n RichTextFieldProps,\n RowFieldProps,\n RowLabelComponent,\n SelectFieldErrorClientComponent,\n SelectFieldErrorServerComponent,\n SelectFieldLabelClientComponent,\n SelectFieldLabelServerComponent,\n SelectFieldProps,\n StaticDescription,\n TabsFieldProps,\n TextFieldErrorClientComponent,\n TextFieldErrorServerComponent,\n TextFieldLabelClientComponent,\n TextFieldLabelServerComponent,\n TextareaFieldErrorClientComponent,\n TextareaFieldErrorServerComponent,\n TextareaFieldLabelClientComponent,\n TextareaFieldLabelServerComponent,\n TextareaFieldProps,\n UploadFieldErrorClientComponent,\n UploadFieldErrorServerComponent,\n UploadFieldLabelClientComponent,\n UploadFieldLabelServerComponent,\n UploadFieldProps,\n} from '../../admin/types.js'\nimport type { SanitizedCollectionConfig, TypeWithID } from '../../collections/config/types.js'\nimport type {\n CustomComponent,\n LabelFunction,\n PayloadComponent,\n StaticLabel,\n} from '../../config/types.js'\nimport type { DBIdentifierName } from '../../database/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { DocumentPreferences } from '../../preferences/types.js'\nimport type { Operation, PayloadRequest, RequestContext, Where } from '../../types/index.js'\n\nexport type FieldHookArgs<TData extends TypeWithID = any, TValue = any, TSiblingData = any> = {\n /** The collection which the field belongs to. If the field belongs to a global, this will be null. */\n collection: SanitizedCollectionConfig | null\n context: RequestContext\n /** The data passed to update the document within create and update operations, and the full document itself in the afterRead hook. */\n data?: Partial<TData>\n /**\n * Only available in the `afterRead` hook.\n */\n draft?: boolean\n /** The field which the hook is running against. */\n field: FieldAffectingData\n /** Boolean to denote if this hook is running against finding one, or finding many within the afterRead hook. */\n findMany?: boolean\n /** The global which the field belongs to. If the field belongs to a collection, this will be null. */\n global: SanitizedGlobalConfig | null\n /** A string relating to which operation the field type is currently executing within. Useful within beforeValidate, beforeChange, and afterChange hooks to differentiate between create and update operations. */\n operation?: 'create' | 'delete' | 'read' | 'update'\n /** The full original document in `update` operations. In the `afterChange` hook, this is the resulting document of the operation. */\n originalDoc?: TData\n overrideAccess?: boolean\n /**\n * The path of the field, e.g. [\"group\", \"myArray\", 1, \"textField\"]. The path is the schemaPath but with indexes and would be used in the context of field data, not field schemas.\n */\n path: (number | string)[]\n /** The document before changes were applied, only in `afterChange` hooks. */\n previousDoc?: TData\n /** The sibling data of the document before changes being applied, only in `beforeChange`, `beforeValidate`, `beforeDuplicate` and `afterChange` field hooks. */\n previousSiblingDoc?: TData\n /** The previous value of the field, before changes, only in `beforeChange`, `afterChange`, `beforeDuplicate` and `beforeValidate` field hooks. */\n previousValue?: TValue\n /** The Express request object. It is mocked for Local API operations. */\n req: PayloadRequest\n /**\n * The schemaPath of the field, e.g. [\"group\", \"myArray\", \"textField\"]. The schemaPath is the path but without indexes and would be used in the context of field schemas, not field data.\n */\n schemaPath: string[]\n /**\n * Only available in the `afterRead` hook.\n */\n showHiddenFields?: boolean\n /** The sibling data passed to a field that the hook is running against. */\n siblingData: Partial<TSiblingData>\n /**\n * The original siblingData with locales (not modified by any hooks). Only available in `beforeChange` and `beforeDuplicate` field hooks.\n */\n siblingDocWithLocales?: Record<string, unknown>\n /** The value of the field. */\n value?: TValue\n}\n\nexport type FieldHook<TData extends TypeWithID = any, TValue = any, TSiblingData = any> = (\n args: FieldHookArgs<TData, TValue, TSiblingData>,\n) => Promise<TValue> | TValue\n\nexport type FieldAccess<TData extends TypeWithID = any, TSiblingData = any> = (args: {\n /**\n * The incoming data used to `create` or `update` the document with. `data` is undefined during the `read` operation.\n */\n data?: Partial<TData>\n /**\n * The original data of the document before the `update` is applied. `doc` is undefined during the `create` operation.\n */\n doc?: TData\n /**\n * The `id` of the current document being read or updated. `id` is undefined during the `create` operation.\n */\n id?: number | string\n /** The `payload` object to interface with the payload API */\n req: PayloadRequest\n /**\n * Immediately adjacent data to this field. For example, if this is a `group` field, then `siblingData` will be the other fields within the group.\n */\n siblingData?: Partial<TSiblingData>\n}) => Promise<boolean> | boolean\n\nexport type Condition<TData extends TypeWithID = any, TSiblingData = any> = (\n data: Partial<TData>,\n siblingData: Partial<TSiblingData>,\n { user }: { user: PayloadRequest['user'] },\n) => boolean\n\nexport type FilterOptionsProps<TData = any> = {\n /**\n * An object containing the full collection or global document currently being edited.\n */\n data: TData\n /**\n * The `id` of the current document being edited. `id` is undefined during the `create` operation.\n */\n id: number | string\n /**\n * The collection `slug` to filter against, limited to this field's `relationTo` property.\n */\n relationTo: CollectionSlug\n /**\n * An object containing document data that is scoped to only fields within the same parent of this field.\n */\n siblingData: unknown\n /**\n * An object containing the currently authenticated user.\n */\n user: Partial<PayloadRequest['user']>\n}\n\nexport type FilterOptionsFunc<TData = any> = (\n options: FilterOptionsProps<TData>,\n) => Promise<Where | boolean> | Where | boolean\n\nexport type FilterOptions<TData = any> =\n | ((options: FilterOptionsProps<TData>) => Promise<Where | boolean> | Where | boolean)\n | Where\n | null\n\ntype Admin = {\n className?: string\n components?: {\n Cell?: CustomComponent\n Description?: CustomComponent<FieldDescriptionClientComponent | FieldDescriptionServerComponent>\n Field?: CustomComponent\n /**\n * The Filter component has to be a client component\n */\n Filter?: PayloadComponent\n }\n /**\n * You can programmatically show / hide fields based on what other fields are doing.\n * This is also run on the server, to determine if the field should be validated.\n */\n condition?: Condition\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n description?: Description\n disableBulkEdit?: boolean\n /**\n * Shows / hides fields from appearing in the list view column selector.\n * @type boolean\n */\n disableListColumn?: boolean\n /**\n * Shows / hides fields from appearing in the list view filter options.\n * @type boolean\n */\n disableListFilter?: boolean\n disabled?: boolean\n hidden?: boolean\n position?: 'sidebar'\n readOnly?: boolean\n style?: CSSProperties\n width?: string\n}\n\nexport type AdminClient = {\n className?: string\n components?: {\n Cell?: MappedComponent\n Description?: MappedComponent\n Field?: MappedComponent\n /**\n * The Filter component has to be a client component\n */\n Filter?: MappedComponent\n }\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n description?: StaticDescription\n disableBulkEdit?: boolean\n /**\n * Shows / hides fields from appearing in the list view column selector.\n * @type boolean\n */\n disableListColumn?: boolean\n /**\n * Shows / hides fields from appearing in the list view filter options.\n * @type boolean\n */\n disableListFilter?: boolean\n disabled?: boolean\n hidden?: boolean\n position?: 'sidebar'\n readOnly?: boolean\n style?: CSSProperties\n width?: string\n}\n\nexport type Labels = {\n plural: LabelFunction | StaticLabel\n singular: LabelFunction | StaticLabel\n}\n\nexport type LabelsClient = {\n plural: StaticLabel\n singular: StaticLabel\n}\n\nexport type BaseValidateOptions<TData, TSiblingData, TValue> = {\n collectionSlug?: string\n data: Partial<TData>\n id?: number | string\n operation?: Operation\n preferences: DocumentPreferences\n previousValue?: TValue\n req: PayloadRequest\n required?: boolean\n siblingData: Partial<TSiblingData>\n}\n\nexport type ValidateOptions<\n TData,\n TSiblingData,\n TFieldConfig extends object,\n TValue,\n> = BaseValidateOptions<TData, TSiblingData, TValue> & TFieldConfig\n\nexport type Validate<\n TValue = any,\n TData = any,\n TSiblingData = any,\n TFieldConfig extends object = object,\n> = (\n value: TValue,\n options: ValidateOptions<TData, TSiblingData, TFieldConfig, TValue>,\n) => Promise<string | true> | string | true\n\nexport type OptionObject = {\n label: LabelFunction | StaticLabel\n value: string\n}\n\nexport type Option = OptionObject | string\n\nexport interface FieldBase {\n /**\n * Do not set this property manually. This is set to true during sanitization, to avoid\n * sanitizing the same field multiple times.\n */\n _sanitized?: boolean\n access?: {\n create?: FieldAccess\n read?: FieldAccess\n update?: FieldAccess\n }\n admin?: Admin\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n defaultValue?: any\n hidden?: boolean\n hooks?: {\n afterChange?: FieldHook[]\n afterRead?: FieldHook[]\n beforeChange?: FieldHook[]\n /**\n * Runs before a document is duplicated to prevent errors in unique fields or return null to use defaultValue.\n */\n beforeDuplicate?: FieldHook[]\n beforeValidate?: FieldHook[]\n }\n index?: boolean\n label?: LabelFunction | StaticLabel | false\n localized?: boolean\n /**\n * The name of the field. Must be alphanumeric and cannot contain ' . '\n *\n * Must not be one of reserved field names: ['__v', 'salt', 'hash', 'file']\n * @link https://payloadcms.com/docs/fields/overview#field-names\n */\n name: string\n required?: boolean\n saveToJWT?: boolean | string\n /**\n * Allows you to modify the base JSON schema that is generated during generate:types for this field.\n * This JSON schema will be used to generate the TypeScript interface of this field.\n */\n typescriptSchema?: Array<(args: { jsonSchema: JSONSchema4 }) => JSONSchema4>\n unique?: boolean\n validate?: Validate\n}\n\nexport interface FieldBaseClient {\n _isPresentational?: undefined\n _path?: string\n _schemaPath?: string\n admin?: AdminClient\n hidden?: boolean\n index?: boolean\n label?: StaticLabel\n localized?: boolean\n /**\n * The name of the field. Must be alphanumeric and cannot contain ' . '\n *\n * Must not be one of reserved field names: ['__v', 'salt', 'hash', 'file']\n * @link https://payloadcms.com/docs/fields/overview#field-names\n */\n name?: string\n required?: boolean\n saveToJWT?: boolean | string\n /**\n * Allows you to modify the base JSON schema that is generated during generate:types for this field.\n * This JSON schema will be used to generate the TypeScript interface of this field.\n */\n typescriptSchema?: Array<(args: { jsonSchema: JSONSchema4 }) => JSONSchema4>\n unique?: boolean\n}\n\nexport type NumberField = {\n admin?: {\n /** Set this property to a string that will be used for browser autocomplete. */\n autoComplete?: string\n components?: {\n Error?: CustomComponent<NumberFieldErrorClientComponent | NumberFieldErrorServerComponent>\n Label?: CustomComponent<NumberFieldLabelClientComponent | NumberFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n /** Set this property to define a placeholder string for the field. */\n placeholder?: Record<string, string> | string\n /** Set a value for the number field to increment / decrement using browser controls. */\n step?: number\n } & Admin\n /** Maximum value accepted. Used in the default `validate` function. */\n max?: number\n /** Minimum value accepted. Used in the default `validate` function. */\n min?: number\n type: 'number'\n validate?: Validate<number | number[], unknown, unknown, NumberField>\n} & (\n | {\n /** Makes this field an ordered array of numbers instead of just a single number. */\n hasMany: true\n /** Maximum number of numbers in the numbers array, if `hasMany` is set to true. */\n maxRows?: number\n /** Minimum number of numbers in the numbers array, if `hasMany` is set to true. */\n minRows?: number\n }\n | {\n /** Makes this field an ordered array of numbers instead of just a single number. */\n hasMany?: false | undefined\n /** Maximum number of numbers in the numbers array, if `hasMany` is set to true. */\n maxRows?: undefined\n /** Minimum number of numbers in the numbers array, if `hasMany` is set to true. */\n minRows?: undefined\n }\n) &\n FieldBase\n\nexport type NumberFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<NumberField['admin'], 'autoComplete' | 'placeholder' | 'step'>\n} & FieldBaseClient &\n Pick<NumberField, 'hasMany' | 'max' | 'maxRows' | 'min' | 'minRows' | 'type'>\n\nexport type TextField = {\n admin?: {\n autoComplete?: string\n components?: {\n Error?: CustomComponent<TextFieldErrorClientComponent | TextFieldErrorServerComponent>\n Label?: CustomComponent<TextFieldLabelClientComponent | TextFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n placeholder?: Record<string, string> | string\n rtl?: boolean\n } & Admin\n maxLength?: number\n minLength?: number\n type: 'text'\n validate?: Validate<string | string[], unknown, unknown, TextField>\n} & (\n | {\n /** Makes this field an ordered array of strings instead of just a single string. */\n hasMany: true\n /** Maximum number of strings in the strings array, if `hasMany` is set to true. */\n maxRows?: number\n /** Minimum number of strings in the strings array, if `hasMany` is set to true. */\n minRows?: number\n }\n | {\n /** Makes this field an ordered array of strings instead of just a single string. */\n hasMany?: false | undefined\n /** Maximum number of strings in the strings array, if `hasMany` is set to true. */\n maxRows?: undefined\n /** Minimum number of strings in the strings array, if `hasMany` is set to true. */\n minRows?: undefined\n }\n) &\n FieldBase\n\nexport type TextFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<TextField['admin'], 'autoComplete' | 'placeholder' | 'rtl'>\n} & FieldBaseClient &\n Pick<TextField, 'hasMany' | 'maxLength' | 'maxRows' | 'minLength' | 'minRows' | 'type'>\n\nexport type EmailField = {\n admin?: {\n autoComplete?: string\n components?: {\n Error?: CustomComponent<EmailFieldErrorClientComponent | EmailFieldErrorServerComponent>\n Label?: CustomComponent<EmailFieldLabelClientComponent | EmailFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n placeholder?: Record<string, string> | string\n } & Admin\n type: 'email'\n validate?: Validate<string, unknown, unknown, EmailField>\n} & FieldBase\n\nexport type EmailFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<EmailField['admin'], 'placeholder'>\n} & FieldBaseClient &\n Pick<EmailField, 'type'>\n\nexport type TextareaField = {\n admin?: {\n components?: {\n Error?: CustomComponent<TextareaFieldErrorClientComponent | TextareaFieldErrorServerComponent>\n Label?: CustomComponent<TextareaFieldLabelClientComponent | TextareaFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n placeholder?: Record<string, string> | string\n rows?: number\n rtl?: boolean\n } & Admin\n maxLength?: number\n minLength?: number\n type: 'textarea'\n validate?: Validate<string, unknown, unknown, TextareaField>\n} & FieldBase\n\nexport type TextareaFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<TextareaField['admin'], 'placeholder' | 'rows' | 'rtl'>\n} & FieldBaseClient &\n Pick<TextareaField, 'maxLength' | 'minLength' | 'type'>\n\nexport type CheckboxField = {\n admin?: {\n components?: {\n Error?: CustomComponent<CheckboxFieldErrorClientComponent | CheckboxFieldErrorServerComponent>\n Label?: CustomComponent<CheckboxFieldLabelClientComponent | CheckboxFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n } & Admin\n type: 'checkbox'\n validate?: Validate<unknown, unknown, unknown, CheckboxField>\n} & FieldBase\n\nexport type CheckboxFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient\n} & FieldBaseClient &\n Pick<CheckboxField, 'type'>\n\nexport type DateField = {\n admin?: {\n components?: {\n Error?: CustomComponent<DateFieldErrorClientComponent | DateFieldErrorServerComponent>\n Label?: CustomComponent<DateFieldLabelClientComponent | DateFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n date?: ConditionalDateProps\n placeholder?: Record<string, string> | string\n } & Admin\n type: 'date'\n validate?: Validate<unknown, unknown, unknown, DateField>\n} & FieldBase\n\nexport type DateFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<DateField['admin'], 'date' | 'placeholder'>\n} & FieldBaseClient &\n Pick<DateField, 'type'>\n\nexport type GroupField = {\n admin?: {\n components?: {\n Label?: CustomComponent<GroupFieldLabelClientComponent | GroupFieldLabelServerComponent>\n } & Admin['components']\n hideGutter?: boolean\n } & Admin\n fields: Field[]\n /** Customize generated GraphQL and Typescript schema names.\n * By default, it is bound to the collection.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n type: 'group'\n validate?: Validate<unknown, unknown, unknown, GroupField>\n} & Omit<FieldBase, 'required'>\n\nexport type GroupFieldClient = {\n admin?: {\n components?: {\n Label?: MappedComponent\n } & AdminClient['components']\n } & AdminClient &\n Pick<GroupField['admin'], 'hideGutter'>\n fields: ClientField[]\n} & Omit<FieldBaseClient, 'required'> &\n Pick<GroupField, 'interfaceName' | 'type'>\n\nexport type RowField = {\n admin?: Omit<Admin, 'description'>\n fields: Field[]\n type: 'row'\n} & Omit<FieldBase, 'admin' | 'label' | 'name' | 'validate'>\n\nexport type RowFieldClient = {\n admin?: Omit<AdminClient, 'description'>\n fields: ClientField[]\n} & Omit<FieldBaseClient, 'admin' | 'label' | 'name' | 'validate'> &\n Pick<RowField, 'type'>\n\nexport type CollapsibleField = {\n fields: Field[]\n type: 'collapsible'\n} & (\n | {\n admin: {\n components: {\n Label?: CustomComponent<\n CollapsibleFieldLabelClientComponent | CollapsibleFieldLabelServerComponent\n >\n RowLabel: RowLabelComponent\n } & Admin['components']\n initCollapsed?: boolean\n } & Admin\n label?: Required<FieldBase['label']>\n }\n | {\n admin?: {\n components?: {\n Label?: CustomComponent<\n CollapsibleFieldLabelClientComponent | CollapsibleFieldLabelServerComponent\n >\n } & Admin['components']\n initCollapsed?: boolean\n } & Admin\n label: Required<FieldBase['label']>\n }\n) &\n Omit<FieldBase, 'label' | 'name' | 'validate'>\n\nexport type CollapsibleFieldClient = {\n fields: ClientField[]\n} & (\n | {\n admin: {\n components: {\n RowLabel: MappedComponent\n } & AdminClient['components']\n initCollapsed?: boolean\n } & AdminClient\n label?: Required<FieldBaseClient['label']>\n }\n | {\n admin?: {\n initCollapsed?: boolean\n } & AdminClient\n label: Required<FieldBaseClient['label']>\n }\n) &\n Omit<FieldBaseClient, 'label' | 'name' | 'validate'> &\n Pick<CollapsibleField, 'type'>\n\ntype TabBase = {\n description?: Description\n fields: Field[]\n interfaceName?: string\n saveToJWT?: boolean | string\n} & Omit<FieldBase, 'required' | 'validate'>\n\nexport type NamedTab = {\n /** Customize generated GraphQL and Typescript schema names.\n * The slug is used by default.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n} & TabBase\n\nexport type UnnamedTab = {\n interfaceName?: never\n /**\n * Can be either:\n * - A string, which will be used as the tab's label.\n * - An object, where the key is the language code and the value is the label.\n */\n label:\n | {\n [selectedLanguage: string]: string\n }\n | LabelFunction\n | string\n localized?: never\n} & Omit<TabBase, 'name'>\n\nexport type Tab = NamedTab | UnnamedTab\n\nexport type TabsField = {\n admin?: Omit<Admin, 'description'>\n tabs: Tab[]\n type: 'tabs'\n} & Omit<FieldBase, 'admin' | 'localized' | 'name' | 'saveToJWT'>\n\nexport type TabsFieldClient = {\n admin?: Omit<AdminClient, 'description'>\n tabs: ClientTab[]\n} & Omit<FieldBaseClient, 'admin' | 'localized' | 'name' | 'saveToJWT'> &\n Pick<TabsField, 'type'>\n\nexport type TabAsField = {\n name?: string\n type: 'tab'\n} & Tab\n\nexport type TabAsFieldClient = ClientTab & Pick<TabAsField, 'name' | 'type'>\n\nexport type UIField = {\n admin: {\n components?: {\n Cell?: CustomComponent\n Field: CustomComponent\n /**\n * The Filter component has to be a client component\n */\n Filter?: PayloadComponent\n } & Admin['components']\n condition?: Condition\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n disableBulkEdit?: boolean\n /**\n * Shows / hides fields from appearing in the list view column selector.\n * @type boolean\n */\n disableListColumn?: boolean\n position?: string\n width?: string\n }\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n label?: Record<string, string> | string\n name: string\n type: 'ui'\n}\n\nexport type UIFieldClient = {\n _isPresentational?: true\n // still include FieldBaseClient.admin (even if it's undefinable) so that we don't need constant type checks (e.g. if('xy' in field))\n // eslint-disable-next-line perfectionist/sort-intersection-types\n admin: DeepUndefinable<FieldBaseClient['admin']> & {\n components?: {\n Cell?: MappedComponent\n Field: MappedComponent\n Filter?: MappedComponent\n } & AdminClient['components']\n } & Pick<\n UIField['admin'],\n 'custom' | 'disableBulkEdit' | 'disableListColumn' | 'position' | 'width'\n >\n} & Omit<DeepUndefinable<FieldBaseClient>, '_isPresentational' | 'admin'> & // still include FieldBaseClient (even if it's undefinable) so that we don't need constant type checks (e.g. if('xy' in field))\n Pick<UIField, 'label' | 'name' | 'type'>\n\ntype SharedUploadProperties = {\n /**\n * Toggle the preview in the admin interface.\n */\n displayPreview?: boolean\n filterOptions?: FilterOptions\n hasMany?: boolean\n /**\n * Sets a maximum population depth for this field, regardless of the remaining depth when this field is reached.\n *\n * {@link https://payloadcms.com/docs/getting-started/concepts#field-level-max-depth}\n */\n maxDepth?: number\n type: 'upload'\n validate?: Validate<unknown, unknown, unknown, SharedUploadProperties>\n} & (\n | {\n hasMany: true\n /**\n * @deprecated Use 'maxRows' instead\n */\n max?: number\n maxRows?: number\n /**\n * @deprecated Use 'minRows' instead\n */\n min?: number\n minRows?: number\n }\n | {\n hasMany?: false | undefined\n /**\n * @deprecated Use 'maxRows' instead\n */\n max?: undefined\n maxRows?: undefined\n /**\n * @deprecated Use 'minRows' instead\n */\n min?: undefined\n minRows?: undefined\n }\n) &\n FieldBase\n\ntype SharedUploadPropertiesClient = FieldBaseClient &\n Pick<\n SharedUploadProperties,\n 'hasMany' | 'max' | 'maxDepth' | 'maxRows' | 'min' | 'minRows' | 'type'\n >\n\ntype UploadAdmin = {\n allowCreate?: boolean\n components?: {\n Error?: CustomComponent<\n RelationshipFieldErrorClientComponent | RelationshipFieldErrorServerComponent\n >\n Label?: CustomComponent<\n RelationshipFieldLabelClientComponent | RelationshipFieldLabelServerComponent\n >\n } & Admin['components']\n isSortable?: boolean\n} & Admin\ntype UploadAdminClient = {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n } & AdminClient['components']\n} & AdminClient &\n Pick<UploadAdmin, 'allowCreate' | 'isSortable'>\n\nexport type PolymorphicUploadField = {\n admin?: {\n sortOptions?: { [collectionSlug: CollectionSlug]: string }\n } & UploadAdmin\n relationTo: CollectionSlug[]\n} & SharedUploadProperties\n\nexport type PolymorphicUploadFieldClient = {\n admin?: {\n sortOptions?: Pick<PolymorphicUploadField['admin'], 'sortOptions'>\n } & UploadAdminClient\n} & Pick<PolymorphicUploadField, 'displayPreview' | 'maxDepth' | 'relationTo' | 'type'> &\n SharedUploadPropertiesClient\n\nexport type SingleUploadField = {\n admin?: {\n sortOptions?: string\n } & UploadAdmin\n relationTo: CollectionSlug\n} & SharedUploadProperties\n\nexport type SingleUploadFieldClient = {\n admin?: Pick<SingleUploadField['admin'], 'sortOptions'> & UploadAdminClient\n} & Pick<SingleUploadField, 'displayPreview' | 'maxDepth' | 'relationTo' | 'type'> &\n SharedUploadPropertiesClient\n\nexport type UploadField = /* PolymorphicUploadField | */ SingleUploadField\n\nexport type UploadFieldClient = /* PolymorphicUploadFieldClient | */ SingleUploadFieldClient\n\nexport type CodeField = {\n admin?: {\n components?: {\n Error?: CustomComponent<CodeFieldErrorClientComponent | CodeFieldErrorServerComponent>\n Label?: CustomComponent<CodeFieldLabelClientComponent | CodeFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n editorOptions?: EditorProps['options']\n language?: string\n } & Admin\n maxLength?: number\n minLength?: number\n type: 'code'\n validate?: Validate<string, unknown, unknown, CodeField>\n} & Omit<FieldBase, 'admin'>\n\nexport type CodeFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<CodeField['admin'], 'editorOptions' | 'language'>\n} & Omit<FieldBaseClient, 'admin'> &\n Pick<CodeField, 'maxLength' | 'minLength' | 'type'>\n\nexport type JSONField = {\n admin?: {\n components?: {\n Error?: CustomComponent<JSONFieldErrorClientComponent | JSONFieldErrorServerComponent>\n Label?: CustomComponent<JSONFieldLabelClientComponent | JSONFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n editorOptions?: EditorProps['options']\n } & Admin\n\n jsonSchema?: {\n fileMatch: string[]\n schema: JSONSchema4\n uri: string\n }\n type: 'json'\n validate?: Validate<Record<string, unknown>, unknown, unknown, JSONField>\n} & Omit<FieldBase, 'admin'>\n\nexport type JSONFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<JSONField['admin'], 'editorOptions'>\n} & Omit<FieldBaseClient, 'admin'> &\n Pick<JSONField, 'jsonSchema' | 'type'>\n\nexport type SelectField = {\n admin?: {\n components?: {\n Error?: CustomComponent<SelectFieldErrorClientComponent | SelectFieldErrorServerComponent>\n Label?: CustomComponent<SelectFieldLabelClientComponent | SelectFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n isClearable?: boolean\n isSortable?: boolean\n } & Admin\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n /**\n * Customize the DB enum name\n */\n enumName?: DBIdentifierName\n hasMany?: boolean\n options: Option[]\n type: 'select'\n validate?: Validate<string, unknown, unknown, SelectField>\n} & FieldBase\n\nexport type SelectFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<SelectField['admin'], 'isClearable' | 'isSortable'>\n} & FieldBaseClient &\n Pick<SelectField, 'hasMany' | 'options' | 'type'>\n\ntype SharedRelationshipProperties = {\n filterOptions?: FilterOptions\n hasMany?: boolean\n /**\n * Sets a maximum population depth for this field, regardless of the remaining depth when this field is reached.\n *\n * {@link https://payloadcms.com/docs/getting-started/concepts#field-level-max-depth}\n */\n maxDepth?: number\n type: 'relationship'\n validate?: Validate<unknown, unknown, unknown, SharedRelationshipProperties>\n} & (\n | {\n hasMany: true\n /**\n * @deprecated Use 'maxRows' instead\n */\n max?: number\n maxRows?: number\n /**\n * @deprecated Use 'minRows' instead\n */\n min?: number\n minRows?: number\n }\n | {\n hasMany?: false | undefined\n /**\n * @deprecated Use 'maxRows' instead\n */\n max?: undefined\n maxRows?: undefined\n /**\n * @deprecated Use 'minRows' instead\n */\n min?: undefined\n minRows?: undefined\n }\n) &\n FieldBase\n\ntype SharedRelationshipPropertiesClient = FieldBaseClient &\n Pick<\n SharedRelationshipProperties,\n 'hasMany' | 'max' | 'maxDepth' | 'maxRows' | 'min' | 'minRows' | 'type'\n >\n\ntype RelationshipAdmin = {\n allowCreate?: boolean\n components?: {\n Error?: CustomComponent<\n RelationshipFieldErrorClientComponent | RelationshipFieldErrorServerComponent\n >\n Label?: CustomComponent<\n RelationshipFieldLabelClientComponent | RelationshipFieldLabelServerComponent\n >\n } & Admin['components']\n isSortable?: boolean\n} & Admin\n\ntype RelationshipAdminClient = {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n } & AdminClient['components']\n} & AdminClient &\n Pick<RelationshipAdmin, 'allowCreate' | 'isSortable'>\n\nexport type PolymorphicRelationshipField = {\n admin?: {\n sortOptions?: { [collectionSlug: CollectionSlug]: string }\n } & RelationshipAdmin\n relationTo: CollectionSlug[]\n} & SharedRelationshipProperties\n\nexport type PolymorphicRelationshipFieldClient = {\n admin?: {\n sortOptions?: Pick<PolymorphicRelationshipField['admin'], 'sortOptions'>\n } & RelationshipAdminClient\n} & Pick<PolymorphicRelationshipField, 'relationTo'> &\n SharedRelationshipPropertiesClient\n\nexport type SingleRelationshipField = {\n admin?: {\n sortOptions?: string\n } & RelationshipAdmin\n relationTo: CollectionSlug\n} & SharedRelationshipProperties\n\nexport type SingleRelationshipFieldClient = {\n admin?: Pick<SingleRelationshipField['admin'], 'sortOptions'> & RelationshipAdminClient\n} & Pick<SingleRelationshipField, 'relationTo'> &\n SharedRelationshipPropertiesClient\n\nexport type RelationshipField = PolymorphicRelationshipField | SingleRelationshipField\n\nexport type RelationshipFieldClient =\n | PolymorphicRelationshipFieldClient\n | SingleRelationshipFieldClient\n\nexport type ValueWithRelation = {\n relationTo: CollectionSlug\n value: number | string\n}\n\nexport function valueIsValueWithRelation(value: unknown): value is ValueWithRelation {\n return value !== null && typeof value === 'object' && 'relationTo' in value && 'value' in value\n}\n\nexport type RelationshipValue =\n | (number | string)[]\n | ValueWithRelation\n | ValueWithRelation[]\n | (number | string)\n\nexport type RichTextField<\n TValue extends object = any,\n TAdapterProps = any,\n TExtraProperties = object,\n> = {\n admin?: {\n components?: {\n Error?: CustomComponent\n Label?: CustomComponent\n } & Admin['components']\n } & Admin\n editor?:\n | RichTextAdapter<TValue, TAdapterProps, TExtraProperties>\n | RichTextAdapterProvider<TValue, TAdapterProps, TExtraProperties>\n /**\n * Sets a maximum population depth for this field, regardless of the remaining depth when this field is reached.\n *\n * {@link https://payloadcms.com/docs/getting-started/concepts#field-level-max-depth}\n */\n maxDepth?: number\n type: 'richText'\n} & FieldBase &\n TExtraProperties\n\nexport type RichTextFieldClient<\n TValue extends object = any,\n TAdapterProps = any,\n TExtraProperties = object,\n> = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n } & AdminClient['components']\n placeholder?: Record<string, string> | string\n } & AdminClient\n richTextComponentMap?: Map<string, any>\n} & FieldBaseClient &\n Pick<RichTextField<TValue, TAdapterProps, TExtraProperties>, 'maxDepth' | 'type'> &\n TExtraProperties\n\nexport type ArrayField = {\n admin?: {\n components?: {\n Error?: CustomComponent<ArrayFieldErrorClientComponent | ArrayFieldErrorServerComponent>\n Label?: CustomComponent<ArrayFieldLabelClientComponent | ArrayFieldLabelServerComponent>\n RowLabel?: RowLabelComponent\n } & Admin['components']\n initCollapsed?: boolean\n /**\n * Disable drag and drop sorting\n */\n isSortable?: boolean\n } & Admin\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n fields: Field[]\n /** Customize generated GraphQL and Typescript schema names.\n * By default, it is bound to the collection.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n labels?: Labels\n maxRows?: number\n minRows?: number\n type: 'array'\n validate?: Validate<unknown[], unknown, unknown, ArrayField>\n} & FieldBase\n\nexport type ArrayFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n RowLabel?: MappedComponent\n } & AdminClient['components']\n } & AdminClient &\n Pick<ArrayField['admin'], 'initCollapsed' | 'isSortable'>\n fields: ClientField[]\n labels?: LabelsClient\n} & FieldBaseClient &\n Pick<ArrayField, 'interfaceName' | 'maxRows' | 'minRows' | 'type'>\n\nexport type RadioField = {\n admin?: {\n components?: {\n Error?: CustomComponent<RadioFieldErrorClientComponent | RadioFieldErrorServerComponent>\n Label?: CustomComponent<RadioFieldLabelClientComponent | RadioFieldLabelServerComponent>\n } & Admin['components']\n layout?: 'horizontal' | 'vertical'\n } & Admin\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n /**\n * Customize the DB enum name\n */\n enumName?: DBIdentifierName\n options: Option[]\n type: 'radio'\n validate?: Validate<string, unknown, unknown, RadioField>\n} & FieldBase\n\nexport type RadioFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n } & AdminClient['components']\n } & AdminClient &\n Pick<RadioField['admin'], 'layout'>\n} & FieldBaseClient &\n Pick<RadioField, 'options' | 'type'>\n\nexport type Block = {\n /**\n * Do not set this property manually. This is set to true during sanitization, to avoid\n * sanitizing the same block multiple times.\n */\n _sanitized?: boolean\n admin?: {\n components?: {\n Label?: PayloadComponent<\n never,\n {\n blockKind: 'block' | 'lexicalBlock' | 'lexicalInlineBlock' | string\n /**\n * May contain the formData\n */\n formData: Record<string, any>\n }\n >\n }\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n }\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n fields: Field[]\n /** @deprecated - please migrate to the interfaceName property instead. */\n graphQL?: {\n singularName?: string\n }\n imageAltText?: string\n imageURL?: string\n /** Customize generated GraphQL and Typescript schema names.\n * The slug is used by default.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n labels?: Labels\n slug: string\n}\nexport type ClientBlock = {\n admin?: {\n components?: {\n Label?: MappedComponent\n }\n } & Pick<Block['admin'], 'custom'>\n fields: ClientField[]\n labels?: LabelsClient\n} & Pick<Block, 'imageAltText' | 'imageURL' | 'slug'>\n\nexport type BlockField = {\n admin?: {\n components?: {\n Error?: CustomComponent<BlockFieldErrorClientComponent | BlockFieldErrorServerComponent>\n } & Admin['components']\n initCollapsed?: boolean\n /**\n * Disable drag and drop sorting\n */\n isSortable?: boolean\n } & Admin\n blocks: Block[]\n defaultValue?: unknown\n labels?: Labels\n maxRows?: number\n minRows?: number\n type: 'blocks'\n validate?: Validate<string, unknown, unknown, BlockField>\n} & FieldBase\n\nexport type BlockFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n } & AdminClient['components']\n } & AdminClient &\n Pick<BlockField['admin'], 'initCollapsed' | 'isSortable'>\n blocks: ClientBlock[]\n labels?: LabelsClient\n} & FieldBaseClient &\n Pick<BlockField, 'maxRows' | 'minRows' | 'type'>\n\nexport type PointField = {\n admin?: {\n components?: {\n Error?: CustomComponent<PointFieldErrorClientComponent | PointFieldErrorServerComponent>\n Label?: CustomComponent<PointFieldLabelClientComponent | PointFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n placeholder?: Record<string, string> | string\n step?: number\n } & Admin\n type: 'point'\n validate?: Validate<unknown, unknown, unknown, PointField>\n} & FieldBase\n\nexport type PointFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<PointField['admin'], 'placeholder' | 'step'>\n} & FieldBaseClient &\n Pick<PointField, 'type'>\n\nexport type Field =\n | ArrayField\n | BlockField\n | CheckboxField\n | CodeField\n | CollapsibleField\n | DateField\n | EmailField\n | GroupField\n | JSONField\n | NumberField\n | PointField\n | RadioField\n | RelationshipField\n | RichTextField\n | RowField\n | SelectField\n | TabsField\n | TextField\n | TextareaField\n | UIField\n | UploadField\n\nexport type ClientField =\n | ArrayFieldClient\n | BlockFieldClient\n | CheckboxFieldClient\n | CodeFieldClient\n | CollapsibleFieldClient\n | DateFieldClient\n | EmailFieldClient\n | GroupFieldClient\n | JSONFieldClient\n | NumberFieldClient\n | PointFieldClient\n | RadioFieldClient\n | RelationshipFieldClient\n | RichTextFieldClient\n | RowFieldClient\n | SelectFieldClient\n | TabsFieldClient\n | TextFieldClient\n | TextareaFieldClient\n | UIFieldClient\n | UploadFieldClient\n\nexport type ClientFieldProps =\n | ArrayFieldProps\n | BlockFieldProps\n | CheckboxFieldProps\n | CodeFieldProps\n | CollapsibleFieldProps\n | DateFieldProps\n | EmailFieldProps\n | GroupFieldProps\n | HiddenFieldProps\n | JSONFieldProps\n | NumberFieldProps\n | PointFieldProps\n | RadioFieldProps\n | RelationshipFieldProps\n | RichTextFieldProps\n | RowFieldProps\n | SelectFieldProps\n | TabsFieldProps\n | TextareaFieldProps\n | UploadFieldProps\n\ntype ExtractFieldTypes<T> = T extends { type: infer U } ? U : never\n\nexport type FieldTypes = ExtractFieldTypes<Field>\n\nexport type FieldAffectingData =\n | ArrayField\n | BlockField\n | CheckboxField\n | CodeField\n | DateField\n | EmailField\n | GroupField\n | JSONField\n | NumberField\n | PointField\n | RadioField\n | RelationshipField\n | RichTextField\n | SelectField\n | TabAsField\n | TextField\n | TextareaField\n | UploadField\n\nexport type FieldAffectingDataClient =\n | ArrayFieldClient\n | BlockFieldClient\n | CheckboxFieldClient\n | CodeFieldClient\n | DateFieldClient\n | EmailFieldClient\n | GroupFieldClient\n | JSONFieldClient\n | NumberFieldClient\n | PointFieldClient\n | RadioFieldClient\n | RelationshipFieldClient\n | RichTextFieldClient\n | SelectFieldClient\n | TabAsFieldClient\n | TextFieldClient\n | TextareaFieldClient\n | UploadFieldClient\n\nexport type NonPresentationalField =\n | ArrayField\n | BlockField\n | CheckboxField\n | CodeField\n | CollapsibleField\n | DateField\n | EmailField\n | GroupField\n | JSONField\n | NumberField\n | PointField\n | RadioField\n | RelationshipField\n | RichTextField\n | RowField\n | SelectField\n | TabsField\n | TextField\n | TextareaField\n | UploadField\n\nexport type NonPresentationalFieldClient =\n | ArrayFieldClient\n | BlockFieldClient\n | CheckboxFieldClient\n | CodeFieldClient\n | CollapsibleFieldClient\n | DateFieldClient\n | EmailFieldClient\n | GroupFieldClient\n | JSONFieldClient\n | NumberFieldClient\n | PointFieldClient\n | RadioFieldClient\n | RelationshipFieldClient\n | RichTextFieldClient\n | RowFieldClient\n | SelectFieldClient\n | TabsFieldClient\n | TextFieldClient\n | TextareaFieldClient\n | UploadFieldClient\n\nexport type FieldWithPath = {\n path?: string\n} & Field\n\nexport type FieldWithPathClient = {\n path?: string\n} & ClientField\n\nexport type FieldWithSubFields = ArrayField | CollapsibleField | GroupField | RowField\n\nexport type FieldWithSubFieldsClient =\n | ArrayFieldClient\n | CollapsibleFieldClient\n | GroupFieldClient\n | RowFieldClient\n\nexport type FieldPresentationalOnly = UIField\nexport type FieldPresentationalOnlyClient = UIFieldClient\n\nexport type FieldWithMany = RelationshipField | SelectField\nexport type FieldWithManyClient = RelationshipFieldClient | SelectFieldClient\n\nexport type FieldWithMaxDepth = RelationshipField | UploadField\nexport type FieldWithMaxDepthClient = RelationshipFieldClient | UploadFieldClient\n\nexport function fieldHasSubFields<TField extends ClientField | Field>(\n field: TField,\n): field is TField & (TField extends ClientField ? FieldWithSubFieldsClient : FieldWithSubFields) {\n return (\n field.type === 'group' ||\n field.type === 'array' ||\n field.type === 'row' ||\n field.type === 'collapsible'\n )\n}\n\nexport function fieldIsArrayType<TField extends ClientField | Field>(\n field: TField,\n): field is TField & (TField extends ClientField ? ArrayFieldClient : ArrayField) {\n return field.type === 'array'\n}\n\nexport function fieldIsBlockType<TField extends ClientField | Field>(\n field: TField,\n): field is TField & (TField extends ClientField ? BlockFieldClient : BlockField) {\n return field.type === 'blocks'\n}\n\nexport function fieldIsGroupType<TField extends ClientField | Field>(\n field: TField,\n): field is TField & (TField extends ClientField ? GroupFieldClient : GroupField) {\n return field.type === 'group'\n}\n\nexport function optionIsObject(option: Option): option is OptionObject {\n return typeof option === 'object'\n}\n\nexport function optionsAreObjects(options: Option[]): options is OptionObject[] {\n return Array.isArray(options) && typeof options?.[0] === 'object'\n}\n\nexport function optionIsValue(option: Option): option is string {\n return typeof option === 'string'\n}\n\nexport function fieldSupportsMany<TField extends ClientField | Field>(\n field: TField,\n): field is TField & (TField extends ClientField ? FieldWithManyClient : FieldWithMany) {\n return field.type === 'select' || field.type === 'relationship'\n}\n\nexport function fieldHasMaxDepth<TField extends ClientField | Field>(\n field: TField,\n): field is TField & (TField extends ClientField ? FieldWithMaxDepthClient : FieldWithMaxDepth) {\n return (\n (field.type === 'upload' || field.type === 'relationship') && typeof field.maxDepth === 'number'\n )\n}\n\nexport function fieldIsPresentationalOnly<\n TField extends ClientField | Field | TabAsField | TabAsFieldClient,\n>(\n field: TField,\n): field is TField & (TField extends ClientField | TabAsFieldClient ? UIFieldClient : UIField) {\n return field.type === 'ui'\n}\n\nexport function fieldIsSidebar<TField extends ClientField | Field | TabAsField | TabAsFieldClient>(\n field: TField,\n): field is { admin: { position: 'sidebar' } } & TField {\n return 'admin' in field && 'position' in field.admin && field.admin.position === 'sidebar'\n}\n\nexport function fieldAffectsData<\n TField extends ClientField | Field | TabAsField | TabAsFieldClient,\n>(\n field: TField,\n): field is TField &\n (TField extends ClientField | TabAsFieldClient ? FieldAffectingDataClient : FieldAffectingData) {\n return 'name' in field && !fieldIsPresentationalOnly(field)\n}\n\nexport function tabHasName<TField extends ClientTab | Tab>(tab: TField): tab is NamedTab & TField {\n return 'name' in tab\n}\n\nexport function fieldIsLocalized(field: Field | Tab): boolean {\n return 'localized' in field && field.localized\n}\n\nexport type HookName =\n | 'afterChange'\n | 'afterRead'\n | 'beforeChange'\n | 'beforeRead'\n | 'beforeValidate'\n"],"names":["valueIsValueWithRelation","value","fieldHasSubFields","field","type","fieldIsArrayType","fieldIsBlockType","fieldIsGroupType","optionIsObject","option","optionsAreObjects","options","Array","isArray","optionIsValue","fieldSupportsMany","fieldHasMaxDepth","maxDepth","fieldIsPresentationalOnly","fieldIsSidebar","admin","position","fieldAffectsData","tabHasName","tab","fieldIsLocalized","localized"],"mappings":"AAAA,qDAAqD,GA6mCrD,OAAO,SAASA,yBAAyBC,KAAc;IACrD,OAAOA,UAAU,QAAQ,OAAOA,UAAU,YAAY,gBAAgBA,SAAS,WAAWA;AAC5F;AAuaA,OAAO,SAASC,kBACdC,KAAa;IAEb,OACEA,MAAMC,IAAI,KAAK,WACfD,MAAMC,IAAI,KAAK,WACfD,MAAMC,IAAI,KAAK,SACfD,MAAMC,IAAI,KAAK;AAEnB;AAEA,OAAO,SAASC,iBACdF,KAAa;IAEb,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASE,iBACdH,KAAa;IAEb,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASG,iBACdJ,KAAa;IAEb,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASI,eAAeC,MAAc;IAC3C,OAAO,OAAOA,WAAW;AAC3B;AAEA,OAAO,SAASC,kBAAkBC,OAAiB;IACjD,OAAOC,MAAMC,OAAO,CAACF,YAAY,OAAOA,SAAS,CAAC,EAAE,KAAK;AAC3D;AAEA,OAAO,SAASG,cAAcL,MAAc;IAC1C,OAAO,OAAOA,WAAW;AAC3B;AAEA,OAAO,SAASM,kBACdZ,KAAa;IAEb,OAAOA,MAAMC,IAAI,KAAK,YAAYD,MAAMC,IAAI,KAAK;AACnD;AAEA,OAAO,SAASY,iBACdb,KAAa;IAEb,OACE,AAACA,CAAAA,MAAMC,IAAI,KAAK,YAAYD,MAAMC,IAAI,KAAK,cAAa,KAAM,OAAOD,MAAMc,QAAQ,KAAK;AAE5F;AAEA,OAAO,SAASC,0BAGdf,KAAa;IAEb,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASe,eACdhB,KAAa;IAEb,OAAO,WAAWA,SAAS,cAAcA,MAAMiB,KAAK,IAAIjB,MAAMiB,KAAK,CAACC,QAAQ,KAAK;AACnF;AAEA,OAAO,SAASC,iBAGdnB,KAAa;IAGb,OAAO,UAAUA,SAAS,CAACe,0BAA0Bf;AACvD;AAEA,OAAO,SAASoB,WAA2CC,GAAW;IACpE,OAAO,UAAUA;AACnB;AAEA,OAAO,SAASC,iBAAiBtB,KAAkB;IACjD,OAAO,eAAeA,SAASA,MAAMuB,SAAS;AAChD"}
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/config/types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport type { EditorProps } from '@monaco-editor/react'\nimport type { JSONSchema4 } from 'json-schema'\nimport type { CSSProperties } from 'react'\nimport type { DeepUndefinable } from 'ts-essentials'\n\nimport type { RichTextAdapter, RichTextAdapterProvider } from '../../admin/RichText.js'\nimport type {\n ArrayFieldErrorClientComponent,\n ArrayFieldErrorServerComponent,\n ArrayFieldLabelClientComponent,\n ArrayFieldLabelServerComponent,\n ArrayFieldProps,\n BlockFieldErrorClientComponent,\n BlockFieldErrorServerComponent,\n BlockFieldProps,\n CheckboxFieldErrorClientComponent,\n CheckboxFieldErrorServerComponent,\n CheckboxFieldLabelClientComponent,\n CheckboxFieldLabelServerComponent,\n CheckboxFieldProps,\n ClientTab,\n CodeFieldErrorClientComponent,\n CodeFieldErrorServerComponent,\n CodeFieldLabelClientComponent,\n CodeFieldLabelServerComponent,\n CodeFieldProps,\n CollapsibleFieldLabelClientComponent,\n CollapsibleFieldLabelServerComponent,\n CollapsibleFieldProps,\n ConditionalDateProps,\n DateFieldErrorClientComponent,\n DateFieldErrorServerComponent,\n DateFieldLabelClientComponent,\n DateFieldLabelServerComponent,\n DateFieldProps,\n Description,\n EmailFieldErrorClientComponent,\n EmailFieldErrorServerComponent,\n EmailFieldLabelClientComponent,\n EmailFieldLabelServerComponent,\n EmailFieldProps,\n FieldDescriptionClientComponent,\n FieldDescriptionServerComponent,\n GroupFieldLabelClientComponent,\n GroupFieldLabelServerComponent,\n GroupFieldProps,\n HiddenFieldProps,\n JSONFieldErrorClientComponent,\n JSONFieldErrorServerComponent,\n JSONFieldLabelClientComponent,\n JSONFieldLabelServerComponent,\n JSONFieldProps,\n MappedComponent,\n NumberFieldErrorClientComponent,\n NumberFieldErrorServerComponent,\n NumberFieldLabelClientComponent,\n NumberFieldLabelServerComponent,\n NumberFieldProps,\n PointFieldErrorClientComponent,\n PointFieldErrorServerComponent,\n PointFieldLabelClientComponent,\n PointFieldLabelServerComponent,\n PointFieldProps,\n RadioFieldErrorClientComponent,\n RadioFieldErrorServerComponent,\n RadioFieldLabelClientComponent,\n RadioFieldLabelServerComponent,\n RadioFieldProps,\n RelationshipFieldErrorClientComponent,\n RelationshipFieldErrorServerComponent,\n RelationshipFieldLabelClientComponent,\n RelationshipFieldLabelServerComponent,\n RelationshipFieldProps,\n RichTextFieldProps,\n RowFieldProps,\n RowLabelComponent,\n SelectFieldErrorClientComponent,\n SelectFieldErrorServerComponent,\n SelectFieldLabelClientComponent,\n SelectFieldLabelServerComponent,\n SelectFieldProps,\n StaticDescription,\n TabsFieldProps,\n TextFieldErrorClientComponent,\n TextFieldErrorServerComponent,\n TextFieldLabelClientComponent,\n TextFieldLabelServerComponent,\n TextareaFieldErrorClientComponent,\n TextareaFieldErrorServerComponent,\n TextareaFieldLabelClientComponent,\n TextareaFieldLabelServerComponent,\n TextareaFieldProps,\n UploadFieldErrorClientComponent,\n UploadFieldErrorServerComponent,\n UploadFieldLabelClientComponent,\n UploadFieldLabelServerComponent,\n UploadFieldProps,\n} from '../../admin/types.js'\nimport type { SanitizedCollectionConfig, TypeWithID } from '../../collections/config/types.js'\nimport type {\n CustomComponent,\n LabelFunction,\n PayloadComponent,\n StaticLabel,\n} from '../../config/types.js'\nimport type { DBIdentifierName } from '../../database/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { DocumentPreferences } from '../../preferences/types.js'\nimport type { Operation, PayloadRequest, RequestContext, Where } from '../../types/index.js'\n\nexport type FieldHookArgs<TData extends TypeWithID = any, TValue = any, TSiblingData = any> = {\n /** The collection which the field belongs to. If the field belongs to a global, this will be null. */\n collection: SanitizedCollectionConfig | null\n context: RequestContext\n /**\n * Only available in `afterRead` hooks\n */\n currentDepth?: number /**\n * Only available in `afterRead` hooks\n */\n /** The data passed to update the document within create and update operations, and the full document itself in the afterRead hook. */\n data?: Partial<TData>\n /**\n * Only available in the `afterRead` hook.\n */\n depth?: number\n draft?: boolean\n /** The field which the hook is running against. */\n field: FieldAffectingData\n /** Boolean to denote if this hook is running against finding one, or finding many within the afterRead hook. */\n findMany?: boolean\n /** The global which the field belongs to. If the field belongs to a collection, this will be null. */\n global: SanitizedGlobalConfig | null\n /** A string relating to which operation the field type is currently executing within. Useful within beforeValidate, beforeChange, and afterChange hooks to differentiate between create and update operations. */\n operation?: 'create' | 'delete' | 'read' | 'update'\n /** The full original document in `update` operations. In the `afterChange` hook, this is the resulting document of the operation. */\n originalDoc?: TData\n overrideAccess?: boolean\n /**\n * The path of the field, e.g. [\"group\", \"myArray\", 1, \"textField\"]. The path is the schemaPath but with indexes and would be used in the context of field data, not field schemas.\n */\n path: (number | string)[]\n /** The document before changes were applied, only in `afterChange` hooks. */\n previousDoc?: TData\n /** The sibling data of the document before changes being applied, only in `beforeChange`, `beforeValidate`, `beforeDuplicate` and `afterChange` field hooks. */\n previousSiblingDoc?: TData\n /** The previous value of the field, before changes, only in `beforeChange`, `afterChange`, `beforeDuplicate` and `beforeValidate` field hooks. */\n previousValue?: TValue\n /** The Express request object. It is mocked for Local API operations. */\n req: PayloadRequest\n /**\n * The schemaPath of the field, e.g. [\"group\", \"myArray\", \"textField\"]. The schemaPath is the path but without indexes and would be used in the context of field schemas, not field data.\n */\n schemaPath: string[]\n /**\n * Only available in the `afterRead` hook.\n */\n showHiddenFields?: boolean\n /** The sibling data passed to a field that the hook is running against. */\n siblingData: Partial<TSiblingData>\n /**\n * The original siblingData with locales (not modified by any hooks). Only available in `beforeChange` and `beforeDuplicate` field hooks.\n */\n siblingDocWithLocales?: Record<string, unknown>\n /** The value of the field. */\n value?: TValue\n}\n\nexport type FieldHook<TData extends TypeWithID = any, TValue = any, TSiblingData = any> = (\n args: FieldHookArgs<TData, TValue, TSiblingData>,\n) => Promise<TValue> | TValue\n\nexport type FieldAccess<TData extends TypeWithID = any, TSiblingData = any> = (args: {\n /**\n * The incoming data used to `create` or `update` the document with. `data` is undefined during the `read` operation.\n */\n data?: Partial<TData>\n /**\n * The original data of the document before the `update` is applied. `doc` is undefined during the `create` operation.\n */\n doc?: TData\n /**\n * The `id` of the current document being read or updated. `id` is undefined during the `create` operation.\n */\n id?: number | string\n /** The `payload` object to interface with the payload API */\n req: PayloadRequest\n /**\n * Immediately adjacent data to this field. For example, if this is a `group` field, then `siblingData` will be the other fields within the group.\n */\n siblingData?: Partial<TSiblingData>\n}) => Promise<boolean> | boolean\n\nexport type Condition<TData extends TypeWithID = any, TSiblingData = any> = (\n data: Partial<TData>,\n siblingData: Partial<TSiblingData>,\n { user }: { user: PayloadRequest['user'] },\n) => boolean\n\nexport type FilterOptionsProps<TData = any> = {\n /**\n * An object containing the full collection or global document currently being edited.\n */\n data: TData\n /**\n * The `id` of the current document being edited. `id` is undefined during the `create` operation.\n */\n id: number | string\n /**\n * The collection `slug` to filter against, limited to this field's `relationTo` property.\n */\n relationTo: CollectionSlug\n /**\n * An object containing document data that is scoped to only fields within the same parent of this field.\n */\n siblingData: unknown\n /**\n * An object containing the currently authenticated user.\n */\n user: Partial<PayloadRequest['user']>\n}\n\nexport type FilterOptionsFunc<TData = any> = (\n options: FilterOptionsProps<TData>,\n) => Promise<Where | boolean> | Where | boolean\n\nexport type FilterOptions<TData = any> =\n | ((options: FilterOptionsProps<TData>) => Promise<Where | boolean> | Where | boolean)\n | Where\n | null\n\ntype Admin = {\n className?: string\n components?: {\n Cell?: CustomComponent\n Description?: CustomComponent<FieldDescriptionClientComponent | FieldDescriptionServerComponent>\n Field?: CustomComponent\n /**\n * The Filter component has to be a client component\n */\n Filter?: PayloadComponent\n }\n /**\n * You can programmatically show / hide fields based on what other fields are doing.\n * This is also run on the server, to determine if the field should be validated.\n */\n condition?: Condition\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n description?: Description\n disableBulkEdit?: boolean\n /**\n * Shows / hides fields from appearing in the list view column selector.\n * @type boolean\n */\n disableListColumn?: boolean\n /**\n * Shows / hides fields from appearing in the list view filter options.\n * @type boolean\n */\n disableListFilter?: boolean\n disabled?: boolean\n hidden?: boolean\n position?: 'sidebar'\n readOnly?: boolean\n style?: CSSProperties\n width?: string\n}\n\nexport type AdminClient = {\n className?: string\n components?: {\n Cell?: MappedComponent\n Description?: MappedComponent\n Field?: MappedComponent\n /**\n * The Filter component has to be a client component\n */\n Filter?: MappedComponent\n }\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n description?: StaticDescription\n disableBulkEdit?: boolean\n /**\n * Shows / hides fields from appearing in the list view column selector.\n * @type boolean\n */\n disableListColumn?: boolean\n /**\n * Shows / hides fields from appearing in the list view filter options.\n * @type boolean\n */\n disableListFilter?: boolean\n disabled?: boolean\n hidden?: boolean\n position?: 'sidebar'\n readOnly?: boolean\n style?: CSSProperties\n width?: string\n}\n\nexport type Labels = {\n plural: LabelFunction | StaticLabel\n singular: LabelFunction | StaticLabel\n}\n\nexport type LabelsClient = {\n plural: StaticLabel\n singular: StaticLabel\n}\n\nexport type BaseValidateOptions<TData, TSiblingData, TValue> = {\n collectionSlug?: string\n data: Partial<TData>\n id?: number | string\n operation?: Operation\n preferences: DocumentPreferences\n previousValue?: TValue\n req: PayloadRequest\n required?: boolean\n siblingData: Partial<TSiblingData>\n}\n\nexport type ValidateOptions<\n TData,\n TSiblingData,\n TFieldConfig extends object,\n TValue,\n> = BaseValidateOptions<TData, TSiblingData, TValue> & TFieldConfig\n\nexport type Validate<\n TValue = any,\n TData = any,\n TSiblingData = any,\n TFieldConfig extends object = object,\n> = (\n value: TValue,\n options: ValidateOptions<TData, TSiblingData, TFieldConfig, TValue>,\n) => Promise<string | true> | string | true\n\nexport type OptionObject = {\n label: LabelFunction | StaticLabel\n value: string\n}\n\nexport type Option = OptionObject | string\n\nexport interface FieldBase {\n /**\n * Do not set this property manually. This is set to true during sanitization, to avoid\n * sanitizing the same field multiple times.\n */\n _sanitized?: boolean\n access?: {\n create?: FieldAccess\n read?: FieldAccess\n update?: FieldAccess\n }\n admin?: Admin\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n defaultValue?: any\n hidden?: boolean\n hooks?: {\n afterChange?: FieldHook[]\n afterRead?: FieldHook[]\n beforeChange?: FieldHook[]\n /**\n * Runs before a document is duplicated to prevent errors in unique fields or return null to use defaultValue.\n */\n beforeDuplicate?: FieldHook[]\n beforeValidate?: FieldHook[]\n }\n index?: boolean\n label?: LabelFunction | StaticLabel | false\n localized?: boolean\n /**\n * The name of the field. Must be alphanumeric and cannot contain ' . '\n *\n * Must not be one of reserved field names: ['__v', 'salt', 'hash', 'file']\n * @link https://payloadcms.com/docs/fields/overview#field-names\n */\n name: string\n required?: boolean\n saveToJWT?: boolean | string\n /**\n * Allows you to modify the base JSON schema that is generated during generate:types for this field.\n * This JSON schema will be used to generate the TypeScript interface of this field.\n */\n typescriptSchema?: Array<(args: { jsonSchema: JSONSchema4 }) => JSONSchema4>\n unique?: boolean\n validate?: Validate\n}\n\nexport interface FieldBaseClient {\n _isPresentational?: undefined\n _path?: string\n _schemaPath?: string\n admin?: AdminClient\n hidden?: boolean\n index?: boolean\n label?: StaticLabel\n localized?: boolean\n /**\n * The name of the field. Must be alphanumeric and cannot contain ' . '\n *\n * Must not be one of reserved field names: ['__v', 'salt', 'hash', 'file']\n * @link https://payloadcms.com/docs/fields/overview#field-names\n */\n name?: string\n required?: boolean\n saveToJWT?: boolean | string\n /**\n * Allows you to modify the base JSON schema that is generated during generate:types for this field.\n * This JSON schema will be used to generate the TypeScript interface of this field.\n */\n typescriptSchema?: Array<(args: { jsonSchema: JSONSchema4 }) => JSONSchema4>\n unique?: boolean\n}\n\nexport type NumberField = {\n admin?: {\n /** Set this property to a string that will be used for browser autocomplete. */\n autoComplete?: string\n components?: {\n Error?: CustomComponent<NumberFieldErrorClientComponent | NumberFieldErrorServerComponent>\n Label?: CustomComponent<NumberFieldLabelClientComponent | NumberFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n /** Set this property to define a placeholder string for the field. */\n placeholder?: Record<string, string> | string\n /** Set a value for the number field to increment / decrement using browser controls. */\n step?: number\n } & Admin\n /** Maximum value accepted. Used in the default `validate` function. */\n max?: number\n /** Minimum value accepted. Used in the default `validate` function. */\n min?: number\n type: 'number'\n validate?: Validate<number | number[], unknown, unknown, NumberField>\n} & (\n | {\n /** Makes this field an ordered array of numbers instead of just a single number. */\n hasMany: true\n /** Maximum number of numbers in the numbers array, if `hasMany` is set to true. */\n maxRows?: number\n /** Minimum number of numbers in the numbers array, if `hasMany` is set to true. */\n minRows?: number\n }\n | {\n /** Makes this field an ordered array of numbers instead of just a single number. */\n hasMany?: false | undefined\n /** Maximum number of numbers in the numbers array, if `hasMany` is set to true. */\n maxRows?: undefined\n /** Minimum number of numbers in the numbers array, if `hasMany` is set to true. */\n minRows?: undefined\n }\n) &\n FieldBase\n\nexport type NumberFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<NumberField['admin'], 'autoComplete' | 'placeholder' | 'step'>\n} & FieldBaseClient &\n Pick<NumberField, 'hasMany' | 'max' | 'maxRows' | 'min' | 'minRows' | 'type'>\n\nexport type TextField = {\n admin?: {\n autoComplete?: string\n components?: {\n Error?: CustomComponent<TextFieldErrorClientComponent | TextFieldErrorServerComponent>\n Label?: CustomComponent<TextFieldLabelClientComponent | TextFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n placeholder?: Record<string, string> | string\n rtl?: boolean\n } & Admin\n maxLength?: number\n minLength?: number\n type: 'text'\n validate?: Validate<string | string[], unknown, unknown, TextField>\n} & (\n | {\n /** Makes this field an ordered array of strings instead of just a single string. */\n hasMany: true\n /** Maximum number of strings in the strings array, if `hasMany` is set to true. */\n maxRows?: number\n /** Minimum number of strings in the strings array, if `hasMany` is set to true. */\n minRows?: number\n }\n | {\n /** Makes this field an ordered array of strings instead of just a single string. */\n hasMany?: false | undefined\n /** Maximum number of strings in the strings array, if `hasMany` is set to true. */\n maxRows?: undefined\n /** Minimum number of strings in the strings array, if `hasMany` is set to true. */\n minRows?: undefined\n }\n) &\n FieldBase\n\nexport type TextFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<TextField['admin'], 'autoComplete' | 'placeholder' | 'rtl'>\n} & FieldBaseClient &\n Pick<TextField, 'hasMany' | 'maxLength' | 'maxRows' | 'minLength' | 'minRows' | 'type'>\n\nexport type EmailField = {\n admin?: {\n autoComplete?: string\n components?: {\n Error?: CustomComponent<EmailFieldErrorClientComponent | EmailFieldErrorServerComponent>\n Label?: CustomComponent<EmailFieldLabelClientComponent | EmailFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n placeholder?: Record<string, string> | string\n } & Admin\n type: 'email'\n validate?: Validate<string, unknown, unknown, EmailField>\n} & FieldBase\n\nexport type EmailFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<EmailField['admin'], 'placeholder'>\n} & FieldBaseClient &\n Pick<EmailField, 'type'>\n\nexport type TextareaField = {\n admin?: {\n components?: {\n Error?: CustomComponent<TextareaFieldErrorClientComponent | TextareaFieldErrorServerComponent>\n Label?: CustomComponent<TextareaFieldLabelClientComponent | TextareaFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n placeholder?: Record<string, string> | string\n rows?: number\n rtl?: boolean\n } & Admin\n maxLength?: number\n minLength?: number\n type: 'textarea'\n validate?: Validate<string, unknown, unknown, TextareaField>\n} & FieldBase\n\nexport type TextareaFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<TextareaField['admin'], 'placeholder' | 'rows' | 'rtl'>\n} & FieldBaseClient &\n Pick<TextareaField, 'maxLength' | 'minLength' | 'type'>\n\nexport type CheckboxField = {\n admin?: {\n components?: {\n Error?: CustomComponent<CheckboxFieldErrorClientComponent | CheckboxFieldErrorServerComponent>\n Label?: CustomComponent<CheckboxFieldLabelClientComponent | CheckboxFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n } & Admin\n type: 'checkbox'\n validate?: Validate<unknown, unknown, unknown, CheckboxField>\n} & FieldBase\n\nexport type CheckboxFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient\n} & FieldBaseClient &\n Pick<CheckboxField, 'type'>\n\nexport type DateField = {\n admin?: {\n components?: {\n Error?: CustomComponent<DateFieldErrorClientComponent | DateFieldErrorServerComponent>\n Label?: CustomComponent<DateFieldLabelClientComponent | DateFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n date?: ConditionalDateProps\n placeholder?: Record<string, string> | string\n } & Admin\n type: 'date'\n validate?: Validate<unknown, unknown, unknown, DateField>\n} & FieldBase\n\nexport type DateFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<DateField['admin'], 'date' | 'placeholder'>\n} & FieldBaseClient &\n Pick<DateField, 'type'>\n\nexport type GroupField = {\n admin?: {\n components?: {\n Label?: CustomComponent<GroupFieldLabelClientComponent | GroupFieldLabelServerComponent>\n } & Admin['components']\n hideGutter?: boolean\n } & Admin\n fields: Field[]\n /** Customize generated GraphQL and Typescript schema names.\n * By default, it is bound to the collection.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n type: 'group'\n validate?: Validate<unknown, unknown, unknown, GroupField>\n} & Omit<FieldBase, 'required'>\n\nexport type GroupFieldClient = {\n admin?: {\n components?: {\n Label?: MappedComponent\n } & AdminClient['components']\n } & AdminClient &\n Pick<GroupField['admin'], 'hideGutter'>\n fields: ClientField[]\n} & Omit<FieldBaseClient, 'required'> &\n Pick<GroupField, 'interfaceName' | 'type'>\n\nexport type RowField = {\n admin?: Omit<Admin, 'description'>\n fields: Field[]\n type: 'row'\n} & Omit<FieldBase, 'admin' | 'label' | 'name' | 'validate'>\n\nexport type RowFieldClient = {\n admin?: Omit<AdminClient, 'description'>\n fields: ClientField[]\n} & Omit<FieldBaseClient, 'admin' | 'label' | 'name' | 'validate'> &\n Pick<RowField, 'type'>\n\nexport type CollapsibleField = {\n fields: Field[]\n type: 'collapsible'\n} & (\n | {\n admin: {\n components: {\n Label?: CustomComponent<\n CollapsibleFieldLabelClientComponent | CollapsibleFieldLabelServerComponent\n >\n RowLabel: RowLabelComponent\n } & Admin['components']\n initCollapsed?: boolean\n } & Admin\n label?: Required<FieldBase['label']>\n }\n | {\n admin?: {\n components?: {\n Label?: CustomComponent<\n CollapsibleFieldLabelClientComponent | CollapsibleFieldLabelServerComponent\n >\n } & Admin['components']\n initCollapsed?: boolean\n } & Admin\n label: Required<FieldBase['label']>\n }\n) &\n Omit<FieldBase, 'label' | 'name' | 'validate'>\n\nexport type CollapsibleFieldClient = {\n fields: ClientField[]\n} & (\n | {\n admin: {\n components: {\n RowLabel: MappedComponent\n } & AdminClient['components']\n initCollapsed?: boolean\n } & AdminClient\n label?: Required<FieldBaseClient['label']>\n }\n | {\n admin?: {\n initCollapsed?: boolean\n } & AdminClient\n label: Required<FieldBaseClient['label']>\n }\n) &\n Omit<FieldBaseClient, 'label' | 'name' | 'validate'> &\n Pick<CollapsibleField, 'type'>\n\ntype TabBase = {\n description?: Description\n fields: Field[]\n interfaceName?: string\n saveToJWT?: boolean | string\n} & Omit<FieldBase, 'required' | 'validate'>\n\nexport type NamedTab = {\n /** Customize generated GraphQL and Typescript schema names.\n * The slug is used by default.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n} & TabBase\n\nexport type UnnamedTab = {\n interfaceName?: never\n /**\n * Can be either:\n * - A string, which will be used as the tab's label.\n * - An object, where the key is the language code and the value is the label.\n */\n label:\n | {\n [selectedLanguage: string]: string\n }\n | LabelFunction\n | string\n localized?: never\n} & Omit<TabBase, 'name'>\n\nexport type Tab = NamedTab | UnnamedTab\n\nexport type TabsField = {\n admin?: Omit<Admin, 'description'>\n tabs: Tab[]\n type: 'tabs'\n} & Omit<FieldBase, 'admin' | 'localized' | 'name' | 'saveToJWT'>\n\nexport type TabsFieldClient = {\n admin?: Omit<AdminClient, 'description'>\n tabs: ClientTab[]\n} & Omit<FieldBaseClient, 'admin' | 'localized' | 'name' | 'saveToJWT'> &\n Pick<TabsField, 'type'>\n\nexport type TabAsField = {\n name?: string\n type: 'tab'\n} & Tab\n\nexport type TabAsFieldClient = ClientTab & Pick<TabAsField, 'name' | 'type'>\n\nexport type UIField = {\n admin: {\n components?: {\n Cell?: CustomComponent\n Field: CustomComponent\n /**\n * The Filter component has to be a client component\n */\n Filter?: PayloadComponent\n } & Admin['components']\n condition?: Condition\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n disableBulkEdit?: boolean\n /**\n * Shows / hides fields from appearing in the list view column selector.\n * @type boolean\n */\n disableListColumn?: boolean\n position?: string\n width?: string\n }\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n label?: Record<string, string> | string\n name: string\n type: 'ui'\n}\n\nexport type UIFieldClient = {\n _isPresentational?: true\n // still include FieldBaseClient.admin (even if it's undefinable) so that we don't need constant type checks (e.g. if('xy' in field))\n // eslint-disable-next-line perfectionist/sort-intersection-types\n admin: DeepUndefinable<FieldBaseClient['admin']> & {\n components?: {\n Cell?: MappedComponent\n Field: MappedComponent\n Filter?: MappedComponent\n } & AdminClient['components']\n } & Pick<\n UIField['admin'],\n 'custom' | 'disableBulkEdit' | 'disableListColumn' | 'position' | 'width'\n >\n} & Omit<DeepUndefinable<FieldBaseClient>, '_isPresentational' | 'admin'> & // still include FieldBaseClient (even if it's undefinable) so that we don't need constant type checks (e.g. if('xy' in field))\n Pick<UIField, 'label' | 'name' | 'type'>\n\ntype SharedUploadProperties = {\n /**\n * Toggle the preview in the admin interface.\n */\n displayPreview?: boolean\n filterOptions?: FilterOptions\n hasMany?: boolean\n /**\n * Sets a maximum population depth for this field, regardless of the remaining depth when this field is reached.\n *\n * {@link https://payloadcms.com/docs/getting-started/concepts#field-level-max-depth}\n */\n maxDepth?: number\n type: 'upload'\n validate?: Validate<unknown, unknown, unknown, SharedUploadProperties>\n} & (\n | {\n hasMany: true\n /**\n * @deprecated Use 'maxRows' instead\n */\n max?: number\n maxRows?: number\n /**\n * @deprecated Use 'minRows' instead\n */\n min?: number\n minRows?: number\n }\n | {\n hasMany?: false | undefined\n /**\n * @deprecated Use 'maxRows' instead\n */\n max?: undefined\n maxRows?: undefined\n /**\n * @deprecated Use 'minRows' instead\n */\n min?: undefined\n minRows?: undefined\n }\n) &\n FieldBase\n\ntype SharedUploadPropertiesClient = FieldBaseClient &\n Pick<\n SharedUploadProperties,\n 'hasMany' | 'max' | 'maxDepth' | 'maxRows' | 'min' | 'minRows' | 'type'\n >\n\ntype UploadAdmin = {\n allowCreate?: boolean\n components?: {\n Error?: CustomComponent<\n RelationshipFieldErrorClientComponent | RelationshipFieldErrorServerComponent\n >\n Label?: CustomComponent<\n RelationshipFieldLabelClientComponent | RelationshipFieldLabelServerComponent\n >\n } & Admin['components']\n isSortable?: boolean\n} & Admin\ntype UploadAdminClient = {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n } & AdminClient['components']\n} & AdminClient &\n Pick<UploadAdmin, 'allowCreate' | 'isSortable'>\n\nexport type PolymorphicUploadField = {\n admin?: {\n sortOptions?: { [collectionSlug: CollectionSlug]: string }\n } & UploadAdmin\n relationTo: CollectionSlug[]\n} & SharedUploadProperties\n\nexport type PolymorphicUploadFieldClient = {\n admin?: {\n sortOptions?: Pick<PolymorphicUploadField['admin'], 'sortOptions'>\n } & UploadAdminClient\n} & Pick<PolymorphicUploadField, 'displayPreview' | 'maxDepth' | 'relationTo' | 'type'> &\n SharedUploadPropertiesClient\n\nexport type SingleUploadField = {\n admin?: {\n sortOptions?: string\n } & UploadAdmin\n relationTo: CollectionSlug\n} & SharedUploadProperties\n\nexport type SingleUploadFieldClient = {\n admin?: Pick<SingleUploadField['admin'], 'sortOptions'> & UploadAdminClient\n} & Pick<SingleUploadField, 'displayPreview' | 'maxDepth' | 'relationTo' | 'type'> &\n SharedUploadPropertiesClient\n\nexport type UploadField = /* PolymorphicUploadField | */ SingleUploadField\n\nexport type UploadFieldClient = /* PolymorphicUploadFieldClient | */ SingleUploadFieldClient\n\nexport type CodeField = {\n admin?: {\n components?: {\n Error?: CustomComponent<CodeFieldErrorClientComponent | CodeFieldErrorServerComponent>\n Label?: CustomComponent<CodeFieldLabelClientComponent | CodeFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n editorOptions?: EditorProps['options']\n language?: string\n } & Admin\n maxLength?: number\n minLength?: number\n type: 'code'\n validate?: Validate<string, unknown, unknown, CodeField>\n} & Omit<FieldBase, 'admin'>\n\nexport type CodeFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<CodeField['admin'], 'editorOptions' | 'language'>\n} & Omit<FieldBaseClient, 'admin'> &\n Pick<CodeField, 'maxLength' | 'minLength' | 'type'>\n\nexport type JSONField = {\n admin?: {\n components?: {\n Error?: CustomComponent<JSONFieldErrorClientComponent | JSONFieldErrorServerComponent>\n Label?: CustomComponent<JSONFieldLabelClientComponent | JSONFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n editorOptions?: EditorProps['options']\n } & Admin\n\n jsonSchema?: {\n fileMatch: string[]\n schema: JSONSchema4\n uri: string\n }\n type: 'json'\n validate?: Validate<Record<string, unknown>, unknown, unknown, JSONField>\n} & Omit<FieldBase, 'admin'>\n\nexport type JSONFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<JSONField['admin'], 'editorOptions'>\n} & Omit<FieldBaseClient, 'admin'> &\n Pick<JSONField, 'jsonSchema' | 'type'>\n\nexport type SelectField = {\n admin?: {\n components?: {\n Error?: CustomComponent<SelectFieldErrorClientComponent | SelectFieldErrorServerComponent>\n Label?: CustomComponent<SelectFieldLabelClientComponent | SelectFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n isClearable?: boolean\n isSortable?: boolean\n } & Admin\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n /**\n * Customize the DB enum name\n */\n enumName?: DBIdentifierName\n hasMany?: boolean\n options: Option[]\n type: 'select'\n validate?: Validate<string, unknown, unknown, SelectField>\n} & FieldBase\n\nexport type SelectFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<SelectField['admin'], 'isClearable' | 'isSortable'>\n} & FieldBaseClient &\n Pick<SelectField, 'hasMany' | 'options' | 'type'>\n\ntype SharedRelationshipProperties = {\n filterOptions?: FilterOptions\n hasMany?: boolean\n /**\n * Sets a maximum population depth for this field, regardless of the remaining depth when this field is reached.\n *\n * {@link https://payloadcms.com/docs/getting-started/concepts#field-level-max-depth}\n */\n maxDepth?: number\n type: 'relationship'\n validate?: Validate<unknown, unknown, unknown, SharedRelationshipProperties>\n} & (\n | {\n hasMany: true\n /**\n * @deprecated Use 'maxRows' instead\n */\n max?: number\n maxRows?: number\n /**\n * @deprecated Use 'minRows' instead\n */\n min?: number\n minRows?: number\n }\n | {\n hasMany?: false | undefined\n /**\n * @deprecated Use 'maxRows' instead\n */\n max?: undefined\n maxRows?: undefined\n /**\n * @deprecated Use 'minRows' instead\n */\n min?: undefined\n minRows?: undefined\n }\n) &\n FieldBase\n\ntype SharedRelationshipPropertiesClient = FieldBaseClient &\n Pick<\n SharedRelationshipProperties,\n 'hasMany' | 'max' | 'maxDepth' | 'maxRows' | 'min' | 'minRows' | 'type'\n >\n\ntype RelationshipAdmin = {\n allowCreate?: boolean\n components?: {\n Error?: CustomComponent<\n RelationshipFieldErrorClientComponent | RelationshipFieldErrorServerComponent\n >\n Label?: CustomComponent<\n RelationshipFieldLabelClientComponent | RelationshipFieldLabelServerComponent\n >\n } & Admin['components']\n isSortable?: boolean\n} & Admin\n\ntype RelationshipAdminClient = {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n } & AdminClient['components']\n} & AdminClient &\n Pick<RelationshipAdmin, 'allowCreate' | 'isSortable'>\n\nexport type PolymorphicRelationshipField = {\n admin?: {\n sortOptions?: { [collectionSlug: CollectionSlug]: string }\n } & RelationshipAdmin\n relationTo: CollectionSlug[]\n} & SharedRelationshipProperties\n\nexport type PolymorphicRelationshipFieldClient = {\n admin?: {\n sortOptions?: Pick<PolymorphicRelationshipField['admin'], 'sortOptions'>\n } & RelationshipAdminClient\n} & Pick<PolymorphicRelationshipField, 'relationTo'> &\n SharedRelationshipPropertiesClient\n\nexport type SingleRelationshipField = {\n admin?: {\n sortOptions?: string\n } & RelationshipAdmin\n relationTo: CollectionSlug\n} & SharedRelationshipProperties\n\nexport type SingleRelationshipFieldClient = {\n admin?: Pick<SingleRelationshipField['admin'], 'sortOptions'> & RelationshipAdminClient\n} & Pick<SingleRelationshipField, 'relationTo'> &\n SharedRelationshipPropertiesClient\n\nexport type RelationshipField = PolymorphicRelationshipField | SingleRelationshipField\n\nexport type RelationshipFieldClient =\n | PolymorphicRelationshipFieldClient\n | SingleRelationshipFieldClient\n\nexport type ValueWithRelation = {\n relationTo: CollectionSlug\n value: number | string\n}\n\nexport function valueIsValueWithRelation(value: unknown): value is ValueWithRelation {\n return value !== null && typeof value === 'object' && 'relationTo' in value && 'value' in value\n}\n\nexport type RelationshipValue =\n | (number | string)[]\n | ValueWithRelation\n | ValueWithRelation[]\n | (number | string)\n\nexport type RichTextField<\n TValue extends object = any,\n TAdapterProps = any,\n TExtraProperties = object,\n> = {\n admin?: {\n components?: {\n Error?: CustomComponent\n Label?: CustomComponent\n } & Admin['components']\n } & Admin\n editor?:\n | RichTextAdapter<TValue, TAdapterProps, TExtraProperties>\n | RichTextAdapterProvider<TValue, TAdapterProps, TExtraProperties>\n /**\n * Sets a maximum population depth for this field, regardless of the remaining depth when this field is reached.\n *\n * {@link https://payloadcms.com/docs/getting-started/concepts#field-level-max-depth}\n */\n maxDepth?: number\n type: 'richText'\n} & FieldBase &\n TExtraProperties\n\nexport type RichTextFieldClient<\n TValue extends object = any,\n TAdapterProps = any,\n TExtraProperties = object,\n> = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n } & AdminClient['components']\n placeholder?: Record<string, string> | string\n } & AdminClient\n richTextComponentMap?: Map<string, any>\n} & FieldBaseClient &\n Pick<RichTextField<TValue, TAdapterProps, TExtraProperties>, 'maxDepth' | 'type'> &\n TExtraProperties\n\nexport type ArrayField = {\n admin?: {\n components?: {\n Error?: CustomComponent<ArrayFieldErrorClientComponent | ArrayFieldErrorServerComponent>\n Label?: CustomComponent<ArrayFieldLabelClientComponent | ArrayFieldLabelServerComponent>\n RowLabel?: RowLabelComponent\n } & Admin['components']\n initCollapsed?: boolean\n /**\n * Disable drag and drop sorting\n */\n isSortable?: boolean\n } & Admin\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n fields: Field[]\n /** Customize generated GraphQL and Typescript schema names.\n * By default, it is bound to the collection.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n labels?: Labels\n maxRows?: number\n minRows?: number\n type: 'array'\n validate?: Validate<unknown[], unknown, unknown, ArrayField>\n} & FieldBase\n\nexport type ArrayFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n RowLabel?: MappedComponent\n } & AdminClient['components']\n } & AdminClient &\n Pick<ArrayField['admin'], 'initCollapsed' | 'isSortable'>\n fields: ClientField[]\n labels?: LabelsClient\n} & FieldBaseClient &\n Pick<ArrayField, 'interfaceName' | 'maxRows' | 'minRows' | 'type'>\n\nexport type RadioField = {\n admin?: {\n components?: {\n Error?: CustomComponent<RadioFieldErrorClientComponent | RadioFieldErrorServerComponent>\n Label?: CustomComponent<RadioFieldLabelClientComponent | RadioFieldLabelServerComponent>\n } & Admin['components']\n layout?: 'horizontal' | 'vertical'\n } & Admin\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n /**\n * Customize the DB enum name\n */\n enumName?: DBIdentifierName\n options: Option[]\n type: 'radio'\n validate?: Validate<string, unknown, unknown, RadioField>\n} & FieldBase\n\nexport type RadioFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n } & AdminClient['components']\n } & AdminClient &\n Pick<RadioField['admin'], 'layout'>\n} & FieldBaseClient &\n Pick<RadioField, 'options' | 'type'>\n\nexport type Block = {\n /**\n * Do not set this property manually. This is set to true during sanitization, to avoid\n * sanitizing the same block multiple times.\n */\n _sanitized?: boolean\n admin?: {\n components?: {\n Label?: PayloadComponent<\n never,\n {\n blockKind: 'block' | 'lexicalBlock' | 'lexicalInlineBlock' | string\n /**\n * May contain the formData\n */\n formData: Record<string, any>\n }\n >\n }\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n }\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n fields: Field[]\n /** @deprecated - please migrate to the interfaceName property instead. */\n graphQL?: {\n singularName?: string\n }\n imageAltText?: string\n imageURL?: string\n /** Customize generated GraphQL and Typescript schema names.\n * The slug is used by default.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n labels?: Labels\n slug: string\n}\nexport type ClientBlock = {\n admin?: {\n components?: {\n Label?: MappedComponent\n }\n } & Pick<Block['admin'], 'custom'>\n fields: ClientField[]\n labels?: LabelsClient\n} & Pick<Block, 'imageAltText' | 'imageURL' | 'slug'>\n\nexport type BlockField = {\n admin?: {\n components?: {\n Error?: CustomComponent<BlockFieldErrorClientComponent | BlockFieldErrorServerComponent>\n } & Admin['components']\n initCollapsed?: boolean\n /**\n * Disable drag and drop sorting\n */\n isSortable?: boolean\n } & Admin\n blocks: Block[]\n defaultValue?: unknown\n labels?: Labels\n maxRows?: number\n minRows?: number\n type: 'blocks'\n validate?: Validate<string, unknown, unknown, BlockField>\n} & FieldBase\n\nexport type BlockFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n } & AdminClient['components']\n } & AdminClient &\n Pick<BlockField['admin'], 'initCollapsed' | 'isSortable'>\n blocks: ClientBlock[]\n labels?: LabelsClient\n} & FieldBaseClient &\n Pick<BlockField, 'maxRows' | 'minRows' | 'type'>\n\nexport type PointField = {\n admin?: {\n components?: {\n Error?: CustomComponent<PointFieldErrorClientComponent | PointFieldErrorServerComponent>\n Label?: CustomComponent<PointFieldLabelClientComponent | PointFieldLabelServerComponent>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n } & Admin['components']\n placeholder?: Record<string, string> | string\n step?: number\n } & Admin\n type: 'point'\n validate?: Validate<unknown, unknown, unknown, PointField>\n} & FieldBase\n\nexport type PointFieldClient = {\n admin?: {\n components?: {\n Error?: MappedComponent\n Label?: MappedComponent\n afterInput?: MappedComponent[]\n beforeInput?: MappedComponent[]\n } & AdminClient['components']\n } & AdminClient &\n Pick<PointField['admin'], 'placeholder' | 'step'>\n} & FieldBaseClient &\n Pick<PointField, 'type'>\n\nexport type Field =\n | ArrayField\n | BlockField\n | CheckboxField\n | CodeField\n | CollapsibleField\n | DateField\n | EmailField\n | GroupField\n | JSONField\n | NumberField\n | PointField\n | RadioField\n | RelationshipField\n | RichTextField\n | RowField\n | SelectField\n | TabsField\n | TextField\n | TextareaField\n | UIField\n | UploadField\n\nexport type ClientField =\n | ArrayFieldClient\n | BlockFieldClient\n | CheckboxFieldClient\n | CodeFieldClient\n | CollapsibleFieldClient\n | DateFieldClient\n | EmailFieldClient\n | GroupFieldClient\n | JSONFieldClient\n | NumberFieldClient\n | PointFieldClient\n | RadioFieldClient\n | RelationshipFieldClient\n | RichTextFieldClient\n | RowFieldClient\n | SelectFieldClient\n | TabsFieldClient\n | TextFieldClient\n | TextareaFieldClient\n | UIFieldClient\n | UploadFieldClient\n\nexport type ClientFieldProps =\n | ArrayFieldProps\n | BlockFieldProps\n | CheckboxFieldProps\n | CodeFieldProps\n | CollapsibleFieldProps\n | DateFieldProps\n | EmailFieldProps\n | GroupFieldProps\n | HiddenFieldProps\n | JSONFieldProps\n | NumberFieldProps\n | PointFieldProps\n | RadioFieldProps\n | RelationshipFieldProps\n | RichTextFieldProps\n | RowFieldProps\n | SelectFieldProps\n | TabsFieldProps\n | TextareaFieldProps\n | UploadFieldProps\n\ntype ExtractFieldTypes<T> = T extends { type: infer U } ? U : never\n\nexport type FieldTypes = ExtractFieldTypes<Field>\n\nexport type FieldAffectingData =\n | ArrayField\n | BlockField\n | CheckboxField\n | CodeField\n | DateField\n | EmailField\n | GroupField\n | JSONField\n | NumberField\n | PointField\n | RadioField\n | RelationshipField\n | RichTextField\n | SelectField\n | TabAsField\n | TextField\n | TextareaField\n | UploadField\n\nexport type FieldAffectingDataClient =\n | ArrayFieldClient\n | BlockFieldClient\n | CheckboxFieldClient\n | CodeFieldClient\n | DateFieldClient\n | EmailFieldClient\n | GroupFieldClient\n | JSONFieldClient\n | NumberFieldClient\n | PointFieldClient\n | RadioFieldClient\n | RelationshipFieldClient\n | RichTextFieldClient\n | SelectFieldClient\n | TabAsFieldClient\n | TextFieldClient\n | TextareaFieldClient\n | UploadFieldClient\n\nexport type NonPresentationalField =\n | ArrayField\n | BlockField\n | CheckboxField\n | CodeField\n | CollapsibleField\n | DateField\n | EmailField\n | GroupField\n | JSONField\n | NumberField\n | PointField\n | RadioField\n | RelationshipField\n | RichTextField\n | RowField\n | SelectField\n | TabsField\n | TextField\n | TextareaField\n | UploadField\n\nexport type NonPresentationalFieldClient =\n | ArrayFieldClient\n | BlockFieldClient\n | CheckboxFieldClient\n | CodeFieldClient\n | CollapsibleFieldClient\n | DateFieldClient\n | EmailFieldClient\n | GroupFieldClient\n | JSONFieldClient\n | NumberFieldClient\n | PointFieldClient\n | RadioFieldClient\n | RelationshipFieldClient\n | RichTextFieldClient\n | RowFieldClient\n | SelectFieldClient\n | TabsFieldClient\n | TextFieldClient\n | TextareaFieldClient\n | UploadFieldClient\n\nexport type FieldWithPath = {\n path?: string\n} & Field\n\nexport type FieldWithPathClient = {\n path?: string\n} & ClientField\n\nexport type FieldWithSubFields = ArrayField | CollapsibleField | GroupField | RowField\n\nexport type FieldWithSubFieldsClient =\n | ArrayFieldClient\n | CollapsibleFieldClient\n | GroupFieldClient\n | RowFieldClient\n\nexport type FieldPresentationalOnly = UIField\nexport type FieldPresentationalOnlyClient = UIFieldClient\n\nexport type FieldWithMany = RelationshipField | SelectField\nexport type FieldWithManyClient = RelationshipFieldClient | SelectFieldClient\n\nexport type FieldWithMaxDepth = RelationshipField | UploadField\nexport type FieldWithMaxDepthClient = RelationshipFieldClient | UploadFieldClient\n\nexport function fieldHasSubFields<TField extends ClientField | Field>(\n field: TField,\n): field is TField & (TField extends ClientField ? FieldWithSubFieldsClient : FieldWithSubFields) {\n return (\n field.type === 'group' ||\n field.type === 'array' ||\n field.type === 'row' ||\n field.type === 'collapsible'\n )\n}\n\nexport function fieldIsArrayType<TField extends ClientField | Field>(\n field: TField,\n): field is TField & (TField extends ClientField ? ArrayFieldClient : ArrayField) {\n return field.type === 'array'\n}\n\nexport function fieldIsBlockType<TField extends ClientField | Field>(\n field: TField,\n): field is TField & (TField extends ClientField ? BlockFieldClient : BlockField) {\n return field.type === 'blocks'\n}\n\nexport function fieldIsGroupType<TField extends ClientField | Field>(\n field: TField,\n): field is TField & (TField extends ClientField ? GroupFieldClient : GroupField) {\n return field.type === 'group'\n}\n\nexport function optionIsObject(option: Option): option is OptionObject {\n return typeof option === 'object'\n}\n\nexport function optionsAreObjects(options: Option[]): options is OptionObject[] {\n return Array.isArray(options) && typeof options?.[0] === 'object'\n}\n\nexport function optionIsValue(option: Option): option is string {\n return typeof option === 'string'\n}\n\nexport function fieldSupportsMany<TField extends ClientField | Field>(\n field: TField,\n): field is TField & (TField extends ClientField ? FieldWithManyClient : FieldWithMany) {\n return field.type === 'select' || field.type === 'relationship'\n}\n\nexport function fieldHasMaxDepth<TField extends ClientField | Field>(\n field: TField,\n): field is TField & (TField extends ClientField ? FieldWithMaxDepthClient : FieldWithMaxDepth) {\n return (\n (field.type === 'upload' || field.type === 'relationship') && typeof field.maxDepth === 'number'\n )\n}\n\nexport function fieldIsPresentationalOnly<\n TField extends ClientField | Field | TabAsField | TabAsFieldClient,\n>(\n field: TField,\n): field is TField & (TField extends ClientField | TabAsFieldClient ? UIFieldClient : UIField) {\n return field.type === 'ui'\n}\n\nexport function fieldIsSidebar<TField extends ClientField | Field | TabAsField | TabAsFieldClient>(\n field: TField,\n): field is { admin: { position: 'sidebar' } } & TField {\n return 'admin' in field && 'position' in field.admin && field.admin.position === 'sidebar'\n}\n\nexport function fieldAffectsData<\n TField extends ClientField | Field | TabAsField | TabAsFieldClient,\n>(\n field: TField,\n): field is TField &\n (TField extends ClientField | TabAsFieldClient ? FieldAffectingDataClient : FieldAffectingData) {\n return 'name' in field && !fieldIsPresentationalOnly(field)\n}\n\nexport function tabHasName<TField extends ClientTab | Tab>(tab: TField): tab is NamedTab & TField {\n return 'name' in tab\n}\n\nexport function fieldIsLocalized(field: Field | Tab): boolean {\n return 'localized' in field && field.localized\n}\n\nexport type HookName =\n | 'afterChange'\n | 'afterRead'\n | 'beforeChange'\n | 'beforeRead'\n | 'beforeValidate'\n"],"names":["valueIsValueWithRelation","value","fieldHasSubFields","field","type","fieldIsArrayType","fieldIsBlockType","fieldIsGroupType","optionIsObject","option","optionsAreObjects","options","Array","isArray","optionIsValue","fieldSupportsMany","fieldHasMaxDepth","maxDepth","fieldIsPresentationalOnly","fieldIsSidebar","admin","position","fieldAffectsData","tabHasName","tab","fieldIsLocalized","localized"],"mappings":"AAAA,qDAAqD,GAonCrD,OAAO,SAASA,yBAAyBC,KAAc;IACrD,OAAOA,UAAU,QAAQ,OAAOA,UAAU,YAAY,gBAAgBA,SAAS,WAAWA;AAC5F;AAuaA,OAAO,SAASC,kBACdC,KAAa;IAEb,OACEA,MAAMC,IAAI,KAAK,WACfD,MAAMC,IAAI,KAAK,WACfD,MAAMC,IAAI,KAAK,SACfD,MAAMC,IAAI,KAAK;AAEnB;AAEA,OAAO,SAASC,iBACdF,KAAa;IAEb,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASE,iBACdH,KAAa;IAEb,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASG,iBACdJ,KAAa;IAEb,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASI,eAAeC,MAAc;IAC3C,OAAO,OAAOA,WAAW;AAC3B;AAEA,OAAO,SAASC,kBAAkBC,OAAiB;IACjD,OAAOC,MAAMC,OAAO,CAACF,YAAY,OAAOA,SAAS,CAAC,EAAE,KAAK;AAC3D;AAEA,OAAO,SAASG,cAAcL,MAAc;IAC1C,OAAO,OAAOA,WAAW;AAC3B;AAEA,OAAO,SAASM,kBACdZ,KAAa;IAEb,OAAOA,MAAMC,IAAI,KAAK,YAAYD,MAAMC,IAAI,KAAK;AACnD;AAEA,OAAO,SAASY,iBACdb,KAAa;IAEb,OACE,AAACA,CAAAA,MAAMC,IAAI,KAAK,YAAYD,MAAMC,IAAI,KAAK,cAAa,KAAM,OAAOD,MAAMc,QAAQ,KAAK;AAE5F;AAEA,OAAO,SAASC,0BAGdf,KAAa;IAEb,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASe,eACdhB,KAAa;IAEb,OAAO,WAAWA,SAAS,cAAcA,MAAMiB,KAAK,IAAIjB,MAAMiB,KAAK,CAACC,QAAQ,KAAK;AACnF;AAEA,OAAO,SAASC,iBAGdnB,KAAa;IAGb,OAAO,UAAUA,SAAS,CAACe,0BAA0Bf;AACvD;AAEA,OAAO,SAASoB,WAA2CC,GAAW;IACpE,OAAO,UAAUA;AACnB;AAEA,OAAO,SAASC,iBAAiBtB,KAAkB;IACjD,OAAO,eAAeA,SAASA,MAAMuB,SAAS;AAChD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/afterRead/promise.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACzF,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAS9D,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,yBAAyB,GAAG,IAAI,CAAA;IAC5C,OAAO,EAAE,cAAc,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,UAAU,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,IAAI,GAAG,MAAM,CAAA;IAC7B,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACpC,MAAM,EAAE,IAAI,GAAG,MAAM,CAAA;IACrB,cAAc,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAC/B;;OAEG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IACnC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,UAAU,CAAA;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAUD,eAAO,MAAM,OAAO,uRAuBjB,IAAI,KAAG,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/afterRead/promise.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACzF,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAS9D,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,yBAAyB,GAAG,IAAI,CAAA;IAC5C,OAAO,EAAE,cAAc,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,UAAU,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,IAAI,GAAG,MAAM,CAAA;IAC7B,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACpC,MAAM,EAAE,IAAI,GAAG,MAAM,CAAA;IACrB,cAAc,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAC/B;;OAEG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IACnC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,UAAU,CAAA;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAUD,eAAO,MAAM,OAAO,uRAuBjB,IAAI,KAAG,OAAO,CAAC,IAAI,CA8lBrB,CAAA"}
|
|
@@ -108,7 +108,9 @@ export const promise = async ({ collection, context, currentDepth, depth, doc, d
|
|
|
108
108
|
const hookedValue = await currentHook({
|
|
109
109
|
collection,
|
|
110
110
|
context,
|
|
111
|
+
currentDepth,
|
|
111
112
|
data: doc,
|
|
113
|
+
depth,
|
|
112
114
|
draft,
|
|
113
115
|
field,
|
|
114
116
|
findMany,
|
|
@@ -132,7 +134,9 @@ export const promise = async ({ collection, context, currentDepth, depth, doc, d
|
|
|
132
134
|
const hookedValue = await currentHook({
|
|
133
135
|
collection,
|
|
134
136
|
context,
|
|
137
|
+
currentDepth,
|
|
135
138
|
data: doc,
|
|
139
|
+
depth,
|
|
136
140
|
draft,
|
|
137
141
|
field,
|
|
138
142
|
findMany,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/fields/hooks/afterRead/promise.ts"],"sourcesContent":["import type { RichTextAdapter } from '../../../admin/RichText.js'\nimport type { SanitizedCollectionConfig } from '../../../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../../../globals/config/types.js'\nimport type { JsonObject, PayloadRequest, RequestContext } from '../../../types/index.js'\nimport type { Field, TabAsField } from '../../config/types.js'\n\nimport { MissingEditorProp } from '../../../errors/index.js'\nimport { fieldAffectsData, tabHasName } from '../../config/types.js'\nimport { getDefaultValue } from '../../getDefaultValue.js'\nimport { getFieldPaths } from '../../getFieldPaths.js'\nimport { relationshipPopulationPromise } from './relationshipPopulationPromise.js'\nimport { traverseFields } from './traverseFields.js'\n\ntype Args = {\n collection: SanitizedCollectionConfig | null\n context: RequestContext\n currentDepth: number\n depth: number\n doc: JsonObject\n draft: boolean\n fallbackLocale: null | string\n field: Field | TabAsField\n /**\n * fieldPromises are used for things like field hooks. They should be awaited before awaiting populationPromises\n */\n fieldPromises: Promise<void>[]\n findMany: boolean\n flattenLocales: boolean\n global: SanitizedGlobalConfig | null\n locale: null | string\n overrideAccess: boolean\n /**\n * The parent's path.\n */\n parentPath: (number | string)[]\n /**\n * The parent's schemaPath (path without indexes).\n */\n parentSchemaPath: string[]\n populationPromises: Promise<void>[]\n req: PayloadRequest\n showHiddenFields: boolean\n siblingDoc: JsonObject\n triggerAccessControl?: boolean\n triggerHooks?: boolean\n}\n\n// This function is responsible for the following actions, in order:\n// - Remove hidden fields from response\n// - Flatten locales into requested locale\n// - Sanitize outgoing data (point field, etc.)\n// - Execute field hooks\n// - Execute read access control\n// - Populate relationships\n\nexport const promise = async ({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n parentPath,\n parentSchemaPath,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n triggerAccessControl = true,\n triggerHooks = true,\n}: Args): Promise<void> => {\n const { path: fieldPath, schemaPath: fieldSchemaPath } = getFieldPaths({\n field,\n parentPath,\n parentSchemaPath,\n })\n\n if (\n fieldAffectsData(field) &&\n field.hidden &&\n typeof siblingDoc[field.name] !== 'undefined' &&\n !showHiddenFields\n ) {\n delete siblingDoc[field.name]\n }\n\n const shouldHoistLocalizedValue =\n flattenLocales &&\n fieldAffectsData(field) &&\n typeof siblingDoc[field.name] === 'object' &&\n siblingDoc[field.name] !== null &&\n field.localized &&\n locale !== 'all' &&\n req.payload.config.localization\n\n if (shouldHoistLocalizedValue) {\n // replace actual value with localized value before sanitizing\n // { [locale]: fields } -> fields\n const value = siblingDoc[field.name][locale]\n\n let hoistedValue = value\n\n if (fallbackLocale && fallbackLocale !== locale) {\n const fallbackValue = siblingDoc[field.name][fallbackLocale]\n const isNullOrUndefined = typeof value === 'undefined' || value === null\n\n if (fallbackValue) {\n switch (field.type) {\n case 'text':\n case 'textarea': {\n if (value === '' || isNullOrUndefined) {\n hoistedValue = fallbackValue\n }\n break\n }\n\n default: {\n if (isNullOrUndefined) {\n hoistedValue = fallbackValue\n }\n break\n }\n }\n }\n }\n\n siblingDoc[field.name] = hoistedValue\n }\n\n // Sanitize outgoing field value\n switch (field.type) {\n case 'group': {\n // Fill groups with empty objects so fields with hooks within groups can populate\n // themselves virtually as necessary\n if (typeof siblingDoc[field.name] === 'undefined') {\n siblingDoc[field.name] = {}\n }\n\n break\n }\n case 'tabs': {\n field.tabs.forEach((tab) => {\n if (\n tabHasName(tab) &&\n (typeof siblingDoc[tab.name] === 'undefined' || siblingDoc[tab.name] === null)\n ) {\n siblingDoc[tab.name] = {}\n }\n })\n\n break\n }\n\n case 'richText': {\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n // Rich Text fields should use afterRead hooks to do population. The previous editor.populationPromises have been renamed to editor.graphQLPopulationPromises\n break\n }\n\n case 'point': {\n const pointDoc = siblingDoc[field.name] as Record<string, unknown>\n if (Array.isArray(pointDoc?.coordinates) && pointDoc.coordinates.length === 2) {\n siblingDoc[field.name] = pointDoc.coordinates\n } else {\n siblingDoc[field.name] = undefined\n }\n\n break\n }\n\n default: {\n break\n }\n }\n\n if (fieldAffectsData(field)) {\n // Execute hooks\n if (triggerHooks && field.hooks?.afterRead) {\n await field.hooks.afterRead.reduce(async (priorHook, currentHook) => {\n await priorHook\n\n const shouldRunHookOnAllLocales =\n field.localized &&\n (locale === 'all' || !flattenLocales) &&\n typeof siblingDoc[field.name] === 'object'\n\n if (shouldRunHookOnAllLocales) {\n const hookPromises = Object.entries(siblingDoc[field.name]).map(([locale, value]) =>\n (async () => {\n const hookedValue = await currentHook({\n collection,\n context,\n data: doc,\n draft,\n field,\n findMany,\n global,\n operation: 'read',\n originalDoc: doc,\n overrideAccess,\n path: fieldPath,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingData: siblingDoc,\n value,\n })\n\n if (hookedValue !== undefined) {\n siblingDoc[field.name][locale] = hookedValue\n }\n })(),\n )\n\n await Promise.all(hookPromises)\n } else {\n const hookedValue = await currentHook({\n collection,\n context,\n data: doc,\n draft,\n field,\n findMany,\n global,\n operation: 'read',\n originalDoc: doc,\n overrideAccess,\n path: fieldPath,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingData: siblingDoc,\n value: siblingDoc[field.name],\n })\n\n if (hookedValue !== undefined) {\n siblingDoc[field.name] = hookedValue\n }\n }\n }, Promise.resolve())\n }\n\n // Execute access control\n let allowDefaultValue = true\n if (triggerAccessControl && field.access && field.access.read) {\n const result = overrideAccess\n ? true\n : await field.access.read({\n id: doc.id as number | string,\n data: doc,\n doc,\n req,\n siblingData: siblingDoc,\n })\n\n if (!result) {\n allowDefaultValue = false\n delete siblingDoc[field.name]\n }\n }\n\n // Set defaultValue on the field for globals being returned without being first created\n // or collection documents created prior to having a default\n if (\n allowDefaultValue &&\n typeof siblingDoc[field.name] === 'undefined' &&\n typeof field.defaultValue !== 'undefined'\n ) {\n siblingDoc[field.name] = await getDefaultValue({\n defaultValue: field.defaultValue,\n locale,\n user: req.user,\n value: siblingDoc[field.name],\n })\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n populationPromises.push(\n relationshipPopulationPromise({\n currentDepth,\n depth,\n draft,\n fallbackLocale,\n field,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n siblingDoc,\n }),\n )\n }\n }\n\n switch (field.type) {\n case 'group': {\n let groupDoc = siblingDoc[field.name] as JsonObject\n if (typeof siblingDoc[field.name] !== 'object') groupDoc = {}\n\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: field.fields,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: fieldPath,\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc: groupDoc,\n triggerAccessControl,\n triggerHooks,\n })\n\n break\n }\n\n case 'array': {\n const rows = siblingDoc[field.name] as JsonObject\n\n if (Array.isArray(rows)) {\n rows.forEach((row, i) => {\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: field.fields,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: [...fieldPath, i],\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc: row || {},\n triggerAccessControl,\n triggerHooks,\n })\n })\n } else if (!shouldHoistLocalizedValue && typeof rows === 'object' && rows !== null) {\n Object.values(rows).forEach((localeRows) => {\n if (Array.isArray(localeRows)) {\n localeRows.forEach((row, i) => {\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: field.fields,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: [...fieldPath, i],\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc: (row as JsonObject) || {},\n triggerAccessControl,\n triggerHooks,\n })\n })\n }\n })\n } else {\n siblingDoc[field.name] = []\n }\n break\n }\n\n case 'blocks': {\n const rows = siblingDoc[field.name]\n\n if (Array.isArray(rows)) {\n rows.forEach((row, i) => {\n const block = field.blocks.find(\n (blockType) => blockType.slug === (row as JsonObject).blockType,\n )\n\n if (block) {\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: block.fields,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: [...fieldPath, i],\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc: (row as JsonObject) || {},\n triggerAccessControl,\n triggerHooks,\n })\n }\n })\n } else if (!shouldHoistLocalizedValue && typeof rows === 'object' && rows !== null) {\n Object.values(rows).forEach((localeRows) => {\n if (Array.isArray(localeRows)) {\n localeRows.forEach((row, i) => {\n const block = field.blocks.find(\n (blockType) => blockType.slug === (row as JsonObject).blockType,\n )\n\n if (block) {\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: block.fields,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: [...fieldPath, i],\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc: (row as JsonObject) || {},\n triggerAccessControl,\n triggerHooks,\n })\n }\n })\n }\n })\n } else {\n siblingDoc[field.name] = []\n }\n\n break\n }\n\n case 'row':\n case 'collapsible': {\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: field.fields,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: fieldPath,\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc,\n triggerAccessControl,\n triggerHooks,\n })\n\n break\n }\n\n case 'tab': {\n let tabDoc = siblingDoc\n if (tabHasName(field)) {\n tabDoc = siblingDoc[field.name] as JsonObject\n if (typeof siblingDoc[field.name] !== 'object') tabDoc = {}\n }\n\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: field.fields,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: fieldPath,\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc: tabDoc,\n triggerAccessControl,\n triggerHooks,\n })\n\n break\n }\n\n case 'tabs': {\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: fieldPath,\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc,\n triggerAccessControl,\n triggerHooks,\n })\n break\n }\n\n case 'richText': {\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n const editor: RichTextAdapter = field?.editor\n\n if (editor?.hooks?.afterRead?.length) {\n await editor.hooks.afterRead.reduce(async (priorHook, currentHook) => {\n await priorHook\n\n const shouldRunHookOnAllLocales =\n field.localized &&\n (locale === 'all' || !flattenLocales) &&\n typeof siblingDoc[field.name] === 'object'\n\n if (shouldRunHookOnAllLocales) {\n const hookPromises = Object.entries(siblingDoc[field.name]).map(([locale, value]) =>\n (async () => {\n const hookedValue = await currentHook({\n collection,\n context,\n currentDepth,\n data: doc,\n depth,\n draft,\n fallbackLocale,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n global,\n locale,\n operation: 'read',\n originalDoc: doc,\n overrideAccess,\n path: fieldPath,\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingData: siblingDoc,\n triggerAccessControl,\n triggerHooks,\n value,\n })\n\n if (hookedValue !== undefined) {\n siblingDoc[field.name][locale] = hookedValue\n }\n })(),\n )\n\n await Promise.all(hookPromises)\n } else {\n const hookedValue = await currentHook({\n collection,\n context,\n currentDepth,\n data: doc,\n depth,\n draft,\n fallbackLocale,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n global,\n locale,\n operation: 'read',\n originalDoc: doc,\n overrideAccess,\n path: fieldPath,\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingData: siblingDoc,\n triggerAccessControl,\n triggerHooks,\n value: siblingDoc[field.name],\n })\n\n if (hookedValue !== undefined) {\n siblingDoc[field.name] = hookedValue\n }\n }\n }, Promise.resolve())\n }\n break\n }\n\n default: {\n break\n }\n }\n}\n"],"names":["MissingEditorProp","fieldAffectsData","tabHasName","getDefaultValue","getFieldPaths","relationshipPopulationPromise","traverseFields","promise","collection","context","currentDepth","depth","doc","draft","fallbackLocale","field","fieldPromises","findMany","flattenLocales","global","locale","overrideAccess","parentPath","parentSchemaPath","populationPromises","req","showHiddenFields","siblingDoc","triggerAccessControl","triggerHooks","path","fieldPath","schemaPath","fieldSchemaPath","hidden","name","shouldHoistLocalizedValue","localized","payload","config","localization","value","hoistedValue","fallbackValue","isNullOrUndefined","type","tabs","forEach","tab","editor","Error","pointDoc","Array","isArray","coordinates","length","undefined","hooks","afterRead","reduce","priorHook","currentHook","shouldRunHookOnAllLocales","hookPromises","Object","entries","map","hookedValue","data","operation","originalDoc","siblingData","Promise","all","resolve","allowDefaultValue","access","read","result","id","defaultValue","user","push","groupDoc","fields","rows","row","i","values","localeRows","block","blocks","find","blockType","slug","tabDoc"],"mappings":"AAMA,SAASA,iBAAiB,QAAQ,2BAA0B;AAC5D,SAASC,gBAAgB,EAAEC,UAAU,QAAQ,wBAAuB;AACpE,SAASC,eAAe,QAAQ,2BAA0B;AAC1D,SAASC,aAAa,QAAQ,yBAAwB;AACtD,SAASC,6BAA6B,QAAQ,qCAAoC;AAClF,SAASC,cAAc,QAAQ,sBAAqB;AAoCpD,oEAAoE;AACpE,uCAAuC;AACvC,0CAA0C;AAC1C,+CAA+C;AAC/C,wBAAwB;AACxB,gCAAgC;AAChC,2BAA2B;AAE3B,OAAO,MAAMC,UAAU,OAAO,EAC5BC,UAAU,EACVC,OAAO,EACPC,YAAY,EACZC,KAAK,EACLC,GAAG,EACHC,KAAK,EACLC,cAAc,EACdC,KAAK,EACLC,aAAa,EACbC,QAAQ,EACRC,cAAc,EACdC,MAAM,EACNC,MAAM,EACNC,cAAc,EACdC,UAAU,EACVC,gBAAgB,EAChBC,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EAChBC,UAAU,EACVC,uBAAuB,IAAI,EAC3BC,eAAe,IAAI,EACd;IACL,MAAM,EAAEC,MAAMC,SAAS,EAAEC,YAAYC,eAAe,EAAE,GAAG7B,cAAc;QACrEW;QACAO;QACAC;IACF;IAEA,IACEtB,iBAAiBc,UACjBA,MAAMmB,MAAM,IACZ,OAAOP,UAAU,CAACZ,MAAMoB,IAAI,CAAC,KAAK,eAClC,CAACT,kBACD;QACA,OAAOC,UAAU,CAACZ,MAAMoB,IAAI,CAAC;IAC/B;IAEA,MAAMC,4BACJlB,kBACAjB,iBAAiBc,UACjB,OAAOY,UAAU,CAACZ,MAAMoB,IAAI,CAAC,KAAK,YAClCR,UAAU,CAACZ,MAAMoB,IAAI,CAAC,KAAK,QAC3BpB,MAAMsB,SAAS,IACfjB,WAAW,SACXK,IAAIa,OAAO,CAACC,MAAM,CAACC,YAAY;IAEjC,IAAIJ,2BAA2B;QAC7B,8DAA8D;QAC9D,iCAAiC;QACjC,MAAMK,QAAQd,UAAU,CAACZ,MAAMoB,IAAI,CAAC,CAACf,OAAO;QAE5C,IAAIsB,eAAeD;QAEnB,IAAI3B,kBAAkBA,mBAAmBM,QAAQ;YAC/C,MAAMuB,gBAAgBhB,UAAU,CAACZ,MAAMoB,IAAI,CAAC,CAACrB,eAAe;YAC5D,MAAM8B,oBAAoB,OAAOH,UAAU,eAAeA,UAAU;YAEpE,IAAIE,eAAe;gBACjB,OAAQ5B,MAAM8B,IAAI;oBAChB,KAAK;oBACL,KAAK;wBAAY;4BACf,IAAIJ,UAAU,MAAMG,mBAAmB;gCACrCF,eAAeC;4BACjB;4BACA;wBACF;oBAEA;wBAAS;4BACP,IAAIC,mBAAmB;gCACrBF,eAAeC;4BACjB;4BACA;wBACF;gBACF;YACF;QACF;QAEAhB,UAAU,CAACZ,MAAMoB,IAAI,CAAC,GAAGO;IAC3B;IAEA,gCAAgC;IAChC,OAAQ3B,MAAM8B,IAAI;QAChB,KAAK;YAAS;gBACZ,iFAAiF;gBACjF,oCAAoC;gBACpC,IAAI,OAAOlB,UAAU,CAACZ,MAAMoB,IAAI,CAAC,KAAK,aAAa;oBACjDR,UAAU,CAACZ,MAAMoB,IAAI,CAAC,GAAG,CAAC;gBAC5B;gBAEA;YACF;QACA,KAAK;YAAQ;gBACXpB,MAAM+B,IAAI,CAACC,OAAO,CAAC,CAACC;oBAClB,IACE9C,WAAW8C,QACV,CAAA,OAAOrB,UAAU,CAACqB,IAAIb,IAAI,CAAC,KAAK,eAAeR,UAAU,CAACqB,IAAIb,IAAI,CAAC,KAAK,IAAG,GAC5E;wBACAR,UAAU,CAACqB,IAAIb,IAAI,CAAC,GAAG,CAAC;oBAC1B;gBACF;gBAEA;YACF;QAEA,KAAK;YAAY;gBACf,IAAI,CAACpB,OAAOkC,QAAQ;oBAClB,MAAM,IAAIjD,kBAAkBe,OAAO,8HAA8H;;gBACnK;gBACA,IAAI,OAAOA,OAAOkC,WAAW,YAAY;oBACvC,MAAM,IAAIC,MAAM;gBAClB;gBAGA;YACF;QAEA,KAAK;YAAS;gBACZ,MAAMC,WAAWxB,UAAU,CAACZ,MAAMoB,IAAI,CAAC;gBACvC,IAAIiB,MAAMC,OAAO,CAACF,UAAUG,gBAAgBH,SAASG,WAAW,CAACC,MAAM,KAAK,GAAG;oBAC7E5B,UAAU,CAACZ,MAAMoB,IAAI,CAAC,GAAGgB,SAASG,WAAW;gBAC/C,OAAO;oBACL3B,UAAU,CAACZ,MAAMoB,IAAI,CAAC,GAAGqB;gBAC3B;gBAEA;YACF;QAEA;YAAS;gBACP;YACF;IACF;IAEA,IAAIvD,iBAAiBc,QAAQ;QAC3B,gBAAgB;QAChB,IAAIc,gBAAgBd,MAAM0C,KAAK,EAAEC,WAAW;YAC1C,MAAM3C,MAAM0C,KAAK,CAACC,SAAS,CAACC,MAAM,CAAC,OAAOC,WAAWC;gBACnD,MAAMD;gBAEN,MAAME,4BACJ/C,MAAMsB,SAAS,IACdjB,CAAAA,WAAW,SAAS,CAACF,cAAa,KACnC,OAAOS,UAAU,CAACZ,MAAMoB,IAAI,CAAC,KAAK;gBAEpC,IAAI2B,2BAA2B;oBAC7B,MAAMC,eAAeC,OAAOC,OAAO,CAACtC,UAAU,CAACZ,MAAMoB,IAAI,CAAC,EAAE+B,GAAG,CAAC,CAAC,CAAC9C,QAAQqB,MAAM,GAC9E,AAAC,CAAA;4BACC,MAAM0B,cAAc,MAAMN,YAAY;gCACpCrD;gCACAC;gCACA2D,MAAMxD;gCACNC;gCACAE;gCACAE;gCACAE;gCACAkD,WAAW;gCACXC,aAAa1D;gCACbS;gCACAS,MAAMC;gCACNN;gCACAO,YAAYC;gCACZP;gCACA6C,aAAa5C;gCACbc;4BACF;4BAEA,IAAI0B,gBAAgBX,WAAW;gCAC7B7B,UAAU,CAACZ,MAAMoB,IAAI,CAAC,CAACf,OAAO,GAAG+C;4BACnC;wBACF,CAAA;oBAGF,MAAMK,QAAQC,GAAG,CAACV;gBACpB,OAAO;oBACL,MAAMI,cAAc,MAAMN,YAAY;wBACpCrD;wBACAC;wBACA2D,MAAMxD;wBACNC;wBACAE;wBACAE;wBACAE;wBACAkD,WAAW;wBACXC,aAAa1D;wBACbS;wBACAS,MAAMC;wBACNN;wBACAO,YAAYC;wBACZP;wBACA6C,aAAa5C;wBACbc,OAAOd,UAAU,CAACZ,MAAMoB,IAAI,CAAC;oBAC/B;oBAEA,IAAIgC,gBAAgBX,WAAW;wBAC7B7B,UAAU,CAACZ,MAAMoB,IAAI,CAAC,GAAGgC;oBAC3B;gBACF;YACF,GAAGK,QAAQE,OAAO;QACpB;QAEA,yBAAyB;QACzB,IAAIC,oBAAoB;QACxB,IAAI/C,wBAAwBb,MAAM6D,MAAM,IAAI7D,MAAM6D,MAAM,CAACC,IAAI,EAAE;YAC7D,MAAMC,SAASzD,iBACX,OACA,MAAMN,MAAM6D,MAAM,CAACC,IAAI,CAAC;gBACtBE,IAAInE,IAAImE,EAAE;gBACVX,MAAMxD;gBACNA;gBACAa;gBACA8C,aAAa5C;YACf;YAEJ,IAAI,CAACmD,QAAQ;gBACXH,oBAAoB;gBACpB,OAAOhD,UAAU,CAACZ,MAAMoB,IAAI,CAAC;YAC/B;QACF;QAEA,uFAAuF;QACvF,4DAA4D;QAC5D,IACEwC,qBACA,OAAOhD,UAAU,CAACZ,MAAMoB,IAAI,CAAC,KAAK,eAClC,OAAOpB,MAAMiE,YAAY,KAAK,aAC9B;YACArD,UAAU,CAACZ,MAAMoB,IAAI,CAAC,GAAG,MAAMhC,gBAAgB;gBAC7C6E,cAAcjE,MAAMiE,YAAY;gBAChC5D;gBACA6D,MAAMxD,IAAIwD,IAAI;gBACdxC,OAAOd,UAAU,CAACZ,MAAMoB,IAAI,CAAC;YAC/B;QACF;QAEA,IAAIpB,MAAM8B,IAAI,KAAK,kBAAkB9B,MAAM8B,IAAI,KAAK,UAAU;YAC5DrB,mBAAmB0D,IAAI,CACrB7E,8BAA8B;gBAC5BK;gBACAC;gBACAE;gBACAC;gBACAC;gBACAK;gBACAC;gBACAI;gBACAC;gBACAC;YACF;QAEJ;IACF;IAEA,OAAQZ,MAAM8B,IAAI;QAChB,KAAK;YAAS;gBACZ,IAAIsC,WAAWxD,UAAU,CAACZ,MAAMoB,IAAI,CAAC;gBACrC,IAAI,OAAOR,UAAU,CAACZ,MAAMoB,IAAI,CAAC,KAAK,UAAUgD,WAAW,CAAC;gBAE5D7E,eAAe;oBACbE;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAE;oBACAoE,QAAQrE,MAAMqE,MAAM;oBACpBnE;oBACAC;oBACAC;oBACAC;oBACAC;oBACAS,MAAMC;oBACNP;oBACAC;oBACAO,YAAYC;oBACZP;oBACAC,YAAYwD;oBACZvD;oBACAC;gBACF;gBAEA;YACF;QAEA,KAAK;YAAS;gBACZ,MAAMwD,OAAO1D,UAAU,CAACZ,MAAMoB,IAAI,CAAC;gBAEnC,IAAIiB,MAAMC,OAAO,CAACgC,OAAO;oBACvBA,KAAKtC,OAAO,CAAC,CAACuC,KAAKC;wBACjBjF,eAAe;4BACbE;4BACAC;4BACAC;4BACAC;4BACAC;4BACAC;4BACAC;4BACAE;4BACAoE,QAAQrE,MAAMqE,MAAM;4BACpBnE;4BACAC;4BACAC;4BACAC;4BACAC;4BACAS,MAAM;mCAAIC;gCAAWwD;6BAAE;4BACvB/D;4BACAC;4BACAO,YAAYC;4BACZP;4BACAC,YAAY2D,OAAO,CAAC;4BACpB1D;4BACAC;wBACF;oBACF;gBACF,OAAO,IAAI,CAACO,6BAA6B,OAAOiD,SAAS,YAAYA,SAAS,MAAM;oBAClFrB,OAAOwB,MAAM,CAACH,MAAMtC,OAAO,CAAC,CAAC0C;wBAC3B,IAAIrC,MAAMC,OAAO,CAACoC,aAAa;4BAC7BA,WAAW1C,OAAO,CAAC,CAACuC,KAAKC;gCACvBjF,eAAe;oCACbE;oCACAC;oCACAC;oCACAC;oCACAC;oCACAC;oCACAC;oCACAE;oCACAoE,QAAQrE,MAAMqE,MAAM;oCACpBnE;oCACAC;oCACAC;oCACAC;oCACAC;oCACAS,MAAM;2CAAIC;wCAAWwD;qCAAE;oCACvB/D;oCACAC;oCACAO,YAAYC;oCACZP;oCACAC,YAAY,AAAC2D,OAAsB,CAAC;oCACpC1D;oCACAC;gCACF;4BACF;wBACF;oBACF;gBACF,OAAO;oBACLF,UAAU,CAACZ,MAAMoB,IAAI,CAAC,GAAG,EAAE;gBAC7B;gBACA;YACF;QAEA,KAAK;YAAU;gBACb,MAAMkD,OAAO1D,UAAU,CAACZ,MAAMoB,IAAI,CAAC;gBAEnC,IAAIiB,MAAMC,OAAO,CAACgC,OAAO;oBACvBA,KAAKtC,OAAO,CAAC,CAACuC,KAAKC;wBACjB,MAAMG,QAAQ3E,MAAM4E,MAAM,CAACC,IAAI,CAC7B,CAACC,YAAcA,UAAUC,IAAI,KAAK,AAACR,IAAmBO,SAAS;wBAGjE,IAAIH,OAAO;4BACTpF,eAAe;gCACbE;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAE;gCACAoE,QAAQM,MAAMN,MAAM;gCACpBnE;gCACAC;gCACAC;gCACAC;gCACAC;gCACAS,MAAM;uCAAIC;oCAAWwD;iCAAE;gCACvB/D;gCACAC;gCACAO,YAAYC;gCACZP;gCACAC,YAAY,AAAC2D,OAAsB,CAAC;gCACpC1D;gCACAC;4BACF;wBACF;oBACF;gBACF,OAAO,IAAI,CAACO,6BAA6B,OAAOiD,SAAS,YAAYA,SAAS,MAAM;oBAClFrB,OAAOwB,MAAM,CAACH,MAAMtC,OAAO,CAAC,CAAC0C;wBAC3B,IAAIrC,MAAMC,OAAO,CAACoC,aAAa;4BAC7BA,WAAW1C,OAAO,CAAC,CAACuC,KAAKC;gCACvB,MAAMG,QAAQ3E,MAAM4E,MAAM,CAACC,IAAI,CAC7B,CAACC,YAAcA,UAAUC,IAAI,KAAK,AAACR,IAAmBO,SAAS;gCAGjE,IAAIH,OAAO;oCACTpF,eAAe;wCACbE;wCACAC;wCACAC;wCACAC;wCACAC;wCACAC;wCACAC;wCACAE;wCACAoE,QAAQM,MAAMN,MAAM;wCACpBnE;wCACAC;wCACAC;wCACAC;wCACAC;wCACAS,MAAM;+CAAIC;4CAAWwD;yCAAE;wCACvB/D;wCACAC;wCACAO,YAAYC;wCACZP;wCACAC,YAAY,AAAC2D,OAAsB,CAAC;wCACpC1D;wCACAC;oCACF;gCACF;4BACF;wBACF;oBACF;gBACF,OAAO;oBACLF,UAAU,CAACZ,MAAMoB,IAAI,CAAC,GAAG,EAAE;gBAC7B;gBAEA;YACF;QAEA,KAAK;QACL,KAAK;YAAe;gBAClB7B,eAAe;oBACbE;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAE;oBACAoE,QAAQrE,MAAMqE,MAAM;oBACpBnE;oBACAC;oBACAC;oBACAC;oBACAC;oBACAS,MAAMC;oBACNP;oBACAC;oBACAO,YAAYC;oBACZP;oBACAC;oBACAC;oBACAC;gBACF;gBAEA;YACF;QAEA,KAAK;YAAO;gBACV,IAAIkE,SAASpE;gBACb,IAAIzB,WAAWa,QAAQ;oBACrBgF,SAASpE,UAAU,CAACZ,MAAMoB,IAAI,CAAC;oBAC/B,IAAI,OAAOR,UAAU,CAACZ,MAAMoB,IAAI,CAAC,KAAK,UAAU4D,SAAS,CAAC;gBAC5D;gBAEAzF,eAAe;oBACbE;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAE;oBACAoE,QAAQrE,MAAMqE,MAAM;oBACpBnE;oBACAC;oBACAC;oBACAC;oBACAC;oBACAS,MAAMC;oBACNP;oBACAC;oBACAO,YAAYC;oBACZP;oBACAC,YAAYoE;oBACZnE;oBACAC;gBACF;gBAEA;YACF;QAEA,KAAK;YAAQ;gBACXvB,eAAe;oBACbE;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAE;oBACAoE,QAAQrE,MAAM+B,IAAI,CAACoB,GAAG,CAAC,CAAClB,MAAS,CAAA;4BAAE,GAAGA,GAAG;4BAAEH,MAAM;wBAAM,CAAA;oBACvD5B;oBACAC;oBACAC;oBACAC;oBACAC;oBACAS,MAAMC;oBACNP;oBACAC;oBACAO,YAAYC;oBACZP;oBACAC;oBACAC;oBACAC;gBACF;gBACA;YACF;QAEA,KAAK;YAAY;gBACf,IAAI,CAACd,OAAOkC,QAAQ;oBAClB,MAAM,IAAIjD,kBAAkBe,OAAO,8HAA8H;;gBACnK;gBACA,IAAI,OAAOA,OAAOkC,WAAW,YAAY;oBACvC,MAAM,IAAIC,MAAM;gBAClB;gBAEA,MAAMD,SAA0BlC,OAAOkC;gBAEvC,IAAIA,QAAQQ,OAAOC,WAAWH,QAAQ;oBACpC,MAAMN,OAAOQ,KAAK,CAACC,SAAS,CAACC,MAAM,CAAC,OAAOC,WAAWC;wBACpD,MAAMD;wBAEN,MAAME,4BACJ/C,MAAMsB,SAAS,IACdjB,CAAAA,WAAW,SAAS,CAACF,cAAa,KACnC,OAAOS,UAAU,CAACZ,MAAMoB,IAAI,CAAC,KAAK;wBAEpC,IAAI2B,2BAA2B;4BAC7B,MAAMC,eAAeC,OAAOC,OAAO,CAACtC,UAAU,CAACZ,MAAMoB,IAAI,CAAC,EAAE+B,GAAG,CAAC,CAAC,CAAC9C,QAAQqB,MAAM,GAC9E,AAAC,CAAA;oCACC,MAAM0B,cAAc,MAAMN,YAAY;wCACpCrD;wCACAC;wCACAC;wCACA0D,MAAMxD;wCACND;wCACAE;wCACAC;wCACAC;wCACAC;wCACAC;wCACAC;wCACAC;wCACAC;wCACAiD,WAAW;wCACXC,aAAa1D;wCACbS;wCACAS,MAAMC;wCACNP;wCACAC;wCACAO,YAAYC;wCACZP;wCACA6C,aAAa5C;wCACbC;wCACAC;wCACAY;oCACF;oCAEA,IAAI0B,gBAAgBX,WAAW;wCAC7B7B,UAAU,CAACZ,MAAMoB,IAAI,CAAC,CAACf,OAAO,GAAG+C;oCACnC;gCACF,CAAA;4BAGF,MAAMK,QAAQC,GAAG,CAACV;wBACpB,OAAO;4BACL,MAAMI,cAAc,MAAMN,YAAY;gCACpCrD;gCACAC;gCACAC;gCACA0D,MAAMxD;gCACND;gCACAE;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAiD,WAAW;gCACXC,aAAa1D;gCACbS;gCACAS,MAAMC;gCACNP;gCACAC;gCACAO,YAAYC;gCACZP;gCACA6C,aAAa5C;gCACbC;gCACAC;gCACAY,OAAOd,UAAU,CAACZ,MAAMoB,IAAI,CAAC;4BAC/B;4BAEA,IAAIgC,gBAAgBX,WAAW;gCAC7B7B,UAAU,CAACZ,MAAMoB,IAAI,CAAC,GAAGgC;4BAC3B;wBACF;oBACF,GAAGK,QAAQE,OAAO;gBACpB;gBACA;YACF;QAEA;YAAS;gBACP;YACF;IACF;AACF,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/fields/hooks/afterRead/promise.ts"],"sourcesContent":["import type { RichTextAdapter } from '../../../admin/RichText.js'\nimport type { SanitizedCollectionConfig } from '../../../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../../../globals/config/types.js'\nimport type { JsonObject, PayloadRequest, RequestContext } from '../../../types/index.js'\nimport type { Field, TabAsField } from '../../config/types.js'\n\nimport { MissingEditorProp } from '../../../errors/index.js'\nimport { fieldAffectsData, tabHasName } from '../../config/types.js'\nimport { getDefaultValue } from '../../getDefaultValue.js'\nimport { getFieldPaths } from '../../getFieldPaths.js'\nimport { relationshipPopulationPromise } from './relationshipPopulationPromise.js'\nimport { traverseFields } from './traverseFields.js'\n\ntype Args = {\n collection: SanitizedCollectionConfig | null\n context: RequestContext\n currentDepth: number\n depth: number\n doc: JsonObject\n draft: boolean\n fallbackLocale: null | string\n field: Field | TabAsField\n /**\n * fieldPromises are used for things like field hooks. They should be awaited before awaiting populationPromises\n */\n fieldPromises: Promise<void>[]\n findMany: boolean\n flattenLocales: boolean\n global: SanitizedGlobalConfig | null\n locale: null | string\n overrideAccess: boolean\n /**\n * The parent's path.\n */\n parentPath: (number | string)[]\n /**\n * The parent's schemaPath (path without indexes).\n */\n parentSchemaPath: string[]\n populationPromises: Promise<void>[]\n req: PayloadRequest\n showHiddenFields: boolean\n siblingDoc: JsonObject\n triggerAccessControl?: boolean\n triggerHooks?: boolean\n}\n\n// This function is responsible for the following actions, in order:\n// - Remove hidden fields from response\n// - Flatten locales into requested locale\n// - Sanitize outgoing data (point field, etc.)\n// - Execute field hooks\n// - Execute read access control\n// - Populate relationships\n\nexport const promise = async ({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n parentPath,\n parentSchemaPath,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n triggerAccessControl = true,\n triggerHooks = true,\n}: Args): Promise<void> => {\n const { path: fieldPath, schemaPath: fieldSchemaPath } = getFieldPaths({\n field,\n parentPath,\n parentSchemaPath,\n })\n\n if (\n fieldAffectsData(field) &&\n field.hidden &&\n typeof siblingDoc[field.name] !== 'undefined' &&\n !showHiddenFields\n ) {\n delete siblingDoc[field.name]\n }\n\n const shouldHoistLocalizedValue =\n flattenLocales &&\n fieldAffectsData(field) &&\n typeof siblingDoc[field.name] === 'object' &&\n siblingDoc[field.name] !== null &&\n field.localized &&\n locale !== 'all' &&\n req.payload.config.localization\n\n if (shouldHoistLocalizedValue) {\n // replace actual value with localized value before sanitizing\n // { [locale]: fields } -> fields\n const value = siblingDoc[field.name][locale]\n\n let hoistedValue = value\n\n if (fallbackLocale && fallbackLocale !== locale) {\n const fallbackValue = siblingDoc[field.name][fallbackLocale]\n const isNullOrUndefined = typeof value === 'undefined' || value === null\n\n if (fallbackValue) {\n switch (field.type) {\n case 'text':\n case 'textarea': {\n if (value === '' || isNullOrUndefined) {\n hoistedValue = fallbackValue\n }\n break\n }\n\n default: {\n if (isNullOrUndefined) {\n hoistedValue = fallbackValue\n }\n break\n }\n }\n }\n }\n\n siblingDoc[field.name] = hoistedValue\n }\n\n // Sanitize outgoing field value\n switch (field.type) {\n case 'group': {\n // Fill groups with empty objects so fields with hooks within groups can populate\n // themselves virtually as necessary\n if (typeof siblingDoc[field.name] === 'undefined') {\n siblingDoc[field.name] = {}\n }\n\n break\n }\n case 'tabs': {\n field.tabs.forEach((tab) => {\n if (\n tabHasName(tab) &&\n (typeof siblingDoc[tab.name] === 'undefined' || siblingDoc[tab.name] === null)\n ) {\n siblingDoc[tab.name] = {}\n }\n })\n\n break\n }\n\n case 'richText': {\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n // Rich Text fields should use afterRead hooks to do population. The previous editor.populationPromises have been renamed to editor.graphQLPopulationPromises\n break\n }\n\n case 'point': {\n const pointDoc = siblingDoc[field.name] as Record<string, unknown>\n if (Array.isArray(pointDoc?.coordinates) && pointDoc.coordinates.length === 2) {\n siblingDoc[field.name] = pointDoc.coordinates\n } else {\n siblingDoc[field.name] = undefined\n }\n\n break\n }\n\n default: {\n break\n }\n }\n\n if (fieldAffectsData(field)) {\n // Execute hooks\n if (triggerHooks && field.hooks?.afterRead) {\n await field.hooks.afterRead.reduce(async (priorHook, currentHook) => {\n await priorHook\n\n const shouldRunHookOnAllLocales =\n field.localized &&\n (locale === 'all' || !flattenLocales) &&\n typeof siblingDoc[field.name] === 'object'\n\n if (shouldRunHookOnAllLocales) {\n const hookPromises = Object.entries(siblingDoc[field.name]).map(([locale, value]) =>\n (async () => {\n const hookedValue = await currentHook({\n collection,\n context,\n currentDepth,\n data: doc,\n depth,\n draft,\n field,\n findMany,\n global,\n operation: 'read',\n originalDoc: doc,\n overrideAccess,\n path: fieldPath,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingData: siblingDoc,\n value,\n })\n\n if (hookedValue !== undefined) {\n siblingDoc[field.name][locale] = hookedValue\n }\n })(),\n )\n\n await Promise.all(hookPromises)\n } else {\n const hookedValue = await currentHook({\n collection,\n context,\n currentDepth,\n data: doc,\n depth,\n draft,\n field,\n findMany,\n global,\n operation: 'read',\n originalDoc: doc,\n overrideAccess,\n path: fieldPath,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingData: siblingDoc,\n value: siblingDoc[field.name],\n })\n\n if (hookedValue !== undefined) {\n siblingDoc[field.name] = hookedValue\n }\n }\n }, Promise.resolve())\n }\n\n // Execute access control\n let allowDefaultValue = true\n if (triggerAccessControl && field.access && field.access.read) {\n const result = overrideAccess\n ? true\n : await field.access.read({\n id: doc.id as number | string,\n data: doc,\n doc,\n req,\n siblingData: siblingDoc,\n })\n\n if (!result) {\n allowDefaultValue = false\n delete siblingDoc[field.name]\n }\n }\n\n // Set defaultValue on the field for globals being returned without being first created\n // or collection documents created prior to having a default\n if (\n allowDefaultValue &&\n typeof siblingDoc[field.name] === 'undefined' &&\n typeof field.defaultValue !== 'undefined'\n ) {\n siblingDoc[field.name] = await getDefaultValue({\n defaultValue: field.defaultValue,\n locale,\n user: req.user,\n value: siblingDoc[field.name],\n })\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n populationPromises.push(\n relationshipPopulationPromise({\n currentDepth,\n depth,\n draft,\n fallbackLocale,\n field,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n siblingDoc,\n }),\n )\n }\n }\n\n switch (field.type) {\n case 'group': {\n let groupDoc = siblingDoc[field.name] as JsonObject\n if (typeof siblingDoc[field.name] !== 'object') groupDoc = {}\n\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: field.fields,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: fieldPath,\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc: groupDoc,\n triggerAccessControl,\n triggerHooks,\n })\n\n break\n }\n\n case 'array': {\n const rows = siblingDoc[field.name] as JsonObject\n\n if (Array.isArray(rows)) {\n rows.forEach((row, i) => {\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: field.fields,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: [...fieldPath, i],\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc: row || {},\n triggerAccessControl,\n triggerHooks,\n })\n })\n } else if (!shouldHoistLocalizedValue && typeof rows === 'object' && rows !== null) {\n Object.values(rows).forEach((localeRows) => {\n if (Array.isArray(localeRows)) {\n localeRows.forEach((row, i) => {\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: field.fields,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: [...fieldPath, i],\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc: (row as JsonObject) || {},\n triggerAccessControl,\n triggerHooks,\n })\n })\n }\n })\n } else {\n siblingDoc[field.name] = []\n }\n break\n }\n\n case 'blocks': {\n const rows = siblingDoc[field.name]\n\n if (Array.isArray(rows)) {\n rows.forEach((row, i) => {\n const block = field.blocks.find(\n (blockType) => blockType.slug === (row as JsonObject).blockType,\n )\n\n if (block) {\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: block.fields,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: [...fieldPath, i],\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc: (row as JsonObject) || {},\n triggerAccessControl,\n triggerHooks,\n })\n }\n })\n } else if (!shouldHoistLocalizedValue && typeof rows === 'object' && rows !== null) {\n Object.values(rows).forEach((localeRows) => {\n if (Array.isArray(localeRows)) {\n localeRows.forEach((row, i) => {\n const block = field.blocks.find(\n (blockType) => blockType.slug === (row as JsonObject).blockType,\n )\n\n if (block) {\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: block.fields,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: [...fieldPath, i],\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc: (row as JsonObject) || {},\n triggerAccessControl,\n triggerHooks,\n })\n }\n })\n }\n })\n } else {\n siblingDoc[field.name] = []\n }\n\n break\n }\n\n case 'row':\n case 'collapsible': {\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: field.fields,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: fieldPath,\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc,\n triggerAccessControl,\n triggerHooks,\n })\n\n break\n }\n\n case 'tab': {\n let tabDoc = siblingDoc\n if (tabHasName(field)) {\n tabDoc = siblingDoc[field.name] as JsonObject\n if (typeof siblingDoc[field.name] !== 'object') tabDoc = {}\n }\n\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: field.fields,\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: fieldPath,\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc: tabDoc,\n triggerAccessControl,\n triggerHooks,\n })\n\n break\n }\n\n case 'tabs': {\n traverseFields({\n collection,\n context,\n currentDepth,\n depth,\n doc,\n draft,\n fallbackLocale,\n fieldPromises,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n findMany,\n flattenLocales,\n global,\n locale,\n overrideAccess,\n path: fieldPath,\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingDoc,\n triggerAccessControl,\n triggerHooks,\n })\n break\n }\n\n case 'richText': {\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n const editor: RichTextAdapter = field?.editor\n\n if (editor?.hooks?.afterRead?.length) {\n await editor.hooks.afterRead.reduce(async (priorHook, currentHook) => {\n await priorHook\n\n const shouldRunHookOnAllLocales =\n field.localized &&\n (locale === 'all' || !flattenLocales) &&\n typeof siblingDoc[field.name] === 'object'\n\n if (shouldRunHookOnAllLocales) {\n const hookPromises = Object.entries(siblingDoc[field.name]).map(([locale, value]) =>\n (async () => {\n const hookedValue = await currentHook({\n collection,\n context,\n currentDepth,\n data: doc,\n depth,\n draft,\n fallbackLocale,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n global,\n locale,\n operation: 'read',\n originalDoc: doc,\n overrideAccess,\n path: fieldPath,\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingData: siblingDoc,\n triggerAccessControl,\n triggerHooks,\n value,\n })\n\n if (hookedValue !== undefined) {\n siblingDoc[field.name][locale] = hookedValue\n }\n })(),\n )\n\n await Promise.all(hookPromises)\n } else {\n const hookedValue = await currentHook({\n collection,\n context,\n currentDepth,\n data: doc,\n depth,\n draft,\n fallbackLocale,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n global,\n locale,\n operation: 'read',\n originalDoc: doc,\n overrideAccess,\n path: fieldPath,\n populationPromises,\n req,\n schemaPath: fieldSchemaPath,\n showHiddenFields,\n siblingData: siblingDoc,\n triggerAccessControl,\n triggerHooks,\n value: siblingDoc[field.name],\n })\n\n if (hookedValue !== undefined) {\n siblingDoc[field.name] = hookedValue\n }\n }\n }, Promise.resolve())\n }\n break\n }\n\n default: {\n break\n }\n }\n}\n"],"names":["MissingEditorProp","fieldAffectsData","tabHasName","getDefaultValue","getFieldPaths","relationshipPopulationPromise","traverseFields","promise","collection","context","currentDepth","depth","doc","draft","fallbackLocale","field","fieldPromises","findMany","flattenLocales","global","locale","overrideAccess","parentPath","parentSchemaPath","populationPromises","req","showHiddenFields","siblingDoc","triggerAccessControl","triggerHooks","path","fieldPath","schemaPath","fieldSchemaPath","hidden","name","shouldHoistLocalizedValue","localized","payload","config","localization","value","hoistedValue","fallbackValue","isNullOrUndefined","type","tabs","forEach","tab","editor","Error","pointDoc","Array","isArray","coordinates","length","undefined","hooks","afterRead","reduce","priorHook","currentHook","shouldRunHookOnAllLocales","hookPromises","Object","entries","map","hookedValue","data","operation","originalDoc","siblingData","Promise","all","resolve","allowDefaultValue","access","read","result","id","defaultValue","user","push","groupDoc","fields","rows","row","i","values","localeRows","block","blocks","find","blockType","slug","tabDoc"],"mappings":"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"}
|
|
@@ -12,7 +12,8 @@ export type DependencyCheckerArgs = {
|
|
|
12
12
|
* Name of the dependency group to be displayed in the error message
|
|
13
13
|
*/
|
|
14
14
|
name: string;
|
|
15
|
-
|
|
15
|
+
targetVersion?: string;
|
|
16
|
+
targetVersionDependency?: string;
|
|
16
17
|
}[];
|
|
17
18
|
/**
|
|
18
19
|
* Dependency package names keyed to their required versions. Supports >= (greater or equal than version) as a prefix, or no prefix for the exact version
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencyChecker.d.ts","sourceRoot":"","sources":["../../../src/utilities/dependencies/dependencyChecker.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAEjG,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,gBAAgB,CAAC,EAAE;QACjB,YAAY,EAAE,MAAM,EAAE,CAAA;QACtB;;WAEG;QACH,IAAI,EAAE,MAAM,CAAA;QACZ,uBAAuB,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"dependencyChecker.d.ts","sourceRoot":"","sources":["../../../src/utilities/dependencies/dependencyChecker.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAEjG,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,gBAAgB,CAAC,EAAE;QACjB,YAAY,EAAE,MAAM,EAAE,CAAA;QACtB;;WAEG;QACH,IAAI,EAAE,MAAM,CAAA;QACZ,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,uBAAuB,CAAC,EAAE,MAAM,CAAA;KACjC,EAAE,CAAA;IACH;;OAEG;IACH,kBAAkB,CAAC,EAAE;QACnB,CAAC,UAAU,EAAE,MAAM,GAAG;YACpB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;YACzC,QAAQ,CAAC,EAAE,OAAO,CAAA;YAClB,OAAO,CAAC,EAAE,MAAM,CAAA;SACjB,CAAA;KACF,CAAA;CACF,CAAA;AAED,wBAAsB,iBAAiB,CAAC,EACtC,gBAAgB,EAChB,kBAAkB,GACnB,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0EvC"}
|
|
@@ -16,7 +16,7 @@ export async function checkDependencies({ dependencyGroups, dependencyVersions }
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
if (Object.keys(foundVersions).length > 1) {
|
|
19
|
-
const targetVersion = resolvedDependencies.resolved.get(dependencyGroup.targetVersionDependency)?.version;
|
|
19
|
+
const targetVersion = dependencyGroup.targetVersion ?? resolvedDependencies.resolved.get(dependencyGroup.targetVersionDependency)?.version;
|
|
20
20
|
if (targetVersion) {
|
|
21
21
|
const formattedVersionsWithPackageNameString = Object.entries(foundVersions).filter(([version])=>version !== targetVersion).map(([version, pkg])=>`${pkg}@${version} (Please change this to ${targetVersion})`).join(', ');
|
|
22
22
|
throw new Error(`Mismatching "${dependencyGroup.name}" dependency versions found: ${formattedVersionsWithPackageNameString}. All "${dependencyGroup.name}" packages must have the same version. This is an error with your set-up, not a bug in Payload. Please go to your package.json and ensure all "${dependencyGroup.name}" packages have the same version.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utilities/dependencies/dependencyChecker.ts"],"sourcesContent":["import path from 'path'\nimport { fileURLToPath } from 'url'\n\nimport { getDependencies } from '../../index.js'\nimport { compareVersions } from './versionUtils.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport type CustomVersionParser = (version: string) => { parts: number[]; preReleases: string[] }\n\nexport type DependencyCheckerArgs = {\n /**\n * Define dependency groups to ensure that all dependencies within that group are on the same version, and that no dependencies in that group with different versions are found\n */\n dependencyGroups?: {\n dependencies: string[]\n /**\n * Name of the dependency group to be displayed in the error message\n */\n name: string\n targetVersionDependency
|
|
1
|
+
{"version":3,"sources":["../../../src/utilities/dependencies/dependencyChecker.ts"],"sourcesContent":["import path from 'path'\nimport { fileURLToPath } from 'url'\n\nimport { getDependencies } from '../../index.js'\nimport { compareVersions } from './versionUtils.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport type CustomVersionParser = (version: string) => { parts: number[]; preReleases: string[] }\n\nexport type DependencyCheckerArgs = {\n /**\n * Define dependency groups to ensure that all dependencies within that group are on the same version, and that no dependencies in that group with different versions are found\n */\n dependencyGroups?: {\n dependencies: string[]\n /**\n * Name of the dependency group to be displayed in the error message\n */\n name: string\n targetVersion?: string\n targetVersionDependency?: string\n }[]\n /**\n * Dependency package names keyed to their required versions. Supports >= (greater or equal than version) as a prefix, or no prefix for the exact version\n */\n dependencyVersions?: {\n [dependency: string]: {\n customVersionParser?: CustomVersionParser\n required?: boolean\n version?: string\n }\n }\n}\n\nexport async function checkDependencies({\n dependencyGroups,\n dependencyVersions,\n}: DependencyCheckerArgs): Promise<void> {\n if (dependencyGroups?.length) {\n for (const dependencyGroup of dependencyGroups) {\n const resolvedDependencies = await getDependencies(dirname, dependencyGroup.dependencies)\n\n // Go through each resolved dependency. If any dependency has a mismatching version, throw an error\n const foundVersions: {\n [version: string]: string\n } = {}\n for (const [_pkg, { version }] of resolvedDependencies.resolved) {\n if (!Object.keys(foundVersions).includes(version)) {\n foundVersions[version] = _pkg\n }\n }\n if (Object.keys(foundVersions).length > 1) {\n const targetVersion =\n dependencyGroup.targetVersion ??\n resolvedDependencies.resolved.get(dependencyGroup.targetVersionDependency)?.version\n if (targetVersion) {\n const formattedVersionsWithPackageNameString = Object.entries(foundVersions)\n .filter(([version]) => version !== targetVersion)\n .map(([version, pkg]) => `${pkg}@${version} (Please change this to ${targetVersion})`)\n .join(', ')\n throw new Error(\n `Mismatching \"${dependencyGroup.name}\" dependency versions found: ${formattedVersionsWithPackageNameString}. All \"${dependencyGroup.name}\" packages must have the same version. This is an error with your set-up, not a bug in Payload. Please go to your package.json and ensure all \"${dependencyGroup.name}\" packages have the same version.`,\n )\n } else {\n const formattedVersionsWithPackageNameString = Object.entries(foundVersions)\n .map(([version, pkg]) => `${pkg}@${version}`)\n .join(', ')\n throw new Error(\n `Mismatching \"${dependencyGroup.name}\" dependency versions found: ${formattedVersionsWithPackageNameString}. All \"${dependencyGroup.name}\" packages must have the same version. This is an error with your set-up, not a bug in Payload. Please go to your package.json and ensure all \"${dependencyGroup.name}\" packages have the same version.`,\n )\n }\n }\n }\n }\n\n if (dependencyVersions && Object.keys(dependencyVersions).length) {\n const resolvedDependencies = await getDependencies(dirname, Object.keys(dependencyVersions))\n for (const [dependency, settings] of Object.entries(dependencyVersions)) {\n const resolvedDependency = resolvedDependencies.resolved.get(dependency)\n if (!resolvedDependency) {\n if (!settings.required) {\n continue\n }\n throw new Error(`Dependency ${dependency} not found. Please ensure it is installed.`)\n }\n\n if (settings.version) {\n const settingsVersionToCheck = settings.version.startsWith('>=')\n ? settings.version.slice(2)\n : settings.version\n\n const versionCompareResult = compareVersions(\n resolvedDependency.version,\n settingsVersionToCheck,\n settings.customVersionParser,\n )\n\n if (settings.version.startsWith('>=')) {\n if (versionCompareResult === 'lower') {\n throw new Error(\n `Dependency ${dependency} is on version ${resolvedDependency.version}, but ${settings.version} or greater is required. Please update this dependency.`,\n )\n }\n } else if (versionCompareResult === 'lower' || versionCompareResult === 'greater') {\n throw new Error(\n `Dependency ${dependency} is on version ${resolvedDependency.version}, but ${settings.version} is required. Please update this dependency.`,\n )\n }\n }\n }\n }\n}\n"],"names":["path","fileURLToPath","getDependencies","compareVersions","filename","url","dirname","checkDependencies","dependencyGroups","dependencyVersions","length","dependencyGroup","resolvedDependencies","dependencies","foundVersions","_pkg","version","resolved","Object","keys","includes","targetVersion","get","targetVersionDependency","formattedVersionsWithPackageNameString","entries","filter","map","pkg","join","Error","name","dependency","settings","resolvedDependency","required","settingsVersionToCheck","startsWith","slice","versionCompareResult","customVersionParser"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDataByPath.d.ts","sourceRoot":"","sources":["../../src/utilities/getDataByPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"getDataByPath.d.ts","sourceRoot":"","sources":["../../src/utilities/getDataByPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAIlD,eAAO,MAAM,aAAa,GAAI,CAAC,oBAAoB,SAAS,QAAQ,MAAM,KAAG,CAkB5E,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/getDataByPath.ts"],"sourcesContent":["import type { FormState } from '
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/getDataByPath.ts"],"sourcesContent":["import type { FormState } from '../admin/types.js'\n\nimport { unflatten } from './unflatten.js'\n\nexport const getDataByPath = <T = unknown>(fields: FormState, path: string): T => {\n const pathPrefixToRemove = path.substring(0, path.lastIndexOf('.') + 1)\n const name = path.split('.').pop()\n\n const data = {}\n Object.keys(fields).forEach((key) => {\n if (!fields[key].disableFormData && (key.indexOf(`${path}.`) === 0 || key === path)) {\n data[key.replace(pathPrefixToRemove, '')] = fields[key].value\n\n if (fields[key]?.rows && fields[key].rows.length === 0) {\n data[key.replace(pathPrefixToRemove, '')] = []\n }\n }\n })\n\n const unflattenedData = unflatten(data)\n\n return unflattenedData?.[name]\n}\n"],"names":["unflatten","getDataByPath","fields","path","pathPrefixToRemove","substring","lastIndexOf","name","split","pop","data","Object","keys","forEach","key","disableFormData","indexOf","replace","value","rows","length","unflattenedData"],"mappings":"AAEA,SAASA,SAAS,QAAQ,iBAAgB;AAE1C,OAAO,MAAMC,gBAAgB,CAAcC,QAAmBC;IAC5D,MAAMC,qBAAqBD,KAAKE,SAAS,CAAC,GAAGF,KAAKG,WAAW,CAAC,OAAO;IACrE,MAAMC,OAAOJ,KAAKK,KAAK,CAAC,KAAKC,GAAG;IAEhC,MAAMC,OAAO,CAAC;IACdC,OAAOC,IAAI,CAACV,QAAQW,OAAO,CAAC,CAACC;QAC3B,IAAI,CAACZ,MAAM,CAACY,IAAI,CAACC,eAAe,IAAKD,CAAAA,IAAIE,OAAO,CAAC,CAAC,EAAEb,KAAK,CAAC,CAAC,MAAM,KAAKW,QAAQX,IAAG,GAAI;YACnFO,IAAI,CAACI,IAAIG,OAAO,CAACb,oBAAoB,IAAI,GAAGF,MAAM,CAACY,IAAI,CAACI,KAAK;YAE7D,IAAIhB,MAAM,CAACY,IAAI,EAAEK,QAAQjB,MAAM,CAACY,IAAI,CAACK,IAAI,CAACC,MAAM,KAAK,GAAG;gBACtDV,IAAI,CAACI,IAAIG,OAAO,CAACb,oBAAoB,IAAI,GAAG,EAAE;YAChD;QACF;IACF;IAEA,MAAMiB,kBAAkBrB,UAAUU;IAElC,OAAOW,iBAAiB,CAACd,KAAK;AAChC,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "payload",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.94",
|
|
4
4
|
"description": "Node, React, Headless CMS and Application Framework built on Next.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"admin panel",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"ts-essentials": "7.0.3",
|
|
96
96
|
"tsx": "4.17.0",
|
|
97
97
|
"uuid": "10.0.0",
|
|
98
|
-
"@payloadcms/translations": "3.0.0-beta.
|
|
98
|
+
"@payloadcms/translations": "3.0.0-beta.94"
|
|
99
99
|
},
|
|
100
100
|
"devDependencies": {
|
|
101
101
|
"@hyrious/esbuild-plugin-commonjs": "^0.2.4",
|