@ember-data/model 5.4.0-alpha.64 → 5.4.0-alpha.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/addon-main.cjs +5 -0
- package/blueprints/model/index.js +18 -5
- package/blueprints/model-test/index.js +16 -10
- package/blueprints/model-test/qunit-files/__root__/__path__/__test__.js +4 -5
- package/{addon → dist}/-private.js +2 -2
- package/{addon/has-many-BuTJfT5a.js → dist/has-many-CR10J-rp.js} +49 -26
- package/dist/has-many-CR10J-rp.js.map +1 -0
- package/dist/hooks-BNw6VdLr.js +75 -0
- package/dist/hooks-BNw6VdLr.js.map +1 -0
- package/dist/hooks.js +2 -0
- package/{addon → dist}/hooks.js.map +1 -1
- package/dist/index.js +4 -0
- package/{addon → dist}/index.js.map +1 -1
- package/dist/migration-support.js +211 -0
- package/dist/migration-support.js.map +1 -0
- package/{addon/model-DJ9C4aZ-.js → dist/model-CsbDNxap.js} +821 -250
- package/dist/model-CsbDNxap.js.map +1 -0
- package/dist/schema-provider-C5vR7TBr.js +256 -0
- package/dist/schema-provider-C5vR7TBr.js.map +1 -0
- package/package.json +39 -59
- package/unstable-preview-types/-private/attr.d.ts.map +1 -1
- package/unstable-preview-types/-private/belongs-to.d.ts.map +1 -1
- package/unstable-preview-types/-private/debug/assert-polymorphic-type.d.ts +2 -2
- package/unstable-preview-types/-private/debug/assert-polymorphic-type.d.ts.map +1 -1
- package/unstable-preview-types/-private/errors.d.ts +2 -5
- package/unstable-preview-types/-private/errors.d.ts.map +1 -1
- package/unstable-preview-types/-private/has-many.d.ts.map +1 -1
- package/unstable-preview-types/-private/hooks.d.ts.map +1 -1
- package/unstable-preview-types/-private/legacy-relationships-support.d.ts +16 -20
- package/unstable-preview-types/-private/legacy-relationships-support.d.ts.map +1 -1
- package/unstable-preview-types/-private/many-array.d.ts +11 -13
- package/unstable-preview-types/-private/many-array.d.ts.map +1 -1
- package/unstable-preview-types/-private/model-methods.d.ts +6 -5
- package/unstable-preview-types/-private/model-methods.d.ts.map +1 -1
- package/unstable-preview-types/-private/model.d.ts +38 -35
- package/unstable-preview-types/-private/model.d.ts.map +1 -1
- package/unstable-preview-types/-private/notify-changes.d.ts +1 -1
- package/unstable-preview-types/-private/notify-changes.d.ts.map +1 -1
- package/unstable-preview-types/-private/promise-belongs-to.d.ts +1 -2
- package/unstable-preview-types/-private/promise-belongs-to.d.ts.map +1 -1
- package/unstable-preview-types/-private/promise-many-array.d.ts +4 -4
- package/unstable-preview-types/-private/promise-many-array.d.ts.map +1 -1
- package/unstable-preview-types/-private/record-state.d.ts +3 -4
- package/unstable-preview-types/-private/record-state.d.ts.map +1 -1
- package/unstable-preview-types/-private/references/belongs-to.d.ts +4 -4
- package/unstable-preview-types/-private/references/belongs-to.d.ts.map +1 -1
- package/unstable-preview-types/-private/references/has-many.d.ts +7 -7
- package/unstable-preview-types/-private/references/has-many.d.ts.map +1 -1
- package/unstable-preview-types/-private/schema-provider.d.ts +46 -15
- package/unstable-preview-types/-private/schema-provider.d.ts.map +1 -1
- package/unstable-preview-types/-private/type-utils.d.ts +64 -0
- package/unstable-preview-types/-private/type-utils.d.ts.map +1 -0
- package/unstable-preview-types/-private.d.ts +4 -3
- package/unstable-preview-types/-private.d.ts.map +1 -1
- package/unstable-preview-types/index.d.ts +20 -20
- package/unstable-preview-types/index.d.ts.map +1 -1
- package/unstable-preview-types/migration-support.d.ts +45 -6
- package/unstable-preview-types/migration-support.d.ts.map +1 -1
- package/addon/has-many-BuTJfT5a.js.map +0 -1
- package/addon/hooks-BMoEt0SI.js +0 -176
- package/addon/hooks-BMoEt0SI.js.map +0 -1
- package/addon/hooks.js +0 -1
- package/addon/index.js +0 -3
- package/addon/migration-support.js +0 -118
- package/addon/migration-support.js.map +0 -1
- package/addon/model-DJ9C4aZ-.js.map +0 -1
- package/addon/util-CSYkrwfb.js +0 -35
- package/addon/util-CSYkrwfb.js.map +0 -1
- package/addon-main.js +0 -94
- package/unstable-preview-types/-private/promise-proxy-base.d.ts +0 -35
- /package/{addon → dist}/-private.js.map +0 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { recordIdentifierFor } from '@ember-data/store';
|
|
2
|
+
import { getOrSetGlobal } from '@warp-drive/core-types/-private';
|
|
3
|
+
import { Type } from '@warp-drive/core-types/symbols';
|
|
4
|
+
import '@ember/object';
|
|
5
|
+
import '@ember-data/store/-private';
|
|
6
|
+
import '@ember/debug';
|
|
7
|
+
import '@ember/string';
|
|
8
|
+
import { macroCondition, getGlobalConfig } from '@embroider/macros';
|
|
9
|
+
import { u as unloadRecord, s as serialize, b as save, r as rollbackAttributes, c as reload, h as hasMany, E as Errors, d as destroyRecord, e as deleteRecord, f as RecordState, g as changedAttributes, i as belongsTo, j as createSnapshot } from "./model-CsbDNxap";
|
|
10
|
+
import 'ember-inflector';
|
|
11
|
+
import '@ember/application';
|
|
12
|
+
import { b as buildSchema } from "./schema-provider-C5vR7TBr";
|
|
13
|
+
|
|
14
|
+
// 'isDestroying', 'isDestroyed'
|
|
15
|
+
const LegacyFields = ['_createSnapshot', 'adapterError', 'belongsTo', 'changedAttributes', 'constructor', 'currentState', 'deleteRecord', 'destroyRecord', 'dirtyType', 'errors', 'hasDirtyAttributes', 'hasMany', 'isDeleted', 'isEmpty', 'isError', 'isLoaded', 'isLoading', 'isNew', 'isSaving', 'isValid', 'reload', 'rollbackAttributes', 'save', 'serialize', 'unloadRecord'];
|
|
16
|
+
const LegacySupport = getOrSetGlobal('LegacySupport', new WeakMap());
|
|
17
|
+
function legacySupport(record, options, prop) {
|
|
18
|
+
let state = LegacySupport.get(record);
|
|
19
|
+
if (!state) {
|
|
20
|
+
state = {};
|
|
21
|
+
LegacySupport.set(record, state);
|
|
22
|
+
}
|
|
23
|
+
switch (prop) {
|
|
24
|
+
case '_createSnapshot':
|
|
25
|
+
return createSnapshot;
|
|
26
|
+
case 'adapterError':
|
|
27
|
+
return record.currentState.adapterError;
|
|
28
|
+
case 'belongsTo':
|
|
29
|
+
return belongsTo;
|
|
30
|
+
case 'changedAttributes':
|
|
31
|
+
return changedAttributes;
|
|
32
|
+
case 'constructor':
|
|
33
|
+
return state._constructor = state._constructor || {
|
|
34
|
+
isModel: true,
|
|
35
|
+
name: `Record<${recordIdentifierFor(record).type}>`,
|
|
36
|
+
modelName: recordIdentifierFor(record).type
|
|
37
|
+
};
|
|
38
|
+
case 'currentState':
|
|
39
|
+
return state.recordState = state.recordState || new RecordState(record);
|
|
40
|
+
case 'deleteRecord':
|
|
41
|
+
return deleteRecord;
|
|
42
|
+
case 'destroyRecord':
|
|
43
|
+
return destroyRecord;
|
|
44
|
+
case 'dirtyType':
|
|
45
|
+
return record.currentState.dirtyType;
|
|
46
|
+
case 'errors':
|
|
47
|
+
// @ts-expect-error
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
49
|
+
return state.errors = state.errors || Errors.create({
|
|
50
|
+
__record: record
|
|
51
|
+
});
|
|
52
|
+
case 'hasDirtyAttributes':
|
|
53
|
+
return record.currentState.isDirty;
|
|
54
|
+
case 'hasMany':
|
|
55
|
+
return hasMany;
|
|
56
|
+
case 'isDeleted':
|
|
57
|
+
return record.currentState.isDeleted;
|
|
58
|
+
case 'isEmpty':
|
|
59
|
+
return record.currentState.isEmpty;
|
|
60
|
+
case 'isError':
|
|
61
|
+
return record.currentState.isError;
|
|
62
|
+
case 'isLoaded':
|
|
63
|
+
return record.currentState.isLoaded;
|
|
64
|
+
case 'isLoading':
|
|
65
|
+
return record.currentState.isLoading;
|
|
66
|
+
case 'isNew':
|
|
67
|
+
return record.currentState.isNew;
|
|
68
|
+
case 'isSaving':
|
|
69
|
+
return record.currentState.isSaving;
|
|
70
|
+
case 'isValid':
|
|
71
|
+
return record.currentState.isValid;
|
|
72
|
+
case 'reload':
|
|
73
|
+
return reload;
|
|
74
|
+
case 'rollbackAttributes':
|
|
75
|
+
return rollbackAttributes;
|
|
76
|
+
case 'save':
|
|
77
|
+
return save;
|
|
78
|
+
case 'serialize':
|
|
79
|
+
return serialize;
|
|
80
|
+
case 'unloadRecord':
|
|
81
|
+
return unloadRecord;
|
|
82
|
+
default:
|
|
83
|
+
macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
|
|
84
|
+
{
|
|
85
|
+
throw new Error(`${prop} is not a supported legacy field`);
|
|
86
|
+
}
|
|
87
|
+
})() : {};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
legacySupport[Type] = '@legacy';
|
|
91
|
+
function withDefaults(schema) {
|
|
92
|
+
schema.legacy = true;
|
|
93
|
+
schema.identity = {
|
|
94
|
+
kind: '@id',
|
|
95
|
+
name: 'id'
|
|
96
|
+
};
|
|
97
|
+
LegacyFields.forEach(field => {
|
|
98
|
+
schema.fields.push({
|
|
99
|
+
type: '@legacy',
|
|
100
|
+
name: field,
|
|
101
|
+
kind: 'derived'
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
schema.fields.push({
|
|
105
|
+
name: 'isReloading',
|
|
106
|
+
kind: '@local',
|
|
107
|
+
type: 'boolean',
|
|
108
|
+
options: {
|
|
109
|
+
defaultValue: false
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
schema.fields.push({
|
|
113
|
+
name: 'isDestroying',
|
|
114
|
+
kind: '@local',
|
|
115
|
+
type: 'boolean',
|
|
116
|
+
options: {
|
|
117
|
+
defaultValue: false
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
schema.fields.push({
|
|
121
|
+
name: 'isDestroyed',
|
|
122
|
+
kind: '@local',
|
|
123
|
+
type: 'boolean',
|
|
124
|
+
options: {
|
|
125
|
+
defaultValue: false
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
return schema;
|
|
129
|
+
}
|
|
130
|
+
function registerDerivations(schema) {
|
|
131
|
+
schema.registerDerivation(legacySupport);
|
|
132
|
+
}
|
|
133
|
+
class DelegatingSchemaService {
|
|
134
|
+
_preferred;
|
|
135
|
+
_secondary;
|
|
136
|
+
constructor(store, schema) {
|
|
137
|
+
this._preferred = schema;
|
|
138
|
+
this._secondary = buildSchema(store);
|
|
139
|
+
}
|
|
140
|
+
hasResource(resource) {
|
|
141
|
+
return this._preferred.hasResource(resource) || this._secondary.hasResource(resource);
|
|
142
|
+
}
|
|
143
|
+
hasTrait(type) {
|
|
144
|
+
if (this._preferred.hasResource({
|
|
145
|
+
type
|
|
146
|
+
})) {
|
|
147
|
+
return this._preferred.hasTrait(type);
|
|
148
|
+
}
|
|
149
|
+
return this._secondary.hasTrait(type);
|
|
150
|
+
}
|
|
151
|
+
resourceHasTrait(resource, trait) {
|
|
152
|
+
if (this._preferred.hasResource(resource)) {
|
|
153
|
+
return this._preferred.resourceHasTrait(resource, trait);
|
|
154
|
+
}
|
|
155
|
+
return this._secondary.resourceHasTrait(resource, trait);
|
|
156
|
+
}
|
|
157
|
+
fields(resource) {
|
|
158
|
+
if (this._preferred.hasResource(resource)) {
|
|
159
|
+
return this._preferred.fields(resource);
|
|
160
|
+
}
|
|
161
|
+
return this._secondary.fields(resource);
|
|
162
|
+
}
|
|
163
|
+
transformation(name) {
|
|
164
|
+
return this._preferred.transformation(name);
|
|
165
|
+
}
|
|
166
|
+
hashFn(name) {
|
|
167
|
+
return this._preferred.hashFn(name);
|
|
168
|
+
}
|
|
169
|
+
derivation(name) {
|
|
170
|
+
return this._preferred.derivation(name);
|
|
171
|
+
}
|
|
172
|
+
resource(resource) {
|
|
173
|
+
if (this._preferred.hasResource(resource)) {
|
|
174
|
+
return this._preferred.resource(resource);
|
|
175
|
+
}
|
|
176
|
+
return this._secondary.resource(resource);
|
|
177
|
+
}
|
|
178
|
+
registerResources(schemas) {
|
|
179
|
+
this._preferred.registerResources(schemas);
|
|
180
|
+
}
|
|
181
|
+
registerResource(schema) {
|
|
182
|
+
this._preferred.registerResource(schema);
|
|
183
|
+
}
|
|
184
|
+
registerTransformation(transform) {
|
|
185
|
+
this._preferred.registerTransformation(transform);
|
|
186
|
+
}
|
|
187
|
+
registerDerivation(derivation) {
|
|
188
|
+
this._preferred.registerDerivation(derivation);
|
|
189
|
+
}
|
|
190
|
+
registerHashFn(hashFn) {
|
|
191
|
+
this._preferred.registerHashFn(hashFn);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
if (macroCondition(getGlobalConfig().WarpDrive.deprecations.ENABLE_LEGACY_SCHEMA_SERVICE)) {
|
|
195
|
+
DelegatingSchemaService.prototype.attributesDefinitionFor = function (resource) {
|
|
196
|
+
if (this._preferred.hasResource(resource)) {
|
|
197
|
+
return this._preferred.attributesDefinitionFor(resource);
|
|
198
|
+
}
|
|
199
|
+
return this._secondary.attributesDefinitionFor(resource);
|
|
200
|
+
};
|
|
201
|
+
DelegatingSchemaService.prototype.relationshipsDefinitionFor = function (resource) {
|
|
202
|
+
if (this._preferred.hasResource(resource)) {
|
|
203
|
+
return this._preferred.relationshipsDefinitionFor(resource);
|
|
204
|
+
}
|
|
205
|
+
return this._secondary.relationshipsDefinitionFor(resource);
|
|
206
|
+
};
|
|
207
|
+
DelegatingSchemaService.prototype.doesTypeExist = function (type) {
|
|
208
|
+
return this._preferred.doesTypeExist?.(type) || this._secondary.doesTypeExist?.(type) || false;
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
export { DelegatingSchemaService, registerDerivations, withDefaults };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-support.js","sources":["../src/migration-support.ts"],"sourcesContent":["import type Store from '@ember-data/store';\nimport { recordIdentifierFor } from '@ember-data/store';\nimport type { SchemaService } from '@ember-data/store/types';\nimport { ENABLE_LEGACY_SCHEMA_SERVICE } from '@warp-drive/build-config/deprecations';\nimport { assert } from '@warp-drive/build-config/macros';\nimport type { StableRecordIdentifier } from '@warp-drive/core-types';\nimport { getOrSetGlobal } from '@warp-drive/core-types/-private';\nimport type { ObjectValue } from '@warp-drive/core-types/json/raw';\nimport type { Derivation, HashFn, Transformation } from '@warp-drive/core-types/schema/concepts';\nimport type { FieldSchema, ResourceSchema } from '@warp-drive/core-types/schema/fields';\nimport { Type } from '@warp-drive/core-types/symbols';\nimport type { WithPartial } from '@warp-drive/core-types/utils';\n\nimport { Errors } from './-private';\nimport type { MinimalLegacyRecord } from './-private/model-methods';\nimport {\n belongsTo,\n changedAttributes,\n createSnapshot,\n deleteRecord,\n destroyRecord,\n hasMany,\n reload,\n rollbackAttributes,\n save,\n serialize,\n unloadRecord,\n} from './-private/model-methods';\nimport RecordState from './-private/record-state';\nimport { buildSchema } from './hooks';\n\ntype AttributesSchema = ReturnType<Exclude<SchemaService['attributesDefinitionFor'], undefined>>;\ntype RelationshipsSchema = ReturnType<Exclude<SchemaService['relationshipsDefinitionFor'], undefined>>;\n\n// 'isDestroying', 'isDestroyed'\nconst LegacyFields = [\n '_createSnapshot',\n 'adapterError',\n 'belongsTo',\n 'changedAttributes',\n 'constructor',\n 'currentState',\n 'deleteRecord',\n 'destroyRecord',\n 'dirtyType',\n 'errors',\n 'hasDirtyAttributes',\n 'hasMany',\n 'isDeleted',\n 'isEmpty',\n 'isError',\n 'isLoaded',\n 'isLoading',\n 'isNew',\n 'isSaving',\n 'isValid',\n 'reload',\n 'rollbackAttributes',\n 'save',\n 'serialize',\n 'unloadRecord',\n];\n\nconst LegacySupport = getOrSetGlobal('LegacySupport', new WeakMap<MinimalLegacyRecord, Record<string, unknown>>());\n\nfunction legacySupport(record: MinimalLegacyRecord, options: ObjectValue | null, prop: string): unknown {\n let state = LegacySupport.get(record);\n if (!state) {\n state = {};\n LegacySupport.set(record, state);\n }\n\n switch (prop) {\n case '_createSnapshot':\n return createSnapshot;\n case 'adapterError':\n return record.currentState.adapterError;\n case 'belongsTo':\n return belongsTo;\n case 'changedAttributes':\n return changedAttributes;\n case 'constructor':\n return (state._constructor = state._constructor || {\n isModel: true,\n name: `Record<${recordIdentifierFor(record).type}>`,\n modelName: recordIdentifierFor(record).type,\n });\n case 'currentState':\n return (state.recordState = state.recordState || new RecordState(record));\n case 'deleteRecord':\n return deleteRecord;\n case 'destroyRecord':\n return destroyRecord;\n case 'dirtyType':\n return record.currentState.dirtyType;\n case 'errors':\n // @ts-expect-error\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n return (state.errors = state.errors || Errors.create({ __record: record }));\n case 'hasDirtyAttributes':\n return record.currentState.isDirty;\n case 'hasMany':\n return hasMany;\n case 'isDeleted':\n return record.currentState.isDeleted;\n case 'isEmpty':\n return record.currentState.isEmpty;\n case 'isError':\n return record.currentState.isError;\n case 'isLoaded':\n return record.currentState.isLoaded;\n case 'isLoading':\n return record.currentState.isLoading;\n case 'isNew':\n return record.currentState.isNew;\n case 'isSaving':\n return record.currentState.isSaving;\n case 'isValid':\n return record.currentState.isValid;\n case 'reload':\n return reload;\n case 'rollbackAttributes':\n return rollbackAttributes;\n case 'save':\n return save;\n case 'serialize':\n return serialize;\n case 'unloadRecord':\n return unloadRecord;\n default:\n assert(`${prop} is not a supported legacy field`, false);\n }\n}\nlegacySupport[Type] = '@legacy';\n\nexport function withDefaults(schema: WithPartial<ResourceSchema, 'legacy' | 'identity'>): ResourceSchema {\n schema.legacy = true;\n schema.identity = { kind: '@id', name: 'id' };\n\n LegacyFields.forEach((field) => {\n schema.fields.push({\n type: '@legacy',\n name: field,\n kind: 'derived',\n });\n });\n schema.fields.push({\n name: 'isReloading',\n kind: '@local',\n type: 'boolean',\n options: { defaultValue: false },\n });\n schema.fields.push({\n name: 'isDestroying',\n kind: '@local',\n type: 'boolean',\n options: { defaultValue: false },\n });\n schema.fields.push({\n name: 'isDestroyed',\n kind: '@local',\n type: 'boolean',\n options: { defaultValue: false },\n });\n return schema as ResourceSchema;\n}\n\nexport function registerDerivations(schema: SchemaService) {\n schema.registerDerivation(legacySupport);\n}\n\nexport interface DelegatingSchemaService {\n attributesDefinitionFor?(resource: StableRecordIdentifier | { type: string }): AttributesSchema;\n relationshipsDefinitionFor?(resource: StableRecordIdentifier | { type: string }): RelationshipsSchema;\n doesTypeExist?(type: string): boolean;\n}\nexport class DelegatingSchemaService implements SchemaService {\n _preferred!: SchemaService;\n _secondary!: SchemaService;\n\n constructor(store: Store, schema: SchemaService) {\n this._preferred = schema;\n this._secondary = buildSchema(store);\n }\n hasResource(resource: StableRecordIdentifier | { type: string }): boolean {\n return this._preferred.hasResource(resource) || this._secondary.hasResource(resource);\n }\n hasTrait(type: string): boolean {\n if (this._preferred.hasResource({ type })) {\n return this._preferred.hasTrait(type);\n }\n return this._secondary.hasTrait(type);\n }\n resourceHasTrait(resource: StableRecordIdentifier | { type: string }, trait: string): boolean {\n if (this._preferred.hasResource(resource)) {\n return this._preferred.resourceHasTrait(resource, trait);\n }\n return this._secondary.resourceHasTrait(resource, trait);\n }\n fields(resource: StableRecordIdentifier | { type: string }): Map<string, FieldSchema> {\n if (this._preferred.hasResource(resource)) {\n return this._preferred.fields(resource);\n }\n return this._secondary.fields(resource);\n }\n transformation(name: string): Transformation {\n return this._preferred.transformation(name);\n }\n hashFn(name: string): HashFn {\n return this._preferred.hashFn(name);\n }\n derivation(name: string): Derivation {\n return this._preferred.derivation(name);\n }\n resource(resource: StableRecordIdentifier | { type: string }): ResourceSchema {\n if (this._preferred.hasResource(resource)) {\n return this._preferred.resource(resource);\n }\n return this._secondary.resource(resource);\n }\n registerResources(schemas: ResourceSchema[]): void {\n this._preferred.registerResources(schemas);\n }\n registerResource(schema: ResourceSchema): void {\n this._preferred.registerResource(schema);\n }\n registerTransformation(transform: Transformation): void {\n this._preferred.registerTransformation(transform);\n }\n registerDerivation<R, T, FM extends ObjectValue | null>(derivation: Derivation<R, T, FM>): void {\n this._preferred.registerDerivation(derivation);\n }\n registerHashFn(hashFn: HashFn): void {\n this._preferred.registerHashFn(hashFn);\n }\n}\n\nif (ENABLE_LEGACY_SCHEMA_SERVICE) {\n DelegatingSchemaService.prototype.attributesDefinitionFor = function (\n resource: StableRecordIdentifier | { type: string }\n ) {\n if (this._preferred.hasResource(resource)) {\n return this._preferred.attributesDefinitionFor!(resource);\n }\n\n return this._secondary.attributesDefinitionFor!(resource);\n };\n DelegatingSchemaService.prototype.relationshipsDefinitionFor = function (\n resource: StableRecordIdentifier | { type: string }\n ) {\n if (this._preferred.hasResource(resource)) {\n return this._preferred.relationshipsDefinitionFor!(resource);\n }\n\n return this._secondary.relationshipsDefinitionFor!(resource);\n };\n DelegatingSchemaService.prototype.doesTypeExist = function (type: string) {\n return this._preferred.doesTypeExist?.(type) || this._secondary.doesTypeExist?.(type) || false;\n };\n}\n"],"names":["LegacyFields","LegacySupport","getOrSetGlobal","WeakMap","legacySupport","record","options","prop","state","get","set","createSnapshot","currentState","adapterError","belongsTo","changedAttributes","_constructor","isModel","name","recordIdentifierFor","type","modelName","recordState","RecordState","deleteRecord","destroyRecord","dirtyType","errors","Errors","create","__record","isDirty","hasMany","isDeleted","isEmpty","isError","isLoaded","isLoading","isNew","isSaving","isValid","reload","rollbackAttributes","save","serialize","unloadRecord","macroCondition","getGlobalConfig","WarpDrive","env","DEBUG","test","Error","Type","withDefaults","schema","legacy","identity","kind","forEach","field","fields","push","defaultValue","registerDerivations","registerDerivation","DelegatingSchemaService","_preferred","_secondary","constructor","store","buildSchema","hasResource","resource","hasTrait","resourceHasTrait","trait","transformation","hashFn","derivation","registerResources","schemas","registerResource","registerTransformation","transform","registerHashFn","deprecations","ENABLE_LEGACY_SCHEMA_SERVICE","prototype","attributesDefinitionFor","relationshipsDefinitionFor","doesTypeExist"],"mappings":"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"}
|