@osdk/client 2.1.0-beta.25 → 2.1.0-beta.26
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 +22 -0
- package/build/browser/actions/actions.test.js +11 -2
- package/build/browser/actions/actions.test.js.map +1 -1
- package/build/browser/createClient.js +17 -1
- package/build/browser/createClient.js.map +1 -1
- package/build/browser/index.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js +56 -18
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +193 -7
- package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
- package/build/browser/object/aggregate.js +0 -4
- package/build/browser/object/aggregate.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.test.js +8 -8
- package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/browser/object/mediaUpload.js +20 -0
- package/build/browser/object/mediaUpload.js.map +1 -0
- package/build/browser/objectSet/ObjectSet.test.js +28 -0
- package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/toDataValue.js +4 -0
- package/build/browser/util/toDataValue.js.map +1 -1
- package/build/browser/util/toDataValue.test.js +4 -0
- package/build/browser/util/toDataValue.test.js.map +1 -1
- package/build/cjs/{chunk-RWHJNRHF.cjs → chunk-AMEMEGJZ.cjs} +69 -33
- package/build/cjs/chunk-AMEMEGJZ.cjs.map +1 -0
- package/build/cjs/{chunk-Q4BVHDNO.cjs → chunk-HDBAHEBE.cjs} +19 -15
- package/build/cjs/chunk-HDBAHEBE.cjs.map +1 -0
- package/build/cjs/index.cjs +66 -43
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +1 -1
- package/build/cjs/public/internal.cjs +6 -6
- package/build/cjs/public/unstable-do-not-use.cjs +2 -2
- package/build/esm/actions/actions.test.js +11 -2
- package/build/esm/actions/actions.test.js.map +1 -1
- package/build/esm/createClient.js +17 -1
- package/build/esm/createClient.js.map +1 -1
- package/build/esm/index.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js +56 -18
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +193 -7
- package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
- package/build/esm/object/aggregate.js +0 -4
- package/build/esm/object/aggregate.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.test.js +8 -8
- package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/esm/object/mediaUpload.js +20 -0
- package/build/esm/object/mediaUpload.js.map +1 -0
- package/build/esm/objectSet/ObjectSet.test.js +28 -0
- package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/toDataValue.js +4 -0
- package/build/esm/util/toDataValue.js.map +1 -1
- package/build/esm/util/toDataValue.test.js +4 -0
- package/build/esm/util/toDataValue.test.js.map +1 -1
- package/build/types/index.d.ts +1 -1
- package/build/types/object/mediaUpload.d.ts +2 -0
- package/package.json +11 -11
- package/build/cjs/chunk-Q4BVHDNO.cjs.map +0 -1
- package/build/cjs/chunk-RWHJNRHF.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertWireToOsdkObjects.test.js","names":["$ontologyRid","Employee","FooInterface","objectTypeWithAllPropertyTypes","createSharedClientContext","apiServer","afterAll","beforeAll","describe","expect","expectTypeOf","it","additionalContext","createClient","createMinimalClient","convertWireToOsdkObjects","convertWireToOsdkObjects2","client","interfaceToObjectTypeMappings","fooSpt","listen","close","data","employee","fetchPage","Object","keys","sort","toEqual","$as","$link","employee2","where","$and","employeeId","$gt","$lt","JSON","stringify","toMatchInlineSnapshot","employees","length","toBeGreaterThanOrEqual","a","b","getPrototypeOf","toBe","withValues","id","attachment","attachmentArray","toMatchTypeOf","rid","Array","isArray","toBeTruthy","withoutValues","emptyAttachment","emptyAttachmentArray","toBeUndefined","mediaReference","toBeDefined","emptyMedia","somePropertyThatShouldNotExist","toThrow","objAsFoo","clientCtx","ontologyRid","object","__apiName","apiName","__primaryKey","prototypeBefore","object2","undefined","prototypeAfter","not","__title","obj","fullName","__rid","$rid","rejects","toThrowErrorMatchingInlineSnapshot","resolves","to","result","instance","osdk"],"sources":["convertWireToOsdkObjects.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Attachment, Media, Osdk, PropertyKeys } from \"@osdk/api\";\nimport {\n $ontologyRid,\n Employee,\n FooInterface,\n objectTypeWithAllPropertyTypes,\n} from \"@osdk/client.test.ontology\";\nimport type { OntologyObjectV2 } from \"@osdk/internal.foundry.core\";\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport {\n afterAll,\n beforeAll,\n describe,\n expect,\n expectTypeOf,\n it,\n} from \"vitest\";\nimport { additionalContext, type Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./convertWireToOsdkObjects.js\";\n\ndescribe(\"convertWireToOsdkObjects\", () => {\n let client: Client;\n const interfaceToObjectTypeMappings = {\n FooInterface: { Employee: { fooSpt: \"fullName\" } },\n };\n\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\n \"https://stack.palantir.com\",\n $ontologyRid,\n async () => \"myAccessToken\",\n );\n });\n\n afterAll(() => {\n apiServer.close();\n });\n\n it(\"configures properties correctly\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n\n expect(Object.keys(employee).sort()).toEqual([\n \"employeeId\",\n \"$title\",\n \"fullName\",\n \"office\",\n \"class\",\n \"startDate\",\n \"employeeSensor\",\n \"employeeStatus\",\n \"$apiName\",\n \"$objectType\",\n \"$primaryKey\",\n \"employeeLocation\",\n ].sort());\n\n expect(Object.keys(employee.$as)).toEqual([]);\n expect(Object.keys(employee.$link)).toEqual([\n \"peeps\",\n \"lead\",\n \"officeLink\",\n ]);\n });\n\n it(\"stringifies properties on objects and interfaces correctly\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const { data: [employee2] } = await client(Employee).where({\n $and: [{ employeeId: { $gt: 50030 } }, { employeeId: { $lt: 50032 } }],\n }).fetchPage();\n\n // Should not have $title\n expect(JSON.stringify(employee)).toMatchInlineSnapshot(\n `\"{\"employeeId\":50030,\"fullName\":\"John Doe\",\"office\":\"NYC\",\"class\":\"Red\",\"startDate\":\"2019-01-01\",\"employeeStatus\":{},\"employeeSensor\":{},\"employeeLocation\":{},\"$apiName\":\"Employee\",\"$objectType\":\"Employee\",\"$primaryKey\":50030}\"`,\n );\n\n expect(JSON.stringify(employee.$as(FooInterface))).toMatchInlineSnapshot(\n `\"{\"$apiName\":\"FooInterface\",\"$objectType\":\"Employee\",\"$primaryKey\":50030,\"fooSpt\":\"John Doe\"}\"`,\n );\n\n // Should have $title\n expect(JSON.stringify(employee2)).toMatchInlineSnapshot(\n `\"{\"employeeId\":50031,\"fullName\":\"Jane Doe\",\"office\":\"SEA\",\"class\":\"Blue\",\"startDate\":\"2012-02-12\",\"employeeStatus\":{},\"employeeSensor\":{},\"employeeLocation\":{},\"$apiName\":\"Employee\",\"$objectType\":\"Employee\",\"$primaryKey\":50031,\"$title\":\"Jane Doe\"}\"`,\n );\n\n expect(JSON.stringify(employee2.$as(FooInterface))).toMatchInlineSnapshot(\n `\"{\"$apiName\":\"FooInterface\",\"$objectType\":\"Employee\",\"$primaryKey\":50031,\"$title\":\"Jane Doe\",\"fooSpt\":\"Jane Doe\"}\"`,\n );\n });\n\n it(\"reuses the object prototype across objects\", async () => {\n const employees = await client(Employee).fetchPage();\n expect(employees.data.length).toBeGreaterThanOrEqual(2);\n const [a, b] = employees.data;\n\n expect(Object.getPrototypeOf(Object.getPrototypeOf(a))).toBe(\n Object.getPrototypeOf(Object.getPrototypeOf(b)),\n );\n });\n\n it(\"converts attachments as expected\", async () => {\n const withValues = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: 1 })\n .fetchPage();\n expect(withValues.data.length).toBeGreaterThanOrEqual(1);\n\n const { attachment, attachmentArray } = withValues.data[0];\n\n expectTypeOf(attachment).toMatchTypeOf<\n Attachment | undefined\n >;\n expect(attachment?.rid).toEqual(\n \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n );\n expect(Array.isArray(attachmentArray)).toBeTruthy();\n expectTypeOf(attachmentArray![0]).toMatchTypeOf<Attachment>;\n\n const withoutValues = await client(\n objectTypeWithAllPropertyTypes,\n ).where({ id: 2 }).fetchPage();\n\n const {\n attachment: emptyAttachment,\n attachmentArray: emptyAttachmentArray,\n } = withoutValues.data[0];\n expect(emptyAttachment).toBeUndefined();\n expect(emptyAttachmentArray).toBeUndefined();\n });\n\n it(\"converts media as expected\", async () => {\n const withValues = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: 1 })\n .fetchPage();\n expect(withValues.data.length).toBeGreaterThanOrEqual(1);\n\n const { mediaReference } = withValues.data[0];\n\n expectTypeOf(mediaReference).toMatchTypeOf<\n Media | undefined\n >;\n expect(mediaReference).toBeDefined();\n\n const withoutValues = await client(\n objectTypeWithAllPropertyTypes,\n ).where({ id: 2 }).fetchPage();\n\n const {\n mediaReference: emptyMedia,\n } = withoutValues.data[0];\n expect(emptyMedia).toBeUndefined();\n });\n\n it(\"creates immutable objects\", async () => {\n const employees = await client(Employee).fetchPage();\n expect(employees.data.length).toBeGreaterThanOrEqual(2);\n const [a, b] = employees.data;\n\n expect(a).toBeDefined();\n expect(() => {\n (a as any).somePropertyThatShouldNotExist = 5;\n }).toThrow();\n\n const objAsFoo = a.$as(FooInterface);\n expect(objAsFoo).toBeDefined();\n expect(() => {\n (objAsFoo as any).somePropertyThatShouldNotExist = 5;\n }).toThrow();\n });\n\n it(\"works even with unknown apiNames - old\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n createSharedClientContext(\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n \"userAgent\",\n );\n\n let object = {\n __apiName: Employee.apiName,\n __primaryKey: 0,\n } as const;\n const prototypeBefore = Object.getPrototypeOf(object);\n let object2 = await convertWireToOsdkObjects(\n clientCtx,\n [object],\n undefined,\n undefined,\n undefined,\n false,\n );\n const prototypeAfter = Object.getPrototypeOf(object2);\n\n expect(prototypeBefore).not.toBe(prototypeAfter);\n });\n\n it(\"works even with unknown apiNames - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n createSharedClientContext(\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n \"userAgent\",\n );\n\n let object = {\n __apiName: Employee.apiName,\n __primaryKey: 0,\n } as const;\n const prototypeBefore = Object.getPrototypeOf(object);\n let object2 = await convertWireToOsdkObjects2(\n clientCtx,\n [object],\n undefined,\n undefined,\n undefined,\n false,\n );\n const prototypeAfter = Object.getPrototypeOf(object2);\n\n expect(prototypeBefore).not.toBe(prototypeAfter);\n });\n\n it(\"reconstitutes interfaces properly without rid - old\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n let objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n fooSpt: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n )) as unknown as Osdk<FooInterface>[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n });\n\n it(\"reconstitutes interfaces properly without rid - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n let objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n fullName: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects2(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n false,\n undefined,\n false,\n interfaceToObjectTypeMappings,\n )) as unknown as Osdk<FooInterface>[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fullName\": \"Steve\",\n }\n `);\n });\n\n it(\"reconstitutes interfaces properly with rid\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n let objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n __rid: \"hiMom\",\n fooSpt: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n )) as unknown as Osdk<FooInterface, \"$rid\" | \"$all\">[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n expect(objAsFoo.$rid).toEqual(\"hiMom\");\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n expect(obj.$rid).toEqual(\"hiMom\");\n });\n\n it(\"reconstitutes interfaces properly with rid - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n let objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n __rid: \"hiMom\",\n fullName: \"Steve\",\n employeeId: 0,\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects2(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n false,\n undefined,\n false,\n interfaceToObjectTypeMappings,\n )) as unknown as Osdk<FooInterface, \"$rid\" | \"$all\">[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n expect(objAsFoo.$rid).toEqual(\"hiMom\");\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n expect(obj.$rid).toEqual(\"hiMom\");\n });\n\n describe(\"selection keys\", () => {\n it(\"throws when required is missing\", async () => {\n let object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"employeeId\"],\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when optional is missing\", async () => {\n let object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"fullName\"],\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"employeeId\"],\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"fullName\"],\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"selection keys - new\", () => {\n it(\"throws when required is missing\", async () => {\n let object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"employeeId\"],\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when optional is missing\", async () => {\n let object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"fullName\"],\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"employeeId\"],\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"fullName\"],\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"without selection keys\", () => {\n it(\"throws when required is missing\", async () => {\n let object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when required is present\", async () => {\n let object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"without selection keys - new\", () => {\n it(\"throws when required is missing\", async () => {\n let object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when required is present\", async () => {\n let object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n it(\"behaves correctly when converting\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n fooSpt: \"hi\",\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n \"FooInterface\",\n undefined,\n [\"fooSpt\"],\n \"drop\",\n interfaceToObjectTypeMappings,\n );\n\n expect(result.length).toBe(1);\n });\n});\n\ndescribe(\"Osdk.Instance\", () => {\n it(\"is assignable to Osdk<>\", () => {\n const instance: Osdk.Instance<Employee> = {} as any;\n const osdk: Osdk<Employee> = instance;\n });\n\n it(\"is assignable from Osdk<>\", () => {\n const osdk: Osdk<Employee> = {} as any;\n const instance: Osdk.Instance<Employee> = osdk;\n });\n\n it(\"is assignable to Osdk<> with $notStrict\", () => {\n const instance: Osdk.Instance<Employee> = {} as any;\n const osdk: Osdk<Employee, \"$notStrict\"> = instance;\n const osdk2: Osdk<Employee, \"$notStrict\" | \"$all\"> = instance;\n });\n\n it(\"is assignable from Osdk<> with $notStrict\", () => {\n const osdk: Osdk<Employee, \"$notStrict\"> = {} as any;\n const osdk2: Osdk<Employee, \"$notStrict\" | \"$all\"> = osdk;\n const instance: Osdk.Instance<Employee> = osdk;\n const instance2: Osdk.Instance<Employee> = osdk2;\n });\n\n it(\"object with any for props is assignable to its normal self\", () => {\n const foo: readonly Osdk.Instance<Employee, never, any>[] = {} as any;\n\n const bar: readonly Osdk.Instance<\n Employee,\n never,\n PropertyKeys<Employee>\n >[] = foo;\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"convertWireToOsdkObjects.test.js","names":["$ontologyRid","Employee","FooInterface","objectTypeWithAllPropertyTypes","createSharedClientContext","apiServer","afterAll","beforeAll","describe","expect","expectTypeOf","it","additionalContext","createClient","createMinimalClient","convertWireToOsdkObjects","convertWireToOsdkObjects2","client","interfaceToObjectTypeMappings","fooSpt","listen","close","data","employee","fetchPage","Object","keys","sort","toEqual","$as","$link","employee2","where","$and","employeeId","$gt","$lt","JSON","stringify","toMatchInlineSnapshot","employees","length","toBeGreaterThanOrEqual","a","b","getPrototypeOf","toBe","withValues","id","attachment","attachmentArray","toMatchTypeOf","rid","Array","isArray","toBeTruthy","withoutValues","emptyAttachment","emptyAttachmentArray","toBeUndefined","mediaReference","toBeDefined","emptyMedia","somePropertyThatShouldNotExist","toThrow","objAsFoo","clientCtx","ontologyRid","object","__apiName","apiName","__primaryKey","prototypeBefore","object2","undefined","prototypeAfter","not","__title","obj","fullName","__rid","$rid","rejects","toThrowErrorMatchingInlineSnapshot","resolves","to","result","instance","osdk"],"sources":["convertWireToOsdkObjects.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Attachment, Media, Osdk, PropertyKeys } from \"@osdk/api\";\nimport {\n $ontologyRid,\n Employee,\n FooInterface,\n objectTypeWithAllPropertyTypes,\n} from \"@osdk/client.test.ontology\";\nimport type { OntologyObjectV2 } from \"@osdk/internal.foundry.core\";\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport {\n afterAll,\n beforeAll,\n describe,\n expect,\n expectTypeOf,\n it,\n} from \"vitest\";\nimport { additionalContext, type Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./convertWireToOsdkObjects.js\";\n\ndescribe(\"convertWireToOsdkObjects\", () => {\n let client: Client;\n const interfaceToObjectTypeMappings = {\n FooInterface: { Employee: { fooSpt: \"fullName\" } },\n };\n\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\n \"https://stack.palantir.com\",\n $ontologyRid,\n async () => \"myAccessToken\",\n );\n });\n\n afterAll(() => {\n apiServer.close();\n });\n\n it(\"configures properties correctly\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n\n expect(Object.keys(employee).sort()).toEqual([\n \"employeeId\",\n \"$title\",\n \"fullName\",\n \"office\",\n \"class\",\n \"startDate\",\n \"employeeSensor\",\n \"employeeStatus\",\n \"$apiName\",\n \"$objectType\",\n \"$primaryKey\",\n \"employeeLocation\",\n ].sort());\n\n expect(Object.keys(employee.$as)).toEqual([]);\n expect(Object.keys(employee.$link)).toEqual([\n \"peeps\",\n \"lead\",\n \"officeLink\",\n ]);\n });\n\n it(\"stringifies properties on objects and interfaces correctly\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const { data: [employee2] } = await client(Employee).where({\n $and: [{ employeeId: { $gt: 50030 } }, { employeeId: { $lt: 50032 } }],\n }).fetchPage();\n\n // Should not have $title\n expect(JSON.stringify(employee)).toMatchInlineSnapshot(\n `\"{\"employeeId\":50030,\"fullName\":\"John Doe\",\"office\":\"NYC\",\"class\":\"Red\",\"startDate\":\"2019-01-01\",\"employeeStatus\":{},\"employeeSensor\":{},\"employeeLocation\":{},\"$apiName\":\"Employee\",\"$objectType\":\"Employee\",\"$primaryKey\":50030}\"`,\n );\n\n expect(JSON.stringify(employee.$as(FooInterface))).toMatchInlineSnapshot(\n `\"{\"$apiName\":\"FooInterface\",\"$objectType\":\"Employee\",\"$primaryKey\":50030,\"fooSpt\":\"John Doe\"}\"`,\n );\n\n // Should have $title\n expect(JSON.stringify(employee2)).toMatchInlineSnapshot(\n `\"{\"employeeId\":50031,\"fullName\":\"Jane Doe\",\"office\":\"SEA\",\"class\":\"Blue\",\"startDate\":\"2012-02-12\",\"employeeStatus\":{},\"employeeSensor\":{},\"employeeLocation\":{},\"$apiName\":\"Employee\",\"$objectType\":\"Employee\",\"$primaryKey\":50031,\"$title\":\"Jane Doe\"}\"`,\n );\n\n expect(JSON.stringify(employee2.$as(FooInterface))).toMatchInlineSnapshot(\n `\"{\"$apiName\":\"FooInterface\",\"$objectType\":\"Employee\",\"$primaryKey\":50031,\"$title\":\"Jane Doe\",\"fooSpt\":\"Jane Doe\"}\"`,\n );\n });\n\n it(\"reuses the object prototype across objects\", async () => {\n const employees = await client(Employee).fetchPage();\n expect(employees.data.length).toBeGreaterThanOrEqual(2);\n const [a, b] = employees.data;\n\n expect(Object.getPrototypeOf(Object.getPrototypeOf(a))).toBe(\n Object.getPrototypeOf(Object.getPrototypeOf(b)),\n );\n });\n\n it(\"converts attachments as expected\", async () => {\n const withValues = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: 1 })\n .fetchPage();\n expect(withValues.data.length).toBeGreaterThanOrEqual(1);\n\n const { attachment, attachmentArray } = withValues.data[0];\n\n expectTypeOf(attachment).toMatchTypeOf<\n Attachment | undefined\n >;\n expect(attachment?.rid).toEqual(\n \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n );\n expect(Array.isArray(attachmentArray)).toBeTruthy();\n expectTypeOf(attachmentArray![0]).toMatchTypeOf<Attachment>;\n\n const withoutValues = await client(\n objectTypeWithAllPropertyTypes,\n ).where({ id: 2 }).fetchPage();\n\n const {\n attachment: emptyAttachment,\n attachmentArray: emptyAttachmentArray,\n } = withoutValues.data[0];\n expect(emptyAttachment).toBeUndefined();\n expect(emptyAttachmentArray).toBeUndefined();\n });\n\n it(\"converts media as expected\", async () => {\n const withValues = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: 1 })\n .fetchPage();\n expect(withValues.data.length).toBeGreaterThanOrEqual(1);\n\n const { mediaReference } = withValues.data[0];\n\n expectTypeOf(mediaReference).toMatchTypeOf<\n Media | undefined\n >;\n expect(mediaReference).toBeDefined();\n\n const withoutValues = await client(\n objectTypeWithAllPropertyTypes,\n ).where({ id: 2 }).fetchPage();\n\n const {\n mediaReference: emptyMedia,\n } = withoutValues.data[0];\n expect(emptyMedia).toBeUndefined();\n });\n\n it(\"creates immutable objects\", async () => {\n const employees = await client(Employee).fetchPage();\n expect(employees.data.length).toBeGreaterThanOrEqual(2);\n const [a, b] = employees.data;\n\n expect(a).toBeDefined();\n expect(() => {\n (a as any).somePropertyThatShouldNotExist = 5;\n }).toThrow();\n\n const objAsFoo = a.$as(FooInterface);\n expect(objAsFoo).toBeDefined();\n expect(() => {\n (objAsFoo as any).somePropertyThatShouldNotExist = 5;\n }).toThrow();\n });\n\n it(\"works even with unknown apiNames - old\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n createSharedClientContext(\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n \"userAgent\",\n );\n\n const object = {\n __apiName: Employee.apiName,\n __primaryKey: 0,\n } as const;\n const prototypeBefore = Object.getPrototypeOf(object);\n const object2 = await convertWireToOsdkObjects(\n clientCtx,\n [object],\n undefined,\n undefined,\n undefined,\n false,\n );\n const prototypeAfter = Object.getPrototypeOf(object2);\n\n expect(prototypeBefore).not.toBe(prototypeAfter);\n });\n\n it(\"works even with unknown apiNames - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n createSharedClientContext(\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n \"userAgent\",\n );\n\n const object = {\n __apiName: Employee.apiName,\n __primaryKey: 0,\n } as const;\n const prototypeBefore = Object.getPrototypeOf(object);\n const object2 = await convertWireToOsdkObjects2(\n clientCtx,\n [object],\n undefined,\n undefined,\n undefined,\n false,\n );\n const prototypeAfter = Object.getPrototypeOf(object2);\n\n expect(prototypeBefore).not.toBe(prototypeAfter);\n });\n\n it(\"reconstitutes interfaces properly without rid - old\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n fooSpt: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n )) as unknown as Osdk<FooInterface>[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n });\n\n it(\"reconstitutes interfaces properly without rid - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n fullName: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects2(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n false,\n undefined,\n false,\n interfaceToObjectTypeMappings,\n )) as unknown as Osdk<FooInterface>[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fullName\": \"Steve\",\n }\n `);\n });\n\n it(\"reconstitutes interfaces properly with rid\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n __rid: \"hiMom\",\n fooSpt: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n )) as unknown as Osdk<FooInterface, \"$rid\" | \"$all\">[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n expect(objAsFoo.$rid).toEqual(\"hiMom\");\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n expect(obj.$rid).toEqual(\"hiMom\");\n });\n\n it(\"reconstitutes interfaces properly with rid - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n __rid: \"hiMom\",\n fullName: \"Steve\",\n employeeId: 0,\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects2(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n false,\n undefined,\n false,\n interfaceToObjectTypeMappings,\n )) as unknown as Osdk<FooInterface, \"$rid\" | \"$all\">[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n expect(objAsFoo.$rid).toEqual(\"hiMom\");\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n expect(obj.$rid).toEqual(\"hiMom\");\n });\n\n describe(\"selection keys\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"employeeId\"],\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when optional is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"fullName\"],\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"employeeId\"],\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"fullName\"],\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"selection keys - new\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"employeeId\"],\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when optional is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"fullName\"],\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"employeeId\"],\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"fullName\"],\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"without selection keys\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when required is present\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"without selection keys - new\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when required is present\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n it(\"behaves correctly when converting\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n fooSpt: \"hi\",\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n \"FooInterface\",\n undefined,\n [\"fooSpt\"],\n \"drop\",\n interfaceToObjectTypeMappings,\n );\n\n expect(result.length).toBe(1);\n });\n});\n\ndescribe(\"Osdk.Instance\", () => {\n it(\"is assignable to Osdk<>\", () => {\n const instance: Osdk.Instance<Employee> = {} as any;\n const osdk: Osdk<Employee> = instance;\n });\n\n it(\"is assignable from Osdk<>\", () => {\n const osdk: Osdk<Employee> = {} as any;\n const instance: Osdk.Instance<Employee> = osdk;\n });\n\n it(\"is assignable to Osdk<> with $notStrict\", () => {\n const instance: Osdk.Instance<Employee> = {} as any;\n const osdk: Osdk<Employee, \"$notStrict\"> = instance;\n const osdk2: Osdk<Employee, \"$notStrict\" | \"$all\"> = instance;\n });\n\n it(\"is assignable from Osdk<> with $notStrict\", () => {\n const osdk: Osdk<Employee, \"$notStrict\"> = {} as any;\n const osdk2: Osdk<Employee, \"$notStrict\" | \"$all\"> = osdk;\n const instance: Osdk.Instance<Employee> = osdk;\n const instance2: Osdk.Instance<Employee> = osdk2;\n });\n\n it(\"object with any for props is assignable to its normal self\", () => {\n const foo: readonly Osdk.Instance<Employee, never, any>[] = {} as any;\n\n const bar: readonly Osdk.Instance<\n Employee,\n never,\n PropertyKeys<Employee>\n >[] = foo;\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
export function isMediaReference(o) {
|
|
18
|
+
return typeof o === `object` && typeof o.mimeType === "string" && "reference" in o && typeof o.reference === "object" && o.reference.type === "mediaSetViewItem" && "mediaSetViewItem" in o.reference && typeof o.reference.mediaSetViewItem === "object" && typeof o.reference.mediaSetViewItem.mediaSetRid === "string" && typeof o.reference.mediaSetViewItem.mediaSetViewRid === "string" && typeof o.reference.mediaSetViewItem.mediaItemRid === "string";
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=mediaUpload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mediaUpload.js","names":["isMediaReference","o","mimeType","reference","type","mediaSetViewItem","mediaSetRid","mediaSetViewRid","mediaItemRid"],"sources":["mediaUpload.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 { MediaReference } from \"@osdk/api\";\n\nexport function isMediaReference(o: any): o is MediaReference {\n return typeof o === `object`\n && typeof o.mimeType === \"string\"\n && \"reference\" in o\n && typeof o.reference === \"object\"\n && o.reference.type === \"mediaSetViewItem\"\n && \"mediaSetViewItem\" in o.reference\n && typeof o.reference.mediaSetViewItem === \"object\"\n && typeof o.reference.mediaSetViewItem.mediaSetRid === \"string\"\n && typeof o.reference.mediaSetViewItem.mediaSetViewRid === \"string\"\n && typeof o.reference.mediaSetViewItem.mediaItemRid === \"string\";\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,OAAO,SAASA,gBAAgBA,CAACC,CAAM,EAAuB;EAC5D,OAAO,OAAOA,CAAC,KAAK,QAAQ,IACvB,OAAOA,CAAC,CAACC,QAAQ,KAAK,QAAQ,IAC9B,WAAW,IAAID,CAAC,IAChB,OAAOA,CAAC,CAACE,SAAS,KAAK,QAAQ,IAC/BF,CAAC,CAACE,SAAS,CAACC,IAAI,KAAK,kBAAkB,IACvC,kBAAkB,IAAIH,CAAC,CAACE,SAAS,IACjC,OAAOF,CAAC,CAACE,SAAS,CAACE,gBAAgB,KAAK,QAAQ,IAChD,OAAOJ,CAAC,CAACE,SAAS,CAACE,gBAAgB,CAACC,WAAW,KAAK,QAAQ,IAC5D,OAAOL,CAAC,CAACE,SAAS,CAACE,gBAAgB,CAACE,eAAe,KAAK,QAAQ,IAChE,OAAON,CAAC,CAACE,SAAS,CAACE,gBAAgB,CAACG,YAAY,KAAK,QAAQ;AACpE","ignoreList":[]}
|
|
@@ -314,6 +314,34 @@ describe("ObjectSet", () => {
|
|
|
314
314
|
nonExistentProp: ""
|
|
315
315
|
});
|
|
316
316
|
});
|
|
317
|
+
it("type checking struct where clauses", () => {
|
|
318
|
+
expectTypeOf(client(BgaoNflPlayer).where).toBeCallableWith({
|
|
319
|
+
$and: [{
|
|
320
|
+
address: {
|
|
321
|
+
city: {
|
|
322
|
+
$eq: "NYC"
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}, {
|
|
326
|
+
address: {
|
|
327
|
+
zipCode: {
|
|
328
|
+
$gte: 55555
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}]
|
|
332
|
+
});
|
|
333
|
+
expectTypeOf(client(BgaoNflPlayer).where).toBeCallableWith({
|
|
334
|
+
address: {
|
|
335
|
+
addressLine1: {
|
|
336
|
+
$containsAllTerms: "BLVD"
|
|
337
|
+
},
|
|
338
|
+
// @ts-expect-error
|
|
339
|
+
addressLine2: {
|
|
340
|
+
$containsAllTermsInOrder: "Apartment Number"
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
});
|
|
317
345
|
describe.each(["fetchPage", "fetchPageWithErrors"])("%s", k => {
|
|
318
346
|
// describe("strictNonNull: \"drop\"", () => {
|
|
319
347
|
// describe("includeRid: true", () => {
|
|
@@ -1 +1 @@
|
|
|
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.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n CompileTimeMetadata,\n ConvertProps,\n InterfaceDefinition,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\nimport { isOk } from \"@osdk/api\";\nimport { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid } from \"@osdk/api/unstable\";\nimport {\n $ontologyRid,\n BarInterface,\n BgaoNflPlayer,\n Employee,\n FooInterface,\n Office,\n} from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport {\n afterAll,\n beforeAll,\n describe,\n expect,\n expectTypeOf,\n it,\n} from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ntype ApiNameAsString<\n T extends ObjectOrInterfaceDefinition,\n> = CompileTimeMetadata<T>[\"apiName\"];\n\ntype JustProps<\n T extends ObjectOrInterfaceDefinition,\n P extends ValidOsdkPropParams<T>,\n> = P extends \"$all\" ? PropertyKeys<T>\n : Exclude<P, SpecialOsdkPropParams>;\n\ntype SpecialOsdkPropParams =\n | \"$all\"\n | \"$rid\"\n | \"$strict\"\n | \"$notStrict\";\n\ntype ValidOsdkPropParams<Q extends ObjectOrInterfaceDefinition> =\n | SpecialOsdkPropParams\n | PropertyKeys<Q>;\n\ntype PropMapToInterface<\n FROM extends ObjectTypeDefinition,\n TO extends InterfaceDefinition,\n> = NonNullable<\n CompileTimeMetadata<FROM>[\"inverseInterfaceMap\"]\n>[ApiNameAsString<TO>];\n\nexport type PropMapToObject<\n FROM extends ObjectOrInterfaceDefinition,\n TO extends ObjectTypeDefinition,\n> = NonNullable<CompileTimeMetadata<TO>[\"interfaceMap\"]>[ApiNameAsString<FROM>];\n\ndescribe(\"ObjectSet\", () => {\n let client: Client;\n\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\n \"https://stack.palantir.com\",\n $ontologyRid,\n async () => \"myAccessToken\",\n );\n });\n\n afterAll(() => {\n apiServer.close();\n });\n\n it(\"does not allow intersect/union/subtract with different object types\", () => {\n const employeeObjectSet = client(Employee);\n const officeObjectSet = client(Office);\n\n // @ts-expect-error\n employeeObjectSet.union(officeObjectSet);\n\n // @ts-expect-error\n employeeObjectSet.subtract(officeObjectSet);\n\n // @ts-expect-error\n employeeObjectSet.intersect(officeObjectSet);\n });\n\n it(\"can be cast bidirectionally\", () => {\n function takesOldStyleObjectSet(os: ObjectSet<Employee>) {\n return os;\n }\n\n function takesNewStyleObjectSet(os: Employee.ObjectSet) {\n return os;\n }\n\n function maybe() {\n const newStyleObjectSet: Employee.ObjectSet = client(Employee);\n const oldStyleObjectSet: ObjectSet<Employee> = newStyleObjectSet;\n\n takesOldStyleObjectSet(newStyleObjectSet);\n takesNewStyleObjectSet(newStyleObjectSet);\n\n takesOldStyleObjectSet(oldStyleObjectSet);\n takesNewStyleObjectSet(oldStyleObjectSet);\n }\n\n if (false) {\n // here for a simple type check\n maybe();\n }\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\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\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\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\n it(\"allows fetching by PK from a base object set - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(\n stubData.employee1.employeeId,\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, PropertyKeys<Employee>>\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching by rid with experimental function\", async () => {\n const employee = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n ).fetchOneByRid(\n Employee,\n \"ri.employee.i.look.for\",\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, PropertyKeys<Employee>>\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching by rid with experimental function, with select\", async () => {\n const employee = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n ).fetchOneByRid(\n Employee,\n \"ri.employee.i.look.for\",\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, \"fullName\">\n >;\n expect(employee.$primaryKey).toBe(stubData.employee2.employeeId);\n });\n it(\"check struct parsing\", async () => {\n const player = await client(BgaoNflPlayer).fetchOne(\n \"tkelce\",\n );\n expectTypeOf<typeof player>().toMatchTypeOf<\n Osdk<BgaoNflPlayer, PropertyKeys<BgaoNflPlayer>>\n >;\n expectTypeOf<typeof player.address>().toMatchTypeOf<\n {\n addressLine1: string | undefined;\n addressLine2: string | undefined;\n city: string | undefined;\n state: string | undefined;\n zipCode: number | undefined;\n } | undefined\n >;\n\n const address1 = player.address!.addressLine1;\n expectTypeOf<typeof address1>().toMatchTypeOf<\n string | undefined\n >;\n expect(address1).toEqual(\"15 Muppets Lane\");\n\n const address2 = player.address?.addressLine2;\n expectTypeOf<typeof address2>().toMatchTypeOf<\n string | undefined\n >;\n expect(address2).toEqual(\"Resort No 4\");\n\n const city = player.address?.city;\n expectTypeOf<typeof city>().toMatchTypeOf<\n string | undefined\n >;\n expect(city).toEqual(\"Memphis\");\n\n const state = player.address?.state;\n expectTypeOf<typeof state>().toMatchTypeOf<\n string | undefined\n >;\n expect(state).toEqual(\"TN\");\n\n const zipCode = player.address?.zipCode;\n expectTypeOf<typeof zipCode>().toMatchTypeOf<\n number | undefined\n >;\n expect(zipCode).toEqual(11100);\n\n expect(player.$primaryKey).toEqual(stubData.travisPlayer.__primaryKey);\n expect(player.address).toEqual(stubData.travisPlayer.address);\n });\n\n it(\"allows fetching by PK from a base object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(\n stubData.employee1.employeeId,\n );\n expectTypeOf<typeof employeeResult>().toMatchTypeOf<\n Result<Osdk<Employee, PropertyKeys<Employee>>>\n >;\n\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\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(\n stubData.employee1.employeeId,\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employee>().branded.toEqualTypeOf<\n Osdk<Employee, \"fullName\">\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\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(\n stubData.employee1.employeeId,\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employeeResult>().branded.toEqualTypeOf<\n Result<Osdk<Employee, \"fullName\">>\n >;\n\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\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\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\n expectTypeOf<typeof employeeResult>().branded.toEqualTypeOf<\n Result<Osdk<Employee>>\n >;\n\n expect(\"error\" in employeeResult);\n });\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\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\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\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\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\n it(\"allows $in filter with ReadonlyArrays\", () => {\n const ids: ReadonlyArray<number> = [50030, 50031];\n const objectSet = client(Employee).where({\n employeeId: { $in: ids },\n });\n expect(objectSet).toBeDefined();\n });\n\n it(\"does not allow arbitrary keys when no properties\", () => {\n const ids: ReadonlyArray<number> = [50030, 50031];\n client(Employee).where({\n // @ts-expect-error\n employeeIdNonExistent: { $in: ids },\n });\n\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n\n it(\"type checking containsallterm and containsanyterm\", () => {\n const ids: ReadonlyArray<number> = [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\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\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n\n describe.each([\"fetchPage\", \"fetchPageWithErrors\"] as const)(\"%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\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\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\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\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 } as const;\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value!;\n\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\" | \"$rid\">\n >();\n });\n });\n\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\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\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\">\n >();\n });\n });\n });\n });\n\n describe.each([\"fetchOne\", \"fetchOneWithErrors\"] as const)(\"%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 } as const;\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value!;\n\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\" | \"$rid\">\n >();\n });\n });\n\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: false,\n } as const;\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value!;\n\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\">\n >();\n });\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\n const empNotStrict = result.data[0];\n const empNotStrict2: Osdk<Employee, \"$all\" | \"$notStrict\"> =\n empNotStrict;\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\">\n >();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Employee.OsdkObject<never, Employee.PropertyKeys>\n >();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Employee.OsdkObject<never>\n >();\n\n expectTypeOf(empNotStrict.employeeId).toEqualTypeOf<\n number\n >();\n\n expectTypeOf(empNotStrict2.employeeId).toEqualTypeOf<\n number\n >();\n\n expectTypeOf<ApiNameAsString<FooInterface>>()\n .toEqualTypeOf<\"FooInterface\">();\n\n expectTypeOf<\n NonNullable<CompileTimeMetadata<Employee>[\"interfaceMap\"]>\n >()\n .toEqualTypeOf<{\n FooInterface: {\n fooSpt: \"fullName\";\n };\n }>();\n\n expectTypeOf<PropMapToInterface<Employee, FooInterface>>()\n .toEqualTypeOf<{ fullName: \"fooSpt\" }>();\n\n expectTypeOf<PropMapToObject<FooInterface, Employee>>()\n .toEqualTypeOf<{ fooSpt: \"fullName\" }>();\n\n expectTypeOf<ConvertProps<Employee, FooInterface, \"fullName\">>()\n .toEqualTypeOf<\"fooSpt\">();\n\n expectTypeOf<JustProps<Employee, \"$all\">>()\n .toEqualTypeOf<\n | \"class\"\n | \"fullName\"\n | \"office\"\n | \"employeeId\"\n | \"employeeStatus\"\n | \"startDate\"\n | \"employeeLocation\"\n | \"employeeSensor\"\n >();\n\n expectTypeOf<\n ConvertProps<Employee, FooInterface, \"fullName\" | \"office\">\n >()\n .toEqualTypeOf<\"fooSpt\">();\n\n expectTypeOf<ConvertProps<FooInterface, Employee, \"fooSpt\">>()\n .toEqualTypeOf<\"fullName\">();\n\n // We don't have a proper definition that has\n // a non-null property on an interface so\n // we cheese it here to be sure the types work\n type CheesedProp<\n T extends InterfaceDefinition,\n K extends PropertyKeys<T>,\n > = T & { properties: { [KK in K]: { nullable: false } } };\n\n type CheesedFoo = CheesedProp<FooInterface, \"fooSpt\">;\n const CheesedFoo: CheesedFoo = FooInterface as CheesedFoo;\n\n type T = ConvertProps<Employee, CheesedFoo, \"fullName\">;\n\n const cheesedFooNotStrict = result.data[0].$as(CheesedFoo);\n expectTypeOf(cheesedFooNotStrict).branded.toEqualTypeOf<\n Osdk<CheesedFoo, \"$all\" | \"$notStrict\">\n >();\n\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","toBeCallableWith","$and","$eq","$gte","$containsAllTermsInOrder","each","k","opts","$__EXPERIMENTAL_strictNonNull","$includeRid","toHaveLength","not","toBeUndefined","empNotStrict","cheesedFooNotStrict","$as","fooSpt"],"sources":["ObjectSet.test.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n CompileTimeMetadata,\n ConvertProps,\n InterfaceDefinition,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\nimport { isOk } from \"@osdk/api\";\nimport { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid } from \"@osdk/api/unstable\";\nimport {\n $ontologyRid,\n BarInterface,\n BgaoNflPlayer,\n Employee,\n FooInterface,\n Office,\n} from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport {\n afterAll,\n beforeAll,\n describe,\n expect,\n expectTypeOf,\n it,\n} from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ntype ApiNameAsString<\n T extends ObjectOrInterfaceDefinition,\n> = CompileTimeMetadata<T>[\"apiName\"];\n\ntype JustProps<\n T extends ObjectOrInterfaceDefinition,\n P extends ValidOsdkPropParams<T>,\n> = P extends \"$all\" ? PropertyKeys<T>\n : Exclude<P, SpecialOsdkPropParams>;\n\ntype SpecialOsdkPropParams =\n | \"$all\"\n | \"$rid\"\n | \"$strict\"\n | \"$notStrict\";\n\ntype ValidOsdkPropParams<Q extends ObjectOrInterfaceDefinition> =\n | SpecialOsdkPropParams\n | PropertyKeys<Q>;\n\ntype PropMapToInterface<\n FROM extends ObjectTypeDefinition,\n TO extends InterfaceDefinition,\n> = NonNullable<\n CompileTimeMetadata<FROM>[\"inverseInterfaceMap\"]\n>[ApiNameAsString<TO>];\n\nexport type PropMapToObject<\n FROM extends ObjectOrInterfaceDefinition,\n TO extends ObjectTypeDefinition,\n> = NonNullable<CompileTimeMetadata<TO>[\"interfaceMap\"]>[ApiNameAsString<FROM>];\n\ndescribe(\"ObjectSet\", () => {\n let client: Client;\n\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\n \"https://stack.palantir.com\",\n $ontologyRid,\n async () => \"myAccessToken\",\n );\n });\n\n afterAll(() => {\n apiServer.close();\n });\n\n it(\"does not allow intersect/union/subtract with different object types\", () => {\n const employeeObjectSet = client(Employee);\n const officeObjectSet = client(Office);\n\n // @ts-expect-error\n employeeObjectSet.union(officeObjectSet);\n\n // @ts-expect-error\n employeeObjectSet.subtract(officeObjectSet);\n\n // @ts-expect-error\n employeeObjectSet.intersect(officeObjectSet);\n });\n\n it(\"can be cast bidirectionally\", () => {\n function takesOldStyleObjectSet(os: ObjectSet<Employee>) {\n return os;\n }\n\n function takesNewStyleObjectSet(os: Employee.ObjectSet) {\n return os;\n }\n\n function maybe() {\n const newStyleObjectSet: Employee.ObjectSet = client(Employee);\n const oldStyleObjectSet: ObjectSet<Employee> = newStyleObjectSet;\n\n takesOldStyleObjectSet(newStyleObjectSet);\n takesNewStyleObjectSet(newStyleObjectSet);\n\n takesOldStyleObjectSet(oldStyleObjectSet);\n takesNewStyleObjectSet(oldStyleObjectSet);\n }\n\n if (false) {\n // here for a simple type check\n maybe();\n }\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\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\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\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\n it(\"allows fetching by PK from a base object set - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(\n stubData.employee1.employeeId,\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, PropertyKeys<Employee>>\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching by rid with experimental function\", async () => {\n const employee = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n ).fetchOneByRid(\n Employee,\n \"ri.employee.i.look.for\",\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, PropertyKeys<Employee>>\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching by rid with experimental function, with select\", async () => {\n const employee = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n ).fetchOneByRid(\n Employee,\n \"ri.employee.i.look.for\",\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, \"fullName\">\n >;\n expect(employee.$primaryKey).toBe(stubData.employee2.employeeId);\n });\n it(\"check struct parsing\", async () => {\n const player = await client(BgaoNflPlayer).fetchOne(\n \"tkelce\",\n );\n expectTypeOf<typeof player>().toMatchTypeOf<\n Osdk<BgaoNflPlayer, PropertyKeys<BgaoNflPlayer>>\n >;\n expectTypeOf<typeof player.address>().toMatchTypeOf<\n {\n addressLine1: string | undefined;\n addressLine2: string | undefined;\n city: string | undefined;\n state: string | undefined;\n zipCode: number | undefined;\n } | undefined\n >;\n\n const address1 = player.address!.addressLine1;\n expectTypeOf<typeof address1>().toMatchTypeOf<\n string | undefined\n >;\n expect(address1).toEqual(\"15 Muppets Lane\");\n\n const address2 = player.address?.addressLine2;\n expectTypeOf<typeof address2>().toMatchTypeOf<\n string | undefined\n >;\n expect(address2).toEqual(\"Resort No 4\");\n\n const city = player.address?.city;\n expectTypeOf<typeof city>().toMatchTypeOf<\n string | undefined\n >;\n expect(city).toEqual(\"Memphis\");\n\n const state = player.address?.state;\n expectTypeOf<typeof state>().toMatchTypeOf<\n string | undefined\n >;\n expect(state).toEqual(\"TN\");\n\n const zipCode = player.address?.zipCode;\n expectTypeOf<typeof zipCode>().toMatchTypeOf<\n number | undefined\n >;\n expect(zipCode).toEqual(11100);\n\n expect(player.$primaryKey).toEqual(stubData.travisPlayer.__primaryKey);\n expect(player.address).toEqual(stubData.travisPlayer.address);\n });\n\n it(\"allows fetching by PK from a base object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(\n stubData.employee1.employeeId,\n );\n expectTypeOf<typeof employeeResult>().toMatchTypeOf<\n Result<Osdk<Employee, PropertyKeys<Employee>>>\n >;\n\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\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(\n stubData.employee1.employeeId,\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employee>().branded.toEqualTypeOf<\n Osdk<Employee, \"fullName\">\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\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(\n stubData.employee1.employeeId,\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employeeResult>().branded.toEqualTypeOf<\n Result<Osdk<Employee, \"fullName\">>\n >;\n\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\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\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\n expectTypeOf<typeof employeeResult>().branded.toEqualTypeOf<\n Result<Osdk<Employee>>\n >;\n\n expect(\"error\" in employeeResult);\n });\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\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\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\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\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\n it(\"allows $in filter with ReadonlyArrays\", () => {\n const ids: ReadonlyArray<number> = [50030, 50031];\n const objectSet = client(Employee).where({\n employeeId: { $in: ids },\n });\n expect(objectSet).toBeDefined();\n });\n\n it(\"does not allow arbitrary keys when no properties\", () => {\n const ids: ReadonlyArray<number> = [50030, 50031];\n client(Employee).where({\n // @ts-expect-error\n employeeIdNonExistent: { $in: ids },\n });\n\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n\n it(\"type checking containsallterm and containsanyterm\", () => {\n const ids: ReadonlyArray<number> = [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\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\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n\n it(\"type checking struct where clauses\", () => {\n expectTypeOf(client(BgaoNflPlayer).where).toBeCallableWith({\n $and: [{ address: { city: { $eq: \"NYC\" } } }, {\n address: { zipCode: { $gte: 55555 } },\n }],\n });\n expectTypeOf(client(BgaoNflPlayer).where).toBeCallableWith({\n address: {\n addressLine1: { $containsAllTerms: \"BLVD\" },\n // @ts-expect-error\n addressLine2: { $containsAllTermsInOrder: \"Apartment Number\" },\n },\n });\n });\n\n describe.each([\"fetchPage\", \"fetchPageWithErrors\"] as const)(\"%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\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\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\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\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 } as const;\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value!;\n\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\" | \"$rid\">\n >();\n });\n });\n\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\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\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\">\n >();\n });\n });\n });\n });\n\n describe.each([\"fetchOne\", \"fetchOneWithErrors\"] as const)(\"%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 } as const;\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value!;\n\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\" | \"$rid\">\n >();\n });\n });\n\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: false,\n } as const;\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value!;\n\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\">\n >();\n });\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\n const empNotStrict = result.data[0];\n const empNotStrict2: Osdk<Employee, \"$all\" | \"$notStrict\"> =\n empNotStrict;\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\">\n >();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Employee.OsdkObject<never, Employee.PropertyKeys>\n >();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Employee.OsdkObject<never>\n >();\n\n expectTypeOf(empNotStrict.employeeId).toEqualTypeOf<\n number\n >();\n\n expectTypeOf(empNotStrict2.employeeId).toEqualTypeOf<\n number\n >();\n\n expectTypeOf<ApiNameAsString<FooInterface>>()\n .toEqualTypeOf<\"FooInterface\">();\n\n expectTypeOf<\n NonNullable<CompileTimeMetadata<Employee>[\"interfaceMap\"]>\n >()\n .toEqualTypeOf<{\n FooInterface: {\n fooSpt: \"fullName\";\n };\n }>();\n\n expectTypeOf<PropMapToInterface<Employee, FooInterface>>()\n .toEqualTypeOf<{ fullName: \"fooSpt\" }>();\n\n expectTypeOf<PropMapToObject<FooInterface, Employee>>()\n .toEqualTypeOf<{ fooSpt: \"fullName\" }>();\n\n expectTypeOf<ConvertProps<Employee, FooInterface, \"fullName\">>()\n .toEqualTypeOf<\"fooSpt\">();\n\n expectTypeOf<JustProps<Employee, \"$all\">>()\n .toEqualTypeOf<\n | \"class\"\n | \"fullName\"\n | \"office\"\n | \"employeeId\"\n | \"employeeStatus\"\n | \"startDate\"\n | \"employeeLocation\"\n | \"employeeSensor\"\n >();\n\n expectTypeOf<\n ConvertProps<Employee, FooInterface, \"fullName\" | \"office\">\n >()\n .toEqualTypeOf<\"fooSpt\">();\n\n expectTypeOf<ConvertProps<FooInterface, Employee, \"fooSpt\">>()\n .toEqualTypeOf<\"fullName\">();\n\n // We don't have a proper definition that has\n // a non-null property on an interface so\n // we cheese it here to be sure the types work\n type CheesedProp<\n T extends InterfaceDefinition,\n K extends PropertyKeys<T>,\n > = T & { properties: { [KK in K]: { nullable: false } } };\n\n type CheesedFoo = CheesedProp<FooInterface, \"fooSpt\">;\n const CheesedFoo: CheesedFoo = FooInterface as CheesedFoo;\n\n type T = ConvertProps<Employee, CheesedFoo, \"fullName\">;\n\n const cheesedFooNotStrict = result.data[0].$as(CheesedFoo);\n expectTypeOf(cheesedFooNotStrict).branded.toEqualTypeOf<\n Osdk<CheesedFoo, \"$all\" | \"$notStrict\">\n >();\n\n cheesedFooNotStrict.fooSpt;\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import * as OntologiesV2 from "@osdk/internal.foundry.ontologiesv2";
|
|
18
18
|
import { isAttachmentUpload } from "../object/AttachmentUpload.js";
|
|
19
|
+
import { isMediaReference } from "../object/mediaUpload.js";
|
|
19
20
|
import { getWireObjectSet, isObjectSet } from "../objectSet/createObjectSet.js";
|
|
20
21
|
import { isInterfaceActionParam } from "./interfaceUtils.js";
|
|
21
22
|
import { isOntologyObjectV2 } from "./isOntologyObjectV2.js";
|
|
@@ -69,6 +70,9 @@ export async function toDataValue(value, client) {
|
|
|
69
70
|
if (isObjectSet(value)) {
|
|
70
71
|
return getWireObjectSet(value);
|
|
71
72
|
}
|
|
73
|
+
if (isMediaReference(value)) {
|
|
74
|
+
return value;
|
|
75
|
+
}
|
|
72
76
|
if (isInterfaceActionParam(value)) {
|
|
73
77
|
return {
|
|
74
78
|
objectTypeApiName: value.$objectType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toDataValue.js","names":["OntologiesV2","isAttachmentUpload","getWireObjectSet","isObjectSet","isInterfaceActionParam","isOntologyObjectV2","isOsdkBaseObject","isWireObjectSet","toDataValue","value","client","Array","isArray","Set","promiseArray","from","innerValue","Promise","all","attachment","Attachments","upload","data","filename","name","rid","Blob","__primaryKey","$primaryKey","objectTypeApiName","$objectType","primaryKeyValue","Object","entries","reduce","promisedAcc","key","structValue","acc","resolve"],"sources":["toDataValue.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { type DataValue } from \"@osdk/internal.foundry.core\";\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { isAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { getWireObjectSet, isObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { isInterfaceActionParam } from \"./interfaceUtils.js\";\nimport { isOntologyObjectV2 } from \"./isOntologyObjectV2.js\";\nimport { isOsdkBaseObject } from \"./isOsdkObject.js\";\nimport { isWireObjectSet } from \"./WireObjectSet.js\";\n\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(\n value: unknown,\n client: MinimalClient,\n): Promise<DataValue> {\n if (value == null) {\n // typeof null is 'object' so do this first\n return value;\n }\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(\n value,\n async (innerValue) => await toDataValue(innerValue, client),\n );\n return Promise.all(promiseArray);\n }\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(\n client,\n value.data,\n {\n filename: value.name,\n },\n );\n return await toDataValue(attachment.rid, client);\n }\n\n if (typeof value === \"object\" && value instanceof Blob && \"name\" in value) {\n const attachment = await OntologiesV2.Attachments.upload(\n client,\n value,\n {\n filename: value.name as string,\n },\n );\n return await toDataValue(attachment.rid, client);\n }\n\n // objects just send the JSON'd primaryKey\n if (isOntologyObjectV2(value)) {\n return await toDataValue(value.__primaryKey, client);\n }\n\n if (isOsdkBaseObject(value)) {\n return await toDataValue(value.$primaryKey, client);\n }\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\n if (isInterfaceActionParam(value)) {\n return {\n objectTypeApiName: value.$objectType,\n primaryKeyValue: value.$primaryKey,\n };\n }\n\n // TODO (during queries implementation)\n // two dimensional aggregation\n // three dimensional aggregation\n\n // struct\n if (typeof value === \"object\") {\n return Object.entries(value).reduce(\n async (promisedAcc, [key, structValue]) => {\n const acc = await promisedAcc;\n acc[key] = await toDataValue(structValue, client);\n return acc;\n },\n Promise.resolve({} as { [key: string]: DataValue }),\n );\n }\n\n // expected to pass through - boolean, byte, date, decimal, float, double, integer, long, short, string, timestamp, object type reference\n return value;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAO,KAAKA,YAAY,MAAM,qCAAqC;AAEnE,SAASC,kBAAkB,QAAQ,+BAA+B;AAClE,SAASC,gBAAgB,EAAEC,WAAW,QAAQ,iCAAiC;AAC/E,SAASC,sBAAsB,QAAQ,qBAAqB;AAC5D,SAASC,kBAAkB,QAAQ,yBAAyB;AAC5D,SAASC,gBAAgB,QAAQ,mBAAmB;AACpD,SAASC,eAAe,QAAQ,oBAAoB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,WAAWA,CAC/BC,KAAc,EACdC,MAAqB,EACD;EACpB,IAAID,KAAK,IAAI,IAAI,EAAE;IACjB;IACA,OAAOA,KAAK;EACd;;EAEA;EACA,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,IAAIA,KAAK,YAAYI,GAAG,EAAE;IAChD,MAAMC,YAAY,GAAGH,KAAK,CAACI,IAAI,CAC7BN,KAAK,EACL,MAAOO,UAAU,IAAK,MAAMR,WAAW,CAACQ,UAAU,EAAEN,MAAM,CAC5D,CAAC;IACD,OAAOO,OAAO,CAACC,GAAG,CAACJ,YAAY,CAAC;EAClC;;EAEA;EACA,
|
|
1
|
+
{"version":3,"file":"toDataValue.js","names":["OntologiesV2","isAttachmentUpload","isMediaReference","getWireObjectSet","isObjectSet","isInterfaceActionParam","isOntologyObjectV2","isOsdkBaseObject","isWireObjectSet","toDataValue","value","client","Array","isArray","Set","promiseArray","from","innerValue","Promise","all","attachment","Attachments","upload","data","filename","name","rid","Blob","__primaryKey","$primaryKey","objectTypeApiName","$objectType","primaryKeyValue","Object","entries","reduce","promisedAcc","key","structValue","acc","resolve"],"sources":["toDataValue.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { type DataValue } from \"@osdk/internal.foundry.core\";\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { isAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { isMediaReference } from \"../object/mediaUpload.js\";\nimport { getWireObjectSet, isObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { isInterfaceActionParam } from \"./interfaceUtils.js\";\nimport { isOntologyObjectV2 } from \"./isOntologyObjectV2.js\";\nimport { isOsdkBaseObject } from \"./isOsdkObject.js\";\nimport { isWireObjectSet } from \"./WireObjectSet.js\";\n\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(\n value: unknown,\n client: MinimalClient,\n): Promise<DataValue> {\n if (value == null) {\n // typeof null is 'object' so do this first\n return value;\n }\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(\n value,\n async (innerValue) => await toDataValue(innerValue, client),\n );\n return Promise.all(promiseArray);\n }\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(\n client,\n value.data,\n {\n filename: value.name,\n },\n );\n return await toDataValue(attachment.rid, client);\n }\n\n if (typeof value === \"object\" && value instanceof Blob && \"name\" in value) {\n const attachment = await OntologiesV2.Attachments.upload(\n client,\n value,\n {\n filename: value.name as string,\n },\n );\n return await toDataValue(attachment.rid, client);\n }\n\n // objects just send the JSON'd primaryKey\n if (isOntologyObjectV2(value)) {\n return await toDataValue(value.__primaryKey, client);\n }\n\n if (isOsdkBaseObject(value)) {\n return await toDataValue(value.$primaryKey, client);\n }\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\n if (isMediaReference(value)) {\n return value;\n }\n\n if (isInterfaceActionParam(value)) {\n return {\n objectTypeApiName: value.$objectType,\n primaryKeyValue: value.$primaryKey,\n };\n }\n\n // TODO (during queries implementation)\n // two dimensional aggregation\n // three dimensional aggregation\n\n // struct\n if (typeof value === \"object\") {\n return Object.entries(value).reduce(\n async (promisedAcc, [key, structValue]) => {\n const acc = await promisedAcc;\n acc[key] = await toDataValue(structValue, client);\n return acc;\n },\n Promise.resolve({} as { [key: string]: DataValue }),\n );\n }\n\n // expected to pass through - boolean, byte, date, decimal, float, double, integer, long, short, string, timestamp, object type reference\n return value;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -122,5 +122,9 @@ describe(toDataValue, () => {
|
|
|
122
122
|
const converted = await toDataValue(file, clientCtx);
|
|
123
123
|
expect(converted).toEqual("ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75");
|
|
124
124
|
});
|
|
125
|
+
it("converts media reference correctly", async () => {
|
|
126
|
+
const converted = await toDataValue(stubData.mediaReference, clientCtx);
|
|
127
|
+
expect(converted).toEqual(stubData.mediaReference);
|
|
128
|
+
});
|
|
125
129
|
});
|
|
126
130
|
//# sourceMappingURL=toDataValue.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toDataValue.test.js","names":["$ontologyRid","Employee","Task","apiServer","MockOntology","stubData","afterAll","beforeAll","describe","expect","it","vi","createClient","createMinimalClient","createAttachmentUpload","getWireObjectSet","toDataValue","client","clientCtx","fn","listen","metadata","close","basic","null","undefined","boolean","date","integer","string","timestamp","convertedBasic","toEqual","attachment","attachmentArray","attachmentSet","Set","recursiveConversion","inner","employee","employee1","ontologyConversion","__primaryKey","task","fetchOne","$primaryKey","clientObjectSet","where","id","definition","expected","objectSetConversion","toMatchInlineSnapshot","definitionConversion","blob","attachmentUploadRequestBody","localAttachment1","filename","attachmentUpload","converted","file","Object","assign","name"],"sources":["toDataValue.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { $ontologyRid, Employee, Task } from \"@osdk/client.test.ontology\";\nimport { apiServer, MockOntology, stubData } from \"@osdk/shared.test\";\nimport type { MockedFunction } from \"vitest\";\nimport { afterAll, beforeAll, describe, expect, it, vi } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { createAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { getWireObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { toDataValue } from \"./toDataValue.js\";\n\ndescribe(toDataValue, () => {\n let client: Client;\n let clientCtx: MinimalClient;\n\n const mockFetch: MockedFunction<typeof globalThis.fetch> = vi.fn();\n\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\n \"https://stack.palantir.com\",\n $ontologyRid,\n async () => \"myAccessToken\",\n );\n\n clientCtx = createMinimalClient(\n MockOntology.metadata,\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n {},\n );\n });\n\n afterAll(() => {\n apiServer.close();\n });\n\n it(\"converts passthrough values correctly\", async () => {\n // basic pass through types\n const basic = {\n null: undefined,\n boolean: false,\n date: \"2024-01-01\",\n integer: 0,\n string: \"string\",\n timestamp: \"2024-01-01T00:00:00Z\",\n };\n const convertedBasic = await toDataValue(basic, clientCtx);\n expect(convertedBasic).toEqual(basic);\n });\n\n it(\"recursively converts arrays and sets into array types\", async () => {\n const attachment = \"rid\";\n const attachmentArray = [attachment];\n const attachmentSet = new Set(attachmentArray);\n\n const recursiveConversion = await toDataValue({\n attachment,\n attachmentArray,\n attachmentSet,\n }, clientCtx);\n\n expect(recursiveConversion).toEqual({\n attachment: \"rid\",\n attachmentArray: [\"rid\"],\n attachmentSet: [\"rid\"],\n });\n });\n\n it(\"recursively handles structs\", async () => {\n const struct = {\n inner: {\n attachment: \"rid\",\n },\n };\n\n const recursiveConversion = await toDataValue(struct, clientCtx);\n\n expect(recursiveConversion).toEqual({\n inner: { attachment: \"rid\" },\n });\n });\n\n it(\"maps an ontology object into just its primary key\", async () => {\n const employee = stubData.employee1;\n const ontologyConversion = await toDataValue(employee, clientCtx);\n expect(ontologyConversion).toEqual(\n stubData.employee1.__primaryKey,\n );\n });\n\n it(\"maps an ontology object into just its primary key with osdk wrapper\", async () => {\n const task = await client(Employee).fetchOne(50030);\n const ontologyConversion = await toDataValue(task, clientCtx);\n expect(ontologyConversion).toEqual(\n task.$primaryKey,\n );\n });\n\n it(\"passes through object set definitions\", async () => {\n const clientObjectSet = client(Task).where({ id: 0 });\n const definition = getWireObjectSet(clientObjectSet);\n\n const expected = `\n {\n \"objectSet\": {\n \"objectType\": \"Task\",\n \"type\": \"base\",\n },\n \"type\": \"filter\",\n \"where\": {\n \"field\": \"id\",\n \"type\": \"eq\",\n \"value\": 0,\n },\n }\n `;\n const objectSetConversion = await toDataValue(clientObjectSet, clientCtx);\n expect(objectSetConversion).toMatchInlineSnapshot(\n expected,\n );\n\n const definitionConversion = await toDataValue(definition, clientCtx);\n expect(definitionConversion).toMatchInlineSnapshot(expected);\n });\n\n it(\"converts blob attachment uploads correctly\", async () => {\n const blob =\n stubData.attachmentUploadRequestBody[stubData.localAttachment1.filename];\n const attachmentUpload = createAttachmentUpload(blob, \"file1.txt\");\n const converted = await toDataValue(attachmentUpload, clientCtx);\n\n expect(converted).toEqual(\n \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n );\n });\n\n it(\"converts file attachment uploads correctly\", async () => {\n // 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\n const file = Object.assign(\n stubData.attachmentUploadRequestBody[stubData.localAttachment1.filename],\n { name: \"file1.txt\" },\n );\n\n const converted = await toDataValue(file, clientCtx);\n\n expect(converted).toEqual(\n \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n );\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"toDataValue.test.js","names":["$ontologyRid","Employee","Task","apiServer","MockOntology","stubData","afterAll","beforeAll","describe","expect","it","vi","createClient","createMinimalClient","createAttachmentUpload","getWireObjectSet","toDataValue","client","clientCtx","fn","listen","metadata","close","basic","null","undefined","boolean","date","integer","string","timestamp","convertedBasic","toEqual","attachment","attachmentArray","attachmentSet","Set","recursiveConversion","inner","employee","employee1","ontologyConversion","__primaryKey","task","fetchOne","$primaryKey","clientObjectSet","where","id","definition","expected","objectSetConversion","toMatchInlineSnapshot","definitionConversion","blob","attachmentUploadRequestBody","localAttachment1","filename","attachmentUpload","converted","file","Object","assign","name","mediaReference"],"sources":["toDataValue.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { $ontologyRid, Employee, Task } from \"@osdk/client.test.ontology\";\nimport { apiServer, MockOntology, stubData } from \"@osdk/shared.test\";\nimport type { MockedFunction } from \"vitest\";\nimport { afterAll, beforeAll, describe, expect, it, vi } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { createAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { getWireObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { toDataValue } from \"./toDataValue.js\";\n\ndescribe(toDataValue, () => {\n let client: Client;\n let clientCtx: MinimalClient;\n\n const mockFetch: MockedFunction<typeof globalThis.fetch> = vi.fn();\n\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\n \"https://stack.palantir.com\",\n $ontologyRid,\n async () => \"myAccessToken\",\n );\n\n clientCtx = createMinimalClient(\n MockOntology.metadata,\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n {},\n );\n });\n\n afterAll(() => {\n apiServer.close();\n });\n\n it(\"converts passthrough values correctly\", async () => {\n // basic pass through types\n const basic = {\n null: undefined,\n boolean: false,\n date: \"2024-01-01\",\n integer: 0,\n string: \"string\",\n timestamp: \"2024-01-01T00:00:00Z\",\n };\n const convertedBasic = await toDataValue(basic, clientCtx);\n expect(convertedBasic).toEqual(basic);\n });\n\n it(\"recursively converts arrays and sets into array types\", async () => {\n const attachment = \"rid\";\n const attachmentArray = [attachment];\n const attachmentSet = new Set(attachmentArray);\n\n const recursiveConversion = await toDataValue({\n attachment,\n attachmentArray,\n attachmentSet,\n }, clientCtx);\n\n expect(recursiveConversion).toEqual({\n attachment: \"rid\",\n attachmentArray: [\"rid\"],\n attachmentSet: [\"rid\"],\n });\n });\n\n it(\"recursively handles structs\", async () => {\n const struct = {\n inner: {\n attachment: \"rid\",\n },\n };\n\n const recursiveConversion = await toDataValue(struct, clientCtx);\n\n expect(recursiveConversion).toEqual({\n inner: { attachment: \"rid\" },\n });\n });\n\n it(\"maps an ontology object into just its primary key\", async () => {\n const employee = stubData.employee1;\n const ontologyConversion = await toDataValue(employee, clientCtx);\n expect(ontologyConversion).toEqual(\n stubData.employee1.__primaryKey,\n );\n });\n\n it(\"maps an ontology object into just its primary key with osdk wrapper\", async () => {\n const task = await client(Employee).fetchOne(50030);\n const ontologyConversion = await toDataValue(task, clientCtx);\n expect(ontologyConversion).toEqual(\n task.$primaryKey,\n );\n });\n\n it(\"passes through object set definitions\", async () => {\n const clientObjectSet = client(Task).where({ id: 0 });\n const definition = getWireObjectSet(clientObjectSet);\n\n const expected = `\n {\n \"objectSet\": {\n \"objectType\": \"Task\",\n \"type\": \"base\",\n },\n \"type\": \"filter\",\n \"where\": {\n \"field\": \"id\",\n \"type\": \"eq\",\n \"value\": 0,\n },\n }\n `;\n const objectSetConversion = await toDataValue(clientObjectSet, clientCtx);\n expect(objectSetConversion).toMatchInlineSnapshot(\n expected,\n );\n\n const definitionConversion = await toDataValue(definition, clientCtx);\n expect(definitionConversion).toMatchInlineSnapshot(expected);\n });\n\n it(\"converts blob attachment uploads correctly\", async () => {\n const blob =\n stubData.attachmentUploadRequestBody[stubData.localAttachment1.filename];\n const attachmentUpload = createAttachmentUpload(blob, \"file1.txt\");\n const converted = await toDataValue(attachmentUpload, clientCtx);\n\n expect(converted).toEqual(\n \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n );\n });\n\n it(\"converts file attachment uploads correctly\", async () => {\n // 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\n const file = Object.assign(\n stubData.attachmentUploadRequestBody[stubData.localAttachment1.filename],\n { name: \"file1.txt\" },\n );\n\n const converted = await toDataValue(file, clientCtx);\n\n expect(converted).toEqual(\n \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n );\n });\n\n it(\"converts media reference correctly\", async () => {\n const converted = await toDataValue(stubData.mediaReference, clientCtx);\n expect(converted).toEqual(\n stubData.mediaReference,\n );\n });\n});\n"],"mappings":"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","ignoreList":[]}
|