@osdk/functions 1.6.0-beta.3 → 1.6.0-beta.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.
Files changed (66) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/build/browser/aliases/custom.js +26 -0
  3. package/build/browser/aliases/custom.js.map +1 -0
  4. package/build/browser/aliases/environment.js +48 -0
  5. package/build/browser/aliases/environment.js.map +1 -0
  6. package/build/browser/aliases/index.js +19 -0
  7. package/build/browser/aliases/index.js.map +1 -0
  8. package/build/browser/aliases/loaders.js +66 -0
  9. package/build/browser/aliases/loaders.js.map +1 -0
  10. package/build/browser/aliases/model.js +26 -0
  11. package/build/browser/aliases/model.js.map +1 -0
  12. package/build/browser/aliases/types.js +30 -0
  13. package/build/browser/aliases/types.js.map +1 -0
  14. package/build/browser/edits/EditBatch.js.map +1 -1
  15. package/build/browser/index.js +1 -0
  16. package/build/browser/index.js.map +1 -1
  17. package/build/cjs/{EditBatch-CwPxevhT.d.cts → EditBatch-DenXqhoa.d.cts} +2 -2
  18. package/build/cjs/index.cjs +133 -0
  19. package/build/cjs/index.cjs.map +1 -1
  20. package/build/cjs/index.d.cts +21 -2
  21. package/build/cjs/public/experimental.d.cts +1 -1
  22. package/build/cjs/public/unstable-do-not-use.d.cts +1 -1
  23. package/build/esm/aliases/custom.js +26 -0
  24. package/build/esm/aliases/custom.js.map +1 -0
  25. package/build/esm/aliases/environment.js +48 -0
  26. package/build/esm/aliases/environment.js.map +1 -0
  27. package/build/esm/aliases/index.js +19 -0
  28. package/build/esm/aliases/index.js.map +1 -0
  29. package/build/esm/aliases/loaders.js +66 -0
  30. package/build/esm/aliases/loaders.js.map +1 -0
  31. package/build/esm/aliases/model.js +26 -0
  32. package/build/esm/aliases/model.js.map +1 -0
  33. package/build/esm/aliases/types.js +30 -0
  34. package/build/esm/aliases/types.js.map +1 -0
  35. package/build/esm/edits/EditBatch.js.map +1 -1
  36. package/build/esm/index.js +1 -0
  37. package/build/esm/index.js.map +1 -1
  38. package/build/types/aliases/custom.d.ts +3 -0
  39. package/build/types/aliases/custom.d.ts.map +1 -0
  40. package/build/types/aliases/environment.d.ts +6 -0
  41. package/build/types/aliases/environment.d.ts.map +1 -0
  42. package/build/types/aliases/index.d.ts +2 -0
  43. package/build/types/aliases/index.d.ts.map +1 -0
  44. package/build/types/aliases/loaders.d.ts +3 -0
  45. package/build/types/aliases/loaders.d.ts.map +1 -0
  46. package/build/types/aliases/model.d.ts +3 -0
  47. package/build/types/aliases/model.d.ts.map +1 -0
  48. package/build/types/aliases/types.d.ts +40 -0
  49. package/build/types/aliases/types.d.ts.map +1 -0
  50. package/build/types/edits/EditBatch.d.ts +2 -2
  51. package/build/types/edits/EditBatch.d.ts.map +1 -1
  52. package/build/types/index.d.ts +1 -0
  53. package/build/types/index.d.ts.map +1 -1
  54. package/package.json +4 -4
  55. package/build/browser/edits/createEditBatch.test.js +0 -519
  56. package/build/browser/edits/createEditBatch.test.js.map +0 -1
  57. package/build/browser/transactions/EditRequestManager.test.js +0 -311
  58. package/build/browser/transactions/EditRequestManager.test.js.map +0 -1
  59. package/build/esm/edits/createEditBatch.test.js +0 -519
  60. package/build/esm/edits/createEditBatch.test.js.map +0 -1
  61. package/build/esm/transactions/EditRequestManager.test.js +0 -311
  62. package/build/esm/transactions/EditRequestManager.test.js.map +0 -1
  63. package/build/types/edits/createEditBatch.test.d.ts +0 -1
  64. package/build/types/edits/createEditBatch.test.d.ts.map +0 -1
  65. package/build/types/transactions/EditRequestManager.test.d.ts +0 -1
  66. package/build/types/transactions/EditRequestManager.test.d.ts.map +0 -1
@@ -1,519 +0,0 @@
1
- /*
2
- * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- import { FooInterface, objectTypeWithAllPropertyTypes, Office, Task } from "@osdk/client.test.ontology";
18
- import { beforeEach, describe, expect, it, vi } from "vitest";
19
- import { createEditBatch } from "./createEditBatch.js";
20
- describe(createEditBatch, () => {
21
- const taskInstance = {
22
- $apiName: "Task",
23
- $primaryKey: 2
24
- };
25
- const personInstance = {
26
- $apiName: "Person",
27
- $primaryKey: 2
28
- };
29
- const officeInstance = {
30
- $apiName: "Office",
31
- $primaryKey: "2"
32
- };
33
- const employeeInstance = {
34
- $apiName: "Employee",
35
- $primaryKey: 2
36
- };
37
- const fooInterfaceInstance = {
38
- $apiName: "FooInterface",
39
- $primaryKey: 21,
40
- $objectType: "FooObjectType"
41
- };
42
- let client;
43
- let editBatch;
44
- beforeEach(() => {
45
- client = vi.fn();
46
- editBatch = createEditBatch(client);
47
- });
48
- it("collects all edits", () => {
49
- editBatch.create(objectTypeWithAllPropertyTypes, {
50
- id: 0,
51
- attachment: "ri.foo",
52
- attachment2: {
53
- rid: "ri.bar"
54
- },
55
- mediaReference: {
56
- mimeType: "myTime",
57
- reference: {
58
- type: "mediaSetViewItem",
59
- mediaSetViewItem: {
60
- mediaItemRid: "rid.something",
61
- mediaSetRid: "rid.something2",
62
- mediaSetViewRid: "rid.something3"
63
- }
64
- }
65
- },
66
- vector: [1, 2, 3]
67
- });
68
- editBatch.create(Task, {
69
- id: 0,
70
- name: "My Task Name"
71
- });
72
- editBatch.create(Task, {
73
- id: 1,
74
- name: "My Other Task Name"
75
- });
76
- editBatch.create(Task, {
77
- id: 3
78
- });
79
- editBatch.delete({
80
- $apiName: "Task",
81
- $primaryKey: 0
82
- });
83
- editBatch.delete(taskInstance);
84
- editBatch.update({
85
- $apiName: "Task",
86
- $primaryKey: 0
87
- }, {
88
- name: "My New Task Name"
89
- });
90
- editBatch.update(taskInstance, {
91
- name: "My Very New Task Name"
92
- });
93
- editBatch.update({
94
- $apiName: "Task",
95
- $primaryKey: 3
96
- }, {});
97
- editBatch.create(Task, {
98
- id: 0,
99
- name: "My Task Name"
100
- });
101
- editBatch.create(Office, {
102
- officeId: "3",
103
- capacity: 2
104
- });
105
- editBatch.update({
106
- $apiName: "Office",
107
- $primaryKey: "3"
108
- }, {
109
- capacity: 4
110
- });
111
- editBatch.create(FooInterface, {
112
- $objectType: "Task",
113
- fooSpt: "created interface"
114
- });
115
- editBatch.update(fooInterfaceInstance, {
116
- fooSpt: "fooSpt"
117
- });
118
- editBatch.update({
119
- $apiName: "FooInterface",
120
- $objectType: "FooObjectType",
121
- $primaryKey: 22
122
- }, {
123
- fooSpt: "fooSpt2"
124
- });
125
- editBatch.delete(fooInterfaceInstance);
126
- editBatch.link({
127
- $apiName: "Employee",
128
- $primaryKey: 0
129
- }, "visitedOffices", {
130
- $apiName: "Office",
131
- $primaryKey: "Seattle"
132
- });
133
- editBatch.link({
134
- $apiName: "Employee",
135
- $primaryKey: 0
136
- }, "visitedOffices", {
137
- $apiName: "Office",
138
- $primaryKey: "Palo Alto"
139
- });
140
- editBatch.link(employeeInstance, "visitedOffices", officeInstance);
141
- editBatch.unlink({
142
- $apiName: "Employee",
143
- $primaryKey: 0
144
- }, "visitedOffices", {
145
- $apiName: "Office",
146
- $primaryKey: "New York"
147
- });
148
- editBatch.link(taskInstance, "Todos", {
149
- $apiName: "Todo",
150
- $primaryKey: 0
151
- });
152
- editBatch.link(taskInstance, "Todos", [{
153
- $apiName: "Todo",
154
- $primaryKey: 1
155
- }, {
156
- $apiName: "Todo",
157
- $primaryKey: 2
158
- }]);
159
- editBatch.unlink({
160
- $apiName: "Task",
161
- $primaryKey: 2
162
- }, "Todos", {
163
- $apiName: "Todo",
164
- $primaryKey: 0
165
- });
166
- editBatch.link(officeInstance, "occupants", employeeInstance);
167
- editBatch.unlink({
168
- $apiName: "Office",
169
- $primaryKey: "Denver"
170
- }, "occupants", [employeeInstance, {
171
- $apiName: "Employee",
172
- $primaryKey: 3
173
- }]);
174
- expect(editBatch.getEdits()).toEqual([{
175
- type: "createObject",
176
- obj: objectTypeWithAllPropertyTypes,
177
- properties: {
178
- id: 0,
179
- attachment: "ri.foo",
180
- attachment2: {
181
- rid: "ri.bar"
182
- },
183
- mediaReference: {
184
- mimeType: "myTime",
185
- reference: {
186
- type: "mediaSetViewItem",
187
- mediaSetViewItem: {
188
- mediaItemRid: "rid.something",
189
- mediaSetRid: "rid.something2",
190
- mediaSetViewRid: "rid.something3"
191
- }
192
- }
193
- },
194
- vector: [1, 2, 3]
195
- }
196
- }, {
197
- type: "createObject",
198
- obj: Task,
199
- properties: {
200
- id: 0,
201
- name: "My Task Name"
202
- }
203
- }, {
204
- type: "createObject",
205
- obj: Task,
206
- properties: {
207
- id: 1,
208
- name: "My Other Task Name"
209
- }
210
- }, {
211
- type: "createObject",
212
- obj: Task,
213
- properties: {
214
- id: 3
215
- }
216
- }, {
217
- type: "deleteObject",
218
- obj: {
219
- $apiName: "Task",
220
- $primaryKey: 0
221
- }
222
- }, {
223
- type: "deleteObject",
224
- obj: {
225
- $apiName: "Task",
226
- $primaryKey: 2
227
- }
228
- }, {
229
- type: "updateObject",
230
- obj: {
231
- $apiName: "Task",
232
- $primaryKey: 0
233
- },
234
- properties: {
235
- name: "My New Task Name"
236
- }
237
- }, {
238
- type: "updateObject",
239
- obj: {
240
- $apiName: "Task",
241
- $primaryKey: 2
242
- },
243
- properties: {
244
- name: "My Very New Task Name"
245
- }
246
- }, {
247
- type: "updateObject",
248
- obj: {
249
- $apiName: "Task",
250
- $primaryKey: 3
251
- },
252
- properties: {}
253
- }, {
254
- type: "createObject",
255
- obj: Task,
256
- properties: {
257
- id: 0,
258
- name: "My Task Name"
259
- }
260
- }, {
261
- type: "createObject",
262
- obj: Office,
263
- properties: {
264
- officeId: "3",
265
- capacity: 2
266
- }
267
- }, {
268
- type: "updateObject",
269
- obj: {
270
- $apiName: "Office",
271
- $primaryKey: "3"
272
- },
273
- properties: {
274
- capacity: 4
275
- }
276
- }, {
277
- type: "createObjectForInterface",
278
- int: FooInterface,
279
- properties: {
280
- fooSpt: "created interface",
281
- $objectType: "Task"
282
- }
283
- }, {
284
- type: "updateObjectForInterface",
285
- obj: {
286
- $apiName: "FooInterface",
287
- $primaryKey: 21,
288
- $objectType: "FooObjectType"
289
- },
290
- properties: {
291
- fooSpt: "fooSpt"
292
- }
293
- }, {
294
- type: "updateObjectForInterface",
295
- obj: {
296
- $apiName: "FooInterface",
297
- $primaryKey: 22,
298
- $objectType: "FooObjectType"
299
- },
300
- properties: {
301
- fooSpt: "fooSpt2"
302
- }
303
- }, {
304
- type: "deleteObjectForInterface",
305
- obj: {
306
- $apiName: "FooInterface",
307
- $primaryKey: 21,
308
- $objectType: "FooObjectType"
309
- }
310
- }, {
311
- type: "addLink",
312
- apiName: "visitedOffices",
313
- source: {
314
- $apiName: "Employee",
315
- $primaryKey: 0
316
- },
317
- target: {
318
- $apiName: "Office",
319
- $primaryKey: "Seattle"
320
- }
321
- }, {
322
- type: "addLink",
323
- apiName: "visitedOffices",
324
- source: {
325
- $apiName: "Employee",
326
- $primaryKey: 0
327
- },
328
- target: {
329
- $apiName: "Office",
330
- $primaryKey: "Palo Alto"
331
- }
332
- }, {
333
- type: "addLink",
334
- apiName: "visitedOffices",
335
- source: {
336
- $apiName: "Employee",
337
- $primaryKey: 2
338
- },
339
- target: {
340
- $apiName: "Office",
341
- $primaryKey: "2"
342
- }
343
- }, {
344
- type: "removeLink",
345
- apiName: "visitedOffices",
346
- source: {
347
- $apiName: "Employee",
348
- $primaryKey: 0
349
- },
350
- target: {
351
- $apiName: "Office",
352
- $primaryKey: "New York"
353
- }
354
- }, {
355
- type: "addLink",
356
- apiName: "Todos",
357
- source: {
358
- $apiName: "Task",
359
- $primaryKey: 2
360
- },
361
- target: {
362
- $apiName: "Todo",
363
- $primaryKey: 0
364
- }
365
- }, {
366
- type: "addLink",
367
- apiName: "Todos",
368
- source: {
369
- $apiName: "Task",
370
- $primaryKey: 2
371
- },
372
- target: {
373
- $apiName: "Todo",
374
- $primaryKey: 1
375
- }
376
- }, {
377
- type: "addLink",
378
- apiName: "Todos",
379
- source: {
380
- $apiName: "Task",
381
- $primaryKey: 2
382
- },
383
- target: {
384
- $apiName: "Todo",
385
- $primaryKey: 2
386
- }
387
- }, {
388
- type: "removeLink",
389
- apiName: "Todos",
390
- source: {
391
- $apiName: "Task",
392
- $primaryKey: 2
393
- },
394
- target: {
395
- $apiName: "Todo",
396
- $primaryKey: 0
397
- }
398
- }, {
399
- type: "addLink",
400
- apiName: "occupants",
401
- source: {
402
- $apiName: "Office",
403
- $primaryKey: "2"
404
- },
405
- target: {
406
- $apiName: "Employee",
407
- $primaryKey: 2
408
- }
409
- }, {
410
- type: "removeLink",
411
- apiName: "occupants",
412
- source: {
413
- $apiName: "Office",
414
- $primaryKey: "Denver"
415
- },
416
- target: {
417
- $apiName: "Employee",
418
- $primaryKey: 2
419
- }
420
- }, {
421
- type: "removeLink",
422
- apiName: "occupants",
423
- source: {
424
- $apiName: "Office",
425
- $primaryKey: "Denver"
426
- },
427
- target: {
428
- $apiName: "Employee",
429
- $primaryKey: 3
430
- }
431
- }]);
432
- });
433
- it("prevents bad link edits", () => {
434
- // @ts-expect-error
435
- editBatch.link(taskInstance, "RP", officeInstance); // Linking to Office instead of Person
436
-
437
- editBatch.link(taskInstance, "RP",
438
- // @ts-expect-error
439
- personInstance);
440
- // Trying to traverse ONE direction
441
-
442
- editBatch.link({
443
- $apiName: "Task",
444
- $primaryKey: 2
445
- },
446
- // @ts-expect-error
447
- "occupants", employeeInstance); // Using Office link
448
-
449
- editBatch.link({
450
- $apiName: "Office",
451
- $primaryKey: "2"
452
- }, "occupants",
453
- // @ts-expect-error
454
- personInstance); // Linking to Person instead of Employee
455
-
456
- // @ts-expect-error
457
- editBatch.link(officeInstance, "Todos", {
458
- $apiName: "Todo",
459
- $primaryKey: 0
460
- }); // Using Task link
461
- });
462
- it("prevents bad unlink edits", () => {
463
- // @ts-expect-error
464
- editBatch.unlink(taskInstance, "RP", officeInstance); // Unlinking Office instead of Person
465
-
466
- editBatch.unlink(taskInstance, "RP",
467
- // @ts-expect-error
468
- [personInstance]); // Using list for non-multiplicity link
469
-
470
- editBatch.unlink({
471
- $apiName: "Task",
472
- $primaryKey: 2
473
- },
474
- // @ts-expect-error
475
- "occupants", employeeInstance); // Using Office link
476
-
477
- editBatch.unlink({
478
- $apiName: "Office",
479
- $primaryKey: "2"
480
- }, "occupants",
481
- // @ts-expect-error
482
- personInstance); // Unlinking Person instead of Employee
483
-
484
- // @ts-expect-error
485
- editBatch.unlink(officeInstance, "Todos", {
486
- $apiName: "Todo",
487
- $primaryKey: 0
488
- }); // Using Task link
489
- });
490
- it("prevents bad update edits", () => {
491
- // @ts-expect-error
492
- editBatch.update(taskInstance, {
493
- capacity: 4
494
- }); // Using Office properties
495
-
496
- // @ts-expect-error
497
- editBatch.update({
498
- $apiName: "Task",
499
- $primaryKey: 2
500
- }, {
501
- capacity: 4
502
- }); // Using Office properties
503
- });
504
- it("prevents bad update edits", () => {
505
- // @ts-expect-error
506
- editBatch.update(taskInstance, {
507
- capacity: 4
508
- }); // Using Office properties
509
-
510
- // @ts-expect-error
511
- editBatch.update({
512
- $apiName: "Task",
513
- $primaryKey: 2
514
- }, {
515
- capacity: 4
516
- }); // Using Office properties
517
- });
518
- });
519
- //# sourceMappingURL=createEditBatch.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createEditBatch.test.js","names":["FooInterface","objectTypeWithAllPropertyTypes","Office","Task","beforeEach","describe","expect","it","vi","createEditBatch","taskInstance","$apiName","$primaryKey","personInstance","officeInstance","employeeInstance","fooInterfaceInstance","$objectType","client","editBatch","fn","create","id","attachment","attachment2","rid","mediaReference","mimeType","reference","type","mediaSetViewItem","mediaItemRid","mediaSetRid","mediaSetViewRid","vector","name","delete","update","officeId","capacity","fooSpt","link","unlink","getEdits","toEqual","obj","properties","int","apiName","source","target"],"sources":["createEditBatch.test.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Attachment, Client, Osdk } from \"@osdk/client\";\nimport type { Employee, Person } from \"@osdk/client.test.ontology\";\nimport {\n FooInterface,\n objectTypeWithAllPropertyTypes,\n Office,\n Task,\n} from \"@osdk/client.test.ontology\";\nimport { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport { createEditBatch } from \"./createEditBatch.js\";\nimport type { EditBatch } from \"./EditBatch.js\";\nimport type { Edits } from \"./types.js\";\n\ntype TestEditScope =\n | Edits.Object<Task>\n | Edits.Object<Office>\n | Edits.Object<objectTypeWithAllPropertyTypes>\n | Edits.Link<Task, \"RP\">\n | Edits.Link<Task, \"Todos\">\n | Edits.Link<Office, \"occupants\">\n | Edits.Link<Employee, \"visitedOffices\">\n | Edits.Interface<FooInterface>;\n\ndescribe(createEditBatch, () => {\n const taskInstance = {\n $apiName: \"Task\",\n $primaryKey: 2,\n } as Osdk.Instance<Task>;\n\n const personInstance = {\n $apiName: \"Person\",\n $primaryKey: 2,\n } as Osdk.Instance<Person>;\n\n const officeInstance = {\n $apiName: \"Office\",\n $primaryKey: \"2\",\n } as Osdk.Instance<Office>;\n\n const employeeInstance = {\n $apiName: \"Employee\",\n $primaryKey: 2,\n } as Osdk.Instance<Employee>;\n\n const fooInterfaceInstance = {\n $apiName: \"FooInterface\",\n $primaryKey: 21,\n $objectType: \"FooObjectType\",\n } as Osdk.Instance<FooInterface>;\n\n let client: Client;\n\n let editBatch: EditBatch<TestEditScope>;\n\n beforeEach(() => {\n client = vi.fn() as any as Client;\n editBatch = createEditBatch<TestEditScope>(client);\n });\n\n it(\"collects all edits\", () => {\n editBatch.create(objectTypeWithAllPropertyTypes, {\n id: 0,\n attachment: \"ri.foo\",\n attachment2: { rid: \"ri.bar\" } as Attachment,\n mediaReference: {\n mimeType: \"myTime\",\n reference: {\n type: \"mediaSetViewItem\",\n mediaSetViewItem: {\n mediaItemRid: \"rid.something\",\n mediaSetRid: \"rid.something2\",\n mediaSetViewRid: \"rid.something3\",\n },\n },\n },\n vector: [1, 2, 3],\n });\n editBatch.create(Task, { id: 0, name: \"My Task Name\" });\n editBatch.create(Task, { id: 1, name: \"My Other Task Name\" });\n editBatch.create(Task, { id: 3 });\n editBatch.delete({ $apiName: \"Task\", $primaryKey: 0 });\n editBatch.delete(taskInstance);\n editBatch.update({ $apiName: \"Task\", $primaryKey: 0 }, {\n name: \"My New Task Name\",\n });\n editBatch.update(taskInstance, { name: \"My Very New Task Name\" });\n editBatch.update({ $apiName: \"Task\", $primaryKey: 3 }, {});\n editBatch.create(Task, { id: 0, name: \"My Task Name\" });\n editBatch.create(Office, { officeId: \"3\", capacity: 2 });\n editBatch.update({ $apiName: \"Office\", $primaryKey: \"3\" }, { capacity: 4 });\n editBatch.create(FooInterface, {\n $objectType: \"Task\",\n fooSpt: \"created interface\",\n });\n editBatch.update(fooInterfaceInstance, { fooSpt: \"fooSpt\" });\n editBatch.update({\n $apiName: \"FooInterface\",\n $objectType: \"FooObjectType\",\n $primaryKey: 22,\n }, { fooSpt: \"fooSpt2\" });\n editBatch.delete(fooInterfaceInstance);\n\n editBatch.link({ $apiName: \"Employee\", $primaryKey: 0 }, \"visitedOffices\", {\n $apiName: \"Office\",\n $primaryKey: \"Seattle\",\n });\n editBatch.link({ $apiName: \"Employee\", $primaryKey: 0 }, \"visitedOffices\", {\n $apiName: \"Office\",\n $primaryKey: \"Palo Alto\",\n });\n editBatch.link(employeeInstance, \"visitedOffices\", officeInstance);\n editBatch.unlink(\n { $apiName: \"Employee\", $primaryKey: 0 },\n \"visitedOffices\",\n {\n $apiName: \"Office\",\n $primaryKey: \"New York\",\n },\n );\n editBatch.link(taskInstance, \"Todos\", { $apiName: \"Todo\", $primaryKey: 0 });\n editBatch.link(taskInstance, \"Todos\", [\n { $apiName: \"Todo\", $primaryKey: 1 },\n { $apiName: \"Todo\", $primaryKey: 2 },\n ]);\n editBatch.unlink({ $apiName: \"Task\", $primaryKey: 2 }, \"Todos\", {\n $apiName: \"Todo\",\n $primaryKey: 0,\n });\n editBatch.link(officeInstance, \"occupants\", employeeInstance);\n editBatch.unlink(\n { $apiName: \"Office\", $primaryKey: \"Denver\" },\n \"occupants\",\n [employeeInstance, { $apiName: \"Employee\", $primaryKey: 3 }],\n );\n\n expect(editBatch.getEdits()).toEqual([\n {\n type: \"createObject\",\n obj: objectTypeWithAllPropertyTypes,\n properties: {\n id: 0,\n attachment: \"ri.foo\",\n attachment2: { rid: \"ri.bar\" },\n mediaReference: {\n mimeType: \"myTime\",\n reference: {\n type: \"mediaSetViewItem\",\n mediaSetViewItem: {\n mediaItemRid: \"rid.something\",\n mediaSetRid: \"rid.something2\",\n mediaSetViewRid: \"rid.something3\",\n },\n },\n },\n vector: [1, 2, 3],\n },\n },\n {\n type: \"createObject\",\n obj: Task,\n properties: { id: 0, name: \"My Task Name\" },\n },\n {\n type: \"createObject\",\n obj: Task,\n properties: { id: 1, name: \"My Other Task Name\" },\n },\n {\n type: \"createObject\",\n obj: Task,\n properties: { id: 3 },\n },\n { type: \"deleteObject\", obj: { $apiName: \"Task\", $primaryKey: 0 } },\n { type: \"deleteObject\", obj: { $apiName: \"Task\", $primaryKey: 2 } },\n {\n type: \"updateObject\",\n obj: { $apiName: \"Task\", $primaryKey: 0 },\n properties: { name: \"My New Task Name\" },\n },\n {\n type: \"updateObject\",\n obj: { $apiName: \"Task\", $primaryKey: 2 },\n properties: { name: \"My Very New Task Name\" },\n },\n {\n type: \"updateObject\",\n obj: { $apiName: \"Task\", $primaryKey: 3 },\n properties: {},\n },\n {\n type: \"createObject\",\n obj: Task,\n properties: { id: 0, name: \"My Task Name\" },\n },\n {\n type: \"createObject\",\n obj: Office,\n properties: { officeId: \"3\", capacity: 2 },\n },\n {\n type: \"updateObject\",\n obj: { $apiName: \"Office\", $primaryKey: \"3\" },\n properties: { capacity: 4 },\n },\n {\n type: \"createObjectForInterface\",\n int: FooInterface,\n properties: { fooSpt: \"created interface\", $objectType: \"Task\" },\n },\n {\n type: \"updateObjectForInterface\",\n obj: {\n $apiName: \"FooInterface\",\n $primaryKey: 21,\n $objectType: \"FooObjectType\",\n },\n properties: { fooSpt: \"fooSpt\" },\n },\n {\n type: \"updateObjectForInterface\",\n obj: {\n $apiName: \"FooInterface\",\n $primaryKey: 22,\n $objectType: \"FooObjectType\",\n },\n properties: { fooSpt: \"fooSpt2\" },\n },\n {\n type: \"deleteObjectForInterface\",\n obj: {\n $apiName: \"FooInterface\",\n $primaryKey: 21,\n $objectType: \"FooObjectType\",\n },\n },\n {\n type: \"addLink\",\n apiName: \"visitedOffices\",\n source: { $apiName: \"Employee\", $primaryKey: 0 },\n target: { $apiName: \"Office\", $primaryKey: \"Seattle\" },\n },\n {\n type: \"addLink\",\n apiName: \"visitedOffices\",\n source: { $apiName: \"Employee\", $primaryKey: 0 },\n target: { $apiName: \"Office\", $primaryKey: \"Palo Alto\" },\n },\n {\n type: \"addLink\",\n apiName: \"visitedOffices\",\n source: { $apiName: \"Employee\", $primaryKey: 2 },\n target: { $apiName: \"Office\", $primaryKey: \"2\" },\n },\n {\n type: \"removeLink\",\n apiName: \"visitedOffices\",\n source: { $apiName: \"Employee\", $primaryKey: 0 },\n target: { $apiName: \"Office\", $primaryKey: \"New York\" },\n },\n {\n type: \"addLink\",\n apiName: \"Todos\",\n source: { $apiName: \"Task\", $primaryKey: 2 },\n target: { $apiName: \"Todo\", $primaryKey: 0 },\n },\n {\n type: \"addLink\",\n apiName: \"Todos\",\n source: { $apiName: \"Task\", $primaryKey: 2 },\n target: { $apiName: \"Todo\", $primaryKey: 1 },\n },\n {\n type: \"addLink\",\n apiName: \"Todos\",\n source: { $apiName: \"Task\", $primaryKey: 2 },\n target: { $apiName: \"Todo\", $primaryKey: 2 },\n },\n {\n type: \"removeLink\",\n apiName: \"Todos\",\n source: { $apiName: \"Task\", $primaryKey: 2 },\n target: { $apiName: \"Todo\", $primaryKey: 0 },\n },\n {\n type: \"addLink\",\n apiName: \"occupants\",\n source: { $apiName: \"Office\", $primaryKey: \"2\" },\n target: { $apiName: \"Employee\", $primaryKey: 2 },\n },\n {\n type: \"removeLink\",\n apiName: \"occupants\",\n source: { $apiName: \"Office\", $primaryKey: \"Denver\" },\n target: { $apiName: \"Employee\", $primaryKey: 2 },\n },\n {\n type: \"removeLink\",\n apiName: \"occupants\",\n source: { $apiName: \"Office\", $primaryKey: \"Denver\" },\n target: { $apiName: \"Employee\", $primaryKey: 3 },\n },\n ]);\n });\n\n it(\"prevents bad link edits\", () => {\n // @ts-expect-error\n editBatch.link(taskInstance, \"RP\", officeInstance); // Linking to Office instead of Person\n\n editBatch.link(\n taskInstance,\n \"RP\",\n // @ts-expect-error\n personInstance,\n );\n // Trying to traverse ONE direction\n\n editBatch.link(\n { $apiName: \"Task\", $primaryKey: 2 },\n // @ts-expect-error\n \"occupants\",\n employeeInstance,\n ); // Using Office link\n\n editBatch.link(\n { $apiName: \"Office\", $primaryKey: \"2\" },\n \"occupants\",\n // @ts-expect-error\n personInstance,\n ); // Linking to Person instead of Employee\n\n // @ts-expect-error\n editBatch.link(officeInstance, \"Todos\", {\n $apiName: \"Todo\",\n $primaryKey: 0,\n }); // Using Task link\n });\n\n it(\"prevents bad unlink edits\", () => {\n // @ts-expect-error\n editBatch.unlink(taskInstance, \"RP\", officeInstance); // Unlinking Office instead of Person\n\n editBatch.unlink(\n taskInstance,\n \"RP\",\n // @ts-expect-error\n [personInstance],\n ); // Using list for non-multiplicity link\n\n editBatch.unlink(\n { $apiName: \"Task\", $primaryKey: 2 },\n // @ts-expect-error\n \"occupants\",\n employeeInstance,\n ); // Using Office link\n\n editBatch.unlink(\n { $apiName: \"Office\", $primaryKey: \"2\" },\n \"occupants\",\n // @ts-expect-error\n personInstance,\n ); // Unlinking Person instead of Employee\n\n // @ts-expect-error\n editBatch.unlink(officeInstance, \"Todos\", {\n $apiName: \"Todo\",\n $primaryKey: 0,\n }); // Using Task link\n });\n\n it(\"prevents bad update edits\", () => {\n // @ts-expect-error\n editBatch.update(taskInstance, { capacity: 4 }); // Using Office properties\n\n // @ts-expect-error\n editBatch.update({ $apiName: \"Task\", $primaryKey: 2 }, { capacity: 4 }); // Using Office properties\n });\n\n it(\"prevents bad update edits\", () => {\n // @ts-expect-error\n editBatch.update(taskInstance, { capacity: 4 }); // Using Office properties\n\n // @ts-expect-error\n editBatch.update({ $apiName: \"Task\", $primaryKey: 2 }, { capacity: 4 }); // Using Office properties\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,SACEA,YAAY,EACZC,8BAA8B,EAC9BC,MAAM,EACNC,IAAI,QACC,4BAA4B;AACnC,SAASC,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,QAAQ;AAC7D,SAASC,eAAe,QAAQ,sBAAsB;AActDJ,QAAQ,CAACI,eAAe,EAAE,MAAM;EAC9B,MAAMC,YAAY,GAAG;IACnBC,QAAQ,EAAE,MAAM;IAChBC,WAAW,EAAE;EACf,CAAwB;EAExB,MAAMC,cAAc,GAAG;IACrBF,QAAQ,EAAE,QAAQ;IAClBC,WAAW,EAAE;EACf,CAA0B;EAE1B,MAAME,cAAc,GAAG;IACrBH,QAAQ,EAAE,QAAQ;IAClBC,WAAW,EAAE;EACf,CAA0B;EAE1B,MAAMG,gBAAgB,GAAG;IACvBJ,QAAQ,EAAE,UAAU;IACpBC,WAAW,EAAE;EACf,CAA4B;EAE5B,MAAMI,oBAAoB,GAAG;IAC3BL,QAAQ,EAAE,cAAc;IACxBC,WAAW,EAAE,EAAE;IACfK,WAAW,EAAE;EACf,CAAgC;EAEhC,IAAIC,MAAc;EAElB,IAAIC,SAAmC;EAEvCf,UAAU,CAAC,MAAM;IACfc,MAAM,GAAGV,EAAE,CAACY,EAAE,CAAC,CAAkB;IACjCD,SAAS,GAAGV,eAAe,CAAgBS,MAAM,CAAC;EACpD,CAAC,CAAC;EAEFX,EAAE,CAAC,oBAAoB,EAAE,MAAM;IAC7BY,SAAS,CAACE,MAAM,CAACpB,8BAA8B,EAAE;MAC/CqB,EAAE,EAAE,CAAC;MACLC,UAAU,EAAE,QAAQ;MACpBC,WAAW,EAAE;QAAEC,GAAG,EAAE;MAAS,CAAe;MAC5CC,cAAc,EAAE;QACdC,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAE;UACTC,IAAI,EAAE,kBAAkB;UACxBC,gBAAgB,EAAE;YAChBC,YAAY,EAAE,eAAe;YAC7BC,WAAW,EAAE,gBAAgB;YAC7BC,eAAe,EAAE;UACnB;QACF;MACF,CAAC;MACDC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAClB,CAAC,CAAC;IACFf,SAAS,CAACE,MAAM,CAAClB,IAAI,EAAE;MAAEmB,EAAE,EAAE,CAAC;MAAEa,IAAI,EAAE;IAAe,CAAC,CAAC;IACvDhB,SAAS,CAACE,MAAM,CAAClB,IAAI,EAAE;MAAEmB,EAAE,EAAE,CAAC;MAAEa,IAAI,EAAE;IAAqB,CAAC,CAAC;IAC7DhB,SAAS,CAACE,MAAM,CAAClB,IAAI,EAAE;MAAEmB,EAAE,EAAE;IAAE,CAAC,CAAC;IACjCH,SAAS,CAACiB,MAAM,CAAC;MAAEzB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,CAAC;IACtDO,SAAS,CAACiB,MAAM,CAAC1B,YAAY,CAAC;IAC9BS,SAAS,CAACkB,MAAM,CAAC;MAAE1B,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE;MACrDuB,IAAI,EAAE;IACR,CAAC,CAAC;IACFhB,SAAS,CAACkB,MAAM,CAAC3B,YAAY,EAAE;MAAEyB,IAAI,EAAE;IAAwB,CAAC,CAAC;IACjEhB,SAAS,CAACkB,MAAM,CAAC;MAAE1B,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1DO,SAAS,CAACE,MAAM,CAAClB,IAAI,EAAE;MAAEmB,EAAE,EAAE,CAAC;MAAEa,IAAI,EAAE;IAAe,CAAC,CAAC;IACvDhB,SAAS,CAACE,MAAM,CAACnB,MAAM,EAAE;MAAEoC,QAAQ,EAAE,GAAG;MAAEC,QAAQ,EAAE;IAAE,CAAC,CAAC;IACxDpB,SAAS,CAACkB,MAAM,CAAC;MAAE1B,QAAQ,EAAE,QAAQ;MAAEC,WAAW,EAAE;IAAI,CAAC,EAAE;MAAE2B,QAAQ,EAAE;IAAE,CAAC,CAAC;IAC3EpB,SAAS,CAACE,MAAM,CAACrB,YAAY,EAAE;MAC7BiB,WAAW,EAAE,MAAM;MACnBuB,MAAM,EAAE;IACV,CAAC,CAAC;IACFrB,SAAS,CAACkB,MAAM,CAACrB,oBAAoB,EAAE;MAAEwB,MAAM,EAAE;IAAS,CAAC,CAAC;IAC5DrB,SAAS,CAACkB,MAAM,CAAC;MACf1B,QAAQ,EAAE,cAAc;MACxBM,WAAW,EAAE,eAAe;MAC5BL,WAAW,EAAE;IACf,CAAC,EAAE;MAAE4B,MAAM,EAAE;IAAU,CAAC,CAAC;IACzBrB,SAAS,CAACiB,MAAM,CAACpB,oBAAoB,CAAC;IAEtCG,SAAS,CAACsB,IAAI,CAAC;MAAE9B,QAAQ,EAAE,UAAU;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE,gBAAgB,EAAE;MACzED,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE;IACf,CAAC,CAAC;IACFO,SAAS,CAACsB,IAAI,CAAC;MAAE9B,QAAQ,EAAE,UAAU;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE,gBAAgB,EAAE;MACzED,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE;IACf,CAAC,CAAC;IACFO,SAAS,CAACsB,IAAI,CAAC1B,gBAAgB,EAAE,gBAAgB,EAAED,cAAc,CAAC;IAClEK,SAAS,CAACuB,MAAM,CACd;MAAE/B,QAAQ,EAAE,UAAU;MAAEC,WAAW,EAAE;IAAE,CAAC,EACxC,gBAAgB,EAChB;MACED,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE;IACf,CACF,CAAC;IACDO,SAAS,CAACsB,IAAI,CAAC/B,YAAY,EAAE,OAAO,EAAE;MAAEC,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,CAAC;IAC3EO,SAAS,CAACsB,IAAI,CAAC/B,YAAY,EAAE,OAAO,EAAE,CACpC;MAAEC,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EACpC;MAAED,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,CACrC,CAAC;IACFO,SAAS,CAACuB,MAAM,CAAC;MAAE/B,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE,OAAO,EAAE;MAC9DD,QAAQ,EAAE,MAAM;MAChBC,WAAW,EAAE;IACf,CAAC,CAAC;IACFO,SAAS,CAACsB,IAAI,CAAC3B,cAAc,EAAE,WAAW,EAAEC,gBAAgB,CAAC;IAC7DI,SAAS,CAACuB,MAAM,CACd;MAAE/B,QAAQ,EAAE,QAAQ;MAAEC,WAAW,EAAE;IAAS,CAAC,EAC7C,WAAW,EACX,CAACG,gBAAgB,EAAE;MAAEJ,QAAQ,EAAE,UAAU;MAAEC,WAAW,EAAE;IAAE,CAAC,CAC7D,CAAC;IAEDN,MAAM,CAACa,SAAS,CAACwB,QAAQ,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CACnC;MACEf,IAAI,EAAE,cAAc;MACpBgB,GAAG,EAAE5C,8BAA8B;MACnC6C,UAAU,EAAE;QACVxB,EAAE,EAAE,CAAC;QACLC,UAAU,EAAE,QAAQ;QACpBC,WAAW,EAAE;UAAEC,GAAG,EAAE;QAAS,CAAC;QAC9BC,cAAc,EAAE;UACdC,QAAQ,EAAE,QAAQ;UAClBC,SAAS,EAAE;YACTC,IAAI,EAAE,kBAAkB;YACxBC,gBAAgB,EAAE;cAChBC,YAAY,EAAE,eAAe;cAC7BC,WAAW,EAAE,gBAAgB;cAC7BC,eAAe,EAAE;YACnB;UACF;QACF,CAAC;QACDC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;MAClB;IACF,CAAC,EACD;MACEL,IAAI,EAAE,cAAc;MACpBgB,GAAG,EAAE1C,IAAI;MACT2C,UAAU,EAAE;QAAExB,EAAE,EAAE,CAAC;QAAEa,IAAI,EAAE;MAAe;IAC5C,CAAC,EACD;MACEN,IAAI,EAAE,cAAc;MACpBgB,GAAG,EAAE1C,IAAI;MACT2C,UAAU,EAAE;QAAExB,EAAE,EAAE,CAAC;QAAEa,IAAI,EAAE;MAAqB;IAClD,CAAC,EACD;MACEN,IAAI,EAAE,cAAc;MACpBgB,GAAG,EAAE1C,IAAI;MACT2C,UAAU,EAAE;QAAExB,EAAE,EAAE;MAAE;IACtB,CAAC,EACD;MAAEO,IAAI,EAAE,cAAc;MAAEgB,GAAG,EAAE;QAAElC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAAE,CAAC,EACnE;MAAEiB,IAAI,EAAE,cAAc;MAAEgB,GAAG,EAAE;QAAElC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAAE,CAAC,EACnE;MACEiB,IAAI,EAAE,cAAc;MACpBgB,GAAG,EAAE;QAAElC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MACzCkC,UAAU,EAAE;QAAEX,IAAI,EAAE;MAAmB;IACzC,CAAC,EACD;MACEN,IAAI,EAAE,cAAc;MACpBgB,GAAG,EAAE;QAAElC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MACzCkC,UAAU,EAAE;QAAEX,IAAI,EAAE;MAAwB;IAC9C,CAAC,EACD;MACEN,IAAI,EAAE,cAAc;MACpBgB,GAAG,EAAE;QAAElC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MACzCkC,UAAU,EAAE,CAAC;IACf,CAAC,EACD;MACEjB,IAAI,EAAE,cAAc;MACpBgB,GAAG,EAAE1C,IAAI;MACT2C,UAAU,EAAE;QAAExB,EAAE,EAAE,CAAC;QAAEa,IAAI,EAAE;MAAe;IAC5C,CAAC,EACD;MACEN,IAAI,EAAE,cAAc;MACpBgB,GAAG,EAAE3C,MAAM;MACX4C,UAAU,EAAE;QAAER,QAAQ,EAAE,GAAG;QAAEC,QAAQ,EAAE;MAAE;IAC3C,CAAC,EACD;MACEV,IAAI,EAAE,cAAc;MACpBgB,GAAG,EAAE;QAAElC,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAI,CAAC;MAC7CkC,UAAU,EAAE;QAAEP,QAAQ,EAAE;MAAE;IAC5B,CAAC,EACD;MACEV,IAAI,EAAE,0BAA0B;MAChCkB,GAAG,EAAE/C,YAAY;MACjB8C,UAAU,EAAE;QAAEN,MAAM,EAAE,mBAAmB;QAAEvB,WAAW,EAAE;MAAO;IACjE,CAAC,EACD;MACEY,IAAI,EAAE,0BAA0B;MAChCgB,GAAG,EAAE;QACHlC,QAAQ,EAAE,cAAc;QACxBC,WAAW,EAAE,EAAE;QACfK,WAAW,EAAE;MACf,CAAC;MACD6B,UAAU,EAAE;QAAEN,MAAM,EAAE;MAAS;IACjC,CAAC,EACD;MACEX,IAAI,EAAE,0BAA0B;MAChCgB,GAAG,EAAE;QACHlC,QAAQ,EAAE,cAAc;QACxBC,WAAW,EAAE,EAAE;QACfK,WAAW,EAAE;MACf,CAAC;MACD6B,UAAU,EAAE;QAAEN,MAAM,EAAE;MAAU;IAClC,CAAC,EACD;MACEX,IAAI,EAAE,0BAA0B;MAChCgB,GAAG,EAAE;QACHlC,QAAQ,EAAE,cAAc;QACxBC,WAAW,EAAE,EAAE;QACfK,WAAW,EAAE;MACf;IACF,CAAC,EACD;MACEY,IAAI,EAAE,SAAS;MACfmB,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;QAAEtC,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE,CAAC;MAChDsC,MAAM,EAAE;QAAEvC,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAU;IACvD,CAAC,EACD;MACEiB,IAAI,EAAE,SAAS;MACfmB,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;QAAEtC,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE,CAAC;MAChDsC,MAAM,EAAE;QAAEvC,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAY;IACzD,CAAC,EACD;MACEiB,IAAI,EAAE,SAAS;MACfmB,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;QAAEtC,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE,CAAC;MAChDsC,MAAM,EAAE;QAAEvC,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAI;IACjD,CAAC,EACD;MACEiB,IAAI,EAAE,YAAY;MAClBmB,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;QAAEtC,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE,CAAC;MAChDsC,MAAM,EAAE;QAAEvC,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAW;IACxD,CAAC,EACD;MACEiB,IAAI,EAAE,SAAS;MACfmB,OAAO,EAAE,OAAO;MAChBC,MAAM,EAAE;QAAEtC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MAC5CsC,MAAM,EAAE;QAAEvC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAC7C,CAAC,EACD;MACEiB,IAAI,EAAE,SAAS;MACfmB,OAAO,EAAE,OAAO;MAChBC,MAAM,EAAE;QAAEtC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MAC5CsC,MAAM,EAAE;QAAEvC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAC7C,CAAC,EACD;MACEiB,IAAI,EAAE,SAAS;MACfmB,OAAO,EAAE,OAAO;MAChBC,MAAM,EAAE;QAAEtC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MAC5CsC,MAAM,EAAE;QAAEvC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAC7C,CAAC,EACD;MACEiB,IAAI,EAAE,YAAY;MAClBmB,OAAO,EAAE,OAAO;MAChBC,MAAM,EAAE;QAAEtC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MAC5CsC,MAAM,EAAE;QAAEvC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAC7C,CAAC,EACD;MACEiB,IAAI,EAAE,SAAS;MACfmB,OAAO,EAAE,WAAW;MACpBC,MAAM,EAAE;QAAEtC,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAI,CAAC;MAChDsC,MAAM,EAAE;QAAEvC,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE;IACjD,CAAC,EACD;MACEiB,IAAI,EAAE,YAAY;MAClBmB,OAAO,EAAE,WAAW;MACpBC,MAAM,EAAE;QAAEtC,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAS,CAAC;MACrDsC,MAAM,EAAE;QAAEvC,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE;IACjD,CAAC,EACD;MACEiB,IAAI,EAAE,YAAY;MAClBmB,OAAO,EAAE,WAAW;MACpBC,MAAM,EAAE;QAAEtC,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAS,CAAC;MACrDsC,MAAM,EAAE;QAAEvC,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE;IACjD,CAAC,CACF,CAAC;EACJ,CAAC,CAAC;EAEFL,EAAE,CAAC,yBAAyB,EAAE,MAAM;IAClC;IACAY,SAAS,CAACsB,IAAI,CAAC/B,YAAY,EAAE,IAAI,EAAEI,cAAc,CAAC,CAAC,CAAC;;IAEpDK,SAAS,CAACsB,IAAI,CACZ/B,YAAY,EACZ,IAAI;IACJ;IACAG,cACF,CAAC;IACD;;IAEAM,SAAS,CAACsB,IAAI,CACZ;MAAE9B,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC;IACpC;IACA,WAAW,EACXG,gBACF,CAAC,CAAC,CAAC;;IAEHI,SAAS,CAACsB,IAAI,CACZ;MAAE9B,QAAQ,EAAE,QAAQ;MAAEC,WAAW,EAAE;IAAI,CAAC,EACxC,WAAW;IACX;IACAC,cACF,CAAC,CAAC,CAAC;;IAEH;IACAM,SAAS,CAACsB,IAAI,CAAC3B,cAAc,EAAE,OAAO,EAAE;MACtCH,QAAQ,EAAE,MAAM;MAChBC,WAAW,EAAE;IACf,CAAC,CAAC,CAAC,CAAC;EACN,CAAC,CAAC;EAEFL,EAAE,CAAC,2BAA2B,EAAE,MAAM;IACpC;IACAY,SAAS,CAACuB,MAAM,CAAChC,YAAY,EAAE,IAAI,EAAEI,cAAc,CAAC,CAAC,CAAC;;IAEtDK,SAAS,CAACuB,MAAM,CACdhC,YAAY,EACZ,IAAI;IACJ;IACA,CAACG,cAAc,CACjB,CAAC,CAAC,CAAC;;IAEHM,SAAS,CAACuB,MAAM,CACd;MAAE/B,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC;IACpC;IACA,WAAW,EACXG,gBACF,CAAC,CAAC,CAAC;;IAEHI,SAAS,CAACuB,MAAM,CACd;MAAE/B,QAAQ,EAAE,QAAQ;MAAEC,WAAW,EAAE;IAAI,CAAC,EACxC,WAAW;IACX;IACAC,cACF,CAAC,CAAC,CAAC;;IAEH;IACAM,SAAS,CAACuB,MAAM,CAAC5B,cAAc,EAAE,OAAO,EAAE;MACxCH,QAAQ,EAAE,MAAM;MAChBC,WAAW,EAAE;IACf,CAAC,CAAC,CAAC,CAAC;EACN,CAAC,CAAC;EAEFL,EAAE,CAAC,2BAA2B,EAAE,MAAM;IACpC;IACAY,SAAS,CAACkB,MAAM,CAAC3B,YAAY,EAAE;MAAE6B,QAAQ,EAAE;IAAE,CAAC,CAAC,CAAC,CAAC;;IAEjD;IACApB,SAAS,CAACkB,MAAM,CAAC;MAAE1B,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE;MAAE2B,QAAQ,EAAE;IAAE,CAAC,CAAC,CAAC,CAAC;EAC3E,CAAC,CAAC;EAEFhC,EAAE,CAAC,2BAA2B,EAAE,MAAM;IACpC;IACAY,SAAS,CAACkB,MAAM,CAAC3B,YAAY,EAAE;MAAE6B,QAAQ,EAAE;IAAE,CAAC,CAAC,CAAC,CAAC;;IAEjD;IACApB,SAAS,CAACkB,MAAM,CAAC;MAAE1B,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE;MAAE2B,QAAQ,EAAE;IAAE,CAAC,CAAC,CAAC,CAAC;EAC3E,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}