@ember-data/serializer 5.4.0-beta.0 → 5.4.0-beta.10

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.
Files changed (61) hide show
  1. package/README.md +11 -1
  2. package/addon-main.cjs +5 -0
  3. package/blueprints/serializer/index.js +71 -5
  4. package/blueprints/serializer-test/index.js +13 -7
  5. package/blueprints/serializer-test/qunit-files/__root__/__path__/__test__.js +8 -9
  6. package/blueprints/transform/index.js +14 -4
  7. package/blueprints/transform-test/index.js +13 -7
  8. package/blueprints/transform-test/qunit-files/__root__/__path__/__test__.js +3 -4
  9. package/dist/index.js +373 -0
  10. package/dist/index.js.map +1 -0
  11. package/{addon/json.js → dist/json-BwMH6O_R.js} +83 -63
  12. package/dist/json-BwMH6O_R.js.map +1 -0
  13. package/{addon → dist}/json-api.js +86 -186
  14. package/dist/json-api.js.map +1 -0
  15. package/dist/json.js +6 -0
  16. package/dist/json.js.map +1 -0
  17. package/dist/rest.js +1270 -0
  18. package/dist/rest.js.map +1 -0
  19. package/{addon/string-22572f80.js → dist/transform.js} +144 -20
  20. package/dist/transform.js.map +1 -0
  21. package/package.json +69 -40
  22. package/unstable-preview-types/-private/embedded-records-mixin.d.ts +103 -0
  23. package/unstable-preview-types/-private/embedded-records-mixin.d.ts.map +1 -0
  24. package/unstable-preview-types/-private/transforms/boolean.d.ts +52 -0
  25. package/unstable-preview-types/-private/transforms/boolean.d.ts.map +1 -0
  26. package/unstable-preview-types/-private/transforms/date.d.ts +33 -0
  27. package/unstable-preview-types/-private/transforms/date.d.ts.map +1 -0
  28. package/unstable-preview-types/-private/transforms/number.d.ts +34 -0
  29. package/unstable-preview-types/-private/transforms/number.d.ts.map +1 -0
  30. package/unstable-preview-types/-private/transforms/string.d.ts +34 -0
  31. package/unstable-preview-types/-private/transforms/string.d.ts.map +1 -0
  32. package/unstable-preview-types/-private/transforms/transform.d.ts +127 -0
  33. package/unstable-preview-types/-private/transforms/transform.d.ts.map +1 -0
  34. package/unstable-preview-types/-private/utils.d.ts +6 -0
  35. package/unstable-preview-types/-private/utils.d.ts.map +1 -0
  36. package/unstable-preview-types/index.d.ts +277 -0
  37. package/unstable-preview-types/index.d.ts.map +1 -0
  38. package/unstable-preview-types/json-api.d.ts +515 -0
  39. package/unstable-preview-types/json-api.d.ts.map +1 -0
  40. package/unstable-preview-types/json.d.ts +1094 -0
  41. package/unstable-preview-types/json.d.ts.map +1 -0
  42. package/unstable-preview-types/rest.d.ts +571 -0
  43. package/unstable-preview-types/rest.d.ts.map +1 -0
  44. package/unstable-preview-types/transform.d.ts +11 -0
  45. package/unstable-preview-types/transform.d.ts.map +1 -0
  46. package/addon/-private.js +0 -4
  47. package/addon/-private.js.map +0 -1
  48. package/addon/embedded-records-mixin-d75385ff.js +0 -575
  49. package/addon/embedded-records-mixin-d75385ff.js.map +0 -1
  50. package/addon/index.js +0 -180
  51. package/addon/index.js.map +0 -1
  52. package/addon/json-api.js.map +0 -1
  53. package/addon/json.js.map +0 -1
  54. package/addon/rest.js +0 -680
  55. package/addon/rest.js.map +0 -1
  56. package/addon/string-22572f80.js.map +0 -1
  57. package/addon/transform.js +0 -2
  58. package/addon/transform.js.map +0 -1
  59. package/addon/utils-075c5b79.js +0 -12
  60. package/addon/utils-075c5b79.js.map +0 -1
  61. package/addon-main.js +0 -93
@@ -0,0 +1,103 @@
1
+ declare module '@ember-data/serializer/-private/embedded-records-mixin' {
2
+ /// <reference types="ember-source/types" />
3
+ /**
4
+ @module @ember-data/serializer/rest
5
+ */
6
+ /**
7
+ ## Using Embedded Records
8
+
9
+ `EmbeddedRecordsMixin` supports serializing embedded records.
10
+
11
+ To set up embedded records, include the mixin when extending a serializer,
12
+ then define and configure embedded (model) relationships.
13
+
14
+ Note that embedded records will serialize with the serializer for their model instead of the serializer in which they are defined.
15
+
16
+ Note also that this mixin does not work with JSONAPISerializer because the JSON:API specification does not describe how to format embedded resources.
17
+
18
+ Below is an example of a per-type serializer (`post` type).
19
+
20
+ ```app/serializers/post.js
21
+ import RESTSerializer, { EmbeddedRecordsMixin } from '@ember-data/serializer/rest';
22
+
23
+ export default class PostSerializer extends RESTSerializer.extend(EmbeddedRecordsMixin) {
24
+ attrs = {
25
+ author: { embedded: 'always' },
26
+ comments: { serialize: 'ids' }
27
+ }
28
+ }
29
+ ```
30
+ Note that this use of `{ embedded: 'always' }` is unrelated to
31
+ the `{ embedded: 'always' }` that is defined as an option on `attr` as part of
32
+ defining a model while working with the `ActiveModelSerializer`. Nevertheless,
33
+ using `{ embedded: 'always' }` as an option to `attr` is not a valid way to set up
34
+ embedded records.
35
+
36
+ The `attrs` option for a resource `{ embedded: 'always' }` is shorthand for:
37
+
38
+ ```js
39
+ {
40
+ serialize: 'records',
41
+ deserialize: 'records'
42
+ }
43
+ ```
44
+
45
+ ### Configuring Attrs
46
+
47
+ A resource's `attrs` option may be set to use `ids`, `records` or false for the
48
+ `serialize` and `deserialize` settings.
49
+
50
+ The `attrs` property can be set on the `ApplicationSerializer` or a per-type
51
+ serializer.
52
+
53
+ In the case where embedded JSON is expected while extracting a payload (reading)
54
+ the setting is `deserialize: 'records'`, there is no need to use `ids` when
55
+ extracting as that is the default behaviour without this mixin if you are using
56
+ the vanilla `EmbeddedRecordsMixin`. Likewise, to embed JSON in the payload while
57
+ serializing `serialize: 'records'` is the setting to use. There is an option of
58
+ not embedding JSON in the serialized payload by using `serialize: 'ids'`. If you
59
+ do not want the relationship sent at all, you can use `serialize: false`.
60
+
61
+
62
+ ### EmbeddedRecordsMixin defaults
63
+ If you do not overwrite `attrs` for a specific relationship, the `EmbeddedRecordsMixin`
64
+ will behave in the following way:
65
+
66
+ BelongsTo: `{ serialize: 'id', deserialize: 'id' }`
67
+ HasMany: `{ serialize: false, deserialize: 'ids' }`
68
+
69
+ ### Model Relationships
70
+
71
+ Embedded records must have a model defined to be extracted and serialized. Note that
72
+ when defining any relationships on your model such as `belongsTo` and `hasMany`, you
73
+ should not both specify `async: true` and also indicate through the serializer's
74
+ `attrs` attribute that the related model should be embedded for deserialization.
75
+ If a model is declared embedded for deserialization (`embedded: 'always'` or `deserialize: 'records'`),
76
+ then do not use `async: true`.
77
+
78
+ To successfully extract and serialize embedded records the model relationships
79
+ must be set up correctly. See the
80
+ [defining relationships](https://guides.emberjs.com/current/models/relationships)
81
+ section of the **Defining Models** guide page.
82
+
83
+ Records without an `id` property are not considered embedded records, model
84
+ instances must have an `id` property to be used with Ember Data.
85
+
86
+ ### Example JSON payloads, Models and Serializers
87
+
88
+ **When customizing a serializer it is important to grok what the customizations
89
+ are. Please read the docs for the methods this mixin provides, in case you need
90
+ to modify it to fit your specific needs.**
91
+
92
+ For example, review the docs for each method of this mixin:
93
+ * [normalize](/ember-data/release/classes/EmbeddedRecordsMixin/methods/normalize?anchor=normalize)
94
+ * [serializeBelongsTo](/ember-data/release/classes/EmbeddedRecordsMixin/methods/serializeBelongsTo?anchor=serializeBelongsTo)
95
+ * [serializeHasMany](/ember-data/release/classes/EmbeddedRecordsMixin/methods/serializeHasMany?anchor=serializeHasMany)
96
+
97
+ @class EmbeddedRecordsMixin
98
+ @public
99
+ */
100
+ export const EmbeddedRecordsMixin: Mixin;
101
+ import Mixin from '@ember/object/mixin';
102
+ }
103
+ //# sourceMappingURL=embedded-records-mixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded-records-mixin.d.ts","sourceRoot":"","sources":["../../src/-private/embedded-records-mixin.js"],"names":[],"mappings":";AAKA;;EAEE;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6FE;AACF,yCAwhBG;kBA9nBe,qBAAqB"}
@@ -0,0 +1,52 @@
1
+ declare module '@ember-data/serializer/-private/transforms/boolean' {
2
+ /**
3
+ @module @ember-data/serializer
4
+ */
5
+ import { TransformName } from '@warp-drive/core-types/symbols';
6
+ /**
7
+ The `BooleanTransform` class is used to serialize and deserialize
8
+ boolean attributes on Ember Data record objects. This transform is
9
+ used when `boolean` is passed as the type parameter to the
10
+ [attr](/ember-data/release/functions/@ember-data%2Fmodel/attr) function.
11
+
12
+ Usage
13
+
14
+ ```app/models/user.js
15
+ import Model, { attr } from '@ember-data/model';
16
+
17
+ export default class UserModel extends Model {
18
+ @attr('boolean') isAdmin;
19
+ @attr('string') name;
20
+ @attr('string') email;
21
+ }
22
+ ```
23
+
24
+ By default, the boolean transform only allows for values of `true` or
25
+ `false`. You can opt into allowing `null` values for
26
+ boolean attributes via `attr('boolean', { allowNull: true })`
27
+
28
+ ```app/models/user.js
29
+ import Model, { attr } from '@ember-data/model';
30
+
31
+ export default class UserModel extends Model {
32
+ @attr('string') email;
33
+ @attr('string') username;
34
+ @attr('boolean', { allowNull: true }) wantsWeeklyEmail;
35
+ }
36
+ ```
37
+
38
+ @class BooleanTransform
39
+ @public
40
+ */
41
+ export class BooleanTransform {
42
+ deserialize(serialized: boolean | null | number | string, options?: {
43
+ allowNull?: boolean;
44
+ }): boolean | null;
45
+ serialize(deserialized: boolean | null, options?: {
46
+ allowNull?: boolean;
47
+ }): boolean | null;
48
+ [TransformName]: "boolean";
49
+ static create(): BooleanTransform;
50
+ }
51
+ }
52
+ //# sourceMappingURL=boolean.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/boolean.ts"],"names":[],"mappings":"AAAA;;EAEE;AAEF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,gBAAgB;IAC3B,WAAW,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,GAAG,IAAI;IAgB5G,SAAS,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,GAAG,IAAI;IAQ1F,CAAC,aAAa,CAAC,YAAsB;IAErC,MAAM,CAAC,MAAM;CAGd"}
@@ -0,0 +1,33 @@
1
+ declare module '@ember-data/serializer/-private/transforms/date' {
2
+ /**
3
+ @module @ember-data/serializer
4
+ */
5
+ import { TransformName } from '@warp-drive/core-types/symbols';
6
+ /**
7
+ The `DateTransform` class is used to serialize and deserialize
8
+ date attributes on Ember Data record objects. This transform is used
9
+ when `date` is passed as the type parameter to the
10
+ [attr](/ember-data/release/functions/@ember-data%2Fmodel/attr) function. It uses the [`ISO 8601`](https://en.wikipedia.org/wiki/ISO_8601)
11
+ standard.
12
+
13
+ ```app/models/score.js
14
+ import Model, { attr, belongsTo } from '@ember-data/model';
15
+
16
+ export default class ScoreModel extends Model {
17
+ @attr('number') value;
18
+ @belongsTo('player') player;
19
+ @attr('date') date;
20
+ }
21
+ ```
22
+
23
+ @class DateTransform
24
+ @public
25
+ */
26
+ export class DateTransform {
27
+ deserialize(serialized: string | number | null, _options?: Record<string, unknown>): Date | null;
28
+ serialize(date: Date, _options?: Record<string, unknown>): string | null;
29
+ [TransformName]: "date";
30
+ static create(): DateTransform;
31
+ }
32
+ }
33
+ //# sourceMappingURL=date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/date.ts"],"names":[],"mappings":"AAAA;;EAEE;AAEF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,qBAAa,aAAa;IACxB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAoBlF,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IASxE,CAAC,aAAa,CAAC,SAAmB;IAElC,MAAM,CAAC,MAAM;CAGd"}
@@ -0,0 +1,34 @@
1
+ declare module '@ember-data/serializer/-private/transforms/number' {
2
+ /**
3
+ @module @ember-data/serializer
4
+ */
5
+ import { TransformName } from '@warp-drive/core-types/symbols';
6
+ /**
7
+ The `NumberTransform` class is used to serialize and deserialize
8
+ numeric attributes on Ember Data record objects. This transform is
9
+ used when `number` is passed as the type parameter to the
10
+ [attr](/ember-data/release/functions/@ember-data%2Fmodel/attr) function.
11
+
12
+ Usage
13
+
14
+ ```app/models/score.js
15
+ import Model, { attr, belongsTo } from '@ember-data/model';
16
+
17
+ export default class ScoreModel extends Model {
18
+ @attr('number') value;
19
+ @belongsTo('player') player;
20
+ @attr('date') date;
21
+ }
22
+ ```
23
+
24
+ @class NumberTransform
25
+ @public
26
+ */
27
+ export class NumberTransform {
28
+ deserialize(serialized: string | number | null | undefined, _options?: Record<string, unknown>): number | null;
29
+ serialize(deserialized: string | number | null | undefined, _options?: Record<string, unknown>): number | null;
30
+ [TransformName]: "number";
31
+ static create(): NumberTransform;
32
+ }
33
+ }
34
+ //# sourceMappingURL=number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/number.ts"],"names":[],"mappings":"AAAA;;EAEE;AAEF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAM/D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,eAAe;IAC1B,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAU9G,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAU9G,CAAC,aAAa,CAAC,WAAqB;IAEpC,MAAM,CAAC,MAAM;CAGd"}
@@ -0,0 +1,34 @@
1
+ declare module '@ember-data/serializer/-private/transforms/string' {
2
+ /**
3
+ @module @ember-data/serializer
4
+ */
5
+ import { TransformName } from '@warp-drive/core-types/symbols';
6
+ /**
7
+ The `StringTransform` class is used to serialize and deserialize
8
+ string attributes on Ember Data record objects. This transform is
9
+ used when `string` is passed as the type parameter to the
10
+ [attr](/ember-data/release/functions/@ember-data%2Fmodel/attr) function.
11
+
12
+ Usage
13
+
14
+ ```app/models/user.js
15
+ import Model, { attr, belongsTo } from '@ember-data/model';
16
+
17
+ export default class UserModel extends Model {
18
+ @attr('boolean') isAdmin;
19
+ @attr('string') name;
20
+ @attr('string') email;
21
+ }
22
+ ```
23
+
24
+ @class StringTransform
25
+ @public
26
+ */
27
+ export class StringTransform {
28
+ deserialize(serialized: unknown, _options?: Record<string, unknown>): string | null;
29
+ serialize(deserialized: unknown, _options?: Record<string, unknown>): string | null;
30
+ [TransformName]: "string";
31
+ static create(): StringTransform;
32
+ }
33
+ }
34
+ //# sourceMappingURL=string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/string.ts"],"names":[],"mappings":"AAAA;;EAEE;AAEF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,eAAe;IAC1B,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAGnF,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAInF,CAAC,aAAa,CAAC,WAAqB;IAEpC,MAAM,CAAC,MAAM;CAGd"}
@@ -0,0 +1,127 @@
1
+ declare module '@ember-data/serializer/-private/transforms/transform' {
2
+ /// <reference types="ember-source/types" />
3
+ /**
4
+ @module @ember-data/serializer
5
+ */
6
+ import EmberObject from '@ember/object';
7
+ import type { LegacyAttributeField } from '@warp-drive/core-types/schema/fields';
8
+ /**
9
+ The `Transform` class is used to serialize and deserialize model
10
+ attributes when they are saved or loaded from an
11
+ adapter. Subclassing `Transform` is useful for creating custom
12
+ attributes. All subclasses of `Transform` must implement a
13
+ `serialize` and a `deserialize` method.
14
+
15
+ Example
16
+
17
+ ```app/transforms/temperature.js
18
+
19
+ // Converts centigrade in the JSON to fahrenheit in the app
20
+ export default class TemperatureTransform {
21
+ deserialize(serialized, options) {
22
+ return (serialized * 1.8) + 32;
23
+ }
24
+
25
+ serialize(deserialized, options) {
26
+ return (deserialized - 32) / 1.8;
27
+ }
28
+
29
+ static create() {
30
+ return new this();
31
+ }
32
+ }
33
+ ```
34
+
35
+ Usage
36
+
37
+ ```app/models/requirement.js
38
+ import Model, { attr } from '@ember-data/model';
39
+
40
+ export default class RequirementModel extends Model {
41
+ @attr('string') name;
42
+ @attr('temperature') temperature;
43
+ }
44
+ ```
45
+
46
+ The options passed into the `attr` function when the attribute is
47
+ declared on the model is also available in the transform.
48
+
49
+ ```app/models/post.js
50
+ import Model, { attr } from '@ember-data/model';
51
+
52
+ export default class PostModel extends Model {
53
+ @attr('string') title;
54
+ @attr('markdown', {
55
+ markdown: {
56
+ gfm: false,
57
+ sanitize: true
58
+ }
59
+ })
60
+ markdown;
61
+ }
62
+ ```
63
+
64
+ ```app/transforms/markdown.js
65
+ export default class MarkdownTransform {
66
+ serialize(deserialized, options) {
67
+ return deserialized.raw;
68
+ }
69
+
70
+ deserialize(serialized, options) {
71
+ let markdownOptions = options.markdown || {};
72
+
73
+ return marked(serialized, markdownOptions);
74
+ }
75
+
76
+ static create() {
77
+ return new this();
78
+ }
79
+ }
80
+ ```
81
+
82
+ @class Transform
83
+ @public
84
+ */
85
+ /**
86
+ When given a deserialized value from a record attribute this
87
+ method must return the serialized value.
88
+
89
+ Example
90
+
91
+ ```javascript
92
+ serialize(deserialized, options) {
93
+ return deserialized ? null : Number(deserialized);
94
+ }
95
+ ```
96
+
97
+ @method serialize
98
+ @public
99
+ @param deserialized The deserialized value
100
+ @param options hash of options passed to `attr`
101
+ @return The serialized value
102
+ */
103
+ /**
104
+ When given a serialized value from a JSON object this method must
105
+ return the deserialized value for the record attribute.
106
+
107
+ Example
108
+
109
+ ```javascript
110
+ deserialize(serialized, options) {
111
+ return empty(serialized) ? null : Number(serialized);
112
+ }
113
+ ```
114
+
115
+ @method deserialize
116
+ @public
117
+ @param serialized The serialized value
118
+ @param options hash of options passed to `attr`
119
+ @return The deserialized value
120
+ */
121
+ export interface Transform {
122
+ serialize(value: unknown, options: LegacyAttributeField['options']): unknown;
123
+ deserialize(value: unknown, options: LegacyAttributeField['options']): unknown;
124
+ }
125
+ export const Transform: typeof EmberObject;
126
+ }
127
+ //# sourceMappingURL=transform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/transform.ts"],"names":[],"mappings":";AAAA;;EAEE;AACF,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH;;;;;;;;;;;;;;;;;EAiBE;AACF;;;;;;;;;;;;;;;;;EAiBE;AACF,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IAC7E,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;CAChF;AACD,eAAO,MAAM,SAAS,oBAAc,CAAC"}
@@ -0,0 +1,6 @@
1
+ declare module '@ember-data/serializer/-private/utils' {
2
+ type Coercable = string | number | boolean | null | undefined | symbol;
3
+ export function coerceId(id: Coercable): string | null;
4
+ export {};
5
+ }
6
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/-private/utils.ts"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvE,wBAAgB,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAUrD"}