@osdk/client 2.1.0-beta.2 → 2.1.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +297 -0
- package/build/browser/Client.d.ts +6 -22
- package/build/browser/Client.d.ts.map +1 -1
- package/build/browser/Client.js +3 -1
- package/build/browser/Client.js.map +1 -1
- package/build/browser/MinimalClientContext.d.ts +1 -1
- package/build/browser/MinimalClientContext.d.ts.map +1 -1
- package/build/browser/__unstable/ConjureSupport.js +5 -5
- package/build/browser/__unstable/ConjureSupport.js.map +1 -1
- package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts +1 -6
- package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -1
- package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js +2 -2
- package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
- package/build/browser/actions/actions.test.js +28 -0
- package/build/browser/actions/actions.test.js.map +1 -1
- package/build/browser/actions/applyAction.js +1 -1
- package/build/browser/actions/applyAction.js.map +1 -1
- package/build/browser/createClient.d.ts +1 -1
- package/build/browser/createClient.d.ts.map +1 -1
- package/build/browser/createClient.js +41 -19
- package/build/browser/createClient.js.map +1 -1
- package/build/browser/createClient.test.js +24 -0
- package/build/browser/createClient.test.js.map +1 -1
- package/build/browser/createGeotimeSeriesProperty.d.ts +1 -1
- package/build/browser/createGeotimeSeriesProperty.d.ts.map +1 -1
- package/build/browser/createGeotimeSeriesProperty.js +4 -1
- package/build/browser/createGeotimeSeriesProperty.js.map +1 -1
- package/build/browser/createMinimalClient.js +9 -4
- package/build/browser/createMinimalClient.js.map +1 -1
- package/build/browser/createPlatformClient.d.ts +1 -1
- package/build/browser/createPlatformClient.d.ts.map +1 -1
- package/build/browser/createTimeseriesProperty.d.ts.map +1 -1
- package/build/browser/fetchMetadata.test.js +14 -0
- package/build/browser/fetchMetadata.test.js.map +1 -1
- package/build/browser/index.d.ts +2 -2
- package/build/browser/index.d.ts.map +1 -1
- package/build/browser/index.js +1 -1
- package/build/browser/index.js.map +1 -1
- package/build/browser/intellisense.test.js +1 -1
- package/build/browser/intellisense.test.js.map +1 -1
- package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js +1 -1
- package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js +11 -3
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +208 -7
- package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
- package/build/browser/object/AttachmentUpload.d.ts.map +1 -1
- package/build/browser/object/AttachmentUpload.js +5 -7
- package/build/browser/object/AttachmentUpload.js.map +1 -1
- package/build/browser/object/aggregate.js +4 -5
- package/build/browser/object/aggregate.js.map +1 -1
- package/build/browser/object/aggregate.test.js +6 -9
- package/build/browser/object/aggregate.test.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -10
- package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
- package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js +4 -3
- package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +41 -85
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js +0 -6
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +60 -89
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js +2 -2
- package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +14 -38
- package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.js +42 -6
- package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.test.js +177 -45
- package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/browser/object/fetchPage.d.ts.map +1 -1
- package/build/browser/object/fetchPage.js +34 -23
- package/build/browser/object/fetchPage.js.map +1 -1
- package/build/browser/object/fetchPage.test.js +75 -1
- package/build/browser/object/fetchPage.test.js.map +1 -1
- package/build/browser/object/object.test.d.ts.map +1 -1
- package/build/browser/object/object.test.js +25 -1
- package/build/browser/object/object.test.js.map +1 -1
- package/build/browser/object/timeseries.test.js +10 -0
- package/build/browser/object/timeseries.test.js.map +1 -1
- package/build/browser/objectSet/InterfaceObjectSet.test.d.ts +2 -0
- package/build/browser/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
- package/build/browser/objectSet/InterfaceObjectSet.test.js +61 -0
- package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -0
- package/build/browser/objectSet/ObjectSet.test.js +162 -48
- package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js +136 -74
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +150 -42
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
- package/build/browser/objectSet/createObjectSet.js +10 -8
- package/build/browser/objectSet/createObjectSet.js.map +1 -1
- package/build/browser/objectSet/toConjureObjectSet.js +2 -0
- package/build/browser/objectSet/toConjureObjectSet.js.map +1 -1
- package/build/browser/ontology/makeConjureContext.d.ts +1 -1
- package/build/browser/ontology/makeConjureContext.d.ts.map +1 -1
- package/build/browser/public/internal.d.ts +4 -0
- package/build/browser/public/internal.d.ts.map +1 -0
- package/build/browser/public/internal.js +19 -0
- package/build/browser/public/internal.js.map +1 -0
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts +11 -0
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -0
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.js +32 -0
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
- package/build/browser/public-utils/hydrateAttachmentFromRid.d.ts +10 -0
- package/build/browser/public-utils/hydrateAttachmentFromRid.d.ts.map +1 -0
- package/build/{esm/createAttachmentFromRid.js → browser/public-utils/hydrateAttachmentFromRid.js} +9 -4
- package/build/browser/public-utils/hydrateAttachmentFromRid.js.map +1 -0
- package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts +11 -0
- package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -0
- package/build/browser/public-utils/hydrateObjectSetFromRid.js +37 -0
- package/build/browser/public-utils/hydrateObjectSetFromRid.js.map +1 -0
- package/build/browser/queries/applyQuery.d.ts.map +1 -1
- package/build/browser/queries/applyQuery.js +3 -4
- package/build/browser/queries/applyQuery.js.map +1 -1
- package/build/browser/queries/queries.test.js +30 -2
- package/build/browser/queries/queries.test.js.map +1 -1
- package/build/browser/tsserver.js +1 -1
- package/build/browser/tsserver.js.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/browser/util/datetimeConverters.d.ts +22 -0
- package/build/browser/util/datetimeConverters.d.ts.map +1 -0
- package/build/browser/util/datetimeConverters.js +55 -0
- package/build/browser/util/datetimeConverters.js.map +1 -0
- package/build/browser/util/datetimeConverters.test.d.ts +2 -0
- package/build/browser/util/datetimeConverters.test.d.ts.map +1 -0
- package/build/browser/util/datetimeConverters.test.js +75 -0
- package/build/browser/util/datetimeConverters.test.js.map +1 -0
- package/build/browser/util/objectSetUtils.d.ts +4 -0
- package/build/browser/util/objectSetUtils.d.ts.map +1 -0
- package/build/browser/util/objectSetUtils.js +25 -0
- package/build/browser/util/objectSetUtils.js.map +1 -0
- package/build/browser/util/timeseriesUtils.d.ts +1 -1
- package/build/browser/util/timeseriesUtils.d.ts.map +1 -1
- package/build/browser/util/timeseriesUtils.js +1 -1
- package/build/browser/util/timeseriesUtils.js.map +1 -1
- package/build/browser/util/toDataValue.js +6 -0
- package/build/browser/util/toDataValue.js.map +1 -1
- package/build/browser/util/toDataValue.test.js +9 -1
- package/build/browser/util/toDataValue.test.js.map +1 -1
- package/build/browser/util/toDataValueQueries.js +6 -0
- package/build/browser/util/toDataValueQueries.js.map +1 -1
- package/build/esm/Client.d.ts +6 -22
- package/build/esm/Client.d.ts.map +1 -1
- package/build/esm/Client.js +3 -1
- package/build/esm/Client.js.map +1 -1
- package/build/esm/MinimalClientContext.d.ts +1 -1
- package/build/esm/MinimalClientContext.d.ts.map +1 -1
- package/build/esm/__unstable/ConjureSupport.js +5 -5
- package/build/esm/__unstable/ConjureSupport.js.map +1 -1
- package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts +1 -6
- package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -1
- package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js +2 -2
- package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
- package/build/esm/actions/actions.test.js +28 -0
- package/build/esm/actions/actions.test.js.map +1 -1
- package/build/esm/actions/applyAction.js +1 -1
- package/build/esm/actions/applyAction.js.map +1 -1
- package/build/esm/createClient.d.ts +1 -1
- package/build/esm/createClient.d.ts.map +1 -1
- package/build/esm/createClient.js +41 -19
- package/build/esm/createClient.js.map +1 -1
- package/build/esm/createClient.test.js +24 -0
- package/build/esm/createClient.test.js.map +1 -1
- package/build/esm/createGeotimeSeriesProperty.d.ts +1 -1
- package/build/esm/createGeotimeSeriesProperty.d.ts.map +1 -1
- package/build/esm/createGeotimeSeriesProperty.js +4 -1
- package/build/esm/createGeotimeSeriesProperty.js.map +1 -1
- package/build/esm/createMinimalClient.js +9 -4
- package/build/esm/createMinimalClient.js.map +1 -1
- package/build/esm/createPlatformClient.d.ts +1 -1
- package/build/esm/createPlatformClient.d.ts.map +1 -1
- package/build/esm/createTimeseriesProperty.d.ts.map +1 -1
- package/build/esm/fetchMetadata.test.js +14 -0
- package/build/esm/fetchMetadata.test.js.map +1 -1
- package/build/esm/index.d.ts +2 -2
- package/build/esm/index.d.ts.map +1 -1
- package/build/esm/index.js +1 -1
- package/build/esm/index.js.map +1 -1
- package/build/esm/intellisense.test.js +1 -1
- package/build/esm/intellisense.test.js.map +1 -1
- package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js +1 -1
- package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js +11 -3
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +208 -7
- package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
- package/build/esm/object/AttachmentUpload.d.ts.map +1 -1
- package/build/esm/object/AttachmentUpload.js +5 -7
- package/build/esm/object/AttachmentUpload.js.map +1 -1
- package/build/esm/object/aggregate.js +4 -5
- package/build/esm/object/aggregate.js.map +1 -1
- package/build/esm/object/aggregate.test.js +6 -9
- package/build/esm/object/aggregate.test.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -10
- package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
- package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +4 -3
- package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +41 -85
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js +0 -6
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +60 -89
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js +2 -2
- package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +14 -38
- package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.js +42 -6
- package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.test.js +177 -45
- package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/esm/object/fetchPage.d.ts.map +1 -1
- package/build/esm/object/fetchPage.js +34 -23
- package/build/esm/object/fetchPage.js.map +1 -1
- package/build/esm/object/fetchPage.test.js +75 -1
- package/build/esm/object/fetchPage.test.js.map +1 -1
- package/build/esm/object/object.test.d.ts.map +1 -1
- package/build/esm/object/object.test.js +25 -1
- package/build/esm/object/object.test.js.map +1 -1
- package/build/esm/object/timeseries.test.js +10 -0
- package/build/esm/object/timeseries.test.js.map +1 -1
- package/build/esm/objectSet/InterfaceObjectSet.test.d.ts +2 -0
- package/build/esm/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
- package/build/esm/objectSet/InterfaceObjectSet.test.js +61 -0
- package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -0
- package/build/esm/objectSet/ObjectSet.test.js +162 -48
- package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js +136 -77
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +150 -42
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
- package/build/esm/objectSet/createObjectSet.js +10 -8
- package/build/esm/objectSet/createObjectSet.js.map +1 -1
- package/build/esm/objectSet/toConjureObjectSet.js +2 -0
- package/build/esm/objectSet/toConjureObjectSet.js.map +1 -1
- package/build/esm/ontology/makeConjureContext.d.ts +1 -1
- package/build/esm/ontology/makeConjureContext.d.ts.map +1 -1
- package/build/esm/public/internal.d.ts +4 -0
- package/build/esm/public/internal.d.ts.map +1 -0
- package/build/esm/public/internal.js +19 -0
- package/build/esm/public/internal.js.map +1 -0
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.d.ts +11 -0
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -0
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.js +32 -0
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
- package/build/esm/public-utils/hydrateAttachmentFromRid.d.ts +10 -0
- package/build/esm/public-utils/hydrateAttachmentFromRid.d.ts.map +1 -0
- package/build/{browser/createAttachmentFromRid.js → esm/public-utils/hydrateAttachmentFromRid.js} +9 -4
- package/build/esm/public-utils/hydrateAttachmentFromRid.js.map +1 -0
- package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts +11 -0
- package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -0
- package/build/esm/public-utils/hydrateObjectSetFromRid.js +37 -0
- package/build/esm/public-utils/hydrateObjectSetFromRid.js.map +1 -0
- package/build/esm/queries/applyQuery.d.ts.map +1 -1
- package/build/esm/queries/applyQuery.js +3 -4
- package/build/esm/queries/applyQuery.js.map +1 -1
- package/build/esm/queries/queries.test.js +30 -2
- package/build/esm/queries/queries.test.js.map +1 -1
- package/build/esm/tsserver.js +1 -1
- package/build/esm/tsserver.js.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/UserAgent.js.map +1 -1
- package/build/esm/util/datetimeConverters.d.ts +22 -0
- package/build/esm/util/datetimeConverters.d.ts.map +1 -0
- package/build/esm/util/datetimeConverters.js +55 -0
- package/build/esm/util/datetimeConverters.js.map +1 -0
- package/build/esm/util/datetimeConverters.test.d.ts +2 -0
- package/build/esm/util/datetimeConverters.test.d.ts.map +1 -0
- package/build/esm/util/datetimeConverters.test.js +75 -0
- package/build/esm/util/datetimeConverters.test.js.map +1 -0
- package/build/esm/util/objectSetUtils.d.ts +4 -0
- package/build/esm/util/objectSetUtils.d.ts.map +1 -0
- package/build/esm/util/objectSetUtils.js +25 -0
- package/build/esm/util/objectSetUtils.js.map +1 -0
- package/build/esm/util/timeseriesUtils.d.ts +1 -1
- package/build/esm/util/timeseriesUtils.d.ts.map +1 -1
- package/build/esm/util/timeseriesUtils.js +1 -1
- package/build/esm/util/timeseriesUtils.js.map +1 -1
- package/build/esm/util/toDataValue.js +6 -0
- package/build/esm/util/toDataValue.js.map +1 -1
- package/build/esm/util/toDataValue.test.js +9 -1
- package/build/esm/util/toDataValue.test.js.map +1 -1
- package/build/esm/util/toDataValueQueries.js +6 -0
- package/build/esm/util/toDataValueQueries.js.map +1 -1
- package/package.json +23 -19
- package/build/browser/createAttachmentFromRid.d.ts +0 -10
- package/build/browser/createAttachmentFromRid.d.ts.map +0 -1
- package/build/browser/createAttachmentFromRid.js.map +0 -1
- package/build/esm/createAttachmentFromRid.d.ts +0 -10
- package/build/esm/createAttachmentFromRid.d.ts.map +0 -1
- package/build/esm/createAttachmentFromRid.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeseries.test.js","names":["$ontologyRid","Employee","apiServer","afterAll","beforeAll","describe","expect","it","createClient","client","listen","close","employee","fetchOne","$primaryKey","toEqual","point","employeeStatus","getFirstPoint","time","value","getLastPoint","points","getAllPoints","$before","$unit","toBeDefined","$after","$startTime","$endTime","pointsIter","asyncIterPoints","push"],"sources":["timeseries.test.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { $ontologyRid, Employee } from \"@osdk/client.test.ontology\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"Timeseries\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"get first points works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const point = await employee.employeeStatus?.getFirstPoint();\n expect(point?.time).toEqual(\"2012-02-12\");\n expect(point?.value).toEqual(10);\n });\n it(\"get last points works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const point = await employee.employeeStatus?.getLastPoint();\n expect(point?.time).toEqual(\"2014-04-14\");\n expect(point?.value).toEqual(30);\n });\n it(\"getAll points with before works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $before: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{ time: \"2012-02-12\", value: 10 }, {\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"getAll points with after works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $after: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{ time: \"2012-02-12\", value: 10 }, {\n time: \"2014-04-14\",\n value: 30,\n }]);\n });\n it(\"getAll points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"getAll points with no query works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints();\n expect(points).toBeDefined();\n expect(points).toEqual([\n { time: \"2012-02-12\", value: 10 },\n { time: \"2012-02-12\", value: 10 },\n {\n time: \"2013-03-13\",\n value: 20,\n },\n { time: \"2014-04-14\", value: 30 },\n { time: \"2014-04-14\", value: 30 },\n ]);\n });\n it(\"async iter points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeStatus?.asyncIterPoints({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n const points = [];\n for await (const point of pointsIter) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points).toEqual([{\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"async iter points with no query\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeStatus?.asyncIterPoints();\n const points = [];\n for await (const point of pointsIter) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points).toEqual([\n { time: \"2012-02-12\", value: 10 },\n { time: \"2012-02-12\", value: 10 },\n {\n time: \"2013-03-13\",\n value: 20,\n },\n { time: \"2014-04-14\", value: 30 },\n { time: \"2014-04-14\", value: 30 },\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"timeseries.test.js","names":["$ontologyRid","Employee","apiServer","afterAll","beforeAll","describe","expect","it","createClient","client","listen","close","employee","fetchOne","$primaryKey","toEqual","point","employeeStatus","getFirstPoint","time","value","getLastPoint","firstPoint","employeeSensor","lastPoint","points","getAllPoints","$before","$unit","toBeDefined","$after","$startTime","$endTime","pointsIter","asyncIterPoints","push"],"sources":["timeseries.test.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { $ontologyRid, Employee } from \"@osdk/client.test.ontology\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"Timeseries\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"get first points works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const point = await employee.employeeStatus?.getFirstPoint();\n expect(point?.time).toEqual(\"2012-02-12\");\n expect(point?.value).toEqual(10);\n });\n it(\"get last points works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const point = await employee.employeeStatus?.getLastPoint();\n expect(point?.time).toEqual(\"2014-04-14\");\n expect(point?.value).toEqual(30);\n });\n it(\"get last and first points works with sensor object\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const firstPoint = await employee.employeeSensor?.getFirstPoint();\n const lastPoint = await employee.employeeSensor?.getLastPoint();\n expect(firstPoint?.time).toEqual(\"2015-05-15\");\n expect(firstPoint?.value).toEqual(40);\n expect(lastPoint?.time).toEqual(\"2014-04-14\");\n expect(lastPoint?.value).toEqual(30);\n });\n it(\"getAll points with before works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $before: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{ time: \"2012-02-12\", value: 10 }, {\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"getAll points with after works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $after: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{ time: \"2012-02-12\", value: 10 }, {\n time: \"2014-04-14\",\n value: 30,\n }]);\n });\n it(\"getAll points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"getAll points with no query works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints();\n expect(points).toBeDefined();\n expect(points).toEqual([\n { time: \"2012-02-12\", value: 10 },\n { time: \"2012-02-12\", value: 10 },\n {\n time: \"2013-03-13\",\n value: 20,\n },\n { time: \"2014-04-14\", value: 30 },\n { time: \"2014-04-14\", value: 30 },\n ]);\n });\n it(\"async iter points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeStatus?.asyncIterPoints({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n const points = [];\n for await (const point of pointsIter) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points).toEqual([{\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"async iter points with no query\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeStatus?.asyncIterPoints();\n const points = [];\n for await (const point of pointsIter) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points).toEqual([\n { time: \"2012-02-12\", value: 10 },\n { time: \"2012-02-12\", value: 10 },\n {\n time: \"2013-03-13\",\n value: 20,\n },\n { time: \"2014-04-14\", value: 30 },\n { time: \"2014-04-14\", value: 30 },\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InterfaceObjectSet.test.d.ts","sourceRoot":"","sources":["../../../src/objectSet/InterfaceObjectSet.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { $ontologyRid, Employee, FooInterface } from "@osdk/client.test.ontology";
|
|
17
|
+
import { apiServer } from "@osdk/shared.test";
|
|
18
|
+
import { afterAll, beforeAll, describe, expect, it } from "vitest";
|
|
19
|
+
import { createClient } from "../createClient.js";
|
|
20
|
+
describe("ObjectSet", () => {
|
|
21
|
+
let client;
|
|
22
|
+
beforeAll(async () => {
|
|
23
|
+
apiServer.listen();
|
|
24
|
+
client = createClient("https://stack.palantir.com", $ontologyRid, async () => "myAccessToken");
|
|
25
|
+
});
|
|
26
|
+
afterAll(() => {
|
|
27
|
+
apiServer.close();
|
|
28
|
+
});
|
|
29
|
+
it("does not allow intersect/union/subtract with implementing interface types, for now", () => {
|
|
30
|
+
const employeeObjectSet = client(Employee);
|
|
31
|
+
const fooInterfaceSet = client(FooInterface);
|
|
32
|
+
// @ts-expect-error
|
|
33
|
+
employeeObjectSet.union(fooInterfaceSet);
|
|
34
|
+
// @ts-expect-error
|
|
35
|
+
employeeObjectSet.subtract(fooInterfaceSet);
|
|
36
|
+
// @ts-expect-error
|
|
37
|
+
employeeObjectSet.intersect(fooInterfaceSet);
|
|
38
|
+
});
|
|
39
|
+
it("interface objects set loading", async () => {
|
|
40
|
+
const objectSet = client(FooInterface);
|
|
41
|
+
let iter = 0;
|
|
42
|
+
const {
|
|
43
|
+
data: interfacers
|
|
44
|
+
} = await objectSet.fetchPage();
|
|
45
|
+
for (const foo of interfacers) {
|
|
46
|
+
expect(foo.fooSpt).toEqual("Santa Claus");
|
|
47
|
+
iter++;
|
|
48
|
+
}
|
|
49
|
+
expect(iter).toEqual(1);
|
|
50
|
+
});
|
|
51
|
+
it("allows fetching by field from a interface object set - where clause", async () => {
|
|
52
|
+
const whereClausedInterface = await client(FooInterface).where({
|
|
53
|
+
fooSpt: "The Grinch"
|
|
54
|
+
}).fetchPage();
|
|
55
|
+
const interfaceObj = whereClausedInterface.data[0];
|
|
56
|
+
expect(interfaceObj.fooSpt).toEqual("The Grinch");
|
|
57
|
+
const asEmployee = interfaceObj.$as(Employee);
|
|
58
|
+
expect(asEmployee.fullName).toEqual("The Grinch");
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=InterfaceObjectSet.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InterfaceObjectSet.test.js","names":["$ontologyRid","Employee","FooInterface","apiServer","afterAll","beforeAll","describe","expect","it","createClient","client","listen","close","employeeObjectSet","fooInterfaceSet","union","subtract","intersect","objectSet","iter","data","interfacers","fetchPage","foo","fooSpt","toEqual","whereClausedInterface","where","interfaceObj","asEmployee","$as","fullName"],"sources":["InterfaceObjectSet.test.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { $ontologyRid, Employee, FooInterface, } from \"@osdk/client.test.ontology\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"ObjectSet\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"does not allow intersect/union/subtract with implementing interface types, for now\", () => {\n const employeeObjectSet = client(Employee);\n const fooInterfaceSet = client(FooInterface);\n // @ts-expect-error\n employeeObjectSet.union(fooInterfaceSet);\n // @ts-expect-error\n employeeObjectSet.subtract(fooInterfaceSet);\n // @ts-expect-error\n employeeObjectSet.intersect(fooInterfaceSet);\n });\n it(\"interface objects set loading\", async () => {\n const objectSet = client(FooInterface);\n let iter = 0;\n const { data: interfacers } = await objectSet.fetchPage();\n for (const foo of interfacers) {\n expect(foo.fooSpt).toEqual(\"Santa Claus\");\n iter++;\n }\n expect(iter).toEqual(1);\n });\n it(\"allows fetching by field from a interface object set - where clause\", async () => {\n const whereClausedInterface = await client(FooInterface).where({\n fooSpt: \"The Grinch\",\n }).fetchPage();\n const interfaceObj = whereClausedInterface.data[0];\n expect(interfaceObj.fooSpt).toEqual(\"The Grinch\");\n const asEmployee = interfaceObj.$as(Employee);\n expect(asEmployee.fullName).toEqual(\"The Grinch\");\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,YAAY,EAAEC,QAAQ,EAAEC,YAAY,QAAS,4BAA4B;AAClF,SAASC,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAClE,SAASC,YAAY,QAAQ,oBAAoB;AACjDH,QAAQ,CAAC,WAAW,EAAE,MAAM;EACxB,IAAII,MAAM;EACVL,SAAS,CAAC,YAAY;IAClBF,SAAS,CAACQ,MAAM,CAAC,CAAC;IAClBD,MAAM,GAAGD,YAAY,CAAC,4BAA4B,EAAET,YAAY,EAAE,YAAY,eAAe,CAAC;EAClG,CAAC,CAAC;EACFI,QAAQ,CAAC,MAAM;IACXD,SAAS,CAACS,KAAK,CAAC,CAAC;EACrB,CAAC,CAAC;EACFJ,EAAE,CAAC,oFAAoF,EAAE,MAAM;IAC3F,MAAMK,iBAAiB,GAAGH,MAAM,CAACT,QAAQ,CAAC;IAC1C,MAAMa,eAAe,GAAGJ,MAAM,CAACR,YAAY,CAAC;IAC5C;IACAW,iBAAiB,CAACE,KAAK,CAACD,eAAe,CAAC;IACxC;IACAD,iBAAiB,CAACG,QAAQ,CAACF,eAAe,CAAC;IAC3C;IACAD,iBAAiB,CAACI,SAAS,CAACH,eAAe,CAAC;EAChD,CAAC,CAAC;EACFN,EAAE,CAAC,+BAA+B,EAAE,YAAY;IAC5C,MAAMU,SAAS,GAAGR,MAAM,CAACR,YAAY,CAAC;IACtC,IAAIiB,IAAI,GAAG,CAAC;IACZ,MAAM;MAAEC,IAAI,EAAEC;IAAY,CAAC,GAAG,MAAMH,SAAS,CAACI,SAAS,CAAC,CAAC;IACzD,KAAK,MAAMC,GAAG,IAAIF,WAAW,EAAE;MAC3Bd,MAAM,CAACgB,GAAG,CAACC,MAAM,CAAC,CAACC,OAAO,CAAC,aAAa,CAAC;MACzCN,IAAI,EAAE;IACV;IACAZ,MAAM,CAACY,IAAI,CAAC,CAACM,OAAO,CAAC,CAAC,CAAC;EAC3B,CAAC,CAAC;EACFjB,EAAE,CAAC,qEAAqE,EAAE,YAAY;IAClF,MAAMkB,qBAAqB,GAAG,MAAMhB,MAAM,CAACR,YAAY,CAAC,CAACyB,KAAK,CAAC;MAC3DH,MAAM,EAAE;IACZ,CAAC,CAAC,CAACF,SAAS,CAAC,CAAC;IACd,MAAMM,YAAY,GAAGF,qBAAqB,CAACN,IAAI,CAAC,CAAC,CAAC;IAClDb,MAAM,CAACqB,YAAY,CAACJ,MAAM,CAAC,CAACC,OAAO,CAAC,YAAY,CAAC;IACjD,MAAMI,UAAU,GAAGD,YAAY,CAACE,GAAG,CAAC7B,QAAQ,CAAC;IAC7CM,MAAM,CAACsB,UAAU,CAACE,QAAQ,CAAC,CAACN,OAAO,CAAC,YAAY,CAAC;EACrD,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { isOk } from "@osdk/api";
|
|
17
|
-
import {
|
|
17
|
+
import { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid } from "@osdk/api/unstable";
|
|
18
|
+
import { $ontologyRid, BarInterface, BgaoNflPlayer, Employee, FooInterface, Office } from "@osdk/client.test.ontology";
|
|
18
19
|
import { apiServer, stubData } from "@osdk/shared.test";
|
|
19
20
|
import { afterAll, beforeAll, describe, expect, expectTypeOf, it } from "vitest";
|
|
20
21
|
import { createClient } from "../createClient.js";
|
|
@@ -95,6 +96,7 @@ describe("ObjectSet", () => {
|
|
|
95
96
|
class: "Red",
|
|
96
97
|
employeeId: 50030,
|
|
97
98
|
employeeStatus: expect.anything(),
|
|
99
|
+
employeeSensor: expect.anything(),
|
|
98
100
|
fullName: "John Doe",
|
|
99
101
|
office: "NYC",
|
|
100
102
|
startDate: "2019-01-01",
|
|
@@ -107,6 +109,7 @@ describe("ObjectSet", () => {
|
|
|
107
109
|
class: "Blue",
|
|
108
110
|
employeeId: 50031,
|
|
109
111
|
employeeStatus: expect.anything(),
|
|
112
|
+
employeeSensor: expect.anything(),
|
|
110
113
|
fullName: "Jane Doe",
|
|
111
114
|
office: "SEA",
|
|
112
115
|
startDate: "2012-02-12",
|
|
@@ -119,6 +122,7 @@ describe("ObjectSet", () => {
|
|
|
119
122
|
class: "Red",
|
|
120
123
|
employeeId: 50032,
|
|
121
124
|
employeeStatus: expect.anything(),
|
|
125
|
+
employeeSensor: expect.anything(),
|
|
122
126
|
fullName: "Jack Smith",
|
|
123
127
|
office: "LON",
|
|
124
128
|
startDate: "2015-05-15",
|
|
@@ -130,6 +134,40 @@ describe("ObjectSet", () => {
|
|
|
130
134
|
expectTypeOf().toMatchTypeOf;
|
|
131
135
|
expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);
|
|
132
136
|
});
|
|
137
|
+
it("allows fetching by rid with experimental function", async () => {
|
|
138
|
+
const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, "ri.employee.i.look.for");
|
|
139
|
+
expectTypeOf().toMatchTypeOf;
|
|
140
|
+
expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);
|
|
141
|
+
});
|
|
142
|
+
it("allows fetching by rid with experimental function, with select", async () => {
|
|
143
|
+
const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, "ri.employee.i.look.for", {
|
|
144
|
+
$select: ["fullName"]
|
|
145
|
+
});
|
|
146
|
+
expectTypeOf().toMatchTypeOf;
|
|
147
|
+
expect(employee.$primaryKey).toBe(stubData.employee2.employeeId);
|
|
148
|
+
});
|
|
149
|
+
it("check struct parsing", async () => {
|
|
150
|
+
const player = await client(BgaoNflPlayer).fetchOne("tkelce");
|
|
151
|
+
expectTypeOf().toMatchTypeOf;
|
|
152
|
+
expectTypeOf().toMatchTypeOf;
|
|
153
|
+
const address1 = player.address.addressLine1;
|
|
154
|
+
expectTypeOf().toMatchTypeOf;
|
|
155
|
+
expect(address1).toEqual("15 Muppets Lane");
|
|
156
|
+
const address2 = player.address?.addressLine2;
|
|
157
|
+
expectTypeOf().toMatchTypeOf;
|
|
158
|
+
expect(address2).toEqual("Resort No 4");
|
|
159
|
+
const city = player.address?.city;
|
|
160
|
+
expectTypeOf().toMatchTypeOf;
|
|
161
|
+
expect(city).toEqual("Memphis");
|
|
162
|
+
const state = player.address?.state;
|
|
163
|
+
expectTypeOf().toMatchTypeOf;
|
|
164
|
+
expect(state).toEqual("TN");
|
|
165
|
+
const zipCode = player.address?.zipCode;
|
|
166
|
+
expectTypeOf().toMatchTypeOf;
|
|
167
|
+
expect(zipCode).toEqual(11100);
|
|
168
|
+
expect(player.$primaryKey).toEqual(stubData.travisPlayer.__primaryKey);
|
|
169
|
+
expect(player.address).toEqual(stubData.travisPlayer.address);
|
|
170
|
+
});
|
|
133
171
|
it("allows fetching by PK from a base object set - fetchOneWithErrors", async () => {
|
|
134
172
|
const employeeResult = await client(Employee).fetchOneWithErrors(stubData.employee1.employeeId);
|
|
135
173
|
expectTypeOf().toMatchTypeOf;
|
|
@@ -192,34 +230,126 @@ describe("ObjectSet", () => {
|
|
|
192
230
|
expect(iter).toEqual(2);
|
|
193
231
|
}
|
|
194
232
|
});
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
$__EXPERIMENTAL_strictNonNull: "drop",
|
|
201
|
-
$includeRid: true
|
|
202
|
-
};
|
|
203
|
-
const result = k === "fetchPage" ? await client(Employee).fetchPage(opts) : (await client(Employee).fetchPageWithErrors(opts)).value;
|
|
204
|
-
expect(result.data).toHaveLength(3);
|
|
205
|
-
expectTypeOf(result.data[0]).branded.toEqualTypeOf();
|
|
206
|
-
expectTypeOf(result.data[0]).branded.toEqualTypeOf();
|
|
207
|
-
});
|
|
208
|
-
});
|
|
209
|
-
describe("includeRid: false", () => {
|
|
210
|
-
it("drops bad data", async () => {
|
|
211
|
-
const opts = {
|
|
212
|
-
$__EXPERIMENTAL_strictNonNull: "drop",
|
|
213
|
-
$includeRid: false
|
|
214
|
-
};
|
|
215
|
-
const result = k === "fetchPage" ? await client(Employee).fetchPage(opts) : (await client(Employee).fetchPageWithErrors(opts)).value;
|
|
216
|
-
expect(result.data).toHaveLength(3);
|
|
217
|
-
expectTypeOf(result.data[0]).branded.toEqualTypeOf();
|
|
218
|
-
expectTypeOf(result.data[0]).branded.toEqualTypeOf();
|
|
219
|
-
expectTypeOf(result.data[0]).branded.toEqualTypeOf();
|
|
220
|
-
});
|
|
221
|
-
});
|
|
233
|
+
it("allows $in filter with ReadonlyArrays", () => {
|
|
234
|
+
const objectSet = client(Employee).where({
|
|
235
|
+
employeeId: {
|
|
236
|
+
$in: [50030, 50031]
|
|
237
|
+
}
|
|
222
238
|
});
|
|
239
|
+
expect(objectSet).toBeDefined();
|
|
240
|
+
});
|
|
241
|
+
it("does not allow arbitrary keys when no properties", () => {
|
|
242
|
+
client(Employee).where({
|
|
243
|
+
// @ts-expect-error
|
|
244
|
+
employeeIdNonExistent: {
|
|
245
|
+
$in: [50030, 50031]
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
client(BarInterface).where({
|
|
249
|
+
// @ts-expect-error
|
|
250
|
+
nonExistentProp: ""
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
it("type checking containsallterm and containsanyterm", () => {
|
|
254
|
+
client(Employee).where({
|
|
255
|
+
$or: [{
|
|
256
|
+
fullName: {
|
|
257
|
+
$containsAllTerms: "John Smith"
|
|
258
|
+
}
|
|
259
|
+
}, {
|
|
260
|
+
office: {
|
|
261
|
+
$containsAllTerms: {
|
|
262
|
+
term: "NYC DC"
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}, {
|
|
266
|
+
fullName: {
|
|
267
|
+
$containsAllTerms: {
|
|
268
|
+
term: "John Smith",
|
|
269
|
+
fuzzySearch: false
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}, {
|
|
273
|
+
// @ts-expect-error
|
|
274
|
+
fullName: {
|
|
275
|
+
$containsAllTerms: {
|
|
276
|
+
fuzzySearch: false
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}]
|
|
280
|
+
});
|
|
281
|
+
client(Employee).where({
|
|
282
|
+
$or: [{
|
|
283
|
+
fullName: {
|
|
284
|
+
$containsAnyTerm: "John Smith"
|
|
285
|
+
}
|
|
286
|
+
}, {
|
|
287
|
+
office: {
|
|
288
|
+
$containsAnyTerm: {
|
|
289
|
+
term: "NYC DC"
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}, {
|
|
293
|
+
fullName: {
|
|
294
|
+
$containsAnyTerm: {
|
|
295
|
+
term: "John Smith",
|
|
296
|
+
fuzzySearch: false
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}, {
|
|
300
|
+
// @ts-expect-error
|
|
301
|
+
fullName: {
|
|
302
|
+
$containsAnyTerm: {
|
|
303
|
+
fuzzySearch: false
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}]
|
|
307
|
+
});
|
|
308
|
+
client(BarInterface).where({
|
|
309
|
+
// @ts-expect-error
|
|
310
|
+
nonExistentProp: ""
|
|
311
|
+
});
|
|
312
|
+
});
|
|
313
|
+
describe.each(["fetchPage", "fetchPageWithErrors"])("%s", k => {
|
|
314
|
+
// describe("strictNonNull: \"drop\"", () => {
|
|
315
|
+
// describe("includeRid: true", () => {
|
|
316
|
+
// it("drops bad data", async () => {
|
|
317
|
+
// const opts = {
|
|
318
|
+
// $__EXPERIMENTAL_strictNonNull: "drop",
|
|
319
|
+
// $includeRid: true,
|
|
320
|
+
// } as const;
|
|
321
|
+
// const result = k === "fetchPage"
|
|
322
|
+
// ? await client(Employee).fetchPage(opts)
|
|
323
|
+
// : (await client(Employee).fetchPageWithErrors(opts)).value!;
|
|
324
|
+
// expect(result.data).toHaveLength(3);
|
|
325
|
+
// expectTypeOf(result.data[0]).branded.toEqualTypeOf<
|
|
326
|
+
// Osdk<Employee, "$rid" | "$all">
|
|
327
|
+
// >();
|
|
328
|
+
// expectTypeOf(result.data[0]).branded.toEqualTypeOf<
|
|
329
|
+
// Employee.OsdkObject<"$rid">
|
|
330
|
+
// >();
|
|
331
|
+
// });
|
|
332
|
+
// });
|
|
333
|
+
// describe("includeRid: false", () => {
|
|
334
|
+
// it("drops bad data", async () => {
|
|
335
|
+
// const opts = {
|
|
336
|
+
// $__EXPERIMENTAL_strictNonNull: "drop",
|
|
337
|
+
// $includeRid: false,
|
|
338
|
+
// } as const;
|
|
339
|
+
// const result = k === "fetchPage"
|
|
340
|
+
// ? await client(Employee).fetchPage(opts)
|
|
341
|
+
// : (await client(Employee).fetchPageWithErrors(opts)).value!;
|
|
342
|
+
// expect(result.data).toHaveLength(3);
|
|
343
|
+
// expectTypeOf(result.data[0]).branded.toEqualTypeOf<Osdk<Employee>>();
|
|
344
|
+
// expectTypeOf(result.data[0]).branded.toEqualTypeOf<
|
|
345
|
+
// Employee.OsdkObject
|
|
346
|
+
// >();
|
|
347
|
+
// expectTypeOf(result.data[0]).branded.toEqualTypeOf<
|
|
348
|
+
// Employee.OsdkObject<never>
|
|
349
|
+
// >();
|
|
350
|
+
// });
|
|
351
|
+
// });
|
|
352
|
+
// });
|
|
223
353
|
describe("strictNonNull: false", () => {
|
|
224
354
|
describe("includeRid: true", () => {
|
|
225
355
|
it("returns bad data", async () => {
|
|
@@ -235,8 +365,7 @@ describe("ObjectSet", () => {
|
|
|
235
365
|
describe("includeRid: false", () => {
|
|
236
366
|
it("returns bad data", async () => {
|
|
237
367
|
const opts = {
|
|
238
|
-
$
|
|
239
|
-
includeRid: false
|
|
368
|
+
$includeRid: false
|
|
240
369
|
};
|
|
241
370
|
const result = k === "fetchPage" ? await client(Employee).fetchPage(opts) : (await client(Employee).fetchPageWithErrors(opts)).value;
|
|
242
371
|
expect(result.data).toHaveLength(4);
|
|
@@ -245,17 +374,11 @@ describe("ObjectSet", () => {
|
|
|
245
374
|
});
|
|
246
375
|
});
|
|
247
376
|
});
|
|
248
|
-
describe("strictNonNull: \"throw\"", () => {
|
|
249
|
-
it("throws when getting bad data", () => {
|
|
250
|
-
expect(() => client(Employee).fetchPage({
|
|
251
|
-
$__EXPERIMENTAL_strictNonNull: "throw"
|
|
252
|
-
})).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);
|
|
253
|
-
});
|
|
254
|
-
});
|
|
255
377
|
describe.each(["fetchOne", "fetchOneWithErrors"])("%s", k => {
|
|
256
378
|
describe("strictNonNull: false", () => {
|
|
257
379
|
describe("includeRid: true", () => {
|
|
258
380
|
it("returns bad data", async () => {
|
|
381
|
+
// Look at this
|
|
259
382
|
const opts = {
|
|
260
383
|
$__EXPERIMENTAL_strictNonNull: false,
|
|
261
384
|
$includeRid: true
|
|
@@ -269,7 +392,7 @@ describe("ObjectSet", () => {
|
|
|
269
392
|
it("returns bad data", async () => {
|
|
270
393
|
const opts = {
|
|
271
394
|
$__EXPERIMENTAL_strictNonNull: false,
|
|
272
|
-
includeRid: false
|
|
395
|
+
$includeRid: false
|
|
273
396
|
};
|
|
274
397
|
const result = k === "fetchOne" ? await client(Employee).fetchOne(50033, opts) : (await client(Employee).fetchOneWithErrors(50033, opts)).value;
|
|
275
398
|
expect(result).not.toBeUndefined();
|
|
@@ -278,19 +401,10 @@ describe("ObjectSet", () => {
|
|
|
278
401
|
});
|
|
279
402
|
});
|
|
280
403
|
});
|
|
281
|
-
describe("strictNonNull: \"throw\"", () => {
|
|
282
|
-
it("throws when getting bad data", () => {
|
|
283
|
-
expect(() => client(Employee).fetchPage({
|
|
284
|
-
$__EXPERIMENTAL_strictNonNull: "throw"
|
|
285
|
-
})).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);
|
|
286
|
-
});
|
|
287
|
-
});
|
|
288
404
|
describe("conversions", () => {
|
|
289
405
|
describe("strictNonNull: false", () => {
|
|
290
406
|
it("returns bad data", async () => {
|
|
291
|
-
const result = await client(Employee).fetchPage({
|
|
292
|
-
$__EXPERIMENTAL_strictNonNull: false
|
|
293
|
-
});
|
|
407
|
+
const result = await client(Employee).fetchPage({});
|
|
294
408
|
const empNotStrict = result.data[0];
|
|
295
409
|
expectTypeOf(empNotStrict).branded.toEqualTypeOf();
|
|
296
410
|
expectTypeOf(empNotStrict).branded.toEqualTypeOf();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSet.test.js","names":["isOk","$ontologyRid","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","fullName","office","startDate","employeeLocation","$title","employee","fetchOne","employee1","toMatchTypeOf","toBe","employeeResult","fetchOneWithErrors","value","$select","branded","toEqualTypeOf","rejects","toThrow","employee2","pivotTo","result","fetchPageWithErrors","each","k","opts","$__EXPERIMENTAL_strictNonNull","$includeRid","toHaveLength","includeRid","toThrowErrorMatchingInlineSnapshot","not","toBeUndefined","empNotStrict","cheesedFooNotStrict","$as","fooSpt"],"sources":["ObjectSet.test.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { isOk } from \"@osdk/api\";\nimport { $ontologyRid, Employee, FooInterface, Office, } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"ObjectSet\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"does not allow intersect/union/subtract with different object types\", () => {\n const employeeObjectSet = client(Employee);\n const officeObjectSet = client(Office);\n // @ts-expect-error\n employeeObjectSet.union(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.subtract(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.intersect(officeObjectSet);\n });\n it(\"can be cast bidirectionally\", () => {\n function takesOldStyleObjectSet(os) {\n return os;\n }\n function takesNewStyleObjectSet(os) {\n return os;\n }\n function maybe() {\n const newStyleObjectSet = client(Employee);\n const oldStyleObjectSet = newStyleObjectSet;\n takesOldStyleObjectSet(newStyleObjectSet);\n takesNewStyleObjectSet(newStyleObjectSet);\n takesOldStyleObjectSet(oldStyleObjectSet);\n takesNewStyleObjectSet(oldStyleObjectSet);\n }\n if (false) {\n // here for a simple type check\n maybe();\n }\n });\n it(\"objects set union\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const { data: employees } = await unionedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set subtract\", async () => {\n const objectSet = client(Employee);\n const objectSet2 = client(Employee).where({\n employeeId: 50030,\n });\n const subtractedObjectSet = objectSet.subtract(objectSet2);\n let iter = 0;\n const { data: employees } = await subtractedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50031 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set intersect\", async () => {\n const objectSet = client(Employee);\n const intersectedObjectSet = objectSet.intersect(objectSet);\n let iter = 0;\n const { data: employees } = await intersectedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50032);\n iter += 1;\n }\n expect(iter).toEqual(1);\n });\n it(\"orders objects in ascending order without a filter, and returns all results\", async () => {\n const { data: employees } = await client(Employee)\n .fetchPage({\n $orderBy: { \"employeeId\": \"asc\" },\n });\n expect(employees).toMatchObject([\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50030,\n class: \"Red\",\n employeeId: 50030,\n employeeStatus: expect.anything(),\n 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 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 fullName: \"Jack Smith\",\n office: \"LON\",\n startDate: \"2015-05-15\",\n employeeLocation: expect.anything(),\n },\n ]);\n });\n it(\"allows fetching by PK from a base object set - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a base object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\"allows fetching by PK from a base object set with selected properties - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a base object set with selected properties - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\"throws when fetching by PK with an object that does not exist - fetchOne\", async () => {\n await expect(client(Employee).fetchOne(-1)).rejects\n .toThrow();\n });\n it(\"throws when fetching by PK with an object that does not exist - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(-1);\n expectTypeOf().branded.toEqualTypeOf;\n expect(\"error\" in employeeResult);\n });\n it(\"allows fetching by PK from a pivoted object set - fetchOne\", async () => {\n const employee = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOne(stubData.employee1.employeeId);\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a pivoted object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOneWithErrors(stubData.employee1.employeeId);\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\" object set union works with fetchPageWithErrors\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const result = await unionedObjectSet.fetchPageWithErrors();\n if (isOk(result)) {\n const employees = result.value.data;\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n }\n });\n describe.each([\"fetchPage\", \"fetchPageWithErrors\"])(\"%s\", (k) => {\n describe(\"strictNonNull: \\\"drop\\\"\", () => {\n describe(\"includeRid: true\", () => {\n it(\"drops bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: \"drop\",\n $includeRid: true,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(3);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"drops bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: \"drop\",\n $includeRid: false,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(3);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n });\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n includeRid: false,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe(\"strictNonNull: \\\"throw\\\"\", () => {\n it(\"throws when getting bad data\", () => {\n expect(() => client(Employee).fetchPage({\n $__EXPERIMENTAL_strictNonNull: \"throw\",\n })).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);\n });\n });\n describe.each([\"fetchOne\", \"fetchOneWithErrors\"])(\"%s\", (k) => {\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n includeRid: false,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe(\"strictNonNull: \\\"throw\\\"\", () => {\n it(\"throws when getting bad data\", () => {\n expect(() => client(Employee).fetchPage({\n $__EXPERIMENTAL_strictNonNull: \"throw\",\n })).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);\n });\n });\n describe(\"conversions\", () => {\n describe(\"strictNonNull: false\", () => {\n it(\"returns bad data\", async () => {\n const result = await client(Employee).fetchPage({\n $__EXPERIMENTAL_strictNonNull: false,\n });\n const empNotStrict = result.data[0];\n const empNotStrict2 = empNotStrict;\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict.employeeId).toEqualTypeOf();\n expectTypeOf(empNotStrict2.employeeId).toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n const CheesedFoo = FooInterface;\n const cheesedFooNotStrict = result.data[0].$as(CheesedFoo);\n expectTypeOf(cheesedFooNotStrict).branded.toEqualTypeOf();\n cheesedFooNotStrict.fooSpt;\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ObjectSet.test.js","names":["isOk","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","$ontologyRid","BarInterface","BgaoNflPlayer","Employee","FooInterface","Office","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","client","listen","close","employeeObjectSet","officeObjectSet","union","subtract","intersect","objectSet","unionedObjectSet","iter","data","employees","fetchPage","emp","employeeId","toEqual","objectSet2","where","subtractedObjectSet","intersectedObjectSet","$orderBy","toMatchObject","$apiName","$objectType","$primaryKey","class","employeeStatus","anything","employeeSensor","fullName","office","startDate","employeeLocation","$title","employee","fetchOne","employee1","toMatchTypeOf","toBe","fetchOneByRid","$select","employee2","player","address1","address","addressLine1","address2","addressLine2","city","state","zipCode","travisPlayer","__primaryKey","employeeResult","fetchOneWithErrors","value","branded","toEqualTypeOf","rejects","toThrow","pivotTo","result","fetchPageWithErrors","$in","toBeDefined","employeeIdNonExistent","nonExistentProp","$or","$containsAllTerms","term","fuzzySearch","$containsAnyTerm","each","k","opts","$__EXPERIMENTAL_strictNonNull","$includeRid","toHaveLength","not","toBeUndefined","empNotStrict","cheesedFooNotStrict","$as","fooSpt"],"sources":["ObjectSet.test.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { isOk } from \"@osdk/api\";\nimport { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid } from \"@osdk/api/unstable\";\nimport { $ontologyRid, BarInterface, BgaoNflPlayer, Employee, FooInterface, Office, } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"ObjectSet\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"does not allow intersect/union/subtract with different object types\", () => {\n const employeeObjectSet = client(Employee);\n const officeObjectSet = client(Office);\n // @ts-expect-error\n employeeObjectSet.union(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.subtract(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.intersect(officeObjectSet);\n });\n it(\"can be cast bidirectionally\", () => {\n function takesOldStyleObjectSet(os) {\n return os;\n }\n function takesNewStyleObjectSet(os) {\n return os;\n }\n function maybe() {\n const newStyleObjectSet = client(Employee);\n const oldStyleObjectSet = newStyleObjectSet;\n takesOldStyleObjectSet(newStyleObjectSet);\n takesNewStyleObjectSet(newStyleObjectSet);\n takesOldStyleObjectSet(oldStyleObjectSet);\n takesNewStyleObjectSet(oldStyleObjectSet);\n }\n if (false) {\n // here for a simple type check\n maybe();\n }\n });\n it(\"objects set union\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const { data: employees } = await unionedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set subtract\", async () => {\n const objectSet = client(Employee);\n const objectSet2 = client(Employee).where({\n employeeId: 50030,\n });\n const subtractedObjectSet = objectSet.subtract(objectSet2);\n let iter = 0;\n const { data: employees } = await subtractedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50031 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set intersect\", async () => {\n const objectSet = client(Employee);\n const intersectedObjectSet = objectSet.intersect(objectSet);\n let iter = 0;\n const { data: employees } = await intersectedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50032);\n iter += 1;\n }\n expect(iter).toEqual(1);\n });\n it(\"orders objects in ascending order without a filter, and returns all results\", async () => {\n const { data: employees } = await client(Employee)\n .fetchPage({\n $orderBy: { \"employeeId\": \"asc\" },\n });\n expect(employees).toMatchObject([\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50030,\n class: \"Red\",\n employeeId: 50030,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"John Doe\",\n office: \"NYC\",\n startDate: \"2019-01-01\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $title: \"Jane Doe\",\n class: \"Blue\",\n employeeId: 50031,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"Jane Doe\",\n office: \"SEA\",\n startDate: \"2012-02-12\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50032,\n $title: \"Jack Smith\",\n class: \"Red\",\n employeeId: 50032,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"Jack Smith\",\n office: \"LON\",\n startDate: \"2015-05-15\",\n employeeLocation: expect.anything(),\n },\n ]);\n });\n it(\"allows fetching by PK from a base object set - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by rid with experimental function\", async () => {\n const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, \"ri.employee.i.look.for\");\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by rid with experimental function, with select\", async () => {\n const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, \"ri.employee.i.look.for\", { $select: [\"fullName\"] });\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee2.employeeId);\n });\n it(\"check struct parsing\", async () => {\n const player = await client(BgaoNflPlayer).fetchOne(\"tkelce\");\n expectTypeOf().toMatchTypeOf;\n expectTypeOf().toMatchTypeOf;\n const address1 = player.address.addressLine1;\n expectTypeOf().toMatchTypeOf;\n expect(address1).toEqual(\"15 Muppets Lane\");\n const address2 = player.address?.addressLine2;\n expectTypeOf().toMatchTypeOf;\n expect(address2).toEqual(\"Resort No 4\");\n const city = player.address?.city;\n expectTypeOf().toMatchTypeOf;\n expect(city).toEqual(\"Memphis\");\n const state = player.address?.state;\n expectTypeOf().toMatchTypeOf;\n expect(state).toEqual(\"TN\");\n const zipCode = player.address?.zipCode;\n expectTypeOf().toMatchTypeOf;\n expect(zipCode).toEqual(11100);\n expect(player.$primaryKey).toEqual(stubData.travisPlayer.__primaryKey);\n expect(player.address).toEqual(stubData.travisPlayer.address);\n });\n it(\"allows fetching by PK from a base object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\"allows fetching by PK from a base object set with selected properties - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a base object set with selected properties - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\"throws when fetching by PK with an object that does not exist - fetchOne\", async () => {\n await expect(client(Employee).fetchOne(-1)).rejects\n .toThrow();\n });\n it(\"throws when fetching by PK with an object that does not exist - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(-1);\n expectTypeOf().branded.toEqualTypeOf;\n expect(\"error\" in employeeResult);\n });\n it(\"allows fetching by PK from a pivoted object set - fetchOne\", async () => {\n const employee = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOne(stubData.employee1.employeeId);\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a pivoted object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOneWithErrors(stubData.employee1.employeeId);\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\" object set union works with fetchPageWithErrors\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const result = await unionedObjectSet.fetchPageWithErrors();\n if (isOk(result)) {\n const employees = result.value.data;\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n }\n });\n it(\"allows $in filter with ReadonlyArrays\", () => {\n const ids = [50030, 50031];\n const objectSet = client(Employee).where({\n employeeId: { $in: ids },\n });\n expect(objectSet).toBeDefined();\n });\n it(\"does not allow arbitrary keys when no properties\", () => {\n const ids = [50030, 50031];\n client(Employee).where({\n // @ts-expect-error\n employeeIdNonExistent: { $in: ids },\n });\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n it(\"type checking containsallterm and containsanyterm\", () => {\n const ids = [50030, 50031];\n client(Employee).where({\n $or: [{ fullName: { $containsAllTerms: \"John Smith\" } }, {\n office: { $containsAllTerms: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAllTerms: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAllTerms: { fuzzySearch: false } },\n }],\n });\n client(Employee).where({\n $or: [{ fullName: { $containsAnyTerm: \"John Smith\" } }, {\n office: { $containsAnyTerm: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAnyTerm: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAnyTerm: { fuzzySearch: false } },\n }],\n });\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n describe.each([\"fetchPage\", \"fetchPageWithErrors\"])(\"%s\", (k) => {\n // describe(\"strictNonNull: \\\"drop\\\"\", () => {\n // describe(\"includeRid: true\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: true,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Osdk<Employee, \"$rid\" | \"$all\">\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<\"$rid\">\n // >();\n // });\n // });\n // describe(\"includeRid: false\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: false,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<Osdk<Employee>>();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<never>\n // >();\n // });\n // });\n // });\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $includeRid: false,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe.each([\"fetchOne\", \"fetchOneWithErrors\"])(\"%s\", (k) => {\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n // Look at this\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: false,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe(\"conversions\", () => {\n describe(\"strictNonNull: false\", () => {\n it(\"returns bad data\", async () => {\n const result = await client(Employee).fetchPage({});\n const empNotStrict = result.data[0];\n const empNotStrict2 = empNotStrict;\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict.employeeId).toEqualTypeOf();\n expectTypeOf(empNotStrict2.employeeId).toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n const CheesedFoo = FooInterface;\n const cheesedFooNotStrict = result.data[0].$as(CheesedFoo);\n expectTypeOf(cheesedFooNotStrict).branded.toEqualTypeOf();\n cheesedFooNotStrict.fooSpt;\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|