@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
package/build/esm/Client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","names":["
|
|
1
|
+
{"version":3,"file":"Client.js","names":["additionalContext","Symbol","MaxOsdkVersion","ErrorMessage"],"sources":["Client.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 */\n// DO NOT EXPORT FROM PACKAGE\n/** @internal */\nexport const additionalContext = Symbol(\"additionalContext\");\n// BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.\nconst MaxOsdkVersion = \"2.1.0\";\nconst ErrorMessage = Symbol(\"ErrorMessage\");\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,iBAAiB,GAAGC,MAAM,CAAC,mBAAmB,CAAC;AAC5D;AACA,MAAMC,cAAc,GAAG,OAAO;AAC9B,MAAMC,YAAY,GAAGF,MAAM,CAAC,cAAc,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SharedClientContext } from "@osdk/shared.
|
|
1
|
+
import type { SharedClientContext } from "@osdk/shared.client2";
|
|
2
2
|
import type { Logger } from "./Logger.js";
|
|
3
3
|
import type { OntologyProvider } from "./ontology/OntologyProvider.js";
|
|
4
4
|
declare const tag: unique symbol;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MinimalClientContext.d.ts","sourceRoot":"","sources":["../../src/MinimalClientContext.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MinimalClientContext.d.ts","sourceRoot":"","sources":["../../src/MinimalClientContext.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAM1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,MAAM,CAAC;AAEjC,MAAM,MAAM,cAAc,GAAG,EAAE,GAAG;IAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAQhB,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,QAAQ,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC"}
|
|
@@ -20,7 +20,7 @@ import { makeConjureContext } from "../ontology/makeConjureContext.js";
|
|
|
20
20
|
let cachedAllOntologies;
|
|
21
21
|
async function getOntologyVersionForRid(ctx, ontologyRid) {
|
|
22
22
|
cachedAllOntologies ??= await loadAllOntologies(ctx, {});
|
|
23
|
-
!cachedAllOntologies.ontologies[ontologyRid] ? invariant(false, "ontology should be loaded") : void 0;
|
|
23
|
+
!cachedAllOntologies.ontologies[ontologyRid] ? process.env.NODE_ENV !== "production" ? invariant(false, "ontology should be loaded") : invariant(false) : void 0;
|
|
24
24
|
return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;
|
|
25
25
|
}
|
|
26
26
|
const strongMemoSync = fn => createSimpleCache(new Map(), fn).get;
|
|
@@ -33,7 +33,7 @@ export class MetadataClient {
|
|
|
33
33
|
#logger;
|
|
34
34
|
constructor(client) {
|
|
35
35
|
this.#client = client;
|
|
36
|
-
this.#ctx = makeConjureContext(client, "
|
|
36
|
+
this.#ctx = makeConjureContext(client, "ontology-metadata/api");
|
|
37
37
|
this.#client.ontologyProvider.getObjectDefinition;
|
|
38
38
|
this.#logger = this.#client.logger?.child({
|
|
39
39
|
mcc: true
|
|
@@ -64,7 +64,7 @@ export class MetadataClient {
|
|
|
64
64
|
[objectTypeRid]: await this.ontologyVersion("")
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
|
-
!linkTypes.linkTypes[objectTypeRid] ? invariant(false, "link type should be loaded") : void 0;
|
|
67
|
+
!linkTypes.linkTypes[objectTypeRid] ? process.env.NODE_ENV !== "production" ? invariant(false, "link type should be loaded") : invariant(false) : void 0;
|
|
68
68
|
// apiName to content
|
|
69
69
|
const ret = {};
|
|
70
70
|
for (const l of linkTypes.linkTypes[objectTypeRid]) {
|
|
@@ -140,14 +140,14 @@ export class MetadataClient {
|
|
|
140
140
|
includeEntityMetadata: undefined
|
|
141
141
|
};
|
|
142
142
|
const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);
|
|
143
|
-
!entities.objectTypes[0]?.objectType ? invariant(false, "object type should be loaded") : void 0;
|
|
143
|
+
!entities.objectTypes[0]?.objectType ? process.env.NODE_ENV !== "production" ? invariant(false, "object type should be loaded") : invariant(false) : void 0;
|
|
144
144
|
return entities.objectTypes[0].objectType;
|
|
145
145
|
});
|
|
146
146
|
ontologyVersion = strongMemoAsync(async () => getOntologyVersionForRid(this.#ctx, await this.#client.ontologyRid));
|
|
147
147
|
}
|
|
148
148
|
export const metadataCacheClient = weakMemoAsync(client => Promise.resolve(new MetadataClient(client)));
|
|
149
149
|
function createObjectPropertyMapping(conjureOT) {
|
|
150
|
-
!(conjureOT.primaryKeys.length === 1) ? invariant(false, `only one primary key supported, got ${conjureOT.primaryKeys.length}`) : void 0;
|
|
150
|
+
!(conjureOT.primaryKeys.length === 1) ? process.env.NODE_ENV !== "production" ? invariant(false, `only one primary key supported, got ${conjureOT.primaryKeys.length}`) : invariant(false) : void 0;
|
|
151
151
|
const pkRid = conjureOT.primaryKeys[0];
|
|
152
152
|
const pkProperty = Object.values(conjureOT.propertyTypes).find(a => a.rid === pkRid);
|
|
153
153
|
if (!pkProperty) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConjureSupport.js","names":["bulkLoadOntologyEntities","getLinkTypesForObjectTypes","loadAllOntologies","invariant","createSimpleAsyncCache","createSimpleCache","makeConjureContext","cachedAllOntologies","getOntologyVersionForRid","ctx","ontologyRid","ontologies","currentOntologyVersion","strongMemoSync","fn","Map","get","weakMemoSync","WeakMap","strongMemoAsync","weakMemoAsync","MetadataClient","client","logger","constructor","ontologyProvider","getObjectDefinition","child","mcc","forObjectByRid","rid","Promise","resolve","getPropertyMapping","objectPropertyMapping","bind","getLinkMapping","objectLinkMapping","getRid","getApiName","getConjureObjectType","apiName","forObjectByApiName","objectApiName","objectDef","objectTypeRid","conjureObjectType","createObjectPropertyMapping","linkTypes","includeObjectTypesWithoutSearchableDatasources","loadRedacted","objectTypeBranches","objectTypeVersions","ontologyVersion","ret","l","helper","linkSide","otherObjectType","directedLinkTypeRid","linkTypeRid","definition","type","oneToMany","objectTypeRidManySide","manyToOneLinkMetadata","objectTypeRidOneSide","oneToManyLinkMetadata","manyToMany","objectTypeRidA","objectTypeAToBLinkMetadata","objectTypeRidB","objectTypeBToALinkMetadata","debug","body","datasourceTypes","objectTypes","identifier","versionReference","sharedPropertyTypes","interfaceTypes","typeGroups","includeObjectTypeCount","undefined","includeEntityMetadata","entities","objectType","metadataCacheClient","conjureOT","primaryKeys","length","pkRid","pkProperty","Object","values","propertyTypes","find","a","Error","propertyIdToApiNameMapping","fromEntries","map","property","id","propertyApiNameToIdMapping","pk"],"sources":["ConjureSupport.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 { bulkLoadOntologyEntities, getLinkTypesForObjectTypes, loadAllOntologies, } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { createSimpleAsyncCache, createSimpleCache, } from \"../object/SimpleCache.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nlet cachedAllOntologies;\nasync function getOntologyVersionForRid(ctx, ontologyRid) {\n cachedAllOntologies ??= await loadAllOntologies(ctx, {});\n invariant(cachedAllOntologies.ontologies[ontologyRid], \"ontology should be loaded\");\n return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;\n}\nconst strongMemoSync = (fn) => createSimpleCache(new Map(), fn).get;\nconst weakMemoSync = (fn) => createSimpleCache(new WeakMap(), fn).get; // FIXME\nconst strongMemoAsync = (fn) => createSimpleAsyncCache(\"strong\", fn).get;\nconst weakMemoAsync = (fn) => createSimpleAsyncCache(\"weak\", fn).get;\nexport class MetadataClient {\n #client;\n #ctx;\n #logger;\n constructor(client) {\n this.#client = client;\n this.#ctx = makeConjureContext(client, \"/ontology-metadata/api\");\n this.#client.ontologyProvider.getObjectDefinition;\n this.#logger = this.#client.logger?.child({\n mcc: true,\n });\n }\n forObjectByRid = strongMemoAsync(async (rid) => {\n return Promise.resolve({\n getPropertyMapping: this.#objectPropertyMapping.bind(this, rid),\n getLinkMapping: this.#objectLinkMapping.bind(this, rid),\n getRid: () => rid,\n getApiName: async () => (await this.#getConjureObjectType(rid)).apiName,\n });\n });\n forObjectByApiName = strongMemoAsync(async (objectApiName) => {\n const objectDef = await this.#client.ontologyProvider.getObjectDefinition(objectApiName);\n return this.forObjectByRid(objectDef.rid);\n });\n #objectPropertyMapping = strongMemoAsync(async (objectTypeRid) => {\n const conjureObjectType = await this.#getConjureObjectType(objectTypeRid);\n return createObjectPropertyMapping(conjureObjectType);\n });\n #objectLinkMapping = strongMemoAsync(async (objectTypeRid) => {\n const linkTypes = await getLinkTypesForObjectTypes(this.#ctx, {\n includeObjectTypesWithoutSearchableDatasources: true,\n loadRedacted: false,\n objectTypeBranches: {},\n objectTypeVersions: {\n [objectTypeRid]: await this.ontologyVersion(\"\"),\n },\n });\n invariant(linkTypes.linkTypes[objectTypeRid], \"link type should be loaded\");\n // apiName to content\n const ret = {};\n for (const l of linkTypes.linkTypes[objectTypeRid]) {\n const helper = ({ apiName }, linkSide, otherObjectType) => {\n if (apiName) {\n ret[apiName] = {\n apiName,\n directedLinkTypeRid: {\n linkTypeRid: l.rid,\n linkSide,\n },\n otherObjectType,\n };\n }\n };\n if (l.definition.type === \"oneToMany\") {\n const { oneToMany: { objectTypeRidManySide, manyToOneLinkMetadata, objectTypeRidOneSide, oneToManyLinkMetadata, }, } = l.definition;\n if (objectTypeRidManySide === objectTypeRid) {\n helper(manyToOneLinkMetadata, \"TARGET\", objectTypeRidOneSide);\n }\n if (objectTypeRidOneSide === objectTypeRid) {\n helper(oneToManyLinkMetadata, \"SOURCE\", objectTypeRidManySide);\n }\n }\n else if (l.definition.type === \"manyToMany\") {\n const { manyToMany: { objectTypeRidA, objectTypeAToBLinkMetadata, objectTypeRidB, objectTypeBToALinkMetadata, }, } = l.definition;\n if (objectTypeRidA === objectTypeRid) {\n helper(objectTypeAToBLinkMetadata, \"SOURCE\", objectTypeRidB);\n }\n if (objectTypeRidB === objectTypeRid) {\n helper(objectTypeBToALinkMetadata, \"TARGET\", objectTypeRidA);\n }\n }\n }\n return ret;\n });\n #getConjureObjectType = strongMemoAsync(async (objectTypeRid) => {\n this.#logger?.debug(`getConjureObjectType(${objectTypeRid})`);\n const body = {\n datasourceTypes: [],\n objectTypes: [{\n identifier: {\n type: \"objectTypeRid\",\n objectTypeRid: objectTypeRid,\n },\n versionReference: {\n type: \"ontologyVersion\",\n ontologyVersion: await this.ontologyVersion(\"\"),\n },\n }],\n linkTypes: [],\n sharedPropertyTypes: [],\n interfaceTypes: [],\n typeGroups: [],\n loadRedacted: false,\n includeObjectTypeCount: undefined,\n includeObjectTypesWithoutSearchableDatasources: true,\n includeEntityMetadata: undefined,\n };\n const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);\n invariant(entities.objectTypes[0]?.objectType, \"object type should be loaded\");\n return entities.objectTypes[0].objectType;\n });\n ontologyVersion = strongMemoAsync(async (_) => getOntologyVersionForRid(this.#ctx, await this.#client.ontologyRid));\n}\nexport const metadataCacheClient = weakMemoAsync((client) => Promise.resolve(new MetadataClient(client)));\nfunction createObjectPropertyMapping(conjureOT) {\n invariant(conjureOT.primaryKeys.length === 1, `only one primary key supported, got ${conjureOT.primaryKeys.length}`);\n const pkRid = conjureOT.primaryKeys[0];\n const pkProperty = Object.values(conjureOT.propertyTypes).find(a => a.rid === pkRid);\n if (!pkProperty) {\n throw new Error(`Could not find PK property by rid: ${pkRid}`);\n }\n const propertyIdToApiNameMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.id, property.apiName];\n }));\n const propertyApiNameToIdMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.apiName, property.id];\n }));\n return {\n apiName: conjureOT.apiName,\n id: conjureOT.id,\n propertyIdToApiNameMapping,\n propertyApiNameToIdMapping,\n pk: {\n rid: pkRid,\n apiName: pkProperty.apiName,\n type: pkProperty.type,\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ConjureSupport.js","names":["bulkLoadOntologyEntities","getLinkTypesForObjectTypes","loadAllOntologies","invariant","createSimpleAsyncCache","createSimpleCache","makeConjureContext","cachedAllOntologies","getOntologyVersionForRid","ctx","ontologyRid","ontologies","process","env","NODE_ENV","currentOntologyVersion","strongMemoSync","fn","Map","get","weakMemoSync","WeakMap","strongMemoAsync","weakMemoAsync","MetadataClient","client","logger","constructor","ontologyProvider","getObjectDefinition","child","mcc","forObjectByRid","rid","Promise","resolve","getPropertyMapping","objectPropertyMapping","bind","getLinkMapping","objectLinkMapping","getRid","getApiName","getConjureObjectType","apiName","forObjectByApiName","objectApiName","objectDef","objectTypeRid","conjureObjectType","createObjectPropertyMapping","linkTypes","includeObjectTypesWithoutSearchableDatasources","loadRedacted","objectTypeBranches","objectTypeVersions","ontologyVersion","ret","l","helper","linkSide","otherObjectType","directedLinkTypeRid","linkTypeRid","definition","type","oneToMany","objectTypeRidManySide","manyToOneLinkMetadata","objectTypeRidOneSide","oneToManyLinkMetadata","manyToMany","objectTypeRidA","objectTypeAToBLinkMetadata","objectTypeRidB","objectTypeBToALinkMetadata","debug","body","datasourceTypes","objectTypes","identifier","versionReference","sharedPropertyTypes","interfaceTypes","typeGroups","includeObjectTypeCount","undefined","includeEntityMetadata","entities","objectType","metadataCacheClient","conjureOT","primaryKeys","length","pkRid","pkProperty","Object","values","propertyTypes","find","a","Error","propertyIdToApiNameMapping","fromEntries","map","property","id","propertyApiNameToIdMapping","pk"],"sources":["ConjureSupport.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 { bulkLoadOntologyEntities, getLinkTypesForObjectTypes, loadAllOntologies, } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { createSimpleAsyncCache, createSimpleCache, } from \"../object/SimpleCache.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nlet cachedAllOntologies;\nasync function getOntologyVersionForRid(ctx, ontologyRid) {\n cachedAllOntologies ??= await loadAllOntologies(ctx, {});\n invariant(cachedAllOntologies.ontologies[ontologyRid], \"ontology should be loaded\");\n return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;\n}\nconst strongMemoSync = (fn) => createSimpleCache(new Map(), fn).get;\nconst weakMemoSync = (fn) => createSimpleCache(new WeakMap(), fn).get; // FIXME\nconst strongMemoAsync = (fn) => createSimpleAsyncCache(\"strong\", fn).get;\nconst weakMemoAsync = (fn) => createSimpleAsyncCache(\"weak\", fn).get;\nexport class MetadataClient {\n #client;\n #ctx;\n #logger;\n constructor(client) {\n this.#client = client;\n this.#ctx = makeConjureContext(client, \"ontology-metadata/api\");\n this.#client.ontologyProvider.getObjectDefinition;\n this.#logger = this.#client.logger?.child({\n mcc: true,\n });\n }\n forObjectByRid = strongMemoAsync(async (rid) => {\n return Promise.resolve({\n getPropertyMapping: this.#objectPropertyMapping.bind(this, rid),\n getLinkMapping: this.#objectLinkMapping.bind(this, rid),\n getRid: () => rid,\n getApiName: async () => (await this.#getConjureObjectType(rid)).apiName,\n });\n });\n forObjectByApiName = strongMemoAsync(async (objectApiName) => {\n const objectDef = await this.#client.ontologyProvider.getObjectDefinition(objectApiName);\n return this.forObjectByRid(objectDef.rid);\n });\n #objectPropertyMapping = strongMemoAsync(async (objectTypeRid) => {\n const conjureObjectType = await this.#getConjureObjectType(objectTypeRid);\n return createObjectPropertyMapping(conjureObjectType);\n });\n #objectLinkMapping = strongMemoAsync(async (objectTypeRid) => {\n const linkTypes = await getLinkTypesForObjectTypes(this.#ctx, {\n includeObjectTypesWithoutSearchableDatasources: true,\n loadRedacted: false,\n objectTypeBranches: {},\n objectTypeVersions: {\n [objectTypeRid]: await this.ontologyVersion(\"\"),\n },\n });\n invariant(linkTypes.linkTypes[objectTypeRid], \"link type should be loaded\");\n // apiName to content\n const ret = {};\n for (const l of linkTypes.linkTypes[objectTypeRid]) {\n const helper = ({ apiName }, linkSide, otherObjectType) => {\n if (apiName) {\n ret[apiName] = {\n apiName,\n directedLinkTypeRid: {\n linkTypeRid: l.rid,\n linkSide,\n },\n otherObjectType,\n };\n }\n };\n if (l.definition.type === \"oneToMany\") {\n const { oneToMany: { objectTypeRidManySide, manyToOneLinkMetadata, objectTypeRidOneSide, oneToManyLinkMetadata, }, } = l.definition;\n if (objectTypeRidManySide === objectTypeRid) {\n helper(manyToOneLinkMetadata, \"TARGET\", objectTypeRidOneSide);\n }\n if (objectTypeRidOneSide === objectTypeRid) {\n helper(oneToManyLinkMetadata, \"SOURCE\", objectTypeRidManySide);\n }\n }\n else if (l.definition.type === \"manyToMany\") {\n const { manyToMany: { objectTypeRidA, objectTypeAToBLinkMetadata, objectTypeRidB, objectTypeBToALinkMetadata, }, } = l.definition;\n if (objectTypeRidA === objectTypeRid) {\n helper(objectTypeAToBLinkMetadata, \"SOURCE\", objectTypeRidB);\n }\n if (objectTypeRidB === objectTypeRid) {\n helper(objectTypeBToALinkMetadata, \"TARGET\", objectTypeRidA);\n }\n }\n }\n return ret;\n });\n #getConjureObjectType = strongMemoAsync(async (objectTypeRid) => {\n this.#logger?.debug(`getConjureObjectType(${objectTypeRid})`);\n const body = {\n datasourceTypes: [],\n objectTypes: [{\n identifier: {\n type: \"objectTypeRid\",\n objectTypeRid: objectTypeRid,\n },\n versionReference: {\n type: \"ontologyVersion\",\n ontologyVersion: await this.ontologyVersion(\"\"),\n },\n }],\n linkTypes: [],\n sharedPropertyTypes: [],\n interfaceTypes: [],\n typeGroups: [],\n loadRedacted: false,\n includeObjectTypeCount: undefined,\n includeObjectTypesWithoutSearchableDatasources: true,\n includeEntityMetadata: undefined,\n };\n const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);\n invariant(entities.objectTypes[0]?.objectType, \"object type should be loaded\");\n return entities.objectTypes[0].objectType;\n });\n ontologyVersion = strongMemoAsync(async (_) => getOntologyVersionForRid(this.#ctx, await this.#client.ontologyRid));\n}\nexport const metadataCacheClient = weakMemoAsync((client) => Promise.resolve(new MetadataClient(client)));\nfunction createObjectPropertyMapping(conjureOT) {\n invariant(conjureOT.primaryKeys.length === 1, `only one primary key supported, got ${conjureOT.primaryKeys.length}`);\n const pkRid = conjureOT.primaryKeys[0];\n const pkProperty = Object.values(conjureOT.propertyTypes).find(a => a.rid === pkRid);\n if (!pkProperty) {\n throw new Error(`Could not find PK property by rid: ${pkRid}`);\n }\n const propertyIdToApiNameMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.id, property.apiName];\n }));\n const propertyApiNameToIdMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.apiName, property.id];\n }));\n return {\n apiName: conjureOT.apiName,\n id: conjureOT.id,\n propertyIdToApiNameMapping,\n propertyApiNameToIdMapping,\n pk: {\n rid: pkRid,\n apiName: pkProperty.apiName,\n type: pkProperty.type,\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import type { OsdkBase } from "@osdk/api";
|
|
2
|
+
import type { EXPERIMENTAL_BulkLinkResult as BulkLinkResult } from "@osdk/api/unstable";
|
|
2
3
|
import type { MinimalClient } from "../MinimalClientContext.js";
|
|
3
|
-
export interface BulkLinkResult {
|
|
4
|
-
object: OsdkBase<any>;
|
|
5
|
-
linkApiName: string;
|
|
6
|
-
otherObjectApiName: string | undefined;
|
|
7
|
-
otherObjectPk: unknown;
|
|
8
|
-
}
|
|
9
4
|
export declare function createBulkLinksAsyncIterFactory(ctx: MinimalClient): (objs: Array<OsdkBase<any>>, linkTypes: string[]) => AsyncGenerator<BulkLinkResult, void, unknown>;
|
|
10
5
|
//# sourceMappingURL=createBulkLinksAsyncIterFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createBulkLinksAsyncIterFactory.d.ts","sourceRoot":"","sources":["../../../src/__unstable/createBulkLinksAsyncIterFactory.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"createBulkLinksAsyncIterFactory.d.ts","sourceRoot":"","sources":["../../../src/__unstable/createBulkLinksAsyncIterFactory.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,2BAA2B,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AASxF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAUhE,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,aAAa,UAExD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aACf,MAAM,EAAE,KAClB,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CA8GjD"}
|
|
@@ -26,7 +26,7 @@ export function createBulkLinksAsyncIterFactory(ctx) {
|
|
|
26
26
|
}
|
|
27
27
|
ctx.logger?.debug("Preparing to fetch bulk links");
|
|
28
28
|
// require all objects to be the same type for now
|
|
29
|
-
!objs.every(a => a.$objectType === objs[0].$objectType) ? invariant(false) : void 0;
|
|
29
|
+
!objs.every(a => a.$objectType === objs[0].$objectType) ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
|
|
30
30
|
const mcc = await metadataCacheClient(ctx);
|
|
31
31
|
const helper = await mcc.forObjectByApiName(objs[0].$objectType);
|
|
32
32
|
const [objectTypeRid, propertyMapping, fullLinkMapping] = await Promise.all([helper.getRid(), helper.getPropertyMapping(), helper.getLinkMapping()]);
|
|
@@ -66,7 +66,7 @@ export function createBulkLinksAsyncIterFactory(ctx) {
|
|
|
66
66
|
})))
|
|
67
67
|
}]
|
|
68
68
|
};
|
|
69
|
-
const bulkLinksIter = pageRequestAsAsyncIter(getBulkLinksPage.bind(undefined, makeConjureContext(ctx, "
|
|
69
|
+
const bulkLinksIter = pageRequestAsAsyncIter(getBulkLinksPage.bind(undefined, makeConjureContext(ctx, "object-set-service/api")), getResults, applyPageToken, req);
|
|
70
70
|
for await (const item of bulkLinksIter) {
|
|
71
71
|
const {
|
|
72
72
|
objectIdentifier
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createBulkLinksAsyncIterFactory.js","names":["getBulkLinksPage","invariant","conjureUnionType","makeConjureContext","applyPageToken","getResults","pageRequestAsAsyncIter","metadataCacheClient","createBulkLinksAsyncIterFactory","ctx","objs","linkTypes","length","logger","debug","every","a","$objectType","mcc","helper","forObjectByApiName","objectTypeRid","propertyMapping","fullLinkMapping","Promise","all","getRid","getPropertyMapping","getLinkMapping","linkMapping","Object","fromEntries","entries","filter","apiName","includes","linkType","req","objectSetContext","forkRid","undefined","objectSetFilterContext","parameterOverrides","ontologyBranchRid","owningRid","reportUsage","workstateRid","responseOptions","includeObjectSetEntities","includeUsageCost","pageSize","pageToken","linksRequests","directedLinkTypes","values","map","directedLinkTypeRid","objects","o","objectPrimaryKey","pk","rid","type","$primaryKey","bulkLinksIter","bind","item","objectIdentifier","obj","findObject","link","links","ref","linkSide","getPrimaryKeyOrThrow","otherObjectApiName","forObjectByRid","getApiName","mappedLink","find","linkTypeRid","Error","object","linkApiName","otherObjectPk","pkValue","pks","objectLocatorV2"],"sources":["createBulkLinksAsyncIterFactory.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 { getBulkLinksPage } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { conjureUnionType } from \"../objectSet/conjureUnionType.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nimport { applyPageToken, getResults, pageRequestAsAsyncIter, } from \"../pageRequestAsAsyncIter.js\";\nimport { metadataCacheClient } from \"./ConjureSupport.js\";\nexport function createBulkLinksAsyncIterFactory(ctx) {\n return async function* (objs, linkTypes) {\n if (objs.length === 0) {\n return;\n }\n ctx.logger?.debug(\"Preparing to fetch bulk links\");\n // require all objects to be the same type for now\n invariant(objs.every(a => a.$objectType === objs[0].$objectType));\n const mcc = await metadataCacheClient(ctx);\n const helper = await mcc.forObjectByApiName(objs[0].$objectType);\n const [objectTypeRid, propertyMapping, fullLinkMapping] = await Promise.all([\n helper.getRid(),\n helper.getPropertyMapping(),\n helper.getLinkMapping(),\n ]);\n const linkMapping = Object.fromEntries(Object.entries(fullLinkMapping)\n .filter(([apiName]) => linkTypes.includes(apiName)));\n // make sure the link being requested exists\n for (const linkType of linkTypes) {\n if (linkMapping[linkType] == null) {\n throw \"Unable to find link type: \" + linkType;\n }\n }\n const req = {\n objectSetContext: {\n forkRid: undefined,\n objectSetFilterContext: { parameterOverrides: {} },\n ontologyBranchRid: undefined,\n owningRid: undefined,\n reportUsage: undefined,\n workstateRid: undefined,\n },\n responseOptions: {\n includeObjectSetEntities: true,\n includeUsageCost: false,\n },\n pageSize: 1000,\n pageToken: undefined,\n linksRequests: [{\n directedLinkTypes: Object.values(linkMapping)\n .map(({ directedLinkTypeRid }) => directedLinkTypeRid),\n objects: conjureUnionType(\"objects\", objs.map(o => conjureUnionType(\"objectLocatorV2\", {\n objectTypeRid,\n objectPrimaryKey: {\n [propertyMapping.pk.rid]: conjureUnionType(propertyMapping.pk.type.type, o.$primaryKey),\n },\n }))),\n }],\n };\n const bulkLinksIter = pageRequestAsAsyncIter(getBulkLinksPage.bind(undefined, makeConjureContext(ctx, \"/object-set-service/api\")), getResults, applyPageToken, req);\n for await (const item of bulkLinksIter) {\n const { objectIdentifier } = item;\n const obj = findObject(objectIdentifier, objs);\n for (const link of item.links) {\n const ref = link.link[link.linkSide === \"SOURCE\"\n ? \"objectSideB\"\n : \"objectSideA\"];\n const pk = getPrimaryKeyOrThrow(ref);\n const otherObjectApiName = await (await mcc.forObjectByRid(pk.objectTypeRid))\n .getApiName();\n const mappedLink = Object.values(linkMapping).find(a => a.directedLinkTypeRid.linkTypeRid === link.link.linkTypeRid\n && a.directedLinkTypeRid.linkSide === link.linkSide);\n if (!mappedLink)\n throw new Error(\"Could not find link type\"); // should not happens\n yield {\n object: obj,\n linkApiName: mappedLink.apiName,\n otherObjectApiName: otherObjectApiName,\n otherObjectPk: pk.pkValue,\n };\n }\n }\n };\n}\nfunction findObject(objectIdentifier, objs) {\n const { pkValue } = getPrimaryKeyOrThrow(objectIdentifier);\n const obj = objs.find(o => o.$primaryKey === pkValue);\n if (obj == null) {\n throw new Error(`Needed to find object with pk ${pkValue}} and could not`);\n }\n return obj;\n}\nfunction getPrimaryKeyOrThrow(ref) {\n if (\"type\" in ref && ref.type !== \"objectLocatorV2\") {\n throw new Error(\"We do not support looking up object by rid\");\n }\n const pks = Object.entries(ref.objectLocatorV2.objectPrimaryKey);\n if (pks.length !== 1) {\n throw new Error(\"Unable to support this request due to multiple pks\");\n }\n return {\n objectTypeRid: ref.objectLocatorV2.objectTypeRid,\n pkValue: pks[0][1][pks[0][1].type],\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"createBulkLinksAsyncIterFactory.js","names":["getBulkLinksPage","invariant","conjureUnionType","makeConjureContext","applyPageToken","getResults","pageRequestAsAsyncIter","metadataCacheClient","createBulkLinksAsyncIterFactory","ctx","objs","linkTypes","length","logger","debug","every","a","$objectType","process","env","NODE_ENV","mcc","helper","forObjectByApiName","objectTypeRid","propertyMapping","fullLinkMapping","Promise","all","getRid","getPropertyMapping","getLinkMapping","linkMapping","Object","fromEntries","entries","filter","apiName","includes","linkType","req","objectSetContext","forkRid","undefined","objectSetFilterContext","parameterOverrides","ontologyBranchRid","owningRid","reportUsage","workstateRid","responseOptions","includeObjectSetEntities","includeUsageCost","pageSize","pageToken","linksRequests","directedLinkTypes","values","map","directedLinkTypeRid","objects","o","objectPrimaryKey","pk","rid","type","$primaryKey","bulkLinksIter","bind","item","objectIdentifier","obj","findObject","link","links","ref","linkSide","getPrimaryKeyOrThrow","otherObjectApiName","forObjectByRid","getApiName","mappedLink","find","linkTypeRid","Error","object","linkApiName","otherObjectPk","pkValue","pks","objectLocatorV2"],"sources":["createBulkLinksAsyncIterFactory.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 { getBulkLinksPage } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { conjureUnionType } from \"../objectSet/conjureUnionType.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nimport { applyPageToken, getResults, pageRequestAsAsyncIter, } from \"../pageRequestAsAsyncIter.js\";\nimport { metadataCacheClient } from \"./ConjureSupport.js\";\nexport function createBulkLinksAsyncIterFactory(ctx) {\n return async function* (objs, linkTypes) {\n if (objs.length === 0) {\n return;\n }\n ctx.logger?.debug(\"Preparing to fetch bulk links\");\n // require all objects to be the same type for now\n invariant(objs.every(a => a.$objectType === objs[0].$objectType));\n const mcc = await metadataCacheClient(ctx);\n const helper = await mcc.forObjectByApiName(objs[0].$objectType);\n const [objectTypeRid, propertyMapping, fullLinkMapping] = await Promise.all([\n helper.getRid(),\n helper.getPropertyMapping(),\n helper.getLinkMapping(),\n ]);\n const linkMapping = Object.fromEntries(Object.entries(fullLinkMapping)\n .filter(([apiName]) => linkTypes.includes(apiName)));\n // make sure the link being requested exists\n for (const linkType of linkTypes) {\n if (linkMapping[linkType] == null) {\n throw \"Unable to find link type: \" + linkType;\n }\n }\n const req = {\n objectSetContext: {\n forkRid: undefined,\n objectSetFilterContext: { parameterOverrides: {} },\n ontologyBranchRid: undefined,\n owningRid: undefined,\n reportUsage: undefined,\n workstateRid: undefined,\n },\n responseOptions: {\n includeObjectSetEntities: true,\n includeUsageCost: false,\n },\n pageSize: 1000,\n pageToken: undefined,\n linksRequests: [{\n directedLinkTypes: Object.values(linkMapping)\n .map(({ directedLinkTypeRid }) => directedLinkTypeRid),\n objects: conjureUnionType(\"objects\", objs.map(o => conjureUnionType(\"objectLocatorV2\", {\n objectTypeRid,\n objectPrimaryKey: {\n [propertyMapping.pk.rid]: conjureUnionType(propertyMapping.pk.type.type, o.$primaryKey),\n },\n }))),\n }],\n };\n const bulkLinksIter = pageRequestAsAsyncIter(getBulkLinksPage.bind(undefined, makeConjureContext(ctx, \"object-set-service/api\")), getResults, applyPageToken, req);\n for await (const item of bulkLinksIter) {\n const { objectIdentifier } = item;\n const obj = findObject(objectIdentifier, objs);\n for (const link of item.links) {\n const ref = link.link[link.linkSide === \"SOURCE\"\n ? \"objectSideB\"\n : \"objectSideA\"];\n const pk = getPrimaryKeyOrThrow(ref);\n const otherObjectApiName = await (await mcc.forObjectByRid(pk.objectTypeRid))\n .getApiName();\n const mappedLink = Object.values(linkMapping).find(a => a.directedLinkTypeRid.linkTypeRid === link.link.linkTypeRid\n && a.directedLinkTypeRid.linkSide === link.linkSide);\n if (!mappedLink)\n throw new Error(\"Could not find link type\"); // should not happens\n yield {\n object: obj,\n linkApiName: mappedLink.apiName,\n otherObjectApiName: otherObjectApiName,\n otherObjectPk: pk.pkValue,\n };\n }\n }\n };\n}\nfunction findObject(objectIdentifier, objs) {\n const { pkValue } = getPrimaryKeyOrThrow(objectIdentifier);\n const obj = objs.find(o => o.$primaryKey === pkValue);\n if (obj == null) {\n throw new Error(`Needed to find object with pk ${pkValue}} and could not`);\n }\n return obj;\n}\nfunction getPrimaryKeyOrThrow(ref) {\n if (\"type\" in ref && ref.type !== \"objectLocatorV2\") {\n throw new Error(\"We do not support looking up object by rid\");\n }\n const pks = Object.entries(ref.objectLocatorV2.objectPrimaryKey);\n if (pks.length !== 1) {\n throw new Error(\"Unable to support this request due to multiple pks\");\n }\n return {\n objectTypeRid: ref.objectLocatorV2.objectTypeRid,\n pkValue: pks[0][1][pks[0][1].type],\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -22,9 +22,11 @@ import { ActionValidationError } from "./ActionValidationError.js";
|
|
|
22
22
|
import { remapActionResponse } from "./applyAction.js";
|
|
23
23
|
describe("actions", () => {
|
|
24
24
|
let client;
|
|
25
|
+
let customEntryPointClient;
|
|
25
26
|
beforeAll(async () => {
|
|
26
27
|
apiServer.listen();
|
|
27
28
|
client = createClient("https://stack.palantir.com", $ontologyRid, async () => "myAccessToken");
|
|
29
|
+
customEntryPointClient = createClient("https://stack.palantirCustom.com/foo/first/someStuff", $ontologyRid, async () => "myAccessToken");
|
|
28
30
|
});
|
|
29
31
|
afterAll(() => {
|
|
30
32
|
apiServer.close();
|
|
@@ -89,6 +91,23 @@ describe("actions", () => {
|
|
|
89
91
|
}
|
|
90
92
|
`);
|
|
91
93
|
});
|
|
94
|
+
it("returns validation directly on validateOnly mode, with custom entry point in URL", async () => {
|
|
95
|
+
const result = await customEntryPointClient(moveOffice).applyAction({
|
|
96
|
+
officeId: "SEA",
|
|
97
|
+
newAddress: "456 Pike Place",
|
|
98
|
+
newCapacity: 40
|
|
99
|
+
}, {
|
|
100
|
+
$validateOnly: true
|
|
101
|
+
});
|
|
102
|
+
expectTypeOf().toEqualTypeOf();
|
|
103
|
+
expect(result).toMatchInlineSnapshot(`
|
|
104
|
+
{
|
|
105
|
+
"parameters": {},
|
|
106
|
+
"result": "INVALID",
|
|
107
|
+
"submissionCriteria": [],
|
|
108
|
+
}
|
|
109
|
+
`);
|
|
110
|
+
});
|
|
92
111
|
it("throws on validation errors", async () => {
|
|
93
112
|
try {
|
|
94
113
|
await client(moveOffice).applyAction({
|
|
@@ -128,11 +147,20 @@ describe("actions", () => {
|
|
|
128
147
|
expectTypeOf().toMatchTypeOf();
|
|
129
148
|
const blob = stubData.attachmentUploadRequestBody[stubData.localAttachment1.filename];
|
|
130
149
|
const attachment = createAttachmentUpload(blob, "file1.txt");
|
|
150
|
+
// Mimics the Web file API (https://developer.mozilla.org/en-US/docs/Web/API/File). The File constructor is only available in Node 19.2.0 and above
|
|
151
|
+
const fileAttachment = Object.assign(blob, {
|
|
152
|
+
name: "file1.txt"
|
|
153
|
+
});
|
|
131
154
|
const result = await client(actionTakesAttachment).applyAction({
|
|
132
155
|
attachment
|
|
133
156
|
});
|
|
157
|
+
const result2 = await client(actionTakesAttachment).applyAction({
|
|
158
|
+
attachment: fileAttachment
|
|
159
|
+
});
|
|
134
160
|
expectTypeOf().toEqualTypeOf();
|
|
135
161
|
expect(result).toBeUndefined();
|
|
162
|
+
expectTypeOf().toEqualTypeOf();
|
|
163
|
+
expect(result2).toBeUndefined();
|
|
136
164
|
});
|
|
137
165
|
it("conditionally returns edits in batch mode", async () => {
|
|
138
166
|
const result = await client(moveOffice).batchApplyAction([{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.test.js","names":["$Actions","$ontologyRid","actionTakesAttachment","createOffice","moveOffice","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","createAttachmentUpload","ActionValidationError","remapActionResponse","client","listen","close","result","applyAction","officeId","address","capacity","$returnEdits","toEqualTypeOf","toMatchInlineSnapshot","undefinedResult","toBeUndefined","batchApplyAction","toBeCallableWith","newAddress","newCapacity","$validateOnly","fail","e","toBeInstanceOf","validation","toMatchTypeOf","attachment","blob","attachmentUploadRequestBody","localAttachment1","filename","actionResponse","edits","type","deletedLinksCount","deletedObjectsCount","addedObjectCount","modifiedObjectsCount","addedLinksCount","batchActionResponse","remappedActionResponse","remappedBatchActionResponse","actions","Object","keys","toStrictEqual"],"sources":["actions.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 { $Actions, $ontologyRid, actionTakesAttachment, createOffice, moveOffice, } 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\";\nimport { createAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nimport { remapActionResponse } from \"./applyAction.js\";\ndescribe(\"actions\", () => {\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(\"conditionally returns the edits\", async () => {\n const result = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }, { $returnEdits: true });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [],\n \"addedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [],\n \"type\": \"edits\",\n }\n `);\n const undefinedResult = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n });\n expectTypeOf().toEqualTypeOf();\n expect(undefinedResult).toBeUndefined();\n const clientCreateOffice = client(createOffice).batchApplyAction;\n expectTypeOf().toBeCallableWith([{\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }], { $returnEdits: true });\n });\n it(\"returns validation directly on validateOnly mode\", async () => {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $validateOnly: true,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n });\n it(\"throws on validation errors\", async () => {\n try {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $returnEdits: true,\n });\n expect.fail(\"Should not reach here\");\n }\n catch (e) {\n expect(e).toBeInstanceOf(ActionValidationError);\n expect(e.validation).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n }\n });\n it(\"Accepts attachments\", async () => {\n const clientBoundActionTakesAttachment = client(actionTakesAttachment).applyAction;\n expectTypeOf().toMatchTypeOf();\n const clientBoundBatchActionTakesAttachment = client(actionTakesAttachment).batchApplyAction;\n expectTypeOf().toMatchTypeOf();\n const result = await client(actionTakesAttachment).applyAction({\n attachment: \"attachment.rid\",\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toBeUndefined();\n });\n it(\"Accepts attachment uploads\", async () => {\n const clientBoundActionTakesAttachment = client(actionTakesAttachment).applyAction;\n const clientBoundBatchActionTakesAttachment = client(actionTakesAttachment).batchApplyAction;\n expectTypeOf().toMatchTypeOf();\n expectTypeOf().toMatchTypeOf();\n const blob = stubData.attachmentUploadRequestBody[stubData.localAttachment1.filename];\n const attachment = createAttachmentUpload(blob, \"file1.txt\");\n const result = await client(actionTakesAttachment).applyAction({\n attachment,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toBeUndefined();\n });\n it(\"conditionally returns edits in batch mode\", async () => {\n const result = await client(moveOffice).batchApplyAction([\n {\n officeId: \"SEA\",\n newAddress: \"456 Good Place\",\n newCapacity: 40,\n },\n {\n officeId: \"NYC\",\n newAddress: \"123 Main Street\",\n newCapacity: 80,\n },\n ], { $returnEdits: true });\n expect(result).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [],\n \"addedObjects\": [],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"SEA\",\n },\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n });\n});\ndescribe(\"ActionResponse remapping\", () => {\n const actionResponse = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n const batchActionResponse = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n it(\"Correctly unpacks edits and editedObjectTypes\", () => {\n const remappedActionResponse = remapActionResponse(actionResponse);\n const remappedBatchActionResponse = remapActionResponse(batchActionResponse);\n expect(remappedActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n expect(remappedBatchActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n });\n it(\"actions are enumerable\", async () => {\n const actions = Object.keys($Actions);\n expect(actions).toStrictEqual([\n \"actionTakesAttachment\",\n \"actionTakesObjectSet\",\n \"createOffice\",\n \"createOfficeAndEmployee\",\n \"moveOffice\",\n \"promoteEmployee\",\n \"promoteEmployeeObject\",\n ]);\n });\n});\n"],"mappings":"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BC,mBAAmB,EAAE,CAAC;MACtBC,gBAAgB,EAAE,CAAC;MACnBC,oBAAoB,EAAE,CAAC;MACvBC,eAAe,EAAE;IACrB;EACJ,CAAC;EACDxC,EAAE,CAAC,+CAA+C,EAAE,MAAM;IACtD,MAAM0C,sBAAsB,GAAGtC,mBAAmB,CAAC6B,cAAc,CAAC;IAClE,MAAMU,2BAA2B,GAAGvC,mBAAmB,CAACqC,mBAAmB,CAAC;IAC5E3C,MAAM,CAAC4C,sBAAsB,CAAC,CAAC3B,qBAAqB,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;IACEjB,MAAM,CAAC6C,2BAA2B,CAAC,CAAC5B,qBAAqB,CAAC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACFf,EAAE,CAAC,wBAAwB,EAAE,YAAY;IACrC,MAAM4C,OAAO,GAAGC,MAAM,CAACC,IAAI,CAAC1D,QAAQ,CAAC;IACrCU,MAAM,CAAC8C,OAAO,CAAC,CAACG,aAAa,CAAC,CAC1B,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,yBAAyB,EACzB,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,CAC1B,CAAC;EACN,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"actions.test.js","names":["$Actions","$ontologyRid","actionTakesAttachment","createOffice","moveOffice","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","createAttachmentUpload","ActionValidationError","remapActionResponse","client","customEntryPointClient","listen","close","result","applyAction","officeId","address","capacity","$returnEdits","toEqualTypeOf","toMatchInlineSnapshot","undefinedResult","toBeUndefined","batchApplyAction","toBeCallableWith","newAddress","newCapacity","$validateOnly","fail","e","toBeInstanceOf","validation","toMatchTypeOf","attachment","blob","attachmentUploadRequestBody","localAttachment1","filename","fileAttachment","Object","assign","name","result2","actionResponse","edits","type","deletedLinksCount","deletedObjectsCount","addedObjectCount","modifiedObjectsCount","addedLinksCount","batchActionResponse","remappedActionResponse","remappedBatchActionResponse","actions","keys","toStrictEqual"],"sources":["actions.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 { $Actions, $ontologyRid, actionTakesAttachment, createOffice, moveOffice, } 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\";\nimport { createAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nimport { remapActionResponse } from \"./applyAction.js\";\ndescribe(\"actions\", () => {\n let client;\n let customEntryPointClient;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n customEntryPointClient = createClient(\"https://stack.palantirCustom.com/foo/first/someStuff\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"conditionally returns the edits\", async () => {\n const result = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }, { $returnEdits: true });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [],\n \"addedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [],\n \"type\": \"edits\",\n }\n `);\n const undefinedResult = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n });\n expectTypeOf().toEqualTypeOf();\n expect(undefinedResult).toBeUndefined();\n const clientCreateOffice = client(createOffice).batchApplyAction;\n expectTypeOf().toBeCallableWith([{\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }], { $returnEdits: true });\n });\n it(\"returns validation directly on validateOnly mode\", async () => {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $validateOnly: true,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n });\n it(\"returns validation directly on validateOnly mode, with custom entry point in URL\", async () => {\n const result = await customEntryPointClient(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $validateOnly: true,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n });\n it(\"throws on validation errors\", async () => {\n try {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $returnEdits: true,\n });\n expect.fail(\"Should not reach here\");\n }\n catch (e) {\n expect(e).toBeInstanceOf(ActionValidationError);\n expect(e.validation).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n }\n });\n it(\"Accepts attachments\", async () => {\n const clientBoundActionTakesAttachment = client(actionTakesAttachment).applyAction;\n expectTypeOf().toMatchTypeOf();\n const clientBoundBatchActionTakesAttachment = client(actionTakesAttachment).batchApplyAction;\n expectTypeOf().toMatchTypeOf();\n const result = await client(actionTakesAttachment).applyAction({\n attachment: \"attachment.rid\",\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toBeUndefined();\n });\n it(\"Accepts attachment uploads\", async () => {\n const clientBoundActionTakesAttachment = client(actionTakesAttachment).applyAction;\n const clientBoundBatchActionTakesAttachment = client(actionTakesAttachment).batchApplyAction;\n expectTypeOf().toMatchTypeOf();\n expectTypeOf().toMatchTypeOf();\n const blob = stubData.attachmentUploadRequestBody[stubData.localAttachment1.filename];\n const attachment = createAttachmentUpload(blob, \"file1.txt\");\n // Mimics the Web file API (https://developer.mozilla.org/en-US/docs/Web/API/File). The File constructor is only available in Node 19.2.0 and above\n const fileAttachment = Object.assign(blob, { name: \"file1.txt\" });\n const result = await client(actionTakesAttachment).applyAction({\n attachment,\n });\n const result2 = await client(actionTakesAttachment).applyAction({\n attachment: fileAttachment,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toBeUndefined();\n expectTypeOf().toEqualTypeOf();\n expect(result2).toBeUndefined();\n });\n it(\"conditionally returns edits in batch mode\", async () => {\n const result = await client(moveOffice).batchApplyAction([\n {\n officeId: \"SEA\",\n newAddress: \"456 Good Place\",\n newCapacity: 40,\n },\n {\n officeId: \"NYC\",\n newAddress: \"123 Main Street\",\n newCapacity: 80,\n },\n ], { $returnEdits: true });\n expect(result).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [],\n \"addedObjects\": [],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"SEA\",\n },\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n });\n});\ndescribe(\"ActionResponse remapping\", () => {\n const actionResponse = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n const batchActionResponse = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n it(\"Correctly unpacks edits and editedObjectTypes\", () => {\n const remappedActionResponse = remapActionResponse(actionResponse);\n const remappedBatchActionResponse = remapActionResponse(batchActionResponse);\n expect(remappedActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n expect(remappedBatchActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n });\n it(\"actions are enumerable\", async () => {\n const actions = Object.keys($Actions);\n expect(actions).toStrictEqual([\n \"actionTakesAttachment\",\n \"actionTakesObjectSet\",\n \"createOffice\",\n \"createOfficeAndEmployee\",\n \"moveOffice\",\n \"promoteEmployee\",\n \"promoteEmployeeObject\",\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -104,7 +104,7 @@ export function remapActionResponse(response) {
|
|
|
104
104
|
});
|
|
105
105
|
editedObjectTypesSet.add(edit.objectType);
|
|
106
106
|
} else {
|
|
107
|
-
invariant(false, "Unknown edit type");
|
|
107
|
+
process.env.NODE_ENV !== "production" ? invariant(false, "Unknown edit type") : invariant(false);
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
remappedActionResponse.editedObjectTypes = [...editedObjectTypesSet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyAction.js","names":["OntologiesV2","invariant","addUserAgentAndRequestContextHeaders","augmentRequestContext","toDataValue","ActionValidationError","applyAction","client","action","parameters","options","clientWithHeaders","finalMethodCall","Array","isArray","response","Actions","applyBatch","ontologyRid","apiName","requests","remapBatchActionParams","returnEdits","$returnEdits","edits","type","remapActionResponse","undefined","apply","remapActionParams","mode","$validateOnly","validation","result","params","parameterMap","key","value","Object","entries","remappedParams","Promise","all","map","param","editResponses","remappedActionResponse","deletedLinksCount","deletedObjectsCount","addedLinks","addedObjects","modifiedObjects","editedObjectTypes","editedObjectTypesSet","Set","edit","push","linkTypeApiNameAtoB","linkTypeApiNameBtoA","aSideObject","bSideObject","add","objectType","primaryKey"],"sources":["applyAction.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 * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport invariant from \"tiny-invariant\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { toDataValue } from \"../util/toDataValue.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nexport async function applyAction(client, action, parameters, options = {}) {\n const clientWithHeaders = addUserAgentAndRequestContextHeaders(augmentRequestContext(client, _ => ({ finalMethodCall: \"applyAction\" })), action);\n if (Array.isArray(parameters)) {\n const response = await OntologiesV2.Actions.applyBatch(clientWithHeaders, await client.ontologyRid, action.apiName, {\n requests: parameters\n ? await remapBatchActionParams(parameters, client)\n : [],\n options: {\n returnEdits: options?.$returnEdits ? \"ALL\" : \"NONE\",\n },\n });\n const edits = response.edits;\n return (options?.$returnEdits\n ? edits?.type === \"edits\" ? remapActionResponse(response) : edits\n : undefined);\n }\n else {\n const response = await OntologiesV2.Actions.apply(clientWithHeaders, await client.ontologyRid, action.apiName, {\n parameters: await remapActionParams(parameters, client),\n options: {\n mode: options?.$validateOnly\n ? \"VALIDATE_ONLY\"\n : \"VALIDATE_AND_EXECUTE\",\n returnEdits: options\n ?.$returnEdits\n ? \"ALL\"\n : \"NONE\",\n },\n });\n if (options?.$validateOnly) {\n return response.validation;\n }\n if (response.validation?.result === \"INVALID\") {\n throw new ActionValidationError(response.validation);\n }\n const edits = response.edits;\n return (options?.$returnEdits\n ? edits?.type === \"edits\" ? remapActionResponse(response) : edits\n : undefined);\n }\n}\nasync function remapActionParams(params, client) {\n if (params == null) {\n return {};\n }\n const parameterMap = {};\n for (const [key, value] of Object.entries(params)) {\n parameterMap[key] = await toDataValue(value, client);\n }\n return parameterMap;\n}\nasync function remapBatchActionParams(params, client) {\n const remappedParams = await Promise.all(params.map(async (param) => {\n return { parameters: await remapActionParams(param, client) };\n }));\n return remappedParams;\n}\nexport function remapActionResponse(response) {\n const editResponses = response?.edits;\n if (editResponses?.type === \"edits\") {\n const remappedActionResponse = {\n type: editResponses.type,\n deletedLinksCount: editResponses.deletedLinksCount,\n deletedObjectsCount: editResponses.deletedObjectsCount,\n addedLinks: [],\n addedObjects: [],\n modifiedObjects: [],\n editedObjectTypes: [],\n };\n const editedObjectTypesSet = new Set();\n for (const edit of editResponses.edits) {\n if (edit.type === \"addLink\") {\n remappedActionResponse.addedLinks.push({\n linkTypeApiNameAtoB: edit.linkTypeApiNameAtoB,\n linkTypeApiNameBtoA: edit.linkTypeApiNameBtoA,\n aSideObject: edit.aSideObject,\n bSideObject: edit.bSideObject,\n });\n editedObjectTypesSet.add(edit.aSideObject.objectType);\n editedObjectTypesSet.add(edit.bSideObject.objectType);\n }\n else if (edit.type === \"addObject\") {\n remappedActionResponse.addedObjects.push({\n objectType: edit.objectType,\n primaryKey: edit.primaryKey,\n });\n editedObjectTypesSet.add(edit.objectType);\n }\n else if (edit.type === \"modifyObject\") {\n remappedActionResponse.modifiedObjects.push({\n objectType: edit.objectType,\n primaryKey: edit.primaryKey,\n });\n editedObjectTypesSet.add(edit.objectType);\n }\n else {\n invariant(false, \"Unknown edit type\");\n }\n }\n remappedActionResponse.editedObjectTypes = [...editedObjectTypesSet];\n return remappedActionResponse;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"applyAction.js","names":["OntologiesV2","invariant","addUserAgentAndRequestContextHeaders","augmentRequestContext","toDataValue","ActionValidationError","applyAction","client","action","parameters","options","clientWithHeaders","finalMethodCall","Array","isArray","response","Actions","applyBatch","ontologyRid","apiName","requests","remapBatchActionParams","returnEdits","$returnEdits","edits","type","remapActionResponse","undefined","apply","remapActionParams","mode","$validateOnly","validation","result","params","parameterMap","key","value","Object","entries","remappedParams","Promise","all","map","param","editResponses","remappedActionResponse","deletedLinksCount","deletedObjectsCount","addedLinks","addedObjects","modifiedObjects","editedObjectTypes","editedObjectTypesSet","Set","edit","push","linkTypeApiNameAtoB","linkTypeApiNameBtoA","aSideObject","bSideObject","add","objectType","primaryKey","process","env","NODE_ENV"],"sources":["applyAction.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 * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport invariant from \"tiny-invariant\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { toDataValue } from \"../util/toDataValue.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nexport async function applyAction(client, action, parameters, options = {}) {\n const clientWithHeaders = addUserAgentAndRequestContextHeaders(augmentRequestContext(client, _ => ({ finalMethodCall: \"applyAction\" })), action);\n if (Array.isArray(parameters)) {\n const response = await OntologiesV2.Actions.applyBatch(clientWithHeaders, await client.ontologyRid, action.apiName, {\n requests: parameters\n ? await remapBatchActionParams(parameters, client)\n : [],\n options: {\n returnEdits: options?.$returnEdits ? \"ALL\" : \"NONE\",\n },\n });\n const edits = response.edits;\n return (options?.$returnEdits\n ? edits?.type === \"edits\" ? remapActionResponse(response) : edits\n : undefined);\n }\n else {\n const response = await OntologiesV2.Actions.apply(clientWithHeaders, await client.ontologyRid, action.apiName, {\n parameters: await remapActionParams(parameters, client),\n options: {\n mode: options?.$validateOnly\n ? \"VALIDATE_ONLY\"\n : \"VALIDATE_AND_EXECUTE\",\n returnEdits: options\n ?.$returnEdits\n ? \"ALL\"\n : \"NONE\",\n },\n });\n if (options?.$validateOnly) {\n return response.validation;\n }\n if (response.validation?.result === \"INVALID\") {\n throw new ActionValidationError(response.validation);\n }\n const edits = response.edits;\n return (options?.$returnEdits\n ? edits?.type === \"edits\" ? remapActionResponse(response) : edits\n : undefined);\n }\n}\nasync function remapActionParams(params, client) {\n if (params == null) {\n return {};\n }\n const parameterMap = {};\n for (const [key, value] of Object.entries(params)) {\n parameterMap[key] = await toDataValue(value, client);\n }\n return parameterMap;\n}\nasync function remapBatchActionParams(params, client) {\n const remappedParams = await Promise.all(params.map(async (param) => {\n return { parameters: await remapActionParams(param, client) };\n }));\n return remappedParams;\n}\nexport function remapActionResponse(response) {\n const editResponses = response?.edits;\n if (editResponses?.type === \"edits\") {\n const remappedActionResponse = {\n type: editResponses.type,\n deletedLinksCount: editResponses.deletedLinksCount,\n deletedObjectsCount: editResponses.deletedObjectsCount,\n addedLinks: [],\n addedObjects: [],\n modifiedObjects: [],\n editedObjectTypes: [],\n };\n const editedObjectTypesSet = new Set();\n for (const edit of editResponses.edits) {\n if (edit.type === \"addLink\") {\n remappedActionResponse.addedLinks.push({\n linkTypeApiNameAtoB: edit.linkTypeApiNameAtoB,\n linkTypeApiNameBtoA: edit.linkTypeApiNameBtoA,\n aSideObject: edit.aSideObject,\n bSideObject: edit.bSideObject,\n });\n editedObjectTypesSet.add(edit.aSideObject.objectType);\n editedObjectTypesSet.add(edit.bSideObject.objectType);\n }\n else if (edit.type === \"addObject\") {\n remappedActionResponse.addedObjects.push({\n objectType: edit.objectType,\n primaryKey: edit.primaryKey,\n });\n editedObjectTypesSet.add(edit.objectType);\n }\n else if (edit.type === \"modifyObject\") {\n remappedActionResponse.modifiedObjects.push({\n objectType: edit.objectType,\n primaryKey: edit.primaryKey,\n });\n editedObjectTypesSet.add(edit.objectType);\n }\n else {\n invariant(false, \"Unknown edit type\");\n }\n }\n remappedActionResponse.editedObjectTypes = [...editedObjectTypesSet];\n return remappedActionResponse;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Client } from "./Client.js";
|
|
2
2
|
import type { Logger } from "./Logger.js";
|
|
3
3
|
export declare const createClient: (baseUrl: string, ontologyRid: string | Promise<string>, tokenProvider: () => Promise<string>, options?: {
|
|
4
4
|
logger?: Logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../src/createClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../src/createClient.ts"],"names":[],"mappings":"AA8CA,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AA+L1C,eAAO,MAAM,YAAY,gFA9IF,OAAO,CAAC,MAAM,CAAC;aAChB,MAAM;4DAgJ3B,CAAC"}
|
|
@@ -13,13 +13,17 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks,
|
|
17
|
-
import { symbolClientContext } from "@osdk/shared.client";
|
|
16
|
+
import { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid, __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks, __EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe } from "@osdk/api/unstable";
|
|
17
|
+
import { symbolClientContext as oldSymbolClientContext } from "@osdk/shared.client";
|
|
18
|
+
import { symbolClientContext } from "@osdk/shared.client2";
|
|
18
19
|
import { createBulkLinksAsyncIterFactory } from "./__unstable/createBulkLinksAsyncIterFactory.js";
|
|
19
20
|
import { applyAction } from "./actions/applyAction.js";
|
|
21
|
+
import { additionalContext } from "./Client.js";
|
|
20
22
|
import { createMinimalClient } from "./createMinimalClient.js";
|
|
21
23
|
import { fetchMetadataInternal } from "./fetchMetadata.js";
|
|
22
|
-
import {
|
|
24
|
+
import { fetchSingle } from "./object/fetchSingle.js";
|
|
25
|
+
import { createObjectSet, getWireObjectSet } from "./objectSet/createObjectSet.js";
|
|
26
|
+
import { ObjectSetListenerWebsocket } from "./objectSet/ObjectSetListenerWebsocket.js";
|
|
23
27
|
import { applyQuery } from "./queries/applyQuery.js";
|
|
24
28
|
class ActionInvoker {
|
|
25
29
|
constructor(clientCtx, actionDef) {
|
|
@@ -65,29 +69,41 @@ baseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {
|
|
|
65
69
|
return new ActionInvoker(clientCtx, o); // then as any for dealing with the conditional return value
|
|
66
70
|
} else if (o.type === "query") {
|
|
67
71
|
return new QueryInvoker(clientCtx, o);
|
|
72
|
+
} else if (o.type === "experiment") {
|
|
73
|
+
switch (o.name) {
|
|
74
|
+
case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:
|
|
75
|
+
return {
|
|
76
|
+
getBulkLinks: createBulkLinksAsyncIterFactory(clientCtx)
|
|
77
|
+
};
|
|
78
|
+
case __EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe.name:
|
|
79
|
+
return {
|
|
80
|
+
subscribe: (objectSet, listener, opts) => {
|
|
81
|
+
const pendingSubscribe = ObjectSetListenerWebsocket.getInstance(clientCtx).subscribe(objectSet.$objectSetInternals?.def, getWireObjectSet(objectSet), listener, opts?.properties);
|
|
82
|
+
return {
|
|
83
|
+
unsubscribe: async () => (await pendingSubscribe)()
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:
|
|
88
|
+
return {
|
|
89
|
+
fetchOneByRid: async (objectType, rid, options) => {
|
|
90
|
+
return await fetchSingle(clientCtx, objectType, options, createWithRid(rid));
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
throw new Error("not implemented");
|
|
68
95
|
} else {
|
|
69
96
|
throw new Error("not implemented");
|
|
70
97
|
}
|
|
71
98
|
}, {
|
|
72
|
-
[
|
|
99
|
+
[oldSymbolClientContext]: {
|
|
73
100
|
value: clientCtx
|
|
74
101
|
},
|
|
75
|
-
[
|
|
76
|
-
|
|
102
|
+
[symbolClientContext]: {
|
|
103
|
+
value: clientCtx
|
|
77
104
|
},
|
|
78
|
-
[
|
|
79
|
-
|
|
80
|
-
return createObjectSet(definition, client[symbolClientContext], {
|
|
81
|
-
type: "intersect",
|
|
82
|
-
objectSets: [{
|
|
83
|
-
type: "base",
|
|
84
|
-
objectType: definition.apiName
|
|
85
|
-
}, {
|
|
86
|
-
type: "reference",
|
|
87
|
-
reference: rid
|
|
88
|
-
}]
|
|
89
|
-
});
|
|
90
|
-
}
|
|
105
|
+
[additionalContext]: {
|
|
106
|
+
value: clientCtx
|
|
91
107
|
},
|
|
92
108
|
fetchMetadata: {
|
|
93
109
|
value: fetchMetadata
|
|
@@ -96,4 +112,10 @@ baseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {
|
|
|
96
112
|
return client;
|
|
97
113
|
}
|
|
98
114
|
export const createClient = createClientInternal.bind(undefined, createObjectSet);
|
|
115
|
+
function createWithRid(rid) {
|
|
116
|
+
return {
|
|
117
|
+
type: "static",
|
|
118
|
+
"objects": [rid]
|
|
119
|
+
};
|
|
120
|
+
}
|
|
99
121
|
//# sourceMappingURL=createClient.js.map
|