@ember-data/serializer 5.4.0-alpha.32 → 5.4.0-alpha.34

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ember-data/serializer",
3
- "version": "5.4.0-alpha.32",
3
+ "version": "5.4.0-alpha.34",
4
4
  "description": "Provides Legacy JSON, JSON:API and REST Implementations of the Serializer Interface for use with @ember-data/store",
5
5
  "keywords": [
6
6
  "ember-addon"
@@ -30,7 +30,7 @@
30
30
  ],
31
31
  "peerDependencies": {
32
32
  "@ember/string": "^3.1.1",
33
- "@warp-drive/core-types": "0.0.0-alpha.18",
33
+ "@warp-drive/core-types": "0.0.0-alpha.20",
34
34
  "ember-inflector": "^4.0.2"
35
35
  },
36
36
  "dependenciesMeta": {
@@ -57,7 +57,7 @@
57
57
  }
58
58
  },
59
59
  "dependencies": {
60
- "@ember-data/private-build-infra": "5.4.0-alpha.32",
60
+ "@ember-data/private-build-infra": "5.4.0-alpha.34",
61
61
  "@embroider/macros": "^1.13.5",
62
62
  "ember-cli-babel": "^8.2.0",
63
63
  "ember-cli-test-info": "^1.0.0",
@@ -74,16 +74,16 @@
74
74
  "@babel/preset-env": "^7.23.9",
75
75
  "@babel/preset-typescript": "^7.23.3",
76
76
  "@babel/runtime": "^7.23.9",
77
- "@ember-data/request": "5.4.0-alpha.32",
78
- "@ember-data/store": "5.4.0-alpha.32",
79
- "@ember-data/tracking": "5.4.0-alpha.32",
77
+ "@ember-data/request": "5.4.0-alpha.34",
78
+ "@ember-data/store": "5.4.0-alpha.34",
79
+ "@ember-data/tracking": "5.4.0-alpha.34",
80
80
  "@ember/string": "^3.1.1",
81
81
  "@embroider/addon-dev": "^4.1.2",
82
82
  "@glimmer/component": "^1.1.2",
83
83
  "@rollup/plugin-babel": "^6.0.4",
84
84
  "@rollup/plugin-node-resolve": "^15.2.3",
85
- "@warp-drive/core-types": "0.0.0-alpha.18",
86
- "@warp-drive/internal-config": "5.4.0-alpha.32",
85
+ "@warp-drive/core-types": "0.0.0-alpha.20",
86
+ "@warp-drive/internal-config": "5.4.0-alpha.34",
87
87
  "ember-inflector": "^4.0.2",
88
88
  "ember-source": "~5.6.0",
89
89
  "rollup": "^4.9.6",
@@ -1,5 +1,7 @@
1
- /// <reference types="ember-source/types" />
2
- declare const _default: Mixin;
3
- export default _default;
4
- import Mixin from '@ember/object/mixin';
1
+ declare module '@ember-data/serializer/-private/embedded-records-mixin' {
2
+ /// <reference types="ember-source/types" />
3
+ declare const _default: Mixin;
4
+ export default _default;
5
+ import Mixin from '@ember/object/mixin';
6
+ }
5
7
  //# sourceMappingURL=embedded-records-mixin.d.ts.map
@@ -1,48 +1,50 @@
1
- /**
2
- @module @ember-data/serializer
3
- */
4
- /**
5
- The `BooleanTransform` class is used to serialize and deserialize
6
- boolean attributes on Ember Data record objects. This transform is
7
- used when `boolean` is passed as the type parameter to the
8
- [attr](/ember-data/release/functions/@ember-data%2Fmodel/attr) function.
9
-
10
- Usage
11
-
12
- ```app/models/user.js
13
- import Model, { attr } from '@ember-data/model';
14
-
15
- export default class UserModel extends Model {
16
- @attr('boolean') isAdmin;
17
- @attr('string') name;
18
- @attr('string') email;
1
+ declare module '@ember-data/serializer/-private/transforms/boolean' {
2
+ /**
3
+ @module @ember-data/serializer
4
+ */
5
+ /**
6
+ The `BooleanTransform` class is used to serialize and deserialize
7
+ boolean attributes on Ember Data record objects. This transform is
8
+ used when `boolean` is passed as the type parameter to the
9
+ [attr](/ember-data/release/functions/@ember-data%2Fmodel/attr) function.
10
+
11
+ Usage
12
+
13
+ ```app/models/user.js
14
+ import Model, { attr } from '@ember-data/model';
15
+
16
+ export default class UserModel extends Model {
17
+ @attr('boolean') isAdmin;
18
+ @attr('string') name;
19
+ @attr('string') email;
20
+ }
21
+ ```
22
+
23
+ By default, the boolean transform only allows for values of `true` or
24
+ `false`. You can opt into allowing `null` values for
25
+ boolean attributes via `attr('boolean', { allowNull: true })`
26
+
27
+ ```app/models/user.js
28
+ import Model, { attr } from '@ember-data/model';
29
+
30
+ export default class UserModel extends Model {
31
+ @attr('string') email;
32
+ @attr('string') username;
33
+ @attr('boolean', { allowNull: true }) wantsWeeklyEmail;
34
+ }
35
+ ```
36
+
37
+ @class BooleanTransform
38
+ @public
39
+ */
40
+ export default class BooleanTransform {
41
+ deserialize(serialized: boolean | null | number | string, options?: {
42
+ allowNull?: boolean;
43
+ }): boolean | null;
44
+ serialize(deserialized: boolean | null, options?: {
45
+ allowNull?: boolean;
46
+ }): boolean | null;
47
+ static create(): BooleanTransform;
19
48
  }
20
- ```
21
-
22
- By default, the boolean transform only allows for values of `true` or
23
- `false`. You can opt into allowing `null` values for
24
- boolean attributes via `attr('boolean', { allowNull: true })`
25
-
26
- ```app/models/user.js
27
- import Model, { attr } from '@ember-data/model';
28
-
29
- export default class UserModel extends Model {
30
- @attr('string') email;
31
- @attr('string') username;
32
- @attr('boolean', { allowNull: true }) wantsWeeklyEmail;
33
- }
34
- ```
35
-
36
- @class BooleanTransform
37
- @public
38
- */
39
- export default class BooleanTransform {
40
- deserialize(serialized: boolean | null | number | string, options?: {
41
- allowNull?: boolean;
42
- }): boolean | null;
43
- serialize(deserialized: boolean | null, options?: {
44
- allowNull?: boolean;
45
- }): boolean | null;
46
- static create(): BooleanTransform;
47
49
  }
48
50
  //# sourceMappingURL=boolean.d.ts.map
@@ -1,29 +1,31 @@
1
- /**
2
- @module @ember-data/serializer
3
- */
4
- /**
5
- The `DateTransform` class is used to serialize and deserialize
6
- date attributes on Ember Data record objects. This transform is used
7
- when `date` is passed as the type parameter to the
8
- [attr](/ember-data/release/functions/@ember-data%2Fmodel/attr) function. It uses the [`ISO 8601`](https://en.wikipedia.org/wiki/ISO_8601)
9
- standard.
10
-
11
- ```app/models/score.js
12
- import Model, { attr, belongsTo } from '@ember-data/model';
13
-
14
- export default class ScoreModel extends Model {
15
- @attr('number') value;
16
- @belongsTo('player') player;
17
- @attr('date') date;
1
+ declare module '@ember-data/serializer/-private/transforms/date' {
2
+ /**
3
+ @module @ember-data/serializer
4
+ */
5
+ /**
6
+ The `DateTransform` class is used to serialize and deserialize
7
+ date attributes on Ember Data record objects. This transform is used
8
+ when `date` is passed as the type parameter to the
9
+ [attr](/ember-data/release/functions/@ember-data%2Fmodel/attr) function. It uses the [`ISO 8601`](https://en.wikipedia.org/wiki/ISO_8601)
10
+ standard.
11
+
12
+ ```app/models/score.js
13
+ import Model, { attr, belongsTo } from '@ember-data/model';
14
+
15
+ export default class ScoreModel extends Model {
16
+ @attr('number') value;
17
+ @belongsTo('player') player;
18
+ @attr('date') date;
19
+ }
20
+ ```
21
+
22
+ @class DateTransform
23
+ @public
24
+ */
25
+ export default class DateTransform {
26
+ deserialize(serialized: string | number | null, _options?: Record<string, unknown>): Date | null;
27
+ serialize(date: Date, _options?: Record<string, unknown>): string | null;
28
+ static create(): DateTransform;
18
29
  }
19
- ```
20
-
21
- @class DateTransform
22
- @public
23
- */
24
- export default class DateTransform {
25
- deserialize(serialized: string | number | null, _options?: Record<string, unknown>): Date | null;
26
- serialize(date: Date, _options?: Record<string, unknown>): string | null;
27
- static create(): DateTransform;
28
30
  }
29
31
  //# sourceMappingURL=date.d.ts.map
@@ -1,30 +1,32 @@
1
- /**
2
- @module @ember-data/serializer
3
- */
4
- /**
5
- The `NumberTransform` class is used to serialize and deserialize
6
- numeric attributes on Ember Data record objects. This transform is
7
- used when `number` is passed as the type parameter to the
8
- [attr](/ember-data/release/functions/@ember-data%2Fmodel/attr) function.
9
-
10
- Usage
11
-
12
- ```app/models/score.js
13
- import Model, { attr, belongsTo } from '@ember-data/model';
14
-
15
- export default class ScoreModel extends Model {
16
- @attr('number') value;
17
- @belongsTo('player') player;
18
- @attr('date') date;
1
+ declare module '@ember-data/serializer/-private/transforms/number' {
2
+ /**
3
+ @module @ember-data/serializer
4
+ */
5
+ /**
6
+ The `NumberTransform` class is used to serialize and deserialize
7
+ numeric attributes on Ember Data record objects. This transform is
8
+ used when `number` is passed as the type parameter to the
9
+ [attr](/ember-data/release/functions/@ember-data%2Fmodel/attr) function.
10
+
11
+ Usage
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 NumberTransform
24
+ @public
25
+ */
26
+ export default class NumberTransform {
27
+ deserialize(serialized: string | number | null | undefined, _options?: Record<string, unknown>): number | null;
28
+ serialize(deserialized: string | number | null | undefined, _options?: Record<string, unknown>): number | null;
29
+ static create(): NumberTransform;
19
30
  }
20
- ```
21
-
22
- @class NumberTransform
23
- @public
24
- */
25
- export default class NumberTransform {
26
- deserialize(serialized: string | number | null | undefined, _options?: Record<string, unknown>): number | null;
27
- serialize(deserialized: string | number | null | undefined, _options?: Record<string, unknown>): number | null;
28
- static create(): NumberTransform;
29
31
  }
30
32
  //# sourceMappingURL=number.d.ts.map
@@ -1,30 +1,32 @@
1
- /**
2
- @module @ember-data/serializer
3
- */
4
- /**
5
- The `StringTransform` class is used to serialize and deserialize
6
- string attributes on Ember Data record objects. This transform is
7
- used when `string` is passed as the type parameter to the
8
- [attr](/ember-data/release/functions/@ember-data%2Fmodel/attr) function.
9
-
10
- Usage
11
-
12
- ```app/models/user.js
13
- import Model, { attr, belongsTo } from '@ember-data/model';
14
-
15
- export default class UserModel extends Model {
16
- @attr('boolean') isAdmin;
17
- @attr('string') name;
18
- @attr('string') email;
1
+ declare module '@ember-data/serializer/-private/transforms/string' {
2
+ /**
3
+ @module @ember-data/serializer
4
+ */
5
+ /**
6
+ The `StringTransform` class is used to serialize and deserialize
7
+ string attributes on Ember Data record objects. This transform is
8
+ used when `string` is passed as the type parameter to the
9
+ [attr](/ember-data/release/functions/@ember-data%2Fmodel/attr) function.
10
+
11
+ Usage
12
+
13
+ ```app/models/user.js
14
+ import Model, { attr, belongsTo } from '@ember-data/model';
15
+
16
+ export default class UserModel extends Model {
17
+ @attr('boolean') isAdmin;
18
+ @attr('string') name;
19
+ @attr('string') email;
20
+ }
21
+ ```
22
+
23
+ @class StringTransform
24
+ @public
25
+ */
26
+ export default class StringTransform {
27
+ deserialize(serialized: unknown, _options?: Record<string, unknown>): string | null;
28
+ serialize(deserialized: unknown, _options?: Record<string, unknown>): string | null;
29
+ static create(): StringTransform;
19
30
  }
20
- ```
21
-
22
- @class StringTransform
23
- @public
24
- */
25
- export default class StringTransform {
26
- deserialize(serialized: unknown, _options?: Record<string, unknown>): string | null;
27
- serialize(deserialized: unknown, _options?: Record<string, unknown>): string | null;
28
- static create(): StringTransform;
29
31
  }
30
32
  //# sourceMappingURL=string.d.ts.map
@@ -1,126 +1,128 @@
1
- /// <reference types="ember-source/types" />
2
- /**
3
- @module @ember-data/serializer
4
- */
5
- import EmberObject from '@ember/object';
6
- import type { AttributeSchema } from '@warp-drive/core-types/schema';
7
- /**
8
- The `Transform` class is used to serialize and deserialize model
9
- attributes when they are saved or loaded from an
10
- adapter. Subclassing `Transform` is useful for creating custom
11
- attributes. All subclasses of `Transform` must implement a
12
- `serialize` and a `deserialize` method.
13
-
14
- Example
15
-
16
- ```app/transforms/temperature.js
17
-
18
- // Converts centigrade in the JSON to fahrenheit in the app
19
- export default class TemperatureTransform {
20
- deserialize(serialized, options) {
21
- return (serialized * 1.8) + 32;
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 { AttributeSchema } from '@warp-drive/core-types/schema';
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
+ }
22
32
  }
23
-
24
- serialize(deserialized, options) {
25
- return (deserialized - 32) / 1.8;
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;
26
43
  }
27
-
28
- static create() {
29
- return new this();
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;
30
61
  }
31
- }
32
- ```
33
-
34
- Usage
35
-
36
- ```app/models/requirement.js
37
- import Model, { attr } from '@ember-data/model';
38
-
39
- export default class RequirementModel extends Model {
40
- @attr('string') name;
41
- @attr('temperature') temperature;
42
- }
43
- ```
44
-
45
- The options passed into the `attr` function when the attribute is
46
- declared on the model is also available in the transform.
47
-
48
- ```app/models/post.js
49
- import Model, { attr } from '@ember-data/model';
50
-
51
- export default class PostModel extends Model {
52
- @attr('string') title;
53
- @attr('markdown', {
54
- markdown: {
55
- gfm: false,
56
- sanitize: true
62
+ ```
63
+
64
+ ```app/transforms/markdown.js
65
+ export default class MarkdownTransform {
66
+ serialize(deserialized, options) {
67
+ return deserialized.raw;
57
68
  }
58
- })
59
- markdown;
60
- }
61
- ```
62
-
63
- ```app/transforms/markdown.js
64
- export default class MarkdownTransform {
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
65
92
  serialize(deserialized, options) {
66
- return deserialized.raw;
93
+ return deserialized ? null : Number(deserialized);
67
94
  }
68
-
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
69
110
  deserialize(serialized, options) {
70
- let markdownOptions = options.markdown || {};
71
-
72
- return marked(serialized, markdownOptions);
111
+ return empty(serialized) ? null : Number(serialized);
73
112
  }
74
-
75
- static create() {
76
- return new this();
77
- }
78
- }
79
- ```
80
-
81
- @class Transform
82
- @public
83
- */
84
- /**
85
- When given a deserialized value from a record attribute this
86
- method must return the serialized value.
87
-
88
- Example
89
-
90
- ```javascript
91
- serialize(deserialized, options) {
92
- return deserialized ? null : Number(deserialized);
93
- }
94
- ```
95
-
96
- @method serialize
97
- @public
98
- @param deserialized The deserialized value
99
- @param options hash of options passed to `attr`
100
- @return The serialized value
101
- */
102
- /**
103
- When given a serialized value from a JSON object this method must
104
- return the deserialized value for the record attribute.
105
-
106
- Example
107
-
108
- ```javascript
109
- deserialize(serialized, options) {
110
- return empty(serialized) ? null : Number(serialized);
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
+ interface Transform {
122
+ serialize(value: unknown, options: AttributeSchema['options']): unknown;
123
+ deserialize(value: unknown, options: AttributeSchema['options']): unknown;
111
124
  }
112
- ```
113
-
114
- @method deserialize
115
- @public
116
- @param serialized The serialized value
117
- @param options hash of options passed to `attr`
118
- @return The deserialized value
119
- */
120
- interface Transform {
121
- serialize(value: unknown, options: AttributeSchema['options']): unknown;
122
- deserialize(value: unknown, options: AttributeSchema['options']): unknown;
125
+ declare const Transform: typeof EmberObject;
126
+ export default Transform;
123
127
  }
124
- declare const Transform: typeof EmberObject;
125
- export default Transform;
126
128
  //# sourceMappingURL=transform.d.ts.map
@@ -1,4 +1,6 @@
1
- type Coercable = string | number | boolean | null | undefined | symbol;
2
- export declare function coerceId(id: Coercable): string | null;
3
- export {};
1
+ declare module '@ember-data/serializer/-private/utils' {
2
+ type Coercable = string | number | boolean | null | undefined | symbol;
3
+ export declare function coerceId(id: Coercable): string | null;
4
+ export {};
5
+ }
4
6
  //# sourceMappingURL=utils.d.ts.map
@@ -1,11 +1,13 @@
1
- /**
2
- @module @ember-data/serializer
3
- */
4
- export { default as EmbeddedRecordsMixin } from './-private/embedded-records-mixin';
5
- export { default as Transform } from './-private/transforms/transform';
6
- export { default as BooleanTransform } from './-private/transforms/boolean';
7
- export { default as DateTransform } from './-private/transforms/date';
8
- export { default as NumberTransform } from './-private/transforms/number';
9
- export { default as StringTransform } from './-private/transforms/string';
10
- export { coerceId } from './-private/utils';
1
+ declare module '@ember-data/serializer/-private' {
2
+ /**
3
+ @module @ember-data/serializer
4
+ */
5
+ export { default as EmbeddedRecordsMixin } from '@ember-data/serializer/-private/embedded-records-mixin';
6
+ export { default as Transform } from '@ember-data/serializer/-private/transforms/transform';
7
+ export { default as BooleanTransform } from '@ember-data/serializer/-private/transforms/boolean';
8
+ export { default as DateTransform } from '@ember-data/serializer/-private/transforms/date';
9
+ export { default as NumberTransform } from '@ember-data/serializer/-private/transforms/number';
10
+ export { default as StringTransform } from '@ember-data/serializer/-private/transforms/string';
11
+ export { coerceId } from '@ember-data/serializer/-private/utils';
12
+ }
11
13
  //# sourceMappingURL=-private.d.ts.map