@osdk/client 2.1.0-beta.20 → 2.1.0-beta.21
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 +21 -0
- package/build/browser/Client.d.ts +0 -3
- package/build/browser/Client.d.ts.map +1 -1
- package/build/browser/Client.js +1 -0
- package/build/browser/Client.js.map +1 -1
- package/build/browser/actions/actions.test.js +9 -0
- package/build/browser/actions/actions.test.js.map +1 -1
- package/build/browser/createClient.d.ts.map +1 -1
- package/build/browser/createClient.js +11 -23
- package/build/browser/createClient.js.map +1 -1
- package/build/browser/object/AttachmentUpload.d.ts.map +1 -1
- package/build/browser/object/AttachmentUpload.js +5 -13
- package/build/browser/object/AttachmentUpload.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +3 -3
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/browser/objectSet/ObjectSet.test.js +13 -0
- package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
- package/build/browser/public/internal.d.ts +4 -0
- package/build/browser/public/internal.d.ts.map +1 -0
- package/build/browser/public/internal.js +19 -0
- package/build/browser/public/internal.js.map +1 -0
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts +11 -0
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -0
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.js +32 -0
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
- package/build/browser/public-utils/hydrateAttachmentFromRid.d.ts +10 -0
- package/build/browser/public-utils/hydrateAttachmentFromRid.d.ts.map +1 -0
- package/build/{esm/createAttachmentFromRid.js → browser/public-utils/hydrateAttachmentFromRid.js} +9 -4
- package/build/browser/public-utils/hydrateAttachmentFromRid.js.map +1 -0
- package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts +11 -0
- package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -0
- package/build/browser/public-utils/hydrateObjectSetFromRid.js +37 -0
- package/build/browser/public-utils/hydrateObjectSetFromRid.js.map +1 -0
- package/build/browser/queries/applyQuery.d.ts.map +1 -1
- package/build/browser/queries/applyQuery.js +2 -2
- package/build/browser/queries/applyQuery.js.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/toDataValue.js +6 -0
- package/build/browser/util/toDataValue.js.map +1 -1
- package/build/browser/util/toDataValue.test.js +9 -1
- package/build/browser/util/toDataValue.test.js.map +1 -1
- package/build/browser/util/toDataValueQueries.js +6 -0
- package/build/browser/util/toDataValueQueries.js.map +1 -1
- package/build/esm/Client.d.ts +0 -3
- package/build/esm/Client.d.ts.map +1 -1
- package/build/esm/Client.js +1 -0
- package/build/esm/Client.js.map +1 -1
- package/build/esm/actions/actions.test.js +9 -0
- package/build/esm/actions/actions.test.js.map +1 -1
- package/build/esm/createClient.d.ts.map +1 -1
- package/build/esm/createClient.js +11 -23
- package/build/esm/createClient.js.map +1 -1
- package/build/esm/object/AttachmentUpload.d.ts.map +1 -1
- package/build/esm/object/AttachmentUpload.js +5 -13
- package/build/esm/object/AttachmentUpload.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +3 -3
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/esm/objectSet/ObjectSet.test.js +13 -0
- package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
- package/build/esm/public/internal.d.ts +4 -0
- package/build/esm/public/internal.d.ts.map +1 -0
- package/build/esm/public/internal.js +19 -0
- package/build/esm/public/internal.js.map +1 -0
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.d.ts +11 -0
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -0
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.js +32 -0
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
- package/build/esm/public-utils/hydrateAttachmentFromRid.d.ts +10 -0
- package/build/esm/public-utils/hydrateAttachmentFromRid.d.ts.map +1 -0
- package/build/{browser/createAttachmentFromRid.js → esm/public-utils/hydrateAttachmentFromRid.js} +9 -4
- package/build/esm/public-utils/hydrateAttachmentFromRid.js.map +1 -0
- package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts +11 -0
- package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -0
- package/build/esm/public-utils/hydrateObjectSetFromRid.js +37 -0
- package/build/esm/public-utils/hydrateObjectSetFromRid.js.map +1 -0
- package/build/esm/queries/applyQuery.d.ts.map +1 -1
- package/build/esm/queries/applyQuery.js +2 -2
- package/build/esm/queries/applyQuery.js.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/toDataValue.js +6 -0
- package/build/esm/util/toDataValue.js.map +1 -1
- package/build/esm/util/toDataValue.test.js +9 -1
- package/build/esm/util/toDataValue.test.js.map +1 -1
- package/build/esm/util/toDataValueQueries.js +6 -0
- package/build/esm/util/toDataValueQueries.js.map +1 -1
- package/package.json +10 -10
- package/build/browser/createAttachmentFromRid.d.ts +0 -10
- package/build/browser/createAttachmentFromRid.d.ts.map +0 -1
- package/build/browser/createAttachmentFromRid.js.map +0 -1
- package/build/esm/createAttachmentFromRid.d.ts +0 -10
- package/build/esm/createAttachmentFromRid.d.ts.map +0 -1
- package/build/esm/createAttachmentFromRid.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSet.test.js","names":["isOk","$ontologyRid","BarInterface","BgaoNflPlayer","Employee","FooInterface","Office","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","client","listen","close","employeeObjectSet","officeObjectSet","union","subtract","intersect","objectSet","unionedObjectSet","iter","data","employees","fetchPage","emp","employeeId","toEqual","objectSet2","where","subtractedObjectSet","intersectedObjectSet","$orderBy","toMatchObject","$apiName","$objectType","$primaryKey","class","employeeStatus","anything","employeeSensor","fullName","office","startDate","employeeLocation","$title","employee","fetchOne","employee1","toMatchTypeOf","toBe","player","address1","address","addressLine1","address2","addressLine2","city","state","zipCode","travisPlayer","__primaryKey","employeeResult","fetchOneWithErrors","value","$select","branded","toEqualTypeOf","rejects","toThrow","employee2","pivotTo","result","fetchPageWithErrors","$in","toBeDefined","employeeIdNonExistent","nonExistentProp","$or","$containsAllTerms","term","fuzzySearch","$containsAnyTerm","each","k","opts","$__EXPERIMENTAL_strictNonNull","$includeRid","toHaveLength","not","toBeUndefined","empNotStrict","cheesedFooNotStrict","$as","fooSpt"],"sources":["ObjectSet.test.js"],"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 */\nimport { isOk } from \"@osdk/api\";\nimport { $ontologyRid, BarInterface, BgaoNflPlayer, Employee, FooInterface, Office, } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"ObjectSet\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"does not allow intersect/union/subtract with different object types\", () => {\n const employeeObjectSet = client(Employee);\n const officeObjectSet = client(Office);\n // @ts-expect-error\n employeeObjectSet.union(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.subtract(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.intersect(officeObjectSet);\n });\n it(\"can be cast bidirectionally\", () => {\n function takesOldStyleObjectSet(os) {\n return os;\n }\n function takesNewStyleObjectSet(os) {\n return os;\n }\n function maybe() {\n const newStyleObjectSet = client(Employee);\n const oldStyleObjectSet = newStyleObjectSet;\n takesOldStyleObjectSet(newStyleObjectSet);\n takesNewStyleObjectSet(newStyleObjectSet);\n takesOldStyleObjectSet(oldStyleObjectSet);\n takesNewStyleObjectSet(oldStyleObjectSet);\n }\n if (false) {\n // here for a simple type check\n maybe();\n }\n });\n it(\"objects set union\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const { data: employees } = await unionedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set subtract\", async () => {\n const objectSet = client(Employee);\n const objectSet2 = client(Employee).where({\n employeeId: 50030,\n });\n const subtractedObjectSet = objectSet.subtract(objectSet2);\n let iter = 0;\n const { data: employees } = await subtractedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50031 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set intersect\", async () => {\n const objectSet = client(Employee);\n const intersectedObjectSet = objectSet.intersect(objectSet);\n let iter = 0;\n const { data: employees } = await intersectedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50032);\n iter += 1;\n }\n expect(iter).toEqual(1);\n });\n it(\"orders objects in ascending order without a filter, and returns all results\", async () => {\n const { data: employees } = await client(Employee)\n .fetchPage({\n $orderBy: { \"employeeId\": \"asc\" },\n });\n expect(employees).toMatchObject([\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50030,\n class: \"Red\",\n employeeId: 50030,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"John Doe\",\n office: \"NYC\",\n startDate: \"2019-01-01\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $title: \"Jane Doe\",\n class: \"Blue\",\n employeeId: 50031,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"Jane Doe\",\n office: \"SEA\",\n startDate: \"2012-02-12\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50032,\n $title: \"Jack Smith\",\n class: \"Red\",\n employeeId: 50032,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"Jack Smith\",\n office: \"LON\",\n startDate: \"2015-05-15\",\n employeeLocation: expect.anything(),\n },\n ]);\n });\n it(\"allows fetching by PK from a base object set - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"check struct parsing\", async () => {\n const player = await client(BgaoNflPlayer).fetchOne(\"tkelce\");\n expectTypeOf().toMatchTypeOf;\n expectTypeOf().toMatchTypeOf;\n const address1 = player.address.addressLine1;\n expectTypeOf().toMatchTypeOf;\n expect(address1).toEqual(\"15 Muppets Lane\");\n const address2 = player.address?.addressLine2;\n expectTypeOf().toMatchTypeOf;\n expect(address2).toEqual(\"Resort No 4\");\n const city = player.address?.city;\n expectTypeOf().toMatchTypeOf;\n expect(city).toEqual(\"Memphis\");\n const state = player.address?.state;\n expectTypeOf().toMatchTypeOf;\n expect(state).toEqual(\"TN\");\n const zipCode = player.address?.zipCode;\n expectTypeOf().toMatchTypeOf;\n expect(zipCode).toEqual(11100);\n expect(player.$primaryKey).toEqual(stubData.travisPlayer.__primaryKey);\n expect(player.address).toEqual(stubData.travisPlayer.address);\n });\n it(\"allows fetching by PK from a base object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\"allows fetching by PK from a base object set with selected properties - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a base object set with selected properties - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\"throws when fetching by PK with an object that does not exist - fetchOne\", async () => {\n await expect(client(Employee).fetchOne(-1)).rejects\n .toThrow();\n });\n it(\"throws when fetching by PK with an object that does not exist - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(-1);\n expectTypeOf().branded.toEqualTypeOf;\n expect(\"error\" in employeeResult);\n });\n it(\"allows fetching by PK from a pivoted object set - fetchOne\", async () => {\n const employee = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOne(stubData.employee1.employeeId);\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a pivoted object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOneWithErrors(stubData.employee1.employeeId);\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\" object set union works with fetchPageWithErrors\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const result = await unionedObjectSet.fetchPageWithErrors();\n if (isOk(result)) {\n const employees = result.value.data;\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n }\n });\n it(\"allows $in filter with ReadonlyArrays\", () => {\n const ids = [50030, 50031];\n const objectSet = client(Employee).where({\n employeeId: { $in: ids },\n });\n expect(objectSet).toBeDefined();\n });\n it(\"does not allow arbitrary keys when no properties\", () => {\n const ids = [50030, 50031];\n client(Employee).where({\n // @ts-expect-error\n employeeIdNonExistent: { $in: ids },\n });\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n it(\"type checking containsallterm and containsanyterm\", () => {\n const ids = [50030, 50031];\n client(Employee).where({\n $or: [{ fullName: { $containsAllTerms: \"John Smith\" } }, {\n office: { $containsAllTerms: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAllTerms: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAllTerms: { fuzzySearch: false } },\n }],\n });\n client(Employee).where({\n $or: [{ fullName: { $containsAnyTerm: \"John Smith\" } }, {\n office: { $containsAnyTerm: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAnyTerm: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAnyTerm: { fuzzySearch: false } },\n }],\n });\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n describe.each([\"fetchPage\", \"fetchPageWithErrors\"])(\"%s\", (k) => {\n // describe(\"strictNonNull: \\\"drop\\\"\", () => {\n // describe(\"includeRid: true\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: true,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Osdk<Employee, \"$rid\" | \"$all\">\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<\"$rid\">\n // >();\n // });\n // });\n // describe(\"includeRid: false\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: false,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<Osdk<Employee>>();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<never>\n // >();\n // });\n // });\n // });\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $includeRid: false,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe.each([\"fetchOne\", \"fetchOneWithErrors\"])(\"%s\", (k) => {\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n // Look at this\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: false,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe(\"conversions\", () => {\n describe(\"strictNonNull: false\", () => {\n it(\"returns bad data\", async () => {\n const result = await client(Employee).fetchPage({});\n const empNotStrict = result.data[0];\n const empNotStrict2 = empNotStrict;\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict.employeeId).toEqualTypeOf();\n expectTypeOf(empNotStrict2.employeeId).toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n const CheesedFoo = FooInterface;\n const cheesedFooNotStrict = result.data[0].$as(CheesedFoo);\n expectTypeOf(cheesedFooNotStrict).branded.toEqualTypeOf();\n cheesedFooNotStrict.fooSpt;\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ObjectSet.test.js","names":["isOk","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","$ontologyRid","BarInterface","BgaoNflPlayer","Employee","FooInterface","Office","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","client","listen","close","employeeObjectSet","officeObjectSet","union","subtract","intersect","objectSet","unionedObjectSet","iter","data","employees","fetchPage","emp","employeeId","toEqual","objectSet2","where","subtractedObjectSet","intersectedObjectSet","$orderBy","toMatchObject","$apiName","$objectType","$primaryKey","class","employeeStatus","anything","employeeSensor","fullName","office","startDate","employeeLocation","$title","employee","fetchOne","employee1","toMatchTypeOf","toBe","fetchOneByRid","$select","employee2","player","address1","address","addressLine1","address2","addressLine2","city","state","zipCode","travisPlayer","__primaryKey","employeeResult","fetchOneWithErrors","value","branded","toEqualTypeOf","rejects","toThrow","pivotTo","result","fetchPageWithErrors","$in","toBeDefined","employeeIdNonExistent","nonExistentProp","$or","$containsAllTerms","term","fuzzySearch","$containsAnyTerm","each","k","opts","$__EXPERIMENTAL_strictNonNull","$includeRid","toHaveLength","not","toBeUndefined","empNotStrict","cheesedFooNotStrict","$as","fooSpt"],"sources":["ObjectSet.test.js"],"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 */\nimport { isOk } from \"@osdk/api\";\nimport { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid } from \"@osdk/api/unstable\";\nimport { $ontologyRid, BarInterface, BgaoNflPlayer, Employee, FooInterface, Office, } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"ObjectSet\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"does not allow intersect/union/subtract with different object types\", () => {\n const employeeObjectSet = client(Employee);\n const officeObjectSet = client(Office);\n // @ts-expect-error\n employeeObjectSet.union(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.subtract(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.intersect(officeObjectSet);\n });\n it(\"can be cast bidirectionally\", () => {\n function takesOldStyleObjectSet(os) {\n return os;\n }\n function takesNewStyleObjectSet(os) {\n return os;\n }\n function maybe() {\n const newStyleObjectSet = client(Employee);\n const oldStyleObjectSet = newStyleObjectSet;\n takesOldStyleObjectSet(newStyleObjectSet);\n takesNewStyleObjectSet(newStyleObjectSet);\n takesOldStyleObjectSet(oldStyleObjectSet);\n takesNewStyleObjectSet(oldStyleObjectSet);\n }\n if (false) {\n // here for a simple type check\n maybe();\n }\n });\n it(\"objects set union\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const { data: employees } = await unionedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set subtract\", async () => {\n const objectSet = client(Employee);\n const objectSet2 = client(Employee).where({\n employeeId: 50030,\n });\n const subtractedObjectSet = objectSet.subtract(objectSet2);\n let iter = 0;\n const { data: employees } = await subtractedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50031 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set intersect\", async () => {\n const objectSet = client(Employee);\n const intersectedObjectSet = objectSet.intersect(objectSet);\n let iter = 0;\n const { data: employees } = await intersectedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50032);\n iter += 1;\n }\n expect(iter).toEqual(1);\n });\n it(\"orders objects in ascending order without a filter, and returns all results\", async () => {\n const { data: employees } = await client(Employee)\n .fetchPage({\n $orderBy: { \"employeeId\": \"asc\" },\n });\n expect(employees).toMatchObject([\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50030,\n class: \"Red\",\n employeeId: 50030,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"John Doe\",\n office: \"NYC\",\n startDate: \"2019-01-01\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $title: \"Jane Doe\",\n class: \"Blue\",\n employeeId: 50031,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"Jane Doe\",\n office: \"SEA\",\n startDate: \"2012-02-12\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50032,\n $title: \"Jack Smith\",\n class: \"Red\",\n employeeId: 50032,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"Jack Smith\",\n office: \"LON\",\n startDate: \"2015-05-15\",\n employeeLocation: expect.anything(),\n },\n ]);\n });\n it(\"allows fetching by PK from a base object set - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by rid with experimental function\", async () => {\n const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, \"ri.employee.i.look.for\");\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by rid with experimental function, with select\", async () => {\n const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, \"ri.employee.i.look.for\", { $select: [\"fullName\"] });\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee2.employeeId);\n });\n it(\"check struct parsing\", async () => {\n const player = await client(BgaoNflPlayer).fetchOne(\"tkelce\");\n expectTypeOf().toMatchTypeOf;\n expectTypeOf().toMatchTypeOf;\n const address1 = player.address.addressLine1;\n expectTypeOf().toMatchTypeOf;\n expect(address1).toEqual(\"15 Muppets Lane\");\n const address2 = player.address?.addressLine2;\n expectTypeOf().toMatchTypeOf;\n expect(address2).toEqual(\"Resort No 4\");\n const city = player.address?.city;\n expectTypeOf().toMatchTypeOf;\n expect(city).toEqual(\"Memphis\");\n const state = player.address?.state;\n expectTypeOf().toMatchTypeOf;\n expect(state).toEqual(\"TN\");\n const zipCode = player.address?.zipCode;\n expectTypeOf().toMatchTypeOf;\n expect(zipCode).toEqual(11100);\n expect(player.$primaryKey).toEqual(stubData.travisPlayer.__primaryKey);\n expect(player.address).toEqual(stubData.travisPlayer.address);\n });\n it(\"allows fetching by PK from a base object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\"allows fetching by PK from a base object set with selected properties - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a base object set with selected properties - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\"throws when fetching by PK with an object that does not exist - fetchOne\", async () => {\n await expect(client(Employee).fetchOne(-1)).rejects\n .toThrow();\n });\n it(\"throws when fetching by PK with an object that does not exist - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(-1);\n expectTypeOf().branded.toEqualTypeOf;\n expect(\"error\" in employeeResult);\n });\n it(\"allows fetching by PK from a pivoted object set - fetchOne\", async () => {\n const employee = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOne(stubData.employee1.employeeId);\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a pivoted object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOneWithErrors(stubData.employee1.employeeId);\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\" object set union works with fetchPageWithErrors\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const result = await unionedObjectSet.fetchPageWithErrors();\n if (isOk(result)) {\n const employees = result.value.data;\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n }\n });\n it(\"allows $in filter with ReadonlyArrays\", () => {\n const ids = [50030, 50031];\n const objectSet = client(Employee).where({\n employeeId: { $in: ids },\n });\n expect(objectSet).toBeDefined();\n });\n it(\"does not allow arbitrary keys when no properties\", () => {\n const ids = [50030, 50031];\n client(Employee).where({\n // @ts-expect-error\n employeeIdNonExistent: { $in: ids },\n });\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n it(\"type checking containsallterm and containsanyterm\", () => {\n const ids = [50030, 50031];\n client(Employee).where({\n $or: [{ fullName: { $containsAllTerms: \"John Smith\" } }, {\n office: { $containsAllTerms: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAllTerms: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAllTerms: { fuzzySearch: false } },\n }],\n });\n client(Employee).where({\n $or: [{ fullName: { $containsAnyTerm: \"John Smith\" } }, {\n office: { $containsAnyTerm: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAnyTerm: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAnyTerm: { fuzzySearch: false } },\n }],\n });\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n describe.each([\"fetchPage\", \"fetchPageWithErrors\"])(\"%s\", (k) => {\n // describe(\"strictNonNull: \\\"drop\\\"\", () => {\n // describe(\"includeRid: true\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: true,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Osdk<Employee, \"$rid\" | \"$all\">\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<\"$rid\">\n // >();\n // });\n // });\n // describe(\"includeRid: false\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: false,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<Osdk<Employee>>();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<never>\n // >();\n // });\n // });\n // });\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $includeRid: false,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe.each([\"fetchOne\", \"fetchOneWithErrors\"])(\"%s\", (k) => {\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n // Look at this\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: false,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe(\"conversions\", () => {\n describe(\"strictNonNull: false\", () => {\n it(\"returns bad data\", async () => {\n const result = await client(Employee).fetchPage({});\n const empNotStrict = result.data[0];\n const empNotStrict2 = empNotStrict;\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict.employeeId).toEqualTypeOf();\n expectTypeOf(empNotStrict2.employeeId).toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n const CheesedFoo = FooInterface;\n const cheesedFooNotStrict = result.data[0].$as(CheesedFoo);\n expectTypeOf(cheesedFooNotStrict).branded.toEqualTypeOf();\n cheesedFooNotStrict.fooSpt;\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { createAndFetchTempObjectSetRid } from "../public-utils/createAndFetchTempObjectSetRid.js";
|
|
2
|
+
export { hydrateAttachmentFromRid } from "../public-utils/hydrateAttachmentFromRid.js";
|
|
3
|
+
export { hydrateObjectSetFromRid } from "../public-utils/hydrateObjectSetFromRid.js";
|
|
4
|
+
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/public/internal.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export { createAndFetchTempObjectSetRid } from "../public-utils/createAndFetchTempObjectSetRid.js";
|
|
17
|
+
export { hydrateAttachmentFromRid } from "../public-utils/hydrateAttachmentFromRid.js";
|
|
18
|
+
export { hydrateObjectSetFromRid } from "../public-utils/hydrateObjectSetFromRid.js";
|
|
19
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","names":["createAndFetchTempObjectSetRid","hydrateAttachmentFromRid","hydrateObjectSetFromRid"],"sources":["internal.js"],"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 */\nexport { createAndFetchTempObjectSetRid } from \"../public-utils/createAndFetchTempObjectSetRid.js\";\nexport { hydrateAttachmentFromRid } from \"../public-utils/hydrateAttachmentFromRid.js\";\nexport { hydrateObjectSetFromRid } from \"../public-utils/hydrateObjectSetFromRid.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,8BAA8B,QAAQ,mDAAmD;AAClG,SAASC,wBAAwB,QAAQ,6CAA6C;AACtF,SAASC,uBAAuB,QAAQ,4CAA4C","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CompileTimeMetadata, ObjectOrInterfaceDefinition, ObjectSet } from "@osdk/api";
|
|
2
|
+
import { type Client } from "../Client.js";
|
|
3
|
+
/**
|
|
4
|
+
* Fetches a temporary object set RID from the Foundry stack for the given object set.
|
|
5
|
+
*
|
|
6
|
+
* @param client - An OSDK client.
|
|
7
|
+
* @param objectSet - The object set to fetch a RID for.
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export declare function createAndFetchTempObjectSetRid<Q extends ObjectOrInterfaceDefinition>(client: Client, objectSet: unknown extends CompileTimeMetadata<Q>["objectSet"] ? ObjectSet<Q> : CompileTimeMetadata<Q>["objectSet"]): Promise<import("@osdk/internal.foundry.core").ObjectSetRid>;
|
|
11
|
+
//# sourceMappingURL=createAndFetchTempObjectSetRid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAndFetchTempObjectSetRid.d.ts","sourceRoot":"","sources":["../../../src/public-utils/createAndFetchTempObjectSetRid.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,SAAS,EACV,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAG9D;;;;;;GAMG;AACH,wBAAsB,8BAA8B,CAClD,CAAC,SAAS,2BAA2B,EAErC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GACzE,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,+DAUxC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { OntologyObjectSets } from "@osdk/internal.foundry.ontologiesv2";
|
|
17
|
+
import { additionalContext } from "../Client.js";
|
|
18
|
+
import { getWireObjectSet } from "../objectSet/createObjectSet.js";
|
|
19
|
+
/**
|
|
20
|
+
* Fetches a temporary object set RID from the Foundry stack for the given object set.
|
|
21
|
+
*
|
|
22
|
+
* @param client - An OSDK client.
|
|
23
|
+
* @param objectSet - The object set to fetch a RID for.
|
|
24
|
+
* @returns
|
|
25
|
+
*/
|
|
26
|
+
export async function createAndFetchTempObjectSetRid(client, objectSet) {
|
|
27
|
+
const response = await OntologyObjectSets.createTemporary(client, await client[additionalContext].ontologyRid, {
|
|
28
|
+
objectSet: getWireObjectSet(objectSet)
|
|
29
|
+
});
|
|
30
|
+
return response.objectSetRid;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=createAndFetchTempObjectSetRid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAndFetchTempObjectSetRid.js","names":["OntologyObjectSets","additionalContext","getWireObjectSet","createAndFetchTempObjectSetRid","client","objectSet","response","createTemporary","ontologyRid","objectSetRid"],"sources":["createAndFetchTempObjectSetRid.js"],"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 */\nimport { OntologyObjectSets } from \"@osdk/internal.foundry.ontologiesv2\";\nimport { additionalContext } from \"../Client.js\";\nimport { getWireObjectSet } from \"../objectSet/createObjectSet.js\";\n/**\n * Fetches a temporary object set RID from the Foundry stack for the given object set.\n *\n * @param client - An OSDK client.\n * @param objectSet - The object set to fetch a RID for.\n * @returns\n */\nexport async function createAndFetchTempObjectSetRid(client, objectSet) {\n const response = await OntologyObjectSets.createTemporary(client, await client[additionalContext].ontologyRid, {\n objectSet: getWireObjectSet(objectSet),\n });\n return response.objectSetRid;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,kBAAkB,QAAQ,qCAAqC;AACxE,SAASC,iBAAiB,QAAQ,cAAc;AAChD,SAASC,gBAAgB,QAAQ,iCAAiC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,8BAA8BA,CAACC,MAAM,EAAEC,SAAS,EAAE;EACpE,MAAMC,QAAQ,GAAG,MAAMN,kBAAkB,CAACO,eAAe,CAACH,MAAM,EAAE,MAAMA,MAAM,CAACH,iBAAiB,CAAC,CAACO,WAAW,EAAE;IAC3GH,SAAS,EAAEH,gBAAgB,CAACG,SAAS;EACzC,CAAC,CAAC;EACF,OAAOC,QAAQ,CAACG,YAAY;AAChC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Attachment } from "@osdk/api";
|
|
2
|
+
import { type Client } from "../Client.js";
|
|
3
|
+
/**
|
|
4
|
+
* Helper function to create an attachment type from a rid
|
|
5
|
+
* @param client - An OSDK client.
|
|
6
|
+
* @param rid - The rid of attachment in Foundry.
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export declare function hydrateAttachmentFromRid(client: Client, rid: string): Attachment;
|
|
10
|
+
//# sourceMappingURL=hydrateAttachmentFromRid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydrateAttachmentFromRid.d.ts","sourceRoot":"","sources":["../../../src/public-utils/hydrateAttachmentFromRid.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAG9D;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,UAAU,CAEZ"}
|
package/build/{esm/createAttachmentFromRid.js → browser/public-utils/hydrateAttachmentFromRid.js}
RENAMED
|
@@ -14,13 +14,18 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import * as OntologiesV2 from "@osdk/internal.foundry.ontologiesv2";
|
|
17
|
+
import { additionalContext } from "../Client.js";
|
|
17
18
|
/**
|
|
18
19
|
* Helper function to create an attachment type from a rid
|
|
19
|
-
* @param client -
|
|
20
|
-
* @param rid - rid of attachment in Foundry
|
|
20
|
+
* @param client - An OSDK client.
|
|
21
|
+
* @param rid - The rid of attachment in Foundry.
|
|
21
22
|
* @returns
|
|
22
23
|
*/
|
|
23
|
-
export function
|
|
24
|
+
export function hydrateAttachmentFromRid(client, rid) {
|
|
25
|
+
return hydrateAttachmentFromRidInternal(client[additionalContext], rid);
|
|
26
|
+
}
|
|
27
|
+
/** @internal */
|
|
28
|
+
export function hydrateAttachmentFromRidInternal(client, rid) {
|
|
24
29
|
return {
|
|
25
30
|
rid,
|
|
26
31
|
async fetchContents() {
|
|
@@ -35,4 +40,4 @@ export function createAttachmentFromRid(client, rid) {
|
|
|
35
40
|
}
|
|
36
41
|
};
|
|
37
42
|
}
|
|
38
|
-
//# sourceMappingURL=
|
|
43
|
+
//# sourceMappingURL=hydrateAttachmentFromRid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydrateAttachmentFromRid.js","names":["OntologiesV2","additionalContext","hydrateAttachmentFromRid","client","rid","hydrateAttachmentFromRidInternal","fetchContents","Attachments","read","fetchMetadata","r","get","sizeBytes","Number"],"sources":["hydrateAttachmentFromRid.js"],"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 */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport { additionalContext } from \"../Client.js\";\n/**\n * Helper function to create an attachment type from a rid\n * @param client - An OSDK client.\n * @param rid - The rid of attachment in Foundry.\n * @returns\n */\nexport function hydrateAttachmentFromRid(client, rid) {\n return hydrateAttachmentFromRidInternal(client[additionalContext], rid);\n}\n/** @internal */\nexport function hydrateAttachmentFromRidInternal(client, rid) {\n return {\n rid,\n async fetchContents() {\n return OntologiesV2.Attachments.read(client, rid);\n },\n async fetchMetadata() {\n const r = await OntologiesV2.Attachments.get(client, rid);\n return {\n ...r,\n sizeBytes: Number(r.sizeBytes),\n };\n },\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKA,YAAY,MAAM,qCAAqC;AACnE,SAASC,iBAAiB,QAAQ,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CAACC,MAAM,EAAEC,GAAG,EAAE;EAClD,OAAOC,gCAAgC,CAACF,MAAM,CAACF,iBAAiB,CAAC,EAAEG,GAAG,CAAC;AAC3E;AACA;AACA,OAAO,SAASC,gCAAgCA,CAACF,MAAM,EAAEC,GAAG,EAAE;EAC1D,OAAO;IACHA,GAAG;IACH,MAAME,aAAaA,CAAA,EAAG;MAClB,OAAON,YAAY,CAACO,WAAW,CAACC,IAAI,CAACL,MAAM,EAAEC,GAAG,CAAC;IACrD,CAAC;IACD,MAAMK,aAAaA,CAAA,EAAG;MAClB,MAAMC,CAAC,GAAG,MAAMV,YAAY,CAACO,WAAW,CAACI,GAAG,CAACR,MAAM,EAAEC,GAAG,CAAC;MACzD,OAAO;QACH,GAAGM,CAAC;QACJE,SAAS,EAAEC,MAAM,CAACH,CAAC,CAACE,SAAS;MACjC,CAAC;IACL;EACJ,CAAC;AACL","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ObjectOrInterfaceDefinition } from "@osdk/api";
|
|
2
|
+
import type { Client } from "../Client.js";
|
|
3
|
+
/**
|
|
4
|
+
* Creates an OSDK object set from a temporary object set RID.
|
|
5
|
+
* @param client An OSDK client.
|
|
6
|
+
* @param definition An OSDK object or interface definition.
|
|
7
|
+
* @param rid The RID of the temporary object set.
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export declare function hydrateObjectSetFromRid<T extends ObjectOrInterfaceDefinition>(client: Client, definition: T, rid: string): import("@osdk/api").ObjectSet<T, any>;
|
|
11
|
+
//# sourceMappingURL=hydrateObjectSetFromRid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydrateObjectSetFromRid.d.ts","sourceRoot":"","sources":["../../../src/public-utils/hydrateObjectSetFromRid.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,2BAA2B,EAC3E,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,CAAC,EACb,GAAG,EAAE,MAAM,yCAmBZ"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { additionalContext } from "../Client.js";
|
|
17
|
+
import { createObjectSet } from "../objectSet/createObjectSet.js";
|
|
18
|
+
/**
|
|
19
|
+
* Creates an OSDK object set from a temporary object set RID.
|
|
20
|
+
* @param client An OSDK client.
|
|
21
|
+
* @param definition An OSDK object or interface definition.
|
|
22
|
+
* @param rid The RID of the temporary object set.
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
export function hydrateObjectSetFromRid(client, definition, rid) {
|
|
26
|
+
return createObjectSet(definition, client[additionalContext], {
|
|
27
|
+
type: "intersect",
|
|
28
|
+
objectSets: [{
|
|
29
|
+
type: "base",
|
|
30
|
+
objectType: definition.apiName
|
|
31
|
+
}, {
|
|
32
|
+
type: "reference",
|
|
33
|
+
reference: rid
|
|
34
|
+
}]
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=hydrateObjectSetFromRid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydrateObjectSetFromRid.js","names":["additionalContext","createObjectSet","hydrateObjectSetFromRid","client","definition","rid","type","objectSets","objectType","apiName","reference"],"sources":["hydrateObjectSetFromRid.js"],"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 */\nimport { additionalContext } from \"../Client.js\";\nimport { createObjectSet } from \"../objectSet/createObjectSet.js\";\n/**\n * Creates an OSDK object set from a temporary object set RID.\n * @param client An OSDK client.\n * @param definition An OSDK object or interface definition.\n * @param rid The RID of the temporary object set.\n * @returns\n */\nexport function hydrateObjectSetFromRid(client, definition, rid) {\n return createObjectSet(definition, client[additionalContext], {\n type: \"intersect\",\n objectSets: [\n {\n type: \"base\",\n objectType: definition.apiName,\n },\n {\n type: \"reference\",\n reference: rid,\n },\n ],\n });\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,iBAAiB,QAAQ,cAAc;AAChD,SAASC,eAAe,QAAQ,iCAAiC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CAACC,MAAM,EAAEC,UAAU,EAAEC,GAAG,EAAE;EAC7D,OAAOJ,eAAe,CAACG,UAAU,EAAED,MAAM,CAACH,iBAAiB,CAAC,EAAE;IAC1DM,IAAI,EAAE,WAAW;IACjBC,UAAU,EAAE,CACR;MACID,IAAI,EAAE,MAAM;MACZE,UAAU,EAAEJ,UAAU,CAACK;IAC3B,CAAC,EACD;MACIH,IAAI,EAAE,WAAW;MACjBI,SAAS,EAAEL;IACf,CAAC;EAET,CAAC,CAAC;AACN","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyQuery.d.ts","sourceRoot":"","sources":["../../../src/queries/applyQuery.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAGV,mBAAmB,EACnB,2BAA2B,EAE3B,QAAQ,EACR,cAAc,EAEd,eAAe,EAEhB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"applyQuery.d.ts","sourceRoot":"","sources":["../../../src/queries/applyQuery.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAGV,mBAAmB,EACnB,2BAA2B,EAE3B,QAAQ,EACR,cAAc,EAEd,eAAe,EAEhB,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAMhE,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEtE,wBAAsB,UAAU,CAC9B,EAAE,SAAS,eAAe,CAAC,GAAG,CAAC,EAC/B,CAAC,SAAS,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,EAEnE,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,EAAE,EACT,MAAM,CAAC,EAAE,CAAC,GACT,OAAO,CACR,eAAe,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CACnD,CA4BA;AAwPD,wBAAgB,yBAAyB,CACvC,CAAC,SAAS,2BAA2B,EAErC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,EAC7B,SAAS,EAAE,CAAC,GACX,QAAQ,CAAC,CAAC,CAAC,CAOb"}
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import * as OntologiesV2 from "@osdk/internal.foundry.ontologiesv2";
|
|
17
|
-
import { createAttachmentFromRid } from "../createAttachmentFromRid.js";
|
|
18
17
|
import { createObjectSet } from "../objectSet/createObjectSet.js";
|
|
18
|
+
import { hydrateAttachmentFromRidInternal } from "../public-utils/hydrateAttachmentFromRid.js";
|
|
19
19
|
import { addUserAgentAndRequestContextHeaders } from "../util/addUserAgentAndRequestContextHeaders.js";
|
|
20
20
|
import { augmentRequestContext } from "../util/augmentRequestContext.js";
|
|
21
21
|
import { toDataValueQueries } from "../util/toDataValueQueries.js";
|
|
@@ -70,7 +70,7 @@ async function remapQueryResponse(client, responseDataType, responseValue, defin
|
|
|
70
70
|
}
|
|
71
71
|
case "attachment":
|
|
72
72
|
{
|
|
73
|
-
return
|
|
73
|
+
return hydrateAttachmentFromRidInternal(client, responseValue);
|
|
74
74
|
}
|
|
75
75
|
case "object":
|
|
76
76
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyQuery.js","names":["OntologiesV2","createAttachmentFromRid","createObjectSet","addUserAgentAndRequestContextHeaders","augmentRequestContext","toDataValueQueries","applyQuery","client","query","params","qd","ontologyProvider","getQueryDefinition","apiName","response","Queries","execute","finalMethodCall","ontologyRid","parameters","remapQueryParams","objectOutputDefs","getRequiredDefinitions","output","remappedResponse","remapQueryResponse","value","paramTypes","parameterMap","key","Object","entries","responseDataType","responseValue","definitions","nullable","undefined","Error","multiplicity","withoutMultiplicity","i","length","type","set","def","get","object","createQueryObjectResponse","objectSet","objectSets","objectType","reference","subtype","struct","requiresConversion","result","groups","push","subResult","subKey","dataType","Map","objectDef","getObjectDefinition","values","some","primaryKey","$apiName","$title","$objectType","$primaryKey"],"sources":["applyQuery.js"],"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 */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport { createAttachmentFromRid } from \"../createAttachmentFromRid.js\";\nimport { createObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { toDataValueQueries } from \"../util/toDataValueQueries.js\";\nexport async function applyQuery(client, query, params) {\n const qd = await client.ontologyProvider.getQueryDefinition(query.apiName);\n const response = await OntologiesV2.Queries.execute(addUserAgentAndRequestContextHeaders(augmentRequestContext(client, _ => ({ finalMethodCall: \"applyQuery\" })), query), await client.ontologyRid, query.apiName, {\n parameters: params\n ? await remapQueryParams(params, client, qd.parameters)\n : {},\n });\n const objectOutputDefs = await getRequiredDefinitions(qd.output, client);\n const remappedResponse = await remapQueryResponse(client, qd.output, response.value, objectOutputDefs);\n return remappedResponse;\n}\nasync function remapQueryParams(params, client, paramTypes) {\n const parameterMap = {};\n for (const [key, value] of Object.entries(params)) {\n parameterMap[key] = await toDataValueQueries(value, client, paramTypes[key]);\n }\n return parameterMap;\n}\nasync function remapQueryResponse(client, responseDataType, responseValue, definitions) {\n // handle null responses\n if (responseValue == null) {\n if (responseDataType.nullable) {\n return undefined;\n }\n else {\n throw new Error(\"Got null response when nullable was not allowed\");\n }\n }\n if (responseDataType.multiplicity != null\n && responseDataType.multiplicity !== false) {\n const withoutMultiplicity = { ...responseDataType, multiplicity: false };\n for (let i = 0; i < responseValue.length; i++) {\n responseValue[i] = await remapQueryResponse(client, withoutMultiplicity, responseValue[i], definitions);\n }\n return responseValue;\n }\n switch (responseDataType.type) {\n case \"union\": {\n throw new Error(\"Union return types are not yet supported\");\n }\n case \"set\": {\n for (let i = 0; i < responseValue.length; i++) {\n responseValue[i] = await remapQueryResponse(client, responseDataType.set, responseValue[i], definitions);\n }\n return responseValue;\n }\n case \"attachment\": {\n return createAttachmentFromRid(client, responseValue);\n }\n case \"object\": {\n const def = definitions.get(responseDataType.object);\n if (!def) {\n throw new Error(`Missing definition for ${responseDataType.object}`);\n }\n return createQueryObjectResponse(responseValue, def);\n }\n case \"objectSet\": {\n const def = definitions.get(responseDataType.objectSet);\n if (!def) {\n throw new Error(`Missing definition for ${responseDataType.objectSet}`);\n }\n if (typeof responseValue === \"string\") {\n return createObjectSet(def, client, {\n type: \"intersect\",\n objectSets: [\n { type: \"base\", objectType: responseDataType.objectSet },\n { type: \"reference\", reference: responseValue },\n ],\n });\n }\n return createObjectSet(def, client, responseValue);\n }\n case \"struct\": {\n // figure out what keys need to be fixed up\n for (const [key, subtype] of Object.entries(responseDataType.struct)) {\n if (requiresConversion(subtype)) {\n responseValue[key] = await remapQueryResponse(client, subtype, responseValue[key], definitions);\n }\n }\n return responseValue;\n }\n case \"twoDimensionalAggregation\": {\n const result = [];\n for (const { key, value } of responseValue.groups) {\n result.push({ key, value });\n }\n return result;\n }\n case \"threeDimensionalAggregation\": {\n const result = [];\n for (const { key, groups } of responseValue.groups) {\n const subResult = [];\n for (const { key: subKey, value } of groups) {\n subResult.push({ key: subKey, value });\n }\n result.push({ key, groups: subResult });\n }\n return result;\n }\n }\n return responseValue;\n}\nasync function getRequiredDefinitions(dataType, client) {\n const result = new Map();\n switch (dataType.type) {\n case \"objectSet\": {\n const objectDef = await client.ontologyProvider.getObjectDefinition(dataType.objectSet);\n result.set(dataType.objectSet, objectDef);\n break;\n }\n case \"object\": {\n const objectDef = await client.ontologyProvider.getObjectDefinition(dataType.object);\n result.set(dataType.object, objectDef);\n break;\n }\n case \"set\": {\n return getRequiredDefinitions(dataType.set, client);\n }\n case \"struct\": {\n for (const value of Object.values(dataType.struct)) {\n for (const [type, objectDef] of await getRequiredDefinitions(value, client)) {\n result.set(type, objectDef);\n }\n }\n break;\n }\n case \"attachment\":\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"threeDimensionalAggregation\":\n case \"timestamp\":\n case \"twoDimensionalAggregation\":\n case \"union\":\n break;\n }\n return result;\n}\nfunction requiresConversion(dataType) {\n switch (dataType.type) {\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"timestamp\":\n return false;\n case \"union\":\n return true;\n case \"struct\":\n return Object.values(dataType.struct).some(requiresConversion);\n case \"set\":\n return requiresConversion(dataType.set);\n case \"attachment\":\n case \"objectSet\":\n case \"twoDimensionalAggregation\":\n case \"threeDimensionalAggregation\":\n case \"object\":\n return true;\n default:\n return false;\n }\n}\nexport function createQueryObjectResponse(primaryKey, objectDef) {\n return {\n $apiName: objectDef.apiName,\n $title: undefined,\n $objectType: objectDef.apiName,\n $primaryKey: primaryKey,\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKA,YAAY,MAAM,qCAAqC;AACnE,SAASC,uBAAuB,QAAQ,+BAA+B;AACvE,SAASC,eAAe,QAAQ,iCAAiC;AACjE,SAASC,oCAAoC,QAAQ,iDAAiD;AACtG,SAASC,qBAAqB,QAAQ,kCAAkC;AACxE,SAASC,kBAAkB,QAAQ,+BAA+B;AAClE,OAAO,eAAeC,UAAUA,CAACC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAE;EACpD,MAAMC,EAAE,GAAG,MAAMH,MAAM,CAACI,gBAAgB,CAACC,kBAAkB,CAACJ,KAAK,CAACK,OAAO,CAAC;EAC1E,MAAMC,QAAQ,GAAG,MAAMd,YAAY,CAACe,OAAO,CAACC,OAAO,CAACb,oCAAoC,CAACC,qBAAqB,CAACG,MAAM,EAAE,OAAM;IAAEU,eAAe,EAAE;EAAa,CAAC,CAAC,CAAC,EAAET,KAAK,CAAC,EAAE,MAAMD,MAAM,CAACW,WAAW,EAAEV,KAAK,CAACK,OAAO,EAAE;IAC/MM,UAAU,EAAEV,MAAM,GACZ,MAAMW,gBAAgB,CAACX,MAAM,EAAEF,MAAM,EAAEG,EAAE,CAACS,UAAU,CAAC,GACrD,CAAC;EACX,CAAC,CAAC;EACF,MAAME,gBAAgB,GAAG,MAAMC,sBAAsB,CAACZ,EAAE,CAACa,MAAM,EAAEhB,MAAM,CAAC;EACxE,MAAMiB,gBAAgB,GAAG,MAAMC,kBAAkB,CAAClB,MAAM,EAAEG,EAAE,CAACa,MAAM,EAAET,QAAQ,CAACY,KAAK,EAAEL,gBAAgB,CAAC;EACtG,OAAOG,gBAAgB;AAC3B;AACA,eAAeJ,gBAAgBA,CAACX,MAAM,EAAEF,MAAM,EAAEoB,UAAU,EAAE;EACxD,MAAMC,YAAY,GAAG,CAAC,CAAC;EACvB,KAAK,MAAM,CAACC,GAAG,EAAEH,KAAK,CAAC,IAAII,MAAM,CAACC,OAAO,CAACtB,MAAM,CAAC,EAAE;IAC/CmB,YAAY,CAACC,GAAG,CAAC,GAAG,MAAMxB,kBAAkB,CAACqB,KAAK,EAAEnB,MAAM,EAAEoB,UAAU,CAACE,GAAG,CAAC,CAAC;EAChF;EACA,OAAOD,YAAY;AACvB;AACA,eAAeH,kBAAkBA,CAAClB,MAAM,EAAEyB,gBAAgB,EAAEC,aAAa,EAAEC,WAAW,EAAE;EACpF;EACA,IAAID,aAAa,IAAI,IAAI,EAAE;IACvB,IAAID,gBAAgB,CAACG,QAAQ,EAAE;MAC3B,OAAOC,SAAS;IACpB,CAAC,MACI;MACD,MAAM,IAAIC,KAAK,CAAC,iDAAiD,CAAC;IACtE;EACJ;EACA,IAAIL,gBAAgB,CAACM,YAAY,IAAI,IAAI,IAClCN,gBAAgB,CAACM,YAAY,KAAK,KAAK,EAAE;IAC5C,MAAMC,mBAAmB,GAAG;MAAE,GAAGP,gBAAgB;MAAEM,YAAY,EAAE;IAAM,CAAC;IACxE,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGP,aAAa,CAACQ,MAAM,EAAED,CAAC,EAAE,EAAE;MAC3CP,aAAa,CAACO,CAAC,CAAC,GAAG,MAAMf,kBAAkB,CAAClB,MAAM,EAAEgC,mBAAmB,EAAEN,aAAa,CAACO,CAAC,CAAC,EAAEN,WAAW,CAAC;IAC3G;IACA,OAAOD,aAAa;EACxB;EACA,QAAQD,gBAAgB,CAACU,IAAI;IACzB,KAAK,OAAO;MAAE;QACV,MAAM,IAAIL,KAAK,CAAC,0CAA0C,CAAC;MAC/D;IACA,KAAK,KAAK;MAAE;QACR,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGP,aAAa,CAACQ,MAAM,EAAED,CAAC,EAAE,EAAE;UAC3CP,aAAa,CAACO,CAAC,CAAC,GAAG,MAAMf,kBAAkB,CAAClB,MAAM,EAAEyB,gBAAgB,CAACW,GAAG,EAAEV,aAAa,CAACO,CAAC,CAAC,EAAEN,WAAW,CAAC;QAC5G;QACA,OAAOD,aAAa;MACxB;IACA,KAAK,YAAY;MAAE;QACf,OAAOhC,uBAAuB,CAACM,MAAM,EAAE0B,aAAa,CAAC;MACzD;IACA,KAAK,QAAQ;MAAE;QACX,MAAMW,GAAG,GAAGV,WAAW,CAACW,GAAG,CAACb,gBAAgB,CAACc,MAAM,CAAC;QACpD,IAAI,CAACF,GAAG,EAAE;UACN,MAAM,IAAIP,KAAK,CAAC,0BAA0BL,gBAAgB,CAACc,MAAM,EAAE,CAAC;QACxE;QACA,OAAOC,yBAAyB,CAACd,aAAa,EAAEW,GAAG,CAAC;MACxD;IACA,KAAK,WAAW;MAAE;QACd,MAAMA,GAAG,GAAGV,WAAW,CAACW,GAAG,CAACb,gBAAgB,CAACgB,SAAS,CAAC;QACvD,IAAI,CAACJ,GAAG,EAAE;UACN,MAAM,IAAIP,KAAK,CAAC,0BAA0BL,gBAAgB,CAACgB,SAAS,EAAE,CAAC;QAC3E;QACA,IAAI,OAAOf,aAAa,KAAK,QAAQ,EAAE;UACnC,OAAO/B,eAAe,CAAC0C,GAAG,EAAErC,MAAM,EAAE;YAChCmC,IAAI,EAAE,WAAW;YACjBO,UAAU,EAAE,CACR;cAAEP,IAAI,EAAE,MAAM;cAAEQ,UAAU,EAAElB,gBAAgB,CAACgB;YAAU,CAAC,EACxD;cAAEN,IAAI,EAAE,WAAW;cAAES,SAAS,EAAElB;YAAc,CAAC;UAEvD,CAAC,CAAC;QACN;QACA,OAAO/B,eAAe,CAAC0C,GAAG,EAAErC,MAAM,EAAE0B,aAAa,CAAC;MACtD;IACA,KAAK,QAAQ;MAAE;QACX;QACA,KAAK,MAAM,CAACJ,GAAG,EAAEuB,OAAO,CAAC,IAAItB,MAAM,CAACC,OAAO,CAACC,gBAAgB,CAACqB,MAAM,CAAC,EAAE;UAClE,IAAIC,kBAAkB,CAACF,OAAO,CAAC,EAAE;YAC7BnB,aAAa,CAACJ,GAAG,CAAC,GAAG,MAAMJ,kBAAkB,CAAClB,MAAM,EAAE6C,OAAO,EAAEnB,aAAa,CAACJ,GAAG,CAAC,EAAEK,WAAW,CAAC;UACnG;QACJ;QACA,OAAOD,aAAa;MACxB;IACA,KAAK,2BAA2B;MAAE;QAC9B,MAAMsB,MAAM,GAAG,EAAE;QACjB,KAAK,MAAM;UAAE1B,GAAG;UAAEH;QAAM,CAAC,IAAIO,aAAa,CAACuB,MAAM,EAAE;UAC/CD,MAAM,CAACE,IAAI,CAAC;YAAE5B,GAAG;YAAEH;UAAM,CAAC,CAAC;QAC/B;QACA,OAAO6B,MAAM;MACjB;IACA,KAAK,6BAA6B;MAAE;QAChC,MAAMA,MAAM,GAAG,EAAE;QACjB,KAAK,MAAM;UAAE1B,GAAG;UAAE2B;QAAO,CAAC,IAAIvB,aAAa,CAACuB,MAAM,EAAE;UAChD,MAAME,SAAS,GAAG,EAAE;UACpB,KAAK,MAAM;YAAE7B,GAAG,EAAE8B,MAAM;YAAEjC;UAAM,CAAC,IAAI8B,MAAM,EAAE;YACzCE,SAAS,CAACD,IAAI,CAAC;cAAE5B,GAAG,EAAE8B,MAAM;cAAEjC;YAAM,CAAC,CAAC;UAC1C;UACA6B,MAAM,CAACE,IAAI,CAAC;YAAE5B,GAAG;YAAE2B,MAAM,EAAEE;UAAU,CAAC,CAAC;QAC3C;QACA,OAAOH,MAAM;MACjB;EACJ;EACA,OAAOtB,aAAa;AACxB;AACA,eAAeX,sBAAsBA,CAACsC,QAAQ,EAAErD,MAAM,EAAE;EACpD,MAAMgD,MAAM,GAAG,IAAIM,GAAG,CAAC,CAAC;EACxB,QAAQD,QAAQ,CAAClB,IAAI;IACjB,KAAK,WAAW;MAAE;QACd,MAAMoB,SAAS,GAAG,MAAMvD,MAAM,CAACI,gBAAgB,CAACoD,mBAAmB,CAACH,QAAQ,CAACZ,SAAS,CAAC;QACvFO,MAAM,CAACZ,GAAG,CAACiB,QAAQ,CAACZ,SAAS,EAAEc,SAAS,CAAC;QACzC;MACJ;IACA,KAAK,QAAQ;MAAE;QACX,MAAMA,SAAS,GAAG,MAAMvD,MAAM,CAACI,gBAAgB,CAACoD,mBAAmB,CAACH,QAAQ,CAACd,MAAM,CAAC;QACpFS,MAAM,CAACZ,GAAG,CAACiB,QAAQ,CAACd,MAAM,EAAEgB,SAAS,CAAC;QACtC;MACJ;IACA,KAAK,KAAK;MAAE;QACR,OAAOxC,sBAAsB,CAACsC,QAAQ,CAACjB,GAAG,EAAEpC,MAAM,CAAC;MACvD;IACA,KAAK,QAAQ;MAAE;QACX,KAAK,MAAMmB,KAAK,IAAII,MAAM,CAACkC,MAAM,CAACJ,QAAQ,CAACP,MAAM,CAAC,EAAE;UAChD,KAAK,MAAM,CAACX,IAAI,EAAEoB,SAAS,CAAC,IAAI,MAAMxC,sBAAsB,CAACI,KAAK,EAAEnB,MAAM,CAAC,EAAE;YACzEgD,MAAM,CAACZ,GAAG,CAACD,IAAI,EAAEoB,SAAS,CAAC;UAC/B;QACJ;QACA;MACJ;IACA,KAAK,YAAY;IACjB,KAAK,SAAS;IACd,KAAK,MAAM;IACX,KAAK,QAAQ;IACb,KAAK,OAAO;IACZ,KAAK,SAAS;IACd,KAAK,MAAM;IACX,KAAK,QAAQ;IACb,KAAK,6BAA6B;IAClC,KAAK,WAAW;IAChB,KAAK,2BAA2B;IAChC,KAAK,OAAO;MACR;EACR;EACA,OAAOP,MAAM;AACjB;AACA,SAASD,kBAAkBA,CAACM,QAAQ,EAAE;EAClC,QAAQA,QAAQ,CAAClB,IAAI;IACjB,KAAK,SAAS;IACd,KAAK,MAAM;IACX,KAAK,QAAQ;IACb,KAAK,OAAO;IACZ,KAAK,SAAS;IACd,KAAK,MAAM;IACX,KAAK,QAAQ;IACb,KAAK,WAAW;MACZ,OAAO,KAAK;IAChB,KAAK,OAAO;MACR,OAAO,IAAI;IACf,KAAK,QAAQ;MACT,OAAOZ,MAAM,CAACkC,MAAM,CAACJ,QAAQ,CAACP,MAAM,CAAC,CAACY,IAAI,CAACX,kBAAkB,CAAC;IAClE,KAAK,KAAK;MACN,OAAOA,kBAAkB,CAACM,QAAQ,CAACjB,GAAG,CAAC;IAC3C,KAAK,YAAY;IACjB,KAAK,WAAW;IAChB,KAAK,2BAA2B;IAChC,KAAK,6BAA6B;IAClC,KAAK,QAAQ;MACT,OAAO,IAAI;IACf;MACI,OAAO,KAAK;EACpB;AACJ;AACA,OAAO,SAASI,yBAAyBA,CAACmB,UAAU,EAAEJ,SAAS,EAAE;EAC7D,OAAO;IACHK,QAAQ,EAAEL,SAAS,CAACjD,OAAO;IAC3BuD,MAAM,EAAEhC,SAAS;IACjBiC,WAAW,EAAEP,SAAS,CAACjD,OAAO;IAC9ByD,WAAW,EAAEJ;EACjB,CAAC;AACL","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"applyQuery.js","names":["OntologiesV2","createObjectSet","hydrateAttachmentFromRidInternal","addUserAgentAndRequestContextHeaders","augmentRequestContext","toDataValueQueries","applyQuery","client","query","params","qd","ontologyProvider","getQueryDefinition","apiName","response","Queries","execute","finalMethodCall","ontologyRid","parameters","remapQueryParams","objectOutputDefs","getRequiredDefinitions","output","remappedResponse","remapQueryResponse","value","paramTypes","parameterMap","key","Object","entries","responseDataType","responseValue","definitions","nullable","undefined","Error","multiplicity","withoutMultiplicity","i","length","type","set","def","get","object","createQueryObjectResponse","objectSet","objectSets","objectType","reference","subtype","struct","requiresConversion","result","groups","push","subResult","subKey","dataType","Map","objectDef","getObjectDefinition","values","some","primaryKey","$apiName","$title","$objectType","$primaryKey"],"sources":["applyQuery.js"],"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 */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport { createObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { hydrateAttachmentFromRidInternal } from \"../public-utils/hydrateAttachmentFromRid.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { toDataValueQueries } from \"../util/toDataValueQueries.js\";\nexport async function applyQuery(client, query, params) {\n const qd = await client.ontologyProvider.getQueryDefinition(query.apiName);\n const response = await OntologiesV2.Queries.execute(addUserAgentAndRequestContextHeaders(augmentRequestContext(client, _ => ({ finalMethodCall: \"applyQuery\" })), query), await client.ontologyRid, query.apiName, {\n parameters: params\n ? await remapQueryParams(params, client, qd.parameters)\n : {},\n });\n const objectOutputDefs = await getRequiredDefinitions(qd.output, client);\n const remappedResponse = await remapQueryResponse(client, qd.output, response.value, objectOutputDefs);\n return remappedResponse;\n}\nasync function remapQueryParams(params, client, paramTypes) {\n const parameterMap = {};\n for (const [key, value] of Object.entries(params)) {\n parameterMap[key] = await toDataValueQueries(value, client, paramTypes[key]);\n }\n return parameterMap;\n}\nasync function remapQueryResponse(client, responseDataType, responseValue, definitions) {\n // handle null responses\n if (responseValue == null) {\n if (responseDataType.nullable) {\n return undefined;\n }\n else {\n throw new Error(\"Got null response when nullable was not allowed\");\n }\n }\n if (responseDataType.multiplicity != null\n && responseDataType.multiplicity !== false) {\n const withoutMultiplicity = { ...responseDataType, multiplicity: false };\n for (let i = 0; i < responseValue.length; i++) {\n responseValue[i] = await remapQueryResponse(client, withoutMultiplicity, responseValue[i], definitions);\n }\n return responseValue;\n }\n switch (responseDataType.type) {\n case \"union\": {\n throw new Error(\"Union return types are not yet supported\");\n }\n case \"set\": {\n for (let i = 0; i < responseValue.length; i++) {\n responseValue[i] = await remapQueryResponse(client, responseDataType.set, responseValue[i], definitions);\n }\n return responseValue;\n }\n case \"attachment\": {\n return hydrateAttachmentFromRidInternal(client, responseValue);\n }\n case \"object\": {\n const def = definitions.get(responseDataType.object);\n if (!def) {\n throw new Error(`Missing definition for ${responseDataType.object}`);\n }\n return createQueryObjectResponse(responseValue, def);\n }\n case \"objectSet\": {\n const def = definitions.get(responseDataType.objectSet);\n if (!def) {\n throw new Error(`Missing definition for ${responseDataType.objectSet}`);\n }\n if (typeof responseValue === \"string\") {\n return createObjectSet(def, client, {\n type: \"intersect\",\n objectSets: [\n { type: \"base\", objectType: responseDataType.objectSet },\n { type: \"reference\", reference: responseValue },\n ],\n });\n }\n return createObjectSet(def, client, responseValue);\n }\n case \"struct\": {\n // figure out what keys need to be fixed up\n for (const [key, subtype] of Object.entries(responseDataType.struct)) {\n if (requiresConversion(subtype)) {\n responseValue[key] = await remapQueryResponse(client, subtype, responseValue[key], definitions);\n }\n }\n return responseValue;\n }\n case \"twoDimensionalAggregation\": {\n const result = [];\n for (const { key, value } of responseValue.groups) {\n result.push({ key, value });\n }\n return result;\n }\n case \"threeDimensionalAggregation\": {\n const result = [];\n for (const { key, groups } of responseValue.groups) {\n const subResult = [];\n for (const { key: subKey, value } of groups) {\n subResult.push({ key: subKey, value });\n }\n result.push({ key, groups: subResult });\n }\n return result;\n }\n }\n return responseValue;\n}\nasync function getRequiredDefinitions(dataType, client) {\n const result = new Map();\n switch (dataType.type) {\n case \"objectSet\": {\n const objectDef = await client.ontologyProvider.getObjectDefinition(dataType.objectSet);\n result.set(dataType.objectSet, objectDef);\n break;\n }\n case \"object\": {\n const objectDef = await client.ontologyProvider.getObjectDefinition(dataType.object);\n result.set(dataType.object, objectDef);\n break;\n }\n case \"set\": {\n return getRequiredDefinitions(dataType.set, client);\n }\n case \"struct\": {\n for (const value of Object.values(dataType.struct)) {\n for (const [type, objectDef] of await getRequiredDefinitions(value, client)) {\n result.set(type, objectDef);\n }\n }\n break;\n }\n case \"attachment\":\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"threeDimensionalAggregation\":\n case \"timestamp\":\n case \"twoDimensionalAggregation\":\n case \"union\":\n break;\n }\n return result;\n}\nfunction requiresConversion(dataType) {\n switch (dataType.type) {\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"timestamp\":\n return false;\n case \"union\":\n return true;\n case \"struct\":\n return Object.values(dataType.struct).some(requiresConversion);\n case \"set\":\n return requiresConversion(dataType.set);\n case \"attachment\":\n case \"objectSet\":\n case \"twoDimensionalAggregation\":\n case \"threeDimensionalAggregation\":\n case \"object\":\n return true;\n default:\n return false;\n }\n}\nexport function createQueryObjectResponse(primaryKey, objectDef) {\n return {\n $apiName: objectDef.apiName,\n $title: undefined,\n $objectType: objectDef.apiName,\n $primaryKey: primaryKey,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,5 +13,5 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export const USER_AGENT = `osdk-client/${"2.1.0-beta.
|
|
16
|
+
export const USER_AGENT = `osdk-client/${"2.1.0-beta.21"}`;
|
|
17
17
|
//# sourceMappingURL=UserAgent.js.map
|
|
@@ -37,6 +37,12 @@ export async function toDataValue(value, client) {
|
|
|
37
37
|
}
|
|
38
38
|
// For uploads, we need to upload ourselves first to get the RID of the attachment
|
|
39
39
|
if (isAttachmentUpload(value)) {
|
|
40
|
+
const attachment = await OntologiesV2.Attachments.upload(client, value.data, {
|
|
41
|
+
filename: value.name
|
|
42
|
+
});
|
|
43
|
+
return await toDataValue(attachment.rid, client);
|
|
44
|
+
}
|
|
45
|
+
if (typeof value === "object" && value instanceof Blob && "name" in value) {
|
|
40
46
|
const attachment = await OntologiesV2.Attachments.upload(client, value, {
|
|
41
47
|
filename: value.name
|
|
42
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toDataValue.js","names":["OntologiesV2","isAttachmentUpload","getWireObjectSet","isObjectSet","isOntologyObjectV2","isOsdkBaseObject","isWireObjectSet","toDataValue","value","client","Array","isArray","Set","promiseArray","from","innerValue","Promise","all","attachment","Attachments","upload","filename","name","rid","__primaryKey","$primaryKey","Object","entries","reduce","promisedAcc","key","structValue","acc","resolve"],"sources":["toDataValue.js"],"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 */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport { isAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { getWireObjectSet, isObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { isOntologyObjectV2 } from \"./isOntologyObjectV2.js\";\nimport { isOsdkBaseObject } from \"./isOsdkObject.js\";\nimport { isWireObjectSet } from \"./WireObjectSet.js\";\n/**\n * Marshall user-facing data into the wire DataValue type\n *\n * @see DataValue for the expected payloads\n * @internal\n */\nexport async function toDataValue(value, client) {\n if (value == null) {\n // typeof null is 'object' so do this first\n return value;\n }\n // arrays and sets are both sent over the wire as arrays\n if (Array.isArray(value) || value instanceof Set) {\n const promiseArray = Array.from(value, async (innerValue) => await toDataValue(innerValue, client));\n return Promise.all(promiseArray);\n }\n // For uploads, we need to upload ourselves first to get the RID of the attachment\n if (isAttachmentUpload(value)) {\n const attachment = await OntologiesV2.Attachments.upload(client, value, {\n filename: value.name,\n });\n return await toDataValue(attachment.rid, client);\n }\n // objects just send the JSON'd primaryKey\n if (isOntologyObjectV2(value)) {\n return await toDataValue(value.__primaryKey, client);\n }\n if (isOsdkBaseObject(value)) {\n return await toDataValue(value.$primaryKey, client);\n }\n // object set (the rid as a string (passes through the last return), or the ObjectSet definition directly)\n if (isWireObjectSet(value)) {\n return value;\n }\n if (isObjectSet(value)) {\n return getWireObjectSet(value);\n }\n // TODO (during queries implementation)\n // two dimensional aggregation\n // three dimensional aggregation\n // struct\n if (typeof value === \"object\") {\n return Object.entries(value).reduce(async (promisedAcc, [key, structValue]) => {\n const acc = await promisedAcc;\n acc[key] = await toDataValue(structValue, client);\n return acc;\n }, Promise.resolve({}));\n }\n // expected to pass through - boolean, byte, date, decimal, float, double, integer, long, short, string, timestamp\n return value;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKA,YAAY,MAAM,qCAAqC;AACnE,SAASC,kBAAkB,QAAQ,+BAA+B;AAClE,SAASC,gBAAgB,EAAEC,WAAW,QAAQ,iCAAiC;AAC/E,SAASC,kBAAkB,QAAQ,yBAAyB;AAC5D,SAASC,gBAAgB,QAAQ,mBAAmB;AACpD,SAASC,eAAe,QAAQ,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,WAAWA,CAACC,KAAK,EAAEC,MAAM,EAAE;EAC7C,IAAID,KAAK,IAAI,IAAI,EAAE;IACf;IACA,OAAOA,KAAK;EAChB;EACA;EACA,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,IAAIA,KAAK,YAAYI,GAAG,EAAE;IAC9C,MAAMC,YAAY,GAAGH,KAAK,CAACI,IAAI,CAACN,KAAK,EAAE,MAAOO,UAAU,IAAK,MAAMR,WAAW,CAACQ,UAAU,EAAEN,MAAM,CAAC,CAAC;IACnG,OAAOO,OAAO,CAACC,GAAG,CAACJ,YAAY,CAAC;EACpC;EACA;EACA,IAAIZ,kBAAkB,CAACO,KAAK,CAAC,EAAE;IAC3B,MAAMU,UAAU,GAAG,MAAMlB,YAAY,CAACmB,WAAW,CAACC,MAAM,CAACX,MAAM,EAAED,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"toDataValue.js","names":["OntologiesV2","isAttachmentUpload","getWireObjectSet","isObjectSet","isOntologyObjectV2","isOsdkBaseObject","isWireObjectSet","toDataValue","value","client","Array","isArray","Set","promiseArray","from","innerValue","Promise","all","attachment","Attachments","upload","data","filename","name","rid","Blob","__primaryKey","$primaryKey","Object","entries","reduce","promisedAcc","key","structValue","acc","resolve"],"sources":["toDataValue.js"],"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 */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport { isAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { getWireObjectSet, isObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { isOntologyObjectV2 } from \"./isOntologyObjectV2.js\";\nimport { isOsdkBaseObject } from \"./isOsdkObject.js\";\nimport { isWireObjectSet } from \"./WireObjectSet.js\";\n/**\n * Marshall user-facing data into the wire DataValue type\n *\n * @see DataValue for the expected payloads\n * @internal\n */\nexport async function toDataValue(value, client) {\n if (value == null) {\n // typeof null is 'object' so do this first\n return value;\n }\n // arrays and sets are both sent over the wire as arrays\n if (Array.isArray(value) || value instanceof Set) {\n const promiseArray = Array.from(value, async (innerValue) => await toDataValue(innerValue, client));\n return Promise.all(promiseArray);\n }\n // For uploads, we need to upload ourselves first to get the RID of the attachment\n if (isAttachmentUpload(value)) {\n const attachment = await OntologiesV2.Attachments.upload(client, value.data, {\n filename: value.name,\n });\n return await toDataValue(attachment.rid, client);\n }\n if (typeof value === \"object\" && value instanceof Blob && \"name\" in value) {\n const attachment = await OntologiesV2.Attachments.upload(client, value, {\n filename: value.name,\n });\n return await toDataValue(attachment.rid, client);\n }\n // objects just send the JSON'd primaryKey\n if (isOntologyObjectV2(value)) {\n return await toDataValue(value.__primaryKey, client);\n }\n if (isOsdkBaseObject(value)) {\n return await toDataValue(value.$primaryKey, client);\n }\n // object set (the rid as a string (passes through the last return), or the ObjectSet definition directly)\n if (isWireObjectSet(value)) {\n return value;\n }\n if (isObjectSet(value)) {\n return getWireObjectSet(value);\n }\n // TODO (during queries implementation)\n // two dimensional aggregation\n // three dimensional aggregation\n // struct\n if (typeof value === \"object\") {\n return Object.entries(value).reduce(async (promisedAcc, [key, structValue]) => {\n const acc = await promisedAcc;\n acc[key] = await toDataValue(structValue, client);\n return acc;\n }, Promise.resolve({}));\n }\n // expected to pass through - boolean, byte, date, decimal, float, double, integer, long, short, string, timestamp\n return value;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKA,YAAY,MAAM,qCAAqC;AACnE,SAASC,kBAAkB,QAAQ,+BAA+B;AAClE,SAASC,gBAAgB,EAAEC,WAAW,QAAQ,iCAAiC;AAC/E,SAASC,kBAAkB,QAAQ,yBAAyB;AAC5D,SAASC,gBAAgB,QAAQ,mBAAmB;AACpD,SAASC,eAAe,QAAQ,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,WAAWA,CAACC,KAAK,EAAEC,MAAM,EAAE;EAC7C,IAAID,KAAK,IAAI,IAAI,EAAE;IACf;IACA,OAAOA,KAAK;EAChB;EACA;EACA,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,IAAIA,KAAK,YAAYI,GAAG,EAAE;IAC9C,MAAMC,YAAY,GAAGH,KAAK,CAACI,IAAI,CAACN,KAAK,EAAE,MAAOO,UAAU,IAAK,MAAMR,WAAW,CAACQ,UAAU,EAAEN,MAAM,CAAC,CAAC;IACnG,OAAOO,OAAO,CAACC,GAAG,CAACJ,YAAY,CAAC;EACpC;EACA;EACA,IAAIZ,kBAAkB,CAACO,KAAK,CAAC,EAAE;IAC3B,MAAMU,UAAU,GAAG,MAAMlB,YAAY,CAACmB,WAAW,CAACC,MAAM,CAACX,MAAM,EAAED,KAAK,CAACa,IAAI,EAAE;MACzEC,QAAQ,EAAEd,KAAK,CAACe;IACpB,CAAC,CAAC;IACF,OAAO,MAAMhB,WAAW,CAACW,UAAU,CAACM,GAAG,EAAEf,MAAM,CAAC;EACpD;EACA,IAAI,OAAOD,KAAK,KAAK,QAAQ,IAAIA,KAAK,YAAYiB,IAAI,IAAI,MAAM,IAAIjB,KAAK,EAAE;IACvE,MAAMU,UAAU,GAAG,MAAMlB,YAAY,CAACmB,WAAW,CAACC,MAAM,CAACX,MAAM,EAAED,KAAK,EAAE;MACpEc,QAAQ,EAAEd,KAAK,CAACe;IACpB,CAAC,CAAC;IACF,OAAO,MAAMhB,WAAW,CAACW,UAAU,CAACM,GAAG,EAAEf,MAAM,CAAC;EACpD;EACA;EACA,IAAIL,kBAAkB,CAACI,KAAK,CAAC,EAAE;IAC3B,OAAO,MAAMD,WAAW,CAACC,KAAK,CAACkB,YAAY,EAAEjB,MAAM,CAAC;EACxD;EACA,IAAIJ,gBAAgB,CAACG,KAAK,CAAC,EAAE;IACzB,OAAO,MAAMD,WAAW,CAACC,KAAK,CAACmB,WAAW,EAAElB,MAAM,CAAC;EACvD;EACA;EACA,IAAIH,eAAe,CAACE,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK;EAChB;EACA,IAAIL,WAAW,CAACK,KAAK,CAAC,EAAE;IACpB,OAAON,gBAAgB,CAACM,KAAK,CAAC;EAClC;EACA;EACA;EACA;EACA;EACA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC3B,OAAOoB,MAAM,CAACC,OAAO,CAACrB,KAAK,CAAC,CAACsB,MAAM,CAAC,OAAOC,WAAW,EAAE,CAACC,GAAG,EAAEC,WAAW,CAAC,KAAK;MAC3E,MAAMC,GAAG,GAAG,MAAMH,WAAW;MAC7BG,GAAG,CAACF,GAAG,CAAC,GAAG,MAAMzB,WAAW,CAAC0B,WAAW,EAAExB,MAAM,CAAC;MACjD,OAAOyB,GAAG;IACd,CAAC,EAAElB,OAAO,CAACmB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EAC3B;EACA;EACA,OAAO3B,KAAK;AAChB","ignoreList":[]}
|
|
@@ -107,11 +107,19 @@ describe(toDataValue, () => {
|
|
|
107
107
|
const definitionConversion = await toDataValue(definition, clientCtx);
|
|
108
108
|
expect(definitionConversion).toMatchInlineSnapshot(expected);
|
|
109
109
|
});
|
|
110
|
-
it("converts attachment uploads correctly", async () => {
|
|
110
|
+
it("converts blob attachment uploads correctly", async () => {
|
|
111
111
|
const blob = stubData.attachmentUploadRequestBody[stubData.localAttachment1.filename];
|
|
112
112
|
const attachmentUpload = createAttachmentUpload(blob, "file1.txt");
|
|
113
113
|
const converted = await toDataValue(attachmentUpload, clientCtx);
|
|
114
114
|
expect(converted).toEqual("ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75");
|
|
115
115
|
});
|
|
116
|
+
it("converts file attachment uploads correctly", async () => {
|
|
117
|
+
// Mimics the Web file API (https://developer.mozilla.org/en-US/docs/Web/API/File). The File constructor is only available in Node 19.2.0 and above
|
|
118
|
+
const file = Object.assign(stubData.attachmentUploadRequestBody[stubData.localAttachment1.filename], {
|
|
119
|
+
name: "file1.txt"
|
|
120
|
+
});
|
|
121
|
+
const converted = await toDataValue(file, clientCtx);
|
|
122
|
+
expect(converted).toEqual("ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75");
|
|
123
|
+
});
|
|
116
124
|
});
|
|
117
125
|
//# sourceMappingURL=toDataValue.test.js.map
|