@osdk/functions 1.3.0-beta.7 → 1.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,SACEA,YAAY,EACZC,8BAA8B,EAC9BC,MAAM,EACNC,IAAI,QACC,4BAA4B;AACnC,SAASC,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,QAAQ;AAC7D,SAASC,eAAe,QAAQ,sBAAsB;AActDJ,QAAQ,CAACI,eAAe,EAAE,MAAM;EAC9B,MAAMC,YAAY,GAAG;IACnBC,QAAQ,EAAE,MAAM;IAChBC,WAAW,EAAE;EACf,CAAwB;EAExB,MAAMC,cAAc,GAAG;IACrBF,QAAQ,EAAE,QAAQ;IAClBC,WAAW,EAAE;EACf,CAA0B;EAE1B,MAAME,cAAc,GAAG;IACrBH,QAAQ,EAAE,QAAQ;IAClBC,WAAW,EAAE;EACf,CAA0B;EAE1B,MAAMG,gBAAgB,GAAG;IACvBJ,QAAQ,EAAE,UAAU;IACpBC,WAAW,EAAE;EACf,CAA4B;EAE5B,MAAMI,oBAAoB,GAAG;IAC3BL,QAAQ,EAAE,cAAc;IACxBC,WAAW,EAAE,EAAE;IACfK,WAAW,EAAE;EACf,CAAgC;EAEhC,IAAIC,MAAc;EAElB,IAAIC,SAAmC;EAEvCf,UAAU,CAAC,MAAM;IACfc,MAAM,GAAGV,EAAE,CAACY,EAAE,CAAC,CAAkB;IACjCD,SAAS,GAAGV,eAAe,CAAgBS,MAAM,CAAC;EACpD,CAAC,CAAC;EAEFX,EAAE,CAAC,oBAAoB,EAAE,MAAM;IAC7BY,SAAS,CAACE,MAAM,CAACpB,8BAA8B,EAAE;MAC/CqB,EAAE,EAAE,CAAC;MACLC,UAAU,EAAE,QAAQ;MACpBC,WAAW,EAAE;QAAEC,GAAG,EAAE;MAAS,CAAe;MAC5CC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAClB,CAAC,CAAC;IACFP,SAAS,CAACE,MAAM,CAAClB,IAAI,EAAE;MAAEmB,EAAE,EAAE,CAAC;MAAEK,IAAI,EAAE;IAAe,CAAC,CAAC;IACvDR,SAAS,CAACE,MAAM,CAAClB,IAAI,EAAE;MAAEmB,EAAE,EAAE,CAAC;MAAEK,IAAI,EAAE;IAAqB,CAAC,CAAC;IAC7DR,SAAS,CAACE,MAAM,CAAClB,IAAI,EAAE;MAAEmB,EAAE,EAAE;IAAE,CAAC,CAAC;IACjCH,SAAS,CAACS,MAAM,CAAC;MAAEjB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,CAAC;IACtDO,SAAS,CAACS,MAAM,CAAClB,YAAY,CAAC;IAC9BS,SAAS,CAACU,MAAM,CAAC;MAAElB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE;MACrDe,IAAI,EAAE;IACR,CAAC,CAAC;IACFR,SAAS,CAACU,MAAM,CAACnB,YAAY,EAAE;MAAEiB,IAAI,EAAE;IAAwB,CAAC,CAAC;IACjER,SAAS,CAACU,MAAM,CAAC;MAAElB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1DO,SAAS,CAACE,MAAM,CAAClB,IAAI,EAAE;MAAEmB,EAAE,EAAE,CAAC;MAAEK,IAAI,EAAE;IAAe,CAAC,CAAC;IACvDR,SAAS,CAACE,MAAM,CAACnB,MAAM,EAAE;MAAE4B,QAAQ,EAAE,GAAG;MAAEC,QAAQ,EAAE;IAAE,CAAC,CAAC;IACxDZ,SAAS,CAACU,MAAM,CAAC;MAAElB,QAAQ,EAAE,QAAQ;MAAEC,WAAW,EAAE;IAAI,CAAC,EAAE;MAAEmB,QAAQ,EAAE;IAAE,CAAC,CAAC;IAC3EZ,SAAS,CAACE,MAAM,CAACrB,YAAY,EAAE;MAC7BiB,WAAW,EAAE,MAAM;MACnBe,MAAM,EAAE;IACV,CAAC,CAAC;IACFb,SAAS,CAACU,MAAM,CAACb,oBAAoB,EAAE;MAAEgB,MAAM,EAAE;IAAS,CAAC,CAAC;IAC5Db,SAAS,CAACU,MAAM,CAAC;MACflB,QAAQ,EAAE,cAAc;MACxBM,WAAW,EAAE,eAAe;MAC5BL,WAAW,EAAE;IACf,CAAC,EAAE;MAAEoB,MAAM,EAAE;IAAU,CAAC,CAAC;IACzBb,SAAS,CAACS,MAAM,CAACZ,oBAAoB,CAAC;IAEtCG,SAAS,CAACc,IAAI,CAAC;MAAEtB,QAAQ,EAAE,UAAU;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE,gBAAgB,EAAE;MACzED,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE;IACf,CAAC,CAAC;IACFO,SAAS,CAACc,IAAI,CAAC;MAAEtB,QAAQ,EAAE,UAAU;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE,gBAAgB,EAAE;MACzED,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE;IACf,CAAC,CAAC;IACFO,SAAS,CAACc,IAAI,CAAClB,gBAAgB,EAAE,gBAAgB,EAAED,cAAc,CAAC;IAClEK,SAAS,CAACe,MAAM,CACd;MAAEvB,QAAQ,EAAE,UAAU;MAAEC,WAAW,EAAE;IAAE,CAAC,EACxC,gBAAgB,EAChB;MACED,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE;IACf,CACF,CAAC;IACDO,SAAS,CAACc,IAAI,CAACvB,YAAY,EAAE,OAAO,EAAE;MAAEC,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,CAAC;IAC3EO,SAAS,CAACc,IAAI,CAACvB,YAAY,EAAE,OAAO,EAAE,CACpC;MAAEC,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EACpC;MAAED,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,CACrC,CAAC;IACFO,SAAS,CAACe,MAAM,CAAC;MAAEvB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE,OAAO,EAAE;MAC9DD,QAAQ,EAAE,MAAM;MAChBC,WAAW,EAAE;IACf,CAAC,CAAC;IACFO,SAAS,CAACc,IAAI,CAACnB,cAAc,EAAE,WAAW,EAAEC,gBAAgB,CAAC;IAC7DI,SAAS,CAACe,MAAM,CACd;MAAEvB,QAAQ,EAAE,QAAQ;MAAEC,WAAW,EAAE;IAAS,CAAC,EAC7C,WAAW,EACX,CAACG,gBAAgB,EAAE;MAAEJ,QAAQ,EAAE,UAAU;MAAEC,WAAW,EAAE;IAAE,CAAC,CAC7D,CAAC;IAEDN,MAAM,CAACa,SAAS,CAACgB,QAAQ,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CACnC;MACEC,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAErC,8BAA8B;MACnCsC,UAAU,EAAE;QACVjB,EAAE,EAAE,CAAC;QACLC,UAAU,EAAE,QAAQ;QACpBC,WAAW,EAAE;UAAEC,GAAG,EAAE;QAAS,CAAC;QAC9BC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;MAClB;IACF,CAAC,EACD;MACEW,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAEnC,IAAI;MACToC,UAAU,EAAE;QAAEjB,EAAE,EAAE,CAAC;QAAEK,IAAI,EAAE;MAAe;IAC5C,CAAC,EACD;MACEU,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAEnC,IAAI;MACToC,UAAU,EAAE;QAAEjB,EAAE,EAAE,CAAC;QAAEK,IAAI,EAAE;MAAqB;IAClD,CAAC,EACD;MACEU,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAEnC,IAAI;MACToC,UAAU,EAAE;QAAEjB,EAAE,EAAE;MAAE;IACtB,CAAC,EACD;MAAEe,IAAI,EAAE,cAAc;MAAEC,GAAG,EAAE;QAAE3B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAAE,CAAC,EACnE;MAAEyB,IAAI,EAAE,cAAc;MAAEC,GAAG,EAAE;QAAE3B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAAE,CAAC,EACnE;MACEyB,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAE;QAAE3B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MACzC2B,UAAU,EAAE;QAAEZ,IAAI,EAAE;MAAmB;IACzC,CAAC,EACD;MACEU,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAE;QAAE3B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MACzC2B,UAAU,EAAE;QAAEZ,IAAI,EAAE;MAAwB;IAC9C,CAAC,EACD;MACEU,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAE;QAAE3B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MACzC2B,UAAU,EAAE,CAAC;IACf,CAAC,EACD;MACEF,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAEnC,IAAI;MACToC,UAAU,EAAE;QAAEjB,EAAE,EAAE,CAAC;QAAEK,IAAI,EAAE;MAAe;IAC5C,CAAC,EACD;MACEU,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAEpC,MAAM;MACXqC,UAAU,EAAE;QAAET,QAAQ,EAAE,GAAG;QAAEC,QAAQ,EAAE;MAAE;IAC3C,CAAC,EACD;MACEM,IAAI,EAAE,cAAc;MACpBC,GAAG,EAAE;QAAE3B,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAI,CAAC;MAC7C2B,UAAU,EAAE;QAAER,QAAQ,EAAE;MAAE;IAC5B,CAAC,EACD;MACEM,IAAI,EAAE,0BAA0B;MAChCG,GAAG,EAAExC,YAAY;MACjBuC,UAAU,EAAE;QAAEP,MAAM,EAAE,mBAAmB;QAAEf,WAAW,EAAE;MAAO;IACjE,CAAC,EACD;MACEoB,IAAI,EAAE,0BAA0B;MAChCC,GAAG,EAAE;QACH3B,QAAQ,EAAE,cAAc;QACxBC,WAAW,EAAE,EAAE;QACfK,WAAW,EAAE;MACf,CAAC;MACDsB,UAAU,EAAE;QAAEP,MAAM,EAAE;MAAS;IACjC,CAAC,EACD;MACEK,IAAI,EAAE,0BAA0B;MAChCC,GAAG,EAAE;QACH3B,QAAQ,EAAE,cAAc;QACxBC,WAAW,EAAE,EAAE;QACfK,WAAW,EAAE;MACf,CAAC;MACDsB,UAAU,EAAE;QAAEP,MAAM,EAAE;MAAU;IAClC,CAAC,EACD;MACEK,IAAI,EAAE,0BAA0B;MAChCC,GAAG,EAAE;QACH3B,QAAQ,EAAE,cAAc;QACxBC,WAAW,EAAE,EAAE;QACfK,WAAW,EAAE;MACf;IACF,CAAC,EACD;MACEoB,IAAI,EAAE,SAAS;MACfI,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;QAAE/B,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE,CAAC;MAChD+B,MAAM,EAAE;QAAEhC,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAU;IACvD,CAAC,EACD;MACEyB,IAAI,EAAE,SAAS;MACfI,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;QAAE/B,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE,CAAC;MAChD+B,MAAM,EAAE;QAAEhC,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAY;IACzD,CAAC,EACD;MACEyB,IAAI,EAAE,SAAS;MACfI,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;QAAE/B,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE,CAAC;MAChD+B,MAAM,EAAE;QAAEhC,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAI;IACjD,CAAC,EACD;MACEyB,IAAI,EAAE,YAAY;MAClBI,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;QAAE/B,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE,CAAC;MAChD+B,MAAM,EAAE;QAAEhC,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAW;IACxD,CAAC,EACD;MACEyB,IAAI,EAAE,SAAS;MACfI,OAAO,EAAE,OAAO;MAChBC,MAAM,EAAE;QAAE/B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MAC5C+B,MAAM,EAAE;QAAEhC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAC7C,CAAC,EACD;MACEyB,IAAI,EAAE,SAAS;MACfI,OAAO,EAAE,OAAO;MAChBC,MAAM,EAAE;QAAE/B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MAC5C+B,MAAM,EAAE;QAAEhC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAC7C,CAAC,EACD;MACEyB,IAAI,EAAE,SAAS;MACfI,OAAO,EAAE,OAAO;MAChBC,MAAM,EAAE;QAAE/B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MAC5C+B,MAAM,EAAE;QAAEhC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAC7C,CAAC,EACD;MACEyB,IAAI,EAAE,YAAY;MAClBI,OAAO,EAAE,OAAO;MAChBC,MAAM,EAAE;QAAE/B,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE,CAAC;MAC5C+B,MAAM,EAAE;QAAEhC,QAAQ,EAAE,MAAM;QAAEC,WAAW,EAAE;MAAE;IAC7C,CAAC,EACD;MACEyB,IAAI,EAAE,SAAS;MACfI,OAAO,EAAE,WAAW;MACpBC,MAAM,EAAE;QAAE/B,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAI,CAAC;MAChD+B,MAAM,EAAE;QAAEhC,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE;IACjD,CAAC,EACD;MACEyB,IAAI,EAAE,YAAY;MAClBI,OAAO,EAAE,WAAW;MACpBC,MAAM,EAAE;QAAE/B,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAS,CAAC;MACrD+B,MAAM,EAAE;QAAEhC,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE;IACjD,CAAC,EACD;MACEyB,IAAI,EAAE,YAAY;MAClBI,OAAO,EAAE,WAAW;MACpBC,MAAM,EAAE;QAAE/B,QAAQ,EAAE,QAAQ;QAAEC,WAAW,EAAE;MAAS,CAAC;MACrD+B,MAAM,EAAE;QAAEhC,QAAQ,EAAE,UAAU;QAAEC,WAAW,EAAE;MAAE;IACjD,CAAC,CACF,CAAC;EACJ,CAAC,CAAC;EAEFL,EAAE,CAAC,yBAAyB,EAAE,MAAM;IAClC;IACAY,SAAS,CAACc,IAAI,CAACvB,YAAY,EAAE,IAAI,EAAEI,cAAc,CAAC,CAAC,CAAC;;IAEpDK,SAAS,CAACc,IAAI,CACZvB,YAAY,EACZ,IAAI;IACJ;IACAG,cACF,CAAC;IACD;;IAEAM,SAAS,CAACc,IAAI,CACZ;MAAEtB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC;IACpC;IACA,WAAW,EACXG,gBACF,CAAC,CAAC,CAAC;;IAEHI,SAAS,CAACc,IAAI,CACZ;MAAEtB,QAAQ,EAAE,QAAQ;MAAEC,WAAW,EAAE;IAAI,CAAC,EACxC,WAAW;IACX;IACAC,cACF,CAAC,CAAC,CAAC;;IAEH;IACAM,SAAS,CAACc,IAAI,CAACnB,cAAc,EAAE,OAAO,EAAE;MACtCH,QAAQ,EAAE,MAAM;MAChBC,WAAW,EAAE;IACf,CAAC,CAAC,CAAC,CAAC;EACN,CAAC,CAAC;EAEFL,EAAE,CAAC,2BAA2B,EAAE,MAAM;IACpC;IACAY,SAAS,CAACe,MAAM,CAACxB,YAAY,EAAE,IAAI,EAAEI,cAAc,CAAC,CAAC,CAAC;;IAEtDK,SAAS,CAACe,MAAM,CACdxB,YAAY,EACZ,IAAI;IACJ;IACA,CAACG,cAAc,CACjB,CAAC,CAAC,CAAC;;IAEHM,SAAS,CAACe,MAAM,CACd;MAAEvB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC;IACpC;IACA,WAAW,EACXG,gBACF,CAAC,CAAC,CAAC;;IAEHI,SAAS,CAACe,MAAM,CACd;MAAEvB,QAAQ,EAAE,QAAQ;MAAEC,WAAW,EAAE;IAAI,CAAC,EACxC,WAAW;IACX;IACAC,cACF,CAAC,CAAC,CAAC;;IAEH;IACAM,SAAS,CAACe,MAAM,CAACpB,cAAc,EAAE,OAAO,EAAE;MACxCH,QAAQ,EAAE,MAAM;MAChBC,WAAW,EAAE;IACf,CAAC,CAAC,CAAC,CAAC;EACN,CAAC,CAAC;EAEFL,EAAE,CAAC,2BAA2B,EAAE,MAAM;IACpC;IACAY,SAAS,CAACU,MAAM,CAACnB,YAAY,EAAE;MAAEqB,QAAQ,EAAE;IAAE,CAAC,CAAC,CAAC,CAAC;;IAEjD;IACAZ,SAAS,CAACU,MAAM,CAAC;MAAElB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE;MAAEmB,QAAQ,EAAE;IAAE,CAAC,CAAC,CAAC,CAAC;EAC3E,CAAC,CAAC;EAEFxB,EAAE,CAAC,2BAA2B,EAAE,MAAM;IACpC;IACAY,SAAS,CAACU,MAAM,CAACnB,YAAY,EAAE;MAAEqB,QAAQ,EAAE;IAAE,CAAC,CAAC,CAAC,CAAC;;IAEjD;IACAZ,SAAS,CAACU,MAAM,CAAC;MAAElB,QAAQ,EAAE,MAAM;MAAEC,WAAW,EAAE;IAAE,CAAC,EAAE;MAAEmB,QAAQ,EAAE;IAAE,CAAC,CAAC,CAAC,CAAC;EAC3E,CAAC,CAAC;AACJ,CAAC,CAAC","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];\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
+ {"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-C20KRlC4.cjs';
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"];
@@ -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-DCDMGtxT.cjs';
4
- import { A as AnyEdit } from './internal-C20KRlC4.cjs';
5
- export { E as Edits } from './internal-C20KRlC4.cjs';
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-C20KRlC4.cjs';
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';
@@ -1,7 +1,7 @@
1
1
  import { createClientWithTransaction } from '@osdk/client/unstable-do-not-use';
2
- import { A as AnyEdit } from '../internal-C20KRlC4.cjs';
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-DCDMGtxT.cjs';
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];\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
+ {"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,UAGxD,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"}
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.0-beta.7",
3
+ "version": "1.4.0-beta.1",
4
4
  "description": "",
5
5
  "access": "public",
6
6
  "license": "Apache-2.0",
@@ -52,7 +52,7 @@
52
52
  "@types/geojson": "^7946.0.16"
53
53
  },
54
54
  "peerDependencies": {
55
- "@osdk/client": "^2.5.0-beta.12"
55
+ "@osdk/client": "^2.6.0-beta.1"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@microsoft/api-documenter": "^7.26.32",
@@ -61,10 +61,10 @@
61
61
  "p-defer": "^4.0.1",
62
62
  "ts-expect": "^1.3.0",
63
63
  "typescript": "~5.5.4",
64
- "@osdk/client.test.ontology": "~2.5.0-beta.12",
65
- "@osdk/monorepo.api-extractor": "~0.4.0-beta.1",
66
- "@osdk/shared.test": "~2.5.0-beta.5",
67
- "@osdk/monorepo.tsconfig": "~0.4.0-beta.1"
64
+ "@osdk/client.test.ontology": "~2.6.0-beta.1",
65
+ "@osdk/monorepo.api-extractor": "~0.5.0-beta.1",
66
+ "@osdk/monorepo.tsconfig": "~0.5.0-beta.1",
67
+ "@osdk/shared.test": "~2.6.0-beta.1"
68
68
  },
69
69
  "publishConfig": {
70
70
  "access": "public"