@osdk/client 2.2.0-beta.13 → 2.2.0-beta.15
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/__unstable/ConjureSupport.js.map +1 -1
- package/build/browser/logger/BaseLogger.js +7 -1
- package/build/browser/logger/BaseLogger.js.map +1 -1
- package/build/browser/logger/BrowserLogger.js +67 -0
- package/build/browser/logger/BrowserLogger.js.map +1 -0
- package/build/browser/logger/MinimalLogger.js +12 -14
- package/build/browser/logger/MinimalLogger.js.map +1 -1
- package/build/browser/logger/MinimalLogger.test.js +60 -0
- package/build/browser/logger/MinimalLogger.test.js.map +1 -0
- package/build/browser/logger/TestLogger.js +3 -6
- package/build/browser/logger/TestLogger.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.js +0 -5
- package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/browser/object/fetchPage.js +2 -2
- package/build/browser/object/fetchPage.js.map +1 -1
- package/build/browser/ontology/loadFullObjectMetadata.js +0 -1
- package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
- package/build/browser/public/internal.js +2 -0
- package/build/browser/public/internal.js.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/extractRdpDefinition.js +74 -21
- package/build/browser/util/extractRdpDefinition.js.map +1 -1
- package/build/browser/util/extractRdpDefinition.test.js +93 -4
- package/build/browser/util/extractRdpDefinition.test.js.map +1 -1
- package/build/cjs/Logger-a5UcHtrk.d.cts +19 -0
- package/build/cjs/{chunk-VT3UM6EP.cjs → chunk-6KYD7ZWT.cjs} +83 -14
- package/build/cjs/chunk-6KYD7ZWT.cjs.map +1 -0
- package/build/cjs/{chunk-USHAX4EP.cjs → chunk-KAJABLKV.cjs} +94 -37
- package/build/cjs/chunk-KAJABLKV.cjs.map +1 -0
- package/build/cjs/index.cjs +47 -114
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +2 -19
- package/build/cjs/public/internal.cjs +61 -6
- package/build/cjs/public/internal.cjs.map +1 -1
- package/build/cjs/public/internal.d.cts +50 -2
- package/build/cjs/public/unstable-do-not-use.cjs +8 -8
- package/build/esm/__unstable/ConjureSupport.js.map +1 -1
- package/build/esm/logger/BaseLogger.js +7 -1
- package/build/esm/logger/BaseLogger.js.map +1 -1
- package/build/esm/logger/BrowserLogger.js +67 -0
- package/build/esm/logger/BrowserLogger.js.map +1 -0
- package/build/esm/logger/MinimalLogger.js +12 -14
- package/build/esm/logger/MinimalLogger.js.map +1 -1
- package/build/esm/logger/MinimalLogger.test.js +60 -0
- package/build/esm/logger/MinimalLogger.test.js.map +1 -0
- package/build/esm/logger/TestLogger.js +3 -6
- package/build/esm/logger/TestLogger.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.js +0 -5
- package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/esm/object/fetchPage.js +2 -2
- package/build/esm/object/fetchPage.js.map +1 -1
- package/build/esm/ontology/loadFullObjectMetadata.js +0 -1
- package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
- package/build/esm/public/internal.js +2 -0
- package/build/esm/public/internal.js.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/extractRdpDefinition.js +74 -21
- package/build/esm/util/extractRdpDefinition.js.map +1 -1
- package/build/esm/util/extractRdpDefinition.test.js +93 -4
- package/build/esm/util/extractRdpDefinition.test.js.map +1 -1
- package/build/types/__unstable/ConjureSupport.d.ts +2 -2
- package/build/types/logger/BaseLogger.d.ts +4 -1
- package/build/types/logger/BaseLogger.d.ts.map +1 -1
- package/build/types/logger/BrowserLogger.d.ts +10 -0
- package/build/types/logger/BrowserLogger.d.ts.map +1 -0
- package/build/types/logger/MinimalLogger.d.ts +2 -1
- package/build/types/logger/MinimalLogger.d.ts.map +1 -1
- package/build/types/logger/MinimalLogger.test.d.ts +1 -0
- package/build/types/logger/MinimalLogger.test.d.ts.map +1 -0
- package/build/types/logger/TestLogger.d.ts +2 -2
- package/build/types/logger/TestLogger.d.ts.map +1 -1
- package/build/types/object/convertWireToOsdkObjects.d.ts.map +1 -1
- package/build/types/public/internal.d.ts +2 -0
- package/build/types/public/internal.d.ts.map +1 -1
- package/build/types/util/extractRdpDefinition.d.ts +1 -1
- package/build/types/util/extractRdpDefinition.d.ts.map +1 -1
- package/package.json +10 -10
- package/build/cjs/chunk-USHAX4EP.cjs.map +0 -1
- package/build/cjs/chunk-VT3UM6EP.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchPage.js","names":["OntologiesV2","addUserAgentAndRequestContextHeaders","extractRdpDefinition","resolveBaseObjectSetType","augment","type","properties","apiName","objectSetToSearchJsonV2","objectSet","expectedApiName","existingWhere","undefined","objectType","Error","interfaceType","where","value","resolveInterfaceObjectSet","interfaceTypeApiName","args","$includeAllBaseObjectProperties","objectSets","includeAllBaseObjectProperties","fetchInterfacePage","client","$__UNSTABLE_useOldInterfaceApis","result","OntologyInterfaces","search","ontologyRid","applyFetchArgs","augmentedProperties","augmentedSharedPropertyTypes","otherInterfaceTypes","selectedObjectTypes","selectedSharedPropertyTypes","$select","preview","data","objectFactory","$includeRid","OntologyObjectSets","loadMultipleObjectTypes","select","excludeRid","Promise","resolve","objectFactory2","interfaceToObjectTypeMappings","nextPageToken","totalCount","fetchPageInternal","fetchObjectPage","fetchPageWithErrorsInternal","e","error","fetchPage","fetchPageWithErrors","body","$nextPageToken","pageToken","$pageSize","pageSize","$orderBy","orderBy","fields","Object","entries","map","field","direction","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 ObjectTypeDefinition,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\nimport type { PageSize, PageToken } from \"@osdk/foundry.core\";\nimport type {\n LoadObjectSetRequestV2,\n LoadObjectSetV2MultipleObjectTypesRequest,\n ObjectSet,\n OntologyObjectV2,\n SearchJsonQueryV2,\n SearchObjectsForInterfaceRequest,\n SearchOrderByV2,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { extractRdpDefinition } from \"../util/extractRdpDefinition.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\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\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): Promise<FetchPageResult<Q, L, R, S, T>> {\n if (args.$__UNSTABLE_useOldInterfaceApis) {\n const result = await OntologiesV2.OntologyInterfaces\n .search(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n interfaceType.apiName,\n applyFetchArgs<SearchObjectsForInterfaceRequest>(args, {\n augmentedProperties: {},\n augmentedSharedPropertyTypes: {},\n otherInterfaceTypes: [],\n selectedObjectTypes: [],\n selectedSharedPropertyTypes: args.$select as undefined | string[]\n ?? [],\n where: objectSetToSearchJsonV2(objectSet, interfaceType.apiName),\n }),\n { preview: true },\n );\n\n result.data = await client.objectFactory(\n client,\n result.data as OntologyObjectV2[], // drop readonly\n interfaceType.apiName,\n !args.$includeRid,\n await extractRdpDefinition(client, objectSet, interfaceType.apiName),\n );\n return result as any;\n }\n const result = await OntologiesV2.OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n applyFetchArgs<LoadObjectSetV2MultipleObjectTypesRequest>(args, {\n objectSet: resolveInterfaceObjectSet(\n objectSet,\n interfaceType.apiName,\n args,\n ),\n select: ((args?.$select as string[] | undefined) ?? []),\n excludeRid: !args?.$includeRid,\n }),\n { preview: true },\n );\n return Promise.resolve({\n data: await client.objectFactory2(\n client,\n result.data,\n interfaceType.apiName,\n {},\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\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>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S, T> = {},\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n if (objectType.type === \"interface\") {\n return await fetchInterfacePage(\n client,\n objectType,\n args,\n objectSet,\n ) as any; // fixme\n } else {\n return await fetchObjectPage(\n client,\n objectType,\n args,\n objectSet,\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>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<FetchPageResult<Q, L, R, S, T>> {\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\nfunction applyFetchArgs<\n X extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n },\n>(\n args: FetchPageArgs<any, any, any, any, any, any>,\n body: X,\n): 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?.$orderBy != null) {\n body.orderBy = {\n fields: Object.entries(args.$orderBy).map(([field, direction]) => ({\n field,\n direction,\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>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, Augments, S, T>,\n objectSet: ObjectSet,\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n const r = await OntologiesV2.OntologyObjectSets.load(\n addUserAgentAndRequestContextHeaders(client, objectType),\n await client.ontologyRid,\n applyFetchArgs<LoadObjectSetRequestV2>(args, {\n objectSet,\n // We have to do the following case because LoadObjectSetRequestV2 isn't readonly\n select: ((args?.$select as string[] | undefined) ?? []), // FIXME?\n excludeRid: !args?.$includeRid,\n }),\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n r.data as OntologyObjectV2[],\n undefined,\n undefined,\n await extractRdpDefinition(client, objectSet, objectType.apiName),\n args.$select,\n ),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T>>;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"fetchPage.js","names":["OntologiesV2","addUserAgentAndRequestContextHeaders","extractRdpDefinition","resolveBaseObjectSetType","augment","type","properties","apiName","objectSetToSearchJsonV2","objectSet","expectedApiName","existingWhere","undefined","objectType","Error","interfaceType","where","value","resolveInterfaceObjectSet","interfaceTypeApiName","args","$includeAllBaseObjectProperties","objectSets","includeAllBaseObjectProperties","fetchInterfacePage","client","$__UNSTABLE_useOldInterfaceApis","result","OntologyInterfaces","search","ontologyRid","applyFetchArgs","augmentedProperties","augmentedSharedPropertyTypes","otherInterfaceTypes","selectedObjectTypes","selectedSharedPropertyTypes","$select","preview","data","objectFactory","$includeRid","OntologyObjectSets","loadMultipleObjectTypes","select","excludeRid","Promise","resolve","objectFactory2","interfaceToObjectTypeMappings","nextPageToken","totalCount","fetchPageInternal","fetchObjectPage","fetchPageWithErrorsInternal","e","error","fetchPage","fetchPageWithErrors","body","$nextPageToken","pageToken","$pageSize","pageSize","$orderBy","orderBy","fields","Object","entries","map","field","direction","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 ObjectTypeDefinition,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\nimport type { PageSize, PageToken } from \"@osdk/foundry.core\";\nimport type {\n LoadObjectSetRequestV2,\n LoadObjectSetV2MultipleObjectTypesRequest,\n ObjectSet,\n OntologyObjectV2,\n SearchJsonQueryV2,\n SearchObjectsForInterfaceRequest,\n SearchOrderByV2,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { extractRdpDefinition } from \"../util/extractRdpDefinition.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\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\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): Promise<FetchPageResult<Q, L, R, S, T>> {\n if (args.$__UNSTABLE_useOldInterfaceApis) {\n const result = await OntologiesV2.OntologyInterfaces\n .search(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n interfaceType.apiName,\n applyFetchArgs<SearchObjectsForInterfaceRequest>(args, {\n augmentedProperties: {},\n augmentedSharedPropertyTypes: {},\n otherInterfaceTypes: [],\n selectedObjectTypes: [],\n selectedSharedPropertyTypes: args.$select as undefined | string[]\n ?? [],\n where: objectSetToSearchJsonV2(objectSet, interfaceType.apiName),\n }),\n { preview: true },\n );\n\n result.data = await client.objectFactory(\n client,\n result.data as OntologyObjectV2[], // drop readonly\n interfaceType.apiName,\n !args.$includeRid,\n await extractRdpDefinition(client, objectSet),\n );\n return result as any;\n }\n const result = await OntologiesV2.OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n applyFetchArgs<LoadObjectSetV2MultipleObjectTypesRequest>(args, {\n objectSet: resolveInterfaceObjectSet(\n objectSet,\n interfaceType.apiName,\n args,\n ),\n select: ((args?.$select as string[] | undefined) ?? []),\n excludeRid: !args?.$includeRid,\n }),\n { preview: true },\n );\n return Promise.resolve({\n data: await client.objectFactory2(\n client,\n result.data,\n interfaceType.apiName,\n {},\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\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>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S, T> = {},\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n if (objectType.type === \"interface\") {\n return await fetchInterfacePage(\n client,\n objectType,\n args,\n objectSet,\n ) as any; // fixme\n } else {\n return await fetchObjectPage(\n client,\n objectType,\n args,\n objectSet,\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>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<FetchPageResult<Q, L, R, S, T>> {\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\nfunction applyFetchArgs<\n X extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n },\n>(\n args: FetchPageArgs<any, any, any, any, any, any>,\n body: X,\n): 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?.$orderBy != null) {\n body.orderBy = {\n fields: Object.entries(args.$orderBy).map(([field, direction]) => ({\n field,\n direction,\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>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, Augments, S, T>,\n objectSet: ObjectSet,\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n const r = await OntologiesV2.OntologyObjectSets.load(\n addUserAgentAndRequestContextHeaders(client, objectType),\n await client.ontologyRid,\n applyFetchArgs<LoadObjectSetRequestV2>(args, {\n objectSet,\n // We have to do the following case because LoadObjectSetRequestV2 isn't readonly\n select: ((args?.$select as string[] | undefined) ?? []), // FIXME?\n excludeRid: !args?.$includeRid,\n }),\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n r.data as OntologyObjectV2[],\n undefined,\n undefined,\n await extractRdpDefinition(client, objectSet),\n args.$select,\n ),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T>>;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,7 +21,6 @@ export async function loadFullObjectMetadata(client, objectType) {
|
|
|
21
21
|
preview: true
|
|
22
22
|
});
|
|
23
23
|
const ret = wireObjectTypeFullMetadataToSdkObjectMetadata(full, true);
|
|
24
|
-
client.logger?.debug(`END loadFullObjectMetadata(${objectType})`);
|
|
25
24
|
return {
|
|
26
25
|
...ret
|
|
27
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadFullObjectMetadata.js","names":["OntologiesV2","wireObjectTypeFullMetadataToSdkObjectMetadata","loadFullObjectMetadata","client","objectType","full","ObjectTypesV2","getFullMetadata","ontologyRid","preview","ret"
|
|
1
|
+
{"version":3,"file":"loadFullObjectMetadata.js","names":["OntologiesV2","wireObjectTypeFullMetadataToSdkObjectMetadata","loadFullObjectMetadata","client","objectType","full","ObjectTypesV2","getFullMetadata","ontologyRid","preview","ret"],"sources":["loadFullObjectMetadata.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 { ObjectMetadata } from \"@osdk/api\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\nexport async function loadFullObjectMetadata(\n client: MinimalClient,\n objectType: string,\n): Promise<ObjectMetadata & { rid: string }> {\n const full = await OntologiesV2.ObjectTypesV2.getFullMetadata(\n client,\n await client.ontologyRid,\n objectType,\n { preview: true },\n );\n const ret = wireObjectTypeFullMetadataToSdkObjectMetadata(full, true);\n return { ...ret };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAO,KAAKA,YAAY,MAAM,0BAA0B;AACxD,SAASC,6CAA6C,QAAQ,4BAA4B;AAG1F,OAAO,eAAeC,sBAAsBA,CAC1CC,MAAqB,EACrBC,UAAkB,EACyB;EAC3C,MAAMC,IAAI,GAAG,MAAML,YAAY,CAACM,aAAa,CAACC,eAAe,CAC3DJ,MAAM,EACN,MAAMA,MAAM,CAACK,WAAW,EACxBJ,UAAU,EACV;IAAEK,OAAO,EAAE;EAAK,CAClB,CAAC;EACD,MAAMC,GAAG,GAAGT,6CAA6C,CAACI,IAAI,EAAE,IAAI,CAAC;EACrE,OAAO;IAAE,GAAGK;EAAI,CAAC;AACnB","ignoreList":[]}
|
|
@@ -17,4 +17,6 @@
|
|
|
17
17
|
export { createAndFetchTempObjectSetRid } from "../public-utils/createAndFetchTempObjectSetRid.js";
|
|
18
18
|
export { hydrateAttachmentFromRid } from "../public-utils/hydrateAttachmentFromRid.js";
|
|
19
19
|
export { hydrateObjectSetFromRid } from "../public-utils/hydrateObjectSetFromRid.js";
|
|
20
|
+
export { BrowserLogger } from "../logger/BrowserLogger.js";
|
|
21
|
+
export { MinimalLogger } from "../logger/MinimalLogger.js";
|
|
20
22
|
//# sourceMappingURL=internal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","names":["createAndFetchTempObjectSetRid","hydrateAttachmentFromRid","hydrateObjectSetFromRid"],"sources":["internal.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport { createAndFetchTempObjectSetRid } from \"../public-utils/createAndFetchTempObjectSetRid.js\";\nexport { hydrateAttachmentFromRid } from \"../public-utils/hydrateAttachmentFromRid.js\";\nexport { hydrateObjectSetFromRid } from \"../public-utils/hydrateObjectSetFromRid.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,8BAA8B,QAAQ,mDAAmD;AAClG,SAASC,wBAAwB,QAAQ,6CAA6C;AACtF,SAASC,uBAAuB,QAAQ,4CAA4C","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"internal.js","names":["createAndFetchTempObjectSetRid","hydrateAttachmentFromRid","hydrateObjectSetFromRid","BrowserLogger","MinimalLogger"],"sources":["internal.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport { createAndFetchTempObjectSetRid } from \"../public-utils/createAndFetchTempObjectSetRid.js\";\nexport { hydrateAttachmentFromRid } from \"../public-utils/hydrateAttachmentFromRid.js\";\nexport { hydrateObjectSetFromRid } from \"../public-utils/hydrateObjectSetFromRid.js\";\n\nexport { BrowserLogger } from \"../logger/BrowserLogger.js\";\nexport { MinimalLogger } from \"../logger/MinimalLogger.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,8BAA8B,QAAQ,mDAAmD;AAClG,SAASC,wBAAwB,QAAQ,6CAA6C;AACtF,SAASC,uBAAuB,QAAQ,4CAA4C;AAEpF,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,aAAa,QAAQ,4BAA4B","ignoreList":[]}
|
|
@@ -15,31 +15,46 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import invariant from "tiny-invariant";
|
|
18
|
-
export async function extractRdpDefinition(clientCtx, objectSet
|
|
19
|
-
return (await extractRdpDefinitionInternal(clientCtx, objectSet,
|
|
18
|
+
export async function extractRdpDefinition(clientCtx, objectSet) {
|
|
19
|
+
return (await extractRdpDefinitionInternal(clientCtx, objectSet, undefined)).definitions;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
/* @internal
|
|
23
23
|
* Returns a tuple of the derived property definitions and the object type that the derived property is defined on.
|
|
24
24
|
*/
|
|
25
25
|
async function extractRdpDefinitionInternal(clientCtx, objectSet, methodInputObjectType) {
|
|
26
|
-
const result = {};
|
|
27
26
|
switch (objectSet.type) {
|
|
28
27
|
case "searchAround":
|
|
29
28
|
{
|
|
30
|
-
const
|
|
29
|
+
const {
|
|
30
|
+
definitions,
|
|
31
|
+
childObjectType
|
|
32
|
+
} = await extractRdpDefinitionInternal(clientCtx, objectSet.objectSet, methodInputObjectType);
|
|
33
|
+
if (childObjectType === undefined || childObjectType === "") {
|
|
34
|
+
return {
|
|
35
|
+
definitions: {}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
31
38
|
const objDef = await clientCtx.ontologyProvider.getObjectDefinition(childObjectType);
|
|
32
39
|
const linkDef = objDef.links[objectSet.link];
|
|
33
40
|
!linkDef ? process.env.NODE_ENV !== "production" ? invariant(false, `Missing link definition for '${objectSet.link}'`) : invariant(false) : void 0;
|
|
34
|
-
return
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
41
|
+
return {
|
|
42
|
+
definitions,
|
|
43
|
+
childObjectType: objDef.links[objectSet.link].targetType
|
|
44
|
+
};
|
|
38
45
|
}
|
|
39
46
|
case "withProperties":
|
|
40
47
|
{
|
|
41
48
|
// These are the definitions and current object type for all object set operations prior to the definition (e.g. filter, pivotTo, etc.)
|
|
42
|
-
const
|
|
49
|
+
const {
|
|
50
|
+
definitions,
|
|
51
|
+
childObjectType
|
|
52
|
+
} = await extractRdpDefinitionInternal(clientCtx, objectSet.objectSet, methodInputObjectType);
|
|
53
|
+
if (childObjectType === undefined || childObjectType === "") {
|
|
54
|
+
return {
|
|
55
|
+
definitions: {}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
43
58
|
for (const [name, definition] of Object.entries(objectSet.derivedProperties)) {
|
|
44
59
|
if (definition.type !== "selection") {
|
|
45
60
|
continue;
|
|
@@ -49,24 +64,40 @@ async function extractRdpDefinitionInternal(clientCtx, objectSet, methodInputObj
|
|
|
49
64
|
case "collectSet":
|
|
50
65
|
case "get":
|
|
51
66
|
// This is the object set construction for the derived property definition construction. We pass in childObjectType so that when we reach MethodInputObjectSet, we know where to start looking.
|
|
52
|
-
const
|
|
67
|
+
const {
|
|
68
|
+
childObjectType: operationLevelObjectType
|
|
69
|
+
} = await extractRdpDefinitionInternal(clientCtx, definition.objectSet, childObjectType);
|
|
70
|
+
if (operationLevelObjectType === undefined || operationLevelObjectType === "") {
|
|
71
|
+
return {
|
|
72
|
+
definitions: {}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
53
75
|
const objDef = await clientCtx.ontologyProvider.getObjectDefinition(operationLevelObjectType);
|
|
54
|
-
|
|
76
|
+
definitions[name] = objDef.properties[definition.operation.selectedPropertyApiName];
|
|
55
77
|
default:
|
|
56
78
|
continue;
|
|
57
79
|
}
|
|
58
80
|
}
|
|
59
|
-
return
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
81
|
+
return {
|
|
82
|
+
definitions,
|
|
83
|
+
childObjectType
|
|
84
|
+
};
|
|
63
85
|
}
|
|
64
86
|
case "methodInput":
|
|
65
|
-
return
|
|
87
|
+
return {
|
|
88
|
+
definitions: {},
|
|
89
|
+
childObjectType: methodInputObjectType
|
|
90
|
+
};
|
|
66
91
|
case "base":
|
|
67
|
-
return
|
|
92
|
+
return {
|
|
93
|
+
definitions: {},
|
|
94
|
+
childObjectType: objectSet.objectType
|
|
95
|
+
};
|
|
68
96
|
case "interfaceBase":
|
|
69
|
-
return
|
|
97
|
+
return {
|
|
98
|
+
definitions: {},
|
|
99
|
+
childObjectType: objectSet.interfaceType
|
|
100
|
+
};
|
|
70
101
|
case "filter":
|
|
71
102
|
case "asBaseObjectTypes":
|
|
72
103
|
case "asType":
|
|
@@ -74,12 +105,34 @@ async function extractRdpDefinitionInternal(clientCtx, objectSet, methodInputObj
|
|
|
74
105
|
return extractRdpDefinitionInternal(clientCtx, objectSet.objectSet, methodInputObjectType);
|
|
75
106
|
// These will throw in OSS so we should throw here so no request is made
|
|
76
107
|
case "intersect":
|
|
77
|
-
case "static":
|
|
78
108
|
case "subtract":
|
|
79
109
|
case "union":
|
|
110
|
+
const objectSets = objectSet.objectSets;
|
|
111
|
+
const objectSetTypes = await Promise.all(objectSets.map(os => extractRdpDefinitionInternal(clientCtx, os, methodInputObjectType)));
|
|
112
|
+
const definitions = objectSetTypes.reduce((acc, {
|
|
113
|
+
definitions
|
|
114
|
+
}) => ({
|
|
115
|
+
...acc,
|
|
116
|
+
...definitions
|
|
117
|
+
}), {});
|
|
118
|
+
!(Object.keys(definitions).length === 0) ? process.env.NODE_ENV !== "production" ? invariant(false, "Object sets combined using intersect, subtract, or union must not contain any derived property definitions") : invariant(false) : void 0;
|
|
119
|
+
const firstValidChildObjectType = objectSetTypes.find(({
|
|
120
|
+
childObjectType
|
|
121
|
+
}) => childObjectType != null)?.childObjectType;
|
|
122
|
+
!objectSetTypes.every(({
|
|
123
|
+
childObjectType
|
|
124
|
+
}) => childObjectType === firstValidChildObjectType || childObjectType == null) ? process.env.NODE_ENV !== "production" ? invariant(false, "All object sets in an intersect, subtract, or union must have the same child object type") : invariant(false) : void 0;
|
|
125
|
+
return {
|
|
126
|
+
definitions: {},
|
|
127
|
+
childObjectType: firstValidChildObjectType
|
|
128
|
+
};
|
|
129
|
+
case "static":
|
|
80
130
|
case "reference":
|
|
81
|
-
|
|
82
|
-
|
|
131
|
+
// Static and reference object sets are always intersected with a base object set, so we can just return no child object type.
|
|
132
|
+
return {
|
|
133
|
+
definitions: {}
|
|
134
|
+
};
|
|
135
|
+
// We don't have to worry about new object sets being added and doing a runtime break and breaking people since the OSDK is always constructing these.
|
|
83
136
|
default:
|
|
84
137
|
process.env.NODE_ENV !== "production" ? invariant(false, `Unsupported object set type for Runtime Derived Properties`) : invariant(false);
|
|
85
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractRdpDefinition.js","names":["invariant","extractRdpDefinition","clientCtx","objectSet","methodInputObjectType","extractRdpDefinitionInternal","result","type","definitions","childObjectType","objDef","ontologyProvider","getObjectDefinition","linkDef","links","link","process","env","NODE_ENV","targetType","name","definition","Object","entries","derivedProperties","operation","_","operationLevelObjectType","properties","selectedPropertyApiName","objectType","interfaceType"],"sources":["extractRdpDefinition.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectMetadata } from \"@osdk/api\";\nimport type { ObjectSet } from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\nexport async function extractRdpDefinition(\n clientCtx: MinimalClient,\n objectSet: ObjectSet,\n methodInputObjectType: string,\n): Promise<\n Record<string, ObjectMetadata.Property>\n> {\n return (await extractRdpDefinitionInternal(\n clientCtx,\n objectSet,\n methodInputObjectType,\n ))[0];\n}\n\n/* @internal\n* Returns a tuple of the derived property definitions and the object type that the derived property is defined on.\n*/\nasync function extractRdpDefinitionInternal(\n clientCtx: MinimalClient,\n objectSet: ObjectSet,\n methodInputObjectType: string,\n): Promise<\n [Record<string, ObjectMetadata.Property>, string]\n> {\n const result: Record<string, ObjectMetadata.Property> = {};\n\n switch (objectSet.type) {\n case \"searchAround\": {\n const [definitions, childObjectType] = await extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n childObjectType,\n );\n const linkDef = objDef.links[objectSet.link];\n invariant(linkDef, `Missing link definition for '${objectSet.link}'`);\n return [\n { ...result, ...definitions },\n objDef.links[objectSet.link].targetType,\n ];\n }\n case \"withProperties\": {\n // These are the definitions and current object type for all object set operations prior to the definition (e.g. filter, pivotTo, etc.)\n const [definitions, childObjectType] = await extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n\n for (\n const [name, definition] of Object.entries(objectSet.derivedProperties)\n ) {\n if (definition.type !== \"selection\") {\n continue;\n }\n\n switch (definition.operation.type) {\n case \"collectList\":\n case \"collectSet\":\n case \"get\":\n // This is the object set construction for the derived property definition construction. We pass in childObjectType so that when we reach MethodInputObjectSet, we know where to start looking.\n const [_, operationLevelObjectType] =\n await extractRdpDefinitionInternal(\n clientCtx,\n definition.objectSet,\n childObjectType,\n );\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n operationLevelObjectType,\n );\n\n result[name] =\n objDef.properties[definition.operation.selectedPropertyApiName];\n\n default:\n continue;\n }\n }\n return [{ ...result, ...definitions }, childObjectType];\n }\n case \"methodInput\":\n return [{}, methodInputObjectType];\n case \"base\":\n return [{}, objectSet.objectType];\n case \"interfaceBase\":\n return [{}, objectSet.interfaceType];\n case \"filter\":\n case \"asBaseObjectTypes\":\n case \"asType\":\n case \"nearestNeighbors\":\n return extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n // These will throw in OSS so we should throw here so no request is made\n case \"intersect\":\n case \"static\":\n case \"subtract\":\n case \"union\":\n case \"reference\":\n return [{}, \"\"];\n // We don't have to worry about new object sets being added and breaking people since the OSDK is always constructing these.\n default:\n const _: never = objectSet;\n invariant(\n false,\n `Unsupported object set type for Runtime Derived Properties`,\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"extractRdpDefinition.js","names":["invariant","extractRdpDefinition","clientCtx","objectSet","extractRdpDefinitionInternal","undefined","definitions","methodInputObjectType","type","childObjectType","objDef","ontologyProvider","getObjectDefinition","linkDef","links","link","process","env","NODE_ENV","targetType","name","definition","Object","entries","derivedProperties","operation","operationLevelObjectType","properties","selectedPropertyApiName","objectType","interfaceType","objectSets","objectSetTypes","Promise","all","map","os","reduce","acc","keys","length","firstValidChildObjectType","find","every"],"sources":["extractRdpDefinition.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectMetadata } from \"@osdk/api\";\nimport type { ObjectSet } from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\nexport async function extractRdpDefinition(\n clientCtx: MinimalClient,\n objectSet: ObjectSet,\n): Promise<\n Record<string, ObjectMetadata.Property>\n> {\n return (await extractRdpDefinitionInternal(\n clientCtx,\n objectSet,\n undefined,\n )).definitions;\n}\n\n/* @internal\n* Returns a tuple of the derived property definitions and the object type that the derived property is defined on.\n*/\nasync function extractRdpDefinitionInternal(\n clientCtx: MinimalClient,\n objectSet: ObjectSet,\n methodInputObjectType: string | undefined,\n): Promise<\n {\n definitions: Record<string, ObjectMetadata.Property>;\n childObjectType?: string;\n }\n> {\n switch (objectSet.type) {\n case \"searchAround\": {\n const { definitions, childObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n\n if (childObjectType === undefined || childObjectType === \"\") {\n return { definitions: {} };\n }\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n childObjectType,\n );\n const linkDef = objDef.links[objectSet.link];\n invariant(linkDef, `Missing link definition for '${objectSet.link}'`);\n return {\n definitions,\n childObjectType: objDef.links[objectSet.link].targetType,\n };\n }\n case \"withProperties\": {\n // These are the definitions and current object type for all object set operations prior to the definition (e.g. filter, pivotTo, etc.)\n const { definitions, childObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n if (childObjectType === undefined || childObjectType === \"\") {\n return { definitions: {} };\n }\n\n for (\n const [name, definition] of Object.entries(objectSet.derivedProperties)\n ) {\n if (definition.type !== \"selection\") {\n continue;\n }\n\n switch (definition.operation.type) {\n case \"collectList\":\n case \"collectSet\":\n case \"get\":\n // This is the object set construction for the derived property definition construction. We pass in childObjectType so that when we reach MethodInputObjectSet, we know where to start looking.\n const { childObjectType: operationLevelObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n definition.objectSet,\n childObjectType,\n );\n if (\n operationLevelObjectType === undefined\n || operationLevelObjectType === \"\"\n ) {\n return { definitions: {} };\n }\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n operationLevelObjectType,\n );\n\n definitions[name] =\n objDef.properties[definition.operation.selectedPropertyApiName];\n\n default:\n continue;\n }\n }\n return { definitions, childObjectType };\n }\n case \"methodInput\":\n return { definitions: {}, childObjectType: methodInputObjectType };\n case \"base\":\n return { definitions: {}, childObjectType: objectSet.objectType };\n case \"interfaceBase\":\n return { definitions: {}, childObjectType: objectSet.interfaceType };\n case \"filter\":\n case \"asBaseObjectTypes\":\n case \"asType\":\n case \"nearestNeighbors\":\n return extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n // These will throw in OSS so we should throw here so no request is made\n case \"intersect\":\n case \"subtract\":\n case \"union\":\n const objectSets = objectSet.objectSets;\n const objectSetTypes = await Promise.all(\n objectSets.map((os) =>\n extractRdpDefinitionInternal(\n clientCtx,\n os,\n methodInputObjectType,\n )\n ),\n );\n\n const definitions = objectSetTypes.reduce(\n (acc, { definitions }) => ({ ...acc, ...definitions }),\n {},\n );\n invariant(\n Object.keys(definitions).length === 0,\n \"Object sets combined using intersect, subtract, or union must not contain any derived property definitions\",\n );\n\n const firstValidChildObjectType = objectSetTypes.find(\n ({ childObjectType }) => childObjectType != null,\n )?.childObjectType;\n invariant(\n objectSetTypes.every(\n ({ childObjectType }) =>\n childObjectType === firstValidChildObjectType\n || childObjectType == null,\n ),\n \"All object sets in an intersect, subtract, or union must have the same child object type\",\n );\n\n return {\n definitions: {},\n childObjectType: firstValidChildObjectType,\n };\n case \"static\":\n case \"reference\":\n // Static and reference object sets are always intersected with a base object set, so we can just return no child object type.\n return { definitions: {} };\n // We don't have to worry about new object sets being added and doing a runtime break and breaking people since the OSDK is always constructing these.\n default:\n const _: never = objectSet;\n invariant(\n false,\n `Unsupported object set type for Runtime Derived Properties`,\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -52,7 +52,7 @@ describe("extractRdpDefinition", () => {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
|
-
const
|
|
55
|
+
const objectSetWithRdps = {
|
|
56
56
|
type: "withProperties",
|
|
57
57
|
objectSet: {
|
|
58
58
|
type: "searchAround",
|
|
@@ -80,7 +80,7 @@ describe("extractRdpDefinition", () => {
|
|
|
80
80
|
}
|
|
81
81
|
};
|
|
82
82
|
it("handles 'withProperties' object set type", async () => {
|
|
83
|
-
const result = await extractRdpDefinition(mockClientCtx,
|
|
83
|
+
const result = await extractRdpDefinition(mockClientCtx, objectSetWithRdps);
|
|
84
84
|
expect(result).toMatchInlineSnapshot(`
|
|
85
85
|
{
|
|
86
86
|
"myRdp": {
|
|
@@ -92,7 +92,7 @@ describe("extractRdpDefinition", () => {
|
|
|
92
92
|
it("combines definitions from multiple derived properties", async () => {
|
|
93
93
|
const result = await extractRdpDefinition(mockClientCtx, {
|
|
94
94
|
type: "withProperties",
|
|
95
|
-
objectSet,
|
|
95
|
+
objectSet: objectSetWithRdps,
|
|
96
96
|
derivedProperties: {
|
|
97
97
|
rdp1: {
|
|
98
98
|
type: "selection",
|
|
@@ -125,7 +125,7 @@ describe("extractRdpDefinition", () => {
|
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
}
|
|
128
|
+
});
|
|
129
129
|
expect(result).toMatchInlineSnapshot(`
|
|
130
130
|
{
|
|
131
131
|
"myRdp": {
|
|
@@ -140,5 +140,94 @@ describe("extractRdpDefinition", () => {
|
|
|
140
140
|
}
|
|
141
141
|
`);
|
|
142
142
|
});
|
|
143
|
+
it("handles `intersection` object set type and nested static and reference object sets", async () => {
|
|
144
|
+
const result = await extractRdpDefinition(mockClientCtx, {
|
|
145
|
+
type: "withProperties",
|
|
146
|
+
objectSet: {
|
|
147
|
+
type: "intersect",
|
|
148
|
+
objectSets: [{
|
|
149
|
+
type: "searchAround",
|
|
150
|
+
objectSet: {
|
|
151
|
+
type: "base",
|
|
152
|
+
objectType: "BaseType"
|
|
153
|
+
},
|
|
154
|
+
link: "testLink1"
|
|
155
|
+
}, {
|
|
156
|
+
type: "static",
|
|
157
|
+
"objects": ["object1", "object2"]
|
|
158
|
+
}, {
|
|
159
|
+
type: "reference",
|
|
160
|
+
"reference": "rid.os.1234"
|
|
161
|
+
}]
|
|
162
|
+
},
|
|
163
|
+
derivedProperties: {
|
|
164
|
+
myRdp: {
|
|
165
|
+
type: "selection",
|
|
166
|
+
objectSet: {
|
|
167
|
+
type: "searchAround",
|
|
168
|
+
objectSet: {
|
|
169
|
+
type: "methodInput"
|
|
170
|
+
},
|
|
171
|
+
link: "testLink2"
|
|
172
|
+
},
|
|
173
|
+
operation: {
|
|
174
|
+
type: "get",
|
|
175
|
+
selectedPropertyApiName: "testProperty"
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
expect(result).toMatchInlineSnapshot(`
|
|
181
|
+
{
|
|
182
|
+
"myRdp": {
|
|
183
|
+
"type": "attachment",
|
|
184
|
+
},
|
|
185
|
+
}
|
|
186
|
+
`);
|
|
187
|
+
});
|
|
188
|
+
it("throws with intersect, subtract, or union having nested RDPs", async () => {
|
|
189
|
+
await expect(extractRdpDefinition(mockClientCtx, {
|
|
190
|
+
type: "intersect",
|
|
191
|
+
objectSets: [objectSetWithRdps, {
|
|
192
|
+
type: "base",
|
|
193
|
+
objectType: "ThirdType"
|
|
194
|
+
}]
|
|
195
|
+
})).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Invariant failed: Object sets combined using intersect, subtract, or union must not contain any derived property definitions]`);
|
|
196
|
+
});
|
|
197
|
+
it("throes with intersect, subtract, or union having different child object types", async () => {
|
|
198
|
+
await expect(extractRdpDefinition(mockClientCtx, {
|
|
199
|
+
type: "withProperties",
|
|
200
|
+
objectSet: {
|
|
201
|
+
type: "intersect",
|
|
202
|
+
objectSets: [{
|
|
203
|
+
type: "searchAround",
|
|
204
|
+
objectSet: {
|
|
205
|
+
type: "base",
|
|
206
|
+
objectType: "BaseType"
|
|
207
|
+
},
|
|
208
|
+
link: "testLink1"
|
|
209
|
+
}, {
|
|
210
|
+
type: "base",
|
|
211
|
+
objectType: "BaseType"
|
|
212
|
+
}]
|
|
213
|
+
},
|
|
214
|
+
derivedProperties: {
|
|
215
|
+
myRdp: {
|
|
216
|
+
type: "selection",
|
|
217
|
+
objectSet: {
|
|
218
|
+
type: "searchAround",
|
|
219
|
+
objectSet: {
|
|
220
|
+
type: "methodInput"
|
|
221
|
+
},
|
|
222
|
+
link: "testLink2"
|
|
223
|
+
},
|
|
224
|
+
operation: {
|
|
225
|
+
type: "get",
|
|
226
|
+
selectedPropertyApiName: "testProperty"
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
})).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Invariant failed: All object sets in an intersect, subtract, or union must have the same child object type]`);
|
|
231
|
+
});
|
|
143
232
|
});
|
|
144
233
|
//# sourceMappingURL=extractRdpDefinition.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractRdpDefinition.test.js","names":["describe","expect","it","extractRdpDefinition","mockClientCtx","ontologyProvider","getObjectDefinition","objectType","links","testLink1","targetType","testLink2","properties","testProperty","type","Error","objectSet","link","derivedProperties","myRdp","operation","selectedPropertyApiName","result","toMatchInlineSnapshot","rdp1","limit","rdp2"],"sources":["extractRdpDefinition.test.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectMetadata } from \"@osdk/api\";\nimport type { ObjectSet } from \"@osdk/foundry.ontologies\";\nimport { describe, expect, it } from \"vitest\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { extractRdpDefinition } from \"./extractRdpDefinition.js\";\n\ndescribe(\"extractRdpDefinition\", () => {\n const mockClientCtx = {\n ontologyProvider: {\n getObjectDefinition: (objectType: string) => {\n if (objectType === \"BaseType\") {\n return {\n links: {\n testLink1: {\n targetType: \"SecondType\",\n \"multiplicity\": \"many\",\n } satisfies ObjectMetadata.Link<any, any>,\n },\n };\n } else if (objectType === \"SecondType\") {\n return {\n links: {\n testLink2: {\n targetType: \"ThirdType\",\n \"multiplicity\": \"many\",\n } satisfies ObjectMetadata.Link<any, any>,\n },\n };\n } else if (objectType === \"ThirdType\") {\n return {\n properties: {\n testProperty: {\n type: \"attachment\",\n } satisfies ObjectMetadata.Property,\n },\n };\n } else {\n throw new Error(`Missing definition for '${objectType}'`);\n }\n },\n } as any,\n } as MinimalClient;\n\n const objectSet: ObjectSet = {\n type: \"withProperties\",\n objectSet: {\n type: \"searchAround\",\n objectSet: { type: \"base\", objectType: \"BaseType\" },\n link: \"testLink1\",\n },\n derivedProperties: {\n myRdp: {\n type: \"selection\",\n objectSet: {\n type: \"searchAround\",\n objectSet: { type: \"methodInput\" },\n link: \"testLink2\",\n },\n operation: { type: \"get\", selectedPropertyApiName: \"testProperty\" },\n },\n },\n };\n\n it(\"handles 'withProperties' object set type\", async () => {\n const result = await extractRdpDefinition(\n mockClientCtx,\n objectSet,\n \"\",\n );\n\n expect(result).toMatchInlineSnapshot(\n `\n {\n \"myRdp\": {\n \"type\": \"attachment\",\n },\n }\n `,\n );\n });\n\n it(\"combines definitions from multiple derived properties\", async () => {\n const nestedObjectSet: ObjectSet = {\n type: \"withProperties\",\n objectSet,\n derivedProperties: {\n rdp1: {\n type: \"selection\",\n objectSet: {\n type: \"searchAround\",\n objectSet: { type: \"methodInput\" },\n link: \"testLink2\",\n },\n operation: {\n type: \"collectList\",\n selectedPropertyApiName: \"testProperty\",\n limit: 100,\n },\n },\n rdp2: {\n type: \"selection\",\n objectSet: {\n type: \"searchAround\",\n objectSet: { type: \"methodInput\" },\n link: \"testLink2\",\n },\n operation: {\n type: \"collectSet\",\n selectedPropertyApiName: \"testProperty\",\n limit: 100,\n },\n },\n },\n };\n\n const result = await extractRdpDefinition(\n mockClientCtx,\n nestedObjectSet,\n \"\",\n );\n\n expect(result).toMatchInlineSnapshot(`\n {\n \"myRdp\": {\n \"type\": \"attachment\",\n },\n \"rdp1\": {\n \"type\": \"attachment\",\n },\n \"rdp2\": {\n \"type\": \"attachment\",\n },\n }\n `);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"extractRdpDefinition.test.js","names":["describe","expect","it","extractRdpDefinition","mockClientCtx","ontologyProvider","getObjectDefinition","objectType","links","testLink1","targetType","testLink2","properties","testProperty","type","Error","objectSetWithRdps","objectSet","link","derivedProperties","myRdp","operation","selectedPropertyApiName","result","toMatchInlineSnapshot","rdp1","limit","rdp2","objectSets","rejects","toThrowErrorMatchingInlineSnapshot"],"sources":["extractRdpDefinition.test.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectMetadata } from \"@osdk/api\";\nimport type { ObjectSet } from \"@osdk/foundry.ontologies\";\nimport { describe, expect, it } from \"vitest\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { extractRdpDefinition } from \"./extractRdpDefinition.js\";\n\ndescribe(\"extractRdpDefinition\", () => {\n const mockClientCtx = {\n ontologyProvider: {\n getObjectDefinition: (objectType: string) => {\n if (objectType === \"BaseType\") {\n return {\n links: {\n testLink1: {\n targetType: \"SecondType\",\n \"multiplicity\": \"many\",\n } satisfies ObjectMetadata.Link<any, any>,\n },\n };\n } else if (objectType === \"SecondType\") {\n return {\n links: {\n testLink2: {\n targetType: \"ThirdType\",\n \"multiplicity\": \"many\",\n } satisfies ObjectMetadata.Link<any, any>,\n },\n };\n } else if (objectType === \"ThirdType\") {\n return {\n properties: {\n testProperty: {\n type: \"attachment\",\n } satisfies ObjectMetadata.Property,\n },\n };\n } else {\n throw new Error(`Missing definition for '${objectType}'`);\n }\n },\n } as any,\n } as MinimalClient;\n\n const objectSetWithRdps: ObjectSet = {\n type: \"withProperties\",\n objectSet: {\n type: \"searchAround\",\n objectSet: { type: \"base\", objectType: \"BaseType\" },\n link: \"testLink1\",\n },\n derivedProperties: {\n myRdp: {\n type: \"selection\",\n objectSet: {\n type: \"searchAround\",\n objectSet: { type: \"methodInput\" },\n link: \"testLink2\",\n },\n operation: { type: \"get\", selectedPropertyApiName: \"testProperty\" },\n },\n },\n };\n\n it(\"handles 'withProperties' object set type\", async () => {\n const result = await extractRdpDefinition(\n mockClientCtx,\n objectSetWithRdps,\n );\n\n expect(result).toMatchInlineSnapshot(\n `\n {\n \"myRdp\": {\n \"type\": \"attachment\",\n },\n }\n `,\n );\n });\n\n it(\"combines definitions from multiple derived properties\", async () => {\n const nestedObjectSet: ObjectSet = {\n type: \"withProperties\",\n objectSet: objectSetWithRdps,\n derivedProperties: {\n rdp1: {\n type: \"selection\",\n objectSet: {\n type: \"searchAround\",\n objectSet: { type: \"methodInput\" },\n link: \"testLink2\",\n },\n operation: {\n type: \"collectList\",\n selectedPropertyApiName: \"testProperty\",\n limit: 100,\n },\n },\n rdp2: {\n type: \"selection\",\n objectSet: {\n type: \"searchAround\",\n objectSet: { type: \"methodInput\" },\n link: \"testLink2\",\n },\n operation: {\n type: \"collectSet\",\n selectedPropertyApiName: \"testProperty\",\n limit: 100,\n },\n },\n },\n };\n\n const result = await extractRdpDefinition(\n mockClientCtx,\n nestedObjectSet,\n );\n\n expect(result).toMatchInlineSnapshot(`\n {\n \"myRdp\": {\n \"type\": \"attachment\",\n },\n \"rdp1\": {\n \"type\": \"attachment\",\n },\n \"rdp2\": {\n \"type\": \"attachment\",\n },\n }\n `);\n });\n\n it(\"handles `intersection` object set type and nested static and reference object sets\", async () => {\n const intersectionObjectSet: ObjectSet = {\n type: \"intersect\",\n objectSets: [\n {\n type: \"searchAround\",\n objectSet: { type: \"base\", objectType: \"BaseType\" },\n link: \"testLink1\",\n },\n { type: \"static\", \"objects\": [\"object1\", \"object2\"] },\n { type: \"reference\", \"reference\": \"rid.os.1234\" },\n ],\n };\n\n const RdpWithIntersectionBaseObjectSet: ObjectSet = {\n type: \"withProperties\",\n objectSet: intersectionObjectSet,\n derivedProperties: {\n myRdp: {\n type: \"selection\",\n objectSet: {\n type: \"searchAround\",\n objectSet: { type: \"methodInput\" },\n link: \"testLink2\",\n },\n operation: {\n type: \"get\",\n selectedPropertyApiName: \"testProperty\",\n },\n },\n },\n };\n\n const result = await extractRdpDefinition(\n mockClientCtx,\n RdpWithIntersectionBaseObjectSet,\n );\n\n expect(result).toMatchInlineSnapshot(\n `\n {\n \"myRdp\": {\n \"type\": \"attachment\",\n },\n }\n `,\n );\n });\n\n it(\"throws with intersect, subtract, or union having nested RDPs\", async () => {\n const intersectionObjectSetWithNestedRdps: ObjectSet = {\n type: \"intersect\",\n objectSets: [objectSetWithRdps, {\n type: \"base\",\n objectType: \"ThirdType\",\n }],\n };\n\n await expect(\n extractRdpDefinition(mockClientCtx, intersectionObjectSetWithNestedRdps),\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Object sets combined using intersect, subtract, or union must not contain any derived property definitions]`,\n );\n });\n\n it(\"throes with intersect, subtract, or union having different child object types\", async () => {\n const intersectionObjectSet: ObjectSet = {\n type: \"intersect\",\n objectSets: [\n {\n type: \"searchAround\",\n objectSet: { type: \"base\", objectType: \"BaseType\" },\n link: \"testLink1\",\n },\n { type: \"base\", objectType: \"BaseType\" },\n ],\n };\n\n const RdpWithIntersectionBaseObjectSet: ObjectSet = {\n type: \"withProperties\",\n objectSet: intersectionObjectSet,\n derivedProperties: {\n myRdp: {\n type: \"selection\",\n objectSet: {\n type: \"searchAround\",\n objectSet: { type: \"methodInput\" },\n link: \"testLink2\",\n },\n operation: {\n type: \"get\",\n selectedPropertyApiName: \"testProperty\",\n },\n },\n },\n };\n\n await expect(\n extractRdpDefinition(mockClientCtx, RdpWithIntersectionBaseObjectSet),\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: All object sets in an intersect, subtract, or union must have the same child object type]`,\n );\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface Logger {
|
|
2
|
+
trace: LogFn;
|
|
3
|
+
debug: LogFn;
|
|
4
|
+
fatal: LogFn;
|
|
5
|
+
error: LogFn;
|
|
6
|
+
warn: LogFn;
|
|
7
|
+
info: LogFn;
|
|
8
|
+
isLevelEnabled(level: string): boolean;
|
|
9
|
+
child(bindings: Record<string, any>, options?: {
|
|
10
|
+
level?: string;
|
|
11
|
+
msgPrefix?: string;
|
|
12
|
+
}): Logger;
|
|
13
|
+
}
|
|
14
|
+
interface LogFn {
|
|
15
|
+
(obj: unknown, msg?: string, ...args: any[]): void;
|
|
16
|
+
(msg: string, ...args: any[]): void;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export type { Logger as L, LogFn as a };
|