import LiveQuery from './live-query.ts'; import type Model from './model.ts'; import type Store from './store.ts'; import { ModelAwareQueryBuilder, ModelAwareTransformBuilder, type ModelAwareQueryOrExpressions, type ModelAwareTransformOrOperations, type RecordIdentityOrModel } from './utils/model-aware-types.ts'; import type { ModelFields } from './utils/model-fields.ts'; import { type DefaultRequestOptions, type FullRequestOptions, type FullResponse, type RequestOptions } from '@orbit/data'; import IdentityMap from '@orbit/identity-map'; import { type MemoryCache, type MemoryCacheMergeOptions, type MemoryCacheSettings } from '@orbit/memory'; import type { RecordCacheQueryOptions, RecordCacheTransformOptions } from '@orbit/record-cache'; import { RecordKeyMap, RecordSchema, type InitializedRecord, type RecordIdentity, type RecordOperation, type RecordQueryResult, type RecordTransformResult, type StandardRecordValidator, type UninitializedRecord } from '@orbit/records'; import type { StandardValidator, ValidatorForFn } from '@orbit/validators'; export interface CacheSettings { sourceCache: MemoryCache; store?: Store; base?: Cache; } export default class Cache { #private; allowUpdates: boolean; protected _identityMap: IdentityMap; constructor(settings: CacheSettings); get sourceCache(): MemoryCache; get store(): Store | undefined; get keyMap(): RecordKeyMap | undefined; get schema(): RecordSchema; get queryBuilder(): ModelAwareQueryBuilder; get transformBuilder(): ModelAwareTransformBuilder; get validatorFor(): ValidatorForFn | undefined; get defaultQueryOptions(): DefaultRequestOptions | undefined; set defaultQueryOptions(options: DefaultRequestOptions | undefined); get defaultTransformOptions(): DefaultRequestOptions | undefined; set defaultTransformOptions(options: DefaultRequestOptions | undefined); get isForked(): boolean; get base(): Cache | undefined; fork(settings?: Partial>): Cache; merge = RecordTransformResult>(forkedCache: Cache, options?: DefaultRequestOptions & MemoryCacheMergeOptions): RequestData; merge = RecordTransformResult>(forkedCache: Cache, options: FullRequestOptions & MemoryCacheMergeOptions): FullResponse; rebase(): void; reset(): void; getRecordData(type: string, id: string): InitializedRecord | undefined; includesRecord(type: string, id: string): boolean; recordIdFromKey(type: string, keyName: string, keyValue: string): string; /** * @deprecated */ peekRecordData(type: string, id: string): InitializedRecord | undefined; /** * @deprecated */ peekRecord(type: string, id: string): Model | undefined; /** * @deprecated */ peekRecords(type: string): Model[]; /** * @deprecated */ peekRecordByKey(type: string, key: string, value: string): Model | undefined; /** * @deprecated */ peekKey(identity: RecordIdentity, key: string): string | undefined; /** * @deprecated */ peekAttribute(identity: RecordIdentity, attribute: string): any; /** * @deprecated */ peekRelatedRecord(identity: RecordIdentity, relationship: string): Model | null | undefined; /** * @deprecated */ peekRelatedRecords(identity: RecordIdentity, relationship: string): Model[] | undefined; update = RecordTransformResult>(transformOrOperations: ModelAwareTransformOrOperations, options?: DefaultRequestOptions, id?: string): RequestData; update = RecordTransformResult>(transformOrOperations: ModelAwareTransformOrOperations, options: FullRequestOptions, id?: string): FullResponse; query = RecordQueryResult>(queryOrExpressions: ModelAwareQueryOrExpressions, options?: DefaultRequestOptions, id?: string): RequestData; query = RecordQueryResult>(queryOrExpressions: ModelAwareQueryOrExpressions, options: FullRequestOptions, id?: string): FullResponse; liveQuery(queryOrExpressions: ModelAwareQueryOrExpressions, options?: DefaultRequestOptions, id?: string): LiveQuery; /** * @deprecated */ find(type: string, id?: string): Model | Model[] | undefined; findRecord(type: string, id: string, options?: DefaultRequestOptions): Model | undefined; findRecord(identity: RecordIdentityOrModel, options?: DefaultRequestOptions): Model | undefined; findRecords(typeOrIdentities: string | RecordIdentityOrModel[], options?: DefaultRequestOptions): Model[]; /** * Adds a record */ addRecord = Model>(properties: UninitializedRecord | ModelFields, options?: DefaultRequestOptions): RequestData; /** * Updates a record */ updateRecord = Model>(properties: InitializedRecord | ModelFields, options?: DefaultRequestOptions): RequestData; /** * Removes a record */ removeRecord(identity: RecordIdentityOrModel, options?: DefaultRequestOptions): void; unload(identity: RecordIdentity): void; lookup(identity: RecordIdentity): Model; _lookupQueryResult(result: RecordQueryResult, isArray: boolean): RecordQueryResult; _lookupTransformResult(result: RecordTransformResult, isArray: boolean): RecordTransformResult; private lookupQueryExpressionResult; private lookupOperationResult; private notifyPropertyChange; private generatePatchListener; } //# sourceMappingURL=cache.d.ts.map