@ember-data-mirror/serializer 5.6.0-alpha.2 → 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
|
@@ -21,7 +21,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
21
21
|
|
|
22
22
|
For example, given the following `User` model and JSON payload:
|
|
23
23
|
|
|
24
|
-
```app/models/user.js
|
|
24
|
+
```js [app/models/user.js]
|
|
25
25
|
import Model, { attr, belongsTo, hasMany } from '@ember-data-mirror/model';
|
|
26
26
|
|
|
27
27
|
export default class UserModel extends Model {
|
|
@@ -72,10 +72,8 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
72
72
|
- `normalize` delegates to these methods to
|
|
73
73
|
turn the record payload into the JSON API format.
|
|
74
74
|
|
|
75
|
-
@main @ember-data-mirror/serializer/json
|
|
76
75
|
@class JSONSerializer
|
|
77
76
|
@public
|
|
78
|
-
@extends Serializer
|
|
79
77
|
*/
|
|
80
78
|
const JSONSerializer: Readonly<typeof Serializer> & (new (owner?: import("@ember/-internals/owner").default) => Serializer) & {
|
|
81
79
|
/**
|
|
@@ -88,7 +86,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
88
86
|
|
|
89
87
|
Example
|
|
90
88
|
|
|
91
|
-
```app/serializers/application.js
|
|
89
|
+
```js [app/serializers/application.js]
|
|
92
90
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
93
91
|
|
|
94
92
|
export default class ApplicationSerializer extends JSONSerializer {
|
|
@@ -111,7 +109,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
111
109
|
|
|
112
110
|
Example
|
|
113
111
|
|
|
114
|
-
```app/models/person.js
|
|
112
|
+
```js [app/models/person.js]
|
|
115
113
|
import Model, { attr } from '@ember-data-mirror/model';
|
|
116
114
|
|
|
117
115
|
export default class PersonModel extends Model {
|
|
@@ -122,7 +120,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
122
120
|
}
|
|
123
121
|
```
|
|
124
122
|
|
|
125
|
-
```app/serializers/person.js
|
|
123
|
+
```js [app/serializers/person.js]
|
|
126
124
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
127
125
|
|
|
128
126
|
export default class PersonSerializer extends JSONSerializer {
|
|
@@ -138,7 +136,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
138
136
|
|
|
139
137
|
Example
|
|
140
138
|
|
|
141
|
-
```app/serializers/person.js
|
|
139
|
+
```js [app/serializers/person.js]
|
|
142
140
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
143
141
|
|
|
144
142
|
export default class PostSerializer extends JSONSerializer {
|
|
@@ -177,7 +175,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
177
175
|
JSON object. This method is typically called after the
|
|
178
176
|
serializer's `normalize` method.
|
|
179
177
|
|
|
180
|
-
@method applyTransforms
|
|
181
178
|
@private
|
|
182
179
|
@param {Model} typeClass
|
|
183
180
|
@param {Object} data The data to transform
|
|
@@ -211,7 +208,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
211
208
|
```
|
|
212
209
|
|
|
213
210
|
@since 1.13.0
|
|
214
|
-
@method normalizeResponse
|
|
215
211
|
@public
|
|
216
212
|
@param {Store} store
|
|
217
213
|
@param {Model} primaryModelClass
|
|
@@ -226,7 +222,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
226
222
|
type of request is `findRecord`
|
|
227
223
|
|
|
228
224
|
@since 1.13.0
|
|
229
|
-
@method normalizeFindRecordResponse
|
|
230
225
|
@public
|
|
231
226
|
@param {Store} store
|
|
232
227
|
@param {Model} primaryModelClass
|
|
@@ -241,7 +236,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
241
236
|
type of request is `queryRecord`
|
|
242
237
|
|
|
243
238
|
@since 1.13.0
|
|
244
|
-
@method normalizeQueryRecordResponse
|
|
245
239
|
@public
|
|
246
240
|
@param {Store} store
|
|
247
241
|
@param {Model} primaryModelClass
|
|
@@ -256,7 +250,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
256
250
|
type of request is `findAll`
|
|
257
251
|
|
|
258
252
|
@since 1.13.0
|
|
259
|
-
@method normalizeFindAllResponse
|
|
260
253
|
@public
|
|
261
254
|
@param {Store} store
|
|
262
255
|
@param {Model} primaryModelClass
|
|
@@ -271,7 +264,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
271
264
|
type of request is `findBelongsTo`
|
|
272
265
|
|
|
273
266
|
@since 1.13.0
|
|
274
|
-
@method normalizeFindBelongsToResponse
|
|
275
267
|
@public
|
|
276
268
|
@param {Store} store
|
|
277
269
|
@param {Model} primaryModelClass
|
|
@@ -286,7 +278,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
286
278
|
type of request is `findHasMany`
|
|
287
279
|
|
|
288
280
|
@since 1.13.0
|
|
289
|
-
@method normalizeFindHasManyResponse
|
|
290
281
|
@public
|
|
291
282
|
@param {Store} store
|
|
292
283
|
@param {Model} primaryModelClass
|
|
@@ -301,7 +292,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
301
292
|
type of request is `findMany`
|
|
302
293
|
|
|
303
294
|
@since 1.13.0
|
|
304
|
-
@method normalizeFindManyResponse
|
|
305
295
|
@public
|
|
306
296
|
@param {Store} store
|
|
307
297
|
@param {Model} primaryModelClass
|
|
@@ -316,7 +306,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
316
306
|
type of request is `query`
|
|
317
307
|
|
|
318
308
|
@since 1.13.0
|
|
319
|
-
@method normalizeQueryResponse
|
|
320
309
|
@public
|
|
321
310
|
@param {Store} store
|
|
322
311
|
@param {Model} primaryModelClass
|
|
@@ -331,7 +320,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
331
320
|
type of request is `createRecord`
|
|
332
321
|
|
|
333
322
|
@since 1.13.0
|
|
334
|
-
@method normalizeCreateRecordResponse
|
|
335
323
|
@public
|
|
336
324
|
@param {Store} store
|
|
337
325
|
@param {Model} primaryModelClass
|
|
@@ -346,7 +334,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
346
334
|
type of request is `deleteRecord`
|
|
347
335
|
|
|
348
336
|
@since 1.13.0
|
|
349
|
-
@method normalizeDeleteRecordResponse
|
|
350
337
|
@public
|
|
351
338
|
@param {Store} store
|
|
352
339
|
@param {Model} primaryModelClass
|
|
@@ -361,7 +348,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
361
348
|
type of request is `updateRecord`
|
|
362
349
|
|
|
363
350
|
@since 1.13.0
|
|
364
|
-
@method normalizeUpdateRecordResponse
|
|
365
351
|
@public
|
|
366
352
|
@param {Store} store
|
|
367
353
|
@param {Model} primaryModelClass
|
|
@@ -376,7 +362,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
376
362
|
normalizeDeleteRecordResponse delegate to this method by default.
|
|
377
363
|
|
|
378
364
|
@since 1.13.0
|
|
379
|
-
@method normalizeSaveResponse
|
|
380
365
|
@public
|
|
381
366
|
@param {Store} store
|
|
382
367
|
@param {Model} primaryModelClass
|
|
@@ -391,7 +376,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
391
376
|
method by default.
|
|
392
377
|
|
|
393
378
|
@since 1.13.0
|
|
394
|
-
@method normalizeSingleResponse
|
|
395
379
|
@public
|
|
396
380
|
@param {Store} store
|
|
397
381
|
@param {Model} primaryModelClass
|
|
@@ -406,7 +390,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
406
390
|
to this method by default.
|
|
407
391
|
|
|
408
392
|
@since 1.13.0
|
|
409
|
-
@method normalizeArrayResponse
|
|
410
393
|
@public
|
|
411
394
|
@param {Store} store
|
|
412
395
|
@param {Model} primaryModelClass
|
|
@@ -417,7 +400,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
417
400
|
*/
|
|
418
401
|
normalizeArrayResponse(store: Store, primaryModelClass: Model, payload: Object, id: string | number, requestType: string): Object;
|
|
419
402
|
/**
|
|
420
|
-
@method _normalizeResponse
|
|
421
403
|
@param {Store} store
|
|
422
404
|
@param {Model} primaryModelClass
|
|
423
405
|
@param {Object} payload
|
|
@@ -442,7 +424,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
442
424
|
|
|
443
425
|
Example
|
|
444
426
|
|
|
445
|
-
```app/serializers/application.js
|
|
427
|
+
```js [app/serializers/application.js]
|
|
446
428
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
447
429
|
import { underscore } from '<app-name>/utils/string-utils';
|
|
448
430
|
import { get } from '@ember/object';
|
|
@@ -464,7 +446,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
464
446
|
}
|
|
465
447
|
```
|
|
466
448
|
|
|
467
|
-
@method normalize
|
|
468
449
|
@public
|
|
469
450
|
@param {Model} typeClass
|
|
470
451
|
@param {Object} hash
|
|
@@ -474,7 +455,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
474
455
|
/**
|
|
475
456
|
Returns the resource's ID.
|
|
476
457
|
|
|
477
|
-
@method extractId
|
|
478
458
|
@public
|
|
479
459
|
@param {Object} modelClass
|
|
480
460
|
@param {Object} resourceHash
|
|
@@ -486,7 +466,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
486
466
|
|
|
487
467
|
http://jsonapi.org/format/#document-resource-object-attributes
|
|
488
468
|
|
|
489
|
-
@method extractAttributes
|
|
490
469
|
@public
|
|
491
470
|
@param {Object} modelClass
|
|
492
471
|
@param {Object} resourceHash
|
|
@@ -498,7 +477,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
498
477
|
|
|
499
478
|
http://jsonapi.org/format/#document-resource-object-relationships
|
|
500
479
|
|
|
501
|
-
@method extractRelationship
|
|
502
480
|
@public
|
|
503
481
|
@param {Object} relationshipModelName
|
|
504
482
|
@param {Object} relationshipHash
|
|
@@ -518,7 +496,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
518
496
|
extracted from the resourceHash
|
|
519
497
|
- `relationshipMeta` meta information about the relationship
|
|
520
498
|
|
|
521
|
-
@method extractPolymorphicRelationship
|
|
522
499
|
@public
|
|
523
500
|
@param {Object} relationshipModelName
|
|
524
501
|
@param {Object} relationshipHash
|
|
@@ -531,7 +508,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
531
508
|
|
|
532
509
|
http://jsonapi.org/format/#document-resource-object-relationships
|
|
533
510
|
|
|
534
|
-
@method extractRelationships
|
|
535
511
|
@public
|
|
536
512
|
@param {Object} modelClass
|
|
537
513
|
@param {Object} resourceHash
|
|
@@ -541,19 +517,16 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
541
517
|
/**
|
|
542
518
|
Dasherizes the model name in the payload
|
|
543
519
|
|
|
544
|
-
@method modelNameFromPayloadKey
|
|
545
520
|
@public
|
|
546
521
|
@param {String} key
|
|
547
522
|
@return {String} the model's modelName
|
|
548
523
|
*/
|
|
549
524
|
modelNameFromPayloadKey(key: string): string;
|
|
550
525
|
/**
|
|
551
|
-
@method normalizeRelationships
|
|
552
526
|
@private
|
|
553
527
|
*/
|
|
554
528
|
normalizeRelationships(typeClass: any, hash: any): void;
|
|
555
529
|
/**
|
|
556
|
-
@method normalizeUsingDeclaredMapping
|
|
557
530
|
@private
|
|
558
531
|
*/
|
|
559
532
|
normalizeUsingDeclaredMapping(modelClass: any, hash: any): void;
|
|
@@ -561,7 +534,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
561
534
|
Looks up the property key that was set by the custom `attr` mapping
|
|
562
535
|
passed to the serializer.
|
|
563
536
|
|
|
564
|
-
@method _getMappedKey
|
|
565
537
|
@private
|
|
566
538
|
@param {String} key
|
|
567
539
|
@return {String} key
|
|
@@ -571,7 +543,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
571
543
|
Check attrs.key.serialize property to inform if the `key`
|
|
572
544
|
can be serialized
|
|
573
545
|
|
|
574
|
-
@method _canSerialize
|
|
575
546
|
@private
|
|
576
547
|
@param {String} key
|
|
577
548
|
@return {Boolean} true if the key can be serialized
|
|
@@ -582,7 +553,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
582
553
|
it takes priority over the other checks and the related
|
|
583
554
|
attribute/relationship will be serialized
|
|
584
555
|
|
|
585
|
-
@method _mustSerialize
|
|
586
556
|
@private
|
|
587
557
|
@param {String} key
|
|
588
558
|
@return {Boolean} true if the key must be serialized
|
|
@@ -594,7 +564,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
594
564
|
By default only many-to-many and many-to-none relationships are serialized.
|
|
595
565
|
This could be configured per relationship by Serializer's `attrs` object.
|
|
596
566
|
|
|
597
|
-
@method shouldSerializeHasMany
|
|
598
567
|
@public
|
|
599
568
|
@param {Snapshot} snapshot
|
|
600
569
|
@param {String} key
|
|
@@ -611,7 +580,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
611
580
|
|
|
612
581
|
For example, consider this model:
|
|
613
582
|
|
|
614
|
-
```app/models/comment.js
|
|
583
|
+
```js [app/models/comment.js]
|
|
615
584
|
import Model, { attr, belongsTo } from '@ember-data-mirror/model';
|
|
616
585
|
|
|
617
586
|
export default class CommentModel extends Model {
|
|
@@ -657,7 +626,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
657
626
|
In that case, you can implement `serialize` yourself and
|
|
658
627
|
return a JSON hash of your choosing.
|
|
659
628
|
|
|
660
|
-
```app/serializers/post.js
|
|
629
|
+
```js [app/serializers/post.js]
|
|
661
630
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
662
631
|
|
|
663
632
|
export default class PostSerializer extends JSONSerializer {
|
|
@@ -683,7 +652,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
683
652
|
application, you'll probably want to use `eachAttribute`
|
|
684
653
|
and `eachRelationship` on the record.
|
|
685
654
|
|
|
686
|
-
```app/serializers/application.js
|
|
655
|
+
```js [app/serializers/application.js]
|
|
687
656
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
688
657
|
import { singularize } from '<app-name>/utils/string-utils';
|
|
689
658
|
|
|
@@ -734,7 +703,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
734
703
|
you can call `super.serialize` first and make the tweaks on
|
|
735
704
|
the returned JSON.
|
|
736
705
|
|
|
737
|
-
```app/serializers/post.js
|
|
706
|
+
```js [app/serializers/post.js]
|
|
738
707
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
739
708
|
|
|
740
709
|
export default class PostSerializer extends JSONSerializer {
|
|
@@ -749,7 +718,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
749
718
|
}
|
|
750
719
|
```
|
|
751
720
|
|
|
752
|
-
@method serialize
|
|
753
721
|
@public
|
|
754
722
|
@param {Snapshot} snapshot
|
|
755
723
|
@param {Object} options
|
|
@@ -766,7 +734,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
766
734
|
|
|
767
735
|
For example, your server may expect underscored root objects.
|
|
768
736
|
|
|
769
|
-
```app/serializers/application.js
|
|
737
|
+
```js [app/serializers/application.js]
|
|
770
738
|
import RESTSerializer from '@ember-data-mirror/serializer/rest';
|
|
771
739
|
import { underscoren} from '<app-name>/utils/string-utils';
|
|
772
740
|
|
|
@@ -778,7 +746,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
778
746
|
}
|
|
779
747
|
```
|
|
780
748
|
|
|
781
|
-
@method serializeIntoHash
|
|
782
749
|
@public
|
|
783
750
|
@param {Object} hash
|
|
784
751
|
@param {Model} typeClass
|
|
@@ -794,7 +761,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
794
761
|
serialized as properties on an `attributes` object you could
|
|
795
762
|
write:
|
|
796
763
|
|
|
797
|
-
```app/serializers/application.js
|
|
764
|
+
```js [app/serializers/application.js]
|
|
798
765
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
799
766
|
|
|
800
767
|
export default class ApplicationSerializer extends JSONSerializer {
|
|
@@ -805,7 +772,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
805
772
|
}
|
|
806
773
|
```
|
|
807
774
|
|
|
808
|
-
@method serializeAttribute
|
|
809
775
|
@public
|
|
810
776
|
@param {Snapshot} snapshot
|
|
811
777
|
@param {Object} json
|
|
@@ -819,7 +785,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
819
785
|
|
|
820
786
|
Example
|
|
821
787
|
|
|
822
|
-
```app/serializers/post.js
|
|
788
|
+
```js [app/serializers/post.js]
|
|
823
789
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
824
790
|
|
|
825
791
|
export default class PostSerializer extends JSONSerializer {
|
|
@@ -834,7 +800,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
834
800
|
}
|
|
835
801
|
```
|
|
836
802
|
|
|
837
|
-
@method serializeBelongsTo
|
|
838
803
|
@public
|
|
839
804
|
@param {Snapshot} snapshot
|
|
840
805
|
@param {Object} json
|
|
@@ -847,7 +812,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
847
812
|
|
|
848
813
|
Example
|
|
849
814
|
|
|
850
|
-
```app/serializers/post.js
|
|
815
|
+
```js [app/serializers/post.js]
|
|
851
816
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
852
817
|
|
|
853
818
|
export default class PostSerializer extends JSONSerializer {
|
|
@@ -862,7 +827,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
862
827
|
}
|
|
863
828
|
```
|
|
864
829
|
|
|
865
|
-
@method serializeHasMany
|
|
866
830
|
@public
|
|
867
831
|
@param {Snapshot} snapshot
|
|
868
832
|
@param {Object} json
|
|
@@ -877,7 +841,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
877
841
|
|
|
878
842
|
Example
|
|
879
843
|
|
|
880
|
-
```app/serializers/comment.js
|
|
844
|
+
```js [app/serializers/comment.js]
|
|
881
845
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
882
846
|
|
|
883
847
|
export default class CommentSerializer extends JSONSerializer {
|
|
@@ -896,7 +860,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
896
860
|
}
|
|
897
861
|
```
|
|
898
862
|
|
|
899
|
-
@method serializePolymorphicType
|
|
900
863
|
@public
|
|
901
864
|
@param {Snapshot} snapshot
|
|
902
865
|
@param {Object} json
|
|
@@ -910,7 +873,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
910
873
|
|
|
911
874
|
Example
|
|
912
875
|
|
|
913
|
-
```app/serializers/post.js
|
|
876
|
+
```js [app/serializers/post.js]
|
|
914
877
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
915
878
|
|
|
916
879
|
export default class PostSerializer extends JSONSerializer {
|
|
@@ -924,7 +887,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
924
887
|
}
|
|
925
888
|
```
|
|
926
889
|
|
|
927
|
-
@method extractMeta
|
|
928
890
|
@public
|
|
929
891
|
@param {Store} store
|
|
930
892
|
@param {Model} modelClass
|
|
@@ -995,7 +957,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
995
957
|
Example of alternative implementation, overriding the default
|
|
996
958
|
behavior to deal with a different format of errors:
|
|
997
959
|
|
|
998
|
-
```app/serializers/post.js
|
|
960
|
+
```js [app/serializers/post.js]
|
|
999
961
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
1000
962
|
|
|
1001
963
|
export default class PostSerializer extends JSONSerializer {
|
|
@@ -1009,7 +971,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
1009
971
|
}
|
|
1010
972
|
```
|
|
1011
973
|
|
|
1012
|
-
@method extractErrors
|
|
1013
974
|
@public
|
|
1014
975
|
@param {Store} store
|
|
1015
976
|
@param {Model} typeClass
|
|
@@ -1024,7 +985,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
1024
985
|
|
|
1025
986
|
Example
|
|
1026
987
|
|
|
1027
|
-
```app/serializers/application.js
|
|
988
|
+
```js [app/serializers/application.js]
|
|
1028
989
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
1029
990
|
import { underscore } from '<app-name>/utils/string-utils';
|
|
1030
991
|
|
|
@@ -1035,7 +996,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
1035
996
|
}
|
|
1036
997
|
```
|
|
1037
998
|
|
|
1038
|
-
@method keyForAttribute
|
|
1039
999
|
@public
|
|
1040
1000
|
@param {String} key
|
|
1041
1001
|
@param {String} method
|
|
@@ -1049,7 +1009,7 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
1049
1009
|
|
|
1050
1010
|
Example
|
|
1051
1011
|
|
|
1052
|
-
```app/serializers/post.js
|
|
1012
|
+
```js [app/serializers/post.js]
|
|
1053
1013
|
import JSONSerializer from '@ember-data-mirror/serializer/json';
|
|
1054
1014
|
import { underscore } from '<app-name>/utils/string-utils';
|
|
1055
1015
|
|
|
@@ -1060,7 +1020,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
1060
1020
|
}
|
|
1061
1021
|
```
|
|
1062
1022
|
|
|
1063
|
-
@method keyForRelationship
|
|
1064
1023
|
@public
|
|
1065
1024
|
@param {String} key
|
|
1066
1025
|
@param {String} typeClass
|
|
@@ -1072,7 +1031,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
1072
1031
|
`keyForLink` can be used to define a custom key when deserializing link
|
|
1073
1032
|
properties.
|
|
1074
1033
|
|
|
1075
|
-
@method keyForLink
|
|
1076
1034
|
@public
|
|
1077
1035
|
@param {String} key
|
|
1078
1036
|
@param {String} kind `belongsTo` or `hasMany`
|
|
@@ -1080,7 +1038,6 @@ declare module '@ember-data-mirror/serializer/json' {
|
|
|
1080
1038
|
*/
|
|
1081
1039
|
keyForLink(key: string, kind: string): string;
|
|
1082
1040
|
/**
|
|
1083
|
-
@method transformFor
|
|
1084
1041
|
@private
|
|
1085
1042
|
@param {String} attributeType
|
|
1086
1043
|
@param {Boolean} skipAssertion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.js"],"names":[],"mappings":";AAaA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0EE;AACF;IACE;;;;;;;;;;;;;;;;;;;;;;MAsBE;;IAGF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAkEE;sBADO,MAAM;IAIf;;;;;;;;;;;MAWE;+BAHO,KAAK,QACL,MAAM,GACL,MAAM;IAkBhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAkCE;6BANQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,wCAEZ,MAAM;IA2BjB;;;;;;;;;;;;MAYE;uCANQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,wCAEZ,MAAM;IAMjB;;;;;;;;;;;;MAYE;wCANQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,wCAEZ,MAAM;IAMjB;;;;;;;;;;;;MAYE;oCANQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,wCAEZ,MAAM;IAMjB;;;;;;;;;;;;MAYE;0CANQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,wCAEZ,MAAM;IAMjB;;;;;;;;;;;;MAYE;wCANQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,wCAEZ,MAAM;IAMjB;;;;;;;;;;;;MAYE;qCANQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,wCAEZ,MAAM;IAMjB;;;;;;;;;;;;MAYE;kCANQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,wCAEZ,MAAM;IAMjB;;;;;;;;;;;;MAYE;yCANQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,wCAEZ,MAAM;IAMjB;;;;;;;;;;;;MAYE;yCANQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,wCAEZ,MAAM;IAMjB;;;;;;;;;;;;MAYE;yCANQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,wCAEZ,MAAM;IAMjB;;;;;;;;;;;;MAYE;iCANQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,wCAEZ,MAAM;IAMjB;;;;;;;;;;;;MAYE;mCANQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,wBAEZ,MAAM;IAMjB;;;;;;;;;;;;MAYE;kCANQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,wBAEZ,MAAM;IAMjB;;;;;;;;;MASE;8BARQ,KAAK,qBACL,KAAK,WACL,MAAM,MACN,eAAa,2CAGZ,MAAM;IAyCjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAwCE;mDADS,MAAM;IA4BjB;;;;;;;MAOE;0BAHQ,MAAM,gBACN,MAAM;IAShB;;;;;;;;;MASE;kCAHQ,MAAM,gBACN,MAAM,GACL,MAAM;IAgBjB;;;;;;;;;MASE;+CAHQ,MAAM,oBACN,MAAM,GACL,MAAM;IA0BjB;;;;;;;;;;;;;;;;;;MAkBE;0DAJQ,MAAM,oBACN,MAAM,uBACN,MAAM,GACL,MAAM;IAMjB;;;;;;;;;MASE;qCAHQ,MAAM,gBACN,MAAM,GACL,MAAM;IA+DjB;;;;;;MAME;;IAKF;;MAEE;;IAoBF;;MAEE;;IA8BF;;;;;;;MAOE;;IA+BF;;;;;;;MAOE;;IAOF;;;;;;;;MAQE;;IAOF;;;;;;;;;;;MAWE;qCAJQ,QAAQ,6BAER,kBAAkB;IAa5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuJE;wBAHQ,QAAQ,WACR,MAAM,GACL,MAAM;IA2BjB;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2BE;4BAJQ,MAAM,aACN,KAAK,YACL,QAAQ,WACR,MAAM;IAMhB;;;;;;;;;;;;;;;;;;;;;;;;MAwBE;iCAJQ,QAAQ,QACR,MAAM,0BAEN,MAAM;IAwBhB;;;;;;;;;;;;;;;;;;;;;;;;;MAyBE;iCAHQ,QAAQ,QACR,MAAM,gBACN,MAAM;IA6BhB;;;;;;;;;;;;;;;;;;;;;;;;;MAyBE;+BAHO,QAAQ,QACR,MAAM,gBACN,MAAM;IAsBf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+BE;;IAGF;;;;;;;;;;;;;;;;;;;;;;;;;MAyBE;uBAHQ,KAAK,cACL,KAAK,WACL,MAAM;IAUhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAoFE;yBALQ,KAAK,aACL,KAAK,WACL,MAAM,MACN,CAAC,eAAa,CAAC,GACd,MAAM;IAmDjB;;;;;;;;;;;;;;;;;;;;;MAqBE;;IAKF;;;;;;;;;;;;;;;;;;;;;;;MAuBE;;IAKF;;;;;;;;MAQE;;IAOF;;;;;MAKE;iEADQ,SAAS;EASlB;uBAxhDoB,GAAG"}
|
|
@@ -32,7 +32,7 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
32
32
|
can implement across-the-board rules for how to convert an attribute
|
|
33
33
|
name in your model to a key in your JSON.
|
|
34
34
|
|
|
35
|
-
```app/serializers/application.js
|
|
35
|
+
```js [app/serializers/application.js]
|
|
36
36
|
import RESTSerializer from '@ember-data-mirror/serializer/rest';
|
|
37
37
|
import { underscore } from '<app-name>/utils/string-utils';
|
|
38
38
|
|
|
@@ -49,9 +49,7 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
49
49
|
the method (`serialize` or `deserialize`) as the third parameter.
|
|
50
50
|
|
|
51
51
|
@class RESTSerializer
|
|
52
|
-
@main @ember-data-mirror/serializer/rest
|
|
53
52
|
@public
|
|
54
|
-
@extends JSONSerializer
|
|
55
53
|
*/
|
|
56
54
|
const RESTSerializer: Readonly<Readonly<typeof import("@ember-data-mirror/serializer").default> & (new (owner?: import("@ember/-internals/owner").default) => import(".").default) & {
|
|
57
55
|
primaryKey: string;
|
|
@@ -105,7 +103,7 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
105
103
|
|
|
106
104
|
Example
|
|
107
105
|
|
|
108
|
-
```app/serializers/post.js
|
|
106
|
+
```js [app/serializers/post.js]
|
|
109
107
|
import RESTSerializer from '@ember-data-mirror/serializer/rest';
|
|
110
108
|
|
|
111
109
|
export default class ApplicationSerializer extends RESTSerializer {
|
|
@@ -117,7 +115,6 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
117
115
|
}
|
|
118
116
|
```
|
|
119
117
|
|
|
120
|
-
@method keyForPolymorphicType
|
|
121
118
|
@public
|
|
122
119
|
@param {String} key
|
|
123
120
|
@param {String} typeClass
|
|
@@ -166,7 +163,7 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
166
163
|
For example, if the `IDs` under `"comments"` are provided as `_id` instead of
|
|
167
164
|
`id`, you can specify how to normalize just the comments:
|
|
168
165
|
|
|
169
|
-
```app/serializers/post.js
|
|
166
|
+
```js [app/serializers/post.js]
|
|
170
167
|
import RESTSerializer from '@ember-data-mirror/serializer/rest';
|
|
171
168
|
|
|
172
169
|
export default class ApplicationSerializer extends RESTSerializer {
|
|
@@ -185,7 +182,6 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
185
182
|
one of the keys that were in the original payload or in the result of another
|
|
186
183
|
normalization as `normalizeResponse`.
|
|
187
184
|
|
|
188
|
-
@method normalize
|
|
189
185
|
@public
|
|
190
186
|
@param {Model} modelClass
|
|
191
187
|
@param {Object} resourceHash
|
|
@@ -196,7 +192,6 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
196
192
|
Normalizes an array of resource payloads and returns a JSON-API Document
|
|
197
193
|
with primary data and, if any, included data as `{ data, included }`.
|
|
198
194
|
|
|
199
|
-
@method _normalizeArray
|
|
200
195
|
@param {Store} store
|
|
201
196
|
@param {String} modelName
|
|
202
197
|
@param {Object} arrayHash
|
|
@@ -207,7 +202,6 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
207
202
|
_normalizeArray(store: Store, modelName: string, arrayHash: Object, prop: string): Object;
|
|
208
203
|
_normalizePolymorphicRecord(store: any, hash: any, prop: any, primaryModelClass: any, primarySerializer: any): any;
|
|
209
204
|
/**
|
|
210
|
-
@method _normalizeResponse
|
|
211
205
|
@param {Store} store
|
|
212
206
|
@param {Model} primaryModelClass
|
|
213
207
|
@param {Object} payload
|
|
@@ -246,7 +240,6 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
246
240
|
in data streaming in from your server structured the same way
|
|
247
241
|
that fetches and saves are structured.
|
|
248
242
|
|
|
249
|
-
@method pushPayload
|
|
250
243
|
@public
|
|
251
244
|
@param {Store} store
|
|
252
245
|
@param {Object} payload
|
|
@@ -261,7 +254,7 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
261
254
|
the name of the model in your app. Let's take a look at an example model,
|
|
262
255
|
and an example payload:
|
|
263
256
|
|
|
264
|
-
```app/models/post.js
|
|
257
|
+
```js [app/models/post.js]
|
|
265
258
|
import Model from '@ember-data-mirror/model';
|
|
266
259
|
|
|
267
260
|
export default class Post extends Model {}
|
|
@@ -283,7 +276,7 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
283
276
|
Since we want to remove this namespace, we can define a serializer for the application that will
|
|
284
277
|
remove "blog/" from the payload key whenver it's encountered by Ember Data:
|
|
285
278
|
|
|
286
|
-
```app/serializers/application.js
|
|
279
|
+
```js [app/serializers/application.js]
|
|
287
280
|
import RESTSerializer from '@ember-data-mirror/serializer/rest';
|
|
288
281
|
|
|
289
282
|
export default class ApplicationSerializer extends RESTSerializer {
|
|
@@ -305,7 +298,6 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
305
298
|
can use the correct inflection to do this for you. Most of the time, you won't
|
|
306
299
|
need to override `modelNameFromPayloadKey` for this purpose.
|
|
307
300
|
|
|
308
|
-
@method modelNameFromPayloadKey
|
|
309
301
|
@public
|
|
310
302
|
@param {String} key
|
|
311
303
|
@return {String} the model's modelName
|
|
@@ -320,7 +312,7 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
320
312
|
|
|
321
313
|
For example, consider this model:
|
|
322
314
|
|
|
323
|
-
```app/models/comment.js
|
|
315
|
+
```js [app/models/comment.js]
|
|
324
316
|
import Model, { attr, belongsTo } from '@ember-data-mirror/model';
|
|
325
317
|
|
|
326
318
|
export default class Comment extends Model {
|
|
@@ -366,7 +358,7 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
366
358
|
In that case, you can implement `serialize` yourself and
|
|
367
359
|
return a JSON hash of your choosing.
|
|
368
360
|
|
|
369
|
-
```app/serializers/post.js
|
|
361
|
+
```js [app/serializers/post.js]
|
|
370
362
|
import RESTSerializer from '@ember-data-mirror/serializer/rest';
|
|
371
363
|
|
|
372
364
|
export default class ApplicationSerializer extends RESTSerializer {
|
|
@@ -392,7 +384,7 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
392
384
|
application, you'll probably want to use `eachAttribute`
|
|
393
385
|
and `eachRelationship` on the record.
|
|
394
386
|
|
|
395
|
-
```app/serializers/application.js
|
|
387
|
+
```js [app/serializers/application.js]
|
|
396
388
|
import RESTSerializer from '@ember-data-mirror/serializer/rest';
|
|
397
389
|
import { pluralize } from '<app-name>/utils/string-utils';
|
|
398
390
|
|
|
@@ -443,7 +435,7 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
443
435
|
you can call super first and make the tweaks on the returned
|
|
444
436
|
JSON.
|
|
445
437
|
|
|
446
|
-
```app/serializers/post.js
|
|
438
|
+
```js [app/serializers/post.js]
|
|
447
439
|
import RESTSerializer from '@ember-data-mirror/serializer/rest';
|
|
448
440
|
|
|
449
441
|
export default class ApplicationSerializer extends RESTSerializer {
|
|
@@ -458,7 +450,6 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
458
450
|
}
|
|
459
451
|
```
|
|
460
452
|
|
|
461
|
-
@method serialize
|
|
462
453
|
@public
|
|
463
454
|
@param {Snapshot} snapshot
|
|
464
455
|
@param {Object} options
|
|
@@ -473,7 +464,7 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
473
464
|
|
|
474
465
|
For example, your server may expect underscored root objects.
|
|
475
466
|
|
|
476
|
-
```app/serializers/application.js
|
|
467
|
+
```js [app/serializers/application.js]
|
|
477
468
|
import RESTSerializer from '@ember-data-mirror/serializer/rest';
|
|
478
469
|
import { underscore } from '<app-name>/utils/string-utils';
|
|
479
470
|
|
|
@@ -485,7 +476,6 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
485
476
|
}
|
|
486
477
|
```
|
|
487
478
|
|
|
488
|
-
@method serializeIntoHash
|
|
489
479
|
@public
|
|
490
480
|
@param {Object} hash
|
|
491
481
|
@param {Model} typeClass
|
|
@@ -512,7 +502,7 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
512
502
|
|
|
513
503
|
For example, your server may expect dasherized root objects:
|
|
514
504
|
|
|
515
|
-
```app/serializers/application.js
|
|
505
|
+
```js [app/serializers/application.js]
|
|
516
506
|
import RESTSerializer from '@ember-data-mirror/serializer/rest';
|
|
517
507
|
import { dasherize } from '<app-name>/utils/string-utils';
|
|
518
508
|
|
|
@@ -535,7 +525,6 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
535
525
|
}
|
|
536
526
|
```
|
|
537
527
|
|
|
538
|
-
@method payloadKeyFromModelName
|
|
539
528
|
@public
|
|
540
529
|
@param {String} modelName
|
|
541
530
|
@return {String}
|
|
@@ -546,7 +535,6 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
546
535
|
By default the REST Serializer creates the key by appending `Type` to
|
|
547
536
|
the attribute and value from the model's camelcased model name.
|
|
548
537
|
|
|
549
|
-
@method serializePolymorphicType
|
|
550
538
|
@public
|
|
551
539
|
@param {Snapshot} snapshot
|
|
552
540
|
@param {Object} json
|
|
@@ -557,7 +545,6 @@ declare module '@ember-data-mirror/serializer/rest' {
|
|
|
557
545
|
You can use this method to customize how a polymorphic relationship should
|
|
558
546
|
be extracted.
|
|
559
547
|
|
|
560
|
-
@method extractPolymorphicRelationship
|
|
561
548
|
@public
|
|
562
549
|
@param {Object} relationshipType
|
|
563
550
|
@param {Object} relationshipHash
|