UNPKG

4.22 kBSource Map (JSON)View Raw
1{"version":3,"file":"store.js","sources":["../src/store.ts"],"sourcesContent":["import JSONAPICache from '@ember-data/json-api';\nimport {\n adapterFor,\n cleanup,\n LegacyNetworkHandler,\n normalize,\n pushPayload,\n serializeRecord,\n serializerFor,\n} from '@ember-data/legacy-compat';\nimport type { FetchManager } from '@ember-data/legacy-compat/-private';\nimport type Model from '@ember-data/model';\nimport type { ModelStore } from '@ember-data/model/-private';\nimport { buildSchema, instantiateRecord, modelFor, teardownRecord } from '@ember-data/model/hooks';\nimport RequestManager from '@ember-data/request';\nimport Fetch from '@ember-data/request/fetch';\nimport BaseStore, { CacheHandler } from '@ember-data/store';\nimport type { CacheCapabilitiesManager, ModelSchema, SchemaService } from '@ember-data/store/types';\nimport type { StableRecordIdentifier } from '@warp-drive/core-types';\nimport type { Cache } from '@warp-drive/core-types/cache';\nimport type { TypeFromInstance } from '@warp-drive/core-types/record';\n\nfunction hasRequestManager(store: BaseStore): boolean {\n return 'requestManager' in store;\n}\n\nexport default class Store extends BaseStore {\n declare _fetchManager: FetchManager;\n\n constructor(args?: Record<string, unknown>) {\n super(args);\n\n if (!hasRequestManager(this)) {\n this.requestManager = new RequestManager();\n this.requestManager.use([LegacyNetworkHandler, Fetch]);\n }\n this.requestManager.useCache(CacheHandler);\n }\n\n createSchemaService(): SchemaService {\n return buildSchema(this);\n }\n\n createCache(storeWrapper: CacheCapabilitiesManager): Cache {\n return new JSONAPICache(storeWrapper);\n }\n\n instantiateRecord(\n this: ModelStore,\n identifier: StableRecordIdentifier,\n createRecordArgs: Record<string, unknown>\n ): Model {\n return instantiateRecord.call(this, identifier, createRecordArgs);\n }\n\n teardownRecord(record: Model): void {\n teardownRecord.call(this, record);\n }\n\n modelFor<T>(type: TypeFromInstance<T>): ModelSchema<T>;\n modelFor(type: string): ModelSchema;\n modelFor(type: string): ModelSchema {\n return (modelFor.call(this, type) as ModelSchema) || super.modelFor(type);\n }\n\n adapterFor = adapterFor;\n serializerFor = serializerFor;\n pushPayload = pushPayload;\n normalize = normalize;\n serializeRecord = serializeRecord;\n\n destroy() {\n cleanup.call(this);\n super.destroy();\n }\n}\n"],"names":["hasRequestManager","store","Store","BaseStore","constructor","args","requestManager","RequestManager","use","LegacyNetworkHandler","Fetch","useCache","CacheHandler","createSchemaService","buildSchema","createCache","storeWrapper","JSONAPICache","instantiateRecord","identifier","createRecordArgs","call","teardownRecord","record","modelFor","type","adapterFor","serializerFor","pushPayload","normalize","serializeRecord","destroy","cleanup"],"mappings":";;;;;;;AAsBA,SAASA,iBAAiBA,CAACC,KAAgB,EAAW;EACpD,OAAO,gBAAgB,IAAIA,KAAK,CAAA;AAClC,CAAA;AAEe,MAAMC,KAAK,SAASC,SAAS,CAAC;EAG3CC,WAAWA,CAACC,IAA8B,EAAE;IAC1C,KAAK,CAACA,IAAI,CAAC,CAAA;AAEX,IAAA,IAAI,CAACL,iBAAiB,CAAC,IAAI,CAAC,EAAE;AAC5B,MAAA,IAAI,CAACM,cAAc,GAAG,IAAIC,cAAc,EAAE,CAAA;MAC1C,IAAI,CAACD,cAAc,CAACE,GAAG,CAAC,CAACC,oBAAoB,EAAEC,KAAK,CAAC,CAAC,CAAA;AACxD,KAAA;AACA,IAAA,IAAI,CAACJ,cAAc,CAACK,QAAQ,CAACC,YAAY,CAAC,CAAA;AAC5C,GAAA;AAEAC,EAAAA,mBAAmBA,GAAkB;IACnC,OAAOC,WAAW,CAAC,IAAI,CAAC,CAAA;AAC1B,GAAA;EAEAC,WAAWA,CAACC,YAAsC,EAAS;AACzD,IAAA,OAAO,IAAIC,YAAY,CAACD,YAAY,CAAC,CAAA;AACvC,GAAA;AAEAE,EAAAA,iBAAiBA,CAEfC,UAAkC,EAClCC,gBAAyC,EAClC;IACP,OAAOF,iBAAiB,CAACG,IAAI,CAAC,IAAI,EAAEF,UAAU,EAAEC,gBAAgB,CAAC,CAAA;AACnE,GAAA;EAEAE,cAAcA,CAACC,MAAa,EAAQ;AAClCD,IAAAA,cAAc,CAACD,IAAI,CAAC,IAAI,EAAEE,MAAM,CAAC,CAAA;AACnC,GAAA;EAIAC,QAAQA,CAACC,IAAY,EAAe;AAClC,IAAA,OAAQD,QAAQ,CAACH,IAAI,CAAC,IAAI,EAAEI,IAAI,CAAC,IAAoB,KAAK,CAACD,QAAQ,CAACC,IAAI,CAAC,CAAA;AAC3E,GAAA;AAEAC,EAAAA,UAAU,GAAGA,UAAU,CAAA;AACvBC,EAAAA,aAAa,GAAGA,aAAa,CAAA;AAC7BC,EAAAA,WAAW,GAAGA,WAAW,CAAA;AACzBC,EAAAA,SAAS,GAAGA,SAAS,CAAA;AACrBC,EAAAA,eAAe,GAAGA,eAAe,CAAA;AAEjCC,EAAAA,OAAOA,GAAG;AACRC,IAAAA,OAAO,CAACX,IAAI,CAAC,IAAI,CAAC,CAAA;IAClB,KAAK,CAACU,OAAO,EAAE,CAAA;AACjB,GAAA;AACF;;;;"}
\No newline at end of file