@ember-data-mirror/serializer 5.6.0-alpha.3 → 5.6.0-alpha.4
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/index.js +5 -10
- package/dist/index.js.map +1 -1
- package/dist/{json-CVTR4xWv.js → json-CYP2BhR9.js} +42 -89
- package/dist/json-CYP2BhR9.js.map +1 -0
- package/dist/json-api.js +14 -31
- package/dist/json-api.js.map +1 -1
- package/dist/json.js +1 -1
- package/dist/rest.js +30 -59
- package/dist/rest.js.map +1 -1
- package/dist/transform.js +9 -32
- package/dist/transform.js.map +1 -1
- package/package.json +13 -16
- package/unstable-preview-types/-private/embedded-records-mixin.d.ts +1 -4
- package/unstable-preview-types/-private/embedded-records-mixin.d.ts.map +1 -1
- package/unstable-preview-types/-private/transforms/boolean.d.ts +2 -5
- package/unstable-preview-types/-private/transforms/boolean.d.ts.map +1 -1
- package/unstable-preview-types/-private/transforms/date.d.ts +1 -4
- package/unstable-preview-types/-private/transforms/date.d.ts.map +1 -1
- package/unstable-preview-types/-private/transforms/number.d.ts +1 -4
- package/unstable-preview-types/-private/transforms/number.d.ts.map +1 -1
- package/unstable-preview-types/-private/transforms/string.d.ts +1 -4
- package/unstable-preview-types/-private/transforms/string.d.ts.map +1 -1
- package/unstable-preview-types/-private/transforms/transform.d.ts +4 -9
- package/unstable-preview-types/-private/transforms/transform.d.ts.map +1 -1
- package/unstable-preview-types/index.d.ts +7 -12
- package/unstable-preview-types/index.d.ts.map +1 -1
- package/unstable-preview-types/json-api.d.ts +9 -24
- package/unstable-preview-types/json-api.d.ts.map +1 -1
- package/unstable-preview-types/json.d.ts +19 -62
- package/unstable-preview-types/json.d.ts.map +1 -1
- package/unstable-preview-types/rest.d.ts +11 -24
- package/unstable-preview-types/rest.d.ts.map +1 -1
- package/unstable-preview-types/transform.d.ts +0 -3
- package/unstable-preview-types/transform.d.ts.map +1 -1
- package/dist/json-CVTR4xWv.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ember-data-mirror/serializer",
|
|
3
|
-
"version": "5.6.0-alpha.
|
|
3
|
+
"version": "5.6.0-alpha.4",
|
|
4
4
|
"description": "Provides Legacy JSON, JSON:API and REST Implementations of the Serializer Interface for use with @ember-data-mirror/store",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ember-addon"
|
|
@@ -42,10 +42,10 @@
|
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"@warp-drive-mirror/core-types": "5.6.0-alpha.
|
|
46
|
-
"@ember-data-mirror/legacy-compat": "5.6.0-alpha.
|
|
47
|
-
"@ember-data-mirror/request-utils": "5.6.0-alpha.
|
|
48
|
-
"@ember-data-mirror/store": "5.6.0-alpha.
|
|
45
|
+
"@warp-drive-mirror/core-types": "5.6.0-alpha.4",
|
|
46
|
+
"@ember-data-mirror/legacy-compat": "5.6.0-alpha.4",
|
|
47
|
+
"@ember-data-mirror/request-utils": "5.6.0-alpha.4",
|
|
48
|
+
"@ember-data-mirror/store": "5.6.0-alpha.4"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@embroider/macros": "^1.16.12",
|
|
@@ -53,30 +53,27 @@
|
|
|
53
53
|
"ember-cli-string-utils": "^1.1.0",
|
|
54
54
|
"ember-cli-path-utils": "^1.0.0",
|
|
55
55
|
"@ember/edition-utils": "1.2.0",
|
|
56
|
-
"@warp-drive-mirror/build-config": "5.6.0-alpha.
|
|
56
|
+
"@warp-drive-mirror/build-config": "5.6.0-alpha.4"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@babel/core": "^7.26.10",
|
|
60
60
|
"@babel/plugin-transform-typescript": "^7.27.0",
|
|
61
61
|
"@babel/preset-env": "^7.26.9",
|
|
62
62
|
"@babel/preset-typescript": "^7.27.0",
|
|
63
|
-
"@ember-data-mirror/model": "5.6.0-alpha.
|
|
64
|
-
"@ember-data-mirror/request": "5.6.0-alpha.
|
|
65
|
-
"@ember-data-mirror/request-utils": "5.6.0-alpha.
|
|
66
|
-
"@ember-data-mirror/store": "5.6.0-alpha.
|
|
67
|
-
"@ember-data-mirror/legacy-compat": "5.6.0-alpha.
|
|
63
|
+
"@ember-data-mirror/model": "5.6.0-alpha.4",
|
|
64
|
+
"@ember-data-mirror/request": "5.6.0-alpha.4",
|
|
65
|
+
"@ember-data-mirror/request-utils": "5.6.0-alpha.4",
|
|
66
|
+
"@ember-data-mirror/store": "5.6.0-alpha.4",
|
|
67
|
+
"@ember-data-mirror/legacy-compat": "5.6.0-alpha.4",
|
|
68
68
|
"@ember/test-waiters": "^4.1.0",
|
|
69
69
|
"@glimmer/component": "^2.0.0",
|
|
70
|
-
"@warp-drive-mirror/core-types": "5.6.0-alpha.
|
|
71
|
-
"@warp-drive/internal-config": "5.6.0-alpha.
|
|
70
|
+
"@warp-drive-mirror/core-types": "5.6.0-alpha.4",
|
|
71
|
+
"@warp-drive/internal-config": "5.6.0-alpha.4",
|
|
72
72
|
"decorator-transforms": "^2.3.0",
|
|
73
73
|
"ember-source": "~6.3.0",
|
|
74
74
|
"typescript": "^5.8.3",
|
|
75
75
|
"vite": "^5.4.15"
|
|
76
76
|
},
|
|
77
|
-
"engines": {
|
|
78
|
-
"node": ">= 18.20.8"
|
|
79
|
-
},
|
|
80
77
|
"volta": {
|
|
81
78
|
"extends": "../../../../../../package.json"
|
|
82
79
|
},
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
declare module '@ember-data-mirror/serializer/-private/embedded-records-mixin' {
|
|
2
|
-
/**
|
|
3
|
-
@module @ember-data-mirror/serializer/rest
|
|
4
|
-
*/
|
|
5
2
|
/**
|
|
6
3
|
## Using Embedded Records
|
|
7
4
|
|
|
@@ -16,7 +13,7 @@ declare module '@ember-data-mirror/serializer/-private/embedded-records-mixin' {
|
|
|
16
13
|
|
|
17
14
|
Below is an example of a per-type serializer (`post` type).
|
|
18
15
|
|
|
19
|
-
```app/serializers/post.js
|
|
16
|
+
```js [app/serializers/post.js]
|
|
20
17
|
import RESTSerializer, { EmbeddedRecordsMixin } from '@ember-data-mirror/serializer/rest';
|
|
21
18
|
|
|
22
19
|
export default class PostSerializer extends RESTSerializer.extend(EmbeddedRecordsMixin) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedded-records-mixin.d.ts","sourceRoot":"","sources":["../../src/-private/embedded-records-mixin.js"],"names":[],"mappings":"AAKA
|
|
1
|
+
{"version":3,"file":"embedded-records-mixin.d.ts","sourceRoot":"","sources":["../../src/-private/embedded-records-mixin.js"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6FE;AACF,yCAghBG;kBAlnBe,qBAAqB"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
declare module '@ember-data-mirror/serializer/-private/transforms/boolean' {
|
|
2
|
-
/**
|
|
3
|
-
@module @ember-data-mirror/serializer
|
|
4
|
-
*/
|
|
5
2
|
import type { TransformName } from '@warp-drive-mirror/core-types/symbols';
|
|
6
3
|
/**
|
|
7
4
|
The `BooleanTransform` class is used to serialize and deserialize
|
|
@@ -11,7 +8,7 @@ declare module '@ember-data-mirror/serializer/-private/transforms/boolean' {
|
|
|
11
8
|
|
|
12
9
|
Usage
|
|
13
10
|
|
|
14
|
-
```app/models/user.js
|
|
11
|
+
```js [app/models/user.js]
|
|
15
12
|
import Model, { attr } from '@ember-data-mirror/model';
|
|
16
13
|
|
|
17
14
|
export default class UserModel extends Model {
|
|
@@ -25,7 +22,7 @@ declare module '@ember-data-mirror/serializer/-private/transforms/boolean' {
|
|
|
25
22
|
`false`. You can opt into allowing `null` values for
|
|
26
23
|
boolean attributes via `attr('boolean', { allowNull: true })`
|
|
27
24
|
|
|
28
|
-
```app/models/user.js
|
|
25
|
+
```js [app/models/user.js]
|
|
29
26
|
import Model, { attr } from '@ember-data-mirror/model';
|
|
30
27
|
|
|
31
28
|
export default class UserModel extends Model {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/boolean.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/boolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;IAQlF,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC;IAEnC,MAAM,CAAC,MAAM;CAGd"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
declare module '@ember-data-mirror/serializer/-private/transforms/date' {
|
|
2
|
-
/**
|
|
3
|
-
@module @ember-data-mirror/serializer
|
|
4
|
-
*/
|
|
5
2
|
import { TransformName } from '@warp-drive-mirror/core-types/symbols';
|
|
6
3
|
/**
|
|
7
4
|
The `DateTransform` class is used to serialize and deserialize
|
|
@@ -10,7 +7,7 @@ declare module '@ember-data-mirror/serializer/-private/transforms/date' {
|
|
|
10
7
|
[attr](/ember-data/release/functions/@ember-data%2Fmodel/attr) function. It uses the [`ISO 8601`](https://en.wikipedia.org/wiki/ISO_8601)
|
|
11
8
|
standard.
|
|
12
9
|
|
|
13
|
-
```app/models/score.js
|
|
10
|
+
```js [app/models/score.js]
|
|
14
11
|
import Model, { attr, belongsTo } from '@ember-data-mirror/model';
|
|
15
12
|
|
|
16
13
|
export default class ScoreModel extends Model {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/date.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/date.ts"],"names":[],"mappings":"AAAA,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,EAAG,MAAM,CAAU;IAElC,MAAM,CAAC,MAAM;CAGd"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
declare module '@ember-data-mirror/serializer/-private/transforms/number' {
|
|
2
|
-
/**
|
|
3
|
-
@module @ember-data-mirror/serializer
|
|
4
|
-
*/
|
|
5
2
|
import { TransformName } from '@warp-drive-mirror/core-types/symbols';
|
|
6
3
|
/**
|
|
7
4
|
The `NumberTransform` class is used to serialize and deserialize
|
|
@@ -11,7 +8,7 @@ declare module '@ember-data-mirror/serializer/-private/transforms/number' {
|
|
|
11
8
|
|
|
12
9
|
Usage
|
|
13
10
|
|
|
14
|
-
```app/models/score.js
|
|
11
|
+
```js [app/models/score.js]
|
|
15
12
|
import Model, { attr, belongsTo } from '@ember-data-mirror/model';
|
|
16
13
|
|
|
17
14
|
export default class ScoreModel extends Model {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/number.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/number.ts"],"names":[],"mappings":"AAAA,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,EAAG,QAAQ,CAAU;IAEpC,MAAM,CAAC,MAAM;CAGd"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
declare module '@ember-data-mirror/serializer/-private/transforms/string' {
|
|
2
|
-
/**
|
|
3
|
-
@module @ember-data-mirror/serializer
|
|
4
|
-
*/
|
|
5
2
|
import { TransformName } from '@warp-drive-mirror/core-types/symbols';
|
|
6
3
|
/**
|
|
7
4
|
The `StringTransform` class is used to serialize and deserialize
|
|
@@ -11,7 +8,7 @@ declare module '@ember-data-mirror/serializer/-private/transforms/string' {
|
|
|
11
8
|
|
|
12
9
|
Usage
|
|
13
10
|
|
|
14
|
-
```app/models/user.js
|
|
11
|
+
```js [app/models/user.js]
|
|
15
12
|
import Model, { attr, belongsTo } from '@ember-data-mirror/model';
|
|
16
13
|
|
|
17
14
|
export default class UserModel extends Model {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/string.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/string.ts"],"names":[],"mappings":"AAAA,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,EAAG,QAAQ,CAAU;IAEpC,MAAM,CAAC,MAAM;CAGd"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
declare module '@ember-data-mirror/serializer/-private/transforms/transform' {
|
|
2
|
-
/**
|
|
3
|
-
@module @ember-data-mirror/serializer
|
|
4
|
-
*/
|
|
5
2
|
import EmberObject from '@ember/object';
|
|
6
3
|
import type { LegacyAttributeField } from '@warp-drive-mirror/core-types/schema/fields';
|
|
7
4
|
/**
|
|
@@ -13,7 +10,7 @@ declare module '@ember-data-mirror/serializer/-private/transforms/transform' {
|
|
|
13
10
|
|
|
14
11
|
Example
|
|
15
12
|
|
|
16
|
-
```app/transforms/temperature.js
|
|
13
|
+
```js [app/transforms/temperature.js]
|
|
17
14
|
|
|
18
15
|
// Converts centigrade in the JSON to fahrenheit in the app
|
|
19
16
|
export default class TemperatureTransform {
|
|
@@ -33,7 +30,7 @@ declare module '@ember-data-mirror/serializer/-private/transforms/transform' {
|
|
|
33
30
|
|
|
34
31
|
Usage
|
|
35
32
|
|
|
36
|
-
```app/models/requirement.js
|
|
33
|
+
```js [app/models/requirement.js]
|
|
37
34
|
import Model, { attr } from '@ember-data-mirror/model';
|
|
38
35
|
|
|
39
36
|
export default class RequirementModel extends Model {
|
|
@@ -45,7 +42,7 @@ declare module '@ember-data-mirror/serializer/-private/transforms/transform' {
|
|
|
45
42
|
The options passed into the `attr` function when the attribute is
|
|
46
43
|
declared on the model is also available in the transform.
|
|
47
44
|
|
|
48
|
-
```app/models/post.js
|
|
45
|
+
```js [app/models/post.js]
|
|
49
46
|
import Model, { attr } from '@ember-data-mirror/model';
|
|
50
47
|
|
|
51
48
|
export default class PostModel extends Model {
|
|
@@ -60,7 +57,7 @@ declare module '@ember-data-mirror/serializer/-private/transforms/transform' {
|
|
|
60
57
|
}
|
|
61
58
|
```
|
|
62
59
|
|
|
63
|
-
```app/transforms/markdown.js
|
|
60
|
+
```js [app/transforms/markdown.js]
|
|
64
61
|
export default class MarkdownTransform {
|
|
65
62
|
serialize(deserialized, options) {
|
|
66
63
|
return deserialized.raw;
|
|
@@ -93,7 +90,6 @@ declare module '@ember-data-mirror/serializer/-private/transforms/transform' {
|
|
|
93
90
|
}
|
|
94
91
|
```
|
|
95
92
|
|
|
96
|
-
@method serialize
|
|
97
93
|
@public
|
|
98
94
|
@param deserialized The deserialized value
|
|
99
95
|
@param options hash of options passed to `attr`
|
|
@@ -111,7 +107,6 @@ declare module '@ember-data-mirror/serializer/-private/transforms/transform' {
|
|
|
111
107
|
}
|
|
112
108
|
```
|
|
113
109
|
|
|
114
|
-
@method deserialize
|
|
115
110
|
@public
|
|
116
111
|
@param serialized The serialized value
|
|
117
112
|
@param options hash of options passed to `attr`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/transform.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/-private/transforms/transform.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH;;;;;;;;;;;;;;;;EAgBE;AACF;;;;;;;;;;;;;;;;EAgBE;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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/// <reference path="./json-api.d.ts" />
|
|
2
2
|
/// <reference path="./rest.d.ts" />
|
|
3
|
-
/// <reference path="./transform.d.ts" />
|
|
4
3
|
/// <reference path="./json.d.ts" />
|
|
5
|
-
/// <reference path="
|
|
4
|
+
/// <reference path="./transform.d.ts" />
|
|
6
5
|
/// <reference path="./-private/embedded-records-mixin.d.ts" />
|
|
6
|
+
/// <reference path="./-private/utils.d.ts" />
|
|
7
7
|
/// <reference path="./-private/transforms/number.d.ts" />
|
|
8
|
-
/// <reference path="./-private/transforms/boolean.d.ts" />
|
|
9
8
|
/// <reference path="./-private/transforms/boolean.type-test.d.ts" />
|
|
10
|
-
/// <reference path="./-private/transforms/date.d.ts" />
|
|
11
9
|
/// <reference path="./-private/transforms/string.d.ts" />
|
|
10
|
+
/// <reference path="./-private/transforms/date.d.ts" />
|
|
12
11
|
/// <reference path="./-private/transforms/transform.d.ts" />
|
|
12
|
+
/// <reference path="./-private/transforms/boolean.d.ts" />
|
|
13
13
|
declare module '@ember-data-mirror/serializer' {
|
|
14
14
|
/**
|
|
15
15
|
## Overview
|
|
@@ -41,7 +41,7 @@ declare module '@ember-data-mirror/serializer' {
|
|
|
41
41
|
server API format.
|
|
42
42
|
|
|
43
43
|
To implement a serializer, export a class that conforms to the structure
|
|
44
|
-
described by
|
|
44
|
+
described by {@link MinimumSerializerInterface}
|
|
45
45
|
from the `app/serializers/` directory. An example is below.
|
|
46
46
|
|
|
47
47
|
```ts
|
|
@@ -116,15 +116,14 @@ declare module '@ember-data-mirror/serializer' {
|
|
|
116
116
|
It is recommended that apps write their own serializer to best suit the needs of their API and
|
|
117
117
|
application.
|
|
118
118
|
|
|
119
|
-
@module
|
|
120
|
-
@main @ember-data-mirror/serializer
|
|
119
|
+
@module
|
|
121
120
|
*/
|
|
122
121
|
import EmberObject from '@ember/object';
|
|
123
122
|
import type Store from '@ember-data-mirror/store';
|
|
124
123
|
import type { ModelSchema } from '@ember-data-mirror/store/types';
|
|
125
124
|
import type { EmptyResourceDocument, SingleResourceDocument } from '@warp-drive-mirror/core-types/spec/json-api-raw';
|
|
126
125
|
/**
|
|
127
|
-
> ⚠️ CAUTION you likely want the docs for
|
|
126
|
+
> ⚠️ CAUTION you likely want the docs for {@link MinimumSerializerInterface}
|
|
128
127
|
> as extending this abstract class is unnecessary.
|
|
129
128
|
|
|
130
129
|
`Serializer` is an abstract base class that you may override in your
|
|
@@ -143,7 +142,6 @@ declare module '@ember-data-mirror/serializer' {
|
|
|
143
142
|
|
|
144
143
|
@class Serializer
|
|
145
144
|
@public
|
|
146
|
-
@extends Ember.EmberObject
|
|
147
145
|
*/
|
|
148
146
|
export default class extends EmberObject {
|
|
149
147
|
store: Store;
|
|
@@ -194,7 +192,6 @@ declare module '@ember-data-mirror/serializer' {
|
|
|
194
192
|
```
|
|
195
193
|
|
|
196
194
|
@since 1.13.0
|
|
197
|
-
@method normalizeResponse
|
|
198
195
|
@public
|
|
199
196
|
@param {Store} store
|
|
200
197
|
@param {Model} primaryModelClass
|
|
@@ -238,7 +235,6 @@ declare module '@ember-data-mirror/serializer' {
|
|
|
238
235
|
});
|
|
239
236
|
```
|
|
240
237
|
|
|
241
|
-
@method serialize
|
|
242
238
|
@public
|
|
243
239
|
@param {Snapshot} snapshot
|
|
244
240
|
@param {Object} [options]
|
|
@@ -265,7 +261,6 @@ declare module '@ember-data-mirror/serializer' {
|
|
|
265
261
|
})
|
|
266
262
|
```
|
|
267
263
|
|
|
268
|
-
@method normalize
|
|
269
264
|
@public
|
|
270
265
|
@param {Model} typeClass
|
|
271
266
|
@param {Object} hash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0GE;AAEF,OAAO,WAAW,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAI9G;;;;;;;;;;;;;;;;;;;;EAoBE;AAEF,MAAM,CAAC,OAAO,MAAO,SAAQ,WAAW;IACrB,KAAK,EAAE,KAAK,CAAC;IAC9B;;;;;;;;;;;;;;;;;;;;MAoBE;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiCE;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuCE;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;MAyBE;IACF,SAAS,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,sBAAsB,GAAG,qBAAqB;CAGlH"}
|
|
@@ -19,7 +19,7 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
19
19
|
|
|
20
20
|
This serializer normalizes a JSON API payload that looks like:
|
|
21
21
|
|
|
22
|
-
```app/models/player.js
|
|
22
|
+
```js [app/models/player.js]
|
|
23
23
|
import Model, { attr, belongsTo } from '@ember-data-mirror/model';
|
|
24
24
|
|
|
25
25
|
export default class Player extends Model {
|
|
@@ -30,7 +30,7 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
30
30
|
}
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
```app/models/club.js
|
|
33
|
+
```js [app/models/club.js]
|
|
34
34
|
import Model, { attr, hasMany } from '@ember-data-mirror/model';
|
|
35
35
|
|
|
36
36
|
export default class Club extends Model {
|
|
@@ -95,7 +95,7 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
95
95
|
below shows how this could be done using `normalizeArrayResponse` and
|
|
96
96
|
`extractRelationship`.
|
|
97
97
|
|
|
98
|
-
```app/serializers/application.js
|
|
98
|
+
```js [app/serializers/application.js]
|
|
99
99
|
import JSONAPISerializer from '@ember-data-mirror/serializer/json-api';
|
|
100
100
|
|
|
101
101
|
export default class ApplicationSerializer extends JSONAPISerializer {
|
|
@@ -119,11 +119,9 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
119
119
|
}
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
-
@main @ember-data-mirror/serializer/json-api
|
|
123
122
|
@since 1.13.0
|
|
124
123
|
@class JSONAPISerializer
|
|
125
124
|
@public
|
|
126
|
-
@extends JSONSerializer
|
|
127
125
|
*/
|
|
128
126
|
const JSONAPISerializer: Readonly<Readonly<typeof import("@ember-data-mirror/serializer").default> & (new (owner?: import("@ember/-internals/owner").default) => import(".").default) & {
|
|
129
127
|
primaryKey: string;
|
|
@@ -171,21 +169,18 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
171
169
|
transformFor(attributeType: string, skipAssertion: boolean): Transform;
|
|
172
170
|
}> & (new (owner?: import("@ember-data-mirror/serializer/@ember/-internals/owner").default) => import(".").default) & {
|
|
173
171
|
/**
|
|
174
|
-
@method _normalizeDocumentHelper
|
|
175
172
|
@param {Object} documentHash
|
|
176
173
|
@return {Object}
|
|
177
174
|
@private
|
|
178
175
|
*/
|
|
179
176
|
_normalizeDocumentHelper(documentHash: Object): Object;
|
|
180
177
|
/**
|
|
181
|
-
@method _normalizeRelationshipDataHelper
|
|
182
178
|
@param {Object} relationshipDataHash
|
|
183
179
|
@return {Object}
|
|
184
180
|
@private
|
|
185
181
|
*/
|
|
186
182
|
_normalizeRelationshipDataHelper(relationshipDataHash: Object): Object;
|
|
187
183
|
/**
|
|
188
|
-
@method _normalizeResourceHelper
|
|
189
184
|
@param {Object} resourceHash
|
|
190
185
|
@return {Object}
|
|
191
186
|
@private
|
|
@@ -194,14 +189,12 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
194
189
|
/**
|
|
195
190
|
Normalize some data and push it into the store.
|
|
196
191
|
|
|
197
|
-
@method pushPayload
|
|
198
192
|
@public
|
|
199
193
|
@param {Store} store
|
|
200
194
|
@param {Object} payload
|
|
201
195
|
*/
|
|
202
196
|
pushPayload(store: Store, payload: Object): void;
|
|
203
197
|
/**
|
|
204
|
-
@method _normalizeResponse
|
|
205
198
|
@param {Store} store
|
|
206
199
|
@param {Model} primaryModelClass
|
|
207
200
|
@param {Object} payload
|
|
@@ -219,7 +212,6 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
219
212
|
|
|
220
213
|
http://jsonapi.org/format/#document-resource-object-relationships
|
|
221
214
|
|
|
222
|
-
@method extractRelationship
|
|
223
215
|
@public
|
|
224
216
|
@param {Object} relationshipHash
|
|
225
217
|
@return {Object}
|
|
@@ -230,7 +222,6 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
230
222
|
|
|
231
223
|
http://jsonapi.org/format/#document-resource-object-relationships
|
|
232
224
|
|
|
233
|
-
@method extractRelationships
|
|
234
225
|
@public
|
|
235
226
|
@param {Object} modelClass
|
|
236
227
|
@param {Object} resourceHash
|
|
@@ -238,7 +229,6 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
238
229
|
*/
|
|
239
230
|
extractRelationships(modelClass: Object, resourceHash: Object): Object;
|
|
240
231
|
/**
|
|
241
|
-
@method _extractType
|
|
242
232
|
@param {Model} modelClass
|
|
243
233
|
@param {Object} resourceHash
|
|
244
234
|
@return {String}
|
|
@@ -252,7 +242,6 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
252
242
|
For example the key `posts` would be converted to `post` and the
|
|
253
243
|
key `studentAssesments` would be converted to `student-assesment`.
|
|
254
244
|
|
|
255
|
-
@method modelNameFromPayloadKey
|
|
256
245
|
@public
|
|
257
246
|
@param {String} key
|
|
258
247
|
@return {String} the model's modelName
|
|
@@ -264,7 +253,6 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
264
253
|
For example `post` would be converted to `posts` and
|
|
265
254
|
`student-assesment` would be converted to `student-assesments`.
|
|
266
255
|
|
|
267
|
-
@method payloadKeyFromModelName
|
|
268
256
|
@public
|
|
269
257
|
@param {String} modelName
|
|
270
258
|
@return {String}
|
|
@@ -289,7 +277,7 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
289
277
|
|
|
290
278
|
Example
|
|
291
279
|
|
|
292
|
-
```app/serializers/application.js
|
|
280
|
+
```js [app/serializers/application.js]
|
|
293
281
|
import JSONAPISerializer from '@ember-data-mirror/serializer/json-api';
|
|
294
282
|
import { dasherize } from '<app-name>/utils/string-utils';
|
|
295
283
|
|
|
@@ -300,7 +288,6 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
300
288
|
}
|
|
301
289
|
```
|
|
302
290
|
|
|
303
|
-
@method keyForAttribute
|
|
304
291
|
@public
|
|
305
292
|
@param {String} key
|
|
306
293
|
@param {String} method
|
|
@@ -318,7 +305,7 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
318
305
|
|
|
319
306
|
Example
|
|
320
307
|
|
|
321
|
-
```app/serializers/post.js
|
|
308
|
+
```js [app/serializers/post.js]
|
|
322
309
|
import JSONAPISerializer from '@ember-data-mirror/serializer/json-api';
|
|
323
310
|
import { underscore } from '<app-name>/utils/string-utils';
|
|
324
311
|
|
|
@@ -328,7 +315,6 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
328
315
|
}
|
|
329
316
|
}
|
|
330
317
|
```
|
|
331
|
-
@method keyForRelationship
|
|
332
318
|
@public
|
|
333
319
|
@param {String} key
|
|
334
320
|
@param {String} typeClass
|
|
@@ -342,7 +328,7 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
342
328
|
|
|
343
329
|
For example, consider this model:
|
|
344
330
|
|
|
345
|
-
```app/models/comment.js
|
|
331
|
+
```js [app/models/comment.js]
|
|
346
332
|
import Model, { attr, belongsTo } from '@ember-data-mirror/model';
|
|
347
333
|
|
|
348
334
|
export default class CommentModel extends Model {
|
|
@@ -407,7 +393,7 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
407
393
|
consider authoring your own adapter and serializer instead of extending
|
|
408
394
|
this class.
|
|
409
395
|
|
|
410
|
-
```app/serializers/post.js
|
|
396
|
+
```js [app/serializers/post.js]
|
|
411
397
|
import JSONAPISerializer from '@ember-data-mirror/serializer/json-api';
|
|
412
398
|
|
|
413
399
|
export default class PostSerializer extends JSONAPISerializer {
|
|
@@ -433,7 +419,7 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
433
419
|
application, you'll probably want to use `eachAttribute`
|
|
434
420
|
and `eachRelationship` on the record.
|
|
435
421
|
|
|
436
|
-
```app/serializers/application.js
|
|
422
|
+
```js [app/serializers/application.js]
|
|
437
423
|
import JSONAPISerializer from '@ember-data-mirror/serializer/json-api';
|
|
438
424
|
import { underscore, singularize } from '<app-name>/utils/string-utils';
|
|
439
425
|
|
|
@@ -484,7 +470,7 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
484
470
|
you can call `super.serialize` first and make the tweaks
|
|
485
471
|
on the returned object.
|
|
486
472
|
|
|
487
|
-
```app/serializers/post.js
|
|
473
|
+
```js [app/serializers/post.js]
|
|
488
474
|
import JSONAPISerializer from '@ember-data-mirror/serializer/json-api';
|
|
489
475
|
|
|
490
476
|
export default class PostSerializer extends JSONAPISerializer {
|
|
@@ -499,7 +485,6 @@ declare module '@ember-data-mirror/serializer/json-api' {
|
|
|
499
485
|
}
|
|
500
486
|
```
|
|
501
487
|
|
|
502
|
-
@method serialize
|
|
503
488
|
@public
|
|
504
489
|
@param {Snapshot} snapshot
|
|
505
490
|
@param {Object} options
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-api.d.ts","sourceRoot":"","sources":["../src/json-api.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"json-api.d.ts","sourceRoot":"","sources":["../src/json-api.js"],"names":[],"mappings":";AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0HE;AACF;;;+BAyFI,KAAA;6BAkCmQ,KAAK,qBAAoB,KAAK;uCA+CxR,KAAK,qBAAoB,KAAK;wCAQiB,KAAK,qBAEzD,KAAH;oCAMyP,KAAK,qBAAqB,KAAI;0CAsBvR,KAAK,qBAAoB,KAAK;wCAeY,KAAK,qBAEhD,KAAC;qCAgBiB,KAAK,qBAClB,KAAK;kCAcO,KAAK,qBAAoB,KAAK;yCAgBhC,KAAK,qBACpB,KAAE;yCAgBE,KAAK,qBA8BX,KA3BG;yCAYmC,KAAK,qBAAoB,KAChE;iCAmBwB,KAAI,qBAAoB,KAAK;mCAoBlD,KACH,qBACO,KAAE;kCAoBU,KAAI,qBAAoB,KAAK;8BAWW,KAAK,qBACzD,KAAK;;;;;;;;;;;;;qCAiP0pJ,QAAQ,6BAA+C,kBAAkB;wBAAy4I,QAAQ;+CAAksD,KAAK,YAAwB,QAAQ;iCAA2zB,QAAQ;iCAAu4C,QAAQ;+BAA87C,QAAQ;;uBAAg4E,KAAK,cAAoB,KAAK;yBAA66E,KAAK,aAAoB,KAAK;;;;iEAAw7G,SAAS;;IA1mBxytB;;;;MAIE;2CAHQ,MAAM,GACL,MAAM;IAkCjB;;;;MAIE;2DAHQ,MAAM,GACL,MAAM;IASjB;;;;MAIE;2CAHQ,MAAM,GACL,MAAM;IAuBjB;;;;;;MAME;uBAFQ,KAAK,WACL,MAAM;IAOhB;;;;;;;;;MASE;8BARQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,2CAGZ,MAAM;;;IA0CjB;;;;;;;;MAQE;0CAFS,MAAM,GACL,MAAM;IAmBlB;;;;;;;;;MASE;qCAHS,MAAM,gBACN,MAAM,GACL,MAAM;IA6BlB;;;;;MAKE;6BAJQ,KAAK,gBACL,MAAM;IAQhB;;;;;;;;;;MAUE;;IAKF;;;;;;;;;MASE;;;;;;;;;;IA8BF;;;;;;;;;;;;;;;;;;;;;;;;;;MA0BE;;IAKF;;;;;;;;;;;;;;;;;;;;;;;;;;MA0BE;;IAKF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuKE;wBAHQ,QAAQ,WACR,MAAM,mBACL,MAAM;;;;EA+FhB"}
|