|
1 |
| -import JSONAPICache from '@ember-data/json-api'; |
2 |
| -import type Model from '@ember-data/model'; |
3 |
| -import { instantiateRecord, teardownRecord } from '@ember-data/model'; |
4 |
| -import { buildSchema, modelFor } from '@ember-data/model/hooks'; |
5 |
| -import RequestManager from '@ember-data/request'; |
6 |
| -import Fetch from '@ember-data/request/fetch'; |
7 |
| -import { LifetimesService } from '@ember-data/request-utils'; |
8 |
| -import DataStore, { CacheHandler } from '@ember-data/store'; |
9 |
| -import type { CacheCapabilitiesManager } from '@ember-data/store/-types/q/cache-store-wrapper'; |
10 |
| -import type { StableRecordIdentifier } from '@warp-drive/core-types'; |
11 |
| -import type { Cache } from '@warp-drive/core-types/cache'; |
| 1 | +import { service } from '@ember/service'; |
12 | 2 |
|
13 |
| -import CONFIG from '../config/environment'; |
| 3 | +import Store from 'ember-data/store'; |
14 | 4 |
|
15 |
| -export default class Store extends DataStore { |
16 |
| - constructor(args: unknown) { |
17 |
| - super(args); |
| 5 | +import type RequestManager from '@ember-data/request'; |
18 | 6 |
|
19 |
| - const manager = (this.requestManager = new RequestManager()); |
20 |
| - manager.use([Fetch]); |
21 |
| - manager.useCache(CacheHandler); |
22 |
| - |
23 |
| - this.registerSchema(buildSchema(this)); |
24 |
| - this.lifetimes = new LifetimesService(CONFIG); |
25 |
| - } |
26 |
| - |
27 |
| - override createCache(capabilities: CacheCapabilitiesManager): Cache { |
28 |
| - return new JSONAPICache(capabilities); |
29 |
| - } |
30 |
| - |
31 |
| - override instantiateRecord( |
32 |
| - identifier: StableRecordIdentifier, |
33 |
| - createRecordArgs: { [key: string]: unknown } |
34 |
| - ): unknown { |
35 |
| - return instantiateRecord.call(this, identifier, createRecordArgs); |
36 |
| - } |
37 |
| - |
38 |
| - override teardownRecord(record: Model): void { |
39 |
| - return teardownRecord.call(this, record); |
40 |
| - } |
41 |
| - |
42 |
| - // @ts-expect-error Not sure what the fix is here |
43 |
| - override modelFor(type: string) { |
44 |
| - return modelFor.call(this, type); |
45 |
| - } |
| 7 | +export default class MyStore extends Store { |
| 8 | + @service declare requestManager: RequestManager; |
46 | 9 | }
|
0 commit comments