@osdk/client 2.23.0 → 2.23.1-beta.2
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 +27 -0
- package/build/browser/Client.js +1 -1
- package/build/browser/Client.js.map +1 -1
- package/build/browser/MinimalClientContext.js.map +1 -1
- package/build/browser/actions/applyAction.js +3 -1
- package/build/browser/actions/applyAction.js.map +1 -1
- package/build/browser/createClient.js +7 -3
- package/build/browser/createClient.js.map +1 -1
- package/build/browser/createMinimalClient.js +10 -0
- package/build/browser/createMinimalClient.js.map +1 -1
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.js +3 -0
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js +30 -10
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/browser/object/aggregate.js +2 -1
- package/build/browser/object/aggregate.js.map +1 -1
- package/build/browser/object/fetchPage.js +6 -3
- package/build/browser/object/fetchPage.js.map +1 -1
- package/build/browser/objectSet/createObjectSet.js +3 -0
- package/build/browser/objectSet/createObjectSet.js.map +1 -1
- package/build/browser/public/unstable-do-not-use.js +2 -0
- package/build/browser/public/unstable-do-not-use.js.map +1 -1
- package/build/browser/queries/applyQuery.js +1 -0
- package/build/browser/queries/applyQuery.js.map +1 -1
- package/build/browser/scenarios/ScenarioClient.js +202 -0
- package/build/browser/scenarios/ScenarioClient.js.map +1 -0
- package/build/browser/scenarios/createScenario.js +55 -0
- package/build/browser/scenarios/createScenario.js.map +1 -0
- package/build/browser/scenarios/withScenario.js +42 -0
- package/build/browser/scenarios/withScenario.js.map +1 -0
- package/build/browser/util/UserAgent.js +2 -2
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/browser/util/toDataValue.js +4 -0
- package/build/browser/util/toDataValue.js.map +1 -1
- package/build/cjs/MediaReferenceProperty-CBPMMD73.cjs +22 -0
- package/build/cjs/{MediaReferenceProperty-Y6R5ASNW.cjs.map → MediaReferenceProperty-CBPMMD73.cjs.map} +1 -1
- package/build/cjs/{applyStreamingQuery-F77N7EOP.cjs → applyStreamingQuery-G2PA2SM7.cjs} +11 -11
- package/build/cjs/{applyStreamingQuery-F77N7EOP.cjs.map → applyStreamingQuery-G2PA2SM7.cjs.map} +1 -1
- package/build/cjs/{chunk-KILPUOJP.cjs → chunk-BV6P25ZM.cjs} +51 -21
- package/build/cjs/chunk-BV6P25ZM.cjs.map +1 -0
- package/build/cjs/{chunk-3DMI6Z4B.cjs → chunk-IWAZIBOK.cjs} +75 -75
- package/build/cjs/{chunk-3DMI6Z4B.cjs.map → chunk-IWAZIBOK.cjs.map} +1 -1
- package/build/cjs/{chunk-MURBAIS4.cjs → chunk-NFD4IH4H.cjs} +17 -16
- package/build/cjs/chunk-NFD4IH4H.cjs.map +1 -0
- package/build/cjs/{chunk-5WD6SB7R.cjs → chunk-WBINM4RT.cjs} +297 -100
- package/build/cjs/chunk-WBINM4RT.cjs.map +1 -0
- package/build/cjs/{chunk-DOXHU27E.cjs → chunk-YP43NHIA.cjs} +3 -3
- package/build/cjs/{chunk-DOXHU27E.cjs.map → chunk-YP43NHIA.cjs.map} +1 -1
- package/build/cjs/{chunk-ZPLXXOU6.cjs → chunk-ZFNHWPQA.cjs} +3 -3
- package/build/cjs/{chunk-ZPLXXOU6.cjs.map → chunk-ZFNHWPQA.cjs.map} +1 -1
- package/build/cjs/index.cjs +13 -13
- package/build/cjs/public/experimental.cjs +8 -8
- package/build/cjs/public/internal.cjs +8 -8
- package/build/cjs/public/observable.cjs +7 -7
- package/build/cjs/public/unstable-do-not-use.cjs +37 -12
- package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
- package/build/cjs/public/unstable-do-not-use.d.cts +167 -4
- package/build/cjs/{transformAndWaitInternal-F3UV33FN.cjs → transformAndWaitInternal-2GORZXPK.cjs} +6 -6
- package/build/cjs/{transformAndWaitInternal-F3UV33FN.cjs.map → transformAndWaitInternal-2GORZXPK.cjs.map} +1 -1
- package/build/esm/Client.js +1 -1
- package/build/esm/Client.js.map +1 -1
- package/build/esm/MinimalClientContext.js.map +1 -1
- package/build/esm/actions/applyAction.js +3 -1
- package/build/esm/actions/applyAction.js.map +1 -1
- package/build/esm/createClient.js +7 -3
- package/build/esm/createClient.js.map +1 -1
- package/build/esm/createMinimalClient.js +10 -0
- package/build/esm/createMinimalClient.js.map +1 -1
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.js +3 -0
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js +30 -10
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/esm/object/aggregate.js +2 -1
- package/build/esm/object/aggregate.js.map +1 -1
- package/build/esm/object/fetchPage.js +6 -3
- package/build/esm/object/fetchPage.js.map +1 -1
- package/build/esm/objectSet/createObjectSet.js +3 -0
- package/build/esm/objectSet/createObjectSet.js.map +1 -1
- package/build/esm/public/unstable-do-not-use.js +2 -0
- package/build/esm/public/unstable-do-not-use.js.map +1 -1
- package/build/esm/queries/applyQuery.js +1 -0
- package/build/esm/queries/applyQuery.js.map +1 -1
- package/build/esm/scenarios/ScenarioClient.js +202 -0
- package/build/esm/scenarios/ScenarioClient.js.map +1 -0
- package/build/esm/scenarios/createScenario.js +55 -0
- package/build/esm/scenarios/createScenario.js.map +1 -0
- package/build/esm/scenarios/withScenario.js +42 -0
- package/build/esm/scenarios/withScenario.js.map +1 -0
- package/build/esm/util/UserAgent.js +2 -2
- package/build/esm/util/UserAgent.js.map +1 -1
- package/build/esm/util/toDataValue.js +4 -0
- package/build/esm/util/toDataValue.js.map +1 -1
- package/build/types/Client.d.ts +1 -1
- package/build/types/MinimalClientContext.d.ts +1 -0
- package/build/types/MinimalClientContext.d.ts.map +1 -1
- package/build/types/actions/applyAction.d.ts.map +1 -1
- package/build/types/createClient.d.ts.map +1 -1
- package/build/types/public/unstable-do-not-use.d.ts +3 -0
- package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
- package/build/types/queries/applyQuery.d.ts.map +1 -1
- package/build/types/scenarios/ScenarioClient.d.ts +131 -0
- package/build/types/scenarios/ScenarioClient.d.ts.map +1 -0
- package/build/types/scenarios/createScenario.d.ts +21 -0
- package/build/types/scenarios/createScenario.d.ts.map +1 -0
- package/build/types/scenarios/withScenario.d.ts +23 -0
- package/build/types/scenarios/withScenario.d.ts.map +1 -0
- package/package.json +14 -14
- package/build/cjs/MediaReferenceProperty-Y6R5ASNW.cjs +0 -22
- package/build/cjs/chunk-5WD6SB7R.cjs.map +0 -1
- package/build/cjs/chunk-KILPUOJP.cjs.map +0 -1
- package/build/cjs/chunk-MURBAIS4.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMinimalClient.js","names":["createSharedClientContext","convertWireToOsdkObjects","createObjectSet","createStandardOntologyProviderFactory","USER_AGENT","createMinimalClient","metadata","baseUrl","tokenProvider","options","fetchFn","global","fetch","objectSetFactory","createOntologyProviderFactory","process","env","NODE_ENV","URL","e","hint","startsWith","Error","minimalClient","headers","objectFactory","ontologyRid","logger","transactionId","clientCacheKey","requestContext","branch","narrowTypeInterfaceOrObjectMapping","Object","freeze","assign","ontologyProvider"],"sources":["createMinimalClient.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Logger } from \"@osdk/api\";\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport type {\n ClientCacheKey,\n MinimalClient,\n MinimalClientParams,\n} from \"./MinimalClientContext.js\";\nimport { convertWireToOsdkObjects } from \"./object/convertWireToOsdkObjects.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport type { OntologyProvider } from \"./ontology/OntologyProvider.js\";\nimport {\n createStandardOntologyProviderFactory,\n type OntologyCachingOptions,\n} from \"./ontology/StandardOntologyProvider.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\n\n/** @internal */\nexport function createMinimalClient(\n metadata: MinimalClientParams[\"metadata\"],\n baseUrl: string,\n tokenProvider: () => Promise<string>,\n options: OntologyCachingOptions & {\n logger?: Logger;\n transactionId?: string;\n flushEdits?: () => Promise<void>;\n branch?: string;\n headers?: Record<string, string>;\n } = {},\n fetchFn: (\n input: Request | URL | string,\n init?: RequestInit | undefined,\n ) => Promise<Response> = global.fetch,\n objectSetFactory: ObjectSetFactory<any, any> = createObjectSet,\n createOntologyProviderFactory: (\n a: OntologyCachingOptions & { logger?: Logger },\n ) => (minimalClient: MinimalClient) => OntologyProvider =\n createStandardOntologyProviderFactory,\n) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n new URL(baseUrl);\n } catch (e) {\n const hint =\n !baseUrl.startsWith(\"http://\") || !baseUrl.startsWith(\"https://\")\n ? \". Did you forget to add 'http://' or 'https://'?\"\n : \"\";\n throw new Error(`Invalid stack URL: ${baseUrl}${hint}`);\n }\n }\n const minimalClient: MinimalClient = {\n ...createSharedClientContext(\n baseUrl,\n tokenProvider,\n USER_AGENT,\n fetchFn,\n options.headers,\n ),\n objectSetFactory,\n objectFactory: convertWireToOsdkObjects,\n ontologyRid: metadata.ontologyRid,\n logger: options.logger,\n transactionId: options.transactionId,\n clientCacheKey: {} as ClientCacheKey,\n requestContext: {},\n branch: options.branch,\n narrowTypeInterfaceOrObjectMapping: {},\n } satisfies Omit<\n MinimalClient,\n \"ontologyProvider\"\n > as any;\n\n return Object.freeze(Object.assign(minimalClient, {\n ontologyProvider: createOntologyProviderFactory(\n options,\n )(minimalClient),\n }));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,yBAAyB,QAAQ,0BAA0B;AAMpE,SAASC,wBAAwB,QAAQ,sCAAsC;AAC/E,SAASC,eAAe,QAAQ,gCAAgC;AAGhE,SACEC,qCAAqC,QAEhC,wCAAwC;AAC/C,SAASC,UAAU,QAAQ,qBAAqB;;AAEhD;AACA,OAAO,SAASC,mBAAmBA,CACjCC,QAAyC,EACzCC,OAAe,EACfC,aAAoC,EACpCC,
|
|
1
|
+
{"version":3,"file":"createMinimalClient.js","names":["createSharedClientContext","convertWireToOsdkObjects","createObjectSet","createStandardOntologyProviderFactory","USER_AGENT","createMinimalClient","metadata","baseUrl","tokenProvider","options","fetchFn","global","fetch","objectSetFactory","createOntologyProviderFactory","process","env","NODE_ENV","URL","e","hint","startsWith","Error","originalFetchFn","input","init","url","toString","test","pathname","searchParams","has","set","minimalClient","headers","objectFactory","ontologyRid","logger","transactionId","scenarioRid","clientCacheKey","requestContext","branch","narrowTypeInterfaceOrObjectMapping","Object","freeze","assign","ontologyProvider"],"sources":["createMinimalClient.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Logger } from \"@osdk/api\";\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport type {\n ClientCacheKey,\n MinimalClient,\n MinimalClientParams,\n} from \"./MinimalClientContext.js\";\nimport { convertWireToOsdkObjects } from \"./object/convertWireToOsdkObjects.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport type { OntologyProvider } from \"./ontology/OntologyProvider.js\";\nimport {\n createStandardOntologyProviderFactory,\n type OntologyCachingOptions,\n} from \"./ontology/StandardOntologyProvider.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\n\n/** @internal */\nexport function createMinimalClient(\n metadata: MinimalClientParams[\"metadata\"],\n baseUrl: string,\n tokenProvider: () => Promise<string>,\n options: OntologyCachingOptions & {\n logger?: Logger;\n transactionId?: string;\n flushEdits?: () => Promise<void>;\n scenarioRid?: string;\n branch?: string;\n headers?: Record<string, string>;\n } = {},\n fetchFn: (\n input: Request | URL | string,\n init?: RequestInit | undefined,\n ) => Promise<Response> = global.fetch,\n objectSetFactory: ObjectSetFactory<any, any> = createObjectSet,\n createOntologyProviderFactory: (\n a: OntologyCachingOptions & { logger?: Logger },\n ) => (minimalClient: MinimalClient) => OntologyProvider =\n createStandardOntologyProviderFactory,\n) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n new URL(baseUrl);\n } catch (e) {\n const hint =\n !baseUrl.startsWith(\"http://\") || !baseUrl.startsWith(\"https://\")\n ? \". Did you forget to add 'http://' or 'https://'?\"\n : \"\";\n throw new Error(`Invalid stack URL: ${baseUrl}${hint}`);\n }\n }\n const originalFetchFn = fetchFn;\n fetchFn = async (\n input: string | Request | URL,\n init?: RequestInit | undefined,\n ) => {\n const url = new URL(\n (typeof input === \"string\")\n ? input\n : (input instanceof URL)\n ? input.toString()\n : input.url,\n );\n\n if (\n /\\/scenarios(\\/|$)/.test(url.pathname) && !url.searchParams.has(\"preview\")\n ) {\n url.searchParams.set(\"preview\", \"true\");\n return originalFetchFn(url, init);\n }\n\n return originalFetchFn(input, init);\n };\n const minimalClient: MinimalClient = {\n ...createSharedClientContext(\n baseUrl,\n tokenProvider,\n USER_AGENT,\n fetchFn,\n options.headers,\n ),\n objectSetFactory,\n objectFactory: convertWireToOsdkObjects,\n ontologyRid: metadata.ontologyRid,\n logger: options.logger,\n transactionId: options.transactionId,\n scenarioRid: options.scenarioRid,\n clientCacheKey: {} as ClientCacheKey,\n requestContext: {},\n branch: options.branch,\n narrowTypeInterfaceOrObjectMapping: {},\n } satisfies Omit<\n MinimalClient,\n \"ontologyProvider\"\n > as any;\n\n return Object.freeze(Object.assign(minimalClient, {\n ontologyProvider: createOntologyProviderFactory(\n options,\n )(minimalClient),\n }));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,yBAAyB,QAAQ,0BAA0B;AAMpE,SAASC,wBAAwB,QAAQ,sCAAsC;AAC/E,SAASC,eAAe,QAAQ,gCAAgC;AAGhE,SACEC,qCAAqC,QAEhC,wCAAwC;AAC/C,SAASC,UAAU,QAAQ,qBAAqB;;AAEhD;AACA,OAAO,SAASC,mBAAmBA,CACjCC,QAAyC,EACzCC,OAAe,EACfC,aAAoC,EACpCC,OAOC,GAAG,CAAC,CAAC,EACNC,OAGsB,GAAGC,MAAM,CAACC,KAAK,EACrCC,gBAA4C,GAAGX,eAAe,EAC9DY,6BAEuD,GACrDX,qCAAqC,EACvC;EACA,IAAIY,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC,IAAI;MACF,IAAIC,GAAG,CAACX,OAAO,CAAC;IAClB,CAAC,CAAC,OAAOY,CAAC,EAAE;MACV,MAAMC,IAAI,GACR,CAACb,OAAO,CAACc,UAAU,CAAC,SAAS,CAAC,IAAI,CAACd,OAAO,CAACc,UAAU,CAAC,UAAU,CAAC,GAC7D,kDAAkD,GAClD,EAAE;MACR,MAAM,IAAIC,KAAK,CAAC,sBAAsBf,OAAO,GAAGa,IAAI,EAAE,CAAC;IACzD;EACF;EACA,MAAMG,eAAe,GAAGb,OAAO;EAC/BA,OAAO,GAAG,MAAAA,CACRc,KAA6B,EAC7BC,IAA8B,KAC3B;IACH,MAAMC,GAAG,GAAG,IAAIR,GAAG,CAChB,OAAOM,KAAK,KAAK,QAAQ,GACtBA,KAAK,GACJA,KAAK,YAAYN,GAAG,GACrBM,KAAK,CAACG,QAAQ,CAAC,CAAC,GAChBH,KAAK,CAACE,GACZ,CAAC;IAED,IACE,mBAAmB,CAACE,IAAI,CAACF,GAAG,CAACG,QAAQ,CAAC,IAAI,CAACH,GAAG,CAACI,YAAY,CAACC,GAAG,CAAC,SAAS,CAAC,EAC1E;MACAL,GAAG,CAACI,YAAY,CAACE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;MACvC,OAAOT,eAAe,CAACG,GAAG,EAAED,IAAI,CAAC;IACnC;IAEA,OAAOF,eAAe,CAACC,KAAK,EAAEC,IAAI,CAAC;EACrC,CAAC;EACD,MAAMQ,aAA4B,GAAG;IACnC,GAAGjC,yBAAyB,CAC1BO,OAAO,EACPC,aAAa,EACbJ,UAAU,EACVM,OAAO,EACPD,OAAO,CAACyB,OACV,CAAC;IACDrB,gBAAgB;IAChBsB,aAAa,EAAElC,wBAAwB;IACvCmC,WAAW,EAAE9B,QAAQ,CAAC8B,WAAW;IACjCC,MAAM,EAAE5B,OAAO,CAAC4B,MAAM;IACtBC,aAAa,EAAE7B,OAAO,CAAC6B,aAAa;IACpCC,WAAW,EAAE9B,OAAO,CAAC8B,WAAW;IAChCC,cAAc,EAAE,CAAC,CAAmB;IACpCC,cAAc,EAAE,CAAC,CAAC;IAClBC,MAAM,EAAEjC,OAAO,CAACiC,MAAM;IACtBC,kCAAkC,EAAE,CAAC;EACvC,CAGQ;EAER,OAAOC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACb,aAAa,EAAE;IAChDc,gBAAgB,EAAEjC,6BAA6B,CAC7CL,OACF,CAAC,CAACwB,aAAa;EACjB,CAAC,CAAC,CAAC;AACL","ignoreList":[]}
|
|
@@ -29,6 +29,9 @@ export function createWithPropertiesObjectSet(objectType, objectSet, definitionM
|
|
|
29
29
|
}, definitionMap);
|
|
30
30
|
},
|
|
31
31
|
where: clause => {
|
|
32
|
+
if (clause == null || Object.keys(clause).length === 0) {
|
|
33
|
+
return createWithPropertiesObjectSet(objectType, objectSet, definitionMap);
|
|
34
|
+
}
|
|
32
35
|
const rdpNames = new Set(definitionMap.keys());
|
|
33
36
|
return createWithPropertiesObjectSet(objectType, {
|
|
34
37
|
type: "filter",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWithPropertiesObjectSet.js","names":["invariant","modernToLegacyWhereClause","derivedPropertyDefinitionFactory","createWithPropertiesObjectSet","objectType","objectSet","definitionMap","fromBaseObjectSet","pivotTo","link","type","where","clause","
|
|
1
|
+
{"version":3,"file":"createWithPropertiesObjectSet.js","names":["invariant","modernToLegacyWhereClause","derivedPropertyDefinitionFactory","createWithPropertiesObjectSet","objectType","objectSet","definitionMap","fromBaseObjectSet","pivotTo","link","type","where","clause","Object","keys","length","rdpNames","Set","aggregate","aggregation","opt","splitAggregation","split","process","env","NODE_ENV","aggregationPropertyName","aggregationOperation","aggregationOperationDefinition","selectedPropertyApiName","approximatePercentile","percentile","limit","undefined","wrappedObjectSet","operation","selectorResult","set","selectProperty","name","apiName"],"sources":["createWithPropertiesObjectSet.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { DerivedProperty, ObjectOrInterfaceDefinition } from \"@osdk/api\";\nimport type {\n DerivedPropertyDefinition,\n ObjectSet as WireObjectSet,\n SelectedPropertyOperation,\n} from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport { derivedPropertyDefinitionFactory } from \"./derivedPropertyDefinitionFactory.js\";\n\n/** @internal */\nexport function createWithPropertiesObjectSet<\n Q extends ObjectOrInterfaceDefinition,\n>(\n objectType: Q,\n objectSet: WireObjectSet,\n definitionMap: Map<any, DerivedPropertyDefinition>,\n fromBaseObjectSet: boolean = false,\n): DerivedProperty.SelectPropertyBuilder<Q, false> {\n return {\n pivotTo: (link) => {\n return createWithPropertiesObjectSet(objectType, {\n type: \"searchAround\",\n objectSet,\n link,\n }, definitionMap);\n },\n where: (clause) => {\n if (clause == null || Object.keys(clause).length === 0) {\n return createWithPropertiesObjectSet(\n objectType,\n objectSet,\n definitionMap,\n );\n }\n const rdpNames = new Set(definitionMap.keys());\n return createWithPropertiesObjectSet(objectType, {\n type: \"filter\",\n objectSet,\n where: modernToLegacyWhereClause(clause, objectType, rdpNames),\n }, definitionMap);\n },\n aggregate: (aggregation: string, opt: any) => {\n const splitAggregation = aggregation.split(\":\");\n invariant(\n splitAggregation.length === 2 || splitAggregation[0] === \"$count\",\n \"Invalid aggregation format\",\n );\n const [aggregationPropertyName, aggregationOperation] = splitAggregation;\n let aggregationOperationDefinition: SelectedPropertyOperation;\n switch (aggregationOperation) {\n case \"sum\":\n case \"avg\":\n case \"min\":\n case \"max\":\n case \"exactDistinct\":\n case \"approximateDistinct\":\n aggregationOperationDefinition = {\n type: aggregationOperation,\n selectedPropertyApiName: aggregationPropertyName,\n };\n break;\n case \"approximatePercentile\":\n aggregationOperationDefinition = {\n type: \"approximatePercentile\",\n selectedPropertyApiName: aggregationPropertyName,\n approximatePercentile: opt?.percentile ?? .5,\n };\n break;\n case \"collectSet\":\n case \"collectList\":\n aggregationOperationDefinition = {\n type: aggregationOperation,\n selectedPropertyApiName: aggregationPropertyName,\n limit: opt?.limit ?? 100,\n };\n break;\n case undefined:\n if (aggregationPropertyName === \"$count\") {\n aggregationOperationDefinition = {\n type: \"count\",\n };\n break;\n }\n default:\n invariant(\n false,\n \"Invalid aggregation operation \" + aggregationOperation,\n );\n }\n const wrappedObjectSet: DerivedPropertyDefinition = {\n type: \"selection\",\n objectSet,\n operation: aggregationOperationDefinition,\n };\n const selectorResult: DerivedProperty.Definition<any, any> =\n derivedPropertyDefinitionFactory(wrappedObjectSet, definitionMap);\n definitionMap.set(selectorResult, wrappedObjectSet);\n return selectorResult as any;\n },\n selectProperty: (name) => {\n if (fromBaseObjectSet) {\n const wrappedObjectSet: DerivedPropertyDefinition = {\n type: \"property\",\n apiName: name,\n };\n const selectorResult: DerivedProperty.Definition<any, any> =\n derivedPropertyDefinitionFactory(wrappedObjectSet, definitionMap);\n definitionMap.set(selectorResult, wrappedObjectSet);\n return selectorResult as any;\n }\n const wrappedObjectSet: DerivedPropertyDefinition = {\n type: \"selection\",\n objectSet,\n operation: {\n type: \"get\",\n selectedPropertyApiName: name,\n },\n };\n const selectorResult: DerivedProperty.Definition<any, any> =\n derivedPropertyDefinitionFactory(wrappedObjectSet, definitionMap);\n definitionMap.set(selectorResult, wrappedObjectSet);\n return selectorResult as any;\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -34,6 +34,7 @@ export function modernToLegacyWhereClause(whereClause, objectOrInterface, rdpNam
|
|
|
34
34
|
const parts = Object.entries(whereClause).map(([key, value]) => ({
|
|
35
35
|
[key]: value
|
|
36
36
|
}));
|
|
37
|
+
!(parts.length > 0) ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot convert an empty where clause to a filter. " + "Skip the .where() call entirely when no conditions are provided.") : invariant(false) : void 0;
|
|
37
38
|
if (parts.length === 1) {
|
|
38
39
|
return modernToLegacyWhereClauseInner(whereClause, objectOrInterface, rdpNames);
|
|
39
40
|
}
|
|
@@ -65,18 +66,37 @@ export function modernToLegacyWhereClauseInner(whereClause, objectOrInterface, r
|
|
|
65
66
|
}
|
|
66
67
|
return handleWherePair(parts[0], objectOrInterface, undefined, rdpNames);
|
|
67
68
|
}
|
|
69
|
+
function resolvePropertyIdentifier(fieldName, objectOrInterface, isTitleProperty, isPrimaryKeyProperty, isRdp, structFieldSelector) {
|
|
70
|
+
if (isTitleProperty) {
|
|
71
|
+
return {
|
|
72
|
+
type: "titleProperty"
|
|
73
|
+
};
|
|
74
|
+
} else if (isPrimaryKeyProperty) {
|
|
75
|
+
return {
|
|
76
|
+
type: "primaryKeyProperty"
|
|
77
|
+
};
|
|
78
|
+
} else if (isRdp) {
|
|
79
|
+
return {
|
|
80
|
+
type: "property",
|
|
81
|
+
apiName: fieldName
|
|
82
|
+
};
|
|
83
|
+
} else if (structFieldSelector != null) {
|
|
84
|
+
return {
|
|
85
|
+
type: "structField",
|
|
86
|
+
...structFieldSelector,
|
|
87
|
+
propertyApiName: fullyQualifyPropName(structFieldSelector.propertyApiName, objectOrInterface)
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
68
92
|
function handleWherePair([fieldName, filter], objectOrInterface, structFieldSelector, rdpNames) {
|
|
69
93
|
!(filter != null) ? process.env.NODE_ENV !== "production" ? invariant(false, `Cannot filter on property "${fieldName}" with an undefined or null value. ` + `If the value might be undefined, check it before adding to the where clause.`) : invariant(false) : void 0;
|
|
70
|
-
const
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
...structFieldSelector,
|
|
77
|
-
propertyApiName: fullyQualifyPropName(structFieldSelector.propertyApiName, objectOrInterface)
|
|
78
|
-
} : undefined;
|
|
79
|
-
const field = !isRdp && structFieldSelector == null ? fullyQualifyPropName(fieldName, objectOrInterface) : undefined;
|
|
94
|
+
const isTitleProperty = fieldName === "$title";
|
|
95
|
+
const isPrimaryKeyProperty = fieldName === "$primaryKey";
|
|
96
|
+
const isSpecialProperty = isTitleProperty || isPrimaryKeyProperty;
|
|
97
|
+
const isRdp = !structFieldSelector && !isSpecialProperty && rdpNames?.has(fieldName);
|
|
98
|
+
const propertyIdentifier = resolvePropertyIdentifier(fieldName, objectOrInterface, isTitleProperty, isPrimaryKeyProperty, isRdp, structFieldSelector);
|
|
99
|
+
const field = !isRdp && !isSpecialProperty && structFieldSelector == null ? fullyQualifyPropName(fieldName, objectOrInterface) : undefined;
|
|
80
100
|
!(field == null || propertyIdentifier == null && (field != null || isRdp != null)) ? process.env.NODE_ENV !== "production" ? invariant(false, "Encountered error constructing where clause: field and propertyIdentifier cannot both be defined") : invariant(false) : void 0;
|
|
81
101
|
if (typeof filter === "string" || typeof filter === "number" || typeof filter === "boolean") {
|
|
82
102
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modernToLegacyWhereClause.js","names":["invariant","fullyQualifyPropName","makeGeoFilterIntersects","makeGeoFilterWithin","toIntervalQueryRule","isAndClause","whereClause","$and","undefined","isOrClause","$or","isNotClause","$not","modernToLegacyWhereClause","objectOrInterface","rdpNames","parts","Object","entries","map","key","value","length","modernToLegacyWhereClauseInner","type","v","process","env","NODE_ENV","clause","handleWherePair","fieldName","filter","structFieldSelector","isRdp","has","propertyIdentifier","apiName","propertyApiName","field","keysOfFilter","keys","hasDollarSign","some","startsWith","structFilter","structFieldApiName","firstKey","containsValue","containsKeys","isFilterObject","substring","term","fuzzy","fuzzySearch","rule"],"sources":["modernToLegacyWhereClause.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n AndWhereClause,\n NotWhereClause,\n ObjectOrInterfaceDefinition,\n OrWhereClause,\n PossibleWhereClauseFilters,\n SimplePropertyDef,\n WhereClause,\n} from \"@osdk/api\";\n\nimport type {\n PropertyIdentifier,\n SearchJsonQueryV2,\n} from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { fullyQualifyPropName } from \"./fullyQualifyPropName.js\";\nimport { makeGeoFilterIntersects } from \"./makeGeoFilterIntersects.js\";\nimport { makeGeoFilterWithin } from \"./makeGeoFilterWithin.js\";\nimport { toIntervalQueryRule } from \"./toIntervalQuery.js\";\n\ntype DropDollarSign<T extends `$${string}`> = T extends `$${infer U}` ? U\n : never;\n\nfunction isAndClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n): whereClause is AndWhereClause<T, RDPs> {\n return \"$and\" in whereClause && whereClause.$and !== undefined;\n}\n\nfunction isOrClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n): whereClause is OrWhereClause<T, RDPs> {\n return \"$or\" in whereClause && whereClause.$or !== undefined;\n}\n\nfunction isNotClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n): whereClause is NotWhereClause<T, RDPs> {\n return \"$not\" in whereClause && whereClause.$not !== undefined;\n}\n\n/** @internal */\nexport function modernToLegacyWhereClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n objectOrInterface: T,\n rdpNames?: Set<string>,\n): SearchJsonQueryV2 {\n const parts = Object.entries(whereClause).map(([key, value]) => ({\n [key]: value,\n })) as WhereClause<T, RDPs>[];\n if (parts.length === 1) {\n return modernToLegacyWhereClauseInner(\n whereClause,\n objectOrInterface,\n rdpNames,\n );\n }\n return {\n type: \"and\",\n value: parts.map<SearchJsonQueryV2>(\n v => modernToLegacyWhereClauseInner(v, objectOrInterface, rdpNames),\n ),\n };\n}\n\n/** @internal */\nexport function modernToLegacyWhereClauseInner<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n objectOrInterface: T,\n rdpNames?: Set<string>,\n): SearchJsonQueryV2 {\n const parts = Object.entries(whereClause);\n\n invariant(parts.length === 1, \"Invalid where clause provided.\");\n\n if (isAndClause(whereClause)) {\n return {\n type: \"and\",\n value: (whereClause.$and as WhereClause<T, RDPs>[]).map(\n (clause) =>\n modernToLegacyWhereClause(clause, objectOrInterface, rdpNames),\n ),\n };\n } else if (isOrClause(whereClause)) {\n return {\n type: \"or\",\n value: (whereClause.$or as WhereClause<T, RDPs>[]).map(\n (clause) =>\n modernToLegacyWhereClause(clause, objectOrInterface, rdpNames),\n ),\n };\n } else if (isNotClause(whereClause)) {\n return {\n type: \"not\",\n value: modernToLegacyWhereClause(\n whereClause.$not as WhereClause<T, RDPs>,\n objectOrInterface,\n rdpNames,\n ),\n };\n }\n\n return handleWherePair(parts[0], objectOrInterface, undefined, rdpNames);\n}\n\nfunction handleWherePair(\n [fieldName, filter]: [string, any],\n objectOrInterface: ObjectOrInterfaceDefinition,\n structFieldSelector?: { propertyApiName: string; structFieldApiName: string },\n rdpNames?: Set<string>,\n): SearchJsonQueryV2 {\n invariant(\n filter != null,\n `Cannot filter on property \"${fieldName}\" with an undefined or null value. `\n + `If the value might be undefined, check it before adding to the where clause.`,\n );\n\n const isRdp = !structFieldSelector && rdpNames?.has(fieldName);\n\n const propertyIdentifier: PropertyIdentifier | undefined = isRdp\n ? {\n type: \"property\",\n apiName: fieldName,\n }\n : structFieldSelector != null\n ? {\n type: \"structField\",\n ...structFieldSelector,\n propertyApiName: fullyQualifyPropName(\n structFieldSelector.propertyApiName,\n objectOrInterface,\n ),\n }\n : undefined;\n\n const field = !isRdp && structFieldSelector == null\n ? fullyQualifyPropName(fieldName, objectOrInterface)\n : undefined;\n\n invariant(\n field == null\n || propertyIdentifier == null && (field != null || isRdp != null),\n \"Encountered error constructing where clause: field and propertyIdentifier cannot both be defined\",\n );\n\n if (\n typeof filter === \"string\" || typeof filter === \"number\"\n || typeof filter === \"boolean\"\n ) {\n return {\n type: \"eq\",\n ...(propertyIdentifier != null\n && { propertyIdentifier }),\n field,\n value: filter,\n };\n }\n\n const keysOfFilter = Object.keys(filter);\n\n // If any of the keys start with `$` then they must be the only one.\n // e.g. `where({ name: { $eq: \"foo\", $ne: \"bar\" } })` is invalid currently\n const hasDollarSign = keysOfFilter.some((key) => key.startsWith(\"$\"));\n invariant(\n !hasDollarSign\n || keysOfFilter.length === 1,\n \"A WhereClause Filter with multiple clauses/fields is not allowed. Instead, use an 'or'/'and' clause to combine multiple filters.\",\n );\n\n // Struct\n if (!hasDollarSign) {\n const structFilter = Object.entries(filter);\n invariant(\n structFilter.length === 1,\n \"Cannot filter on more than one struct field in the same clause, need to use an and clause\",\n );\n const structFieldApiName = keysOfFilter[0];\n return handleWherePair(Object.entries(filter)[0], objectOrInterface, {\n propertyApiName: fieldName,\n structFieldApiName,\n }, rdpNames);\n }\n\n const firstKey = keysOfFilter[0] as PossibleWhereClauseFilters;\n invariant(filter[firstKey] != null);\n\n if (firstKey === \"$contains\" && filter[firstKey] instanceof Object) {\n const containsValue = filter[firstKey];\n const containsKeys = Object.keys(containsValue);\n\n const isFilterObject = containsKeys.some(key => key.startsWith(\"$\"));\n\n if (isFilterObject) {\n return handleWherePair(\n [fieldName, containsValue],\n objectOrInterface,\n structFieldSelector,\n rdpNames,\n );\n } else {\n const structFilter: [string, any][] = Object.entries(containsValue);\n invariant(\n structFilter.length === 1,\n \"Cannot filter on more than one struct field in the same clause, need to use an and clause\",\n );\n const structFieldApiName = structFilter[0][0];\n\n return handleWherePair(structFilter[0], objectOrInterface, {\n propertyApiName: fieldName,\n structFieldApiName,\n });\n }\n }\n\n if (firstKey === \"$ne\") {\n return {\n type: \"not\",\n value: {\n type: \"eq\",\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: filter[firstKey],\n },\n };\n }\n\n if (firstKey === \"$within\") {\n return makeGeoFilterWithin(filter[firstKey], propertyIdentifier, field);\n }\n if (firstKey === \"$intersects\") {\n return makeGeoFilterIntersects(filter[firstKey], propertyIdentifier, field);\n }\n\n if (firstKey === \"$containsAllTerms\" || firstKey === \"$containsAnyTerm\") {\n return {\n type: firstKey.substring(1) as DropDollarSign<typeof firstKey>,\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: typeof filter[firstKey] === \"string\"\n ? filter[firstKey]\n : filter[firstKey].term,\n fuzzy: typeof filter[firstKey] === \"string\"\n ? false\n : filter[firstKey].fuzzySearch ?? false,\n };\n }\n\n if (firstKey === \"$matchesRegex\") {\n return {\n type: \"regex\",\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: filter[firstKey],\n };\n }\n\n if (firstKey === \"$interval\") {\n return {\n type: \"interval\",\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n rule: toIntervalQueryRule(filter[firstKey]),\n };\n }\n\n return {\n type: firstKey.substring(1) as DropDollarSign<typeof firstKey>,\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: filter[firstKey] as any,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"modernToLegacyWhereClause.js","names":["invariant","fullyQualifyPropName","makeGeoFilterIntersects","makeGeoFilterWithin","toIntervalQueryRule","isAndClause","whereClause","$and","undefined","isOrClause","$or","isNotClause","$not","modernToLegacyWhereClause","objectOrInterface","rdpNames","parts","Object","entries","map","key","value","length","process","env","NODE_ENV","modernToLegacyWhereClauseInner","type","v","clause","handleWherePair","resolvePropertyIdentifier","fieldName","isTitleProperty","isPrimaryKeyProperty","isRdp","structFieldSelector","apiName","propertyApiName","filter","isSpecialProperty","has","propertyIdentifier","field","keysOfFilter","keys","hasDollarSign","some","startsWith","structFilter","structFieldApiName","firstKey","containsValue","containsKeys","isFilterObject","substring","term","fuzzy","fuzzySearch","rule"],"sources":["modernToLegacyWhereClause.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n AndWhereClause,\n NotWhereClause,\n ObjectOrInterfaceDefinition,\n OrWhereClause,\n PossibleWhereClauseFilters,\n SimplePropertyDef,\n WhereClause,\n} from \"@osdk/api\";\n\nimport type {\n PropertyIdentifier,\n SearchJsonQueryV2,\n} from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { fullyQualifyPropName } from \"./fullyQualifyPropName.js\";\nimport { makeGeoFilterIntersects } from \"./makeGeoFilterIntersects.js\";\nimport { makeGeoFilterWithin } from \"./makeGeoFilterWithin.js\";\nimport { toIntervalQueryRule } from \"./toIntervalQuery.js\";\n\ntype DropDollarSign<T extends `$${string}`> = T extends `$${infer U}` ? U\n : never;\n\nfunction isAndClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n): whereClause is AndWhereClause<T, RDPs> {\n return \"$and\" in whereClause && whereClause.$and !== undefined;\n}\n\nfunction isOrClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n): whereClause is OrWhereClause<T, RDPs> {\n return \"$or\" in whereClause && whereClause.$or !== undefined;\n}\n\nfunction isNotClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n): whereClause is NotWhereClause<T, RDPs> {\n return \"$not\" in whereClause && whereClause.$not !== undefined;\n}\n\n/** @internal */\nexport function modernToLegacyWhereClause<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n objectOrInterface: T,\n rdpNames?: Set<string>,\n): SearchJsonQueryV2 {\n const parts = Object.entries(whereClause).map(([key, value]) => ({\n [key]: value,\n })) as WhereClause<T, RDPs>[];\n invariant(\n parts.length > 0,\n \"Cannot convert an empty where clause to a filter. \"\n + \"Skip the .where() call entirely when no conditions are provided.\",\n );\n if (parts.length === 1) {\n return modernToLegacyWhereClauseInner(\n whereClause,\n objectOrInterface,\n rdpNames,\n );\n }\n return {\n type: \"and\",\n value: parts.map<SearchJsonQueryV2>(\n v => modernToLegacyWhereClauseInner(v, objectOrInterface, rdpNames),\n ),\n };\n}\n\n/** @internal */\nexport function modernToLegacyWhereClauseInner<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n whereClause: WhereClause<T, RDPs>,\n objectOrInterface: T,\n rdpNames?: Set<string>,\n): SearchJsonQueryV2 {\n const parts = Object.entries(whereClause);\n\n invariant(parts.length === 1, \"Invalid where clause provided.\");\n\n if (isAndClause(whereClause)) {\n return {\n type: \"and\",\n value: (whereClause.$and as WhereClause<T, RDPs>[]).map(\n (clause) =>\n modernToLegacyWhereClause(clause, objectOrInterface, rdpNames),\n ),\n };\n } else if (isOrClause(whereClause)) {\n return {\n type: \"or\",\n value: (whereClause.$or as WhereClause<T, RDPs>[]).map(\n (clause) =>\n modernToLegacyWhereClause(clause, objectOrInterface, rdpNames),\n ),\n };\n } else if (isNotClause(whereClause)) {\n return {\n type: \"not\",\n value: modernToLegacyWhereClause(\n whereClause.$not as WhereClause<T, RDPs>,\n objectOrInterface,\n rdpNames,\n ),\n };\n }\n\n return handleWherePair(parts[0], objectOrInterface, undefined, rdpNames);\n}\n\nfunction resolvePropertyIdentifier(\n fieldName: string,\n objectOrInterface: ObjectOrInterfaceDefinition,\n isTitleProperty: boolean,\n isPrimaryKeyProperty: boolean,\n isRdp: boolean | undefined,\n structFieldSelector?: { propertyApiName: string; structFieldApiName: string },\n): PropertyIdentifier | undefined {\n if (isTitleProperty) {\n return { type: \"titleProperty\" } as PropertyIdentifier;\n } else if (isPrimaryKeyProperty) {\n return { type: \"primaryKeyProperty\" } as PropertyIdentifier;\n } else if (isRdp) {\n return {\n type: \"property\",\n apiName: fieldName,\n };\n } else if (structFieldSelector != null) {\n return {\n type: \"structField\",\n ...structFieldSelector,\n propertyApiName: fullyQualifyPropName(\n structFieldSelector.propertyApiName,\n objectOrInterface,\n ),\n };\n }\n return undefined;\n}\n\nfunction handleWherePair(\n [fieldName, filter]: [string, any],\n objectOrInterface: ObjectOrInterfaceDefinition,\n structFieldSelector?: { propertyApiName: string; structFieldApiName: string },\n rdpNames?: Set<string>,\n): SearchJsonQueryV2 {\n invariant(\n filter != null,\n `Cannot filter on property \"${fieldName}\" with an undefined or null value. `\n + `If the value might be undefined, check it before adding to the where clause.`,\n );\n\n const isTitleProperty = fieldName === \"$title\";\n const isPrimaryKeyProperty = fieldName === \"$primaryKey\";\n const isSpecialProperty = isTitleProperty || isPrimaryKeyProperty;\n\n const isRdp = !structFieldSelector && !isSpecialProperty\n && rdpNames?.has(fieldName);\n\n const propertyIdentifier = resolvePropertyIdentifier(\n fieldName,\n objectOrInterface,\n isTitleProperty,\n isPrimaryKeyProperty,\n isRdp,\n structFieldSelector,\n );\n\n const field = !isRdp && !isSpecialProperty && structFieldSelector == null\n ? fullyQualifyPropName(fieldName, objectOrInterface)\n : undefined;\n\n invariant(\n field == null\n || propertyIdentifier == null && (field != null || isRdp != null),\n \"Encountered error constructing where clause: field and propertyIdentifier cannot both be defined\",\n );\n\n if (\n typeof filter === \"string\" || typeof filter === \"number\"\n || typeof filter === \"boolean\"\n ) {\n return {\n type: \"eq\",\n ...(propertyIdentifier != null\n && { propertyIdentifier }),\n field,\n value: filter,\n };\n }\n\n const keysOfFilter = Object.keys(filter);\n\n // If any of the keys start with `$` then they must be the only one.\n // e.g. `where({ name: { $eq: \"foo\", $ne: \"bar\" } })` is invalid currently\n const hasDollarSign = keysOfFilter.some((key) => key.startsWith(\"$\"));\n invariant(\n !hasDollarSign\n || keysOfFilter.length === 1,\n \"A WhereClause Filter with multiple clauses/fields is not allowed. Instead, use an 'or'/'and' clause to combine multiple filters.\",\n );\n\n // Struct\n if (!hasDollarSign) {\n const structFilter = Object.entries(filter);\n invariant(\n structFilter.length === 1,\n \"Cannot filter on more than one struct field in the same clause, need to use an and clause\",\n );\n const structFieldApiName = keysOfFilter[0];\n return handleWherePair(Object.entries(filter)[0], objectOrInterface, {\n propertyApiName: fieldName,\n structFieldApiName,\n }, rdpNames);\n }\n\n const firstKey = keysOfFilter[0] as PossibleWhereClauseFilters;\n invariant(filter[firstKey] != null);\n\n if (firstKey === \"$contains\" && filter[firstKey] instanceof Object) {\n const containsValue = filter[firstKey];\n const containsKeys = Object.keys(containsValue);\n\n const isFilterObject = containsKeys.some(key => key.startsWith(\"$\"));\n\n if (isFilterObject) {\n return handleWherePair(\n [fieldName, containsValue],\n objectOrInterface,\n structFieldSelector,\n rdpNames,\n );\n } else {\n const structFilter: [string, any][] = Object.entries(containsValue);\n invariant(\n structFilter.length === 1,\n \"Cannot filter on more than one struct field in the same clause, need to use an and clause\",\n );\n const structFieldApiName = structFilter[0][0];\n\n return handleWherePair(structFilter[0], objectOrInterface, {\n propertyApiName: fieldName,\n structFieldApiName,\n });\n }\n }\n\n if (firstKey === \"$ne\") {\n return {\n type: \"not\",\n value: {\n type: \"eq\",\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: filter[firstKey],\n },\n };\n }\n\n if (firstKey === \"$within\") {\n return makeGeoFilterWithin(filter[firstKey], propertyIdentifier, field);\n }\n if (firstKey === \"$intersects\") {\n return makeGeoFilterIntersects(filter[firstKey], propertyIdentifier, field);\n }\n\n if (firstKey === \"$containsAllTerms\" || firstKey === \"$containsAnyTerm\") {\n return {\n type: firstKey.substring(1) as DropDollarSign<typeof firstKey>,\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: typeof filter[firstKey] === \"string\"\n ? filter[firstKey]\n : filter[firstKey].term,\n fuzzy: typeof filter[firstKey] === \"string\"\n ? false\n : filter[firstKey].fuzzySearch ?? false,\n };\n }\n\n if (firstKey === \"$matchesRegex\") {\n return {\n type: \"regex\",\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: filter[firstKey],\n };\n }\n\n if (firstKey === \"$interval\") {\n return {\n type: \"interval\",\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n rule: toIntervalQueryRule(filter[firstKey]),\n };\n }\n\n return {\n type: firstKey.substring(1) as DropDollarSign<typeof firstKey>,\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: filter[firstKey] as any,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -42,7 +42,8 @@ export async function aggregate(clientCtx, objectType, objectSet = resolveBaseOb
|
|
|
42
42
|
aggregation: body.aggregation
|
|
43
43
|
}, {
|
|
44
44
|
branch: clientCtx.branch,
|
|
45
|
-
transactionId: clientCtx.transactionId
|
|
45
|
+
transactionId: clientCtx.transactionId,
|
|
46
|
+
scenarioRid: clientCtx.scenarioRid
|
|
46
47
|
});
|
|
47
48
|
if (!result.data || !Array.isArray(result.data)) {
|
|
48
49
|
throw new Error(`Aggregation request failed: ${JSON.stringify(result)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate.js","names":["OntologyObjectSets","invariant","legacyToModernSingleAggregationResult","modernToLegacyAggregationClause","modernToLegacyGroupByClause","addUserAgentAndRequestContextHeaders","resolveBaseObjectSetType","aggregate","clientCtx","objectType","objectSet","req","body","aggregation","$select","groupBy","where","undefined","$groupBy","flushEdits","result","ontologyRid","branch","transactionId","data","Array","isArray","Error","JSON","stringify","length","process","env","NODE_ENV","aggregationToCountResult","ret","map","entry","$group","group","aggregateResult","metrics","name","$count","value"],"sources":["aggregate.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n AggregateOpts,\n AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy,\n AggregationResultsWithGroups,\n AggregationsResults,\n ObjectOrInterfaceDefinition,\n} from \"@osdk/api\";\nimport type {\n AggregateObjectsRequestV2,\n AggregateObjectsResponseV2,\n ObjectSet,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologyObjectSets from \"@osdk/foundry.ontologies/OntologyObjectSet\";\nimport invariant from \"tiny-invariant\";\nimport { legacyToModernSingleAggregationResult } from \"../internal/conversions/legacyToModernSingleAggregationResult.js\";\nimport { modernToLegacyAggregationClause } from \"../internal/conversions/modernToLegacyAggregationClause.js\";\nimport { modernToLegacyGroupByClause } from \"../internal/conversions/modernToLegacyGroupByClause.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport type { ArrayElement } from \"../util/ArrayElement.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\n/** @internal */\nexport async function aggregate<\n Q extends ObjectOrInterfaceDefinition,\n AO extends AggregateOpts<Q>,\n>(\n clientCtx: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n req: AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy<Q, AO>,\n): Promise<AggregationsResults<Q, AO>> {\n const resolvedObjectSet = resolveBaseObjectSetType(objectType);\n const body: AggregateObjectsRequestV2 = {\n aggregation: modernToLegacyAggregationClause<AO[\"$select\"]>(\n req.$select,\n ),\n groupBy: [],\n where: undefined,\n };\n\n if (req.$groupBy) {\n body.groupBy = modernToLegacyGroupByClause(req.$groupBy);\n }\n\n if (clientCtx.flushEdits != null) {\n await clientCtx.flushEdits();\n }\n\n const result = await OntologyObjectSets.aggregate(\n addUserAgentAndRequestContextHeaders(clientCtx, objectType),\n await clientCtx.ontologyRid,\n {\n objectSet,\n groupBy: body.groupBy,\n aggregation: body.aggregation,\n },\n {
|
|
1
|
+
{"version":3,"file":"aggregate.js","names":["OntologyObjectSets","invariant","legacyToModernSingleAggregationResult","modernToLegacyAggregationClause","modernToLegacyGroupByClause","addUserAgentAndRequestContextHeaders","resolveBaseObjectSetType","aggregate","clientCtx","objectType","objectSet","req","body","aggregation","$select","groupBy","where","undefined","$groupBy","flushEdits","result","ontologyRid","branch","transactionId","scenarioRid","data","Array","isArray","Error","JSON","stringify","length","process","env","NODE_ENV","aggregationToCountResult","ret","map","entry","$group","group","aggregateResult","metrics","name","$count","value"],"sources":["aggregate.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n AggregateOpts,\n AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy,\n AggregationResultsWithGroups,\n AggregationsResults,\n ObjectOrInterfaceDefinition,\n} from \"@osdk/api\";\nimport type {\n AggregateObjectsRequestV2,\n AggregateObjectsResponseV2,\n ObjectSet,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologyObjectSets from \"@osdk/foundry.ontologies/OntologyObjectSet\";\nimport invariant from \"tiny-invariant\";\nimport { legacyToModernSingleAggregationResult } from \"../internal/conversions/legacyToModernSingleAggregationResult.js\";\nimport { modernToLegacyAggregationClause } from \"../internal/conversions/modernToLegacyAggregationClause.js\";\nimport { modernToLegacyGroupByClause } from \"../internal/conversions/modernToLegacyGroupByClause.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport type { ArrayElement } from \"../util/ArrayElement.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\n/** @internal */\nexport async function aggregate<\n Q extends ObjectOrInterfaceDefinition,\n AO extends AggregateOpts<Q>,\n>(\n clientCtx: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n req: AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy<Q, AO>,\n): Promise<AggregationsResults<Q, AO>> {\n const resolvedObjectSet = resolveBaseObjectSetType(objectType);\n const body: AggregateObjectsRequestV2 = {\n aggregation: modernToLegacyAggregationClause<AO[\"$select\"]>(\n req.$select,\n ),\n groupBy: [],\n where: undefined,\n };\n\n if (req.$groupBy) {\n body.groupBy = modernToLegacyGroupByClause(req.$groupBy);\n }\n\n if (clientCtx.flushEdits != null) {\n await clientCtx.flushEdits();\n }\n\n const result = await OntologyObjectSets.aggregate(\n addUserAgentAndRequestContextHeaders(clientCtx, objectType),\n await clientCtx.ontologyRid,\n {\n objectSet,\n groupBy: body.groupBy,\n aggregation: body.aggregation,\n },\n {\n branch: clientCtx.branch,\n transactionId: clientCtx.transactionId,\n scenarioRid: clientCtx.scenarioRid,\n },\n );\n\n if (!result.data || !Array.isArray(result.data)) {\n throw new Error(\n `Aggregation request failed: ${JSON.stringify(result)}`,\n );\n }\n\n if (!req.$groupBy) {\n invariant(\n result.data.length === 1,\n \"no group by clause should mean only one data result\",\n );\n\n return {\n ...aggregationToCountResult(result.data[0]),\n ...legacyToModernSingleAggregationResult(\n result.data[0],\n req.$select,\n ),\n } as any;\n }\n\n const ret: AggregationResultsWithGroups<Q, AO[\"$select\"], any> = result.data\n .map((entry) => {\n return {\n $group: entry.group as any,\n ...aggregationToCountResult(entry),\n ...legacyToModernSingleAggregationResult(entry, req.$select),\n };\n }) as any; // fixme\n\n return ret as any; // FIXME\n}\n\nfunction aggregationToCountResult(\n entry: ArrayElement<AggregateObjectsResponseV2[\"data\"]>,\n): { $count: number } | undefined {\n for (const aggregateResult of entry.metrics) {\n if (aggregateResult.name === \"count\") {\n return { $count: aggregateResult.value };\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -151,7 +151,8 @@ export async function fetchStaticRidPage(client, rids, args, useSnapshot = false
|
|
|
151
151
|
osdkMetadata: undefined
|
|
152
152
|
}), await client.ontologyRid, requestBody, {
|
|
153
153
|
preview: true,
|
|
154
|
-
transactionId: client.transactionId
|
|
154
|
+
transactionId: client.transactionId,
|
|
155
|
+
scenarioRid: client.scenarioRid
|
|
155
156
|
});
|
|
156
157
|
return Promise.resolve({
|
|
157
158
|
data: await client.objectFactory(client, result.data, undefined, {}, shouldLoadPropertySecurities ? result.propertySecurities : undefined, !args.$includeRid, args.$select, false, result.interfaceToObjectTypeMappings, result.interfaceToObjectTypeMappingsV2),
|
|
@@ -186,7 +187,8 @@ async function fetchInterfacePage(client, interfaceType, args, objectSet, useSna
|
|
|
186
187
|
const result = await OntologyObjectSets.loadMultipleObjectTypes(addUserAgentAndRequestContextHeaders(client, interfaceType), await client.ontologyRid, requestBody, {
|
|
187
188
|
preview: true,
|
|
188
189
|
branch: client.branch,
|
|
189
|
-
transactionId: client.transactionId
|
|
190
|
+
transactionId: client.transactionId,
|
|
191
|
+
scenarioRid: client.scenarioRid
|
|
190
192
|
});
|
|
191
193
|
return Promise.resolve({
|
|
192
194
|
data: await client.objectFactory(client, result.data, extractedInterfaceTypeApiName, {}, shouldLoadPropertySecurities ? result.propertySecurities : undefined, !args.$includeRid, args.$select, false, result.interfaceToObjectTypeMappings, result.interfaceToObjectTypeMappingsV2),
|
|
@@ -365,7 +367,8 @@ export async function fetchObjectPage(client, objectType, args, objectSet, useSn
|
|
|
365
367
|
}
|
|
366
368
|
const r = await OntologyObjectSets.load(addUserAgentAndRequestContextHeaders(client, objectType), await client.ontologyRid, requestBody, {
|
|
367
369
|
branch: client.branch,
|
|
368
|
-
transactionId: client.transactionId
|
|
370
|
+
transactionId: client.transactionId,
|
|
371
|
+
scenarioRid: client.scenarioRid
|
|
369
372
|
});
|
|
370
373
|
return Promise.resolve({
|
|
371
374
|
data: await client.objectFactory(client, r.data, undefined, await extractRdpDefinition(client, objectSet), shouldLoadPropertySecurities ? r.propertySecurities : undefined, !args.$includeRid, args.$select, false),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchPage.js","names":["OntologyObjectSets","invariant","extractNamespace","addUserAgentAndRequestContextHeaders","extractObjectOrInterfaceType","extractRdpDefinition","resolveBaseObjectSetType","modifierToLoadLevelType","modifier","Error","buildSelectV2","select","modifiers","allProperties","modifiersMap","modifierProps","Set","Object","keys","hasModifiers","size","entries","length","prop","_","includes","process","env","NODE_ENV","has","push","type","propertyIdentifier","apiName","loadLevel","augment","properties","objectSetToSearchJsonV2","objectSet","expectedApiName","existingWhere","undefined","objectType","interfaceType","where","value","resolveInterfaceObjectSet","interfaceTypeApiName","args","$includeAllBaseObjectProperties","objectSets","includeAllBaseObjectProperties","fetchStaticRidPage","client","rids","useSnapshot","shouldLoadPropertySecurities","$loadPropertySecurityMetadata","requestBody","applyFetchArgs","objects","$select","excludeRid","$includeRid","snapshot","loadPropertySecurities","flushEdits","result","loadMultipleObjectTypes","osdkMetadata","ontologyRid","preview","transactionId","Promise","resolve","data","objectFactory","propertySecurities","interfaceToObjectTypeMappings","interfaceToObjectTypeMappingsV2","nextPageToken","totalCount","fetchInterfacePage","extractedInterfaceTypeApiName","resolvedInterfaceObjectSet","$applyModifiers","hasSelect","ifaceDef","ontologyProvider","getInterfaceDefinition","selectV2","buildAndRemapRequestBody","branch","fetchPageInternal","fetchObjectPage","fetchPageWithErrorsInternal","e","error","fetchPage","fetchPageWithErrors","baseBody","remapped","remapSelectV2","objectOrInterface","objApiNamespace","map","entry","fieldApiNamespace","fieldShortName","remapPropertyNames","propertyNames","name","body","_client","$nextPageToken","pageToken","$pageSize","pageSize","orderBy","$orderBy","orderType","fields","orderByEntries","fieldNames","field","remappedFields","direction","index","objDef","getObjectDefinition","catch","r","load"],"sources":["fetchPage.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n Augment,\n Augments,\n FetchPageArgs,\n FetchPageResult,\n InterfaceDefinition,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSetArgs,\n ObjectTypeDefinition,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\n\ntype PropertyModifierValue =\n | \"applyMainValue\"\n | \"applyReducers\"\n | \"applyReducersAndExtractMainValue\";\nimport type { PageSize, PageToken } from \"@osdk/foundry.core\";\nimport type {\n LoadObjectSetV2MultipleObjectTypesRequest,\n ObjectSet,\n OntologyObjectV2,\n SearchJsonQueryV2,\n SearchOrderByV2,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologyObjectSets from \"@osdk/foundry.ontologies/OntologyObjectSet\";\nimport invariant from \"tiny-invariant\";\nimport { extractNamespace } from \"../internal/conversions/extractNamespace.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { extractObjectOrInterfaceType } from \"../util/extractObjectOrInterfaceType.js\";\nimport { extractRdpDefinition } from \"../util/extractRdpDefinition.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\n/**\n * Converts a PropertyModifierValue to the corresponding wire format loadLevel type.\n */\nfunction modifierToLoadLevelType(\n modifier: PropertyModifierValue,\n): LoadLevelType {\n switch (modifier) {\n case \"applyMainValue\":\n return \"extractMainValue\";\n case \"applyReducers\":\n return \"applyReducers\";\n case \"applyReducersAndExtractMainValue\":\n return \"applyReducersAndExtractMainValue\";\n default: {\n const _exhaustiveCheck: never = modifier;\n throw new Error(`Unknown modifier: ${_exhaustiveCheck}`);\n }\n }\n}\n\ntype LoadLevelType =\n | \"extractMainValue\"\n | \"applyReducers\"\n | \"applyReducersAndExtractMainValue\";\n\ninterface SelectV2SimpleProperty {\n type: \"property\";\n apiName: string;\n}\n\ninterface SelectV2PropertyWithLoadLevel {\n type: \"propertyWithLoadLevel\";\n propertyIdentifier: SelectV2SimpleProperty;\n loadLevel: { type: LoadLevelType };\n}\n\ntype SelectV2Entry = SelectV2SimpleProperty | SelectV2PropertyWithLoadLevel;\n\nexport function buildSelectV2(\n select: readonly string[] | undefined,\n modifiers: Record<string, PropertyModifierValue> | undefined,\n allProperties: readonly string[] | undefined,\n): SelectV2Entry[] {\n const modifiersMap = modifiers ?? {};\n const modifierProps = new Set(Object.keys(modifiersMap));\n const hasModifiers = modifierProps.size > 0;\n\n const entries: SelectV2Entry[] = [];\n\n if (select && select.length > 0) {\n for (const [prop, _] of Object.entries(modifiersMap)) {\n invariant(\n select.includes(prop),\n \"Modified properties must be included in $select when manually specifying properties\",\n );\n }\n for (const prop of select) {\n if (modifierProps.has(prop)) {\n entries.push({\n type: \"propertyWithLoadLevel\",\n propertyIdentifier: { type: \"property\", apiName: prop },\n loadLevel: { type: modifierToLoadLevelType(modifiersMap[prop]) },\n });\n } else {\n entries.push({ type: \"property\", apiName: prop });\n }\n }\n } else if (hasModifiers && allProperties && allProperties.length > 0) {\n for (const prop of allProperties) {\n if (modifierProps.has(prop)) {\n entries.push({\n type: \"propertyWithLoadLevel\",\n propertyIdentifier: { type: \"property\", apiName: prop },\n loadLevel: { type: modifierToLoadLevelType(modifiersMap[prop]) },\n });\n } else {\n entries.push({ type: \"property\", apiName: prop });\n }\n }\n }\n\n return entries;\n}\n\nexport function augment<\n Q extends ObjectOrInterfaceDefinition,\n T extends PropertyKeys<Q>,\n>(\n type: Q,\n ...properties: T[]\n): Augment<Q, T> {\n return { [type.apiName]: properties } as any;\n}\n\n/** @internal */\nexport function objectSetToSearchJsonV2(\n objectSet: ObjectSet,\n expectedApiName: string,\n existingWhere: SearchJsonQueryV2 | undefined = undefined,\n): SearchJsonQueryV2 | undefined {\n if (objectSet.type === \"base\" || objectSet.type === \"interfaceBase\") {\n if (objectSet.type === \"base\" && objectSet.objectType !== expectedApiName) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.objectType}`,\n );\n }\n if (\n objectSet.type === \"interfaceBase\"\n && objectSet.interfaceType !== expectedApiName\n ) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.interfaceType}`,\n );\n }\n\n return existingWhere;\n }\n\n if (objectSet.type === \"filter\") {\n return objectSetToSearchJsonV2(\n objectSet.objectSet,\n expectedApiName,\n existingWhere == null ? objectSet.where : {\n type: \"and\",\n value: [existingWhere, objectSet.where],\n },\n );\n }\n\n throw new Error(`Unsupported objectSet type: ${objectSet.type}`);\n}\n\n/** @internal */\nexport function resolveInterfaceObjectSet(\n objectSet: ObjectSet,\n interfaceTypeApiName: string,\n args: FetchPageArgs<any, any, any, any, any, any>,\n): ObjectSet {\n return args?.$includeAllBaseObjectProperties\n ? {\n type: \"intersect\",\n objectSets: [objectSet, {\n type: \"interfaceBase\",\n interfaceType: interfaceTypeApiName,\n includeAllBaseObjectProperties: true,\n }],\n }\n : objectSet;\n}\n\n/** @internal */\nexport async function fetchStaticRidPage<\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n rids: readonly string[],\n args: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n any,\n S,\n T,\n never,\n {},\n PROPERTY_SECURITIES\n >,\n useSnapshot: boolean = false,\n): Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T,\n {},\n PROPERTY_SECURITIES\n >\n> {\n const shouldLoadPropertySecurities = args.$loadPropertySecurityMetadata\n ?? false;\n const requestBody = await applyFetchArgs(\n args,\n {\n objectSet: {\n type: \"static\",\n objects: rids as string[],\n },\n select: ((args?.$select as string[] | undefined) ?? []),\n excludeRid: !args?.$includeRid,\n snapshot: useSnapshot,\n loadPropertySecurities: shouldLoadPropertySecurities,\n } as LoadObjectSetV2MultipleObjectTypesRequest,\n client,\n { type: \"object\", apiName: \"\" },\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, { osdkMetadata: undefined }),\n await client.ontologyRid,\n requestBody,\n { preview: true, transactionId: client.transactionId },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n result.data,\n undefined,\n {},\n shouldLoadPropertySecurities ? result.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n result.interfaceToObjectTypeMappingsV2,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T,\n {},\n PROPERTY_SECURITIES\n >\n >;\n}\n\nasync function fetchInterfacePage<\n Q extends InterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n interfaceType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet,\n useSnapshot: boolean = false,\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n const extractedInterfaceTypeApiName = (await extractObjectOrInterfaceType(\n client,\n objectSet,\n ))?.apiName ?? interfaceType.apiName;\n const resolvedInterfaceObjectSet = resolveInterfaceObjectSet(\n objectSet,\n extractedInterfaceTypeApiName,\n args,\n );\n const shouldLoadPropertySecurities = args.$loadPropertySecurityMetadata\n ?? false;\n\n const modifiers =\n (args as { $applyModifiers?: Record<string, PropertyModifierValue> })\n .$applyModifiers;\n const hasModifiers = modifiers && Object.keys(modifiers).length > 0;\n const hasSelect = args?.$select && args.$select.length > 0;\n\n let allProperties: string[] | undefined;\n if (!hasSelect && hasModifiers) {\n const ifaceDef = await client.ontologyProvider.getInterfaceDefinition(\n interfaceType.apiName,\n );\n allProperties = ifaceDef ? Object.keys(ifaceDef.properties) : undefined;\n }\n\n const selectV2 = buildSelectV2(\n args?.$select ? [...args.$select] : undefined,\n modifiers,\n allProperties,\n );\n\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet: resolvedInterfaceObjectSet,\n select: [],\n selectV2,\n loadPropertySecurities: shouldLoadPropertySecurities,\n excludeRid: !args?.$includeRid,\n snapshot: useSnapshot,\n },\n client,\n interfaceType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n requestBody,\n {\n preview: true,\n branch: client.branch,\n transactionId: client.transactionId,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n result.data,\n extractedInterfaceTypeApiName,\n {},\n shouldLoadPropertySecurities ? result.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n result.interfaceToObjectTypeMappingsV2,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T>>;\n}\n\n/** @internal */\nexport async function fetchPageInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<\n Q,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS,\n PROPERTY_SECURITIES\n > = {},\n useSnapshot: boolean = false,\n): Promise<\n FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS, PROPERTY_SECURITIES>\n> {\n if (objectType.type === \"interface\") {\n return await fetchInterfacePage(\n client,\n objectType,\n args as FetchPageArgs<\n InterfaceDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n useSnapshot,\n ) as any; // fixme\n } else {\n return await fetchObjectPage(\n client,\n objectType,\n args as FetchPageArgs<\n ObjectTypeDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n useSnapshot,\n ) as any; // fixme\n }\n}\n\n/** @internal */\nexport async function fetchPageWithErrorsInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S, T> = {},\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n try {\n const result = await fetchPageInternal(client, objectType, objectSet, args);\n return { value: result };\n } catch (e) {\n if (e instanceof Error) {\n return { error: e };\n }\n return { error: e as Error };\n }\n}\n\n/**\n * @param client\n * @param objectType\n * @param args\n * @param objectSet\n * @returns\n * @internal\n */\nexport async function fetchPage<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T, never, {}, PROPERTY_SECURITIES>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<FetchPageResult<Q, L, R, S, T, {}, PROPERTY_SECURITIES>> {\n return fetchPageInternal(client, objectType, objectSet, args);\n}\n\n/** @internal */\nexport async function fetchPageWithErrors<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n return fetchPageWithErrorsInternal(client, objectType, objectSet, args);\n}\n\nasync function buildAndRemapRequestBody<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n RequestBody extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n selectV2?: SelectV2Entry[];\n selectedSharedPropertyTypes?: readonly string[];\n loadPropertySecurity?: boolean;\n },\n>(\n args: FetchPageArgs<Q, L, R, A, S, T>,\n baseBody: RequestBody,\n client: MinimalClient,\n objectType: Q,\n): Promise<RequestBody> {\n const requestBody = await applyFetchArgs(\n args,\n baseBody,\n client,\n objectType,\n );\n\n if (requestBody.selectV2 != null && requestBody.selectV2.length > 0) {\n const remapped = remapSelectV2(objectType, requestBody.selectV2);\n return { ...requestBody, selectV2: remapped };\n }\n\n return requestBody;\n}\n\nfunction remapSelectV2(\n objectOrInterface: ObjectOrInterfaceDefinition | undefined,\n selectV2: SelectV2Entry[],\n): SelectV2Entry[] {\n if (objectOrInterface == null) {\n return selectV2;\n }\n\n if (objectOrInterface.type !== \"interface\") {\n return selectV2;\n }\n\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n if (objApiNamespace == null) {\n return selectV2;\n }\n\n return selectV2.map((entry): SelectV2Entry => {\n if (entry.type === \"property\") {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(\n entry.apiName,\n );\n if (fieldApiNamespace == null) {\n return {\n type: \"property\",\n apiName: `${objApiNamespace}.${fieldShortName}`,\n };\n }\n return entry;\n } else {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(\n entry.propertyIdentifier.apiName,\n );\n if (fieldApiNamespace == null) {\n return {\n ...entry,\n propertyIdentifier: {\n type: \"property\",\n apiName: `${objApiNamespace}.${fieldShortName}`,\n },\n };\n }\n return entry;\n }\n });\n}\n\n/** @internal */\nexport function remapPropertyNames(\n objectOrInterface: ObjectOrInterfaceDefinition | undefined,\n propertyNames: readonly string[],\n): readonly string[] {\n if (objectOrInterface == null) {\n return propertyNames;\n }\n\n if (objectOrInterface.type === \"interface\") {\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n return propertyNames.map(name => {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(name);\n return (fieldApiNamespace == null && objApiNamespace != null)\n ? `${objApiNamespace}.${fieldShortName}`\n : name;\n });\n }\n\n return propertyNames;\n}\n\nasync function applyFetchArgs<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n X extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n loadPropertySecurities?: boolean;\n },\n>(\n args: FetchPageArgs<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n ObjectSetArgs.OrderByOptions<any>,\n boolean\n >,\n body: X,\n _client: MinimalClient,\n objectType: Q,\n): Promise<X> {\n if (args?.$nextPageToken) {\n body.pageToken = args.$nextPageToken;\n }\n\n if (args?.$pageSize != null) {\n body.pageSize = args.$pageSize;\n }\n\n if (args?.$loadPropertySecurityMetadata) {\n body.loadPropertySecurities = true;\n }\n\n const orderBy = args?.$orderBy;\n if (orderBy) {\n if (orderBy === \"relevance\") {\n body.orderBy = { orderType: \"relevance\", fields: [] };\n } else {\n const orderByEntries = Object.entries(orderBy);\n const fieldNames = orderByEntries.map(([field]) => field);\n const remappedFields = remapPropertyNames(\n objectType,\n fieldNames,\n );\n\n body.orderBy = {\n fields: orderByEntries.map(([, direction], index) => ({\n field: remappedFields[index],\n direction,\n })),\n };\n }\n }\n\n return body;\n}\n\n/** @internal */\nexport async function fetchObjectPage<\n Q extends ObjectTypeDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, Augments, S, T, never, ORDER_BY_OPTIONS>,\n objectSet: ObjectSet,\n useSnapshot: boolean = false,\n): Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>> {\n // For simple object fetches, since we know the object type up front\n // we can parallelize network requests for loading metadata and loading the actual objects\n // In our object factory we await and block on loading the metadata, which if this call finishes, should already be cached on the client\n const modifiers =\n (args as { $applyModifiers?: Record<string, PropertyModifierValue> })\n .$applyModifiers;\n const hasModifiers = modifiers && Object.keys(modifiers).length > 0;\n const hasSelect = args?.$select && args.$select.length > 0;\n\n let allProperties: string[] | undefined;\n if (!hasSelect && hasModifiers) {\n const objDef = await client.ontologyProvider.getObjectDefinition(\n objectType.apiName,\n );\n allProperties = objDef ? Object.keys(objDef.properties) : undefined;\n } else {\n // We have an empty catch here so that if this call errors before we await later, we won't have an unhandled promise rejection that would crash the process\n // Swallowing the error is ok because we await the metadata load in the objectFactory later anyways which eventually bubbles up the error to the user\n void client.ontologyProvider.getObjectDefinition(objectType.apiName).catch(\n () => {},\n );\n }\n\n const shouldLoadPropertySecurities = args.$loadPropertySecurityMetadata\n ?? false;\n\n const selectV2 = buildSelectV2(\n args?.$select ? [...args.$select] : undefined,\n modifiers,\n allProperties,\n );\n\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet,\n select: [],\n selectV2,\n loadPropertySecurities: shouldLoadPropertySecurities,\n excludeRid: !args?.$includeRid,\n snapshot: useSnapshot,\n },\n client,\n objectType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const r = await OntologyObjectSets.load(\n addUserAgentAndRequestContextHeaders(client, objectType),\n await client.ontologyRid,\n requestBody,\n { branch: client.branch, transactionId: client.transactionId },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n r.data as OntologyObjectV2[],\n undefined,\n await extractRdpDefinition(client, objectSet),\n shouldLoadPropertySecurities ? r.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n ),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>>;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"fetchPage.js","names":["OntologyObjectSets","invariant","extractNamespace","addUserAgentAndRequestContextHeaders","extractObjectOrInterfaceType","extractRdpDefinition","resolveBaseObjectSetType","modifierToLoadLevelType","modifier","Error","buildSelectV2","select","modifiers","allProperties","modifiersMap","modifierProps","Set","Object","keys","hasModifiers","size","entries","length","prop","_","includes","process","env","NODE_ENV","has","push","type","propertyIdentifier","apiName","loadLevel","augment","properties","objectSetToSearchJsonV2","objectSet","expectedApiName","existingWhere","undefined","objectType","interfaceType","where","value","resolveInterfaceObjectSet","interfaceTypeApiName","args","$includeAllBaseObjectProperties","objectSets","includeAllBaseObjectProperties","fetchStaticRidPage","client","rids","useSnapshot","shouldLoadPropertySecurities","$loadPropertySecurityMetadata","requestBody","applyFetchArgs","objects","$select","excludeRid","$includeRid","snapshot","loadPropertySecurities","flushEdits","result","loadMultipleObjectTypes","osdkMetadata","ontologyRid","preview","transactionId","scenarioRid","Promise","resolve","data","objectFactory","propertySecurities","interfaceToObjectTypeMappings","interfaceToObjectTypeMappingsV2","nextPageToken","totalCount","fetchInterfacePage","extractedInterfaceTypeApiName","resolvedInterfaceObjectSet","$applyModifiers","hasSelect","ifaceDef","ontologyProvider","getInterfaceDefinition","selectV2","buildAndRemapRequestBody","branch","fetchPageInternal","fetchObjectPage","fetchPageWithErrorsInternal","e","error","fetchPage","fetchPageWithErrors","baseBody","remapped","remapSelectV2","objectOrInterface","objApiNamespace","map","entry","fieldApiNamespace","fieldShortName","remapPropertyNames","propertyNames","name","body","_client","$nextPageToken","pageToken","$pageSize","pageSize","orderBy","$orderBy","orderType","fields","orderByEntries","fieldNames","field","remappedFields","direction","index","objDef","getObjectDefinition","catch","r","load"],"sources":["fetchPage.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n Augment,\n Augments,\n FetchPageArgs,\n FetchPageResult,\n InterfaceDefinition,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSetArgs,\n ObjectTypeDefinition,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\n\ntype PropertyModifierValue =\n | \"applyMainValue\"\n | \"applyReducers\"\n | \"applyReducersAndExtractMainValue\";\nimport type { PageSize, PageToken } from \"@osdk/foundry.core\";\nimport type {\n LoadObjectSetV2MultipleObjectTypesRequest,\n ObjectSet,\n OntologyObjectV2,\n SearchJsonQueryV2,\n SearchOrderByV2,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologyObjectSets from \"@osdk/foundry.ontologies/OntologyObjectSet\";\nimport invariant from \"tiny-invariant\";\nimport { extractNamespace } from \"../internal/conversions/extractNamespace.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { extractObjectOrInterfaceType } from \"../util/extractObjectOrInterfaceType.js\";\nimport { extractRdpDefinition } from \"../util/extractRdpDefinition.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\n/**\n * Converts a PropertyModifierValue to the corresponding wire format loadLevel type.\n */\nfunction modifierToLoadLevelType(\n modifier: PropertyModifierValue,\n): LoadLevelType {\n switch (modifier) {\n case \"applyMainValue\":\n return \"extractMainValue\";\n case \"applyReducers\":\n return \"applyReducers\";\n case \"applyReducersAndExtractMainValue\":\n return \"applyReducersAndExtractMainValue\";\n default: {\n const _exhaustiveCheck: never = modifier;\n throw new Error(`Unknown modifier: ${_exhaustiveCheck}`);\n }\n }\n}\n\ntype LoadLevelType =\n | \"extractMainValue\"\n | \"applyReducers\"\n | \"applyReducersAndExtractMainValue\";\n\ninterface SelectV2SimpleProperty {\n type: \"property\";\n apiName: string;\n}\n\ninterface SelectV2PropertyWithLoadLevel {\n type: \"propertyWithLoadLevel\";\n propertyIdentifier: SelectV2SimpleProperty;\n loadLevel: { type: LoadLevelType };\n}\n\ntype SelectV2Entry = SelectV2SimpleProperty | SelectV2PropertyWithLoadLevel;\n\nexport function buildSelectV2(\n select: readonly string[] | undefined,\n modifiers: Record<string, PropertyModifierValue> | undefined,\n allProperties: readonly string[] | undefined,\n): SelectV2Entry[] {\n const modifiersMap = modifiers ?? {};\n const modifierProps = new Set(Object.keys(modifiersMap));\n const hasModifiers = modifierProps.size > 0;\n\n const entries: SelectV2Entry[] = [];\n\n if (select && select.length > 0) {\n for (const [prop, _] of Object.entries(modifiersMap)) {\n invariant(\n select.includes(prop),\n \"Modified properties must be included in $select when manually specifying properties\",\n );\n }\n for (const prop of select) {\n if (modifierProps.has(prop)) {\n entries.push({\n type: \"propertyWithLoadLevel\",\n propertyIdentifier: { type: \"property\", apiName: prop },\n loadLevel: { type: modifierToLoadLevelType(modifiersMap[prop]) },\n });\n } else {\n entries.push({ type: \"property\", apiName: prop });\n }\n }\n } else if (hasModifiers && allProperties && allProperties.length > 0) {\n for (const prop of allProperties) {\n if (modifierProps.has(prop)) {\n entries.push({\n type: \"propertyWithLoadLevel\",\n propertyIdentifier: { type: \"property\", apiName: prop },\n loadLevel: { type: modifierToLoadLevelType(modifiersMap[prop]) },\n });\n } else {\n entries.push({ type: \"property\", apiName: prop });\n }\n }\n }\n\n return entries;\n}\n\nexport function augment<\n Q extends ObjectOrInterfaceDefinition,\n T extends PropertyKeys<Q>,\n>(\n type: Q,\n ...properties: T[]\n): Augment<Q, T> {\n return { [type.apiName]: properties } as any;\n}\n\n/** @internal */\nexport function objectSetToSearchJsonV2(\n objectSet: ObjectSet,\n expectedApiName: string,\n existingWhere: SearchJsonQueryV2 | undefined = undefined,\n): SearchJsonQueryV2 | undefined {\n if (objectSet.type === \"base\" || objectSet.type === \"interfaceBase\") {\n if (objectSet.type === \"base\" && objectSet.objectType !== expectedApiName) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.objectType}`,\n );\n }\n if (\n objectSet.type === \"interfaceBase\"\n && objectSet.interfaceType !== expectedApiName\n ) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.interfaceType}`,\n );\n }\n\n return existingWhere;\n }\n\n if (objectSet.type === \"filter\") {\n return objectSetToSearchJsonV2(\n objectSet.objectSet,\n expectedApiName,\n existingWhere == null ? objectSet.where : {\n type: \"and\",\n value: [existingWhere, objectSet.where],\n },\n );\n }\n\n throw new Error(`Unsupported objectSet type: ${objectSet.type}`);\n}\n\n/** @internal */\nexport function resolveInterfaceObjectSet(\n objectSet: ObjectSet,\n interfaceTypeApiName: string,\n args: FetchPageArgs<any, any, any, any, any, any>,\n): ObjectSet {\n return args?.$includeAllBaseObjectProperties\n ? {\n type: \"intersect\",\n objectSets: [objectSet, {\n type: \"interfaceBase\",\n interfaceType: interfaceTypeApiName,\n includeAllBaseObjectProperties: true,\n }],\n }\n : objectSet;\n}\n\n/** @internal */\nexport async function fetchStaticRidPage<\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n rids: readonly string[],\n args: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n any,\n S,\n T,\n never,\n {},\n PROPERTY_SECURITIES\n >,\n useSnapshot: boolean = false,\n): Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T,\n {},\n PROPERTY_SECURITIES\n >\n> {\n const shouldLoadPropertySecurities = args.$loadPropertySecurityMetadata\n ?? false;\n const requestBody = await applyFetchArgs(\n args,\n {\n objectSet: {\n type: \"static\",\n objects: rids as string[],\n },\n select: ((args?.$select as string[] | undefined) ?? []),\n excludeRid: !args?.$includeRid,\n snapshot: useSnapshot,\n loadPropertySecurities: shouldLoadPropertySecurities,\n } as LoadObjectSetV2MultipleObjectTypesRequest,\n client,\n { type: \"object\", apiName: \"\" },\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, { osdkMetadata: undefined }),\n await client.ontologyRid,\n requestBody,\n {\n preview: true,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n result.data,\n undefined,\n {},\n shouldLoadPropertySecurities ? result.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n result.interfaceToObjectTypeMappingsV2,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T,\n {},\n PROPERTY_SECURITIES\n >\n >;\n}\n\nasync function fetchInterfacePage<\n Q extends InterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n interfaceType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet,\n useSnapshot: boolean = false,\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n const extractedInterfaceTypeApiName = (await extractObjectOrInterfaceType(\n client,\n objectSet,\n ))?.apiName ?? interfaceType.apiName;\n const resolvedInterfaceObjectSet = resolveInterfaceObjectSet(\n objectSet,\n extractedInterfaceTypeApiName,\n args,\n );\n const shouldLoadPropertySecurities = args.$loadPropertySecurityMetadata\n ?? false;\n\n const modifiers =\n (args as { $applyModifiers?: Record<string, PropertyModifierValue> })\n .$applyModifiers;\n const hasModifiers = modifiers && Object.keys(modifiers).length > 0;\n const hasSelect = args?.$select && args.$select.length > 0;\n\n let allProperties: string[] | undefined;\n if (!hasSelect && hasModifiers) {\n const ifaceDef = await client.ontologyProvider.getInterfaceDefinition(\n interfaceType.apiName,\n );\n allProperties = ifaceDef ? Object.keys(ifaceDef.properties) : undefined;\n }\n\n const selectV2 = buildSelectV2(\n args?.$select ? [...args.$select] : undefined,\n modifiers,\n allProperties,\n );\n\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet: resolvedInterfaceObjectSet,\n select: [],\n selectV2,\n loadPropertySecurities: shouldLoadPropertySecurities,\n excludeRid: !args?.$includeRid,\n snapshot: useSnapshot,\n },\n client,\n interfaceType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n requestBody,\n {\n preview: true,\n branch: client.branch,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n result.data,\n extractedInterfaceTypeApiName,\n {},\n shouldLoadPropertySecurities ? result.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n result.interfaceToObjectTypeMappingsV2,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T>>;\n}\n\n/** @internal */\nexport async function fetchPageInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<\n Q,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS,\n PROPERTY_SECURITIES\n > = {},\n useSnapshot: boolean = false,\n): Promise<\n FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS, PROPERTY_SECURITIES>\n> {\n if (objectType.type === \"interface\") {\n return await fetchInterfacePage(\n client,\n objectType,\n args as FetchPageArgs<\n InterfaceDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n useSnapshot,\n ) as any; // fixme\n } else {\n return await fetchObjectPage(\n client,\n objectType,\n args as FetchPageArgs<\n ObjectTypeDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n useSnapshot,\n ) as any; // fixme\n }\n}\n\n/** @internal */\nexport async function fetchPageWithErrorsInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S, T> = {},\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n try {\n const result = await fetchPageInternal(client, objectType, objectSet, args);\n return { value: result };\n } catch (e) {\n if (e instanceof Error) {\n return { error: e };\n }\n return { error: e as Error };\n }\n}\n\n/**\n * @param client\n * @param objectType\n * @param args\n * @param objectSet\n * @returns\n * @internal\n */\nexport async function fetchPage<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n PROPERTY_SECURITIES extends boolean = false,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T, never, {}, PROPERTY_SECURITIES>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<FetchPageResult<Q, L, R, S, T, {}, PROPERTY_SECURITIES>> {\n return fetchPageInternal(client, objectType, objectSet, args);\n}\n\n/** @internal */\nexport async function fetchPageWithErrors<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n return fetchPageWithErrorsInternal(client, objectType, objectSet, args);\n}\n\nasync function buildAndRemapRequestBody<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n RequestBody extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n selectV2?: SelectV2Entry[];\n selectedSharedPropertyTypes?: readonly string[];\n loadPropertySecurity?: boolean;\n },\n>(\n args: FetchPageArgs<Q, L, R, A, S, T>,\n baseBody: RequestBody,\n client: MinimalClient,\n objectType: Q,\n): Promise<RequestBody> {\n const requestBody = await applyFetchArgs(\n args,\n baseBody,\n client,\n objectType,\n );\n\n if (requestBody.selectV2 != null && requestBody.selectV2.length > 0) {\n const remapped = remapSelectV2(objectType, requestBody.selectV2);\n return { ...requestBody, selectV2: remapped };\n }\n\n return requestBody;\n}\n\nfunction remapSelectV2(\n objectOrInterface: ObjectOrInterfaceDefinition | undefined,\n selectV2: SelectV2Entry[],\n): SelectV2Entry[] {\n if (objectOrInterface == null) {\n return selectV2;\n }\n\n if (objectOrInterface.type !== \"interface\") {\n return selectV2;\n }\n\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n if (objApiNamespace == null) {\n return selectV2;\n }\n\n return selectV2.map((entry): SelectV2Entry => {\n if (entry.type === \"property\") {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(\n entry.apiName,\n );\n if (fieldApiNamespace == null) {\n return {\n type: \"property\",\n apiName: `${objApiNamespace}.${fieldShortName}`,\n };\n }\n return entry;\n } else {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(\n entry.propertyIdentifier.apiName,\n );\n if (fieldApiNamespace == null) {\n return {\n ...entry,\n propertyIdentifier: {\n type: \"property\",\n apiName: `${objApiNamespace}.${fieldShortName}`,\n },\n };\n }\n return entry;\n }\n });\n}\n\n/** @internal */\nexport function remapPropertyNames(\n objectOrInterface: ObjectOrInterfaceDefinition | undefined,\n propertyNames: readonly string[],\n): readonly string[] {\n if (objectOrInterface == null) {\n return propertyNames;\n }\n\n if (objectOrInterface.type === \"interface\") {\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n return propertyNames.map(name => {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(name);\n return (fieldApiNamespace == null && objApiNamespace != null)\n ? `${objApiNamespace}.${fieldShortName}`\n : name;\n });\n }\n\n return propertyNames;\n}\n\nasync function applyFetchArgs<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n X extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n loadPropertySecurities?: boolean;\n },\n>(\n args: FetchPageArgs<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n ObjectSetArgs.OrderByOptions<any>,\n boolean\n >,\n body: X,\n _client: MinimalClient,\n objectType: Q,\n): Promise<X> {\n if (args?.$nextPageToken) {\n body.pageToken = args.$nextPageToken;\n }\n\n if (args?.$pageSize != null) {\n body.pageSize = args.$pageSize;\n }\n\n if (args?.$loadPropertySecurityMetadata) {\n body.loadPropertySecurities = true;\n }\n\n const orderBy = args?.$orderBy;\n if (orderBy) {\n if (orderBy === \"relevance\") {\n body.orderBy = { orderType: \"relevance\", fields: [] };\n } else {\n const orderByEntries = Object.entries(orderBy);\n const fieldNames = orderByEntries.map(([field]) => field);\n const remappedFields = remapPropertyNames(\n objectType,\n fieldNames,\n );\n\n body.orderBy = {\n fields: orderByEntries.map(([, direction], index) => ({\n field: remappedFields[index],\n direction,\n })),\n };\n }\n }\n\n return body;\n}\n\n/** @internal */\nexport async function fetchObjectPage<\n Q extends ObjectTypeDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, Augments, S, T, never, ORDER_BY_OPTIONS>,\n objectSet: ObjectSet,\n useSnapshot: boolean = false,\n): Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>> {\n // For simple object fetches, since we know the object type up front\n // we can parallelize network requests for loading metadata and loading the actual objects\n // In our object factory we await and block on loading the metadata, which if this call finishes, should already be cached on the client\n const modifiers =\n (args as { $applyModifiers?: Record<string, PropertyModifierValue> })\n .$applyModifiers;\n const hasModifiers = modifiers && Object.keys(modifiers).length > 0;\n const hasSelect = args?.$select && args.$select.length > 0;\n\n let allProperties: string[] | undefined;\n if (!hasSelect && hasModifiers) {\n const objDef = await client.ontologyProvider.getObjectDefinition(\n objectType.apiName,\n );\n allProperties = objDef ? Object.keys(objDef.properties) : undefined;\n } else {\n // We have an empty catch here so that if this call errors before we await later, we won't have an unhandled promise rejection that would crash the process\n // Swallowing the error is ok because we await the metadata load in the objectFactory later anyways which eventually bubbles up the error to the user\n void client.ontologyProvider.getObjectDefinition(objectType.apiName).catch(\n () => {},\n );\n }\n\n const shouldLoadPropertySecurities = args.$loadPropertySecurityMetadata\n ?? false;\n\n const selectV2 = buildSelectV2(\n args?.$select ? [...args.$select] : undefined,\n modifiers,\n allProperties,\n );\n\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet,\n select: [],\n selectV2,\n loadPropertySecurities: shouldLoadPropertySecurities,\n excludeRid: !args?.$includeRid,\n snapshot: useSnapshot,\n },\n client,\n objectType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const r = await OntologyObjectSets.load(\n addUserAgentAndRequestContextHeaders(client, objectType),\n await client.ontologyRid,\n requestBody,\n {\n branch: client.branch,\n transactionId: client.transactionId,\n scenarioRid: client.scenarioRid,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n r.data as OntologyObjectV2[],\n undefined,\n await extractRdpDefinition(client, objectSet),\n shouldLoadPropertySecurities ? r.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n ),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>>;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -70,6 +70,9 @@ export function createObjectSet(objectType, clientCtx, objectSet = resolveBaseOb
|
|
|
70
70
|
finalMethodCall: "fetchPageWithErrors"
|
|
71
71
|
})), objectType, objectSet),
|
|
72
72
|
where: clause => {
|
|
73
|
+
if (clause == null || Object.keys(clause).length === 0) {
|
|
74
|
+
return clientCtx.objectSetFactory(objectType, clientCtx, objectSet);
|
|
75
|
+
}
|
|
73
76
|
return clientCtx.objectSetFactory(objectType, clientCtx, {
|
|
74
77
|
type: "filter",
|
|
75
78
|
objectSet,
|