jazz-tools 0.19.0 → 0.19.1
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/.turbo/turbo-build.log +51 -51
- package/CHANGELOG.md +10 -0
- package/dist/{chunk-P3YLNFN4.js → chunk-NCNM6UDZ.js} +61 -22
- package/dist/chunk-NCNM6UDZ.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/testing.js +1 -1
- package/dist/tools/coValues/deepLoading.d.ts +8 -7
- package/dist/tools/coValues/deepLoading.d.ts.map +1 -1
- package/dist/tools/coValues/interfaces.d.ts +3 -3
- package/dist/tools/coValues/interfaces.d.ts.map +1 -1
- package/dist/tools/coValues/schemaUnion.d.ts +6 -9
- package/dist/tools/coValues/schemaUnion.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts +18 -7
- package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/unionUtils.d.ts.map +1 -1
- package/dist/tools/subscribe/SubscriptionScope.d.ts +1 -0
- package/dist/tools/subscribe/SubscriptionScope.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/tools/coValues/coList.ts +1 -1
- package/src/tools/coValues/deepLoading.ts +85 -71
- package/src/tools/coValues/interfaces.ts +3 -3
- package/src/tools/coValues/schemaUnion.ts +19 -14
- package/src/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.ts +69 -9
- package/src/tools/implementation/zodSchema/unionUtils.ts +35 -4
- package/src/tools/subscribe/SubscriptionScope.ts +3 -14
- package/src/tools/tests/coDiscriminatedUnion.test.ts +347 -5
- package/src/tools/tests/deepLoading.test.ts +55 -59
- package/src/tools/tests/schema.resolved.test.ts +70 -1
- package/dist/chunk-P3YLNFN4.js.map +0 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> jazz-tools@0.19.
|
|
2
|
+
> jazz-tools@0.19.1 build /home/runner/_work/jazz/jazz/packages/jazz-tools
|
|
3
3
|
> tsup && pnpm types && pnpm build:svelte
|
|
4
4
|
|
|
5
5
|
[34mCLI[39m Building entry: {"index":"src/index.ts","testing":"src/testing.ts","tools/ssr":"src/tools/ssr/index.ts"}
|
|
@@ -107,29 +107,12 @@
|
|
|
107
107
|
[34mESM[39m Build start
|
|
108
108
|
[34mCLI[39m Cleaning output folder
|
|
109
109
|
[34mESM[39m Build start
|
|
110
|
-
[32mESM[39m [1mdist/tiptap/index.js [22m[32m564.00 B[39m
|
|
111
|
-
[32mESM[39m [1mdist/tiptap/index.js.map [22m[32m1.21 KB[39m
|
|
112
|
-
[32mESM[39m ⚡️ Build success in 47ms
|
|
113
|
-
[32mESM[39m [1mdist/worker/index.js [22m[32m3.19 KB[39m
|
|
114
|
-
[32mESM[39m [1mdist/worker/napi-crypto.js [22m[32m110.00 B[39m
|
|
115
|
-
[32mESM[39m [1mdist/worker/edge-wasm.js [22m[32m215.00 B[39m
|
|
116
|
-
[32mESM[39m [1mdist/worker/index.js.map [22m[32m6.24 KB[39m
|
|
117
|
-
[32mESM[39m [1mdist/worker/napi-crypto.js.map [22m[32m162.00 B[39m
|
|
118
|
-
[32mESM[39m [1mdist/worker/edge-wasm.js.map [22m[32m434.00 B[39m
|
|
119
|
-
[32mESM[39m ⚡️ Build success in 48ms
|
|
120
110
|
[32mESM[39m [1mdist/better-auth/auth/client.js [22m[32m4.50 KB[39m
|
|
121
111
|
[32mESM[39m [1mdist/better-auth/auth/server.js [22m[32m8.36 KB[39m
|
|
122
112
|
[32mESM[39m [1mdist/better-auth/auth/react.js [22m[32m799.00 B[39m
|
|
123
113
|
[32mESM[39m [1mdist/better-auth/auth/client.js.map [22m[32m8.32 KB[39m
|
|
124
114
|
[32mESM[39m [1mdist/better-auth/auth/server.js.map [22m[32m15.31 KB[39m
|
|
125
115
|
[32mESM[39m [1mdist/better-auth/auth/react.js.map [22m[32m2.04 KB[39m
|
|
126
|
-
[32mESM[39m ⚡️ Build success in 42ms
|
|
127
|
-
[32mESM[39m [1mdist/react-native/index.js [22m[32m2.53 KB[39m
|
|
128
|
-
[32mESM[39m [1mdist/react-native/testing.js [22m[32m120.00 B[39m
|
|
129
|
-
[32mESM[39m [1mdist/react-native/crypto.js [22m[32m161.00 B[39m
|
|
130
|
-
[32mESM[39m [1mdist/react-native/index.js.map [22m[32m5.68 KB[39m
|
|
131
|
-
[32mESM[39m [1mdist/react-native/testing.js.map [22m[32m176.00 B[39m
|
|
132
|
-
[32mESM[39m [1mdist/react-native/crypto.js.map [22m[32m197.00 B[39m
|
|
133
116
|
[32mESM[39m ⚡️ Build success in 45ms
|
|
134
117
|
[32mESM[39m [1mdist/media/index.js [22m[32m236.00 B[39m
|
|
135
118
|
[32mESM[39m [1mdist/media/index.browser.js [22m[32m2.79 KB[39m
|
|
@@ -141,71 +124,88 @@
|
|
|
141
124
|
[32mESM[39m [1mdist/media/index.native.js.map [22m[32m8.10 KB[39m
|
|
142
125
|
[32mESM[39m [1mdist/media/index.server.js.map [22m[32m6.37 KB[39m
|
|
143
126
|
[32mESM[39m [1mdist/media/chunk-3LKBM3G3.js.map [22m[32m16.99 KB[39m
|
|
144
|
-
[32mESM[39m ⚡️ Build success in
|
|
145
|
-
[32mESM[39m [1mdist/
|
|
146
|
-
[32mESM[39m [1mdist/
|
|
147
|
-
[32mESM[39m ⚡️ Build success in
|
|
148
|
-
[32mESM[39m [1mdist/expo/index.js [22m[32m4.68 KB[39m
|
|
149
|
-
[32mESM[39m [1mdist/expo/crypto.js [22m[32m153.00 B[39m
|
|
150
|
-
[32mESM[39m [1mdist/expo/testing.js [22m[32m112.00 B[39m
|
|
151
|
-
[32mESM[39m [1mdist/expo/index.js.map [22m[32m10.23 KB[39m
|
|
152
|
-
[32mESM[39m [1mdist/expo/crypto.js.map [22m[32m189.00 B[39m
|
|
153
|
-
[32mESM[39m [1mdist/expo/testing.js.map [22m[32m168.00 B[39m
|
|
154
|
-
[32mESM[39m ⚡️ Build success in 69ms
|
|
155
|
-
[32mESM[39m [1mdist/react-core/testing.js [22m[32m1.22 KB[39m
|
|
127
|
+
[32mESM[39m ⚡️ Build success in 51ms
|
|
128
|
+
[32mESM[39m [1mdist/tiptap/index.js [22m[32m564.00 B[39m
|
|
129
|
+
[32mESM[39m [1mdist/tiptap/index.js.map [22m[32m1.21 KB[39m
|
|
130
|
+
[32mESM[39m ⚡️ Build success in 58ms
|
|
156
131
|
[32mESM[39m [1mdist/react-core/index.js [22m[32m14.37 KB[39m
|
|
132
|
+
[32mESM[39m [1mdist/react-core/testing.js [22m[32m1.22 KB[39m
|
|
157
133
|
[32mESM[39m [1mdist/react-core/chunk-7DYMJ74I.js [22m[32m279.00 B[39m
|
|
158
|
-
[32mESM[39m [1mdist/react-core/testing.js.map [22m[32m1.86 KB[39m
|
|
159
134
|
[32mESM[39m [1mdist/react-core/index.js.map [22m[32m40.54 KB[39m
|
|
135
|
+
[32mESM[39m [1mdist/react-core/testing.js.map [22m[32m1.86 KB[39m
|
|
160
136
|
[32mESM[39m [1mdist/react-core/chunk-7DYMJ74I.js.map [22m[32m533.00 B[39m
|
|
161
|
-
[32mESM[39m ⚡️ Build success in
|
|
162
|
-
[32mESM[39m [1mdist/
|
|
163
|
-
[32mESM[39m [1mdist/
|
|
164
|
-
[32mESM[39m [1mdist/
|
|
165
|
-
[32mESM[39m [1mdist/
|
|
166
|
-
[32mESM[39m [1mdist/
|
|
167
|
-
[32mESM[39m [1mdist/
|
|
137
|
+
[32mESM[39m ⚡️ Build success in 49ms
|
|
138
|
+
[32mESM[39m [1mdist/worker/index.js [22m[32m3.19 KB[39m
|
|
139
|
+
[32mESM[39m [1mdist/worker/edge-wasm.js [22m[32m215.00 B[39m
|
|
140
|
+
[32mESM[39m [1mdist/worker/napi-crypto.js [22m[32m110.00 B[39m
|
|
141
|
+
[32mESM[39m [1mdist/worker/index.js.map [22m[32m6.24 KB[39m
|
|
142
|
+
[32mESM[39m [1mdist/worker/napi-crypto.js.map [22m[32m162.00 B[39m
|
|
143
|
+
[32mESM[39m [1mdist/worker/edge-wasm.js.map [22m[32m434.00 B[39m
|
|
144
|
+
[32mESM[39m ⚡️ Build success in 55ms
|
|
145
|
+
[32mESM[39m [1mdist/react-native/index.js [22m[32m2.53 KB[39m
|
|
146
|
+
[32mESM[39m [1mdist/react-native/testing.js [22m[32m120.00 B[39m
|
|
147
|
+
[32mESM[39m [1mdist/react-native/crypto.js [22m[32m161.00 B[39m
|
|
148
|
+
[32mESM[39m [1mdist/react-native/index.js.map [22m[32m5.68 KB[39m
|
|
149
|
+
[32mESM[39m [1mdist/react-native/testing.js.map [22m[32m176.00 B[39m
|
|
150
|
+
[32mESM[39m [1mdist/react-native/crypto.js.map [22m[32m197.00 B[39m
|
|
168
151
|
[32mESM[39m ⚡️ Build success in 65ms
|
|
169
152
|
[32mESM[39m [1mdist/better-auth/database-adapter/index.js [22m[32m26.65 KB[39m
|
|
170
153
|
[32mESM[39m [1mdist/better-auth/database-adapter/index.js.map [22m[32m58.26 KB[39m
|
|
171
|
-
[32mESM[39m ⚡️ Build success in
|
|
154
|
+
[32mESM[39m ⚡️ Build success in 58ms
|
|
155
|
+
[32mESM[39m [1mdist/browser/index.js [22m[32m14.06 KB[39m
|
|
156
|
+
[32mESM[39m [1mdist/browser/index.js.map [22m[32m29.94 KB[39m
|
|
157
|
+
[32mESM[39m ⚡️ Build success in 73ms
|
|
158
|
+
[32mESM[39m [1mdist/prosemirror/index.js [22m[32m77.76 KB[39m
|
|
159
|
+
[32mESM[39m [1mdist/prosemirror/index.js.map [22m[32m307.20 KB[39m
|
|
160
|
+
[32mESM[39m ⚡️ Build success in 70ms
|
|
161
|
+
[32mESM[39m [1mdist/expo/index.js [22m[32m4.68 KB[39m
|
|
162
|
+
[32mESM[39m [1mdist/expo/testing.js [22m[32m112.00 B[39m
|
|
163
|
+
[32mESM[39m [1mdist/expo/crypto.js [22m[32m153.00 B[39m
|
|
164
|
+
[32mESM[39m [1mdist/expo/index.js.map [22m[32m10.23 KB[39m
|
|
165
|
+
[32mESM[39m [1mdist/expo/testing.js.map [22m[32m168.00 B[39m
|
|
166
|
+
[32mESM[39m [1mdist/expo/crypto.js.map [22m[32m189.00 B[39m
|
|
167
|
+
[32mESM[39m ⚡️ Build success in 71ms
|
|
172
168
|
[32mESM[39m [1mdist/react-native-core/index.js [22m[32m18.97 KB[39m
|
|
173
169
|
[32mESM[39m [1mdist/react-native-core/testing.js [22m[32m119.00 B[39m
|
|
174
170
|
[32mESM[39m [1mdist/react-native-core/crypto.js [22m[32m2.10 KB[39m
|
|
175
171
|
[32mESM[39m [1mdist/react-native-core/index.js.map [22m[32m38.60 KB[39m
|
|
176
172
|
[32mESM[39m [1mdist/react-native-core/testing.js.map [22m[32m175.00 B[39m
|
|
177
173
|
[32mESM[39m [1mdist/react-native-core/crypto.js.map [22m[32m4.25 KB[39m
|
|
178
|
-
[32mESM[39m ⚡️ Build success in
|
|
179
|
-
[32mESM[39m [1mdist/
|
|
180
|
-
[32mESM[39m [1mdist/
|
|
181
|
-
[32mESM[39m
|
|
174
|
+
[32mESM[39m ⚡️ Build success in 74ms
|
|
175
|
+
[32mESM[39m [1mdist/react/index.js [22m[32m25.74 KB[39m
|
|
176
|
+
[32mESM[39m [1mdist/react/testing.js [22m[32m122.00 B[39m
|
|
177
|
+
[32mESM[39m [1mdist/react/ssr.js [22m[32m697.00 B[39m
|
|
178
|
+
[32mESM[39m [1mdist/react/index.js.map [22m[32m55.43 KB[39m
|
|
179
|
+
[32mESM[39m [1mdist/react/testing.js.map [22m[32m165.00 B[39m
|
|
180
|
+
[32mESM[39m [1mdist/react/ssr.js.map [22m[32m1.11 KB[39m
|
|
181
|
+
[32mESM[39m ⚡️ Build success in 75ms
|
|
182
182
|
[32mESM[39m [1mdist/inspector/index.js [22m[32m97.51 KB[39m
|
|
183
183
|
[32mESM[39m [1mdist/inspector/index.js.map [22m[32m171.35 KB[39m
|
|
184
184
|
[32mESM[39m ⚡️ Build success in 95ms
|
|
185
|
-
[32mESM[39m [1mdist/index.js [22m[32m29.09 KB[39m
|
|
186
185
|
[32mESM[39m [1mdist/testing.js [22m[32m8.51 KB[39m
|
|
187
|
-
[32mESM[39m [1mdist/
|
|
186
|
+
[32mESM[39m [1mdist/index.js [22m[32m29.09 KB[39m
|
|
188
187
|
[32mESM[39m [1mdist/tools/ssr.js [22m[32m156.00 B[39m
|
|
189
188
|
[32mESM[39m [1mdist/chunk-M2HGBOXS.js [22m[32m694.00 B[39m
|
|
190
189
|
[32mESM[39m [1mdist/chunk-PZ5AY32C.js [22m[32m233.00 B[39m
|
|
191
|
-
[32mESM[39m [1mdist/
|
|
190
|
+
[32mESM[39m [1mdist/chunk-NCNM6UDZ.js [22m[32m200.80 KB[39m
|
|
192
191
|
[32mESM[39m [1mdist/testing.js.map [22m[32m16.17 KB[39m
|
|
193
|
-
[32mESM[39m [1mdist/
|
|
192
|
+
[32mESM[39m [1mdist/index.js.map [22m[32m60.08 KB[39m
|
|
194
193
|
[32mESM[39m [1mdist/tools/ssr.js.map [22m[32m71.00 B[39m
|
|
195
194
|
[32mESM[39m [1mdist/chunk-M2HGBOXS.js.map [22m[32m1.10 KB[39m
|
|
196
195
|
[32mESM[39m [1mdist/chunk-PZ5AY32C.js.map [22m[32m71.00 B[39m
|
|
197
|
-
[32mESM[39m
|
|
196
|
+
[32mESM[39m [1mdist/chunk-NCNM6UDZ.js.map [22m[32m473.58 KB[39m
|
|
197
|
+
[32mESM[39m ⚡️ Build success in 112ms
|
|
198
198
|
[32mESM[39m [1mdist/inspector/register-custom-element.js [22m[32m218.00 B[39m
|
|
199
199
|
[32mESM[39m [1mdist/inspector/register-custom-element.js.map [22m[32m314.00 B[39m
|
|
200
200
|
[32mESM[39m [1mdist/inspector/custom-element-QESCMFY7.js [22m[32m1.57 MB[39m
|
|
201
201
|
[32mESM[39m [1mdist/inspector/custom-element-QESCMFY7.js.map [22m[32m2.41 MB[39m
|
|
202
|
-
[32mESM[39m ⚡️ Build success in
|
|
202
|
+
[32mESM[39m ⚡️ Build success in 164ms
|
|
203
203
|
|
|
204
|
-
> jazz-tools@0.19.
|
|
204
|
+
> jazz-tools@0.19.1 types /home/runner/_work/jazz/jazz/packages/jazz-tools
|
|
205
205
|
> tsc --outDir dist
|
|
206
206
|
|
|
207
207
|
|
|
208
|
-
> jazz-tools@0.19.
|
|
208
|
+
> jazz-tools@0.19.1 build:svelte /home/runner/_work/jazz/jazz/packages/jazz-tools
|
|
209
209
|
> rm -rf dist/svelte && svelte-package -i src/svelte -o dist/svelte --tsconfig tsconfig.svelte.json
|
|
210
210
|
|
|
211
211
|
src/svelte -> dist/svelte
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# jazz-tools
|
|
2
2
|
|
|
3
|
+
## 0.19.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- f444bd9: Add `resolve` support for `co.discriminatedUnion`
|
|
8
|
+
- Updated dependencies [afd2ded]
|
|
9
|
+
- cojson@0.19.1
|
|
10
|
+
- cojson-storage-indexeddb@0.19.1
|
|
11
|
+
- cojson-transport-ws@0.19.1
|
|
12
|
+
|
|
3
13
|
## 0.19.0
|
|
4
14
|
|
|
5
15
|
### Minor Changes
|
|
@@ -3340,8 +3340,6 @@ var SchemaUnion = class _SchemaUnion extends CoValueBase {
|
|
|
3340
3340
|
/**
|
|
3341
3341
|
* Load a `SchemaUnion` with a given ID, as a given account.
|
|
3342
3342
|
*
|
|
3343
|
-
* Note: The `resolve` option is not supported for `SchemaUnion`s due to https://github.com/garden-co/jazz/issues/2639
|
|
3344
|
-
*
|
|
3345
3343
|
* @category Subscription & Loading
|
|
3346
3344
|
*/
|
|
3347
3345
|
static load(id, options) {
|
|
@@ -4177,6 +4175,7 @@ var SubscriptionScope = class _SubscriptionScope {
|
|
|
4177
4175
|
this.autoloadedKeys = /* @__PURE__ */ new Set();
|
|
4178
4176
|
this.skipInvalidKeys = /* @__PURE__ */ new Set();
|
|
4179
4177
|
this.totalValidTransactions = 0;
|
|
4178
|
+
this.version = 0;
|
|
4180
4179
|
this.migrated = false;
|
|
4181
4180
|
this.migrating = false;
|
|
4182
4181
|
this.closed = false;
|
|
@@ -4283,9 +4282,7 @@ var SubscriptionScope = class _SubscriptionScope {
|
|
|
4283
4282
|
this.updateValue(createCoValue(this.schema, update, this));
|
|
4284
4283
|
this.loadChildren();
|
|
4285
4284
|
} else {
|
|
4286
|
-
const hasChanged = update.totalValidTransactions !== this.totalValidTransactions ||
|
|
4287
|
-
// has been updated and the coValues that don't update the totalValidTransactions value (e.g. FileStream)
|
|
4288
|
-
this.value.value.$jazz.raw !== update;
|
|
4285
|
+
const hasChanged = update.totalValidTransactions !== this.totalValidTransactions || update.version !== this.version;
|
|
4289
4286
|
if (this.loadChildren()) {
|
|
4290
4287
|
this.updateValue(createCoValue(this.schema, update, this));
|
|
4291
4288
|
} else if (hasChanged) {
|
|
@@ -4293,6 +4290,7 @@ var SubscriptionScope = class _SubscriptionScope {
|
|
|
4293
4290
|
}
|
|
4294
4291
|
}
|
|
4295
4292
|
this.totalValidTransactions = update.totalValidTransactions;
|
|
4293
|
+
this.version = update.version;
|
|
4296
4294
|
this.silenceUpdates = false;
|
|
4297
4295
|
this.triggerUpdate();
|
|
4298
4296
|
}
|
|
@@ -4547,17 +4545,6 @@ var SubscriptionScope = class _SubscriptionScope {
|
|
|
4547
4545
|
const id = map.$jazz.raw.get(key);
|
|
4548
4546
|
const descriptor = map.$jazz.getDescriptor(key);
|
|
4549
4547
|
if (!descriptor) {
|
|
4550
|
-
this.childErrors.set(
|
|
4551
|
-
key,
|
|
4552
|
-
new JazzError(void 0, CoValueLoadingState.UNAVAILABLE, [
|
|
4553
|
-
{
|
|
4554
|
-
code: "validationError",
|
|
4555
|
-
message: `The ref ${key} requested on ${map.constructor.name} is not defined in the schema`,
|
|
4556
|
-
params: {},
|
|
4557
|
-
path: [key]
|
|
4558
|
-
}
|
|
4559
|
-
])
|
|
4560
|
-
);
|
|
4561
4548
|
return void 0;
|
|
4562
4549
|
}
|
|
4563
4550
|
if (isRefEncoded(descriptor)) {
|
|
@@ -4889,19 +4876,32 @@ function createAnonymousJazzContext({
|
|
|
4889
4876
|
}
|
|
4890
4877
|
|
|
4891
4878
|
// src/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.ts
|
|
4892
|
-
var CoDiscriminatedUnionSchema = class {
|
|
4879
|
+
var CoDiscriminatedUnionSchema = class _CoDiscriminatedUnionSchema {
|
|
4893
4880
|
constructor(coreSchema, coValueClass) {
|
|
4894
4881
|
this.coValueClass = coValueClass;
|
|
4895
4882
|
this.collaborative = true;
|
|
4896
4883
|
this.builtin = "CoDiscriminatedUnion";
|
|
4884
|
+
/**
|
|
4885
|
+
* Default resolve query to be used when loading instances of this schema.
|
|
4886
|
+
* This resolve query will be used when no resolve query is provided to the load method.
|
|
4887
|
+
* @default true
|
|
4888
|
+
*/
|
|
4897
4889
|
this.resolveQuery = true;
|
|
4898
4890
|
this.getDefinition = coreSchema.getDefinition;
|
|
4899
4891
|
}
|
|
4900
4892
|
load(id, options) {
|
|
4901
|
-
return this.coValueClass.load(
|
|
4893
|
+
return this.coValueClass.load(
|
|
4894
|
+
id,
|
|
4895
|
+
// @ts-expect-error
|
|
4896
|
+
withSchemaResolveQuery(options, this.resolveQuery)
|
|
4897
|
+
);
|
|
4902
4898
|
}
|
|
4903
4899
|
subscribe(id, options, listener) {
|
|
4904
|
-
return this.coValueClass.subscribe(
|
|
4900
|
+
return this.coValueClass.subscribe(
|
|
4901
|
+
id,
|
|
4902
|
+
withSchemaResolveQuery(options, this.resolveQuery),
|
|
4903
|
+
listener
|
|
4904
|
+
);
|
|
4905
4905
|
}
|
|
4906
4906
|
getCoValueClass() {
|
|
4907
4907
|
return this.coValueClass;
|
|
@@ -4909,6 +4909,23 @@ var CoDiscriminatedUnionSchema = class {
|
|
|
4909
4909
|
optional() {
|
|
4910
4910
|
return coOptionalDefiner(this);
|
|
4911
4911
|
}
|
|
4912
|
+
/**
|
|
4913
|
+
* Adds a default resolve query to be used when loading instances of this schema.
|
|
4914
|
+
* This resolve query will be used when no resolve query is provided to the load method.
|
|
4915
|
+
*/
|
|
4916
|
+
resolved(resolveQuery) {
|
|
4917
|
+
const definition = this.getDefinition();
|
|
4918
|
+
const coreSchema = createCoreCoDiscriminatedUnionSchema(
|
|
4919
|
+
definition.discriminator,
|
|
4920
|
+
definition.options
|
|
4921
|
+
);
|
|
4922
|
+
const copy = new _CoDiscriminatedUnionSchema(
|
|
4923
|
+
coreSchema,
|
|
4924
|
+
this.coValueClass
|
|
4925
|
+
);
|
|
4926
|
+
copy.resolveQuery = resolveQuery;
|
|
4927
|
+
return copy;
|
|
4928
|
+
}
|
|
4912
4929
|
};
|
|
4913
4930
|
function createCoreCoDiscriminatedUnionSchema(discriminator, schemas) {
|
|
4914
4931
|
return {
|
|
@@ -5728,10 +5745,20 @@ function schemaUnionDiscriminatorFor(schema) {
|
|
|
5728
5745
|
}
|
|
5729
5746
|
}
|
|
5730
5747
|
const determineSchema = (discriminable) => {
|
|
5748
|
+
const allNestedRefKeys = /* @__PURE__ */ new Set();
|
|
5749
|
+
for (const option of availableOptions) {
|
|
5750
|
+
const coMapShape = option.getDefinition().shape;
|
|
5751
|
+
for (const [key, value] of Object.entries(coMapShape)) {
|
|
5752
|
+
if (isAnyCoValueSchema2(value)) {
|
|
5753
|
+
allNestedRefKeys.add(key);
|
|
5754
|
+
}
|
|
5755
|
+
}
|
|
5756
|
+
}
|
|
5731
5757
|
for (const option of availableOptions) {
|
|
5732
5758
|
let match = true;
|
|
5759
|
+
const optionDef = option.getDefinition();
|
|
5733
5760
|
for (const key of Object.keys(discriminatorMap)) {
|
|
5734
|
-
const discriminatorDef =
|
|
5761
|
+
const discriminatorDef = optionDef.shape[key];
|
|
5735
5762
|
const discriminatorValue = discriminable.get(key);
|
|
5736
5763
|
if (discriminatorValue && typeof discriminatorValue === "object") {
|
|
5737
5764
|
throw new Error("Discriminator must be a primitive value");
|
|
@@ -5755,7 +5782,19 @@ function schemaUnionDiscriminatorFor(schema) {
|
|
|
5755
5782
|
}
|
|
5756
5783
|
if (match) {
|
|
5757
5784
|
const coValueSchema = hydrateCoreCoValueSchema(option);
|
|
5758
|
-
|
|
5785
|
+
const coValueClass = coValueSchema.getCoValueClass();
|
|
5786
|
+
const dummyFieldNames = allNestedRefKeys.keys().filter((key) => !optionDef.shape[key]).toArray();
|
|
5787
|
+
if (dummyFieldNames.length === 0) {
|
|
5788
|
+
return coValueClass;
|
|
5789
|
+
}
|
|
5790
|
+
return class extends coValueClass {
|
|
5791
|
+
constructor(...args) {
|
|
5792
|
+
super(...args);
|
|
5793
|
+
for (const key of dummyFieldNames) {
|
|
5794
|
+
this[key] = coField.null;
|
|
5795
|
+
}
|
|
5796
|
+
}
|
|
5797
|
+
};
|
|
5759
5798
|
}
|
|
5760
5799
|
}
|
|
5761
5800
|
throw new Error(
|
|
@@ -6907,4 +6946,4 @@ export {
|
|
|
6907
6946
|
JazzContextManager
|
|
6908
6947
|
};
|
|
6909
6948
|
/* istanbul ignore file -- @preserve */
|
|
6910
|
-
//# sourceMappingURL=chunk-
|
|
6949
|
+
//# sourceMappingURL=chunk-NCNM6UDZ.js.map
|