UNPKG

@orbit/record-cache

Version:

Orbit base classes used to access and maintain a set of records.

60 lines (59 loc) 3.44 kB
import { Evented } from '@orbit/core'; import { DefaultRequestOptions, RequestOptions } from '@orbit/data'; import { RecordKeyMap, RecordOperation, RecordSchema, RecordQueryBuilder, RecordTransformBuilder, RecordQueryExpression, RecordQuery, RecordTransform, RecordNormalizer, StandardRecordValidator } from '@orbit/records'; import { Dict } from '@orbit/utils'; import { StandardValidator, ValidatorForFn } from '@orbit/validators'; export interface RecordCacheQueryOptions extends RequestOptions { raiseNotFoundExceptions?: boolean; } export interface RecordCacheTransformOptions extends RequestOptions { raiseNotFoundExceptions?: boolean; useBuffer?: boolean; } export interface RecordCacheSettings<QueryOptions extends RequestOptions = RecordCacheQueryOptions, TransformOptions extends RequestOptions = RecordCacheTransformOptions, QueryBuilder = RecordQueryBuilder, TransformBuilder = RecordTransformBuilder> { name?: string; schema: RecordSchema; keyMap?: RecordKeyMap; normalizer?: RecordNormalizer; validatorFor?: ValidatorForFn<StandardValidator | StandardRecordValidator>; validators?: Dict<StandardValidator | StandardRecordValidator>; /** * Automatically validate the contents of all requests. * * If true, builds a `validatorFor` function if one has not been provided. * This will include standard validators as well as any custom `validators` * that may be provided. * * @default true */ autoValidate?: boolean; queryBuilder?: QueryBuilder; transformBuilder?: TransformBuilder; defaultQueryOptions?: DefaultRequestOptions<QueryOptions>; defaultTransformOptions?: DefaultRequestOptions<TransformOptions>; } export interface RecordCache extends Evented { } export declare abstract class RecordCache<QueryOptions extends RequestOptions = RecordCacheQueryOptions, TransformOptions extends RequestOptions = RecordCacheTransformOptions, QueryBuilder = RecordQueryBuilder, TransformBuilder = RecordTransformBuilder> { protected _name?: string; protected _keyMap?: RecordKeyMap; protected _schema: RecordSchema; protected _queryBuilder: QueryBuilder; protected _transformBuilder: TransformBuilder; protected _validatorFor?: ValidatorForFn<StandardValidator | StandardRecordValidator>; protected _defaultQueryOptions?: DefaultRequestOptions<QueryOptions>; protected _defaultTransformOptions?: DefaultRequestOptions<TransformOptions>; constructor(settings: RecordCacheSettings<QueryOptions, TransformOptions, QueryBuilder, TransformBuilder>); get name(): string | undefined; get schema(): RecordSchema; get keyMap(): RecordKeyMap | undefined; get validatorFor(): ValidatorForFn<StandardValidator | StandardRecordValidator> | undefined; get queryBuilder(): QueryBuilder; get transformBuilder(): TransformBuilder; get defaultQueryOptions(): DefaultRequestOptions<QueryOptions> | undefined; set defaultQueryOptions(options: DefaultRequestOptions<QueryOptions> | undefined); get defaultTransformOptions(): DefaultRequestOptions<TransformOptions> | undefined; set defaultTransformOptions(options: DefaultRequestOptions<TransformOptions> | undefined); getQueryOptions(query: RecordQuery, expression?: RecordQueryExpression): QueryOptions | undefined; getTransformOptions(transform: RecordTransform, operation?: RecordOperation): TransformOptions | undefined; }