@warp-drive-mirror/schema-record 0.0.0-beta.9 → 0.0.0

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/dist/schema.js CHANGED
@@ -43,12 +43,12 @@ function withDefaults(schema) {
43
43
  }
44
44
  function fromIdentity(record, options, key) {
45
45
  const identifier = record[Identifier];
46
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
46
+ macroCondition(getGlobalConfig().WarpDriveMirror.env.DEBUG) ? (test => {
47
47
  if (!test) {
48
48
  throw new Error(`Cannot compute @identity for a record without an identifier`);
49
49
  }
50
50
  })(identifier) : {};
51
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
51
+ macroCondition(getGlobalConfig().WarpDriveMirror.env.DEBUG) ? (test => {
52
52
  if (!test) {
53
53
  throw new Error(`Expected to receive a key to compute @identity, but got ${String(options)}`);
54
54
  }
@@ -101,17 +101,17 @@ class SchemaService {
101
101
  transformation(field) {
102
102
  const kind = 'kind' in field ? field.kind : '<unknown kind>';
103
103
  const name = 'name' in field ? field.name : '<unknown name>';
104
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
104
+ macroCondition(getGlobalConfig().WarpDriveMirror.env.DEBUG) ? (test => {
105
105
  if (!test) {
106
106
  throw new Error(`'${kind}' fields cannot be transformed. Only fields of kind 'field' 'object' or 'array' can specify a transformation. Attempted to find '${field.type ?? '<unknown type>'}' on field '${name}'.`);
107
107
  }
108
108
  })(!('kind' in field) || ['field', 'object', 'array'].includes(kind)) : {};
109
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
109
+ macroCondition(getGlobalConfig().WarpDriveMirror.env.DEBUG) ? (test => {
110
110
  if (!test) {
111
111
  throw new Error(`Expected the '${kind}' field '${name}' to specify a transformation via 'field.type', but none was present`);
112
112
  }
113
113
  })(field.type) : {};
114
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
114
+ macroCondition(getGlobalConfig().WarpDriveMirror.env.DEBUG) ? (test => {
115
115
  if (!test) {
116
116
  throw new Error(`No transformation registered with name '${field.type}' for '${kind}' field '${name}'`);
117
117
  }
@@ -121,17 +121,17 @@ class SchemaService {
121
121
  derivation(field) {
122
122
  const kind = 'kind' in field ? field.kind : '<unknown kind>';
123
123
  const name = 'name' in field ? field.name : '<unknown name>';
124
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
124
+ macroCondition(getGlobalConfig().WarpDriveMirror.env.DEBUG) ? (test => {
125
125
  if (!test) {
126
126
  throw new Error(`The '${kind}' field '${name}' is not derived and so cannot be used to lookup a derivation`);
127
127
  }
128
128
  })(!('kind' in field) || kind === 'derived') : {};
129
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
129
+ macroCondition(getGlobalConfig().WarpDriveMirror.env.DEBUG) ? (test => {
130
130
  if (!test) {
131
131
  throw new Error(`Expected the '${kind}' field '${name}' to specify a derivation via 'field.type', but no value was present`);
132
132
  }
133
133
  })(field.type) : {};
134
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
134
+ macroCondition(getGlobalConfig().WarpDriveMirror.env.DEBUG) ? (test => {
135
135
  if (!test) {
136
136
  throw new Error(`No '${field.type}' derivation registered for use by the '${kind}' field '${name}'`);
137
137
  }
@@ -141,17 +141,17 @@ class SchemaService {
141
141
  hashFn(field) {
142
142
  const kind = 'kind' in field ? field.kind : '<unknown kind>';
143
143
  const name = 'name' in field ? field.name : '<unknown name>';
144
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
144
+ macroCondition(getGlobalConfig().WarpDriveMirror.env.DEBUG) ? (test => {
145
145
  if (!test) {
146
146
  throw new Error(`The '${kind}' field '${name}' is not a HashField and so cannot be used to lookup a hash function`);
147
147
  }
148
148
  })(!('kind' in field) || kind === '@hash') : {};
149
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
149
+ macroCondition(getGlobalConfig().WarpDriveMirror.env.DEBUG) ? (test => {
150
150
  if (!test) {
151
151
  throw new Error(`Expected the '${kind}' field '${name}' to specify a hash function via 'field.type', but no value was present`);
152
152
  }
153
153
  })(field.type) : {};
154
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
154
+ macroCondition(getGlobalConfig().WarpDriveMirror.env.DEBUG) ? (test => {
155
155
  if (!test) {
156
156
  throw new Error(`No '${field.type}' hash function is registered for use by the '${kind}' field '${name}'`);
157
157
  }
@@ -159,7 +159,7 @@ class SchemaService {
159
159
  return this._hashFns.get(field.type);
160
160
  }
161
161
  resource(resource) {
162
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
162
+ macroCondition(getGlobalConfig().WarpDriveMirror.env.DEBUG) ? (test => {
163
163
  if (!test) {
164
164
  throw new Error(`No resource registered with name '${resource.type}'`);
165
165
  }
@@ -176,7 +176,7 @@ class SchemaService {
176
176
  const relationships = {};
177
177
  const attributes = {};
178
178
  schema.fields.forEach(field => {
179
- macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) ? (test => {
179
+ macroCondition(getGlobalConfig().WarpDriveMirror.env.DEBUG) ? (test => {
180
180
  if (!test) {
181
181
  throw new Error(`${field.kind} is not valid inside a ResourceSchema's fields.`);
182
182
  }
@@ -225,16 +225,16 @@ class SchemaService {
225
225
  return this._schemas.has(resource.type);
226
226
  }
227
227
  }
228
- if (macroCondition(getGlobalConfig().WarpDrive.deprecations.ENABLE_LEGACY_SCHEMA_SERVICE)) {
228
+ if (macroCondition(getGlobalConfig().WarpDriveMirror.deprecations.ENABLE_LEGACY_SCHEMA_SERVICE)) {
229
229
  SchemaService.prototype.attributesDefinitionFor = function ({
230
230
  type
231
231
  }) {
232
232
  deprecate(`Use \`schema.fields({ type })\` instead of \`schema.attributesDefinitionFor({ type })\``, false, {
233
233
  id: 'ember-data-mirror:schema-service-updates',
234
- until: '5.0',
234
+ until: '6.0',
235
235
  for: 'ember-data-mirror',
236
236
  since: {
237
- available: '5.4',
237
+ available: '4.13',
238
238
  enabled: '5.4'
239
239
  }
240
240
  });
@@ -249,10 +249,10 @@ if (macroCondition(getGlobalConfig().WarpDrive.deprecations.ENABLE_LEGACY_SCHEMA
249
249
  }) {
250
250
  deprecate(`Use \`schema.fields({ type })\` instead of \`schema.relationshipsDefinitionFor({ type })\``, false, {
251
251
  id: 'ember-data-mirror:schema-service-updates',
252
- until: '5.0',
252
+ until: '6.0',
253
253
  for: 'ember-data-mirror',
254
254
  since: {
255
- available: '5.4',
255
+ available: '4.13',
256
256
  enabled: '5.4'
257
257
  }
258
258
  });
@@ -265,10 +265,10 @@ if (macroCondition(getGlobalConfig().WarpDrive.deprecations.ENABLE_LEGACY_SCHEMA
265
265
  SchemaService.prototype.doesTypeExist = function (type) {
266
266
  deprecate(`Use \`schema.hasResource({ type })\` instead of \`schema.doesTypeExist(type)\``, false, {
267
267
  id: 'ember-data-mirror:schema-service-updates',
268
- until: '5.0',
268
+ until: '6.0',
269
269
  for: 'ember-data-mirror',
270
270
  since: {
271
- available: '5.4',
271
+ available: '4.13',
272
272
  enabled: '5.4'
273
273
  }
274
274
  });
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sources":["../src/schema.ts"],"sourcesContent":["import { deprecate } from '@ember/debug';\n\nimport { recordIdentifierFor } from '@ember-data-mirror/store';\nimport type { SchemaService as SchemaServiceInterface } from '@ember-data-mirror/store/types';\nimport { createCache, getValue } from '@ember-data-mirror/tracking';\nimport type { Signal } from '@ember-data-mirror/tracking/-private';\nimport { Signals } from '@ember-data-mirror/tracking/-private';\nimport { ENABLE_LEGACY_SCHEMA_SERVICE } from '@warp-drive-mirror/build-config/deprecations';\nimport { assert } from '@warp-drive-mirror/build-config/macros';\nimport type { StableRecordIdentifier } from '@warp-drive-mirror/core-types';\nimport { getOrSetGlobal } from '@warp-drive-mirror/core-types/-private';\nimport type { ObjectValue, Value } from '@warp-drive-mirror/core-types/json/raw';\nimport type { Derivation, HashFn } from '@warp-drive-mirror/core-types/schema/concepts';\nimport type {\n ArrayField,\n DerivedField,\n FieldSchema,\n GenericField,\n HashField,\n LegacyAttributeField,\n LegacyRelationshipSchema,\n ObjectField,\n ResourceSchema,\n} from '@warp-drive-mirror/core-types/schema/fields';\nimport { Type } from '@warp-drive-mirror/core-types/symbols';\nimport type { WithPartial } from '@warp-drive-mirror/core-types/utils';\n\nimport type { SchemaRecord } from './record';\nimport { Identifier } from './symbols';\n\nconst Support = getOrSetGlobal('Support', new WeakMap<WeakKey, Record<string, unknown>>());\n\nexport const SchemaRecordFields: FieldSchema[] = [\n {\n type: '@constructor',\n name: 'constructor',\n kind: 'derived',\n },\n {\n type: '@identity',\n name: '$type',\n kind: 'derived',\n options: { key: 'type' },\n },\n];\n\nfunction _constructor(record: SchemaRecord) {\n let state = Support.get(record as WeakKey);\n if (!state) {\n state = {};\n Support.set(record as WeakKey, state);\n }\n\n return (state._constructor = state._constructor || {\n name: `SchemaRecord<${recordIdentifierFor(record).type}>`,\n get modelName() {\n throw new Error('Cannot access record.constructor.modelName on non-Legacy Schema Records.');\n },\n });\n}\n_constructor[Type] = '@constructor';\n\nexport function withDefaults(schema: WithPartial<ResourceSchema, 'identity'>): ResourceSchema {\n schema.identity = schema.identity || { name: 'id', kind: '@id' };\n schema.fields.push(...SchemaRecordFields);\n return schema as ResourceSchema;\n}\n\nexport function fromIdentity(record: SchemaRecord, options: { key: 'lid' } | { key: 'type' }, key: string): string;\nexport function fromIdentity(record: SchemaRecord, options: { key: 'id' }, key: string): string | null;\nexport function fromIdentity(record: SchemaRecord, options: { key: '^' }, key: string): StableRecordIdentifier;\nexport function fromIdentity(record: SchemaRecord, options: null, key: string): asserts options;\nexport function fromIdentity(\n record: SchemaRecord,\n options: { key: 'id' | 'lid' | 'type' | '^' } | null,\n key: string\n): StableRecordIdentifier | string | null {\n const identifier = record[Identifier];\n assert(`Cannot compute @identity for a record without an identifier`, identifier);\n assert(\n `Expected to receive a key to compute @identity, but got ${String(options)}`,\n options?.key && ['lid', 'id', 'type', '^'].includes(options.key)\n );\n\n return options.key === '^' ? identifier : identifier[options.key];\n}\nfromIdentity[Type] = '@identity';\n\nexport function registerDerivations(schema: SchemaServiceInterface) {\n schema.registerDerivation(fromIdentity);\n schema.registerDerivation(_constructor);\n}\n\ntype InternalSchema = {\n original: ResourceSchema;\n traits: Set<string>;\n fields: Map<string, FieldSchema>;\n attributes: Record<string, LegacyAttributeField>;\n relationships: Record<string, LegacyRelationshipSchema>;\n};\n\nexport type Transformation<T extends Value = Value, PT = unknown> = {\n serialize(value: PT, options: Record<string, unknown> | null, record: SchemaRecord): T;\n hydrate(value: T | undefined, options: Record<string, unknown> | null, record: SchemaRecord): PT;\n defaultValue?(options: Record<string, unknown> | null, identifier: StableRecordIdentifier): T;\n [Type]: string;\n};\n\n/**\n * Wraps a derivation in a new function with Derivation signature but that looks\n * up the value in the cache before recomputing.\n *\n * @param record\n * @param options\n * @param prop\n */\nfunction makeCachedDerivation<R, T, FM extends ObjectValue | null>(\n derivation: Derivation<R, T, FM>\n): Derivation<R, T, FM> {\n const memoizedDerivation = (record: R, options: FM, prop: string): T => {\n const signals = (record as { [Signals]: Map<string, Signal> })[Signals];\n let signal = signals.get(prop);\n if (!signal) {\n signal = createCache(() => {\n return derivation(record, options, prop);\n }) as unknown as Signal; // a total lie, for convenience of reusing the storage\n signals.set(prop, signal);\n }\n\n return getValue(signal as unknown as ReturnType<typeof createCache>) as T;\n };\n memoizedDerivation[Type] = derivation[Type];\n return memoizedDerivation;\n}\n\nexport interface SchemaService {\n doesTypeExist(type: string): boolean;\n attributesDefinitionFor(identifier: { type: string }): InternalSchema['attributes'];\n relationshipsDefinitionFor(identifier: { type: string }): InternalSchema['relationships'];\n}\nexport class SchemaService implements SchemaServiceInterface {\n declare _schemas: Map<string, InternalSchema>;\n declare _transforms: Map<string, Transformation>;\n declare _hashFns: Map<string, HashFn>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n declare _derivations: Map<string, Derivation<any, any, any>>;\n declare _traits: Set<string>;\n\n constructor() {\n this._schemas = new Map();\n this._transforms = new Map();\n this._hashFns = new Map();\n this._derivations = new Map();\n }\n hasTrait(type: string): boolean {\n return this._traits.has(type);\n }\n resourceHasTrait(resource: StableRecordIdentifier | { type: string }, trait: string): boolean {\n return this._schemas.get(resource.type)!.traits.has(trait);\n }\n transformation(field: GenericField | ObjectField | ArrayField | { type: string }): Transformation {\n const kind = 'kind' in field ? field.kind : '<unknown kind>';\n const name = 'name' in field ? field.name : '<unknown name>';\n assert(\n `'${kind}' fields cannot be transformed. Only fields of kind 'field' 'object' or 'array' can specify a transformation. Attempted to find '${field.type ?? '<unknown type>'}' on field '${name}'.`,\n !('kind' in field) || ['field', 'object', 'array'].includes(kind)\n );\n assert(\n `Expected the '${kind}' field '${name}' to specify a transformation via 'field.type', but none was present`,\n field.type\n );\n assert(\n `No transformation registered with name '${field.type}' for '${kind}' field '${name}'`,\n this._transforms.has(field.type)\n );\n return this._transforms.get(field.type)!;\n }\n derivation(field: DerivedField | { type: string }): Derivation {\n const kind = 'kind' in field ? field.kind : '<unknown kind>';\n const name = 'name' in field ? field.name : '<unknown name>';\n assert(\n `The '${kind}' field '${name}' is not derived and so cannot be used to lookup a derivation`,\n !('kind' in field) || kind === 'derived'\n );\n assert(\n `Expected the '${kind}' field '${name}' to specify a derivation via 'field.type', but no value was present`,\n field.type\n );\n assert(\n `No '${field.type}' derivation registered for use by the '${kind}' field '${name}'`,\n this._derivations.has(field.type)\n );\n return this._derivations.get(field.type)!;\n }\n hashFn(field: HashField | { type: string }): HashFn {\n const kind = 'kind' in field ? field.kind : '<unknown kind>';\n const name = 'name' in field ? field.name : '<unknown name>';\n assert(\n `The '${kind}' field '${name}' is not a HashField and so cannot be used to lookup a hash function`,\n !('kind' in field) || kind === '@hash'\n );\n assert(\n `Expected the '${kind}' field '${name}' to specify a hash function via 'field.type', but no value was present`,\n field.type\n );\n assert(\n `No '${field.type}' hash function is registered for use by the '${kind}' field '${name}'`,\n this._hashFns.has(field.type)\n );\n return this._hashFns.get(field.type)!;\n }\n resource(resource: StableRecordIdentifier | { type: string }): ResourceSchema {\n assert(`No resource registered with name '${resource.type}'`, this._schemas.has(resource.type));\n return this._schemas.get(resource.type)!.original;\n }\n registerResources(schemas: ResourceSchema[]): void {\n schemas.forEach((schema) => {\n this.registerResource(schema);\n });\n }\n registerResource(schema: ResourceSchema): void {\n const fields = new Map<string, FieldSchema>();\n const relationships: Record<string, LegacyRelationshipSchema> = {};\n const attributes: Record<string, LegacyAttributeField> = {};\n\n schema.fields.forEach((field) => {\n assert(\n `${field.kind} is not valid inside a ResourceSchema's fields.`,\n // @ts-expect-error we are checking for mistakes at runtime\n field.kind !== '@id' && field.kind !== '@hash'\n );\n fields.set(field.name, field);\n if (field.kind === 'attribute') {\n attributes[field.name] = field;\n } else if (field.kind === 'belongsTo' || field.kind === 'hasMany') {\n relationships[field.name] = field;\n }\n });\n\n const traits = new Set<string>(schema.traits);\n traits.forEach((trait) => {\n this._traits.add(trait);\n });\n\n const internalSchema: InternalSchema = { original: schema, fields, relationships, attributes, traits };\n this._schemas.set(schema.type, internalSchema);\n }\n\n registerTransformation<T extends Value = string, PT = unknown>(transformation: Transformation<T, PT>): void {\n this._transforms.set(transformation[Type], transformation as Transformation);\n }\n\n registerDerivation<R, T, FM extends ObjectValue | null>(derivation: Derivation<R, T, FM>): void {\n this._derivations.set(derivation[Type], makeCachedDerivation(derivation));\n }\n\n registerHashFn<T extends object>(hashFn: HashFn<T>): void {\n this._hashFns.set(hashFn[Type], hashFn as HashFn);\n }\n\n fields({ type }: { type: string }): InternalSchema['fields'] {\n const schema = this._schemas.get(type);\n\n if (!schema) {\n throw new Error(`No schema defined for ${type}`);\n }\n\n return schema.fields;\n }\n\n hasResource(resource: { type: string }): boolean {\n return this._schemas.has(resource.type);\n }\n}\n\nif (ENABLE_LEGACY_SCHEMA_SERVICE) {\n SchemaService.prototype.attributesDefinitionFor = function ({\n type,\n }: {\n type: string;\n }): InternalSchema['attributes'] {\n deprecate(`Use \\`schema.fields({ type })\\` instead of \\`schema.attributesDefinitionFor({ type })\\``, false, {\n id: 'ember-data-mirror:schema-service-updates',\n until: '5.0',\n for: 'ember-data-mirror',\n since: {\n available: '5.4',\n enabled: '5.4',\n },\n });\n const schema = this._schemas.get(type);\n\n if (!schema) {\n throw new Error(`No schema defined for ${type}`);\n }\n\n return schema.attributes;\n };\n\n SchemaService.prototype.relationshipsDefinitionFor = function ({\n type,\n }: {\n type: string;\n }): InternalSchema['relationships'] {\n deprecate(`Use \\`schema.fields({ type })\\` instead of \\`schema.relationshipsDefinitionFor({ type })\\``, false, {\n id: 'ember-data-mirror:schema-service-updates',\n until: '5.0',\n for: 'ember-data-mirror',\n since: {\n available: '5.4',\n enabled: '5.4',\n },\n });\n const schema = this._schemas.get(type);\n\n if (!schema) {\n throw new Error(`No schema defined for ${type}`);\n }\n\n return schema.relationships;\n };\n\n SchemaService.prototype.doesTypeExist = function (type: string): boolean {\n deprecate(`Use \\`schema.hasResource({ type })\\` instead of \\`schema.doesTypeExist(type)\\``, false, {\n id: 'ember-data-mirror:schema-service-updates',\n until: '5.0',\n for: 'ember-data-mirror',\n since: {\n available: '5.4',\n enabled: '5.4',\n },\n });\n return this._schemas.has(type);\n };\n}\n"],"names":["Support","getOrSetGlobal","WeakMap","SchemaRecordFields","type","name","kind","options","key","_constructor","record","state","get","set","recordIdentifierFor","modelName","Error","Type","withDefaults","schema","identity","fields","push","fromIdentity","identifier","Identifier","macroCondition","getGlobalConfig","WarpDrive","env","DEBUG","test","String","includes","registerDerivations","registerDerivation","makeCachedDerivation","derivation","memoizedDerivation","prop","signals","Signals","signal","createCache","getValue","SchemaService","constructor","_schemas","Map","_transforms","_hashFns","_derivations","hasTrait","_traits","has","resourceHasTrait","resource","trait","traits","transformation","field","hashFn","original","registerResources","schemas","forEach","registerResource","relationships","attributes","Set","add","internalSchema","registerTransformation","registerHashFn","hasResource","deprecations","ENABLE_LEGACY_SCHEMA_SERVICE","prototype","attributesDefinitionFor","deprecate","id","until","for","since","available","enabled","relationshipsDefinitionFor","doesTypeExist"],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sources":["../src/schema.ts"],"sourcesContent":["import { deprecate } from '@ember/debug';\n\nimport { recordIdentifierFor } from '@ember-data-mirror/store';\nimport type { SchemaService as SchemaServiceInterface } from '@ember-data-mirror/store/types';\nimport { createCache, getValue } from '@ember-data-mirror/tracking';\nimport type { Signal } from '@ember-data-mirror/tracking/-private';\nimport { Signals } from '@ember-data-mirror/tracking/-private';\nimport { ENABLE_LEGACY_SCHEMA_SERVICE } from '@warp-drive-mirror/build-config/deprecations';\nimport { assert } from '@warp-drive-mirror/build-config/macros';\nimport type { StableRecordIdentifier } from '@warp-drive-mirror/core-types';\nimport { getOrSetGlobal } from '@warp-drive-mirror/core-types/-private';\nimport type { ObjectValue, Value } from '@warp-drive-mirror/core-types/json/raw';\nimport type { Derivation, HashFn } from '@warp-drive-mirror/core-types/schema/concepts';\nimport type {\n ArrayField,\n DerivedField,\n FieldSchema,\n GenericField,\n HashField,\n LegacyAttributeField,\n LegacyRelationshipSchema,\n ObjectField,\n ResourceSchema,\n} from '@warp-drive-mirror/core-types/schema/fields';\nimport { Type } from '@warp-drive-mirror/core-types/symbols';\nimport type { WithPartial } from '@warp-drive-mirror/core-types/utils';\n\nimport type { SchemaRecord } from './record';\nimport { Identifier } from './symbols';\n\nconst Support = getOrSetGlobal('Support', new WeakMap<WeakKey, Record<string, unknown>>());\n\nexport const SchemaRecordFields: FieldSchema[] = [\n {\n type: '@constructor',\n name: 'constructor',\n kind: 'derived',\n },\n {\n type: '@identity',\n name: '$type',\n kind: 'derived',\n options: { key: 'type' },\n },\n];\n\nfunction _constructor(record: SchemaRecord) {\n let state = Support.get(record as WeakKey);\n if (!state) {\n state = {};\n Support.set(record as WeakKey, state);\n }\n\n return (state._constructor = state._constructor || {\n name: `SchemaRecord<${recordIdentifierFor(record).type}>`,\n get modelName() {\n throw new Error('Cannot access record.constructor.modelName on non-Legacy Schema Records.');\n },\n });\n}\n_constructor[Type] = '@constructor';\n\nexport function withDefaults(schema: WithPartial<ResourceSchema, 'identity'>): ResourceSchema {\n schema.identity = schema.identity || { name: 'id', kind: '@id' };\n schema.fields.push(...SchemaRecordFields);\n return schema as ResourceSchema;\n}\n\nexport function fromIdentity(record: SchemaRecord, options: { key: 'lid' } | { key: 'type' }, key: string): string;\nexport function fromIdentity(record: SchemaRecord, options: { key: 'id' }, key: string): string | null;\nexport function fromIdentity(record: SchemaRecord, options: { key: '^' }, key: string): StableRecordIdentifier;\nexport function fromIdentity(record: SchemaRecord, options: null, key: string): asserts options;\nexport function fromIdentity(\n record: SchemaRecord,\n options: { key: 'id' | 'lid' | 'type' | '^' } | null,\n key: string\n): StableRecordIdentifier | string | null {\n const identifier = record[Identifier];\n assert(`Cannot compute @identity for a record without an identifier`, identifier);\n assert(\n `Expected to receive a key to compute @identity, but got ${String(options)}`,\n options?.key && ['lid', 'id', 'type', '^'].includes(options.key)\n );\n\n return options.key === '^' ? identifier : identifier[options.key];\n}\nfromIdentity[Type] = '@identity';\n\nexport function registerDerivations(schema: SchemaServiceInterface) {\n schema.registerDerivation(fromIdentity);\n schema.registerDerivation(_constructor);\n}\n\ntype InternalSchema = {\n original: ResourceSchema;\n traits: Set<string>;\n fields: Map<string, FieldSchema>;\n attributes: Record<string, LegacyAttributeField>;\n relationships: Record<string, LegacyRelationshipSchema>;\n};\n\nexport type Transformation<T extends Value = Value, PT = unknown> = {\n serialize(value: PT, options: Record<string, unknown> | null, record: SchemaRecord): T;\n hydrate(value: T | undefined, options: Record<string, unknown> | null, record: SchemaRecord): PT;\n defaultValue?(options: Record<string, unknown> | null, identifier: StableRecordIdentifier): T;\n [Type]: string;\n};\n\n/**\n * Wraps a derivation in a new function with Derivation signature but that looks\n * up the value in the cache before recomputing.\n *\n * @param record\n * @param options\n * @param prop\n */\nfunction makeCachedDerivation<R, T, FM extends ObjectValue | null>(\n derivation: Derivation<R, T, FM>\n): Derivation<R, T, FM> {\n const memoizedDerivation = (record: R, options: FM, prop: string): T => {\n const signals = (record as { [Signals]: Map<string, Signal> })[Signals];\n let signal = signals.get(prop);\n if (!signal) {\n signal = createCache(() => {\n return derivation(record, options, prop);\n }) as unknown as Signal; // a total lie, for convenience of reusing the storage\n signals.set(prop, signal);\n }\n\n return getValue(signal as unknown as ReturnType<typeof createCache>) as T;\n };\n memoizedDerivation[Type] = derivation[Type];\n return memoizedDerivation;\n}\n\nexport interface SchemaService {\n doesTypeExist(type: string): boolean;\n attributesDefinitionFor(identifier: { type: string }): InternalSchema['attributes'];\n relationshipsDefinitionFor(identifier: { type: string }): InternalSchema['relationships'];\n}\nexport class SchemaService implements SchemaServiceInterface {\n declare _schemas: Map<string, InternalSchema>;\n declare _transforms: Map<string, Transformation>;\n declare _hashFns: Map<string, HashFn>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n declare _derivations: Map<string, Derivation<any, any, any>>;\n declare _traits: Set<string>;\n\n constructor() {\n this._schemas = new Map();\n this._transforms = new Map();\n this._hashFns = new Map();\n this._derivations = new Map();\n }\n hasTrait(type: string): boolean {\n return this._traits.has(type);\n }\n resourceHasTrait(resource: StableRecordIdentifier | { type: string }, trait: string): boolean {\n return this._schemas.get(resource.type)!.traits.has(trait);\n }\n transformation(field: GenericField | ObjectField | ArrayField | { type: string }): Transformation {\n const kind = 'kind' in field ? field.kind : '<unknown kind>';\n const name = 'name' in field ? field.name : '<unknown name>';\n assert(\n `'${kind}' fields cannot be transformed. Only fields of kind 'field' 'object' or 'array' can specify a transformation. Attempted to find '${field.type ?? '<unknown type>'}' on field '${name}'.`,\n !('kind' in field) || ['field', 'object', 'array'].includes(kind)\n );\n assert(\n `Expected the '${kind}' field '${name}' to specify a transformation via 'field.type', but none was present`,\n field.type\n );\n assert(\n `No transformation registered with name '${field.type}' for '${kind}' field '${name}'`,\n this._transforms.has(field.type)\n );\n return this._transforms.get(field.type)!;\n }\n derivation(field: DerivedField | { type: string }): Derivation {\n const kind = 'kind' in field ? field.kind : '<unknown kind>';\n const name = 'name' in field ? field.name : '<unknown name>';\n assert(\n `The '${kind}' field '${name}' is not derived and so cannot be used to lookup a derivation`,\n !('kind' in field) || kind === 'derived'\n );\n assert(\n `Expected the '${kind}' field '${name}' to specify a derivation via 'field.type', but no value was present`,\n field.type\n );\n assert(\n `No '${field.type}' derivation registered for use by the '${kind}' field '${name}'`,\n this._derivations.has(field.type)\n );\n return this._derivations.get(field.type)!;\n }\n hashFn(field: HashField | { type: string }): HashFn {\n const kind = 'kind' in field ? field.kind : '<unknown kind>';\n const name = 'name' in field ? field.name : '<unknown name>';\n assert(\n `The '${kind}' field '${name}' is not a HashField and so cannot be used to lookup a hash function`,\n !('kind' in field) || kind === '@hash'\n );\n assert(\n `Expected the '${kind}' field '${name}' to specify a hash function via 'field.type', but no value was present`,\n field.type\n );\n assert(\n `No '${field.type}' hash function is registered for use by the '${kind}' field '${name}'`,\n this._hashFns.has(field.type)\n );\n return this._hashFns.get(field.type)!;\n }\n resource(resource: StableRecordIdentifier | { type: string }): ResourceSchema {\n assert(`No resource registered with name '${resource.type}'`, this._schemas.has(resource.type));\n return this._schemas.get(resource.type)!.original;\n }\n registerResources(schemas: ResourceSchema[]): void {\n schemas.forEach((schema) => {\n this.registerResource(schema);\n });\n }\n registerResource(schema: ResourceSchema): void {\n const fields = new Map<string, FieldSchema>();\n const relationships: Record<string, LegacyRelationshipSchema> = {};\n const attributes: Record<string, LegacyAttributeField> = {};\n\n schema.fields.forEach((field) => {\n assert(\n `${field.kind} is not valid inside a ResourceSchema's fields.`,\n // @ts-expect-error we are checking for mistakes at runtime\n field.kind !== '@id' && field.kind !== '@hash'\n );\n fields.set(field.name, field);\n if (field.kind === 'attribute') {\n attributes[field.name] = field;\n } else if (field.kind === 'belongsTo' || field.kind === 'hasMany') {\n relationships[field.name] = field;\n }\n });\n\n const traits = new Set<string>(schema.traits);\n traits.forEach((trait) => {\n this._traits.add(trait);\n });\n\n const internalSchema: InternalSchema = { original: schema, fields, relationships, attributes, traits };\n this._schemas.set(schema.type, internalSchema);\n }\n\n registerTransformation<T extends Value = string, PT = unknown>(transformation: Transformation<T, PT>): void {\n this._transforms.set(transformation[Type], transformation as Transformation);\n }\n\n registerDerivation<R, T, FM extends ObjectValue | null>(derivation: Derivation<R, T, FM>): void {\n this._derivations.set(derivation[Type], makeCachedDerivation(derivation));\n }\n\n registerHashFn<T extends object>(hashFn: HashFn<T>): void {\n this._hashFns.set(hashFn[Type], hashFn as HashFn);\n }\n\n fields({ type }: { type: string }): InternalSchema['fields'] {\n const schema = this._schemas.get(type);\n\n if (!schema) {\n throw new Error(`No schema defined for ${type}`);\n }\n\n return schema.fields;\n }\n\n hasResource(resource: { type: string }): boolean {\n return this._schemas.has(resource.type);\n }\n}\n\nif (ENABLE_LEGACY_SCHEMA_SERVICE) {\n SchemaService.prototype.attributesDefinitionFor = function ({\n type,\n }: {\n type: string;\n }): InternalSchema['attributes'] {\n deprecate(`Use \\`schema.fields({ type })\\` instead of \\`schema.attributesDefinitionFor({ type })\\``, false, {\n id: 'ember-data-mirror:schema-service-updates',\n until: '6.0',\n for: 'ember-data-mirror',\n since: {\n available: '4.13',\n enabled: '5.4',\n },\n });\n const schema = this._schemas.get(type);\n\n if (!schema) {\n throw new Error(`No schema defined for ${type}`);\n }\n\n return schema.attributes;\n };\n\n SchemaService.prototype.relationshipsDefinitionFor = function ({\n type,\n }: {\n type: string;\n }): InternalSchema['relationships'] {\n deprecate(`Use \\`schema.fields({ type })\\` instead of \\`schema.relationshipsDefinitionFor({ type })\\``, false, {\n id: 'ember-data-mirror:schema-service-updates',\n until: '6.0',\n for: 'ember-data-mirror',\n since: {\n available: '4.13',\n enabled: '5.4',\n },\n });\n const schema = this._schemas.get(type);\n\n if (!schema) {\n throw new Error(`No schema defined for ${type}`);\n }\n\n return schema.relationships;\n };\n\n SchemaService.prototype.doesTypeExist = function (type: string): boolean {\n deprecate(`Use \\`schema.hasResource({ type })\\` instead of \\`schema.doesTypeExist(type)\\``, false, {\n id: 'ember-data-mirror:schema-service-updates',\n until: '6.0',\n for: 'ember-data-mirror',\n since: {\n available: '4.13',\n enabled: '5.4',\n },\n });\n return this._schemas.has(type);\n };\n}\n"],"names":["Support","getOrSetGlobal","WeakMap","SchemaRecordFields","type","name","kind","options","key","_constructor","record","state","get","set","recordIdentifierFor","modelName","Error","Type","withDefaults","schema","identity","fields","push","fromIdentity","identifier","Identifier","macroCondition","getGlobalConfig","WarpDrive","env","DEBUG","test","String","includes","registerDerivations","registerDerivation","makeCachedDerivation","derivation","memoizedDerivation","prop","signals","Signals","signal","createCache","getValue","SchemaService","constructor","_schemas","Map","_transforms","_hashFns","_derivations","hasTrait","_traits","has","resourceHasTrait","resource","trait","traits","transformation","field","hashFn","original","registerResources","schemas","forEach","registerResource","relationships","attributes","Set","add","internalSchema","registerTransformation","registerHashFn","hasResource","deprecations","ENABLE_LEGACY_SCHEMA_SERVICE","prototype","attributesDefinitionFor","deprecate","id","until","for","since","available","enabled","relationshipsDefinitionFor","doesTypeExist"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warp-drive-mirror/schema-record",
3
- "version": "0.0.0-beta.9",
3
+ "version": "0.0.0",
4
4
  "description": "Schema Driven Resource Presentation for WarpDrive and EmberData",
5
5
  "keywords": [
6
6
  "ember-addon"
@@ -12,11 +12,6 @@
12
12
  },
13
13
  "license": "MIT",
14
14
  "author": "",
15
- "scripts": {
16
- "lint": "eslint . --quiet --cache --cache-strategy=content --report-unused-disable-directives",
17
- "build:pkg": "vite build;",
18
- "sync-hardlinks": "bun run sync-dependencies-meta-injected"
19
- },
20
15
  "ember-addon": {
21
16
  "main": "addon-main.cjs",
22
17
  "type": "addon",
@@ -34,14 +29,18 @@
34
29
  "exports": {
35
30
  "./*": {
36
31
  "default": "./dist/*.js"
32
+ },
33
+ "./unstable-preview-types": {
34
+ "types": "./unstable-preview-types/index.d.ts"
37
35
  }
38
36
  },
39
37
  "peerDependencies": {
40
- "@ember-data-mirror/request": "5.4.0-beta.9",
41
- "@ember-data-mirror/model": "5.4.0-beta.9",
42
- "@ember-data-mirror/store": "5.4.0-beta.9",
43
- "@ember-data-mirror/tracking": "5.4.0-beta.9",
44
- "@warp-drive-mirror/core-types": "0.0.0-beta.9"
38
+ "ember-source": "3.28.12 || ^4.0.4 || ^5.0.0 || ^6.0.0",
39
+ "@ember-data-mirror/request": "5.3.10",
40
+ "@ember-data-mirror/model": "5.3.10",
41
+ "@ember-data-mirror/store": "5.3.10",
42
+ "@ember-data-mirror/tracking": "5.3.10",
43
+ "@warp-drive-mirror/core-types": "0.0.0"
45
44
  },
46
45
  "peerDependenciesMeta": {
47
46
  "@ember-data-mirror/model": {
@@ -75,37 +74,49 @@
75
74
  }
76
75
  },
77
76
  "dependencies": {
78
- "@embroider/macros": "^1.16.1",
79
- "@warp-drive-mirror/build-config": "0.0.0-beta.4"
77
+ "@embroider/macros": "^1.16.6",
78
+ "@warp-drive-mirror/build-config": "0.0.0"
80
79
  },
81
80
  "devDependencies": {
82
81
  "@babel/core": "^7.24.5",
83
82
  "@babel/plugin-transform-typescript": "^7.24.5",
84
83
  "@babel/preset-env": "^7.24.5",
85
84
  "@babel/preset-typescript": "^7.24.1",
86
- "@ember-data-mirror/request": "5.4.0-beta.9",
87
- "@ember-data-mirror/model": "5.4.0-beta.9",
88
- "@ember-data-mirror/store": "5.4.0-beta.9",
89
- "@ember-data-mirror/legacy-compat": "5.4.0-beta.9",
90
- "@ember-data-mirror/tracking": "5.4.0-beta.9",
91
- "@ember-data-mirror/request-utils": "5.4.0-beta.9",
85
+ "@ember-data-mirror/request": "5.3.10",
86
+ "@ember-data-mirror/model": "5.3.10",
87
+ "@ember-data-mirror/store": "5.3.10",
88
+ "@ember-data-mirror/legacy-compat": "5.3.10",
89
+ "@ember-data-mirror/tracking": "5.3.10",
90
+ "@ember-data-mirror/request-utils": "5.3.10",
92
91
  "@ember/test-waiters": "^3.1.0",
93
92
  "@glimmer/component": "^1.1.2",
94
- "@warp-drive-mirror/core-types": "0.0.0-beta.9",
95
- "@warp-drive/internal-config": "5.4.0-beta.9",
96
- "ember-source": "~5.8.0",
93
+ "@warp-drive-mirror/core-types": "0.0.0",
94
+ "@warp-drive/internal-config": "5.3.10",
95
+ "ember-source": "~5.12.0",
97
96
  "pnpm-sync-dependencies-meta-injected": "0.0.14",
98
- "typescript": "^5.4.5",
97
+ "typescript": "^5.7.2",
99
98
  "vite": "^5.2.11"
100
99
  },
101
100
  "ember": {
102
101
  "edition": "octane"
103
102
  },
104
103
  "engines": {
105
- "node": ">= 18.20.3"
104
+ "node": ">= 18.20.4"
106
105
  },
107
106
  "volta": {
108
107
  "extends": "../../../../../../package.json"
109
108
  },
110
- "packageManager": "pnpm@8.15.8"
109
+ "packageManager": "pnpm@8.15.9",
110
+ "typesVersions": {
111
+ "*": {
112
+ "unstable-preview-types": [
113
+ "./unstable-preview-types"
114
+ ]
115
+ }
116
+ },
117
+ "scripts": {
118
+ "lint": "eslint . --quiet --cache --cache-strategy=content",
119
+ "build:pkg": "vite build;",
120
+ "sync-hardlinks": "bun run sync-dependencies-meta-injected"
121
+ }
111
122
  }
@@ -7,19 +7,21 @@ declare module '@warp-drive-mirror/schema-record/-private/compute' {
7
7
  import type { ArrayField, DerivedField, FieldSchema, GenericField, LocalField, ObjectField, SchemaArrayField, SchemaObjectField } from '@warp-drive-mirror/core-types/schema/fields';
8
8
  import type { Links } from '@warp-drive-mirror/core-types/spec/json-api-raw';
9
9
  import { RecordStore } from '@warp-drive-mirror/core-types/symbols';
10
- import type { SchemaRecord } from '@warp-drive-mirror/schema-record/record';
10
+ import { SchemaRecord } from '@warp-drive-mirror/schema-record/record';
11
11
  import type { SchemaService } from '@warp-drive-mirror/schema-record/schema';
12
12
  import { Parent } from '@warp-drive-mirror/schema-record/symbols';
13
13
  import { ManagedArray } from '@warp-drive-mirror/schema-record/-private/managed-array';
14
14
  import { ManagedObject } from '@warp-drive-mirror/schema-record/-private/managed-object';
15
15
  export const ManagedArrayMap: Map<SchemaRecord, Map<FieldSchema, ManagedArray>>;
16
- export const ManagedObjectMap: Map<SchemaRecord, Map<FieldSchema, ManagedObject>>;
16
+ export const ManagedObjectMap: Map<SchemaRecord, Map<FieldSchema, SchemaRecord | ManagedObject>>;
17
17
  export function computeLocal(record: typeof Proxy<SchemaRecord>, field: LocalField, prop: string): unknown;
18
18
  export function peekManagedArray(record: SchemaRecord, field: FieldSchema): ManagedArray | undefined;
19
- export function peekManagedObject(record: SchemaRecord, field: FieldSchema): ManagedObject | undefined;
19
+ export function peekManagedObject(record: SchemaRecord, field: ObjectField): ManagedObject | undefined;
20
+ export function peekManagedObject(record: SchemaRecord, field: SchemaObjectField): SchemaRecord | undefined;
20
21
  export function computeField(schema: SchemaService, cache: Cache, record: SchemaRecord, identifier: StableRecordIdentifier, field: GenericField, prop: string | string[]): unknown;
21
- export function computeArray(store: Store, schema: SchemaService, cache: Cache, record: SchemaRecord, identifier: StableRecordIdentifier, field: ArrayField | SchemaArrayField, path: string[], isSchemaArray?: boolean): ManagedArray | null;
22
- export function computeObject(store: Store, schema: SchemaService, cache: Cache, record: SchemaRecord, identifier: StableRecordIdentifier, field: ObjectField | SchemaObjectField, prop: string, isSchemaObject?: boolean): ManagedObject | null;
22
+ export function computeArray(store: Store, schema: SchemaService, cache: Cache, record: SchemaRecord, identifier: StableRecordIdentifier, field: ArrayField | SchemaArrayField, path: string[], isSchemaArray: boolean, editable: boolean, legacy: boolean): ManagedArray | null;
23
+ export function computeObject(schema: SchemaService, cache: Cache, record: SchemaRecord, identifier: StableRecordIdentifier, field: ObjectField, path: string[], editable: boolean, legacy: boolean): SchemaRecord | ManagedObject | null;
24
+ export function computeSchemaObject(store: Store, cache: Cache, record: SchemaRecord, identifier: StableRecordIdentifier, field: SchemaObjectField, path: string[], legacy: boolean, editable: boolean): SchemaRecord | ManagedObject | null;
23
25
  export function computeAttribute(cache: Cache, identifier: StableRecordIdentifier, prop: string): unknown;
24
26
  export function computeDerivation(schema: SchemaService, record: SchemaRecord, identifier: StableRecordIdentifier, field: DerivedField, prop: string): unknown;
25
27
  class ResourceRelationship<T extends SchemaRecord = SchemaRecord> {
@@ -1 +1 @@
1
- {"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../../src/-private/compute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../../src/-private/compute.ts"],"names":[],"mappings":"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"}
@@ -6,18 +6,20 @@ declare module '@warp-drive-mirror/schema-record/-private/managed-array' {
6
6
  import type { ArrayField, SchemaArrayField } from '@warp-drive-mirror/core-types/schema/fields';
7
7
  import { SchemaRecord } from '@warp-drive-mirror/schema-record/record';
8
8
  import type { SchemaService } from '@warp-drive-mirror/schema-record/schema';
9
- import { ARRAY_SIGNAL, MUTATE, SOURCE } from '@warp-drive-mirror/schema-record/symbols';
9
+ import { ARRAY_SIGNAL, Editable, Legacy, MUTATE, SOURCE } from '@warp-drive-mirror/schema-record/symbols';
10
10
  export function notifyArray(arr: ManagedArray): void;
11
11
  export interface ManagedArray extends Omit<Array<unknown>, '[]'> {
12
12
  [MUTATE]?(target: unknown[], receiver: typeof Proxy<unknown[]>, prop: string, args: unknown[], _SIGNAL: Signal): unknown;
13
13
  }
14
14
  export class ManagedArray {
15
15
  [SOURCE]: unknown[];
16
- address: StableRecordIdentifier;
16
+ identifier: StableRecordIdentifier;
17
17
  path: string[];
18
18
  owner: SchemaRecord;
19
19
  [ARRAY_SIGNAL]: Signal;
20
- constructor(store: Store, schema: SchemaService, cache: Cache, field: ArrayField | SchemaArrayField, data: unknown[], address: StableRecordIdentifier, path: string[], owner: SchemaRecord, isSchemaArray: boolean);
20
+ [Editable]: boolean;
21
+ [Legacy]: boolean;
22
+ constructor(store: Store, schema: SchemaService, cache: Cache, field: ArrayField | SchemaArrayField, data: unknown[], identifier: StableRecordIdentifier, path: string[], owner: SchemaRecord, isSchemaArray: boolean, editable: boolean, legacy: boolean);
21
23
  }
22
24
  }
23
25
  //# sourceMappingURL=managed-array.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"managed-array.d.ts","sourceRoot":"","sources":["../../src/-private/managed-array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAG5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAG1D,OAAO,KAAK,EAAE,UAAU,EAAa,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAEpG,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAgC,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAExF,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,QAE5C;AA+ED,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IAC9D,CAAC,MAAM,CAAC,CAAC,CACP,MAAM,EAAE,OAAO,EAAE,EACjB,QAAQ,EAAE,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EAAE,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;CACZ;AAED,qBAAa,YAAY;IACvB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACZ,OAAO,EAAE,sBAAsB,CAAC;IAChC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,YAAY,CAAC;IACpB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;gBAG7B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,GAAG,gBAAgB,EACpC,IAAI,EAAE,OAAO,EAAE,EACf,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,OAAO;CAwMzB"}
1
+ {"version":3,"file":"managed-array.d.ts","sourceRoot":"","sources":["../../src/-private/managed-array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAG5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAG1D,OAAO,KAAK,EAAE,UAAU,EAAa,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAEpG,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAc,MAAM,EAAE,MAAM,EAAU,MAAM,EAAE,MAAM,YAAY,CAAC;AAEhG,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,QAE5C;AAkFD,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IAC9D,CAAC,MAAM,CAAC,CAAC,CACP,MAAM,EAAE,OAAO,EAAE,EACjB,QAAQ,EAAE,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EAAE,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;CACZ;AAED,qBAAa,YAAY;IACvB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACZ,UAAU,EAAE,sBAAsB,CAAC;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,YAAY,CAAC;IACpB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;gBAGxB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,GAAG,gBAAgB,EACpC,IAAI,EAAE,OAAO,EAAE,EACf,UAAU,EAAE,sBAAsB,EAClC,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,OAAO,EACtB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,OAAO;CAwOlB"}
@@ -1,23 +1,23 @@
1
1
  declare module '@warp-drive-mirror/schema-record/-private/managed-object' {
2
- import type Store from '@ember-data-mirror/store';
3
2
  import type { Signal } from '@ember-data-mirror/tracking/-private';
4
3
  import type { StableRecordIdentifier } from '@warp-drive-mirror/core-types';
5
4
  import type { Cache } from '@warp-drive-mirror/core-types/cache';
6
5
  import type { ObjectField, SchemaObjectField } from '@warp-drive-mirror/core-types/schema/fields';
7
6
  import type { SchemaRecord } from '@warp-drive-mirror/schema-record/record';
8
7
  import type { SchemaService } from '@warp-drive-mirror/schema-record/schema';
9
- import { MUTATE, OBJECT_SIGNAL, SOURCE } from '@warp-drive-mirror/schema-record/symbols';
8
+ import { Editable, EmbeddedPath, Legacy, MUTATE, OBJECT_SIGNAL, Parent, SOURCE } from '@warp-drive-mirror/schema-record/symbols';
10
9
  export function notifyObject(obj: ManagedObject): void;
11
10
  export interface ManagedObject {
12
11
  [MUTATE]?(target: unknown[], receiver: typeof Proxy<unknown[]>, prop: string, args: unknown[], _SIGNAL: Signal): unknown;
13
12
  }
14
13
  export class ManagedObject {
15
14
  [SOURCE]: object;
16
- address: StableRecordIdentifier;
17
- key: string;
18
- owner: SchemaRecord;
15
+ [Parent]: StableRecordIdentifier;
16
+ [EmbeddedPath]: string[];
19
17
  [OBJECT_SIGNAL]: Signal;
20
- constructor(store: Store, schema: SchemaService, cache: Cache, field: ObjectField | SchemaObjectField, data: object, address: StableRecordIdentifier, key: string, owner: SchemaRecord, isSchemaObject: boolean);
18
+ [Editable]: boolean;
19
+ [Legacy]: boolean;
20
+ constructor(schema: SchemaService, cache: Cache, field: ObjectField | SchemaObjectField, data: object, identifier: StableRecordIdentifier, path: string[], owner: SchemaRecord, editable: boolean, legacy: boolean);
21
21
  }
22
22
  }
23
23
  //# sourceMappingURL=managed-object.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"managed-object.d.ts","sourceRoot":"","sources":["../../src/-private/managed-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAE3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAE3D,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,QAE9C;AAID,MAAM,WAAW,aAAa;IAC5B,CAAC,MAAM,CAAC,CAAC,CACP,MAAM,EAAE,OAAO,EAAE,EACjB,QAAQ,EAAE,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EAAE,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;CACZ;AAED,qBAAa,aAAa;IACxB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACT,OAAO,EAAE,sBAAsB,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,YAAY,CAAC;IACpB,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;gBAG9B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,WAAW,GAAG,iBAAiB,EACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,EAC/B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,YAAY,EACnB,cAAc,EAAE,OAAO;CAmH1B"}
1
+ {"version":3,"file":"managed-object.d.ts","sourceRoot":"","sources":["../../src/-private/managed-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAG5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAE3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEnG,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,QAE9C;AAQD,MAAM,WAAW,aAAa;IAC5B,CAAC,MAAM,CAAC,CAAC,CACP,MAAM,EAAE,OAAO,EAAE,EACjB,QAAQ,EAAE,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EAAE,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;CACZ;AAED,qBAAa,aAAa;IAChB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC;IACjC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IACxB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;gBAGxB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,WAAW,GAAG,iBAAiB,EACtC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,sBAAsB,EAClC,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,OAAO;CAiGlB"}
@@ -1,7 +1,7 @@
1
1
  /// <reference path="./hooks.d.ts" />
2
- /// <reference path="./record.d.ts" />
3
- /// <reference path="./schema.d.ts" />
4
2
  /// <reference path="./symbols.d.ts" />
3
+ /// <reference path="./schema.d.ts" />
4
+ /// <reference path="./record.d.ts" />
5
+ /// <reference path="./-private/managed-array.d.ts" />
5
6
  /// <reference path="./-private/compute.d.ts" />
6
- /// <reference path="./-private/managed-object.d.ts" />
7
- /// <reference path="./-private/managed-array.d.ts" />
7
+ /// <reference path="./-private/managed-object.d.ts" />
@@ -4,7 +4,7 @@ declare module '@warp-drive-mirror/schema-record/record' {
4
4
  import type { StableRecordIdentifier } from '@warp-drive-mirror/core-types';
5
5
  import { RecordStore } from '@warp-drive-mirror/core-types/symbols';
6
6
  import { Checkout, Destroy, Editable, EmbeddedPath, EmbeddedType, Identifier, Legacy, Parent } from '@warp-drive-mirror/schema-record/symbols';
7
- export { Editable, Legacy } from '@warp-drive-mirror/schema-record/symbols';
7
+ export { Editable, Legacy, Checkout } from '@warp-drive-mirror/schema-record/symbols';
8
8
  export class SchemaRecord {
9
9
  [RecordStore]: Store;
10
10
  [Identifier]: StableRecordIdentifier;
@@ -1 +1 @@
1
- {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAA+C,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAElH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAIrE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAgB7D,OAAO,EAEL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,MAAM,EAEN,MAAM,EACP,MAAM,WAAW,CAAC;AAOnB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAsB7C,qBAAa,YAAY;IACf,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IACrB,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACrC,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC;IACjC,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,gBAAgB,MAAM,GAAG,CAAC;IAChD,gBAAgB,EAAE,MAAM,CAAC;gBAG/B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,sBAAsB,EAClC,IAAI,EAAE;QAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAChD,UAAU,UAAQ,EAClB,YAAY,GAAE,MAAM,GAAG,IAAW,EAClC,YAAY,GAAE,MAAM,EAAE,GAAG,IAAW;IAmftC,CAAC,OAAO,CAAC,IAAI,IAAI;IASjB,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC;CAGpC"}
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAA+C,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAElH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAIrE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAiB7D,OAAO,EAEL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,MAAM,EAEN,MAAM,EACP,MAAM,WAAW,CAAC;AAOnB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAuBvD,qBAAa,YAAY;IACf,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IACrB,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACrC,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC;IACjC,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,gBAAgB,MAAM,GAAG,CAAC;IAChD,gBAAgB,EAAE,MAAM,CAAC;gBAG/B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,sBAAsB,EAClC,IAAI,EAAE;QAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAChD,UAAU,UAAQ,EAClB,YAAY,GAAE,MAAM,GAAG,IAAW,EAClC,YAAY,GAAE,MAAM,EAAE,GAAG,IAAW;IAkjBtC,CAAC,OAAO,CAAC,IAAI,IAAI;IASjB,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC;CA4BpC"}