@osdk/functions 1.3.0-beta.7 → 1.4.0-beta.2
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 +15 -0
- package/build/browser/edits/createEditBatch.test.js +4 -2
- package/build/browser/edits/createEditBatch.test.js.map +1 -1
- package/build/browser/edits/types.js.map +1 -1
- package/build/cjs/{EditBatch-DCDMGtxT.d.cts → EditBatch-CwPxevhT.d.cts} +1 -1
- package/build/cjs/index.d.cts +3 -3
- package/build/cjs/{internal-C20KRlC4.d.cts → internal-CmSoe_xi.d.cts} +1 -1
- package/build/cjs/public/internal.d.cts +1 -1
- package/build/cjs/public/unstable-do-not-use.cjs +9 -15
- package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
- package/build/cjs/public/unstable-do-not-use.d.cts +2 -2
- package/build/esm/edits/createEditBatch.test.js +4 -2
- package/build/esm/edits/createEditBatch.test.js.map +1 -1
- package/build/esm/edits/types.js.map +1 -1
- package/build/types/edits/types.d.ts +1 -1
- package/build/types/edits/types.d.ts.map +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @osdk/functions
|
|
2
2
|
|
|
3
|
+
## 1.4.0-beta.2
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 84e61fc: Add propertyValueFormatting type to property metadata
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [84e61fc]
|
|
12
|
+
- Updated dependencies [c4f8529]
|
|
13
|
+
- Updated dependencies [b762231]
|
|
14
|
+
- Updated dependencies [f7ae38a]
|
|
15
|
+
- Updated dependencies [f085283]
|
|
16
|
+
- @osdk/client@2.6.0-beta.2
|
|
17
|
+
|
|
3
18
|
## 1.3.0-beta.7
|
|
4
19
|
|
|
5
20
|
### Minor Changes
|
|
@@ -51,7 +51,8 @@ describe(createEditBatch, () => {
|
|
|
51
51
|
attachment: "ri.foo",
|
|
52
52
|
attachment2: {
|
|
53
53
|
rid: "ri.bar"
|
|
54
|
-
}
|
|
54
|
+
},
|
|
55
|
+
vector: [1, 2, 3]
|
|
55
56
|
});
|
|
56
57
|
editBatch.create(Task, {
|
|
57
58
|
id: 0,
|
|
@@ -167,7 +168,8 @@ describe(createEditBatch, () => {
|
|
|
167
168
|
attachment: "ri.foo",
|
|
168
169
|
attachment2: {
|
|
169
170
|
rid: "ri.bar"
|
|
170
|
-
}
|
|
171
|
+
},
|
|
172
|
+
vector: [1, 2, 3]
|
|
171
173
|
}
|
|
172
174
|
}, {
|
|
173
175
|
type: "createObject",
|
|
@@ -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.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":[]}
|
|
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","vector","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 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 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":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["Edits","isInterfaceLocator","obj","$objectType","$apiName"],"sources":["types.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 ObjectMetadata,\n ObjectTypeDefinition,\n Osdk,\n OsdkObjectCreatePropertyType,\n PropertyKeys,\n} from \"@osdk/client\";\n\nexport type ObjectLocator<\n S extends ObjectTypeDefinition = ObjectTypeDefinition,\n> = {\n $apiName: Osdk.Instance<S>[\"$apiName\"];\n $primaryKey: Osdk.Instance<S>[\"$primaryKey\"];\n};\n\nexport type InterfaceLocator<\n S extends InterfaceDefinition = InterfaceDefinition,\n> = {\n $apiName: Osdk.Instance<S>[\"$apiName\"];\n $objectType: Osdk.Instance<S>[\"$objectType\"];\n $primaryKey: Osdk.Instance<S>[\"$primaryKey\"];\n};\n\nexport namespace Edits {\n export type Object<S extends ObjectTypeDefinition> =\n | CreateObject<S>\n | DeleteObject<S>\n | UpdateObject<S>;\n\n export type Link<\n S extends ObjectTypeDefinition,\n L extends keyof CompileTimeMetadata<S>[\"links\"],\n > = AddLink<S, L> | RemoveLink<S, L>;\n\n export type Interface<S extends InterfaceDefinition> =\n | CreateObjectForInterface<S>\n | UpdateObjectForInterface<S>\n | DeleteObjectForInterface<S>;\n}\n\nexport interface AddLink<\n S extends ObjectTypeDefinition,\n L extends keyof CompileTimeMetadata<S>[\"links\"],\n> {\n type: \"addLink\";\n apiName: L;\n source: ObjectLocator<S>;\n target: CompileTimeMetadata<S>[\"links\"][L] extends\n ObjectMetadata.Link<infer T, any> ? ObjectLocator<T> : never;\n}\n\nexport interface RemoveLink<\n S extends ObjectTypeDefinition,\n L extends keyof CompileTimeMetadata<S>[\"links\"],\n> {\n type: \"removeLink\";\n apiName: L;\n source: ObjectLocator<S>;\n target: CompileTimeMetadata<S>[\"links\"][L] extends\n ObjectMetadata.Link<infer T, any> ? ObjectLocator<T> : never;\n}\n\ntype PartialForOptionalProperties<T> =\n & {\n [K in keyof T as undefined extends T[K] ? K : never]?: T[K]
|
|
1
|
+
{"version":3,"file":"types.js","names":["Edits","isInterfaceLocator","obj","$objectType","$apiName"],"sources":["types.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 ObjectMetadata,\n ObjectTypeDefinition,\n Osdk,\n OsdkObjectCreatePropertyType,\n PropertyKeys,\n} from \"@osdk/client\";\n\nexport type ObjectLocator<\n S extends ObjectTypeDefinition = ObjectTypeDefinition,\n> = {\n $apiName: Osdk.Instance<S>[\"$apiName\"];\n $primaryKey: Osdk.Instance<S>[\"$primaryKey\"];\n};\n\nexport type InterfaceLocator<\n S extends InterfaceDefinition = InterfaceDefinition,\n> = {\n $apiName: Osdk.Instance<S>[\"$apiName\"];\n $objectType: Osdk.Instance<S>[\"$objectType\"];\n $primaryKey: Osdk.Instance<S>[\"$primaryKey\"];\n};\n\nexport namespace Edits {\n export type Object<S extends ObjectTypeDefinition> =\n | CreateObject<S>\n | DeleteObject<S>\n | UpdateObject<S>;\n\n export type Link<\n S extends ObjectTypeDefinition,\n L extends keyof CompileTimeMetadata<S>[\"links\"],\n > = AddLink<S, L> | RemoveLink<S, L>;\n\n export type Interface<S extends InterfaceDefinition> =\n | CreateObjectForInterface<S>\n | UpdateObjectForInterface<S>\n | DeleteObjectForInterface<S>;\n}\n\nexport interface AddLink<\n S extends ObjectTypeDefinition,\n L extends keyof CompileTimeMetadata<S>[\"links\"],\n> {\n type: \"addLink\";\n apiName: L;\n source: ObjectLocator<S>;\n target: CompileTimeMetadata<S>[\"links\"][L] extends\n ObjectMetadata.Link<infer T, any> ? ObjectLocator<T> : never;\n}\n\nexport interface RemoveLink<\n S extends ObjectTypeDefinition,\n L extends keyof CompileTimeMetadata<S>[\"links\"],\n> {\n type: \"removeLink\";\n apiName: L;\n source: ObjectLocator<S>;\n target: CompileTimeMetadata<S>[\"links\"][L] extends\n ObjectMetadata.Link<infer T, any> ? ObjectLocator<T> : never;\n}\n\ntype PartialForOptionalProperties<T> =\n & {\n [K in keyof T as undefined extends T[K] ? K : never]?: NonNullable<T[K]>;\n }\n & {\n [K in keyof T as undefined extends T[K] ? never : K]-?: T[K];\n };\n\nexport interface CreateObject<S extends ObjectTypeDefinition> {\n type: \"createObject\";\n obj: S;\n properties: PartialForOptionalProperties<\n {\n [P in PropertyKeys<S>]: OsdkObjectCreatePropertyType<\n CompileTimeMetadata<S>[\"properties\"][P]\n >;\n }\n >;\n}\n\nexport interface DeleteObject<S extends ObjectTypeDefinition> {\n type: \"deleteObject\";\n obj: ObjectLocator<S>;\n}\n\nexport interface DeleteObjectForInterface<S extends InterfaceDefinition> {\n type: \"deleteObjectForInterface\";\n obj: InterfaceLocator<S>;\n}\n\nexport interface UpdateObject<S extends ObjectTypeDefinition> {\n type: \"updateObject\";\n obj: ObjectLocator<S>;\n properties: Partial<\n {\n [\n P in Exclude<\n PropertyKeys<S>,\n CompileTimeMetadata<S>[\"primaryKeyApiName\"]\n >\n ]: OsdkObjectCreatePropertyType<CompileTimeMetadata<S>[\"properties\"][P]>;\n }\n >;\n}\n\nexport interface CreateObjectForInterface<S extends InterfaceDefinition> {\n type: \"createObjectForInterface\";\n int: S;\n properties: PartialForOptionalProperties<\n {\n [P in PropertyKeys<S>]: OsdkObjectCreatePropertyType<\n CompileTimeMetadata<S>[\"properties\"][P]\n >;\n } & {\n $objectType: string;\n }\n >;\n}\n\nexport interface UpdateObjectForInterface<S extends InterfaceDefinition> {\n type: \"updateObjectForInterface\";\n obj: InterfaceLocator<S>;\n properties: Partial<\n {\n [P in PropertyKeys<S>]: OsdkObjectCreatePropertyType<\n CompileTimeMetadata<S>[\"properties\"][P]\n >;\n }\n >;\n}\n\nexport type AnyEdit =\n | AddLink<any, any>\n | RemoveLink<any, any>\n | CreateObject<any>\n | DeleteObject<any>\n | UpdateObject<any>\n | CreateObjectForInterface<any>\n | UpdateObjectForInterface<any>\n | DeleteObjectForInterface<any>;\n\n// Check if locator is for an interface by comparing $apiName and $objectType.\n// Both object types and interfaces store the object type API name in $objectType,\n// but interfaces store the interface API name in $apiName.\nexport function isInterfaceLocator(obj: any): obj is InterfaceLocator<any> {\n return obj != null && typeof obj === \"object\"\n && typeof obj.$objectType === \"string\" && typeof obj.$apiName === \"string\"\n && obj.$apiName !== obj.$objectType;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,WAyCiBA,KAAK;AAwHtB;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,GAAQ,EAAgC;EACzE,OAAOA,GAAG,IAAI,IAAI,IAAI,OAAOA,GAAG,KAAK,QAAQ,IACxC,OAAOA,GAAG,CAACC,WAAW,KAAK,QAAQ,IAAI,OAAOD,GAAG,CAACE,QAAQ,KAAK,QAAQ,IACvEF,GAAG,CAACE,QAAQ,KAAKF,GAAG,CAACC,WAAW;AACvC","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ObjectTypeDefinition, CompileTimeMetadata, InterfaceDefinition } from '@osdk/client';
|
|
2
|
-
import { A as AnyEdit, a as AddLink, O as ObjectLocator, R as RemoveLink, C as CreateObject, b as CreateObjectForInterface, D as DeleteObject, c as DeleteObjectForInterface, I as InterfaceLocator, U as UpdateObject, d as UpdateObjectForInterface } from './internal-
|
|
2
|
+
import { A as AnyEdit, a as AddLink, O as ObjectLocator, R as RemoveLink, C as CreateObject, b as CreateObjectForInterface, D as DeleteObject, c as DeleteObjectForInterface, I as InterfaceLocator, U as UpdateObject, d as UpdateObjectForInterface } from './internal-CmSoe_xi.cjs';
|
|
3
3
|
|
|
4
4
|
interface ObjectTypeDefinitionForLocator<OL extends ObjectLocator<any>> extends ObjectTypeDefinition {
|
|
5
5
|
apiName: OL["$apiName"];
|
package/build/cjs/index.d.cts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
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-
|
|
4
|
-
import { A as AnyEdit } from './internal-
|
|
5
|
-
export { E as Edits } from './internal-
|
|
3
|
+
import { E as EditBatch } from './EditBatch-CwPxevhT.cjs';
|
|
4
|
+
import { A as AnyEdit } from './internal-CmSoe_xi.cjs';
|
|
5
|
+
export { E as Edits } from './internal-CmSoe_xi.cjs';
|
|
6
6
|
import { GroupId as GroupId$1, UserId as UserId$1 } from '@osdk/foundry.core';
|
|
7
7
|
export { Geometry, Point } from 'geojson';
|
|
8
8
|
|
|
@@ -27,7 +27,7 @@ interface RemoveLink<S extends ObjectTypeDefinition, L extends keyof CompileTime
|
|
|
27
27
|
target: CompileTimeMetadata<S>["links"][L] extends ObjectMetadata.Link<infer T, any> ? ObjectLocator<T> : never;
|
|
28
28
|
}
|
|
29
29
|
type PartialForOptionalProperties<T> = {
|
|
30
|
-
[K in keyof T as undefined extends T[K] ? K : never]?: T[K]
|
|
30
|
+
[K in keyof T as undefined extends T[K] ? K : never]?: NonNullable<T[K]>;
|
|
31
31
|
} & {
|
|
32
32
|
[K in keyof T as undefined extends T[K] ? never : K]-?: T[K];
|
|
33
33
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { a as AddLink, A as AnyEdit, C as CreateObject, b as CreateObjectForInterface, D as DeleteObject, c as DeleteObjectForInterface, I as InterfaceLocator, O as ObjectLocator, R as RemoveLink, U as UpdateObject, d as UpdateObjectForInterface } from '../internal-
|
|
1
|
+
export { a as AddLink, A as AnyEdit, C as CreateObject, b as CreateObjectForInterface, D as DeleteObject, c as DeleteObjectForInterface, I as InterfaceLocator, O as ObjectLocator, R as RemoveLink, U as UpdateObject, d as UpdateObjectForInterface } from '../internal-CmSoe_xi.cjs';
|
|
2
2
|
import '@osdk/client';
|
|
@@ -9,35 +9,29 @@ var symbolClientContext = Symbol("ClientContext");
|
|
|
9
9
|
// ../../node_modules/.pnpm/@osdk+shared.client2@1.0.0/node_modules/@osdk/shared.client2/index.js
|
|
10
10
|
var symbolClientContext2 = "__osdkClientContext";
|
|
11
11
|
|
|
12
|
-
// ../../node_modules/.pnpm/@osdk+shared.net.errors@2.0.
|
|
12
|
+
// ../../node_modules/.pnpm/@osdk+shared.net.errors@2.5.0-beta.2/node_modules/@osdk/shared.net.errors/build/esm/PalantirApiError.js
|
|
13
13
|
var PalantirApiError = class extends Error {
|
|
14
|
-
message
|
|
15
|
-
errorName;
|
|
16
|
-
errorCode;
|
|
17
|
-
statusCode;
|
|
18
|
-
errorInstanceId;
|
|
19
|
-
parameters;
|
|
20
|
-
constructor(message, errorName, errorCode, statusCode, errorInstanceId, parameters) {
|
|
14
|
+
constructor(message, errorName, errorCode, errorDescription, statusCode, errorInstanceId, parameters) {
|
|
21
15
|
super(message);
|
|
22
16
|
this.message = message;
|
|
23
17
|
this.errorName = errorName;
|
|
24
18
|
this.errorCode = errorCode;
|
|
19
|
+
this.errorDescription = errorDescription;
|
|
25
20
|
this.statusCode = statusCode;
|
|
26
21
|
this.errorInstanceId = errorInstanceId;
|
|
27
22
|
this.parameters = parameters;
|
|
28
23
|
}
|
|
29
24
|
};
|
|
30
25
|
|
|
31
|
-
// ../../node_modules/.pnpm/@osdk+shared.net.errors@2.0.
|
|
26
|
+
// ../../node_modules/.pnpm/@osdk+shared.net.errors@2.5.0-beta.2/node_modules/@osdk/shared.net.errors/build/esm/UnknownError.js
|
|
32
27
|
var UnknownError = class extends PalantirApiError {
|
|
33
|
-
originalError
|
|
34
|
-
|
|
35
|
-
super(message, errorType);
|
|
28
|
+
constructor(message, errorName, originalError, statusCode) {
|
|
29
|
+
super(message, errorName, void 0, void 0, statusCode);
|
|
36
30
|
this.originalError = originalError;
|
|
37
31
|
}
|
|
38
32
|
};
|
|
39
33
|
|
|
40
|
-
// ../../node_modules/.pnpm/@osdk+shared.net.platformapi@1.
|
|
34
|
+
// ../../node_modules/.pnpm/@osdk+shared.net.platformapi@1.5.0/node_modules/@osdk/shared.net.platformapi/build/esm/foundryPlatformFetch.js
|
|
41
35
|
async function foundryPlatformFetch(client, [httpMethodNum, origPath, flags, contentType, responseContentType], ...args) {
|
|
42
36
|
const path = origPath.replace(/\{([^}]+)\}/g, () => encodeURIComponent(args.shift()));
|
|
43
37
|
const body = flags & 1 ? args.shift() : void 0;
|
|
@@ -81,7 +75,7 @@ async function apiFetch(clientCtx, method, endpointPath, data, queryArguments, h
|
|
|
81
75
|
if (!response.ok) {
|
|
82
76
|
try {
|
|
83
77
|
const convertedError = await response.json();
|
|
84
|
-
return new PalantirApiError(convertedError.message, convertedError.errorName, convertedError.errorCode, response.status, convertedError.errorInstanceId, convertedError.parameters);
|
|
78
|
+
return new PalantirApiError(convertedError.message, convertedError.errorName, convertedError.errorCode, convertedError.errorDescription, response.status, convertedError.errorInstanceId, convertedError.parameters);
|
|
85
79
|
} catch (e) {
|
|
86
80
|
if (e instanceof Error) {
|
|
87
81
|
return new UnknownError(e.message, "UNKNOWN");
|
|
@@ -102,7 +96,7 @@ function parseUrl(baseUrl, endpointPath) {
|
|
|
102
96
|
return new URL(`api${endpointPath}`, baseUrl);
|
|
103
97
|
}
|
|
104
98
|
|
|
105
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
99
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.35.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyTransaction.js
|
|
106
100
|
var OntologyTransaction_exports = {};
|
|
107
101
|
chunkQ7SFCCGT_cjs.__export(OntologyTransaction_exports, {
|
|
108
102
|
postEdits: () => postEdits
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../node_modules/.pnpm/@osdk+shared.client@1.0.1/node_modules/@osdk/shared.client/index.js","../../../../../node_modules/.pnpm/@osdk+shared.client2@1.0.0/node_modules/@osdk/shared.client2/index.js","../../../../../node_modules/.pnpm/@osdk+shared.net.errors@2.0.1/node_modules/@osdk/shared.net.errors/build/esm/PalantirApiError.js","../../../../../node_modules/.pnpm/@osdk+shared.net.errors@2.0.1/node_modules/@osdk/shared.net.errors/build/esm/UnknownError.js","../../../../../node_modules/.pnpm/@osdk+shared.net.platformapi@1.4.0/node_modules/@osdk/shared.net.platformapi/build/esm/foundryPlatformFetch.js","../../../../../node_modules/.pnpm/@osdk+foundry.ontologies@2.30.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyTransaction.js","../../../src/transactions/WriteableClient.ts","../../../src/transactions/EditRequestManager.ts","../../../src/transactions/toPropertyDataValue.ts","../../../src/transactions/createWriteableClient.ts"],"names":["symbolClientContext","__export","createClientWithTransaction"],"mappings":"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","file":"unstable-do-not-use.cjs","sourcesContent":["/*\n * Copyright 2024 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\nexport const symbolClientContext = Symbol(\"ClientContext\");","/*\n * Copyright 2024 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\nexport const symbolClientContext = \"__osdkClientContext\";","/*\n * Copyright 2023 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 */\nexport class PalantirApiError extends Error {\n message;\n errorName;\n errorCode;\n statusCode;\n errorInstanceId;\n parameters;\n constructor(message, errorName, errorCode, statusCode, errorInstanceId, parameters) {\n super(message);\n this.message = message;\n this.errorName = errorName;\n this.errorCode = errorCode;\n this.statusCode = statusCode;\n this.errorInstanceId = errorInstanceId;\n this.parameters = parameters;\n }\n}","/*\n * Copyright 2023 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 */\nimport { PalantirApiError } from \"./PalantirApiError.js\";\nexport class UnknownError extends PalantirApiError {\n originalError;\n constructor(message, errorType, originalError) {\n super(message, errorType);\n this.originalError = originalError;\n }\n}","/*\n * Copyright 2023 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 */\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport { symbolClientContext } from \"@osdk/shared.client2\";\nimport { PalantirApiError, UnknownError } from \"@osdk/shared.net.errors\";\nexport async function foundryPlatformFetch(client, [httpMethodNum, origPath, flags, contentType, responseContentType], ...args) {\n const path = origPath.replace(/\\{([^}]+)\\}/g, () => encodeURIComponent(args.shift()));\n const body = flags & 1 ? args.shift() : undefined;\n const queryArgs = flags & 2 ? args.shift() : undefined;\n const headerArgs = flags & 4 ? args.shift() : undefined;\n const method = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\"][httpMethodNum];\n return await apiFetch(client[symbolClientContext] ?? client[oldSymbolClientContext] ?? client, method, path, body, queryArgs, headerArgs, contentType, responseContentType);\n}\nasync function apiFetch(clientCtx, method, endpointPath, data, queryArguments, headers, requestMediaType, responseMediaType) {\n const url = parseUrl(clientCtx.baseUrl, endpointPath);\n for (const [key, value] of Object.entries(queryArguments || {})) {\n if (value == null) {\n continue;\n }\n if (Array.isArray(value)) {\n for (const item of value) {\n url.searchParams.append(key, item);\n }\n } else {\n url.searchParams.append(key, value);\n }\n }\n const headersInit = new Headers();\n headersInit.set(\"Content-Type\", requestMediaType ?? \"application/json\");\n headersInit.set(\"Accept\", responseMediaType ?? \"application/json\");\n Object.entries(headers || {}).forEach(([key, value]) => {\n if (key === \"Content-Type\" && typeof value === \"string\") {\n headersInit.set(\"Content-Type\", value);\n } else if (key === \"Accept\" && typeof value === \"string\") {\n headersInit.set(\"Accept\", value);\n } else if (value != null) {\n headersInit.append(key, value.toString());\n }\n });\n const body = data == null || data instanceof globalThis.Blob ? data : JSON.stringify(data);\n // Because this uses the client's fetch, there is a 99.99% chance that it is already going\n // to handle the error case and throw a PalantirApiError since its wrapped in a\n // createFetchOrThrow.\n const response = await clientCtx.fetch(url.toString(), {\n body,\n method: method,\n headers: headersInit\n });\n // However, if we ended up using a \"regular\" fetch, the\n // error status codes are not thrown by fetch automatically,\n // we have to look at the ok property and behave accordingly\n if (!response.ok) {\n try {\n const convertedError = await response.json();\n return new PalantirApiError(convertedError.message, convertedError.errorName, convertedError.errorCode, response.status, convertedError.errorInstanceId, convertedError.parameters);\n } catch (e) {\n if (e instanceof Error) {\n return new UnknownError(e.message, \"UNKNOWN\");\n }\n return new UnknownError(\"Unable to parse error response\", \"UNKNOWN\");\n }\n }\n // Do not return anything if its a 204. Do not parse either!\n if (response.status === 204) {\n return;\n }\n if (responseMediaType == null || responseMediaType === \"application/json\") {\n return await response.json();\n }\n return response;\n}\nexport function parseUrl(baseUrl, endpointPath) {\n baseUrl += baseUrl.endsWith(\"/\") ? \"\" : \"/\";\n return new URL(`api${endpointPath}`, baseUrl);\n}","/*\n * Copyright 2024 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 */\nimport { foundryPlatformFetch as $foundryPlatformFetch } from \"@osdk/shared.net.platformapi\";\n//\nconst _postEdits = [1, \"/v2/ontologies/{0}/transactions/{1}/edits\", 3];\n/**\n * Applies a set of edits to a transaction in order.\n *\n * @alpha\n *\n * Required Scopes: [api:ontologies-read]\n * URL: /v2/ontologies/{ontology}/transactions/{transactionRid}/edits\n */\nexport function postEdits($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _postEdits, ...args);\n}","/*\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\n/** @internal */\nexport const writeableClientContext = Symbol(\"writeableClientContext\");","/*\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 { OntologyTransactions } from \"@osdk/foundry.ontologies\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\nexport class EditRequestManager {\n pendingEdits = [];\n inFlightRequest = null;\n queuedRequest = null;\n editTimeout = null;\n constructor(client) {\n this.client = client;\n }\n postEdit(edit) {\n if (this.inFlightRequest) {\n if (this.editTimeout) {\n // This means we are in the same tick that the request was created, meaning we can just add to the same request\n this.pendingEdits.push(edit);\n return this.inFlightRequest;\n }\n if (this.queuedRequest) {\n // This means we already have a queued request that will run after the inFlightRequest finishes, so we can just add to that one\n this.pendingEdits.push(edit);\n return this.queuedRequest;\n }\n // This means a request has already been sent to the wire but not been returned, so we need to queue up a new request for when that one finishes\n this.queuedRequest = this.inFlightRequest.then(async () => {\n this.inFlightRequest = this.queuedRequest;\n this.queuedRequest = null;\n this.pendingEdits.push(edit);\n await this.dispatchRequest();\n });\n return this.queuedRequest;\n } else {\n // There is no request in flight, which means we should create a new one\n this.inFlightRequest = this.createInitialPromiseWithTimeout(edit);\n return this.inFlightRequest;\n }\n }\n createInitialPromiseWithTimeout(edit) {\n return new Promise(resolve => {\n this.pendingEdits.push(edit);\n this.editTimeout = setTimeout(async () => {\n this.editTimeout = null;\n await this.dispatchRequest();\n if (!this.queuedRequest) {\n // The queued request will see this inFlightRequest resolve and should set the inFlightRequest to itself\n this.inFlightRequest = null;\n }\n resolve();\n }, 0);\n });\n }\n async dispatchRequest() {\n const copiedEdits = this.pendingEdits;\n this.pendingEdits = [];\n await OntologyTransactions.postEdits(this.client, await this.client[writeableClientContext].ontologyRid, this.client[writeableClientContext].transactionRid, {\n edits: copiedEdits\n }, {\n preview: true\n });\n }\n}","/*\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\nexport function toPropertyDataValue(value) {\n if (value == null) {\n return null; // This differs from how actions handles null, which expects a specific enum value.\n }\n if (Array.isArray(value)) {\n return value.map(item => toPropertyDataValue(item));\n }\n if (isPoint(value)) {\n return toPropertyDataValue(`${value.coordinates[1]},${value.coordinates[0]}`);\n }\n if (typeof value === \"object\") {\n const result = {};\n for (const key in value) {\n result[key] = toPropertyDataValue(value[key]);\n }\n return result;\n }\n\n // expected to pass through - boolean, byte, date, decimal, float, double, integer, long, short, string, timestamp, object type reference\n return value;\n}\nfunction isPoint(o) {\n return o && typeof o === \"object\" && \"type\" in o && o.type === \"Point\" && \"coordinates\" in o && o.coordinates.length === 2;\n}","/*\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 { createClientWithTransaction } from \"@osdk/client/unstable-do-not-use\";\nimport { EditRequestManager } from \"./EditRequestManager.js\";\nimport { toPropertyDataValue } from \"./toPropertyDataValue.js\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\nexport function createWriteableClient(...args) {\n const transactionRid = args[0];\n const ontologyRid = args[2];\n const client = createClientWithTransaction(...args);\n const editRequestManager = new EditRequestManager(client) // This cast is safe because we create the writeable client properties below.\n ;\n\n // We use define properties because the client has non-enumerable properties that we want to preserve.\n const writeableClient = Object.defineProperties(client, {\n link: {\n value: function (source, apiName, target) {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey\n });\n }\n const promises = [];\n for (const elem of target) {\n promises.push(editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey\n }));\n }\n return Promise.all(promises).then(() => undefined);\n }\n },\n unlink: {\n value: function (source, apiName, target) {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey\n });\n }\n const promises = [];\n for (const elem of target) {\n promises.push(editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey\n }));\n }\n return Promise.all(promises).then(() => undefined);\n }\n },\n create: {\n value: async function (obj, properties) {\n const propertyMap = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"addObject\",\n objectType: obj.apiName,\n primaryKey: obj.$primaryKey,\n properties: propertyMap\n });\n }\n },\n update: {\n value: function (locator, properties) {\n const propertyMap = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"modifyObject\",\n objectType: locator.$apiName,\n primaryKey: locator.$primaryKey,\n properties: propertyMap\n });\n }\n },\n delete: {\n value: function (obj) {\n return editRequestManager.postEdit({\n type: \"deleteObject\",\n objectType: obj.$apiName,\n primaryKey: obj.$primaryKey\n });\n }\n },\n [writeableClientContext]: {\n value: {\n ontologyRid,\n transactionRid\n }\n }\n });\n return writeableClient;\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../../../../node_modules/.pnpm/@osdk+shared.client@1.0.1/node_modules/@osdk/shared.client/index.js","../../../../../node_modules/.pnpm/@osdk+shared.client2@1.0.0/node_modules/@osdk/shared.client2/index.js","../../../../../node_modules/.pnpm/@osdk+shared.net.errors@2.5.0-beta.2/node_modules/@osdk/shared.net.errors/build/esm/PalantirApiError.js","../../../../../node_modules/.pnpm/@osdk+shared.net.errors@2.5.0-beta.2/node_modules/@osdk/shared.net.errors/build/esm/UnknownError.js","../../../../../node_modules/.pnpm/@osdk+shared.net.platformapi@1.5.0/node_modules/@osdk/shared.net.platformapi/build/esm/foundryPlatformFetch.js","../../../../../node_modules/.pnpm/@osdk+foundry.ontologies@2.35.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyTransaction.js","../../../src/transactions/WriteableClient.ts","../../../src/transactions/EditRequestManager.ts","../../../src/transactions/toPropertyDataValue.ts","../../../src/transactions/createWriteableClient.ts"],"names":["symbolClientContext","__export","createClientWithTransaction"],"mappings":"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","file":"unstable-do-not-use.cjs","sourcesContent":["/*\n * Copyright 2024 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\nexport const symbolClientContext = Symbol(\"ClientContext\");","/*\n * Copyright 2024 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\nexport const symbolClientContext = \"__osdkClientContext\";","/*\n * Copyright 2023 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\nexport class PalantirApiError extends Error {\n constructor(message, errorName, errorCode, errorDescription, statusCode, errorInstanceId, parameters) {\n super(message);\n this.message = message;\n this.errorName = errorName;\n this.errorCode = errorCode;\n this.errorDescription = errorDescription;\n this.statusCode = statusCode;\n this.errorInstanceId = errorInstanceId;\n this.parameters = parameters;\n }\n}","/*\n * Copyright 2023 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 { PalantirApiError } from \"./PalantirApiError.js\";\nexport class UnknownError extends PalantirApiError {\n constructor(message, errorName, originalError, statusCode) {\n super(message, errorName, undefined, undefined, statusCode);\n this.originalError = originalError;\n }\n}","/*\n * Copyright 2023 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 */\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport { symbolClientContext } from \"@osdk/shared.client2\";\nimport { PalantirApiError, UnknownError } from \"@osdk/shared.net.errors\";\nexport async function foundryPlatformFetch(client, [httpMethodNum, origPath, flags, contentType, responseContentType], ...args) {\n const path = origPath.replace(/\\{([^}]+)\\}/g, () => encodeURIComponent(args.shift()));\n const body = flags & 1 ? args.shift() : undefined;\n const queryArgs = flags & 2 ? args.shift() : undefined;\n const headerArgs = flags & 4 ? args.shift() : undefined;\n const method = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\"][httpMethodNum];\n return await apiFetch(client[symbolClientContext] ?? client[oldSymbolClientContext] ?? client, method, path, body, queryArgs, headerArgs, contentType, responseContentType);\n}\nasync function apiFetch(clientCtx, method, endpointPath, data, queryArguments, headers, requestMediaType, responseMediaType) {\n const url = parseUrl(clientCtx.baseUrl, endpointPath);\n for (const [key, value] of Object.entries(queryArguments || {})) {\n if (value == null) {\n continue;\n }\n if (Array.isArray(value)) {\n for (const item of value) {\n url.searchParams.append(key, item);\n }\n } else {\n url.searchParams.append(key, value);\n }\n }\n const headersInit = new Headers();\n headersInit.set(\"Content-Type\", requestMediaType ?? \"application/json\");\n headersInit.set(\"Accept\", responseMediaType ?? \"application/json\");\n Object.entries(headers || {}).forEach(([key, value]) => {\n if (key === \"Content-Type\" && typeof value === \"string\") {\n headersInit.set(\"Content-Type\", value);\n } else if (key === \"Accept\" && typeof value === \"string\") {\n headersInit.set(\"Accept\", value);\n } else if (value != null) {\n headersInit.append(key, value.toString());\n }\n });\n const body = data == null || data instanceof globalThis.Blob ? data : JSON.stringify(data);\n // Because this uses the client's fetch, there is a 99.99% chance that it is already going\n // to handle the error case and throw a PalantirApiError since its wrapped in a\n // createFetchOrThrow.\n const response = await clientCtx.fetch(url.toString(), {\n body,\n method: method,\n headers: headersInit\n });\n // However, if we ended up using a \"regular\" fetch, the\n // error status codes are not thrown by fetch automatically,\n // we have to look at the ok property and behave accordingly\n if (!response.ok) {\n try {\n const convertedError = await response.json();\n return new PalantirApiError(convertedError.message, convertedError.errorName, convertedError.errorCode, convertedError.errorDescription, response.status, convertedError.errorInstanceId, convertedError.parameters);\n } catch (e) {\n if (e instanceof Error) {\n return new UnknownError(e.message, \"UNKNOWN\");\n }\n return new UnknownError(\"Unable to parse error response\", \"UNKNOWN\");\n }\n }\n // Do not return anything if its a 204. Do not parse either!\n if (response.status === 204) {\n return;\n }\n if (responseMediaType == null || responseMediaType === \"application/json\") {\n return await response.json();\n }\n return response;\n}\nexport function parseUrl(baseUrl, endpointPath) {\n baseUrl += baseUrl.endsWith(\"/\") ? \"\" : \"/\";\n return new URL(`api${endpointPath}`, baseUrl);\n}","/*\n * Copyright 2024 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 */\nimport { foundryPlatformFetch as $foundryPlatformFetch } from \"@osdk/shared.net.platformapi\";\n//\nconst _postEdits = [1, \"/v2/ontologies/{0}/transactions/{1}/edits\", 3];\n/**\n * Applies a set of edits to a transaction in order.\n *\n * @alpha\n *\n * Required Scopes: [api:ontologies-read]\n * URL: /v2/ontologies/{ontology}/transactions/{transactionRid}/edits\n */\nexport function postEdits($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _postEdits, ...args);\n}","/*\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\n/** @internal */\nexport const writeableClientContext = Symbol(\"writeableClientContext\");","/*\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 { OntologyTransactions } from \"@osdk/foundry.ontologies\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\nexport class EditRequestManager {\n pendingEdits = [];\n inFlightRequest = null;\n queuedRequest = null;\n editTimeout = null;\n constructor(client) {\n this.client = client;\n }\n postEdit(edit) {\n if (this.inFlightRequest) {\n if (this.editTimeout) {\n // This means we are in the same tick that the request was created, meaning we can just add to the same request\n this.pendingEdits.push(edit);\n return this.inFlightRequest;\n }\n if (this.queuedRequest) {\n // This means we already have a queued request that will run after the inFlightRequest finishes, so we can just add to that one\n this.pendingEdits.push(edit);\n return this.queuedRequest;\n }\n // This means a request has already been sent to the wire but not been returned, so we need to queue up a new request for when that one finishes\n this.queuedRequest = this.inFlightRequest.then(async () => {\n this.inFlightRequest = this.queuedRequest;\n this.queuedRequest = null;\n this.pendingEdits.push(edit);\n await this.dispatchRequest();\n });\n return this.queuedRequest;\n } else {\n // There is no request in flight, which means we should create a new one\n this.inFlightRequest = this.createInitialPromiseWithTimeout(edit);\n return this.inFlightRequest;\n }\n }\n createInitialPromiseWithTimeout(edit) {\n return new Promise(resolve => {\n this.pendingEdits.push(edit);\n this.editTimeout = setTimeout(async () => {\n this.editTimeout = null;\n await this.dispatchRequest();\n if (!this.queuedRequest) {\n // The queued request will see this inFlightRequest resolve and should set the inFlightRequest to itself\n this.inFlightRequest = null;\n }\n resolve();\n }, 0);\n });\n }\n async dispatchRequest() {\n const copiedEdits = this.pendingEdits;\n this.pendingEdits = [];\n await OntologyTransactions.postEdits(this.client, await this.client[writeableClientContext].ontologyRid, this.client[writeableClientContext].transactionRid, {\n edits: copiedEdits\n }, {\n preview: true\n });\n }\n}","/*\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\nexport function toPropertyDataValue(value) {\n if (value == null) {\n return null; // This differs from how actions handles null, which expects a specific enum value.\n }\n if (Array.isArray(value)) {\n return value.map(item => toPropertyDataValue(item));\n }\n if (isPoint(value)) {\n return toPropertyDataValue(`${value.coordinates[1]},${value.coordinates[0]}`);\n }\n if (typeof value === \"object\") {\n const result = {};\n for (const key in value) {\n result[key] = toPropertyDataValue(value[key]);\n }\n return result;\n }\n\n // expected to pass through - boolean, byte, date, decimal, float, double, integer, long, short, string, timestamp, object type reference\n return value;\n}\nfunction isPoint(o) {\n return o && typeof o === \"object\" && \"type\" in o && o.type === \"Point\" && \"coordinates\" in o && o.coordinates.length === 2;\n}","/*\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 { createClientWithTransaction } from \"@osdk/client/unstable-do-not-use\";\nimport { EditRequestManager } from \"./EditRequestManager.js\";\nimport { toPropertyDataValue } from \"./toPropertyDataValue.js\";\nimport { writeableClientContext } from \"./WriteableClient.js\";\nexport function createWriteableClient(...args) {\n const transactionRid = args[0];\n const ontologyRid = args[2];\n const client = createClientWithTransaction(...args);\n const editRequestManager = new EditRequestManager(client) // This cast is safe because we create the writeable client properties below.\n ;\n\n // We use define properties because the client has non-enumerable properties that we want to preserve.\n const writeableClient = Object.defineProperties(client, {\n link: {\n value: function (source, apiName, target) {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey\n });\n }\n const promises = [];\n for (const elem of target) {\n promises.push(editRequestManager.postEdit({\n type: \"addLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey\n }));\n }\n return Promise.all(promises).then(() => undefined);\n }\n },\n unlink: {\n value: function (source, apiName, target) {\n if (!Array.isArray(target)) {\n return editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: target.$primaryKey\n });\n }\n const promises = [];\n for (const elem of target) {\n promises.push(editRequestManager.postEdit({\n type: \"removeLink\",\n objectType: source.$apiName,\n primaryKey: source.$primaryKey,\n linkType: apiName,\n linkedObjectPrimaryKey: elem.$primaryKey\n }));\n }\n return Promise.all(promises).then(() => undefined);\n }\n },\n create: {\n value: async function (obj, properties) {\n const propertyMap = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"addObject\",\n objectType: obj.apiName,\n primaryKey: obj.$primaryKey,\n properties: propertyMap\n });\n }\n },\n update: {\n value: function (locator, properties) {\n const propertyMap = {};\n for (const [key, value] of Object.entries(properties)) {\n propertyMap[key] = toPropertyDataValue(value);\n }\n return editRequestManager.postEdit({\n type: \"modifyObject\",\n objectType: locator.$apiName,\n primaryKey: locator.$primaryKey,\n properties: propertyMap\n });\n }\n },\n delete: {\n value: function (obj) {\n return editRequestManager.postEdit({\n type: \"deleteObject\",\n objectType: obj.$apiName,\n primaryKey: obj.$primaryKey\n });\n }\n },\n [writeableClientContext]: {\n value: {\n ontologyRid,\n transactionRid\n }\n }\n });\n return writeableClient;\n}"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createClientWithTransaction } from '@osdk/client/unstable-do-not-use';
|
|
2
|
-
import { A as AnyEdit } from '../internal-
|
|
2
|
+
import { A as AnyEdit } from '../internal-CmSoe_xi.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-CwPxevhT.cjs';
|
|
5
5
|
|
|
6
6
|
interface WriteableClientContext {
|
|
7
7
|
ontologyRid: string | Promise<string>;
|
|
@@ -51,7 +51,8 @@ describe(createEditBatch, () => {
|
|
|
51
51
|
attachment: "ri.foo",
|
|
52
52
|
attachment2: {
|
|
53
53
|
rid: "ri.bar"
|
|
54
|
-
}
|
|
54
|
+
},
|
|
55
|
+
vector: [1, 2, 3]
|
|
55
56
|
});
|
|
56
57
|
editBatch.create(Task, {
|
|
57
58
|
id: 0,
|
|
@@ -167,7 +168,8 @@ describe(createEditBatch, () => {
|
|
|
167
168
|
attachment: "ri.foo",
|
|
168
169
|
attachment2: {
|
|
169
170
|
rid: "ri.bar"
|
|
170
|
-
}
|
|
171
|
+
},
|
|
172
|
+
vector: [1, 2, 3]
|
|
171
173
|
}
|
|
172
174
|
}, {
|
|
173
175
|
type: "createObject",
|
|
@@ -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.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":[]}
|
|
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","vector","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 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 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":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["Edits","isInterfaceLocator","obj","$objectType","$apiName"],"sources":["types.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 ObjectMetadata,\n ObjectTypeDefinition,\n Osdk,\n OsdkObjectCreatePropertyType,\n PropertyKeys,\n} from \"@osdk/client\";\n\nexport type ObjectLocator<\n S extends ObjectTypeDefinition = ObjectTypeDefinition,\n> = {\n $apiName: Osdk.Instance<S>[\"$apiName\"];\n $primaryKey: Osdk.Instance<S>[\"$primaryKey\"];\n};\n\nexport type InterfaceLocator<\n S extends InterfaceDefinition = InterfaceDefinition,\n> = {\n $apiName: Osdk.Instance<S>[\"$apiName\"];\n $objectType: Osdk.Instance<S>[\"$objectType\"];\n $primaryKey: Osdk.Instance<S>[\"$primaryKey\"];\n};\n\nexport namespace Edits {\n export type Object<S extends ObjectTypeDefinition> =\n | CreateObject<S>\n | DeleteObject<S>\n | UpdateObject<S>;\n\n export type Link<\n S extends ObjectTypeDefinition,\n L extends keyof CompileTimeMetadata<S>[\"links\"],\n > = AddLink<S, L> | RemoveLink<S, L>;\n\n export type Interface<S extends InterfaceDefinition> =\n | CreateObjectForInterface<S>\n | UpdateObjectForInterface<S>\n | DeleteObjectForInterface<S>;\n}\n\nexport interface AddLink<\n S extends ObjectTypeDefinition,\n L extends keyof CompileTimeMetadata<S>[\"links\"],\n> {\n type: \"addLink\";\n apiName: L;\n source: ObjectLocator<S>;\n target: CompileTimeMetadata<S>[\"links\"][L] extends\n ObjectMetadata.Link<infer T, any> ? ObjectLocator<T> : never;\n}\n\nexport interface RemoveLink<\n S extends ObjectTypeDefinition,\n L extends keyof CompileTimeMetadata<S>[\"links\"],\n> {\n type: \"removeLink\";\n apiName: L;\n source: ObjectLocator<S>;\n target: CompileTimeMetadata<S>[\"links\"][L] extends\n ObjectMetadata.Link<infer T, any> ? ObjectLocator<T> : never;\n}\n\ntype PartialForOptionalProperties<T> =\n & {\n [K in keyof T as undefined extends T[K] ? K : never]?: T[K]
|
|
1
|
+
{"version":3,"file":"types.js","names":["Edits","isInterfaceLocator","obj","$objectType","$apiName"],"sources":["types.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 ObjectMetadata,\n ObjectTypeDefinition,\n Osdk,\n OsdkObjectCreatePropertyType,\n PropertyKeys,\n} from \"@osdk/client\";\n\nexport type ObjectLocator<\n S extends ObjectTypeDefinition = ObjectTypeDefinition,\n> = {\n $apiName: Osdk.Instance<S>[\"$apiName\"];\n $primaryKey: Osdk.Instance<S>[\"$primaryKey\"];\n};\n\nexport type InterfaceLocator<\n S extends InterfaceDefinition = InterfaceDefinition,\n> = {\n $apiName: Osdk.Instance<S>[\"$apiName\"];\n $objectType: Osdk.Instance<S>[\"$objectType\"];\n $primaryKey: Osdk.Instance<S>[\"$primaryKey\"];\n};\n\nexport namespace Edits {\n export type Object<S extends ObjectTypeDefinition> =\n | CreateObject<S>\n | DeleteObject<S>\n | UpdateObject<S>;\n\n export type Link<\n S extends ObjectTypeDefinition,\n L extends keyof CompileTimeMetadata<S>[\"links\"],\n > = AddLink<S, L> | RemoveLink<S, L>;\n\n export type Interface<S extends InterfaceDefinition> =\n | CreateObjectForInterface<S>\n | UpdateObjectForInterface<S>\n | DeleteObjectForInterface<S>;\n}\n\nexport interface AddLink<\n S extends ObjectTypeDefinition,\n L extends keyof CompileTimeMetadata<S>[\"links\"],\n> {\n type: \"addLink\";\n apiName: L;\n source: ObjectLocator<S>;\n target: CompileTimeMetadata<S>[\"links\"][L] extends\n ObjectMetadata.Link<infer T, any> ? ObjectLocator<T> : never;\n}\n\nexport interface RemoveLink<\n S extends ObjectTypeDefinition,\n L extends keyof CompileTimeMetadata<S>[\"links\"],\n> {\n type: \"removeLink\";\n apiName: L;\n source: ObjectLocator<S>;\n target: CompileTimeMetadata<S>[\"links\"][L] extends\n ObjectMetadata.Link<infer T, any> ? ObjectLocator<T> : never;\n}\n\ntype PartialForOptionalProperties<T> =\n & {\n [K in keyof T as undefined extends T[K] ? K : never]?: NonNullable<T[K]>;\n }\n & {\n [K in keyof T as undefined extends T[K] ? never : K]-?: T[K];\n };\n\nexport interface CreateObject<S extends ObjectTypeDefinition> {\n type: \"createObject\";\n obj: S;\n properties: PartialForOptionalProperties<\n {\n [P in PropertyKeys<S>]: OsdkObjectCreatePropertyType<\n CompileTimeMetadata<S>[\"properties\"][P]\n >;\n }\n >;\n}\n\nexport interface DeleteObject<S extends ObjectTypeDefinition> {\n type: \"deleteObject\";\n obj: ObjectLocator<S>;\n}\n\nexport interface DeleteObjectForInterface<S extends InterfaceDefinition> {\n type: \"deleteObjectForInterface\";\n obj: InterfaceLocator<S>;\n}\n\nexport interface UpdateObject<S extends ObjectTypeDefinition> {\n type: \"updateObject\";\n obj: ObjectLocator<S>;\n properties: Partial<\n {\n [\n P in Exclude<\n PropertyKeys<S>,\n CompileTimeMetadata<S>[\"primaryKeyApiName\"]\n >\n ]: OsdkObjectCreatePropertyType<CompileTimeMetadata<S>[\"properties\"][P]>;\n }\n >;\n}\n\nexport interface CreateObjectForInterface<S extends InterfaceDefinition> {\n type: \"createObjectForInterface\";\n int: S;\n properties: PartialForOptionalProperties<\n {\n [P in PropertyKeys<S>]: OsdkObjectCreatePropertyType<\n CompileTimeMetadata<S>[\"properties\"][P]\n >;\n } & {\n $objectType: string;\n }\n >;\n}\n\nexport interface UpdateObjectForInterface<S extends InterfaceDefinition> {\n type: \"updateObjectForInterface\";\n obj: InterfaceLocator<S>;\n properties: Partial<\n {\n [P in PropertyKeys<S>]: OsdkObjectCreatePropertyType<\n CompileTimeMetadata<S>[\"properties\"][P]\n >;\n }\n >;\n}\n\nexport type AnyEdit =\n | AddLink<any, any>\n | RemoveLink<any, any>\n | CreateObject<any>\n | DeleteObject<any>\n | UpdateObject<any>\n | CreateObjectForInterface<any>\n | UpdateObjectForInterface<any>\n | DeleteObjectForInterface<any>;\n\n// Check if locator is for an interface by comparing $apiName and $objectType.\n// Both object types and interfaces store the object type API name in $objectType,\n// but interfaces store the interface API name in $apiName.\nexport function isInterfaceLocator(obj: any): obj is InterfaceLocator<any> {\n return obj != null && typeof obj === \"object\"\n && typeof obj.$objectType === \"string\" && typeof obj.$apiName === \"string\"\n && obj.$apiName !== obj.$objectType;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,WAyCiBA,KAAK;AAwHtB;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,GAAQ,EAAgC;EACzE,OAAOA,GAAG,IAAI,IAAI,IAAI,OAAOA,GAAG,KAAK,QAAQ,IACxC,OAAOA,GAAG,CAACC,WAAW,KAAK,QAAQ,IAAI,OAAOD,GAAG,CAACE,QAAQ,KAAK,QAAQ,IACvEF,GAAG,CAACE,QAAQ,KAAKF,GAAG,CAACC,WAAW;AACvC","ignoreList":[]}
|
|
@@ -34,7 +34,7 @@ export interface RemoveLink<
|
|
|
34
34
|
source: ObjectLocator<S>;
|
|
35
35
|
target: CompileTimeMetadata<S>["links"][L] extends ObjectMetadata.Link<infer T, any> ? ObjectLocator<T> : never;
|
|
36
36
|
}
|
|
37
|
-
type PartialForOptionalProperties<T> = { [K in keyof T as undefined extends T[K] ? K : never]? : T[K] } & { [K in keyof T as undefined extends T[K] ? never : K]-? : T[K] };
|
|
37
|
+
type PartialForOptionalProperties<T> = { [K in keyof T as undefined extends T[K] ? K : never]? : NonNullable<T[K]> } & { [K in keyof T as undefined extends T[K] ? never : K]-? : T[K] };
|
|
38
38
|
export interface CreateObject<S extends ObjectTypeDefinition> {
|
|
39
39
|
type: "createObject";
|
|
40
40
|
obj: S;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,qBACA,qBACA,gBACA,sBACA,MACA,8BACA,oBACK,cAAe;AAEtB,YAAY,cACV,UAAU,uBAAuB,wBAC/B;CACF,UAAU,KAAK,SAAS,GAAG;CAC3B,aAAa,KAAK,SAAS,GAAG;AAC/B;AAED,YAAY,iBACV,UAAU,sBAAsB,uBAC9B;CACF,UAAU,KAAK,SAAS,GAAG;CAC3B,aAAa,KAAK,SAAS,GAAG;CAC9B,aAAa,KAAK,SAAS,GAAG;AAC/B;AAED,yBAAiB;MACH,OAAO,UAAU,wBACzB,aAAa,KACb,aAAa,KACb,aAAa;MAEL;EACV,UAAU;EACV,gBAAgB,oBAAoB,GAAG;KACrC,QAAQ,GAAG,KAAK,WAAW,GAAG;MAEtB,UAAU,UAAU,uBAC5B,yBAAyB,KACzB,yBAAyB,KACzB,yBAAyB;;AAG/B,iBAAiB;CACf,UAAU;CACV,gBAAgB,oBAAoB,GAAG;EACvC;CACA,MAAM;CACN,SAAS;CACT,QAAQ,cAAc;CACtB,QAAQ,oBAAoB,GAAG,SAAS,WACtC,eAAe,WAAW,UAAU,cAAc;AACrD;AAED,iBAAiB;CACf,UAAU;CACV,gBAAgB,oBAAoB,GAAG;EACvC;CACA,MAAM;CACN,SAAS;CACT,QAAQ,cAAc;CACtB,QAAQ,oBAAoB,GAAG,SAAS,WACtC,eAAe,WAAW,UAAU,cAAc;AACrD;KAEI,6BAA6B,QAE7B,WAAW,uBAAuB,EAAE,KAAK,cAAa,EAAE,
|
|
1
|
+
{"mappings":"AAgBA,cACE,qBACA,qBACA,gBACA,sBACA,MACA,8BACA,oBACK,cAAe;AAEtB,YAAY,cACV,UAAU,uBAAuB,wBAC/B;CACF,UAAU,KAAK,SAAS,GAAG;CAC3B,aAAa,KAAK,SAAS,GAAG;AAC/B;AAED,YAAY,iBACV,UAAU,sBAAsB,uBAC9B;CACF,UAAU,KAAK,SAAS,GAAG;CAC3B,aAAa,KAAK,SAAS,GAAG;CAC9B,aAAa,KAAK,SAAS,GAAG;AAC/B;AAED,yBAAiB;MACH,OAAO,UAAU,wBACzB,aAAa,KACb,aAAa,KACb,aAAa;MAEL;EACV,UAAU;EACV,gBAAgB,oBAAoB,GAAG;KACrC,QAAQ,GAAG,KAAK,WAAW,GAAG;MAEtB,UAAU,UAAU,uBAC5B,yBAAyB,KACzB,yBAAyB,KACzB,yBAAyB;;AAG/B,iBAAiB;CACf,UAAU;CACV,gBAAgB,oBAAoB,GAAG;EACvC;CACA,MAAM;CACN,SAAS;CACT,QAAQ,cAAc;CACtB,QAAQ,oBAAoB,GAAG,SAAS,WACtC,eAAe,WAAW,UAAU,cAAc;AACrD;AAED,iBAAiB;CACf,UAAU;CACV,gBAAgB,oBAAoB,GAAG;EACvC;CACA,MAAM;CACN,SAAS;CACT,QAAQ,cAAc;CACtB,QAAQ,oBAAoB,GAAG,SAAS,WACtC,eAAe,WAAW,UAAU,cAAc;AACrD;KAEI,6BAA6B,QAE7B,WAAW,uBAAuB,EAAE,KAAK,cAAa,YAAY,EAAE,WAGpE,WAAW,uBAAuB,EAAE,aAAa,OAAM,EAAE;AAG9D,iBAAiB,aAAa,UAAU,sBAAsB;CAC5D,MAAM;CACN,KAAK;CACL,YAAY,gCAEP,KAAK,aAAa,MAAK,6BACtB,oBAAoB,GAAG,cAAc;AAI5C;AAED,iBAAiB,aAAa,UAAU,sBAAsB;CAC5D,MAAM;CACN,KAAK,cAAc;AACpB;AAED,iBAAiB,yBAAyB,UAAU,qBAAqB;CACvE,MAAM;CACN,KAAK,iBAAiB;AACvB;AAED,iBAAiB,aAAa,UAAU,sBAAsB;CAC5D,MAAM;CACN,KAAK,cAAc;CACnB,YAAY,WAGN,KAAK,QACH,aAAa,IACb,oBAAoB,GAAG,yBAExB,6BAA6B,oBAAoB,GAAG,cAAc;AAG1E;AAED,iBAAiB,yBAAyB,UAAU,qBAAqB;CACvE,MAAM;CACN,KAAK;CACL,YAAY,gCAEP,KAAK,aAAa,MAAK,6BACtB,oBAAoB,GAAG,cAAc,QAErC;EACF;CACD;AAEJ;AAED,iBAAiB,yBAAyB,UAAU,qBAAqB;CACvE,MAAM;CACN,KAAK,iBAAiB;CACtB,YAAY,WAEP,KAAK,aAAa,MAAK,6BACtB,oBAAoB,GAAG,cAAc;AAI5C;AAED,YAAY,UACR,oBACA,uBACA,oBACA,oBACA,oBACA,gCACA,gCACA;AAKJ,OAAO,iBAAS,mBAAmBA,WAAW,OAAO","names":["obj: any"],"sources":["../../../src/edits/types.ts"],"version":3,"file":"types.d.ts"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/functions",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0-beta.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"access": "public",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -48,11 +48,11 @@
|
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"@osdk/foundry.core": "^2.30.0",
|
|
51
|
-
"@osdk/foundry.ontologies": "^2.
|
|
51
|
+
"@osdk/foundry.ontologies": "^2.35.0",
|
|
52
52
|
"@types/geojson": "^7946.0.16"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
|
-
"@osdk/client": "^2.
|
|
55
|
+
"@osdk/client": "^2.6.0-beta.2"
|
|
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.
|
|
65
|
-
"@osdk/monorepo.
|
|
66
|
-
"@osdk/
|
|
67
|
-
"@osdk/
|
|
64
|
+
"@osdk/client.test.ontology": "~2.6.0-beta.2",
|
|
65
|
+
"@osdk/monorepo.tsconfig": "~0.5.0-beta.1",
|
|
66
|
+
"@osdk/monorepo.api-extractor": "~0.5.0-beta.1",
|
|
67
|
+
"@osdk/shared.test": "~2.6.0-beta.2"
|
|
68
68
|
},
|
|
69
69
|
"publishConfig": {
|
|
70
70
|
"access": "public"
|