ember-data
Version:
The lightweight reactive data library for JavaScript applications
29 lines (28 loc) • 1.73 kB
TypeScript
declare module 'ember-data/store' {
import type { MinimumAdapterInterface } from "@ember-data/legacy-compat";
import { normalize, pushPayload, serializeRecord, serializerFor } from "@ember-data/legacy-compat";
import type { FetchManager } from "@ember-data/legacy-compat/-private";
import type Model from "@ember-data/model";
import BaseStore from "@ember-data/store";
import type { CacheCapabilitiesManager, ModelSchema, SchemaService } from "@ember-data/store/types";
import type { ResourceKey } from "@warp-drive/core-types";
import type { Cache } from "@warp-drive/core-types/cache";
import type { TypeFromInstance } from "@warp-drive/core-types/record";
export default class Store extends BaseStore {
_fetchManager: FetchManager;
constructor(args?: Record<string, unknown>);
createSchemaService(): SchemaService;
createCache(storeWrapper: CacheCapabilitiesManager): Cache;
instantiateRecord(key: ResourceKey, createRecordArgs: Record<string, unknown>): Model;
teardownRecord(record: unknown): void;
modelFor<T>(type: TypeFromInstance<T>): ModelSchema<T>;
modelFor(type: string): ModelSchema;
adapterFor(this: Store, modelName: string): MinimumAdapterInterface;
adapterFor(this: Store, modelName: string, _allowMissing: true): MinimumAdapterInterface | undefined;
serializerFor: (...args: Parameters<typeof serializerFor>) => ReturnType<typeof serializerFor>;
pushPayload: (...args: Parameters<typeof pushPayload>) => ReturnType<typeof pushPayload>;
normalize: (...args: Parameters<typeof normalize>) => ReturnType<typeof normalize>;
serializeRecord: (...args: Parameters<typeof serializeRecord>) => ReturnType<typeof serializeRecord>;
destroy(): void;
}
}