@ember-data/model 5.4.0-alpha.6 → 5.4.0-alpha.61

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 (78) hide show
  1. package/README.md +19 -0
  2. package/addon/-private.js +2 -2
  3. package/addon/has-many-BuTJfT5a.js +652 -0
  4. package/addon/has-many-BuTJfT5a.js.map +1 -0
  5. package/addon/{hooks-7a58334b.js → hooks-BMoEt0SI.js} +34 -15
  6. package/addon/hooks-BMoEt0SI.js.map +1 -0
  7. package/addon/hooks.js +1 -1
  8. package/addon/index.js +3 -3
  9. package/addon/index.js.map +1 -1
  10. package/addon/migration-support.js +118 -0
  11. package/addon/migration-support.js.map +1 -0
  12. package/addon/{model-520a761c.js → model-DJ9C4aZ-.js} +2159 -2113
  13. package/addon/model-DJ9C4aZ-.js.map +1 -0
  14. package/addon/util-CSYkrwfb.js +35 -0
  15. package/addon/util-CSYkrwfb.js.map +1 -0
  16. package/addon-main.js +1 -0
  17. package/ember-data-logo-dark.svg +12 -0
  18. package/ember-data-logo-light.svg +12 -0
  19. package/package.json +88 -37
  20. package/unstable-preview-types/-private/attr.d.ts +174 -0
  21. package/unstable-preview-types/-private/attr.d.ts.map +1 -0
  22. package/unstable-preview-types/-private/attr.type-test.d.ts +4 -0
  23. package/unstable-preview-types/-private/attr.type-test.d.ts.map +1 -0
  24. package/unstable-preview-types/-private/belongs-to.d.ts +180 -0
  25. package/unstable-preview-types/-private/belongs-to.d.ts.map +1 -0
  26. package/unstable-preview-types/-private/belongs-to.type-test.d.ts +4 -0
  27. package/unstable-preview-types/-private/belongs-to.type-test.d.ts.map +1 -0
  28. package/unstable-preview-types/-private/debug/assert-polymorphic-type.d.ts +8 -0
  29. package/unstable-preview-types/-private/debug/assert-polymorphic-type.d.ts.map +1 -0
  30. package/unstable-preview-types/-private/errors.d.ts +308 -0
  31. package/unstable-preview-types/-private/errors.d.ts.map +1 -0
  32. package/unstable-preview-types/-private/has-many.d.ts +169 -0
  33. package/unstable-preview-types/-private/has-many.d.ts.map +1 -0
  34. package/unstable-preview-types/-private/has-many.type-test.d.ts +4 -0
  35. package/unstable-preview-types/-private/has-many.type-test.d.ts.map +1 -0
  36. package/unstable-preview-types/-private/hooks.d.ts +13 -0
  37. package/unstable-preview-types/-private/hooks.d.ts.map +1 -0
  38. package/unstable-preview-types/-private/legacy-relationships-support.d.ts +64 -0
  39. package/unstable-preview-types/-private/legacy-relationships-support.d.ts.map +1 -0
  40. package/unstable-preview-types/-private/many-array.d.ts +198 -0
  41. package/unstable-preview-types/-private/many-array.d.ts.map +1 -0
  42. package/unstable-preview-types/-private/model-for-mixin.d.ts +6 -0
  43. package/unstable-preview-types/-private/model-for-mixin.d.ts.map +1 -0
  44. package/unstable-preview-types/-private/model-methods.d.ts +36 -0
  45. package/unstable-preview-types/-private/model-methods.d.ts.map +1 -0
  46. package/unstable-preview-types/-private/model.d.ts +1303 -0
  47. package/unstable-preview-types/-private/model.d.ts.map +1 -0
  48. package/unstable-preview-types/-private/model.type-test.d.ts +4 -0
  49. package/unstable-preview-types/-private/model.type-test.d.ts.map +1 -0
  50. package/unstable-preview-types/-private/notify-changes.d.ts +8 -0
  51. package/unstable-preview-types/-private/notify-changes.d.ts.map +1 -0
  52. package/unstable-preview-types/-private/promise-belongs-to.d.ts +49 -0
  53. package/unstable-preview-types/-private/promise-belongs-to.d.ts.map +1 -0
  54. package/unstable-preview-types/-private/promise-many-array.d.ts +131 -0
  55. package/unstable-preview-types/-private/promise-many-array.d.ts.map +1 -0
  56. package/unstable-preview-types/-private/promise-proxy-base.d.ts +35 -0
  57. package/unstable-preview-types/-private/record-state.d.ts +91 -0
  58. package/unstable-preview-types/-private/record-state.d.ts.map +1 -0
  59. package/unstable-preview-types/-private/references/belongs-to.d.ts +503 -0
  60. package/unstable-preview-types/-private/references/belongs-to.d.ts.map +1 -0
  61. package/unstable-preview-types/-private/references/has-many.d.ts +515 -0
  62. package/unstable-preview-types/-private/references/has-many.d.ts.map +1 -0
  63. package/unstable-preview-types/-private/schema-provider.d.ts +27 -0
  64. package/unstable-preview-types/-private/schema-provider.d.ts.map +1 -0
  65. package/unstable-preview-types/-private/util.d.ts +11 -0
  66. package/unstable-preview-types/-private/util.d.ts.map +1 -0
  67. package/unstable-preview-types/-private.d.ts +12 -0
  68. package/unstable-preview-types/-private.d.ts.map +1 -0
  69. package/unstable-preview-types/hooks.d.ts +5 -0
  70. package/unstable-preview-types/hooks.d.ts.map +1 -0
  71. package/unstable-preview-types/index.d.ts +75 -0
  72. package/unstable-preview-types/index.d.ts.map +1 -0
  73. package/unstable-preview-types/migration-support.d.ts +11 -0
  74. package/unstable-preview-types/migration-support.d.ts.map +1 -0
  75. package/addon/has-many-665b8730.js +0 -507
  76. package/addon/has-many-665b8730.js.map +0 -1
  77. package/addon/hooks-7a58334b.js.map +0 -1
  78. package/addon/model-520a761c.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/-private/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ declare module '@ember-data/model/-private/model.type-test' {
2
+ export {};
3
+ }
4
+ //# sourceMappingURL=model.type-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.type-test.d.ts","sourceRoot":"","sources":["../../src/-private/model.type-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ declare module '@ember-data/model/-private/notify-changes' {
2
+ import type Store from '@ember-data/store';
3
+ import type { NotificationType } from '@ember-data/store/-private/managers/notification-manager';
4
+ import type { StableRecordIdentifier } from '@warp-drive/core-types';
5
+ import type { Model } from '@ember-data/model/-private/model';
6
+ export default function notifyChanges(identifier: StableRecordIdentifier, value: NotificationType, key: string | undefined, record: Model, store: Store): void;
7
+ }
8
+ //# sourceMappingURL=notify-changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notify-changes.d.ts","sourceRoot":"","sources":["../../src/-private/notify-changes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0DAA0D,CAAC;AACjG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAIrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,UAAU,EAAE,sBAAsB,EAClC,KAAK,EAAE,gBAAgB,EACvB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,KAAK,EACb,KAAK,EAAE,KAAK,QAuBb"}
@@ -0,0 +1,49 @@
1
+ declare module '@ember-data/model/-private/promise-belongs-to' {
2
+ /// <reference types="ember-source/types" />
3
+ /// <reference types="ember-source/types" />
4
+ import type PromiseProxyMixin from '@ember/object/promise-proxy-mixin';
5
+ import type ObjectProxy from '@ember/object/proxy';
6
+ import type Store from '@ember-data/store';
7
+ import type { OpaqueRecordInstance } from '@ember-data/store/-types/q/record-instance';
8
+ import type { TypeFromInstanceOrString } from '@warp-drive/core-types/record';
9
+ import type { LegacySupport } from '@ember-data/model/-private/legacy-relationships-support';
10
+ export interface BelongsToProxyMeta<T = unknown> {
11
+ key: string;
12
+ store: Store;
13
+ legacySupport: LegacySupport;
14
+ modelName: TypeFromInstanceOrString<T>;
15
+ }
16
+ export interface BelongsToProxyCreateArgs<T = unknown> {
17
+ promise: Promise<T | null>;
18
+ content?: T | null;
19
+ _belongsToState: BelongsToProxyMeta<T>;
20
+ }
21
+ export const LegacyPromiseProxy: unique symbol;
22
+ interface PromiseObjectType<T> extends PromiseProxyMixin<T | null>, ObjectProxy<T> {
23
+ new <PT>(...args: unknown[]): PromiseObjectType<PT>;
24
+ }
25
+ class PromiseObjectType<T> {
26
+ }
27
+ const Extended: PromiseObjectType<OpaqueRecordInstance>;
28
+ /**
29
+ @module @ember-data/model
30
+ */
31
+ /**
32
+ A PromiseBelongsTo is a PromiseObject that also proxies certain method calls
33
+ to the underlying belongsTo model.
34
+ Right now we proxy:
35
+ * `reload()`
36
+ @class PromiseBelongsTo
37
+ @extends PromiseObject
38
+ @private
39
+ */
40
+ class PromiseBelongsTo<T = unknown> extends Extended<T> {
41
+ _belongsToState: BelongsToProxyMeta<T>;
42
+ get id(): string | null;
43
+ get meta(): void;
44
+ reload(options: Record<string, unknown>): Promise<this>;
45
+ [LegacyPromiseProxy]: true;
46
+ }
47
+ export { PromiseBelongsTo };
48
+ }
49
+ //# sourceMappingURL=promise-belongs-to.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-belongs-to.d.ts","sourceRoot":"","sources":["../../src/-private/promise-belongs-to.ts"],"names":[],"mappings":";;AAEA,OAAO,KAAK,iBAAiB,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,WAAW,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAEvF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAGpE,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,OAAO;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;CACxC;AACD,MAAM,WAAW,wBAAwB,CAAC,CAAC,GAAG,OAAO;IACnD,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACnB,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,kBAAkB,eAAmC,CAAC;AAEnE,UAAU,iBAAiB,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IAEhF,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;CACrD;AAED,OAAO,OAAO,iBAAiB,CAAC,CAAC;CAAI;AAErC,QAAA,MAAM,QAAQ,EAAE,iBAAiB,CAAC,oBAAoB,CACe,CAAC;AAEtE;;GAEG;AAEH;;;;;;;;EAQE;AACF,cAAM,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IAC7C,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAE/C,IACI,EAAE,IAAI,MAAM,GAAG,IAAI,CAKtB;IAKD,IACI,IAAI,SAWP;IAEK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7D,CAAC,kBAAkB,CAAC,OAAiB;CACtC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,131 @@
1
+ declare module '@ember-data/model/-private/promise-many-array' {
2
+ import type { BaseFinderOptions } from '@ember-data/store/-types/q/store';
3
+ import type ManyArray from '@ember-data/model/-private/many-array';
4
+ import { LegacyPromiseProxy } from '@ember-data/model/-private/promise-belongs-to';
5
+ export interface HasManyProxyCreateArgs<T = unknown> {
6
+ promise: Promise<ManyArray<T>>;
7
+ content?: ManyArray<T>;
8
+ }
9
+ /**
10
+ @module @ember-data/model
11
+ */
12
+ /**
13
+ This class is returned as the result of accessing an async hasMany relationship
14
+ on an instance of a Model extending from `@ember-data/model`.
15
+
16
+ A PromiseManyArray is an iterable proxy that allows templates to consume related
17
+ ManyArrays and update once their contents are no longer pending.
18
+
19
+ In your JS code you should resolve the promise first.
20
+
21
+ ```js
22
+ const comments = await post.comments;
23
+ ```
24
+
25
+ @class PromiseManyArray
26
+ @public
27
+ */
28
+ export default class PromiseManyArray<T = unknown> {
29
+ promise: Promise<ManyArray<T>> | null;
30
+ isDestroyed: boolean;
31
+ content: ManyArray<T> | null;
32
+ constructor(promise: Promise<ManyArray<T>>, content?: ManyArray<T>);
33
+ /**
34
+ * Retrieve the length of the content
35
+ * @property length
36
+ * @public
37
+ */
38
+ get length(): number;
39
+ /**
40
+ * Iterate the proxied content. Called by the glimmer iterator in #each
41
+ * We do not guarantee that forEach will always be available. This
42
+ * may eventually be made to use Symbol.Iterator once glimmer supports it.
43
+ *
44
+ * @method forEach
45
+ * @param cb
46
+ * @return
47
+ * @private
48
+ */
49
+ forEach(cb: (item: T, index: number, array: T[]) => void): void;
50
+ /**
51
+ * Reload the relationship
52
+ * @method reload
53
+ * @public
54
+ * @param options
55
+ * @return
56
+ */
57
+ reload(options: Omit<BaseFinderOptions, ''>): this;
58
+ /**
59
+ * Whether the loading promise is still pending
60
+ *
61
+ * @property {boolean} isPending
62
+ * @public
63
+ */
64
+ isPending: boolean;
65
+ /**
66
+ * Whether the loading promise rejected
67
+ *
68
+ * @property {boolean} isRejected
69
+ * @public
70
+ */
71
+ isRejected: boolean;
72
+ /**
73
+ * Whether the loading promise succeeded
74
+ *
75
+ * @property {boolean} isFulfilled
76
+ * @public
77
+ */
78
+ isFulfilled: boolean;
79
+ /**
80
+ * Whether the loading promise completed (resolved or rejected)
81
+ *
82
+ * @property {boolean} isSettled
83
+ * @public
84
+ */
85
+ isSettled: boolean;
86
+ /**
87
+ * chain this promise
88
+ *
89
+ * @method then
90
+ * @public
91
+ * @param success
92
+ * @param fail
93
+ * @return Promise
94
+ */
95
+ then(s: Parameters<Promise<ManyArray<T>>['then']>[0], f?: Parameters<Promise<ManyArray<T>>['then']>[1]): Promise<unknown>;
96
+ /**
97
+ * catch errors thrown by this promise
98
+ * @method catch
99
+ * @public
100
+ * @param callback
101
+ * @return Promise
102
+ */
103
+ catch(cb: Parameters<Promise<ManyArray<T>>['catch']>[0]): Promise<unknown>;
104
+ /**
105
+ * run cleanup after this promise completes
106
+ *
107
+ * @method finally
108
+ * @public
109
+ * @param callback
110
+ * @return Promise
111
+ */
112
+ finally(cb: Parameters<Promise<ManyArray<T>>['finally']>[0]): Promise<ManyArray<T>>;
113
+ destroy(): void;
114
+ /**
115
+ * Retrieve the links for this relationship
116
+ * @property links
117
+ * @public
118
+ */
119
+ get links(): import("@warp-drive/core-types/spec/raw").Links | null | undefined;
120
+ /**
121
+ * Retrieve the meta for this relationship
122
+ * @property meta
123
+ * @public
124
+ */
125
+ get meta(): Record<string, unknown> | null | undefined;
126
+ _update(promise: Promise<ManyArray<T>>, content?: ManyArray<T>): void;
127
+ static create<T>({ promise, content }: HasManyProxyCreateArgs<T>): PromiseManyArray<T>;
128
+ [LegacyPromiseProxy]: true;
129
+ }
130
+ }
131
+ //# sourceMappingURL=promise-many-array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-many-array.d.ts","sourceRoot":"","sources":["../../src/-private/promise-many-array.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAK1E,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,sBAAsB,CAAC,CAAC,GAAG,OAAO;IACjD,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACxB;AAED;;GAEG;AACH;;;;;;;;;;;;;;;EAeE;AACF,MAAM,CAAC,OAAO,OAAO,gBAAgB,CAAC,CAAC,GAAG,OAAO;IACvC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;gBAEzB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAKlE;;;;OAIG;IACH,IACI,MAAM,IAAI,MAAM,CAOnB;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI;IAMxD;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;IAQ3C;;;;;OAKG;IACK,SAAS,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACK,UAAU,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACK,WAAW,EAAE,OAAO,CAAC;IAC7B;;;;;OAKG;IACK,SAAS,EAAE,OAAO,CAAC;IAE3B;;;;;;;;OAQG;IACH,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAItG;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAIvD;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAM3D,OAAO;IAQP;;;;OAIG;IACH,IACI,KAAK,uEAER;IAED;;;;OAIG;IACH,IACI,IAAI,+CAEP;IAID,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAQ9D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAItF,CAAC,kBAAkB,CAAC,OAAiB;CACtC"}
@@ -0,0 +1,35 @@
1
+ declare module '@ember-data/model/-private/promise-proxy-base' {
2
+ import ObjectProxy from '@ember/object/proxy';
3
+
4
+ export interface PromiseObject<T> extends Promise<T> {}
5
+ export class PromiseObject<T> extends ObjectProxy<T> {
6
+ content?: T | null;
7
+
8
+ /*
9
+ * If the proxied promise is rejected this will contain the reason
10
+ * provided.
11
+ */
12
+ reason: string | Error;
13
+ /*
14
+ * Once the proxied promise has settled this will become `false`.
15
+ */
16
+ isPending: boolean;
17
+ /*
18
+ * Once the proxied promise has settled this will become `true`.
19
+ */
20
+ isSettled: boolean;
21
+ /*
22
+ * Will become `true` if the proxied promise is rejected.
23
+ */
24
+ isRejected: boolean;
25
+ /*
26
+ * Will become `true` if the proxied promise is fulfilled.
27
+ */
28
+ isFulfilled: boolean;
29
+ /*
30
+ * The promise whose fulfillment value is being proxied by this object.
31
+ */
32
+ promise: Promise<T>;
33
+ }
34
+
35
+ }
@@ -0,0 +1,91 @@
1
+ declare module '@ember-data/model/-private/record-state' {
2
+ import type Store from '@ember-data/store';
3
+ import type RequestStateService from '@ember-data/store/-private/network/request-cache';
4
+ import type { RequestState } from '@ember-data/store/-private/network/request-cache';
5
+ import type { Cache } from '@ember-data/store/-types/q/cache';
6
+ import type { StableRecordIdentifier } from '@warp-drive/core-types';
7
+ import type Errors from '@ember-data/model/-private/errors';
8
+ import type { MinimalLegacyRecord } from '@ember-data/model/-private/model-methods';
9
+ /**
10
+ * A decorator that caches a getter while
11
+ * providing the ability to bust that cache
12
+ * when we so choose in a way that notifies
13
+ * tracking systems.
14
+ *
15
+ * @internal
16
+ */
17
+ export function tagged<T extends object, K extends keyof T & string>(_target: T, key: K, desc: PropertyDescriptor): PropertyDescriptor;
18
+ export function notifySignal<T extends object, K extends keyof T & string>(obj: T, key: K): void;
19
+ /**
20
+ Historically EmberData managed a state machine
21
+ for each record, the localState for which
22
+ was reflected onto Model.
23
+
24
+ This implements the flags and stateName for backwards compat
25
+ with the state tree that used to be possible (listed below).
26
+
27
+ stateName and dirtyType are candidates for deprecation.
28
+
29
+ root
30
+ empty
31
+ deleted // hidden from stateName
32
+ preloaded // hidden from stateName
33
+
34
+ loading
35
+ empty // hidden from stateName
36
+ preloaded // hidden from stateName
37
+
38
+ loaded
39
+ saved
40
+ updated
41
+ uncommitted
42
+ invalid
43
+ inFlight
44
+ created
45
+ uncommitted
46
+ invalid
47
+ inFlight
48
+
49
+ deleted
50
+ saved
51
+ new // hidden from stateName
52
+ uncommitted
53
+ invalid
54
+ inFlight
55
+
56
+ @internal
57
+ */
58
+ export default class RecordState {
59
+ store: Store;
60
+ identifier: StableRecordIdentifier;
61
+ record: MinimalLegacyRecord;
62
+ rs: RequestStateService;
63
+ pendingCount: number;
64
+ fulfilledCount: number;
65
+ rejectedCount: number;
66
+ cache: Cache;
67
+ _errorRequests: RequestState[];
68
+ _lastError: RequestState | null;
69
+ handler: object;
70
+ constructor(record: MinimalLegacyRecord);
71
+ destroy(): void;
72
+ notify(key: keyof this & string): void;
73
+ updateInvalidErrors(errors: Errors): void;
74
+ cleanErrorRequests(): void;
75
+ isSaving: boolean;
76
+ get isLoading(): boolean;
77
+ get isLoaded(): boolean;
78
+ get isSaved(): boolean;
79
+ get isEmpty(): boolean;
80
+ get isNew(): boolean;
81
+ get isDeleted(): boolean;
82
+ get isValid(): boolean;
83
+ get isDirty(): boolean;
84
+ get isError(): boolean;
85
+ get adapterError(): unknown;
86
+ get isPreloaded(): boolean;
87
+ get stateName(): "root.loading" | "root.empty" | "root.deleted.inFlight" | "root.deleted.saved" | "root.deleted.invalid" | "root.deleted.uncommitted" | "root.loaded.created.inFlight" | "root.loaded.created.invalid" | "root.loaded.created.uncommitted" | "root.loaded.updated.inFlight" | "root.loaded.updated.invalid" | "root.loaded.updated.uncommitted" | "root.loaded.saved";
88
+ get dirtyType(): "" | "deleted" | "created" | "updated";
89
+ }
90
+ }
91
+ //# sourceMappingURL=record-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-state.d.ts","sourceRoot":"","sources":["../../src/-private/record-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAI3C,OAAO,KAAK,mBAAmB,MAAM,kDAAkD,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAC;AACrF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAG9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAgB3D;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,sBAwBhH;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,QAMxF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCE;AACF,MAAM,CAAC,OAAO,OAAO,WAAW;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,sBAAsB,CAAC;IACnC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,EAAE,EAAE,mBAAmB,CAAC;IAExB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,YAAY,EAAE,CAAC;IAC/B,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,mBAAmB;IAoGvC,OAAO;IAIP,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,GAAG,MAAM;IAI/B,mBAAmB,CAAC,MAAM,EAAE,MAAM;IA+BlC,kBAAkB;IAQV,QAAQ,EAAE,OAAO,CAAC;IAE1B,IACI,SAAS,YAEZ;IAED,IACI,QAAQ,YAKX;IAED,IACI,OAAO,YAUV;IAED,IACI,OAAO,YAMV;IAED,IACI,KAAK,YAIR;IAED,IACI,SAAS,YAIZ;IAED,IACI,OAAO,YAEV;IAED,IACI,OAAO,YAMV;IAED,IACI,OAAO,YAOV;IAED,IACI,YAAY,YAMf;IAED,IACI,WAAW,YAEd;IAED,IACI,SAAS,yWA2CZ;IAED,IACI,SAAS,2CAqBZ;CACF"}