@osdk/functions 1.3.0-beta.6 → 1.3.0
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/CHANGELOG.md +51 -0
- package/build/browser/edits/EditBatch.js.map +1 -1
- package/build/browser/edits/createEditBatch.test.js +34 -33
- package/build/browser/edits/createEditBatch.test.js.map +1 -1
- package/build/cjs/{EditBatch-DRBn1Fqo.d.cts → EditBatch-DCDMGtxT.d.cts} +2 -2
- package/build/cjs/index.d.cts +1 -1
- package/build/cjs/public/unstable-do-not-use.d.cts +1 -1
- package/build/esm/edits/EditBatch.js.map +1 -1
- package/build/esm/edits/createEditBatch.test.js +34 -33
- package/build/esm/edits/createEditBatch.test.js.map +1 -1
- package/build/types/edits/EditBatch.d.ts +2 -2
- package/build/types/edits/EditBatch.d.ts.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,56 @@
|
|
|
1
1
|
# @osdk/functions
|
|
2
2
|
|
|
3
|
+
## 1.3.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 776ae8a: Simulated release
|
|
8
|
+
- a41b62a: add markings types to osdk/functions
|
|
9
|
+
- 4b1b399: Update dependencies with @osdk/foundry.core
|
|
10
|
+
- 0a0e560: Reexport user and group id types with branding
|
|
11
|
+
- 7cdab1d: Update platform sdk dependencies
|
|
12
|
+
- a00d2ed: Update Platform SDK dependencies
|
|
13
|
+
- 9bbe664: Add compile check to prevent link and unlink edits when traversing a One direction
|
|
14
|
+
- 1a647a8: Adding geometry type support
|
|
15
|
+
- a96d89e: Update Platform SDK dependencies
|
|
16
|
+
- 3ae01bb: Add UserFacingError to functions package
|
|
17
|
+
- ba5f116: Add Principal Type
|
|
18
|
+
- 7cdab1d: Add implementation for transaction edits
|
|
19
|
+
- Updated dependencies [322c5bc]
|
|
20
|
+
- Updated dependencies [b05075d]
|
|
21
|
+
- Updated dependencies [d797f0c]
|
|
22
|
+
- Updated dependencies [7160276]
|
|
23
|
+
- Updated dependencies [7cdab1d]
|
|
24
|
+
- Updated dependencies [a00d2ed]
|
|
25
|
+
- Updated dependencies [ab29baa]
|
|
26
|
+
- Updated dependencies [85e8edb]
|
|
27
|
+
- Updated dependencies [eeaf8eb]
|
|
28
|
+
- Updated dependencies [3d7461d]
|
|
29
|
+
- Updated dependencies [7bdac45]
|
|
30
|
+
- Updated dependencies [37eb75b]
|
|
31
|
+
- Updated dependencies [7b97128]
|
|
32
|
+
- Updated dependencies [b9e9a88]
|
|
33
|
+
- Updated dependencies [76905f5]
|
|
34
|
+
- Updated dependencies [48d52b7]
|
|
35
|
+
- Updated dependencies [a96d89e]
|
|
36
|
+
- Updated dependencies [48040a8]
|
|
37
|
+
- Updated dependencies [20962bc]
|
|
38
|
+
- Updated dependencies [cbcf2ad]
|
|
39
|
+
- Updated dependencies [052a96b]
|
|
40
|
+
- Updated dependencies [f49171a]
|
|
41
|
+
- @osdk/client@2.5.0
|
|
42
|
+
|
|
43
|
+
## 1.3.0-beta.7
|
|
44
|
+
|
|
45
|
+
### Minor Changes
|
|
46
|
+
|
|
47
|
+
- 9bbe664: Add compile check to prevent link and unlink edits when traversing a One direction
|
|
48
|
+
|
|
49
|
+
### Patch Changes
|
|
50
|
+
|
|
51
|
+
- Updated dependencies [85e8edb]
|
|
52
|
+
- @osdk/client@2.5.0-beta.12
|
|
53
|
+
|
|
3
54
|
## 1.3.0-beta.6
|
|
4
55
|
|
|
5
56
|
### Minor Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditBatch.js","names":[],"sources":["EditBatch.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 {\n CompileTimeMetadata,\n InterfaceDefinition,\n ObjectTypeDefinition,\n} from \"@osdk/client\";\nimport type {\n AddLink,\n AnyEdit,\n CreateObject,\n CreateObjectForInterface,\n DeleteObject,\n DeleteObjectForInterface,\n InterfaceLocator,\n ObjectLocator,\n RemoveLink,\n UpdateObject,\n UpdateObjectForInterface,\n} from \"./types.js\";\n\n// Helper type for literal \"apiName\" values without resorting to expensive type inference.\ninterface ObjectTypeDefinitionForLocator<OL extends ObjectLocator<any>>\n extends ObjectTypeDefinition\n{\n apiName: OL[\"$apiName\"];\n}\n\ninterface InterfaceDefinitionForLocator<IL extends ObjectLocator<any>>\n extends InterfaceDefinition\n{\n apiName: IL[\"$apiName\"];\n}\n\n// AddLink helper types\nexport type AddLinkSources<X extends AnyEdit> = X extends\n AddLink<infer OTD, any> ? ObjectLocator<OTD> : never;\n\nexport type AddLinkApiNames<X extends AnyEdit, SOL extends ObjectLocator<any>> =\n X extends AddLink<ObjectTypeDefinitionForLocator<SOL>, infer A> ? A : never;\n\nexport type AddLinkTargets<\n X extends AnyEdit,\n SOL extends ObjectLocator<any>,\n A extends string,\n> = X extends AddLink<ObjectTypeDefinitionForLocator<SOL>, A>\n ? (X extends AddLink<infer OTD, A>\n ? (CompileTimeMetadata<OTD>[\"links\"][A][\"multiplicity\"] extends true\n ? Array<X[\"target\"]> | X[\"target\"]\n :
|
|
1
|
+
{"version":3,"file":"EditBatch.js","names":[],"sources":["EditBatch.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 {\n CompileTimeMetadata,\n InterfaceDefinition,\n ObjectTypeDefinition,\n} from \"@osdk/client\";\nimport type {\n AddLink,\n AnyEdit,\n CreateObject,\n CreateObjectForInterface,\n DeleteObject,\n DeleteObjectForInterface,\n InterfaceLocator,\n ObjectLocator,\n RemoveLink,\n UpdateObject,\n UpdateObjectForInterface,\n} from \"./types.js\";\n\n// Helper type for literal \"apiName\" values without resorting to expensive type inference.\ninterface ObjectTypeDefinitionForLocator<OL extends ObjectLocator<any>>\n extends ObjectTypeDefinition\n{\n apiName: OL[\"$apiName\"];\n}\n\ninterface InterfaceDefinitionForLocator<IL extends ObjectLocator<any>>\n extends InterfaceDefinition\n{\n apiName: IL[\"$apiName\"];\n}\n\n// AddLink helper types\nexport type AddLinkSources<X extends AnyEdit> = X extends\n AddLink<infer OTD, any> ? ObjectLocator<OTD> : never;\n\nexport type AddLinkApiNames<X extends AnyEdit, SOL extends ObjectLocator<any>> =\n X extends AddLink<ObjectTypeDefinitionForLocator<SOL>, infer A> ? A : never;\n\nexport type AddLinkTargets<\n X extends AnyEdit,\n SOL extends ObjectLocator<any>,\n A extends string,\n> = X extends AddLink<ObjectTypeDefinitionForLocator<SOL>, A>\n ? (X extends AddLink<infer OTD, A>\n ? (CompileTimeMetadata<OTD>[\"links\"][A][\"multiplicity\"] extends true\n ? Array<X[\"target\"]> | X[\"target\"]\n : never)\n : never)\n : never;\n\n// RemoveLink helper types\nexport type RemoveLinkSources<X extends AnyEdit> = X extends\n RemoveLink<infer OTD, any> ? ObjectLocator<OTD> : never;\n\nexport type RemoveLinkApiNames<\n X extends AnyEdit,\n SOL extends ObjectLocator<any>,\n> = X extends RemoveLink<ObjectTypeDefinitionForLocator<SOL>, infer L> ? L\n : never;\n\nexport type RemoveLinkTargets<\n X extends AnyEdit,\n SOL extends ObjectLocator<any>,\n A extends string,\n> = X extends RemoveLink<ObjectTypeDefinitionForLocator<SOL>, A>\n ? (X extends RemoveLink<infer OTD, A>\n ? (CompileTimeMetadata<OTD>[\"links\"][A][\"multiplicity\"] extends true\n ? Array<X[\"target\"]> | X[\"target\"]\n : never)\n : never)\n : never;\n\n// CreateObject helper types\nexport type CreatableObjectOrInterfaceTypes<X extends AnyEdit> = X extends\n CreateObject<infer OTD> ? OTD\n : X extends CreateObjectForInterface<infer ID> ? ID\n : never;\n\nexport type CreatableObjectOrInterfaceTypeProperties<\n X extends AnyEdit,\n OI extends ObjectTypeDefinition | InterfaceDefinition,\n> = X extends CreateObject<infer OTD> ? OTD extends OI ? X[\"properties\"] : never\n : X extends CreateObjectForInterface<infer ID>\n ? ID extends OI ? X[\"properties\"] : never\n : never;\n\n// DeleteObject helper types\nexport type DeletableObjectOrInterfaceLocators<X extends AnyEdit> = X extends\n DeleteObject<infer OTD> ? ObjectLocator<OTD>\n : X extends DeleteObjectForInterface<infer ID> ? InterfaceLocator<ID>\n : never;\n\n// UpdateObject and UpdateInterface helper types\nexport type UpdatableObjectOrInterfaceLocators<X extends AnyEdit> = X extends\n UpdateObject<infer OTD> ? ObjectLocator<OTD>\n : X extends UpdateObjectForInterface<infer ID> ? InterfaceLocator<ID>\n : never;\n\nexport type UpdatableObjectOrInterfaceLocatorProperties<\n X extends AnyEdit,\n OL extends ObjectLocator<any>,\n> = X extends UpdateObject<ObjectTypeDefinitionForLocator<OL>> ? X[\"properties\"]\n : X extends UpdateObjectForInterface<InterfaceDefinitionForLocator<OL>>\n ? X[\"properties\"]\n : never;\n\nexport interface EditBatch<\n X extends AnyEdit = never,\n> {\n link: <\n SOL extends AddLinkSources<X>,\n A extends AddLinkApiNames<X, SOL>,\n >(\n source: SOL,\n apiName: A,\n target: AddLinkTargets<X, SOL, A>,\n ) => void;\n\n unlink: <\n SOL extends RemoveLinkSources<X>,\n A extends RemoveLinkApiNames<X, SOL>,\n >(\n source: SOL,\n apiName: A,\n target: RemoveLinkTargets<X, SOL, A>,\n ) => void;\n\n create: <OI extends CreatableObjectOrInterfaceTypes<X>>(\n objectOrInterfaceType: OI,\n properties: CreatableObjectOrInterfaceTypeProperties<X, OI>,\n ) => void;\n\n delete: <OL extends DeletableObjectOrInterfaceLocators<X>>(obj: OL) => void;\n\n update: <OL extends UpdatableObjectOrInterfaceLocators<X>>(\n obj: OL,\n properties: UpdatableObjectOrInterfaceLocatorProperties<X, OL>,\n ) => void;\n\n getEdits: () => X[];\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -112,26 +112,26 @@ describe(createEditBatch, () => {
|
|
|
112
112
|
});
|
|
113
113
|
editBatch.delete(fooInterfaceInstance);
|
|
114
114
|
editBatch.link({
|
|
115
|
-
$apiName: "
|
|
116
|
-
$primaryKey: 0
|
|
117
|
-
}, "RP", {
|
|
118
|
-
$apiName: "Person",
|
|
115
|
+
$apiName: "Employee",
|
|
119
116
|
$primaryKey: 0
|
|
117
|
+
}, "visitedOffices", {
|
|
118
|
+
$apiName: "Office",
|
|
119
|
+
$primaryKey: "Seattle"
|
|
120
120
|
});
|
|
121
121
|
editBatch.link({
|
|
122
|
-
$apiName: "
|
|
122
|
+
$apiName: "Employee",
|
|
123
123
|
$primaryKey: 0
|
|
124
|
-
}, "
|
|
125
|
-
$apiName: "
|
|
126
|
-
$primaryKey:
|
|
124
|
+
}, "visitedOffices", {
|
|
125
|
+
$apiName: "Office",
|
|
126
|
+
$primaryKey: "Palo Alto"
|
|
127
127
|
});
|
|
128
|
-
editBatch.link(
|
|
128
|
+
editBatch.link(employeeInstance, "visitedOffices", officeInstance);
|
|
129
129
|
editBatch.unlink({
|
|
130
|
-
$apiName: "
|
|
130
|
+
$apiName: "Employee",
|
|
131
131
|
$primaryKey: 0
|
|
132
|
-
}, "
|
|
133
|
-
$apiName: "
|
|
134
|
-
$primaryKey:
|
|
132
|
+
}, "visitedOffices", {
|
|
133
|
+
$apiName: "Office",
|
|
134
|
+
$primaryKey: "New York"
|
|
135
135
|
});
|
|
136
136
|
editBatch.link(taskInstance, "Todos", {
|
|
137
137
|
$apiName: "Todo",
|
|
@@ -154,7 +154,7 @@ describe(createEditBatch, () => {
|
|
|
154
154
|
editBatch.link(officeInstance, "occupants", employeeInstance);
|
|
155
155
|
editBatch.unlink({
|
|
156
156
|
$apiName: "Office",
|
|
157
|
-
$primaryKey: "
|
|
157
|
+
$primaryKey: "Denver"
|
|
158
158
|
}, "occupants", [employeeInstance, {
|
|
159
159
|
$apiName: "Employee",
|
|
160
160
|
$primaryKey: 3
|
|
@@ -285,47 +285,47 @@ describe(createEditBatch, () => {
|
|
|
285
285
|
}
|
|
286
286
|
}, {
|
|
287
287
|
type: "addLink",
|
|
288
|
-
apiName: "
|
|
288
|
+
apiName: "visitedOffices",
|
|
289
289
|
source: {
|
|
290
|
-
$apiName: "
|
|
290
|
+
$apiName: "Employee",
|
|
291
291
|
$primaryKey: 0
|
|
292
292
|
},
|
|
293
293
|
target: {
|
|
294
|
-
$apiName: "
|
|
295
|
-
$primaryKey:
|
|
294
|
+
$apiName: "Office",
|
|
295
|
+
$primaryKey: "Seattle"
|
|
296
296
|
}
|
|
297
297
|
}, {
|
|
298
298
|
type: "addLink",
|
|
299
|
-
apiName: "
|
|
299
|
+
apiName: "visitedOffices",
|
|
300
300
|
source: {
|
|
301
|
-
$apiName: "
|
|
301
|
+
$apiName: "Employee",
|
|
302
302
|
$primaryKey: 0
|
|
303
303
|
},
|
|
304
304
|
target: {
|
|
305
|
-
$apiName: "
|
|
306
|
-
$primaryKey:
|
|
305
|
+
$apiName: "Office",
|
|
306
|
+
$primaryKey: "Palo Alto"
|
|
307
307
|
}
|
|
308
308
|
}, {
|
|
309
309
|
type: "addLink",
|
|
310
|
-
apiName: "
|
|
310
|
+
apiName: "visitedOffices",
|
|
311
311
|
source: {
|
|
312
|
-
$apiName: "
|
|
312
|
+
$apiName: "Employee",
|
|
313
313
|
$primaryKey: 2
|
|
314
314
|
},
|
|
315
315
|
target: {
|
|
316
|
-
$apiName: "
|
|
317
|
-
$primaryKey: 2
|
|
316
|
+
$apiName: "Office",
|
|
317
|
+
$primaryKey: "2"
|
|
318
318
|
}
|
|
319
319
|
}, {
|
|
320
320
|
type: "removeLink",
|
|
321
|
-
apiName: "
|
|
321
|
+
apiName: "visitedOffices",
|
|
322
322
|
source: {
|
|
323
|
-
$apiName: "
|
|
323
|
+
$apiName: "Employee",
|
|
324
324
|
$primaryKey: 0
|
|
325
325
|
},
|
|
326
326
|
target: {
|
|
327
|
-
$apiName: "
|
|
328
|
-
$primaryKey:
|
|
327
|
+
$apiName: "Office",
|
|
328
|
+
$primaryKey: "New York"
|
|
329
329
|
}
|
|
330
330
|
}, {
|
|
331
331
|
type: "addLink",
|
|
@@ -387,7 +387,7 @@ describe(createEditBatch, () => {
|
|
|
387
387
|
apiName: "occupants",
|
|
388
388
|
source: {
|
|
389
389
|
$apiName: "Office",
|
|
390
|
-
$primaryKey: "
|
|
390
|
+
$primaryKey: "Denver"
|
|
391
391
|
},
|
|
392
392
|
target: {
|
|
393
393
|
$apiName: "Employee",
|
|
@@ -398,7 +398,7 @@ describe(createEditBatch, () => {
|
|
|
398
398
|
apiName: "occupants",
|
|
399
399
|
source: {
|
|
400
400
|
$apiName: "Office",
|
|
401
|
-
$primaryKey: "
|
|
401
|
+
$primaryKey: "Denver"
|
|
402
402
|
},
|
|
403
403
|
target: {
|
|
404
404
|
$apiName: "Employee",
|
|
@@ -412,7 +412,8 @@ describe(createEditBatch, () => {
|
|
|
412
412
|
|
|
413
413
|
editBatch.link(taskInstance, "RP",
|
|
414
414
|
// @ts-expect-error
|
|
415
|
-
|
|
415
|
+
personInstance);
|
|
416
|
+
// Trying to traverse ONE direction
|
|
416
417
|
|
|
417
418
|
editBatch.link({
|
|
418
419
|
$apiName: "Task",
|
|
@@ -1 +1 @@
|
|
|
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","name","delete","update","officeId","capacity","fooSpt","link","unlink","getEdits","toEqual","type","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.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 });\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: \"Task\", $primaryKey: 0 }, \"RP\", {\n $apiName: \"Person\",\n $primaryKey: 0,\n });\n editBatch.link({ $apiName: \"Task\", $primaryKey: 0 }, \"RP\", {\n $apiName: \"Person\",\n $primaryKey: 1,\n });\n editBatch.link(taskInstance, \"RP\", personInstance);\n editBatch.unlink({ $apiName: \"Task\", $primaryKey: 0 }, \"RP\", {\n $apiName: \"Person\",\n $primaryKey: 1,\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: \"2\" },\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 },\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: \"RP\",\n source: { $apiName: \"Task\", $primaryKey: 0 },\n target: { $apiName: \"Person\", $primaryKey: 0 },\n },\n {\n type: \"addLink\",\n apiName: \"RP\",\n source: { $apiName: \"Task\", $primaryKey: 0 },\n target: { $apiName: \"Person\", $primaryKey: 1 },\n },\n {\n type: \"addLink\",\n apiName: \"RP\",\n source: { $apiName: \"Task\", $primaryKey: 2 },\n target: { $apiName: \"Person\", $primaryKey: 2 },\n },\n {\n type: \"removeLink\",\n apiName: \"RP\",\n source: { $apiName: \"Task\", $primaryKey: 0 },\n target: { $apiName: \"Person\", $primaryKey: 1 },\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: \"2\" },\n target: { $apiName: \"Employee\", $primaryKey: 2 },\n },\n {\n type: \"removeLink\",\n apiName: \"occupants\",\n source: { $apiName: \"Office\", $primaryKey: \"2\" },\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 ); // Using list for non-multiplicity link\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":"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","ignoreList":[]}
|
|
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","name","delete","update","officeId","capacity","fooSpt","link","unlink","getEdits","toEqual","type","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 });\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 },\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;IAC/B,CAAC,CAAC;IACFN,SAAS,CAACE,MAAM,CAAClB,IAAI,EAAE;MAAEmB,EAAE,EAAE,CAAC;MAAEI,IAAI,EAAE;IAAe,CAAC,CAAC;IACvDP,SAAS,CAACE,MAAM,CAAClB,IAAI,EAAE;MAAEmB,EAAE,EAAE,CAAC;MAAEI,IAAI,EAAE;IAAqB,CAAC,CAAC;IAC7DP,SAAS,CAACE,MAAM,CAAClB,IAAI,EAAE;MAAEmB,EAAE,EAAE;IAAE,CAAC,CAAC;IACjCH,SAAS,CAACQ,MAAM,CAAC;MAAEhB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,CAAC;IACtDO,SAAS,CAACQ,MAAM,CAACjB,YAAY,CAAC;IAC9BS,SAAS,CAACS,MAAM,CAAC;MAAEjB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE;MACrDc,IAAI,EAAE;IACR,CAAC,CAAC;IACFP,SAAS,CAACS,MAAM,CAAClB,YAAY,EAAE;MAAEgB,IAAI,EAAE;IAAwB,CAAC,CAAC;IACjEP,SAAS,CAACS,MAAM,CAAC;MAAEjB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1DO,SAAS,CAACE,MAAM,CAAClB,IAAI,EAAE;MAAEmB,EAAE,EAAE,CAAC;MAAEI,IAAI,EAAE;IAAe,CAAC,CAAC;IACvDP,SAAS,CAACE,MAAM,CAACnB,MAAM,EAAE;MAAE2B,QAAQ,EAAE,GAAG;MAAEC,QAAQ,EAAE;IAAE,CAAC,CAAC;IACxDX,SAAS,CAACS,MAAM,CAAC;MAAEjB,QAAQ,EAAE,QAAQ;MAAEC,WAAW,EAAE;IAAI,CAAC,EAAE;MAAEkB,QAAQ,EAAE;IAAE,CAAC,CAAC;IAC3EX,SAAS,CAACE,MAAM,CAACrB,YAAY,EAAE;MAC7BiB,WAAW,EAAE,MAAM;MACnBc,MAAM,EAAE;IACV,CAAC,CAAC;IACFZ,SAAS,CAACS,MAAM,CAACZ,oBAAoB,EAAE;MAAEe,MAAM,EAAE;IAAS,CAAC,CAAC;IAC5DZ,SAAS,CAACS,MAAM,CAAC;MACfjB,QAAQ,EAAE,cAAc;MACxBM,WAAW,EAAE,eAAe;MAC5BL,WAAW,EAAE;IACf,CAAC,EAAE;MAAEmB,MAAM,EAAE;IAAU,CAAC,CAAC;IACzBZ,SAAS,CAACQ,MAAM,CAACX,oBAAoB,CAAC;IAEtCG,SAAS,CAACa,IAAI,CAAC;MAAErB,QAAQ,EAAE,UAAU;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE,gBAAgB,EAAE;MACzED,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE;IACf,CAAC,CAAC;IACFO,SAAS,CAACa,IAAI,CAAC;MAAErB,QAAQ,EAAE,UAAU;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE,gBAAgB,EAAE;MACzED,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE;IACf,CAAC,CAAC;IACFO,SAAS,CAACa,IAAI,CAACjB,gBAAgB,EAAE,gBAAgB,EAAED,cAAc,CAAC;IAClEK,SAAS,CAACc,MAAM,CACd;MAAEtB,QAAQ,EAAE,UAAU;MAAEC,WAAW,EAAE;IAAE,CAAC,EACxC,gBAAgB,EAChB;MACED,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE;IACf,CACF,CAAC;IACDO,SAAS,CAACa,IAAI,CAACtB,YAAY,EAAE,OAAO,EAAE;MAAEC,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,CAAC;IAC3EO,SAAS,CAACa,IAAI,CAACtB,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,CAACc,MAAM,CAAC;MAAEtB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE,OAAO,EAAE;MAC9DD,QAAQ,EAAE,MAAM;MAChBC,WAAW,EAAE;IACf,CAAC,CAAC;IACFO,SAAS,CAACa,IAAI,CAAClB,cAAc,EAAE,WAAW,EAAEC,gBAAgB,CAAC;IAC7DI,SAAS,CAACc,MAAM,CACd;MAAEtB,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,CAACe,QAAQ,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CACnC;MACEC,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAEpC,8BAA8B;MACnCqC,UAAU,EAAE;QACVhB,EAAE,EAAE,CAAC;QACLC,UAAU,EAAE,QAAQ;QACpBC,WAAW,EAAE;UAAEC,GAAG,EAAE;QAAS;MAC/B;IACF,CAAC,EACD;MACEW,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAElC,IAAI;MACTmC,UAAU,EAAE;QAAEhB,EAAE,EAAE,CAAC;QAAEI,IAAI,EAAE;MAAe;IAC5C,CAAC,EACD;MACEU,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAElC,IAAI;MACTmC,UAAU,EAAE;QAAEhB,EAAE,EAAE,CAAC;QAAEI,IAAI,EAAE;MAAqB;IAClD,CAAC,EACD;MACEU,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAElC,IAAI;MACTmC,UAAU,EAAE;QAAEhB,EAAE,EAAE;MAAE;IACtB,CAAC,EACD;MAAEc,IAAI,EAAE,cAAc;MAAEC,GAAG,EAAE;QAAE1B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAAE,CAAC,EACnE;MAAEwB,IAAI,EAAE,cAAc;MAAEC,GAAG,EAAE;QAAE1B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAAE,CAAC,EACnE;MACEwB,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAE;QAAE1B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MACzC0B,UAAU,EAAE;QAAEZ,IAAI,EAAE;MAAmB;IACzC,CAAC,EACD;MACEU,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAE;QAAE1B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MACzC0B,UAAU,EAAE;QAAEZ,IAAI,EAAE;MAAwB;IAC9C,CAAC,EACD;MACEU,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAE;QAAE1B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MACzC0B,UAAU,EAAE,CAAC;IACf,CAAC,EACD;MACEF,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAElC,IAAI;MACTmC,UAAU,EAAE;QAAEhB,EAAE,EAAE,CAAC;QAAEI,IAAI,EAAE;MAAe;IAC5C,CAAC,EACD;MACEU,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAEnC,MAAM;MACXoC,UAAU,EAAE;QAAET,QAAQ,EAAE,GAAG;QAAEC,QAAQ,EAAE;MAAE;IAC3C,CAAC,EACD;MACEM,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAE;QAAE1B,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAI,CAAC;MAC7C0B,UAAU,EAAE;QAAER,QAAQ,EAAE;MAAE;IAC5B,CAAC,EACD;MACEM,IAAI,EAAE,0BAA0B;MAChCG,GAAG,EAAEvC,YAAY;MACjBsC,UAAU,EAAE;QAAEP,MAAM,EAAE,mBAAmB;QAAEd,WAAW,EAAE;MAAO;IACjE,CAAC,EACD;MACEmB,IAAI,EAAE,0BAA0B;MAChCC,GAAG,EAAE;QACH1B,QAAQ,EAAE,cAAc;QACxBC,WAAW,EAAE,EAAE;QACfK,WAAW,EAAE;MACf,CAAC;MACDqB,UAAU,EAAE;QAAEP,MAAM,EAAE;MAAS;IACjC,CAAC,EACD;MACEK,IAAI,EAAE,0BAA0B;MAChCC,GAAG,EAAE;QACH1B,QAAQ,EAAE,cAAc;QACxBC,WAAW,EAAE,EAAE;QACfK,WAAW,EAAE;MACf,CAAC;MACDqB,UAAU,EAAE;QAAEP,MAAM,EAAE;MAAU;IAClC,CAAC,EACD;MACEK,IAAI,EAAE,0BAA0B;MAChCC,GAAG,EAAE;QACH1B,QAAQ,EAAE,cAAc;QACxBC,WAAW,EAAE,EAAE;QACfK,WAAW,EAAE;MACf;IACF,CAAC,EACD;MACEmB,IAAI,EAAE,SAAS;MACfI,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;QAAE9B,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE,CAAC;MAChD8B,MAAM,EAAE;QAAE/B,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAU;IACvD,CAAC,EACD;MACEwB,IAAI,EAAE,SAAS;MACfI,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;QAAE9B,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE,CAAC;MAChD8B,MAAM,EAAE;QAAE/B,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAY;IACzD,CAAC,EACD;MACEwB,IAAI,EAAE,SAAS;MACfI,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;QAAE9B,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE,CAAC;MAChD8B,MAAM,EAAE;QAAE/B,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAI;IACjD,CAAC,EACD;MACEwB,IAAI,EAAE,YAAY;MAClBI,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;QAAE9B,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE,CAAC;MAChD8B,MAAM,EAAE;QAAE/B,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAW;IACxD,CAAC,EACD;MACEwB,IAAI,EAAE,SAAS;MACfI,OAAO,EAAE,OAAO;MAChBC,MAAM,EAAE;QAAE9B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MAC5C8B,MAAM,EAAE;QAAE/B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAC7C,CAAC,EACD;MACEwB,IAAI,EAAE,SAAS;MACfI,OAAO,EAAE,OAAO;MAChBC,MAAM,EAAE;QAAE9B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MAC5C8B,MAAM,EAAE;QAAE/B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAC7C,CAAC,EACD;MACEwB,IAAI,EAAE,SAAS;MACfI,OAAO,EAAE,OAAO;MAChBC,MAAM,EAAE;QAAE9B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MAC5C8B,MAAM,EAAE;QAAE/B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAC7C,CAAC,EACD;MACEwB,IAAI,EAAE,YAAY;MAClBI,OAAO,EAAE,OAAO;MAChBC,MAAM,EAAE;QAAE9B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MAC5C8B,MAAM,EAAE;QAAE/B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAC7C,CAAC,EACD;MACEwB,IAAI,EAAE,SAAS;MACfI,OAAO,EAAE,WAAW;MACpBC,MAAM,EAAE;QAAE9B,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAI,CAAC;MAChD8B,MAAM,EAAE;QAAE/B,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE;IACjD,CAAC,EACD;MACEwB,IAAI,EAAE,YAAY;MAClBI,OAAO,EAAE,WAAW;MACpBC,MAAM,EAAE;QAAE9B,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAS,CAAC;MACrD8B,MAAM,EAAE;QAAE/B,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE;IACjD,CAAC,EACD;MACEwB,IAAI,EAAE,YAAY;MAClBI,OAAO,EAAE,WAAW;MACpBC,MAAM,EAAE;QAAE9B,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAS,CAAC;MACrD8B,MAAM,EAAE;QAAE/B,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE;IACjD,CAAC,CACF,CAAC;EACJ,CAAC,CAAC;EAEFL,EAAE,CAAC,yBAAyB,EAAE,MAAM;IAClC;IACAY,SAAS,CAACa,IAAI,CAACtB,YAAY,EAAE,IAAI,EAAEI,cAAc,CAAC,CAAC,CAAC;;IAEpDK,SAAS,CAACa,IAAI,CACZtB,YAAY,EACZ,IAAI;IACJ;IACAG,cACF,CAAC;IACD;;IAEAM,SAAS,CAACa,IAAI,CACZ;MAAErB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC;IACpC;IACA,WAAW,EACXG,gBACF,CAAC,CAAC,CAAC;;IAEHI,SAAS,CAACa,IAAI,CACZ;MAAErB,QAAQ,EAAE,QAAQ;MAAEC,WAAW,EAAE;IAAI,CAAC,EACxC,WAAW;IACX;IACAC,cACF,CAAC,CAAC,CAAC;;IAEH;IACAM,SAAS,CAACa,IAAI,CAAClB,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,CAACc,MAAM,CAACvB,YAAY,EAAE,IAAI,EAAEI,cAAc,CAAC,CAAC,CAAC;;IAEtDK,SAAS,CAACc,MAAM,CACdvB,YAAY,EACZ,IAAI;IACJ;IACA,CAACG,cAAc,CACjB,CAAC,CAAC,CAAC;;IAEHM,SAAS,CAACc,MAAM,CACd;MAAEtB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC;IACpC;IACA,WAAW,EACXG,gBACF,CAAC,CAAC,CAAC;;IAEHI,SAAS,CAACc,MAAM,CACd;MAAEtB,QAAQ,EAAE,QAAQ;MAAEC,WAAW,EAAE;IAAI,CAAC,EACxC,WAAW;IACX;IACAC,cACF,CAAC,CAAC,CAAC;;IAEH;IACAM,SAAS,CAACc,MAAM,CAACnB,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,CAACS,MAAM,CAAClB,YAAY,EAAE;MAAEoB,QAAQ,EAAE;IAAE,CAAC,CAAC,CAAC,CAAC;;IAEjD;IACAX,SAAS,CAACS,MAAM,CAAC;MAAEjB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE;MAAEkB,QAAQ,EAAE;IAAE,CAAC,CAAC,CAAC,CAAC;EAC3E,CAAC,CAAC;EAEFvB,EAAE,CAAC,2BAA2B,EAAE,MAAM;IACpC;IACAY,SAAS,CAACS,MAAM,CAAClB,YAAY,EAAE;MAAEoB,QAAQ,EAAE;IAAE,CAAC,CAAC,CAAC,CAAC;;IAEjD;IACAX,SAAS,CAACS,MAAM,CAAC;MAAEjB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE;MAAEkB,QAAQ,EAAE;IAAE,CAAC,CAAC,CAAC,CAAC;EAC3E,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -9,10 +9,10 @@ interface InterfaceDefinitionForLocator<IL extends ObjectLocator<any>> extends I
|
|
|
9
9
|
}
|
|
10
10
|
type AddLinkSources<X extends AnyEdit> = X extends AddLink<infer OTD, any> ? ObjectLocator<OTD> : never;
|
|
11
11
|
type AddLinkApiNames<X extends AnyEdit, SOL extends ObjectLocator<any>> = X extends AddLink<ObjectTypeDefinitionForLocator<SOL>, infer A> ? A : never;
|
|
12
|
-
type AddLinkTargets<X extends AnyEdit, SOL extends ObjectLocator<any>, A extends string> = X extends AddLink<ObjectTypeDefinitionForLocator<SOL>, A> ? (X extends AddLink<infer OTD, A> ? (CompileTimeMetadata<OTD>["links"][A]["multiplicity"] extends true ? Array<X["target"]> | X["target"] :
|
|
12
|
+
type AddLinkTargets<X extends AnyEdit, SOL extends ObjectLocator<any>, A extends string> = X extends AddLink<ObjectTypeDefinitionForLocator<SOL>, A> ? (X extends AddLink<infer OTD, A> ? (CompileTimeMetadata<OTD>["links"][A]["multiplicity"] extends true ? Array<X["target"]> | X["target"] : never) : never) : never;
|
|
13
13
|
type RemoveLinkSources<X extends AnyEdit> = X extends RemoveLink<infer OTD, any> ? ObjectLocator<OTD> : never;
|
|
14
14
|
type RemoveLinkApiNames<X extends AnyEdit, SOL extends ObjectLocator<any>> = X extends RemoveLink<ObjectTypeDefinitionForLocator<SOL>, infer L> ? L : never;
|
|
15
|
-
type RemoveLinkTargets<X extends AnyEdit, SOL extends ObjectLocator<any>, A extends string> = X extends RemoveLink<ObjectTypeDefinitionForLocator<SOL>, A> ? (X extends RemoveLink<infer OTD, A> ? (CompileTimeMetadata<OTD>["links"][A]["multiplicity"] extends true ? Array<X["target"]> | X["target"] :
|
|
15
|
+
type RemoveLinkTargets<X extends AnyEdit, SOL extends ObjectLocator<any>, A extends string> = X extends RemoveLink<ObjectTypeDefinitionForLocator<SOL>, A> ? (X extends RemoveLink<infer OTD, A> ? (CompileTimeMetadata<OTD>["links"][A]["multiplicity"] extends true ? Array<X["target"]> | X["target"] : never) : never) : never;
|
|
16
16
|
type CreatableObjectOrInterfaceTypes<X extends AnyEdit> = X extends CreateObject<infer OTD> ? OTD : X extends CreateObjectForInterface<infer ID> ? ID : never;
|
|
17
17
|
type CreatableObjectOrInterfaceTypeProperties<X extends AnyEdit, OI extends ObjectTypeDefinition | InterfaceDefinition> = X extends CreateObject<infer OTD> ? OTD extends OI ? X["properties"] : never : X extends CreateObjectForInterface<infer ID> ? ID extends OI ? X["properties"] : never : never;
|
|
18
18
|
type DeletableObjectOrInterfaceLocators<X extends AnyEdit> = X extends DeleteObject<infer OTD> ? ObjectLocator<OTD> : X extends DeleteObjectForInterface<infer ID> ? InterfaceLocator<ID> : never;
|
package/build/cjs/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Client, ObjectTypeDefinition, InterfaceDefinition, Osdk } from '@osdk/client';
|
|
2
2
|
export { Attachment, Range, ThreeDimensionalAggregation, TwoDimensionalAggregation } from '@osdk/client';
|
|
3
|
-
import { E as EditBatch } from './EditBatch-
|
|
3
|
+
import { E as EditBatch } from './EditBatch-DCDMGtxT.cjs';
|
|
4
4
|
import { A as AnyEdit } from './internal-C20KRlC4.cjs';
|
|
5
5
|
export { E as Edits } from './internal-C20KRlC4.cjs';
|
|
6
6
|
import { GroupId as GroupId$1, UserId as UserId$1 } from '@osdk/foundry.core';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createClientWithTransaction } from '@osdk/client/unstable-do-not-use';
|
|
2
2
|
import { A as AnyEdit } from '../internal-C20KRlC4.cjs';
|
|
3
3
|
import { Client } from '@osdk/client';
|
|
4
|
-
import { A as AddLinkSources, a as AddLinkApiNames, b as AddLinkTargets, R as RemoveLinkSources, c as RemoveLinkApiNames, d as RemoveLinkTargets, C as CreatableObjectOrInterfaceTypes, e as CreatableObjectOrInterfaceTypeProperties, D as DeletableObjectOrInterfaceLocators, U as UpdatableObjectOrInterfaceLocators, f as UpdatableObjectOrInterfaceLocatorProperties } from '../EditBatch-
|
|
4
|
+
import { A as AddLinkSources, a as AddLinkApiNames, b as AddLinkTargets, R as RemoveLinkSources, c as RemoveLinkApiNames, d as RemoveLinkTargets, C as CreatableObjectOrInterfaceTypes, e as CreatableObjectOrInterfaceTypeProperties, D as DeletableObjectOrInterfaceLocators, U as UpdatableObjectOrInterfaceLocators, f as UpdatableObjectOrInterfaceLocatorProperties } from '../EditBatch-DCDMGtxT.cjs';
|
|
5
5
|
|
|
6
6
|
interface WriteableClientContext {
|
|
7
7
|
ontologyRid: string | Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditBatch.js","names":[],"sources":["EditBatch.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 {\n CompileTimeMetadata,\n InterfaceDefinition,\n ObjectTypeDefinition,\n} from \"@osdk/client\";\nimport type {\n AddLink,\n AnyEdit,\n CreateObject,\n CreateObjectForInterface,\n DeleteObject,\n DeleteObjectForInterface,\n InterfaceLocator,\n ObjectLocator,\n RemoveLink,\n UpdateObject,\n UpdateObjectForInterface,\n} from \"./types.js\";\n\n// Helper type for literal \"apiName\" values without resorting to expensive type inference.\ninterface ObjectTypeDefinitionForLocator<OL extends ObjectLocator<any>>\n extends ObjectTypeDefinition\n{\n apiName: OL[\"$apiName\"];\n}\n\ninterface InterfaceDefinitionForLocator<IL extends ObjectLocator<any>>\n extends InterfaceDefinition\n{\n apiName: IL[\"$apiName\"];\n}\n\n// AddLink helper types\nexport type AddLinkSources<X extends AnyEdit> = X extends\n AddLink<infer OTD, any> ? ObjectLocator<OTD> : never;\n\nexport type AddLinkApiNames<X extends AnyEdit, SOL extends ObjectLocator<any>> =\n X extends AddLink<ObjectTypeDefinitionForLocator<SOL>, infer A> ? A : never;\n\nexport type AddLinkTargets<\n X extends AnyEdit,\n SOL extends ObjectLocator<any>,\n A extends string,\n> = X extends AddLink<ObjectTypeDefinitionForLocator<SOL>, A>\n ? (X extends AddLink<infer OTD, A>\n ? (CompileTimeMetadata<OTD>[\"links\"][A][\"multiplicity\"] extends true\n ? Array<X[\"target\"]> | X[\"target\"]\n :
|
|
1
|
+
{"version":3,"file":"EditBatch.js","names":[],"sources":["EditBatch.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 {\n CompileTimeMetadata,\n InterfaceDefinition,\n ObjectTypeDefinition,\n} from \"@osdk/client\";\nimport type {\n AddLink,\n AnyEdit,\n CreateObject,\n CreateObjectForInterface,\n DeleteObject,\n DeleteObjectForInterface,\n InterfaceLocator,\n ObjectLocator,\n RemoveLink,\n UpdateObject,\n UpdateObjectForInterface,\n} from \"./types.js\";\n\n// Helper type for literal \"apiName\" values without resorting to expensive type inference.\ninterface ObjectTypeDefinitionForLocator<OL extends ObjectLocator<any>>\n extends ObjectTypeDefinition\n{\n apiName: OL[\"$apiName\"];\n}\n\ninterface InterfaceDefinitionForLocator<IL extends ObjectLocator<any>>\n extends InterfaceDefinition\n{\n apiName: IL[\"$apiName\"];\n}\n\n// AddLink helper types\nexport type AddLinkSources<X extends AnyEdit> = X extends\n AddLink<infer OTD, any> ? ObjectLocator<OTD> : never;\n\nexport type AddLinkApiNames<X extends AnyEdit, SOL extends ObjectLocator<any>> =\n X extends AddLink<ObjectTypeDefinitionForLocator<SOL>, infer A> ? A : never;\n\nexport type AddLinkTargets<\n X extends AnyEdit,\n SOL extends ObjectLocator<any>,\n A extends string,\n> = X extends AddLink<ObjectTypeDefinitionForLocator<SOL>, A>\n ? (X extends AddLink<infer OTD, A>\n ? (CompileTimeMetadata<OTD>[\"links\"][A][\"multiplicity\"] extends true\n ? Array<X[\"target\"]> | X[\"target\"]\n : never)\n : never)\n : never;\n\n// RemoveLink helper types\nexport type RemoveLinkSources<X extends AnyEdit> = X extends\n RemoveLink<infer OTD, any> ? ObjectLocator<OTD> : never;\n\nexport type RemoveLinkApiNames<\n X extends AnyEdit,\n SOL extends ObjectLocator<any>,\n> = X extends RemoveLink<ObjectTypeDefinitionForLocator<SOL>, infer L> ? L\n : never;\n\nexport type RemoveLinkTargets<\n X extends AnyEdit,\n SOL extends ObjectLocator<any>,\n A extends string,\n> = X extends RemoveLink<ObjectTypeDefinitionForLocator<SOL>, A>\n ? (X extends RemoveLink<infer OTD, A>\n ? (CompileTimeMetadata<OTD>[\"links\"][A][\"multiplicity\"] extends true\n ? Array<X[\"target\"]> | X[\"target\"]\n : never)\n : never)\n : never;\n\n// CreateObject helper types\nexport type CreatableObjectOrInterfaceTypes<X extends AnyEdit> = X extends\n CreateObject<infer OTD> ? OTD\n : X extends CreateObjectForInterface<infer ID> ? ID\n : never;\n\nexport type CreatableObjectOrInterfaceTypeProperties<\n X extends AnyEdit,\n OI extends ObjectTypeDefinition | InterfaceDefinition,\n> = X extends CreateObject<infer OTD> ? OTD extends OI ? X[\"properties\"] : never\n : X extends CreateObjectForInterface<infer ID>\n ? ID extends OI ? X[\"properties\"] : never\n : never;\n\n// DeleteObject helper types\nexport type DeletableObjectOrInterfaceLocators<X extends AnyEdit> = X extends\n DeleteObject<infer OTD> ? ObjectLocator<OTD>\n : X extends DeleteObjectForInterface<infer ID> ? InterfaceLocator<ID>\n : never;\n\n// UpdateObject and UpdateInterface helper types\nexport type UpdatableObjectOrInterfaceLocators<X extends AnyEdit> = X extends\n UpdateObject<infer OTD> ? ObjectLocator<OTD>\n : X extends UpdateObjectForInterface<infer ID> ? InterfaceLocator<ID>\n : never;\n\nexport type UpdatableObjectOrInterfaceLocatorProperties<\n X extends AnyEdit,\n OL extends ObjectLocator<any>,\n> = X extends UpdateObject<ObjectTypeDefinitionForLocator<OL>> ? X[\"properties\"]\n : X extends UpdateObjectForInterface<InterfaceDefinitionForLocator<OL>>\n ? X[\"properties\"]\n : never;\n\nexport interface EditBatch<\n X extends AnyEdit = never,\n> {\n link: <\n SOL extends AddLinkSources<X>,\n A extends AddLinkApiNames<X, SOL>,\n >(\n source: SOL,\n apiName: A,\n target: AddLinkTargets<X, SOL, A>,\n ) => void;\n\n unlink: <\n SOL extends RemoveLinkSources<X>,\n A extends RemoveLinkApiNames<X, SOL>,\n >(\n source: SOL,\n apiName: A,\n target: RemoveLinkTargets<X, SOL, A>,\n ) => void;\n\n create: <OI extends CreatableObjectOrInterfaceTypes<X>>(\n objectOrInterfaceType: OI,\n properties: CreatableObjectOrInterfaceTypeProperties<X, OI>,\n ) => void;\n\n delete: <OL extends DeletableObjectOrInterfaceLocators<X>>(obj: OL) => void;\n\n update: <OL extends UpdatableObjectOrInterfaceLocators<X>>(\n obj: OL,\n properties: UpdatableObjectOrInterfaceLocatorProperties<X, OL>,\n ) => void;\n\n getEdits: () => X[];\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -112,26 +112,26 @@ describe(createEditBatch, () => {
|
|
|
112
112
|
});
|
|
113
113
|
editBatch.delete(fooInterfaceInstance);
|
|
114
114
|
editBatch.link({
|
|
115
|
-
$apiName: "
|
|
116
|
-
$primaryKey: 0
|
|
117
|
-
}, "RP", {
|
|
118
|
-
$apiName: "Person",
|
|
115
|
+
$apiName: "Employee",
|
|
119
116
|
$primaryKey: 0
|
|
117
|
+
}, "visitedOffices", {
|
|
118
|
+
$apiName: "Office",
|
|
119
|
+
$primaryKey: "Seattle"
|
|
120
120
|
});
|
|
121
121
|
editBatch.link({
|
|
122
|
-
$apiName: "
|
|
122
|
+
$apiName: "Employee",
|
|
123
123
|
$primaryKey: 0
|
|
124
|
-
}, "
|
|
125
|
-
$apiName: "
|
|
126
|
-
$primaryKey:
|
|
124
|
+
}, "visitedOffices", {
|
|
125
|
+
$apiName: "Office",
|
|
126
|
+
$primaryKey: "Palo Alto"
|
|
127
127
|
});
|
|
128
|
-
editBatch.link(
|
|
128
|
+
editBatch.link(employeeInstance, "visitedOffices", officeInstance);
|
|
129
129
|
editBatch.unlink({
|
|
130
|
-
$apiName: "
|
|
130
|
+
$apiName: "Employee",
|
|
131
131
|
$primaryKey: 0
|
|
132
|
-
}, "
|
|
133
|
-
$apiName: "
|
|
134
|
-
$primaryKey:
|
|
132
|
+
}, "visitedOffices", {
|
|
133
|
+
$apiName: "Office",
|
|
134
|
+
$primaryKey: "New York"
|
|
135
135
|
});
|
|
136
136
|
editBatch.link(taskInstance, "Todos", {
|
|
137
137
|
$apiName: "Todo",
|
|
@@ -154,7 +154,7 @@ describe(createEditBatch, () => {
|
|
|
154
154
|
editBatch.link(officeInstance, "occupants", employeeInstance);
|
|
155
155
|
editBatch.unlink({
|
|
156
156
|
$apiName: "Office",
|
|
157
|
-
$primaryKey: "
|
|
157
|
+
$primaryKey: "Denver"
|
|
158
158
|
}, "occupants", [employeeInstance, {
|
|
159
159
|
$apiName: "Employee",
|
|
160
160
|
$primaryKey: 3
|
|
@@ -285,47 +285,47 @@ describe(createEditBatch, () => {
|
|
|
285
285
|
}
|
|
286
286
|
}, {
|
|
287
287
|
type: "addLink",
|
|
288
|
-
apiName: "
|
|
288
|
+
apiName: "visitedOffices",
|
|
289
289
|
source: {
|
|
290
|
-
$apiName: "
|
|
290
|
+
$apiName: "Employee",
|
|
291
291
|
$primaryKey: 0
|
|
292
292
|
},
|
|
293
293
|
target: {
|
|
294
|
-
$apiName: "
|
|
295
|
-
$primaryKey:
|
|
294
|
+
$apiName: "Office",
|
|
295
|
+
$primaryKey: "Seattle"
|
|
296
296
|
}
|
|
297
297
|
}, {
|
|
298
298
|
type: "addLink",
|
|
299
|
-
apiName: "
|
|
299
|
+
apiName: "visitedOffices",
|
|
300
300
|
source: {
|
|
301
|
-
$apiName: "
|
|
301
|
+
$apiName: "Employee",
|
|
302
302
|
$primaryKey: 0
|
|
303
303
|
},
|
|
304
304
|
target: {
|
|
305
|
-
$apiName: "
|
|
306
|
-
$primaryKey:
|
|
305
|
+
$apiName: "Office",
|
|
306
|
+
$primaryKey: "Palo Alto"
|
|
307
307
|
}
|
|
308
308
|
}, {
|
|
309
309
|
type: "addLink",
|
|
310
|
-
apiName: "
|
|
310
|
+
apiName: "visitedOffices",
|
|
311
311
|
source: {
|
|
312
|
-
$apiName: "
|
|
312
|
+
$apiName: "Employee",
|
|
313
313
|
$primaryKey: 2
|
|
314
314
|
},
|
|
315
315
|
target: {
|
|
316
|
-
$apiName: "
|
|
317
|
-
$primaryKey: 2
|
|
316
|
+
$apiName: "Office",
|
|
317
|
+
$primaryKey: "2"
|
|
318
318
|
}
|
|
319
319
|
}, {
|
|
320
320
|
type: "removeLink",
|
|
321
|
-
apiName: "
|
|
321
|
+
apiName: "visitedOffices",
|
|
322
322
|
source: {
|
|
323
|
-
$apiName: "
|
|
323
|
+
$apiName: "Employee",
|
|
324
324
|
$primaryKey: 0
|
|
325
325
|
},
|
|
326
326
|
target: {
|
|
327
|
-
$apiName: "
|
|
328
|
-
$primaryKey:
|
|
327
|
+
$apiName: "Office",
|
|
328
|
+
$primaryKey: "New York"
|
|
329
329
|
}
|
|
330
330
|
}, {
|
|
331
331
|
type: "addLink",
|
|
@@ -387,7 +387,7 @@ describe(createEditBatch, () => {
|
|
|
387
387
|
apiName: "occupants",
|
|
388
388
|
source: {
|
|
389
389
|
$apiName: "Office",
|
|
390
|
-
$primaryKey: "
|
|
390
|
+
$primaryKey: "Denver"
|
|
391
391
|
},
|
|
392
392
|
target: {
|
|
393
393
|
$apiName: "Employee",
|
|
@@ -398,7 +398,7 @@ describe(createEditBatch, () => {
|
|
|
398
398
|
apiName: "occupants",
|
|
399
399
|
source: {
|
|
400
400
|
$apiName: "Office",
|
|
401
|
-
$primaryKey: "
|
|
401
|
+
$primaryKey: "Denver"
|
|
402
402
|
},
|
|
403
403
|
target: {
|
|
404
404
|
$apiName: "Employee",
|
|
@@ -412,7 +412,8 @@ describe(createEditBatch, () => {
|
|
|
412
412
|
|
|
413
413
|
editBatch.link(taskInstance, "RP",
|
|
414
414
|
// @ts-expect-error
|
|
415
|
-
|
|
415
|
+
personInstance);
|
|
416
|
+
// Trying to traverse ONE direction
|
|
416
417
|
|
|
417
418
|
editBatch.link({
|
|
418
419
|
$apiName: "Task",
|
|
@@ -1 +1 @@
|
|
|
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","name","delete","update","officeId","capacity","fooSpt","link","unlink","getEdits","toEqual","type","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.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 });\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: \"Task\", $primaryKey: 0 }, \"RP\", {\n $apiName: \"Person\",\n $primaryKey: 0,\n });\n editBatch.link({ $apiName: \"Task\", $primaryKey: 0 }, \"RP\", {\n $apiName: \"Person\",\n $primaryKey: 1,\n });\n editBatch.link(taskInstance, \"RP\", personInstance);\n editBatch.unlink({ $apiName: \"Task\", $primaryKey: 0 }, \"RP\", {\n $apiName: \"Person\",\n $primaryKey: 1,\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: \"2\" },\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 },\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: \"RP\",\n source: { $apiName: \"Task\", $primaryKey: 0 },\n target: { $apiName: \"Person\", $primaryKey: 0 },\n },\n {\n type: \"addLink\",\n apiName: \"RP\",\n source: { $apiName: \"Task\", $primaryKey: 0 },\n target: { $apiName: \"Person\", $primaryKey: 1 },\n },\n {\n type: \"addLink\",\n apiName: \"RP\",\n source: { $apiName: \"Task\", $primaryKey: 2 },\n target: { $apiName: \"Person\", $primaryKey: 2 },\n },\n {\n type: \"removeLink\",\n apiName: \"RP\",\n source: { $apiName: \"Task\", $primaryKey: 0 },\n target: { $apiName: \"Person\", $primaryKey: 1 },\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: \"2\" },\n target: { $apiName: \"Employee\", $primaryKey: 2 },\n },\n {\n type: \"removeLink\",\n apiName: \"occupants\",\n source: { $apiName: \"Office\", $primaryKey: \"2\" },\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 ); // Using list for non-multiplicity link\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":"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","ignoreList":[]}
|
|
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","name","delete","update","officeId","capacity","fooSpt","link","unlink","getEdits","toEqual","type","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 });\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 },\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":"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","ignoreList":[]}
|
|
@@ -15,7 +15,7 @@ export type AddLinkTargets<
|
|
|
15
15
|
X extends AnyEdit,
|
|
16
16
|
SOL extends ObjectLocator<any>,
|
|
17
17
|
A extends string
|
|
18
|
-
> = X extends AddLink<ObjectTypeDefinitionForLocator<SOL>, A> ? (X extends AddLink<infer OTD, A> ? (CompileTimeMetadata<OTD>["links"][A]["multiplicity"] extends true ? Array<X["target"]> | X["target"] :
|
|
18
|
+
> = X extends AddLink<ObjectTypeDefinitionForLocator<SOL>, A> ? (X extends AddLink<infer OTD, A> ? (CompileTimeMetadata<OTD>["links"][A]["multiplicity"] extends true ? Array<X["target"]> | X["target"] : never) : never) : never;
|
|
19
19
|
export type RemoveLinkSources<X extends AnyEdit> = X extends RemoveLink<infer OTD, any> ? ObjectLocator<OTD> : never;
|
|
20
20
|
export type RemoveLinkApiNames<
|
|
21
21
|
X extends AnyEdit,
|
|
@@ -25,7 +25,7 @@ export type RemoveLinkTargets<
|
|
|
25
25
|
X extends AnyEdit,
|
|
26
26
|
SOL extends ObjectLocator<any>,
|
|
27
27
|
A extends string
|
|
28
|
-
> = X extends RemoveLink<ObjectTypeDefinitionForLocator<SOL>, A> ? (X extends RemoveLink<infer OTD, A> ? (CompileTimeMetadata<OTD>["links"][A]["multiplicity"] extends true ? Array<X["target"]> | X["target"] :
|
|
28
|
+
> = X extends RemoveLink<ObjectTypeDefinitionForLocator<SOL>, A> ? (X extends RemoveLink<infer OTD, A> ? (CompileTimeMetadata<OTD>["links"][A]["multiplicity"] extends true ? Array<X["target"]> | X["target"] : never) : never) : never;
|
|
29
29
|
export type CreatableObjectOrInterfaceTypes<X extends AnyEdit> = X extends CreateObject<infer OTD> ? OTD : X extends CreateObjectForInterface<infer ID> ? ID : never;
|
|
30
30
|
export type CreatableObjectOrInterfaceTypeProperties<
|
|
31
31
|
X extends AnyEdit,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,qBACA,qBACA,4BACK,cAAe;AACtB,cACE,SACA,SACA,cACA,0BACA,cACA,0BACA,kBACA,eACA,YACA,cACA,gCACK,YAAa;UAGV,+BAA+B,WAAW,4BAC1C,qBACV;CACE,SAAS,GAAG;AACb;UAES,8BAA8B,WAAW,4BACzC,oBACV;CACE,SAAS,GAAG;AACb;AAGD,YAAY,eAAe,UAAU,WAAW,UAC9C,cAAc,YAAY,cAAc;AAE1C,YAAY;CAAgB,UAAU;CAAS,YAAY;IACzD,UAAU,QAAQ,+BAA+B,YAAY,KAAK;AAEpE,YAAY;CACV,UAAU;CACV,YAAY;CACZ;IACE,UAAU,QAAQ,+BAA+B,MAAM,MACtD,UAAU,cAAc,KAAK,MAC3B,oBAAoB,KAAK,SAAS,GAAG,wBAAwB,OAC5D,MAAM,EAAE,aAAa,EAAE
|
|
1
|
+
{"mappings":"AAgBA,cACE,qBACA,qBACA,4BACK,cAAe;AACtB,cACE,SACA,SACA,cACA,0BACA,cACA,0BACA,kBACA,eACA,YACA,cACA,gCACK,YAAa;UAGV,+BAA+B,WAAW,4BAC1C,qBACV;CACE,SAAS,GAAG;AACb;UAES,8BAA8B,WAAW,4BACzC,oBACV;CACE,SAAS,GAAG;AACb;AAGD,YAAY,eAAe,UAAU,WAAW,UAC9C,cAAc,YAAY,cAAc;AAE1C,YAAY;CAAgB,UAAU;CAAS,YAAY;IACzD,UAAU,QAAQ,+BAA+B,YAAY,KAAK;AAEpE,YAAY;CACV,UAAU;CACV,YAAY;CACZ;IACE,UAAU,QAAQ,+BAA+B,MAAM,MACtD,UAAU,cAAc,KAAK,MAC3B,oBAAoB,KAAK,SAAS,GAAG,wBAAwB,OAC5D,MAAM,EAAE,aAAa,EAAE;AAM/B,YAAY,kBAAkB,UAAU,WAAW,UACjD,iBAAiB,YAAY,cAAc;AAE7C,YAAY;CACV,UAAU;CACV,YAAY;IACV,UAAU,WAAW,+BAA+B,YAAY,KAAK;AAGzE,YAAY;CACV,UAAU;CACV,YAAY;CACZ;IACE,UAAU,WAAW,+BAA+B,MAAM,MACzD,UAAU,iBAAiB,KAAK,MAC9B,oBAAoB,KAAK,SAAS,GAAG,wBAAwB,OAC5D,MAAM,EAAE,aAAa,EAAE;AAM/B,YAAY,gCAAgC,UAAU,WAAW,UAC/D,mBAAmB,OAAO,MACxB,UAAU,+BAA+B,MAAM;AAGnD,YAAY;CACV,UAAU;CACV,WAAW,uBAAuB;IAChC,UAAU,mBAAmB,OAAO,YAAY,KAAK,EAAE,wBACvD,UAAU,+BAA+B,MACvC,WAAW,KAAK,EAAE;AAIxB,YAAY,mCAAmC,UAAU,WAAW,UAClE,mBAAmB,OAAO,cAAc,OACtC,UAAU,+BAA+B,MAAM,iBAAiB;AAIpE,YAAY,mCAAmC,UAAU,WAAW,UAClE,mBAAmB,OAAO,cAAc,OACtC,UAAU,+BAA+B,MAAM,iBAAiB;AAGpE,YAAY;CACV,UAAU;CACV,WAAW;IACT,UAAU,aAAa,+BAA+B,OAAO,EAAE,gBAC/D,UAAU,yBAAyB,8BAA8B,OAC/D,EAAE;AAGR,iBAAiB,UACf,UAAU,iBACV;CACA;EACE,YAAY,eAAe;EAC3B,UAAU,gBAAgB,GAAG;GAE7BA,QAAQ,KACRC,SAAS,GACTC,QAAQ,eAAe,GAAG,KAAK;CAGjC;EACE,YAAY,kBAAkB;EAC9B,UAAU,mBAAmB,GAAG;GAEhCF,QAAQ,KACRC,SAAS,GACTE,QAAQ,kBAAkB,GAAG,KAAK;CAGpC,SAAS,WAAW,gCAAgC,IAClDC,uBAAuB,IACvBC,YAAY,yCAAyC,GAAG;CAG1D,SAAS,WAAW,mCAAmC,IAAIC,KAAK;CAEhE,SAAS,WAAW,mCAAmC,IACrDA,KAAK,IACLC,YAAY,4CAA4C,GAAG;CAG7D,gBAAgB;AACjB","names":["source: SOL","apiName: A","target: AddLinkTargets<X, SOL, A>","target: RemoveLinkTargets<X, SOL, A>","objectOrInterfaceType: OI","properties: CreatableObjectOrInterfaceTypeProperties<X, OI>","obj: OL","properties: UpdatableObjectOrInterfaceLocatorProperties<X, OL>"],"sources":["../../../src/edits/EditBatch.ts"],"version":3,"file":"EditBatch.d.ts"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/functions",
|
|
3
|
-
"version": "1.3.0
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"access": "public",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"@types/geojson": "^7946.0.16"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
|
-
"@osdk/client": "^2.5.0
|
|
55
|
+
"@osdk/client": "^2.5.0"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@microsoft/api-documenter": "^7.26.32",
|
|
@@ -61,10 +61,10 @@
|
|
|
61
61
|
"p-defer": "^4.0.1",
|
|
62
62
|
"ts-expect": "^1.3.0",
|
|
63
63
|
"typescript": "~5.5.4",
|
|
64
|
-
"@osdk/client.test.ontology": "~2.5.0
|
|
65
|
-
"@osdk/monorepo.
|
|
66
|
-
"@osdk/monorepo.
|
|
67
|
-
"@osdk/shared.test": "~2.5.0
|
|
64
|
+
"@osdk/client.test.ontology": "~2.5.0",
|
|
65
|
+
"@osdk/monorepo.tsconfig": "~0.4.0",
|
|
66
|
+
"@osdk/monorepo.api-extractor": "~0.4.0",
|
|
67
|
+
"@osdk/shared.test": "~2.5.0"
|
|
68
68
|
},
|
|
69
69
|
"publishConfig": {
|
|
70
70
|
"access": "public"
|