Skip to content

Collection

Defined in: packages/core/src/cms.ts:120

Defines a collection with its loading, transformation, and validation pipeline.

const postsCollection: Collection<PostLoadSchema, PostSchema, {}, FileSystem> = {
loadingSchema: PostLoadSchema,
transformedSchema: PostSchema,
loader: loadPostsFromFS,
transformer: transformPost,
validator: validatePost,
relations: {}
};

TLoadSchema extends AnySchema

Schema for the raw loaded data

TTransformSchema extends AnySchema

Schema for the transformed data

TRelations extends Partial<Record<keyof Schema.Schema.Type<TTransformSchema>, CollectionRelation>>

Map of field names to their collection relations

TLoaderDeps

Dependencies required by the loader

TTransformerDeps

Dependencies required by the transformer

TValidatorDeps

Dependencies required by the validator

readonly loader: Stream<Type<TLoadSchema>, LoadingError, TLoaderDeps>

Defined in: packages/core/src/cms.ts:132


readonly loadingSchema: TLoadSchema

Defined in: packages/core/src/cms.ts:130


readonly relations: TRelations

Defined in: packages/core/src/cms.ts:147


readonly transformedSchema: TTransformSchema

Defined in: packages/core/src/cms.ts:131


readonly transformer: (data) => Effect<Type<TTransformSchema>, TransformationError, TTransformerDeps>

Defined in: packages/core/src/cms.ts:137

Type<TLoadSchema>

Effect<Type<TTransformSchema>, TransformationError, TTransformerDeps>


readonly validator: (data) => Effect<void, ValidationError, TValidatorDeps>

Defined in: packages/core/src/cms.ts:144

Type<TTransformSchema>

Effect<void, ValidationError, TValidatorDeps>