@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":"aggregate.test.js","names":["objectTypeWithAllPropertyTypes","Todo","expectType","beforeAll","describe","expect","expectTypeOf","it","vi","createMinimalClient","aggregate","metadata","expectsClientVersion","ontologyRid","ontologyApiName","userAgent","mockFetch","clientCtx","fn","mockResolvedValue","ok","status","json","Promise","resolve","aggregationResponse","accuracy","data","group","string","metrics","name","value","toEqualTypeOf","notGrouped","type","objectType","$select","toHaveBeenCalledWith","body","JSON","stringify","method","headers","anything","approximateDistinct","exactDistinct","id","max","avg","$count","grouped","$groupBy","$exactWithLimit","integer","$ranges","short","float","$fixedWidth","dateTime","$duration","date","boolean","$group","wrongSelectKey","wrongKey","toBeCallableWith","direction","timestamp"],"sources":["aggregate.test.js"],"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 */\nimport { objectTypeWithAllPropertyTypes, Todo, } from \"@osdk/client.test.ontology\";\nimport { expectType } from \"ts-expect\";\nimport { beforeAll, describe, expect, expectTypeOf, it, vi, } from \"vitest\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport { aggregate } from \"./aggregate.js\";\nconst metadata = {\n expectsClientVersion: \"0.0.0\",\n ontologyRid: \"ri.a.b.c.d\",\n ontologyApiName: \"apiName\",\n userAgent: \"\",\n};\nlet mockFetch;\nlet clientCtx;\nbeforeAll(() => {\n mockFetch = vi.fn();\n mockFetch.mockResolvedValue({\n ok: true,\n status: 200,\n json: () => new Promise((resolve) => resolve(aggregationResponse)),\n });\n clientCtx = createMinimalClient(metadata, \"https://host.com\", async () => \"\", {}, mockFetch);\n});\nconst aggregationResponse = {\n accuracy: \"APPROXIMATE\",\n data: [\n {\n group: {\n string: \"hello\",\n },\n metrics: [\n {\n name: \"string.approximateDistinct\",\n value: 1,\n },\n {\n name: \"string.exactDistinct\",\n value: 1,\n },\n {\n name: \"id.max\",\n value: 1,\n },\n {\n name: \"id.avg\",\n value: 1,\n },\n ],\n },\n ],\n};\ndescribe(\"aggregate\", () => {\n it(\"works\", async () => {\n expectTypeOf().toEqualTypeOf;\n const notGrouped = await aggregate(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"string:approximateDistinct\": \"unordered\",\n \"string:exactDistinct\": \"unordered\",\n \"id:max\": \"unordered\",\n \"id:avg\": \"unordered\",\n \"$count\": \"unordered\",\n },\n });\n expect(mockFetch).toHaveBeenCalledWith(\"https://host.com/api/v2/ontologies/ri.a.b.c.d/objectSets/aggregate\", {\n body: JSON.stringify({\n \"objectSet\": { \"type\": \"base\", \"objectType\": \"ToDo\" },\n \"groupBy\": [],\n \"aggregation\": [\n {\n \"type\": \"approximateDistinct\",\n \"name\": \"string.approximateDistinct\",\n \"field\": \"string\",\n },\n {\n \"type\": \"exactDistinct\",\n \"name\": \"string.exactDistinct\",\n \"field\": \"string\",\n },\n { \"type\": \"max\", \"name\": \"id.max\", \"field\": \"id\" },\n { \"type\": \"avg\", \"name\": \"id.avg\", \"field\": \"id\" },\n { \"type\": \"count\", \"name\": \"count\" },\n ],\n }),\n method: \"POST\",\n headers: expect.anything(),\n });\n expectType(notGrouped.string.approximateDistinct);\n expectType(notGrouped.string.exactDistinct);\n expectType(notGrouped.id.max);\n expectType(notGrouped.id.avg);\n expectType(notGrouped.$count);\n expectType(false); // subSelect should hide unused keys\n const grouped = await aggregate(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"id:approximateDistinct\": \"unordered\",\n \"id:exactDistinct\": \"unordered\",\n \"id:max\": \"unordered\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n string: \"exact\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n dateTime: { $duration: [10, \"seconds\"] },\n date: { $ranges: [[\"2024-01-02\", \"2024-01-09\"]] },\n boolean: \"exact\",\n },\n });\n expectType(grouped);\n expectType(grouped[0].$group.string);\n expectType(grouped[0].id.approximateDistinct);\n expectType(grouped[0].id.exactDistinct);\n expectType(grouped[0].$group.id);\n expectType(grouped[0].$count);\n expectType(grouped[0].$group.integer);\n expectType(grouped[0].$group.short);\n expectType(grouped[0].$group.float);\n expectType(grouped[0].$group.dateTime);\n expectType(grouped[0].$group.date);\n expectType(grouped[0].$group.boolean);\n expectType({\n $select: {\n \"id:approximateDistinct\": \"unordered\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n string: \"exact\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n },\n });\n expectType({\n $select: {\n id: \"approximateDistinct\",\n // @ts-expect-error\n wrongSelectKey: \"don't work\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n // @ts-expect-error\n wrongKey: \"don't work\",\n string: \"exact\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n },\n });\n expectTypeOf().toBeCallableWith(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"id:approximateDistinct\": \"unordered\",\n // @ts-expect-error\n \"wrongSelectKey\": \"don't work\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n string: \"exact\",\n // @ts-expect-error\n wrongKey: \"wrongKey\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n },\n });\n expectType({\n dateTime: { $duration: [10, \"seconds\"] },\n date: { $duration: [1, \"years\"] },\n });\n // Can't use value greater than 1 for years\n expectType({\n // @ts-expect-error\n date: { $duration: [10, \"years\"] },\n });\n // Can't use arbitrary string for time unit\n expectType({\n // @ts-expect-error\n dateTime: { $duration: [1, \"nonexistentTimeUnit\"] },\n });\n // Can't use time unit smaller than days for date type\n expectType({\n // @ts-expect-error\n date: { $duration: [1, \"seconds\"] },\n });\n });\n it(\"works with $orderBy (no groups)\", async () => {\n const notGrouped = await aggregate(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"string:approximateDistinct\": \"asc\",\n \"id:exactDistinct\": \"asc\",\n \"id:avg\": \"desc\",\n \"id:max\": \"asc\",\n \"$count\": \"unordered\",\n },\n });\n expect(mockFetch).toHaveBeenCalledWith(\"https://host.com/api/v2/ontologies/ri.a.b.c.d/objectSets/aggregate\", {\n body: JSON.stringify({\n \"objectSet\": { \"type\": \"base\", \"objectType\": \"ToDo\" },\n \"groupBy\": [],\n \"aggregation\": [\n {\n \"type\": \"approximateDistinct\",\n \"name\": \"string.approximateDistinct\",\n direction: \"ASC\",\n \"field\": \"string\",\n },\n {\n \"type\": \"exactDistinct\",\n \"name\": \"id.exactDistinct\",\n direction: \"ASC\",\n \"field\": \"id\",\n },\n {\n \"type\": \"avg\",\n \"name\": \"id.avg\",\n direction: \"DESC\",\n \"field\": \"id\",\n },\n {\n \"type\": \"max\",\n \"name\": \"id.max\",\n direction: \"ASC\",\n \"field\": \"id\",\n },\n { \"type\": \"count\", \"name\": \"count\" },\n ],\n }),\n method: \"POST\",\n headers: expect.anything(),\n });\n expectType(notGrouped.string.approximateDistinct);\n expectType(notGrouped.id.exactDistinct);\n expectType(notGrouped.id.max);\n expectType(notGrouped.id.avg);\n expectType(notGrouped.$count);\n expectType(false); // subselect should hide unused keys\n });\n it(\"works with $orderBy (1 group)\", async () => {\n const grouped = await aggregate(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"id:max\": \"desc\",\n \"string:approximateDistinct\": \"asc\",\n \"id:avg\": \"unordered\",\n \"$count\": \"unordered\",\n \"string:exactDistinct\": \"desc\",\n },\n $groupBy: {\n id: \"exact\",\n },\n });\n expect(mockFetch).toHaveBeenCalledWith(\"https://host.com/api/v2/ontologies/ri.a.b.c.d/objectSets/aggregate\", {\n body: JSON.stringify({\n \"objectSet\": { \"type\": \"base\", \"objectType\": \"ToDo\" },\n \"groupBy\": [{ \"type\": \"exact\", \"field\": \"id\" }],\n \"aggregation\": [\n {\n \"type\": \"max\",\n \"name\": \"id.max\",\n direction: \"DESC\",\n \"field\": \"id\",\n },\n {\n \"type\": \"approximateDistinct\",\n \"name\": \"string.approximateDistinct\",\n direction: \"ASC\",\n \"field\": \"string\",\n },\n { \"type\": \"avg\", \"name\": \"id.avg\", \"field\": \"id\" },\n { \"type\": \"count\", \"name\": \"count\" },\n {\n \"type\": \"exactDistinct\",\n \"name\": \"string.exactDistinct\",\n direction: \"DESC\",\n \"field\": \"string\",\n },\n ],\n }),\n method: \"POST\",\n headers: expect.anything(),\n });\n expectType(grouped[0].string.approximateDistinct);\n expectType(grouped[0].id.max);\n expectType(grouped[0].id.avg);\n expectType(grouped[0].$count);\n expectType(grouped[0].string.exactDistinct);\n expectType(false); // subselect should hide unused keys\n });\n it(\"prohibits ordered select with multiple groupBy\", async () => {\n aggregate(clientCtx, Todo, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n // @ts-expect-error\n \"id:max\": \"desc\",\n // @ts-expect-error\n \"text:approximateDistinct\": \"asc\",\n // @ts-expect-error\n \"text:exactDistinct\": \"desc\",\n \"id:avg\": \"unordered\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n id: \"exact\",\n timestamp: \"exact\",\n },\n });\n });\n it(\"works with where: todo\", async () => {\n const f = {\n $select: {\n \"office:approximateDistinct\": \"unordered\",\n },\n };\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"aggregate.test.js","names":["objectTypeWithAllPropertyTypes","Todo","expectType","beforeAll","describe","expect","expectTypeOf","it","vi","createClient","createMinimalClient","aggregate","metadata","expectsClientVersion","ontologyRid","ontologyApiName","userAgent","mockFetch","clientCtx","client","fn","mockResolvedValue","ok","status","json","Promise","resolve","aggregationResponse","undefined","accuracy","data","group","string","metrics","name","value","toEqualTypeOf","notGrouped","type","objectType","$select","toHaveBeenCalledWith","body","JSON","stringify","method","headers","anything","approximateDistinct","exactDistinct","id","max","avg","$count","grouped","$groupBy","$exactWithLimit","integer","$ranges","short","float","$fixedWidth","dateTime","$duration","date","boolean","$group","wrongSelectKey","wrongKey","toBeCallableWith","direction","timestamp"],"sources":["aggregate.test.js"],"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 */\nimport { objectTypeWithAllPropertyTypes, Todo, } from \"@osdk/client.test.ontology\";\nimport { expectType } from \"ts-expect\";\nimport { beforeAll, describe, expect, expectTypeOf, it, vi, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport { aggregate } from \"./aggregate.js\";\nconst metadata = {\n expectsClientVersion: \"0.0.0\",\n ontologyRid: \"ri.a.b.c.d\",\n ontologyApiName: \"apiName\",\n userAgent: \"\",\n};\nlet mockFetch;\nlet clientCtx;\nlet client;\nbeforeAll(() => {\n mockFetch = vi.fn();\n mockFetch.mockResolvedValue({\n ok: true,\n status: 200,\n json: () => new Promise((resolve) => resolve(aggregationResponse)),\n });\n clientCtx = createMinimalClient(metadata, \"https://host.com\", async () => \"myAccessToken\", {}, mockFetch);\n client = createClient(\"https://host.com\", metadata.ontologyRid, async () => \"\", undefined, mockFetch);\n});\nconst aggregationResponse = {\n accuracy: \"APPROXIMATE\",\n data: [\n {\n group: {\n string: \"hello\",\n },\n metrics: [\n {\n name: \"string.approximateDistinct\",\n value: 1,\n },\n {\n name: \"string.exactDistinct\",\n value: 1,\n },\n {\n name: \"id.max\",\n value: 1,\n },\n {\n name: \"id.avg\",\n value: 1,\n },\n ],\n },\n ],\n};\ndescribe(\"aggregate\", () => {\n it(\"works\", async () => {\n expectTypeOf().toEqualTypeOf;\n const notGrouped = await aggregate(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"string:approximateDistinct\": \"unordered\",\n \"string:exactDistinct\": \"unordered\",\n \"id:max\": \"unordered\",\n \"id:avg\": \"unordered\",\n \"$count\": \"unordered\",\n },\n });\n expect(mockFetch).toHaveBeenCalledWith(\"https://host.com/api/v2/ontologies/ri.a.b.c.d/objectSets/aggregate\", {\n body: JSON.stringify({\n \"objectSet\": { \"type\": \"base\", \"objectType\": \"ToDo\" },\n \"groupBy\": [],\n \"aggregation\": [\n {\n \"type\": \"approximateDistinct\",\n \"name\": \"string.approximateDistinct\",\n \"field\": \"string\",\n },\n {\n \"type\": \"exactDistinct\",\n \"name\": \"string.exactDistinct\",\n \"field\": \"string\",\n },\n { \"type\": \"max\", \"name\": \"id.max\", \"field\": \"id\" },\n { \"type\": \"avg\", \"name\": \"id.avg\", \"field\": \"id\" },\n { \"type\": \"count\", \"name\": \"count\" },\n ],\n }),\n method: \"POST\",\n headers: expect.anything(),\n });\n expectType(notGrouped.string.approximateDistinct);\n expectType(notGrouped.string.exactDistinct);\n expectType(notGrouped.id.max);\n expectType(notGrouped.id.avg);\n expectType(notGrouped.$count);\n expectType(false); // subSelect should hide unused keys\n const grouped = await client(objectTypeWithAllPropertyTypes).aggregate({\n $select: {\n \"id:approximateDistinct\": \"unordered\",\n \"id:exactDistinct\": \"unordered\",\n \"id:max\": \"unordered\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n string: \"exact\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n dateTime: { $duration: [10, \"seconds\"] },\n date: { $ranges: [[\"2024-01-02\", \"2024-01-09\"]] },\n boolean: \"exact\",\n },\n });\n expectType(grouped);\n expectType(grouped[0].$group.string);\n expectType(grouped[0].id.approximateDistinct);\n expectType(grouped[0].id.exactDistinct);\n expectType(grouped[0].$group.id);\n expectType(grouped[0].$count);\n expectType(grouped[0].$group.integer);\n expectType(grouped[0].$group.short);\n expectType(grouped[0].$group.float);\n expectType(grouped[0].$group.dateTime);\n expectType(grouped[0].$group.date);\n expectType(grouped[0].$group.boolean);\n expectType({\n $select: {\n \"id:approximateDistinct\": \"unordered\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n string: \"exact\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n },\n });\n expectType({\n $select: {\n id: \"approximateDistinct\",\n // @ts-expect-error\n wrongSelectKey: \"don't work\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n // @ts-expect-error\n wrongKey: \"don't work\",\n string: \"exact\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n },\n });\n expectTypeOf().toBeCallableWith(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"id:approximateDistinct\": \"unordered\",\n // @ts-expect-error\n \"wrongSelectKey\": \"don't work\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n string: \"exact\",\n // @ts-expect-error\n wrongKey: \"wrongKey\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n },\n });\n expectType({\n dateTime: { $duration: [10, \"seconds\"] },\n date: { $duration: [1, \"years\"] },\n });\n // Can't use value greater than 1 for years\n expectType({\n // @ts-expect-error\n date: { $duration: [10, \"years\"] },\n });\n // Can't use arbitrary string for time unit\n expectType({\n // @ts-expect-error\n dateTime: { $duration: [1, \"nonexistentTimeUnit\"] },\n });\n // Can't use time unit smaller than days for date type\n expectType({\n // @ts-expect-error\n date: { $duration: [1, \"seconds\"] },\n });\n });\n it(\"works with $orderBy (no groups)\", async () => {\n const notGrouped = await aggregate(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"string:approximateDistinct\": \"asc\",\n \"id:exactDistinct\": \"asc\",\n \"id:avg\": \"desc\",\n \"id:max\": \"asc\",\n \"$count\": \"unordered\",\n },\n });\n expect(mockFetch).toHaveBeenCalledWith(\"https://host.com/api/v2/ontologies/ri.a.b.c.d/objectSets/aggregate\", {\n body: JSON.stringify({\n \"objectSet\": { \"type\": \"base\", \"objectType\": \"ToDo\" },\n \"groupBy\": [],\n \"aggregation\": [\n {\n \"type\": \"approximateDistinct\",\n \"name\": \"string.approximateDistinct\",\n direction: \"ASC\",\n \"field\": \"string\",\n },\n {\n \"type\": \"exactDistinct\",\n \"name\": \"id.exactDistinct\",\n direction: \"ASC\",\n \"field\": \"id\",\n },\n {\n \"type\": \"avg\",\n \"name\": \"id.avg\",\n direction: \"DESC\",\n \"field\": \"id\",\n },\n {\n \"type\": \"max\",\n \"name\": \"id.max\",\n direction: \"ASC\",\n \"field\": \"id\",\n },\n { \"type\": \"count\", \"name\": \"count\" },\n ],\n }),\n method: \"POST\",\n headers: expect.anything(),\n });\n expectType(notGrouped.string.approximateDistinct);\n expectType(notGrouped.id.exactDistinct);\n expectType(notGrouped.id.max);\n expectType(notGrouped.id.avg);\n expectType(notGrouped.$count);\n expectType(false); // subselect should hide unused keys\n });\n it(\"works with $orderBy (1 group)\", async () => {\n const grouped = await aggregate(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"id:max\": \"desc\",\n \"string:approximateDistinct\": \"asc\",\n \"id:avg\": \"unordered\",\n \"$count\": \"unordered\",\n \"string:exactDistinct\": \"desc\",\n },\n $groupBy: {\n id: \"exact\",\n },\n });\n expect(mockFetch).toHaveBeenCalledWith(\"https://host.com/api/v2/ontologies/ri.a.b.c.d/objectSets/aggregate\", {\n body: JSON.stringify({\n \"objectSet\": { \"type\": \"base\", \"objectType\": \"ToDo\" },\n \"groupBy\": [{ \"type\": \"exact\", \"field\": \"id\" }],\n \"aggregation\": [\n {\n \"type\": \"max\",\n \"name\": \"id.max\",\n direction: \"DESC\",\n \"field\": \"id\",\n },\n {\n \"type\": \"approximateDistinct\",\n \"name\": \"string.approximateDistinct\",\n direction: \"ASC\",\n \"field\": \"string\",\n },\n { \"type\": \"avg\", \"name\": \"id.avg\", \"field\": \"id\" },\n { \"type\": \"count\", \"name\": \"count\" },\n {\n \"type\": \"exactDistinct\",\n \"name\": \"string.exactDistinct\",\n direction: \"DESC\",\n \"field\": \"string\",\n },\n ],\n }),\n method: \"POST\",\n headers: expect.anything(),\n });\n expectType(grouped[0].string.approximateDistinct);\n expectType(grouped[0].id.max);\n expectType(grouped[0].id.avg);\n expectType(grouped[0].$count);\n expectType(grouped[0].string.exactDistinct);\n expectType(false); // subselect should hide unused keys\n });\n it(\"prohibits ordered select with multiple groupBy\", async () => {\n client(Todo).aggregate({\n $select: {\n // @ts-expect-error\n \"id:max\": \"desc\",\n // @ts-expect-error\n \"text:approximateDistinct\": \"asc\",\n // @ts-expect-error\n \"text:exactDistinct\": \"desc\",\n \"id:avg\": \"unordered\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n id: \"exact\",\n timestamp: \"exact\",\n },\n });\n });\n it(\"works with where: todo\", async () => {\n const f = {\n $select: {\n \"office:approximateDistinct\": \"unordered\",\n },\n };\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import type { FetchedObjectTypeDefinition } from "../../ontology/OntologyProvider.js";
|
|
3
|
-
import type { InterfaceDefRef, UnderlyingOsdkObject } from "./InternalSymbols.js";
|
|
4
|
-
import type { ObjectHolder } from "./ObjectHolder.js";
|
|
5
|
-
export interface InterfaceHolderOwnProps<Q extends FetchedObjectTypeDefinition> {
|
|
6
|
-
[UnderlyingOsdkObject]: Osdk<Q> & ObjectHolder<Q>;
|
|
7
|
-
[InterfaceDefRef]: InterfaceMetadata;
|
|
8
|
-
}
|
|
9
|
-
export interface InterfaceHolder<Q extends FetchedObjectTypeDefinition> extends InterfaceHolderOwnProps<Q> {
|
|
10
|
-
}
|
|
1
|
+
export {};
|
|
11
2
|
//# sourceMappingURL=InterfaceHolder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InterfaceHolder.d.ts","sourceRoot":"","sources":["../../../../src/object/convertWireToOsdkObjects/InterfaceHolder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InterfaceHolder.d.ts","sourceRoot":"","sources":["../../../../src/object/convertWireToOsdkObjects/InterfaceHolder.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
import type { ObjectOrInterfaceDefinition, OsdkBase } from "@osdk/api";
|
|
2
|
-
export declare const UnderlyingOsdkObject: unique symbol;
|
|
3
|
-
export declare const ObjectDefRef: unique symbol;
|
|
4
|
-
export declare const InterfaceDefRef: unique symbol;
|
|
5
|
-
/** A symbol for getting the raw data object off of the holder an osdk object proxy points to */
|
|
6
|
-
export declare const RawObject: unique symbol;
|
|
7
|
-
export declare const ClientRef: unique symbol;
|
|
8
|
-
export declare const CachedPropertiesRef: unique symbol;
|
|
9
2
|
export interface HolderBase<T extends ObjectOrInterfaceDefinition> {
|
|
10
3
|
[UnderlyingOsdkObject]: OsdkBase<any>;
|
|
11
4
|
[ObjectDefRef]?: T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalSymbols.d.ts","sourceRoot":"","sources":["../../../../src/object/convertWireToOsdkObjects/InternalSymbols.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"InternalSymbols.d.ts","sourceRoot":"","sources":["../../../../src/object/convertWireToOsdkObjects/InternalSymbols.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAsBvE,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,2BAA2B;IAC/D,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;CACvB"}
|
|
@@ -13,11 +13,12 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
/** @internal */
|
|
16
17
|
export const UnderlyingOsdkObject = Symbol("Underlying Object");
|
|
18
|
+
/** @internal */
|
|
17
19
|
export const ObjectDefRef = Symbol("ObjectDefinition");
|
|
20
|
+
/** @internal */
|
|
18
21
|
export const InterfaceDefRef = Symbol("InterfaceDefinition");
|
|
19
|
-
/**
|
|
20
|
-
export const RawObject = Symbol("RawObject");
|
|
22
|
+
/** @internal */
|
|
21
23
|
export const ClientRef = Symbol("ClientRef");
|
|
22
|
-
export const CachedPropertiesRef = Symbol("CachedProperties");
|
|
23
24
|
//# sourceMappingURL=InternalSymbols.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalSymbols.js","names":["UnderlyingOsdkObject","Symbol","ObjectDefRef","InterfaceDefRef","
|
|
1
|
+
{"version":3,"file":"InternalSymbols.js","names":["UnderlyingOsdkObject","Symbol","ObjectDefRef","InterfaceDefRef","ClientRef"],"sources":["InternalSymbols.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 */\n/** @internal */\nexport const UnderlyingOsdkObject = Symbol(process.env.MODE !== \"production\" ? \"Underlying Object\" : undefined);\n/** @internal */\nexport const ObjectDefRef = Symbol(process.env.MODE !== \"production\" ? \"ObjectDefinition\" : undefined);\n/** @internal */\nexport const InterfaceDefRef = Symbol(process.env.MODE !== \"production\" ? \"InterfaceDefinition\" : undefined);\n/** @internal */\nexport const ClientRef = Symbol(process.env.MODE !== \"production\" ? \"ClientRef\" : undefined);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,oBAAoB,GAAGC,MAAM,CAAqC,mBAA+B,CAAC;AAC/G;AACA,OAAO,MAAMC,YAAY,GAAGD,MAAM,CAAqC,kBAA8B,CAAC;AACtG;AACA,OAAO,MAAME,eAAe,GAAGF,MAAM,CAAqC,qBAAiC,CAAC;AAC5G;AACA,OAAO,MAAMG,SAAS,GAAGH,MAAM,CAAqC,WAAuB,CAAC","ignoreList":[]}
|
|
@@ -14,95 +14,51 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { extractNamespace } from "../../internal/conversions/modernToLegacyWhereClause.js";
|
|
17
|
-
import { createSimpleCache } from "../SimpleCache.js";
|
|
18
17
|
import { InterfaceDefRef, ObjectDefRef, UnderlyingOsdkObject } from "./InternalSymbols.js";
|
|
19
|
-
const handlerCache = createSimpleCache(new WeakMap(), createInterfaceProxyHandler);
|
|
20
18
|
/** @internal */
|
|
21
19
|
export function createOsdkInterface(underlying, interfaceDef) {
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
[
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
case "$objectType":
|
|
40
|
-
case "$rid":
|
|
41
|
-
return underlying[p] != null ? Reflect.getOwnPropertyDescriptor(underlying, p) : undefined;
|
|
42
|
-
case "$apiName":
|
|
43
|
-
return {
|
|
44
|
-
enumerable: true,
|
|
45
|
-
configurable: true,
|
|
46
|
-
value: target[InterfaceDefRef].apiName
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
const [objApiNamespace] = extractNamespace(newDef.apiName);
|
|
50
|
-
if (objApiNamespace != null) {
|
|
51
|
-
const [apiNamespace, apiName] = extractNamespace(p);
|
|
52
|
-
if (apiNamespace == null) {
|
|
53
|
-
p = `${objApiNamespace}.${apiName}`;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
if (newDef.properties[p] != null) {
|
|
57
|
-
return {
|
|
58
|
-
enumerable: true,
|
|
59
|
-
configurable: true,
|
|
60
|
-
value: underlying[objDef.interfaceMap[newDef.apiName][p]]
|
|
61
|
-
};
|
|
62
|
-
}
|
|
20
|
+
const [objApiNamespace] = extractNamespace(interfaceDef.apiName);
|
|
21
|
+
return Object.freeze(Object.defineProperties({}, {
|
|
22
|
+
// first to minimize hidden classes
|
|
23
|
+
[UnderlyingOsdkObject]: {
|
|
24
|
+
value: underlying
|
|
25
|
+
},
|
|
26
|
+
"$apiName": {
|
|
27
|
+
value: interfaceDef.apiName,
|
|
28
|
+
enumerable: true
|
|
29
|
+
},
|
|
30
|
+
"$as": {
|
|
31
|
+
value: underlying.$as,
|
|
32
|
+
enumerable: false
|
|
33
|
+
},
|
|
34
|
+
"$objectType": {
|
|
35
|
+
value: underlying.$objectType,
|
|
36
|
+
enumerable: "$objectType" in underlying
|
|
63
37
|
},
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
let propNames = Object.keys(newDef.properties);
|
|
68
|
-
if (objApiNamespace != null) {
|
|
69
|
-
propNames = propNames.map(p => {
|
|
70
|
-
const [apiNamespace, apiName] = extractNamespace(p);
|
|
71
|
-
if (apiNamespace === objApiNamespace) {
|
|
72
|
-
p = apiName;
|
|
73
|
-
}
|
|
74
|
-
return p;
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
return ["$apiName", "$objectType", "$primaryKey", ...(underlying["$rid"] ? ["$rid"] : []), "$title", ...propNames];
|
|
38
|
+
"$primaryKey": {
|
|
39
|
+
value: underlying.$primaryKey,
|
|
40
|
+
enumerable: "$primaryKey" in underlying
|
|
78
41
|
},
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
if (newDef.properties[p] != null) {
|
|
102
|
-
const objDef = target[UnderlyingOsdkObject][ObjectDefRef];
|
|
103
|
-
return underlying[objDef.interfaceMap[newDef.apiName][p]];
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
};
|
|
42
|
+
"$title": {
|
|
43
|
+
value: underlying.$title,
|
|
44
|
+
enumerable: "$title" in underlying
|
|
45
|
+
},
|
|
46
|
+
"$rid": {
|
|
47
|
+
value: underlying.$rid,
|
|
48
|
+
enumerable: "$rid" in underlying
|
|
49
|
+
},
|
|
50
|
+
[InterfaceDefRef]: {
|
|
51
|
+
value: interfaceDef
|
|
52
|
+
},
|
|
53
|
+
...Object.fromEntries(Object.keys(interfaceDef.properties).map(p => {
|
|
54
|
+
const objDef = underlying[ObjectDefRef];
|
|
55
|
+
const [apiNamespace, apiName] = extractNamespace(p);
|
|
56
|
+
const targetPropName = objDef.interfaceMap[interfaceDef.apiName][p];
|
|
57
|
+
return [apiNamespace === objApiNamespace ? apiName : p, {
|
|
58
|
+
enumerable: targetPropName in underlying,
|
|
59
|
+
value: underlying[targetPropName]
|
|
60
|
+
}];
|
|
61
|
+
}))
|
|
62
|
+
}));
|
|
107
63
|
}
|
|
108
64
|
//# sourceMappingURL=createOsdkInterface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createOsdkInterface.js","names":["extractNamespace","
|
|
1
|
+
{"version":3,"file":"createOsdkInterface.js","names":["extractNamespace","InterfaceDefRef","ObjectDefRef","UnderlyingOsdkObject","createOsdkInterface","underlying","interfaceDef","objApiNamespace","apiName","Object","freeze","defineProperties","value","enumerable","$as","$objectType","$primaryKey","$title","$rid","fromEntries","keys","properties","map","p","objDef","apiNamespace","targetPropName","interfaceMap"],"sources":["createOsdkInterface.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 { extractNamespace } from \"../../internal/conversions/modernToLegacyWhereClause.js\";\nimport { InterfaceDefRef, ObjectDefRef, UnderlyingOsdkObject, } from \"./InternalSymbols.js\";\n/** @internal */\nexport function createOsdkInterface(underlying, interfaceDef) {\n const [objApiNamespace] = extractNamespace(interfaceDef.apiName);\n return Object.freeze(Object.defineProperties({}, {\n // first to minimize hidden classes\n [UnderlyingOsdkObject]: { value: underlying },\n \"$apiName\": { value: interfaceDef.apiName, enumerable: true },\n \"$as\": {\n value: underlying.$as,\n enumerable: false,\n },\n \"$objectType\": {\n value: underlying.$objectType,\n enumerable: \"$objectType\" in underlying,\n },\n \"$primaryKey\": {\n value: underlying.$primaryKey,\n enumerable: \"$primaryKey\" in underlying,\n },\n \"$title\": {\n value: underlying.$title,\n enumerable: \"$title\" in underlying,\n },\n \"$rid\": {\n value: underlying.$rid,\n enumerable: \"$rid\" in underlying,\n },\n [InterfaceDefRef]: { value: interfaceDef },\n ...Object.fromEntries(Object.keys(interfaceDef.properties).map(p => {\n const objDef = underlying[ObjectDefRef];\n const [apiNamespace, apiName] = extractNamespace(p);\n const targetPropName = objDef\n .interfaceMap[interfaceDef.apiName][p];\n return [apiNamespace === objApiNamespace ? apiName : p, {\n enumerable: targetPropName in underlying,\n value: underlying[targetPropName],\n }];\n })),\n }));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,gBAAgB,QAAQ,yDAAyD;AAC1F,SAASC,eAAe,EAAEC,YAAY,EAAEC,oBAAoB,QAAS,sBAAsB;AAC3F;AACA,OAAO,SAASC,mBAAmBA,CAACC,UAAU,EAAEC,YAAY,EAAE;EAC1D,MAAM,CAACC,eAAe,CAAC,GAAGP,gBAAgB,CAACM,YAAY,CAACE,OAAO,CAAC;EAChE,OAAOC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,gBAAgB,CAAC,CAAC,CAAC,EAAE;IAC7C;IACA,CAACR,oBAAoB,GAAG;MAAES,KAAK,EAAEP;IAAW,CAAC;IAC7C,UAAU,EAAE;MAAEO,KAAK,EAAEN,YAAY,CAACE,OAAO;MAAEK,UAAU,EAAE;IAAK,CAAC;IAC7D,KAAK,EAAE;MACHD,KAAK,EAAEP,UAAU,CAACS,GAAG;MACrBD,UAAU,EAAE;IAChB,CAAC;IACD,aAAa,EAAE;MACXD,KAAK,EAAEP,UAAU,CAACU,WAAW;MAC7BF,UAAU,EAAE,aAAa,IAAIR;IACjC,CAAC;IACD,aAAa,EAAE;MACXO,KAAK,EAAEP,UAAU,CAACW,WAAW;MAC7BH,UAAU,EAAE,aAAa,IAAIR;IACjC,CAAC;IACD,QAAQ,EAAE;MACNO,KAAK,EAAEP,UAAU,CAACY,MAAM;MACxBJ,UAAU,EAAE,QAAQ,IAAIR;IAC5B,CAAC;IACD,MAAM,EAAE;MACJO,KAAK,EAAEP,UAAU,CAACa,IAAI;MACtBL,UAAU,EAAE,MAAM,IAAIR;IAC1B,CAAC;IACD,CAACJ,eAAe,GAAG;MAAEW,KAAK,EAAEN;IAAa,CAAC;IAC1C,GAAGG,MAAM,CAACU,WAAW,CAACV,MAAM,CAACW,IAAI,CAACd,YAAY,CAACe,UAAU,CAAC,CAACC,GAAG,CAACC,CAAC,IAAI;MAChE,MAAMC,MAAM,GAAGnB,UAAU,CAACH,YAAY,CAAC;MACvC,MAAM,CAACuB,YAAY,EAAEjB,OAAO,CAAC,GAAGR,gBAAgB,CAACuB,CAAC,CAAC;MACnD,MAAMG,cAAc,GAAGF,MAAM,CACxBG,YAAY,CAACrB,YAAY,CAACE,OAAO,CAAC,CAACe,CAAC,CAAC;MAC1C,OAAO,CAACE,YAAY,KAAKlB,eAAe,GAAGC,OAAO,GAAGe,CAAC,EAAE;QAChDV,UAAU,EAAEa,cAAc,IAAIrB,UAAU;QACxCO,KAAK,EAAEP,UAAU,CAACqB,cAAc;MACpC,CAAC,CAAC;IACV,CAAC,CAAC;EACN,CAAC,CAAC,CAAC;AACP","ignoreList":[]}
|
|
@@ -19,8 +19,6 @@ import { createOsdkInterface } from "./createOsdkInterface.js";
|
|
|
19
19
|
import { ObjectDefRef } from "./InternalSymbols.js";
|
|
20
20
|
describe(createOsdkInterface, () => {
|
|
21
21
|
it("works in the normal case", () => {
|
|
22
|
-
// underlying: Osdk<Q> & ObjectHolder<Q>,
|
|
23
|
-
// interfaceDef: InterfaceMetadata,
|
|
24
22
|
const iface = createOsdkInterface({
|
|
25
23
|
"foo": "hi mom",
|
|
26
24
|
[ObjectDefRef]: {
|
|
@@ -75,8 +73,6 @@ describe(createOsdkInterface, () => {
|
|
|
75
73
|
`);
|
|
76
74
|
});
|
|
77
75
|
it("properly maps apiNamespace", () => {
|
|
78
|
-
// underlying: Osdk<Q> & ObjectHolder<Q>,
|
|
79
|
-
// interfaceDef: InterfaceMetadata,
|
|
80
76
|
const iface = createOsdkInterface({
|
|
81
77
|
"foo": "hi mom",
|
|
82
78
|
[ObjectDefRef]: {
|
|
@@ -131,8 +127,6 @@ describe(createOsdkInterface, () => {
|
|
|
131
127
|
`);
|
|
132
128
|
});
|
|
133
129
|
it("works with mixed namespaces", () => {
|
|
134
|
-
// underlying: Osdk<Q> & ObjectHolder<Q>,
|
|
135
|
-
// interfaceDef: InterfaceMetadata,
|
|
136
130
|
const iface = createOsdkInterface({
|
|
137
131
|
"foo": "hi mom",
|
|
138
132
|
[ObjectDefRef]: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createOsdkInterface.test.js","names":["describe","expect","it","InterfaceDefinitions","createOsdkInterface","ObjectDefRef","iface","apiName","displayName","interfaceMap","inverseInterfaceMap","links","pluralDisplayName","primaryKeyApiName","primaryKeyType","properties","type","titleProperty","rid","status","implements","Object","keys","toMatchInlineSnapshot","asdf","toBe","JSON","stringify","undefined"],"sources":["createOsdkInterface.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 { describe, expect, it } from \"vitest\";\nimport { InterfaceDefinitions, } from \"../../ontology/OntologyProvider.js\";\nimport { createOsdkInterface } from \"./createOsdkInterface.js\";\nimport { ObjectDefRef } from \"./InternalSymbols.js\";\ndescribe(createOsdkInterface, () => {\n it(\"works in the normal case\", () => {\n const underlying = {\n \"foo\": \"hi mom\",\n [ObjectDefRef]: {\n [InterfaceDefinitions]: {},\n apiName: \"Obj\",\n displayName: \"\",\n interfaceMap: {\n \"IFoo\": {\n \"asdf\": \"foo\",\n },\n },\n inverseInterfaceMap: {},\n links: {},\n pluralDisplayName: \"\",\n primaryKeyApiName: \"\",\n primaryKeyType: \"string\",\n properties: {\n \"foo\": {\n type: \"string\",\n },\n },\n type: \"object\",\n titleProperty: \"foo\",\n rid: \"\",\n status: \"ACTIVE\",\n },\n };\n // underlying: Osdk<Q> & ObjectHolder<Q>,\n // interfaceDef: InterfaceMetadata,\n const iface = createOsdkInterface(underlying, {\n \"apiName\": \"IFoo\",\n displayName: \"\",\n links: {},\n properties: {\n \"asdf\": {\n type: \"string\",\n },\n },\n rid: \"\",\n type: \"interface\",\n implements: [],\n });\n expect(Object.keys(iface)).toMatchInlineSnapshot(`\n [\n \"$apiName\",\n \"asdf\",\n ]\n `);\n expect(iface.asdf).toBe(\"hi mom\");\n expect(JSON.stringify(iface, undefined, 2)).toMatchInlineSnapshot(`\n \"{\n \"$apiName\": \"IFoo\",\n \"asdf\": \"hi mom\"\n }\"\n `);\n });\n it(\"properly maps apiNamespace\", () => {\n const underlying = {\n \"foo\": \"hi mom\",\n [ObjectDefRef]: {\n [InterfaceDefinitions]: {},\n apiName: \"Obj\",\n displayName: \"\",\n interfaceMap: {\n \"a.IFoo\": {\n \"a.asdf\": \"foo\",\n },\n },\n inverseInterfaceMap: {},\n links: {},\n pluralDisplayName: \"\",\n primaryKeyApiName: \"\",\n primaryKeyType: \"string\",\n properties: {\n \"foo\": {\n type: \"string\",\n },\n },\n type: \"object\",\n titleProperty: \"foo\",\n rid: \"\",\n status: \"ACTIVE\",\n },\n };\n // underlying: Osdk<Q> & ObjectHolder<Q>,\n // interfaceDef: InterfaceMetadata,\n const iface = createOsdkInterface(underlying, {\n \"apiName\": \"a.IFoo\",\n displayName: \"\",\n links: {},\n properties: {\n \"a.asdf\": {\n type: \"string\",\n },\n },\n rid: \"\",\n type: \"interface\",\n implements: [],\n });\n expect(Object.keys(iface)).toMatchInlineSnapshot(`\n [\n \"$apiName\",\n \"asdf\",\n ]\n `);\n expect(iface.asdf).toBe(\"hi mom\");\n expect(JSON.stringify(iface, undefined, 2)).toMatchInlineSnapshot(`\n \"{\n \"$apiName\": \"a.IFoo\",\n \"asdf\": \"hi mom\"\n }\"\n `);\n });\n it(\"works with mixed namespaces\", () => {\n const underlying = {\n \"foo\": \"hi mom\",\n [ObjectDefRef]: {\n [InterfaceDefinitions]: {},\n apiName: \"Obj\",\n displayName: \"\",\n interfaceMap: {\n \"a.IFoo\": {\n \"b.asdf\": \"foo\",\n },\n },\n inverseInterfaceMap: {},\n links: {},\n pluralDisplayName: \"\",\n primaryKeyApiName: \"\",\n primaryKeyType: \"string\",\n properties: {\n \"foo\": {\n type: \"string\",\n },\n },\n type: \"object\",\n titleProperty: \"foo\",\n rid: \"\",\n status: \"ACTIVE\",\n },\n };\n // underlying: Osdk<Q> & ObjectHolder<Q>,\n // interfaceDef: InterfaceMetadata,\n const iface = createOsdkInterface(underlying, {\n \"apiName\": \"a.IFoo\",\n displayName: \"\",\n links: {},\n properties: {\n \"b.asdf\": {\n type: \"string\",\n },\n },\n rid: \"\",\n type: \"interface\",\n implements: [],\n });\n expect(Object.keys(iface)).toMatchInlineSnapshot(`\n [\n \"$apiName\",\n \"b.asdf\",\n ]\n `);\n expect(iface[\"b.asdf\"]).toBe(\"hi mom\");\n expect(JSON.stringify(iface, undefined, 2)).toMatchInlineSnapshot(`\n \"{\n \"$apiName\": \"a.IFoo\",\n \"b.asdf\": \"hi mom\"\n }\"\n `);\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAC7C,SAASC,oBAAoB,QAAS,oCAAoC;AAC1E,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SAASC,YAAY,QAAQ,sBAAsB;AACnDL,QAAQ,CAACI,mBAAmB,EAAE,MAAM;EAChCF,EAAE,CAAC,0BAA0B,EAAE,MAAM;IA4BjC;IACA;IACA,MAAMI,KAAK,GAAGF,mBAAmB,CA7Bd;MACf,KAAK,EAAE,QAAQ;MACf,CAACC,YAAY,GAAG;QACZ,CAACF,oBAAoB,GAAG,CAAC,CAAC;QAC1BI,OAAO,EAAE,KAAK;QACdC,WAAW,EAAE,EAAE;QACfC,YAAY,EAAE;UACV,MAAM,EAAE;YACJ,MAAM,EAAE;UACZ;QACJ,CAAC;QACDC,mBAAmB,EAAE,CAAC,CAAC;QACvBC,KAAK,EAAE,CAAC,CAAC;QACTC,iBAAiB,EAAE,EAAE;QACrBC,iBAAiB,EAAE,EAAE;QACrBC,cAAc,EAAE,QAAQ;QACxBC,UAAU,EAAE;UACR,KAAK,EAAE;YACHC,IAAI,EAAE;UACV;QACJ,CAAC;QACDA,IAAI,EAAE,QAAQ;QACdC,aAAa,EAAE,KAAK;QACpBC,GAAG,EAAE,EAAE;QACPC,MAAM,EAAE;MACZ;IACJ,CAAC,EAG6C;MAC1C,SAAS,EAAE,MAAM;MACjBX,WAAW,EAAE,EAAE;MACfG,KAAK,EAAE,CAAC,CAAC;MACTI,UAAU,EAAE;QACR,MAAM,EAAE;UACJC,IAAI,EAAE;QACV;MACJ,CAAC;MACDE,GAAG,EAAE,EAAE;MACPF,IAAI,EAAE,WAAW;MACjBI,UAAU,EAAE;IAChB,CAAC,CAAC;IACFnB,MAAM,CAACoB,MAAM,CAACC,IAAI,CAAChB,KAAK,CAAC,CAAC,CAACiB,qBAAqB,CAAC;AACzD;AACA;AACA;AACA;AACA,KAAK,CAAC;IACEtB,MAAM,CAACK,KAAK,CAACkB,IAAI,CAAC,CAACC,IAAI,CAAC,QAAQ,CAAC;IACjCxB,MAAM,CAACyB,IAAI,CAACC,SAAS,CAACrB,KAAK,EAAEsB,SAAS,EAAE,CAAC,CAAC,CAAC,CAACL,qBAAqB,CAAC;AAC1E;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACFrB,EAAE,CAAC,4BAA4B,EAAE,MAAM;IA4BnC;IACA;IACA,MAAMI,KAAK,GAAGF,mBAAmB,CA7Bd;MACf,KAAK,EAAE,QAAQ;MACf,CAACC,YAAY,GAAG;QACZ,CAACF,oBAAoB,GAAG,CAAC,CAAC;QAC1BI,OAAO,EAAE,KAAK;QACdC,WAAW,EAAE,EAAE;QACfC,YAAY,EAAE;UACV,QAAQ,EAAE;YACN,QAAQ,EAAE;UACd;QACJ,CAAC;QACDC,mBAAmB,EAAE,CAAC,CAAC;QACvBC,KAAK,EAAE,CAAC,CAAC;QACTC,iBAAiB,EAAE,EAAE;QACrBC,iBAAiB,EAAE,EAAE;QACrBC,cAAc,EAAE,QAAQ;QACxBC,UAAU,EAAE;UACR,KAAK,EAAE;YACHC,IAAI,EAAE;UACV;QACJ,CAAC;QACDA,IAAI,EAAE,QAAQ;QACdC,aAAa,EAAE,KAAK;QACpBC,GAAG,EAAE,EAAE;QACPC,MAAM,EAAE;MACZ;IACJ,CAAC,EAG6C;MAC1C,SAAS,EAAE,QAAQ;MACnBX,WAAW,EAAE,EAAE;MACfG,KAAK,EAAE,CAAC,CAAC;MACTI,UAAU,EAAE;QACR,QAAQ,EAAE;UACNC,IAAI,EAAE;QACV;MACJ,CAAC;MACDE,GAAG,EAAE,EAAE;MACPF,IAAI,EAAE,WAAW;MACjBI,UAAU,EAAE;IAChB,CAAC,CAAC;IACFnB,MAAM,CAACoB,MAAM,CAACC,IAAI,CAAChB,KAAK,CAAC,CAAC,CAACiB,qBAAqB,CAAC;AACzD;AACA;AACA;AACA;AACA,KAAK,CAAC;IACEtB,MAAM,CAACK,KAAK,CAACkB,IAAI,CAAC,CAACC,IAAI,CAAC,QAAQ,CAAC;IACjCxB,MAAM,CAACyB,IAAI,CAACC,SAAS,CAACrB,KAAK,EAAEsB,SAAS,EAAE,CAAC,CAAC,CAAC,CAACL,qBAAqB,CAAC;AAC1E;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACFrB,EAAE,CAAC,6BAA6B,EAAE,MAAM;IA4BpC;IACA;IACA,MAAMI,KAAK,GAAGF,mBAAmB,CA7Bd;MACf,KAAK,EAAE,QAAQ;MACf,CAACC,YAAY,GAAG;QACZ,CAACF,oBAAoB,GAAG,CAAC,CAAC;QAC1BI,OAAO,EAAE,KAAK;QACdC,WAAW,EAAE,EAAE;QACfC,YAAY,EAAE;UACV,QAAQ,EAAE;YACN,QAAQ,EAAE;UACd;QACJ,CAAC;QACDC,mBAAmB,EAAE,CAAC,CAAC;QACvBC,KAAK,EAAE,CAAC,CAAC;QACTC,iBAAiB,EAAE,EAAE;QACrBC,iBAAiB,EAAE,EAAE;QACrBC,cAAc,EAAE,QAAQ;QACxBC,UAAU,EAAE;UACR,KAAK,EAAE;YACHC,IAAI,EAAE;UACV;QACJ,CAAC;QACDA,IAAI,EAAE,QAAQ;QACdC,aAAa,EAAE,KAAK;QACpBC,GAAG,EAAE,EAAE;QACPC,MAAM,EAAE;MACZ;IACJ,CAAC,EAG6C;MAC1C,SAAS,EAAE,QAAQ;MACnBX,WAAW,EAAE,EAAE;MACfG,KAAK,EAAE,CAAC,CAAC;MACTI,UAAU,EAAE;QACR,QAAQ,EAAE;UACNC,IAAI,EAAE;QACV;MACJ,CAAC;MACDE,GAAG,EAAE,EAAE;MACPF,IAAI,EAAE,WAAW;MACjBI,UAAU,EAAE;IAChB,CAAC,CAAC;IACFnB,MAAM,CAACoB,MAAM,CAACC,IAAI,CAAChB,KAAK,CAAC,CAAC,CAACiB,qBAAqB,CAAC;AACzD;AACA;AACA;AACA;AACA,KAAK,CAAC;IACEtB,MAAM,CAACK,KAAK,CAAC,QAAQ,CAAC,CAAC,CAACmB,IAAI,CAAC,QAAQ,CAAC;IACtCxB,MAAM,CAACyB,IAAI,CAACC,SAAS,CAACrB,KAAK,EAAEsB,SAAS,EAAE,CAAC,CAAC,CAAC,CAACL,qBAAqB,CAAC;AAC1E;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"createOsdkInterface.test.js","names":["describe","expect","it","InterfaceDefinitions","createOsdkInterface","ObjectDefRef","iface","apiName","displayName","interfaceMap","inverseInterfaceMap","links","pluralDisplayName","primaryKeyApiName","primaryKeyType","properties","type","titleProperty","rid","status","implements","Object","keys","toMatchInlineSnapshot","asdf","toBe","JSON","stringify","undefined"],"sources":["createOsdkInterface.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 { describe, expect, it } from \"vitest\";\nimport { InterfaceDefinitions, } from \"../../ontology/OntologyProvider.js\";\nimport { createOsdkInterface } from \"./createOsdkInterface.js\";\nimport { ObjectDefRef } from \"./InternalSymbols.js\";\ndescribe(createOsdkInterface, () => {\n it(\"works in the normal case\", () => {\n const underlying = {\n \"foo\": \"hi mom\",\n [ObjectDefRef]: {\n [InterfaceDefinitions]: {},\n apiName: \"Obj\",\n displayName: \"\",\n interfaceMap: {\n \"IFoo\": {\n \"asdf\": \"foo\",\n },\n },\n inverseInterfaceMap: {},\n links: {},\n pluralDisplayName: \"\",\n primaryKeyApiName: \"\",\n primaryKeyType: \"string\",\n properties: {\n \"foo\": {\n type: \"string\",\n },\n },\n type: \"object\",\n titleProperty: \"foo\",\n rid: \"\",\n status: \"ACTIVE\",\n },\n };\n const iface = createOsdkInterface(underlying, {\n \"apiName\": \"IFoo\",\n displayName: \"\",\n links: {},\n properties: {\n \"asdf\": {\n type: \"string\",\n },\n },\n rid: \"\",\n type: \"interface\",\n implements: [],\n });\n expect(Object.keys(iface)).toMatchInlineSnapshot(`\n [\n \"$apiName\",\n \"asdf\",\n ]\n `);\n expect(iface.asdf).toBe(\"hi mom\");\n expect(JSON.stringify(iface, undefined, 2)).toMatchInlineSnapshot(`\n \"{\n \"$apiName\": \"IFoo\",\n \"asdf\": \"hi mom\"\n }\"\n `);\n });\n it(\"properly maps apiNamespace\", () => {\n const underlying = {\n \"foo\": \"hi mom\",\n [ObjectDefRef]: {\n [InterfaceDefinitions]: {},\n apiName: \"Obj\",\n displayName: \"\",\n interfaceMap: {\n \"a.IFoo\": {\n \"a.asdf\": \"foo\",\n },\n },\n inverseInterfaceMap: {},\n links: {},\n pluralDisplayName: \"\",\n primaryKeyApiName: \"\",\n primaryKeyType: \"string\",\n properties: {\n \"foo\": {\n type: \"string\",\n },\n },\n type: \"object\",\n titleProperty: \"foo\",\n rid: \"\",\n status: \"ACTIVE\",\n },\n };\n const iface = createOsdkInterface(underlying, {\n \"apiName\": \"a.IFoo\",\n displayName: \"\",\n links: {},\n properties: {\n \"a.asdf\": {\n type: \"string\",\n },\n },\n rid: \"\",\n type: \"interface\",\n implements: [],\n });\n expect(Object.keys(iface)).toMatchInlineSnapshot(`\n [\n \"$apiName\",\n \"asdf\",\n ]\n `);\n expect(iface.asdf).toBe(\"hi mom\");\n expect(JSON.stringify(iface, undefined, 2)).toMatchInlineSnapshot(`\n \"{\n \"$apiName\": \"a.IFoo\",\n \"asdf\": \"hi mom\"\n }\"\n `);\n });\n it(\"works with mixed namespaces\", () => {\n const underlying = {\n \"foo\": \"hi mom\",\n [ObjectDefRef]: {\n [InterfaceDefinitions]: {},\n apiName: \"Obj\",\n displayName: \"\",\n interfaceMap: {\n \"a.IFoo\": {\n \"b.asdf\": \"foo\",\n },\n },\n inverseInterfaceMap: {},\n links: {},\n pluralDisplayName: \"\",\n primaryKeyApiName: \"\",\n primaryKeyType: \"string\",\n properties: {\n \"foo\": {\n type: \"string\",\n },\n },\n type: \"object\",\n titleProperty: \"foo\",\n rid: \"\",\n status: \"ACTIVE\",\n },\n };\n const iface = createOsdkInterface(underlying, {\n \"apiName\": \"a.IFoo\",\n displayName: \"\",\n links: {},\n properties: {\n \"b.asdf\": {\n type: \"string\",\n },\n },\n rid: \"\",\n type: \"interface\",\n implements: [],\n });\n expect(Object.keys(iface)).toMatchInlineSnapshot(`\n [\n \"$apiName\",\n \"b.asdf\",\n ]\n `);\n expect(iface[\"b.asdf\"]).toBe(\"hi mom\");\n expect(JSON.stringify(iface, undefined, 2)).toMatchInlineSnapshot(`\n \"{\n \"$apiName\": \"a.IFoo\",\n \"b.asdf\": \"hi mom\"\n }\"\n `);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|