Skip to content

CollectionDataFieldSlug

CollectionDataFieldSlug<TFields, TTimestamps> = DataFieldSlug<TFields> | TTimestamps extends false ? never : "updatedAt"

Defined in: packages/core/src/collections/types.ts:432

Field slugs valid wherever a collection’s OWN data-field slugs are accepted in its admin/index config (admin.view.sort/columns, admin.views[].state, indexes[].fields) — DataFieldSlug<TFields> PLUS the updatedAt defineCollection auto-injects into every collection’s fields record, UNLESS the collection opts out with timestamps: false (TTimestamps extends false). TFields never contains updatedAt at the type level — defineCollection’s own signature rejects hand-declaring it (the reserved-key guard) — so the injection is the only place that key can come from, and DataFieldSlug<TFields> alone can never see it.

TFields

The collection’s own literal fields record, as authored (never including the injected key).

TTimestamps extends boolean = true

The literal timestamps option defineCollection was called with — const-inferred at the call site, defaulting to true to match the runtime default (inject unless explicitly opted out).