@osdk/faux 0.2.0-beta.8 → 0.3.0-beta.1
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 +70 -0
- package/build/browser/FauxFoundry/FauxOntology.js +1 -1
- package/build/browser/FauxFoundry/FauxOntology.js.map +1 -1
- package/build/browser/FauxFoundry/getObjectsFromSet.js +8 -0
- package/build/browser/FauxFoundry/getObjectsFromSet.js.map +1 -1
- package/build/cjs/index.cjs +40 -19
- package/build/cjs/index.cjs.map +1 -1
- package/build/esm/FauxFoundry/FauxOntology.js +1 -1
- package/build/esm/FauxFoundry/FauxOntology.js.map +1 -1
- package/build/esm/FauxFoundry/getObjectsFromSet.js +8 -0
- package/build/esm/FauxFoundry/getObjectsFromSet.js.map +1 -1
- package/build/types/FauxFoundry/getObjectsFromSet.d.ts.map +1 -1
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,75 @@
|
|
|
1
1
|
# @osdk/shared.test
|
|
2
2
|
|
|
3
|
+
## 0.2.0-beta.17
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- @osdk/api@2.4.0-beta.17
|
|
8
|
+
- @osdk/generator-converters@2.4.0-beta.17
|
|
9
|
+
|
|
10
|
+
## 0.2.0-beta.16
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- @osdk/api@2.4.0-beta.16
|
|
15
|
+
- @osdk/generator-converters@2.4.0-beta.16
|
|
16
|
+
|
|
17
|
+
## 0.2.0-beta.15
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- @osdk/api@2.4.0-beta.15
|
|
22
|
+
- @osdk/generator-converters@2.4.0-beta.15
|
|
23
|
+
|
|
24
|
+
## 0.2.0-beta.14
|
|
25
|
+
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- @osdk/api@2.4.0-beta.14
|
|
29
|
+
- @osdk/generator-converters@2.4.0-beta.14
|
|
30
|
+
|
|
31
|
+
## 0.2.0-beta.13
|
|
32
|
+
|
|
33
|
+
### Minor Changes
|
|
34
|
+
|
|
35
|
+
- 4bc848b: Add interface link support.
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- Updated dependencies [4bc848b]
|
|
40
|
+
- @osdk/generator-converters@2.4.0-beta.13
|
|
41
|
+
- @osdk/api@2.4.0-beta.13
|
|
42
|
+
|
|
43
|
+
## 0.2.0-beta.12
|
|
44
|
+
|
|
45
|
+
### Patch Changes
|
|
46
|
+
|
|
47
|
+
- @osdk/api@2.4.0-beta.12
|
|
48
|
+
- @osdk/generator-converters@2.4.0-beta.12
|
|
49
|
+
|
|
50
|
+
## 0.2.0-beta.11
|
|
51
|
+
|
|
52
|
+
### Patch Changes
|
|
53
|
+
|
|
54
|
+
- Updated dependencies [f277b30]
|
|
55
|
+
- @osdk/generator-converters@2.4.0-beta.11
|
|
56
|
+
- @osdk/api@2.4.0-beta.11
|
|
57
|
+
|
|
58
|
+
## 0.2.0-beta.10
|
|
59
|
+
|
|
60
|
+
### Patch Changes
|
|
61
|
+
|
|
62
|
+
- @osdk/api@2.4.0-beta.10
|
|
63
|
+
- @osdk/generator-converters@2.4.0-beta.10
|
|
64
|
+
|
|
65
|
+
## 0.2.0-beta.9
|
|
66
|
+
|
|
67
|
+
### Patch Changes
|
|
68
|
+
|
|
69
|
+
- Updated dependencies [9101bad]
|
|
70
|
+
- @osdk/api@2.4.0-beta.9
|
|
71
|
+
- @osdk/generator-converters@2.4.0-beta.9
|
|
72
|
+
|
|
3
73
|
## 0.2.0-beta.8
|
|
4
74
|
|
|
5
75
|
### Patch Changes
|
|
@@ -215,7 +215,7 @@ export class FauxOntology {
|
|
|
215
215
|
if (extractVersion(apiName) !== undefined) {
|
|
216
216
|
return apiName;
|
|
217
217
|
}
|
|
218
|
-
const version = semver.rsort(Object.keys(this.#ontology.queryTypes).filter(queryTypeApiName => queryTypeApiName.
|
|
218
|
+
const version = semver.rsort(Object.keys(this.#ontology.queryTypes).filter(queryTypeApiName => queryTypeApiName.split(":")[0] === apiName).map(x => extractVersion(x)))[0];
|
|
219
219
|
return `${apiName}:${version}`;
|
|
220
220
|
}
|
|
221
221
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FauxOntology.js","names":["semver","valid","invariant","ActionNotFoundError","LinkTypeNotFound","ObjectNotFoundError","ObjectTypeDoesNotExistError","QueryNotFoundError","OpenApiCallError","FauxOntology","ontology","actionImpl","Map","queryImpl","constructor","actionTypes","interfaceTypes","objectTypes","queryTypes","sharedPropertyTypes","apiName","getOntologyFullMetadata","getFilteredOntologyMetadata","request","Object","fromEntries","entries","filter","objectType","includes","map","objectTypeApiName","objectTypeDefinition","linkTypes","linkType","filterRecord","getFilteredQueryTypes","getAllInterfaceTypes","values","getAllObjectTypes","getAllActionTypes","getAllQueryTypes","getInterfaceType","interfaceType","ret","undefined","getObjectTypeFullMetadata","getObjectTypeFullMetadataOrThrow","getActionDef","actionTypeApiName","actionType","getActionImpl","impl","get","process","env","NODE_ENV","getQueryDef","queryTypeApiNameAndVersion","queryType","convertToVersionedApiName","getQueryImpl","queryTypeApiName","version","versionMap","rsort","Array","from","keys","getInterfaceToObjectTypeMappings","objectApiNames","objectDefs","ifaceToObjMap","objDef","ifaceApiName","properties","implementsInterfaces2","getLinkTypeSideV2","linkTypeName","find","a","getOtherLinkTypeSideV2OrThrow","thisSideLink","otherObj","candidates","l","linkTypeRid","length","candidate","getBothLinkTypeSides","leftObjectType","leftLinkName","rightObjectType","leftTypeSideV2","rightTypeSideV2","registerObjectType","def","Error","registerActionType","implementation","set","registerQueryType","has","registerInterfaceType","registerSharedPropertyType","#getFilteredQueryTypes","remappedQueryTypes","x","queryTypeDefinition","indexOf","#convertToVersionedApiName","extractVersion","startsWith","record","key","split"],"sources":["FauxOntology.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 ObjectTypeDefinition } from \"@osdk/api\";\nimport type * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport type {\n LoadOntologyMetadataRequest,\n VersionedQueryTypeApiName,\n} from \"@osdk/internal.foundry.ontologies\";\nimport semver, { valid } from \"semver\";\nimport invariant from \"tiny-invariant\";\nimport type { ReadonlyDeep } from \"type-fest\";\nimport {\n ActionNotFoundError,\n LinkTypeNotFound,\n ObjectNotFoundError,\n ObjectTypeDoesNotExistError,\n QueryNotFoundError,\n} from \"../errors.js\";\nimport { OpenApiCallError } from \"../handlers/util/handleOpenApiCall.js\";\nimport type { FauxActionImpl } from \"./FauxActionImpl.js\";\nimport type { FauxQueryImpl } from \"./FauxQueryImpl.js\";\nimport type { TH_ObjectTypeFullMetadata } from \"./typeHelpers/TH_ObjectTypeFullMetadata.js\";\n\n/**\n * Currently Unsupported Concepts:\n * - many:many links.\n */\nexport class FauxOntology {\n #ontology: OntologiesV2.OntologyFullMetadata;\n #actionImpl: Map<OntologiesV2.ActionTypeApiName, FauxActionImpl> = new Map();\n #queryImpl: Map<\n OntologiesV2.QueryApiName,\n Map<OntologiesV2.FunctionVersion, FauxQueryImpl>\n > = new Map();\n\n constructor(ontology: OntologiesV2.OntologyV2) {\n this.#ontology = {\n actionTypes: {},\n interfaceTypes: {},\n objectTypes: {},\n ontology,\n queryTypes: {},\n sharedPropertyTypes: {},\n };\n }\n\n get apiName(): OntologiesV2.OntologyApiName {\n return this.#ontology.ontology.apiName;\n }\n\n getOntologyFullMetadata(): OntologiesV2.OntologyFullMetadata {\n return this.#ontology;\n }\n\n getFilteredOntologyMetadata(\n request: OntologiesV2.LoadOntologyMetadataRequest,\n ): OntologiesV2.OntologyFullMetadata {\n return {\n ontology: this.#ontology.ontology,\n objectTypes: Object.fromEntries(\n Object.entries(this.#ontology.objectTypes).filter(([objectType]) =>\n request.objectTypes.includes(objectType)\n ).map(([objectTypeApiName, objectTypeDefinition]) => [\n objectTypeApiName,\n {\n ...objectTypeDefinition,\n linkTypes: objectTypeDefinition.linkTypes.filter(linkType =>\n request.linkTypes.includes(linkType.apiName)\n ),\n },\n ]),\n ),\n actionTypes: filterRecord(\n this.#ontology.actionTypes,\n request.actionTypes,\n ),\n queryTypes: this.#getFilteredQueryTypes(request),\n\n interfaceTypes: filterRecord(\n this.#ontology.interfaceTypes,\n request.interfaceTypes,\n ),\n sharedPropertyTypes: {},\n };\n }\n\n getAllInterfaceTypes(): OntologiesV2.InterfaceType[] {\n return Object.values(this.#ontology.interfaceTypes);\n }\n\n getAllObjectTypes(): OntologiesV2.ObjectTypeFullMetadata[] {\n return Object.values(this.#ontology.objectTypes);\n }\n\n getAllActionTypes(): OntologiesV2.ActionTypeV2[] {\n return Object.values(this.#ontology.actionTypes);\n }\n\n getAllQueryTypes(): OntologiesV2.QueryTypeV2[] {\n return Object.values(this.#ontology.queryTypes);\n }\n\n getInterfaceType(interfaceType: string): OntologiesV2.InterfaceType {\n const ret = this.#ontology.interfaceTypes[interfaceType];\n\n if (ret === undefined) {\n throw new OpenApiCallError(\n 404,\n ObjectNotFoundError(interfaceType, \"\"),\n );\n }\n\n return (\n this.#ontology.interfaceTypes[interfaceType]\n );\n }\n\n public getObjectTypeFullMetadata(\n objectTypeApiName: string,\n ): OntologiesV2.ObjectTypeFullMetadata | undefined {\n return this.#ontology.objectTypes[objectTypeApiName];\n }\n\n public getObjectTypeFullMetadataOrThrow(\n objectTypeApiName: string,\n ): OntologiesV2.ObjectTypeFullMetadata {\n const objectType = this.#ontology.objectTypes[objectTypeApiName];\n if (objectType === undefined) {\n throw new OpenApiCallError(\n 404,\n ObjectTypeDoesNotExistError(objectTypeApiName),\n );\n }\n return objectType;\n }\n\n public getActionDef(actionTypeApiName: string): OntologiesV2.ActionTypeV2 {\n const actionType = this.#ontology.actionTypes[actionTypeApiName];\n if (actionType === undefined) {\n throw new OpenApiCallError(\n 404,\n ActionNotFoundError(),\n );\n }\n return actionType;\n }\n\n public getActionImpl(actionTypeApiName: string): FauxActionImpl {\n const impl = this.#actionImpl.get(actionTypeApiName);\n invariant(impl, \"Action implementation not found for \" + actionTypeApiName);\n return impl;\n }\n\n public getQueryDef(\n queryTypeApiNameAndVersion: string,\n ): OntologiesV2.QueryTypeV2 {\n const queryType = this.#ontology\n .queryTypes[this.#convertToVersionedApiName(queryTypeApiNameAndVersion)];\n if (queryType === undefined) {\n throw new OpenApiCallError(\n 404,\n QueryNotFoundError(queryTypeApiNameAndVersion),\n );\n }\n return queryType;\n }\n\n public getQueryImpl(\n queryTypeApiName: string,\n version?: string,\n ): FauxQueryImpl {\n const versionMap = this.#queryImpl.get(queryTypeApiName);\n\n const impl = version !== undefined\n ? versionMap?.get(version)\n : versionMap?.get(semver.rsort(Array.from(versionMap.keys() ?? []))[0]);\n\n if (!impl) {\n throw new OpenApiCallError(\n 404,\n QueryNotFoundError(queryTypeApiName),\n );\n }\n invariant(impl, \"Query implementation not found for \" + queryTypeApiName);\n return impl;\n }\n\n public getInterfaceToObjectTypeMappings(\n objectApiNames: Iterable<OntologiesV2.ObjectTypeApiName>,\n ): Record<\n OntologiesV2.InterfaceTypeApiName,\n OntologiesV2.InterfaceToObjectTypeMappings\n > {\n const objectDefs = Array.from(objectApiNames).map(apiName =>\n this.getObjectTypeFullMetadataOrThrow(apiName)\n );\n\n const ifaceToObjMap: Record<\n OntologiesV2.InterfaceTypeApiName,\n OntologiesV2.InterfaceToObjectTypeMappings\n > = {};\n\n for (const objDef of objectDefs) {\n for (\n const [ifaceApiName, { properties }] of Object.entries(\n objDef.implementsInterfaces2,\n )\n ) {\n if (ifaceToObjMap[ifaceApiName] === undefined) {\n ifaceToObjMap[ifaceApiName] = {};\n }\n\n ifaceToObjMap[ifaceApiName][objDef.objectType.apiName] = properties;\n }\n }\n\n return ifaceToObjMap;\n }\n\n public getLinkTypeSideV2(\n objectTypeApiName: string,\n linkTypeName: string,\n ): OntologiesV2.LinkTypeSideV2 {\n const objectType = this.getObjectTypeFullMetadataOrThrow(objectTypeApiName);\n const linkType = objectType.linkTypes.find((a) =>\n a.apiName === linkTypeName\n );\n if (linkType === undefined) {\n throw new OpenApiCallError(\n 404,\n LinkTypeNotFound(objectTypeApiName, linkTypeName),\n );\n }\n return linkType;\n }\n\n public getOtherLinkTypeSideV2OrThrow(\n objectTypeApiName: string,\n linkTypeName: string,\n ): OntologiesV2.LinkTypeSideV2 {\n const thisSideLink = this.getLinkTypeSideV2(\n objectTypeApiName,\n linkTypeName,\n );\n const otherObj = this.getObjectTypeFullMetadataOrThrow(\n thisSideLink.objectTypeApiName,\n );\n const candidates = otherObj.linkTypes.filter(l =>\n l.linkTypeRid === thisSideLink.linkTypeRid\n );\n if (otherObj.objectType.apiName !== objectTypeApiName) {\n // if its not the same object type then there should only be one\n invariant(\n candidates.length === 1,\n \"Expected only one candidate link type\",\n );\n return candidates[0];\n }\n // if its the same object type, then this could be a link that points to itself that\n // is 1:1, many:1 or many:many. In the 1:1 case, the link could have the same name\n // and there would only be 1 entry in that case. Otherwise there should be 2 entries\n // and we want the one that doesn't match the one passed in.\n if (candidates.length === 1) {\n return candidates[0];\n }\n invariant(\n candidates.length === 2,\n \"Expected only two candidate link types\",\n );\n const candidate = candidates.find(l => l.apiName !== thisSideLink.apiName);\n invariant(\n candidate,\n \"Expected to find a candidate link type that is not the same as the one passed in\",\n );\n return candidate;\n }\n\n getBothLinkTypeSides(\n leftObjectType: string,\n leftLinkName: string,\n rightObjectType: string,\n ): [OntologiesV2.LinkTypeSideV2, OntologiesV2.LinkTypeSideV2] {\n const leftTypeSideV2 = this.getLinkTypeSideV2(\n leftObjectType,\n leftLinkName,\n );\n\n // the rhs passed in should match the target of the lhs\n invariant(rightObjectType === leftTypeSideV2.objectTypeApiName);\n\n const rightTypeSideV2 = this.getOtherLinkTypeSideV2OrThrow(\n leftObjectType,\n leftLinkName,\n );\n\n return [leftTypeSideV2, rightTypeSideV2];\n }\n\n registerObjectType<Q extends ObjectTypeDefinition>(\n def: TH_ObjectTypeFullMetadata<Q>,\n ): void;\n registerObjectType(\n def: ReadonlyDeep<OntologiesV2.ObjectTypeFullMetadata>,\n ): void;\n registerObjectType<Q extends ObjectTypeDefinition>(\n def:\n | TH_ObjectTypeFullMetadata<Q>\n | OntologiesV2.ObjectTypeFullMetadata,\n ): void {\n if (def.objectType.apiName in this.#ontology.objectTypes) {\n throw new Error(\n `ObjectType ${def.objectType.apiName} already registered`,\n );\n }\n this.#ontology.objectTypes[def.objectType.apiName] = def;\n }\n\n registerActionType<Q extends OntologiesV2.ActionTypeV2>(\n def: Q,\n implementation?: FauxActionImpl<Q>,\n ): void;\n registerActionType(\n def: OntologiesV2.ActionTypeV2,\n implementation?: FauxActionImpl,\n ): void;\n registerActionType(\n def: OntologiesV2.ActionTypeV2,\n implementation?: FauxActionImpl,\n ): void {\n if (def.apiName in this.#ontology.actionTypes) {\n throw new Error(\n `ActionType ${def.apiName} already registered`,\n );\n }\n this.#ontology.actionTypes[def.apiName] = def;\n if (implementation) {\n this.#actionImpl.set(def.apiName, implementation);\n }\n }\n\n registerQueryType(\n def: OntologiesV2.QueryTypeV2,\n implementation?: FauxQueryImpl,\n ): void {\n if (`${def.apiName}:${def.version}` in this.#ontology.queryTypes) {\n throw new Error(\n `QueryType ${def.apiName} already registered`,\n );\n }\n this.#ontology\n .queryTypes[\n `${def.apiName}:${def.version}` as VersionedQueryTypeApiName\n ] = def;\n if (implementation) {\n if (!this.#queryImpl.has(def.apiName)) {\n this.#queryImpl.set(def.apiName, new Map());\n }\n if (!valid(def.version)) {\n throw new Error(\n `QueryType ${def.apiName} version ${def.version} is not semver valid`,\n );\n }\n this.#queryImpl.get(def.apiName)?.set(\n def.version,\n implementation,\n );\n }\n }\n\n registerInterfaceType(def: OntologiesV2.InterfaceType): void {\n if (def.apiName in this.#ontology.interfaceTypes) {\n throw new Error(\n `InterfaceType ${def.apiName} already registered`,\n );\n }\n this.#ontology.interfaceTypes[def.apiName] = def;\n }\n\n registerSharedPropertyType(def: OntologiesV2.SharedPropertyType): void {\n if (def.apiName in this.#ontology.sharedPropertyTypes) {\n throw new Error(\n `SharedPropertyType ${def.apiName} already registered`,\n );\n }\n this.#ontology.sharedPropertyTypes[def.apiName] = def;\n }\n\n #getFilteredQueryTypes(request: LoadOntologyMetadataRequest): Record<\n OntologiesV2.QueryApiName,\n OntologiesV2.QueryTypeV2\n > {\n const remappedQueryTypes = request.queryTypes.map(x =>\n this.#convertToVersionedApiName(x)\n );\n return Object.fromEntries(\n Object.entries(this.#ontology.queryTypes).filter((\n [queryTypeApiName],\n ) => remappedQueryTypes.includes(queryTypeApiName)).map((\n [queryTypeApiName, queryTypeDefinition],\n ) => [\n request.queryTypes[remappedQueryTypes.indexOf(queryTypeApiName)],\n queryTypeDefinition,\n ]),\n );\n }\n\n #convertToVersionedApiName(\n apiName: string,\n ): VersionedQueryTypeApiName {\n // If a query is requested without a version, we remap it to include a versioned api name with the latest version\n if (extractVersion(apiName) !== undefined) {\n return apiName as VersionedQueryTypeApiName;\n }\n const version = semver.rsort(\n Object.keys(this.#ontology.queryTypes).filter(\n queryTypeApiName => queryTypeApiName.startsWith(apiName),\n ).map(x => extractVersion(x)),\n )[0];\n return `${apiName}:${version}`;\n }\n}\n\nfunction filterRecord<T>(\n record: Record<string, T>,\n keys: string[],\n): Record<string, T> {\n return Object.fromEntries(\n Object.entries(record).filter(([key]) => keys.includes(key)),\n );\n}\n\nfunction extractVersion(\n apiName: string,\n): string {\n return apiName.split(\":\")[1];\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FauxOntology.js","names":["semver","valid","invariant","ActionNotFoundError","LinkTypeNotFound","ObjectNotFoundError","ObjectTypeDoesNotExistError","QueryNotFoundError","OpenApiCallError","FauxOntology","ontology","actionImpl","Map","queryImpl","constructor","actionTypes","interfaceTypes","objectTypes","queryTypes","sharedPropertyTypes","apiName","getOntologyFullMetadata","getFilteredOntologyMetadata","request","Object","fromEntries","entries","filter","objectType","includes","map","objectTypeApiName","objectTypeDefinition","linkTypes","linkType","filterRecord","getFilteredQueryTypes","getAllInterfaceTypes","values","getAllObjectTypes","getAllActionTypes","getAllQueryTypes","getInterfaceType","interfaceType","ret","undefined","getObjectTypeFullMetadata","getObjectTypeFullMetadataOrThrow","getActionDef","actionTypeApiName","actionType","getActionImpl","impl","get","process","env","NODE_ENV","getQueryDef","queryTypeApiNameAndVersion","queryType","convertToVersionedApiName","getQueryImpl","queryTypeApiName","version","versionMap","rsort","Array","from","keys","getInterfaceToObjectTypeMappings","objectApiNames","objectDefs","ifaceToObjMap","objDef","ifaceApiName","properties","implementsInterfaces2","getLinkTypeSideV2","linkTypeName","find","a","getOtherLinkTypeSideV2OrThrow","thisSideLink","otherObj","candidates","l","linkTypeRid","length","candidate","getBothLinkTypeSides","leftObjectType","leftLinkName","rightObjectType","leftTypeSideV2","rightTypeSideV2","registerObjectType","def","Error","registerActionType","implementation","set","registerQueryType","has","registerInterfaceType","registerSharedPropertyType","#getFilteredQueryTypes","remappedQueryTypes","x","queryTypeDefinition","indexOf","#convertToVersionedApiName","extractVersion","split","record","key"],"sources":["FauxOntology.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 ObjectTypeDefinition } from \"@osdk/api\";\nimport type * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport type {\n LoadOntologyMetadataRequest,\n VersionedQueryTypeApiName,\n} from \"@osdk/internal.foundry.ontologies\";\nimport semver, { valid } from \"semver\";\nimport invariant from \"tiny-invariant\";\nimport type { ReadonlyDeep } from \"type-fest\";\nimport {\n ActionNotFoundError,\n LinkTypeNotFound,\n ObjectNotFoundError,\n ObjectTypeDoesNotExistError,\n QueryNotFoundError,\n} from \"../errors.js\";\nimport { OpenApiCallError } from \"../handlers/util/handleOpenApiCall.js\";\nimport type { FauxActionImpl } from \"./FauxActionImpl.js\";\nimport type { FauxQueryImpl } from \"./FauxQueryImpl.js\";\nimport type { TH_ObjectTypeFullMetadata } from \"./typeHelpers/TH_ObjectTypeFullMetadata.js\";\n\n/**\n * Currently Unsupported Concepts:\n * - many:many links.\n */\nexport class FauxOntology {\n #ontology: OntologiesV2.OntologyFullMetadata;\n #actionImpl: Map<OntologiesV2.ActionTypeApiName, FauxActionImpl> = new Map();\n #queryImpl: Map<\n OntologiesV2.QueryApiName,\n Map<OntologiesV2.FunctionVersion, FauxQueryImpl>\n > = new Map();\n\n constructor(ontology: OntologiesV2.OntologyV2) {\n this.#ontology = {\n actionTypes: {},\n interfaceTypes: {},\n objectTypes: {},\n ontology,\n queryTypes: {},\n sharedPropertyTypes: {},\n };\n }\n\n get apiName(): OntologiesV2.OntologyApiName {\n return this.#ontology.ontology.apiName;\n }\n\n getOntologyFullMetadata(): OntologiesV2.OntologyFullMetadata {\n return this.#ontology;\n }\n\n getFilteredOntologyMetadata(\n request: OntologiesV2.LoadOntologyMetadataRequest,\n ): OntologiesV2.OntologyFullMetadata {\n return {\n ontology: this.#ontology.ontology,\n objectTypes: Object.fromEntries(\n Object.entries(this.#ontology.objectTypes).filter(([objectType]) =>\n request.objectTypes.includes(objectType)\n ).map(([objectTypeApiName, objectTypeDefinition]) => [\n objectTypeApiName,\n {\n ...objectTypeDefinition,\n linkTypes: objectTypeDefinition.linkTypes.filter(linkType =>\n request.linkTypes.includes(linkType.apiName)\n ),\n },\n ]),\n ),\n actionTypes: filterRecord(\n this.#ontology.actionTypes,\n request.actionTypes,\n ),\n queryTypes: this.#getFilteredQueryTypes(request),\n\n interfaceTypes: filterRecord(\n this.#ontology.interfaceTypes,\n request.interfaceTypes,\n ),\n sharedPropertyTypes: {},\n };\n }\n\n getAllInterfaceTypes(): OntologiesV2.InterfaceType[] {\n return Object.values(this.#ontology.interfaceTypes);\n }\n\n getAllObjectTypes(): OntologiesV2.ObjectTypeFullMetadata[] {\n return Object.values(this.#ontology.objectTypes);\n }\n\n getAllActionTypes(): OntologiesV2.ActionTypeV2[] {\n return Object.values(this.#ontology.actionTypes);\n }\n\n getAllQueryTypes(): OntologiesV2.QueryTypeV2[] {\n return Object.values(this.#ontology.queryTypes);\n }\n\n getInterfaceType(interfaceType: string): OntologiesV2.InterfaceType {\n const ret = this.#ontology.interfaceTypes[interfaceType];\n\n if (ret === undefined) {\n throw new OpenApiCallError(\n 404,\n ObjectNotFoundError(interfaceType, \"\"),\n );\n }\n\n return (\n this.#ontology.interfaceTypes[interfaceType]\n );\n }\n\n public getObjectTypeFullMetadata(\n objectTypeApiName: string,\n ): OntologiesV2.ObjectTypeFullMetadata | undefined {\n return this.#ontology.objectTypes[objectTypeApiName];\n }\n\n public getObjectTypeFullMetadataOrThrow(\n objectTypeApiName: string,\n ): OntologiesV2.ObjectTypeFullMetadata {\n const objectType = this.#ontology.objectTypes[objectTypeApiName];\n if (objectType === undefined) {\n throw new OpenApiCallError(\n 404,\n ObjectTypeDoesNotExistError(objectTypeApiName),\n );\n }\n return objectType;\n }\n\n public getActionDef(actionTypeApiName: string): OntologiesV2.ActionTypeV2 {\n const actionType = this.#ontology.actionTypes[actionTypeApiName];\n if (actionType === undefined) {\n throw new OpenApiCallError(\n 404,\n ActionNotFoundError(),\n );\n }\n return actionType;\n }\n\n public getActionImpl(actionTypeApiName: string): FauxActionImpl {\n const impl = this.#actionImpl.get(actionTypeApiName);\n invariant(impl, \"Action implementation not found for \" + actionTypeApiName);\n return impl;\n }\n\n public getQueryDef(\n queryTypeApiNameAndVersion: string,\n ): OntologiesV2.QueryTypeV2 {\n const queryType = this.#ontology\n .queryTypes[this.#convertToVersionedApiName(queryTypeApiNameAndVersion)];\n if (queryType === undefined) {\n throw new OpenApiCallError(\n 404,\n QueryNotFoundError(queryTypeApiNameAndVersion),\n );\n }\n return queryType;\n }\n\n public getQueryImpl(\n queryTypeApiName: string,\n version?: string,\n ): FauxQueryImpl {\n const versionMap = this.#queryImpl.get(queryTypeApiName);\n\n const impl = version !== undefined\n ? versionMap?.get(version)\n : versionMap?.get(semver.rsort(Array.from(versionMap.keys() ?? []))[0]);\n\n if (!impl) {\n throw new OpenApiCallError(\n 404,\n QueryNotFoundError(queryTypeApiName),\n );\n }\n invariant(impl, \"Query implementation not found for \" + queryTypeApiName);\n return impl;\n }\n\n public getInterfaceToObjectTypeMappings(\n objectApiNames: Iterable<OntologiesV2.ObjectTypeApiName>,\n ): Record<\n OntologiesV2.InterfaceTypeApiName,\n OntologiesV2.InterfaceToObjectTypeMappings\n > {\n const objectDefs = Array.from(objectApiNames).map(apiName =>\n this.getObjectTypeFullMetadataOrThrow(apiName)\n );\n\n const ifaceToObjMap: Record<\n OntologiesV2.InterfaceTypeApiName,\n OntologiesV2.InterfaceToObjectTypeMappings\n > = {};\n\n for (const objDef of objectDefs) {\n for (\n const [ifaceApiName, { properties }] of Object.entries(\n objDef.implementsInterfaces2,\n )\n ) {\n if (ifaceToObjMap[ifaceApiName] === undefined) {\n ifaceToObjMap[ifaceApiName] = {};\n }\n\n ifaceToObjMap[ifaceApiName][objDef.objectType.apiName] = properties;\n }\n }\n\n return ifaceToObjMap;\n }\n\n public getLinkTypeSideV2(\n objectTypeApiName: string,\n linkTypeName: string,\n ): OntologiesV2.LinkTypeSideV2 {\n const objectType = this.getObjectTypeFullMetadataOrThrow(objectTypeApiName);\n const linkType = objectType.linkTypes.find((a) =>\n a.apiName === linkTypeName\n );\n if (linkType === undefined) {\n throw new OpenApiCallError(\n 404,\n LinkTypeNotFound(objectTypeApiName, linkTypeName),\n );\n }\n return linkType;\n }\n\n public getOtherLinkTypeSideV2OrThrow(\n objectTypeApiName: string,\n linkTypeName: string,\n ): OntologiesV2.LinkTypeSideV2 {\n const thisSideLink = this.getLinkTypeSideV2(\n objectTypeApiName,\n linkTypeName,\n );\n const otherObj = this.getObjectTypeFullMetadataOrThrow(\n thisSideLink.objectTypeApiName,\n );\n const candidates = otherObj.linkTypes.filter(l =>\n l.linkTypeRid === thisSideLink.linkTypeRid\n );\n if (otherObj.objectType.apiName !== objectTypeApiName) {\n // if its not the same object type then there should only be one\n invariant(\n candidates.length === 1,\n \"Expected only one candidate link type\",\n );\n return candidates[0];\n }\n // if its the same object type, then this could be a link that points to itself that\n // is 1:1, many:1 or many:many. In the 1:1 case, the link could have the same name\n // and there would only be 1 entry in that case. Otherwise there should be 2 entries\n // and we want the one that doesn't match the one passed in.\n if (candidates.length === 1) {\n return candidates[0];\n }\n invariant(\n candidates.length === 2,\n \"Expected only two candidate link types\",\n );\n const candidate = candidates.find(l => l.apiName !== thisSideLink.apiName);\n invariant(\n candidate,\n \"Expected to find a candidate link type that is not the same as the one passed in\",\n );\n return candidate;\n }\n\n getBothLinkTypeSides(\n leftObjectType: string,\n leftLinkName: string,\n rightObjectType: string,\n ): [OntologiesV2.LinkTypeSideV2, OntologiesV2.LinkTypeSideV2] {\n const leftTypeSideV2 = this.getLinkTypeSideV2(\n leftObjectType,\n leftLinkName,\n );\n\n // the rhs passed in should match the target of the lhs\n invariant(rightObjectType === leftTypeSideV2.objectTypeApiName);\n\n const rightTypeSideV2 = this.getOtherLinkTypeSideV2OrThrow(\n leftObjectType,\n leftLinkName,\n );\n\n return [leftTypeSideV2, rightTypeSideV2];\n }\n\n registerObjectType<Q extends ObjectTypeDefinition>(\n def: TH_ObjectTypeFullMetadata<Q>,\n ): void;\n registerObjectType(\n def: ReadonlyDeep<OntologiesV2.ObjectTypeFullMetadata>,\n ): void;\n registerObjectType<Q extends ObjectTypeDefinition>(\n def:\n | TH_ObjectTypeFullMetadata<Q>\n | OntologiesV2.ObjectTypeFullMetadata,\n ): void {\n if (def.objectType.apiName in this.#ontology.objectTypes) {\n throw new Error(\n `ObjectType ${def.objectType.apiName} already registered`,\n );\n }\n this.#ontology.objectTypes[def.objectType.apiName] = def;\n }\n\n registerActionType<Q extends OntologiesV2.ActionTypeV2>(\n def: Q,\n implementation?: FauxActionImpl<Q>,\n ): void;\n registerActionType(\n def: OntologiesV2.ActionTypeV2,\n implementation?: FauxActionImpl,\n ): void;\n registerActionType(\n def: OntologiesV2.ActionTypeV2,\n implementation?: FauxActionImpl,\n ): void {\n if (def.apiName in this.#ontology.actionTypes) {\n throw new Error(\n `ActionType ${def.apiName} already registered`,\n );\n }\n this.#ontology.actionTypes[def.apiName] = def;\n if (implementation) {\n this.#actionImpl.set(def.apiName, implementation);\n }\n }\n\n registerQueryType(\n def: OntologiesV2.QueryTypeV2,\n implementation?: FauxQueryImpl,\n ): void {\n if (`${def.apiName}:${def.version}` in this.#ontology.queryTypes) {\n throw new Error(\n `QueryType ${def.apiName} already registered`,\n );\n }\n this.#ontology\n .queryTypes[\n `${def.apiName}:${def.version}` as VersionedQueryTypeApiName\n ] = def;\n if (implementation) {\n if (!this.#queryImpl.has(def.apiName)) {\n this.#queryImpl.set(def.apiName, new Map());\n }\n if (!valid(def.version)) {\n throw new Error(\n `QueryType ${def.apiName} version ${def.version} is not semver valid`,\n );\n }\n this.#queryImpl.get(def.apiName)?.set(\n def.version,\n implementation,\n );\n }\n }\n\n registerInterfaceType(def: OntologiesV2.InterfaceType): void {\n if (def.apiName in this.#ontology.interfaceTypes) {\n throw new Error(\n `InterfaceType ${def.apiName} already registered`,\n );\n }\n this.#ontology.interfaceTypes[def.apiName] = def;\n }\n\n registerSharedPropertyType(def: OntologiesV2.SharedPropertyType): void {\n if (def.apiName in this.#ontology.sharedPropertyTypes) {\n throw new Error(\n `SharedPropertyType ${def.apiName} already registered`,\n );\n }\n this.#ontology.sharedPropertyTypes[def.apiName] = def;\n }\n\n #getFilteredQueryTypes(request: LoadOntologyMetadataRequest): Record<\n OntologiesV2.QueryApiName,\n OntologiesV2.QueryTypeV2\n > {\n const remappedQueryTypes = request.queryTypes.map(x =>\n this.#convertToVersionedApiName(x)\n );\n return Object.fromEntries(\n Object.entries(this.#ontology.queryTypes).filter((\n [queryTypeApiName],\n ) => remappedQueryTypes.includes(queryTypeApiName)).map((\n [queryTypeApiName, queryTypeDefinition],\n ) => [\n request.queryTypes[remappedQueryTypes.indexOf(queryTypeApiName)],\n queryTypeDefinition,\n ]),\n );\n }\n\n #convertToVersionedApiName(\n apiName: string,\n ): VersionedQueryTypeApiName {\n // If a query is requested without a version, we remap it to include a versioned api name with the latest version\n if (extractVersion(apiName) !== undefined) {\n return apiName as VersionedQueryTypeApiName;\n }\n const version = semver.rsort(\n Object.keys(this.#ontology.queryTypes).filter(\n queryTypeApiName => queryTypeApiName.split(\":\")[0] === apiName,\n ).map(x => extractVersion(x)),\n )[0];\n return `${apiName}:${version}`;\n }\n}\n\nfunction filterRecord<T>(\n record: Record<string, T>,\n keys: string[],\n): Record<string, T> {\n return Object.fromEntries(\n Object.entries(record).filter(([key]) => keys.includes(key)),\n );\n}\n\nfunction extractVersion(\n apiName: string,\n): string {\n return apiName.split(\":\")[1];\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -75,6 +75,14 @@ export function getObjectsFromSet(ds, objectSet, methodInput) {
|
|
|
75
75
|
return ret;
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
|
+
case "interfaceLinkSearchAround":
|
|
79
|
+
{
|
|
80
|
+
const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);
|
|
81
|
+
return base.flatMap(o => {
|
|
82
|
+
const ret = ds.getLinksOrThrow(o.__apiName, o.__primaryKey, objectSet.interfaceLink);
|
|
83
|
+
return ret;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
78
86
|
case "static":
|
|
79
87
|
{
|
|
80
88
|
return objectSet.objects.map(x => ds.getObjectByRid(x)).filter(x => x != null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getObjectsFromSet.js","names":["invariant","filterObjects","getObjectsFromSet","ds","objectSet","methodInput","type","ret","Array","from","getObjectsOfType","objectType","base","where","set","Set","objSet","objectSets","objects","obj","add","i","length","toSubtract","delete","toIntersect","match","find","x","__apiName","__primaryKey","flatMap","o","getLinksOrThrow","link","map","getObjectByRid","filter","derivedProperties","extra","Object","fromEntries","entries","k","v","getDerivedPropertyValue","process","env","NODE_ENV","Error","JSON","stringify","relevantObjectTypes","ontology","getAllObjectTypes","interfaceType","implementsInterfaces2","apiName","objDef","getObjectTypeFullMetadataOrThrow","ifaceMap","$propsToReturn","includeAllBaseObjectProperties","values","properties","propApiName","objToInterface","numNeighbors","slice","iface","getInterfaceType","propMap","__rid","__title","sptApiName","def","getDerivedPropertySelection","operation","objs","selectedPropertyApiName","toString","createOrderBySortFn","orderBy","fns","fields","field","direction","a","b","aValue","bValue","m","sortFn"],"sources":["getObjectsFromSet.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 * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport type { BaseServerObject } from \"./BaseServerObject.js\";\nimport type { FauxDataStore } from \"./FauxDataStore.js\";\nimport { filterObjects } from \"./filterObjects.js\";\n\nexport function getObjectsFromSet(\n ds: FauxDataStore,\n objectSet: OntologiesV2.ObjectSet,\n methodInput: BaseServerObject | undefined,\n): Array<BaseServerObject> {\n switch (objectSet.type) {\n case \"base\":\n const ret = Array.from(ds.getObjectsOfType(objectSet.objectType));\n return ret;\n\n case \"filter\": {\n const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);\n return filterObjects(\n base,\n objectSet.where,\n );\n }\n\n case \"union\": {\n const set = new Set<BaseServerObject>();\n for (const objSet of objectSet.objectSets) {\n const objects = getObjectsFromSet(ds, objSet, methodInput);\n for (const obj of objects) {\n set.add(obj);\n }\n }\n return Array.from(set);\n }\n\n case \"subtract\": {\n const set = new Set<BaseServerObject>(\n getObjectsFromSet(ds, objectSet.objectSets[0], methodInput),\n );\n for (let i = 1; i < objectSet.objectSets.length; i++) {\n const toSubtract = getObjectsFromSet(\n ds,\n objectSet.objectSets[i],\n methodInput,\n );\n for (const obj of toSubtract) {\n set.delete(obj);\n }\n }\n return Array.from(set);\n }\n\n case \"intersect\": {\n const set = new Set<BaseServerObject>(\n getObjectsFromSet(ds, objectSet.objectSets[0], methodInput),\n );\n for (let i = 1; i < objectSet.objectSets.length; i++) {\n const toIntersect = getObjectsFromSet(\n ds,\n objectSet.objectSets[i],\n methodInput,\n );\n for (const obj of set) {\n const match = toIntersect.find(x =>\n x.__apiName === obj.__apiName\n && x.__primaryKey === obj.__primaryKey\n );\n\n if (!match) {\n set.delete(obj);\n } else if (obj[\"$propsToReturn\"] || match[\"$propsToReturn\"]) {\n obj[\"$propsToReturn\"] = {\n ...obj[\"$propsToReturn\"],\n ...match[\"$propsToReturn\"],\n };\n }\n }\n }\n return Array.from(set);\n }\n\n case \"searchAround\": {\n const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);\n return base.flatMap(o => {\n const ret = ds.getLinksOrThrow(\n o.__apiName,\n o.__primaryKey,\n objectSet.link,\n );\n return ret;\n });\n }\n\n case \"static\": {\n return objectSet.objects.map(x => ds.getObjectByRid(x)).filter(x =>\n x != null\n );\n }\n\n case \"withProperties\": {\n const { derivedProperties } = objectSet;\n\n const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);\n return base.map(obj => {\n const extra = Object.fromEntries(\n Object.entries(derivedProperties).map(([k, v]) => {\n return [k, getDerivedPropertyValue(ds, obj, v)];\n }),\n );\n\n return { ...obj, ...extra };\n });\n }\n\n case \"methodInput\":\n invariant(methodInput, \"expected a methodInput\");\n return [methodInput];\n\n case \"asBaseObjectTypes\":\n throw new Error(\n `Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`,\n );\n\n case \"asType\":\n throw new Error(\n `Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`,\n );\n\n case \"interfaceBase\":\n const relevantObjectTypes = ds\n .ontology\n .getAllObjectTypes().filter(x =>\n objectSet.interfaceType in x.implementsInterfaces2\n );\n\n // const ifaceDef = ds.ontology.getInterfaceType(objectTypeWithAllPropertyTypes);\n\n return relevantObjectTypes.flatMap(x =>\n Array.from(ds.getObjectsOfType(x.objectType.apiName))\n ).map(obj => {\n const objDef = ds.ontology.getObjectTypeFullMetadataOrThrow(\n obj.__apiName,\n );\n const ifaceMap = objDef.implementsInterfaces2[objectSet.interfaceType];\n const $propsToReturn = objectSet.includeAllBaseObjectProperties\n ? obj\n : Object.fromEntries(\n Object.values(ifaceMap.properties).map(\n (propApiName) => [propApiName, obj[propApiName]],\n ),\n );\n\n return ({\n ...objToInterface(ds, obj, objectSet.interfaceType),\n $propsToReturn,\n });\n });\n\n // This does not mimic KNN, it just returns `numNeighbors` objects\n case \"nearestNeighbors\":\n const { numNeighbors } = objectSet;\n const set = getObjectsFromSet(ds, objectSet.objectSet, methodInput);\n return set.slice(0, numNeighbors);\n\n case \"reference\":\n throw new Error(\n `Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`,\n );\n }\n\n throw new Error(\n `Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`,\n );\n}\n\nfunction objToInterface(\n ds: FauxDataStore,\n o: BaseServerObject,\n iface: OntologiesV2.InterfaceTypeApiName,\n): BaseServerObject {\n const ifaceDef = ds.ontology.getInterfaceType(iface);\n const propMap = ds.ontology\n .getObjectTypeFullMetadataOrThrow(o.__apiName)\n .implementsInterfaces2[iface].properties;\n\n const { __apiName, __primaryKey, __rid, __title } = o;\n\n const ret: BaseServerObject = {\n __apiName,\n __primaryKey,\n __rid,\n __title,\n };\n for (const [sptApiName, propApiName] of Object.entries(propMap)) {\n ret[sptApiName] = o[propApiName];\n }\n return ret;\n}\n\nexport function getDerivedPropertyValue(\n ds: FauxDataStore,\n obj: BaseServerObject,\n def: OntologiesV2.DerivedPropertyDefinition,\n): any {\n switch (def.type) {\n case \"selection\": {\n return getDerivedPropertySelection(ds, obj, def);\n }\n }\n throw new Error(\n `Unhandled derived property type ${def.type} in ${JSON.stringify(def)}`,\n );\n // return obj[property.propertyIdentifier];\n}\n\nfunction getDerivedPropertySelection(\n ds: FauxDataStore,\n obj: BaseServerObject,\n { operation, objectSet }: OntologiesV2.SelectedPropertyExpression,\n) {\n switch (operation.type) {\n case \"get\": {\n const objs = getObjectsFromSet(ds, objectSet, obj);\n if (objs.length > 1) {\n throw new Error(\"Cannot get more than one object from a set\");\n }\n return objs[0]?.[operation.selectedPropertyApiName];\n }\n case \"collectList\": {\n const objs = getObjectsFromSet(ds, objectSet, obj);\n return objs.map(o => o[operation.selectedPropertyApiName]);\n }\n case \"collectSet\": {\n const objs = getObjectsFromSet(ds, objectSet, obj);\n return Array.from(\n new Set(objs.map(o => o[operation.selectedPropertyApiName])),\n );\n }\n case \"count\": {\n const objs = getObjectsFromSet(ds, objectSet, obj);\n return objs.length.toString();\n }\n }\n}\n\nexport function createOrderBySortFn(\n orderBy: OntologiesV2.SearchOrderByV2,\n) {\n const fns = orderBy.fields.map(({ field, direction }) => {\n return (\n a: BaseServerObject | undefined,\n b: BaseServerObject | undefined,\n ): number => {\n const aValue = a?.[field];\n const bValue = b?.[field];\n\n if (aValue == null && bValue == null) {\n return 0;\n }\n if (aValue == null) {\n return 1;\n }\n if (bValue == null) {\n return -1;\n }\n const m = direction === \"asc\" ? -1 : 1;\n return aValue < bValue ? m : aValue > bValue ? -m : 0;\n };\n });\n\n return (\n a: BaseServerObject | undefined,\n b: BaseServerObject | undefined,\n ): number => {\n for (const sortFn of fns) {\n const ret = sortFn(a, b);\n if (ret !== 0) {\n return ret;\n }\n }\n return 0;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"getObjectsFromSet.js","names":["invariant","filterObjects","getObjectsFromSet","ds","objectSet","methodInput","type","ret","Array","from","getObjectsOfType","objectType","base","where","set","Set","objSet","objectSets","objects","obj","add","i","length","toSubtract","delete","toIntersect","match","find","x","__apiName","__primaryKey","flatMap","o","getLinksOrThrow","link","interfaceLink","map","getObjectByRid","filter","derivedProperties","extra","Object","fromEntries","entries","k","v","getDerivedPropertyValue","process","env","NODE_ENV","Error","JSON","stringify","relevantObjectTypes","ontology","getAllObjectTypes","interfaceType","implementsInterfaces2","apiName","objDef","getObjectTypeFullMetadataOrThrow","ifaceMap","$propsToReturn","includeAllBaseObjectProperties","values","properties","propApiName","objToInterface","numNeighbors","slice","iface","getInterfaceType","propMap","__rid","__title","sptApiName","def","getDerivedPropertySelection","operation","objs","selectedPropertyApiName","toString","createOrderBySortFn","orderBy","fns","fields","field","direction","a","b","aValue","bValue","m","sortFn"],"sources":["getObjectsFromSet.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 * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport type { BaseServerObject } from \"./BaseServerObject.js\";\nimport type { FauxDataStore } from \"./FauxDataStore.js\";\nimport { filterObjects } from \"./filterObjects.js\";\n\nexport function getObjectsFromSet(\n ds: FauxDataStore,\n objectSet: OntologiesV2.ObjectSet,\n methodInput: BaseServerObject | undefined,\n): Array<BaseServerObject> {\n switch (objectSet.type) {\n case \"base\":\n const ret = Array.from(ds.getObjectsOfType(objectSet.objectType));\n return ret;\n\n case \"filter\": {\n const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);\n return filterObjects(\n base,\n objectSet.where,\n );\n }\n\n case \"union\": {\n const set = new Set<BaseServerObject>();\n for (const objSet of objectSet.objectSets) {\n const objects = getObjectsFromSet(ds, objSet, methodInput);\n for (const obj of objects) {\n set.add(obj);\n }\n }\n return Array.from(set);\n }\n\n case \"subtract\": {\n const set = new Set<BaseServerObject>(\n getObjectsFromSet(ds, objectSet.objectSets[0], methodInput),\n );\n for (let i = 1; i < objectSet.objectSets.length; i++) {\n const toSubtract = getObjectsFromSet(\n ds,\n objectSet.objectSets[i],\n methodInput,\n );\n for (const obj of toSubtract) {\n set.delete(obj);\n }\n }\n return Array.from(set);\n }\n\n case \"intersect\": {\n const set = new Set<BaseServerObject>(\n getObjectsFromSet(ds, objectSet.objectSets[0], methodInput),\n );\n for (let i = 1; i < objectSet.objectSets.length; i++) {\n const toIntersect = getObjectsFromSet(\n ds,\n objectSet.objectSets[i],\n methodInput,\n );\n for (const obj of set) {\n const match = toIntersect.find(x =>\n x.__apiName === obj.__apiName\n && x.__primaryKey === obj.__primaryKey\n );\n\n if (!match) {\n set.delete(obj);\n } else if (obj[\"$propsToReturn\"] || match[\"$propsToReturn\"]) {\n obj[\"$propsToReturn\"] = {\n ...obj[\"$propsToReturn\"],\n ...match[\"$propsToReturn\"],\n };\n }\n }\n }\n return Array.from(set);\n }\n\n case \"searchAround\": {\n const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);\n return base.flatMap(o => {\n const ret = ds.getLinksOrThrow(\n o.__apiName,\n o.__primaryKey,\n objectSet.link,\n );\n return ret;\n });\n }\n\n case \"interfaceLinkSearchAround\": {\n const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);\n return base.flatMap(o => {\n const ret = ds.getLinksOrThrow(\n o.__apiName,\n o.__primaryKey,\n objectSet.interfaceLink,\n );\n return ret;\n });\n }\n\n case \"static\": {\n return objectSet.objects.map(x => ds.getObjectByRid(x)).filter(x =>\n x != null\n );\n }\n\n case \"withProperties\": {\n const { derivedProperties } = objectSet;\n\n const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);\n return base.map(obj => {\n const extra = Object.fromEntries(\n Object.entries(derivedProperties).map(([k, v]) => {\n return [k, getDerivedPropertyValue(ds, obj, v)];\n }),\n );\n\n return { ...obj, ...extra };\n });\n }\n\n case \"methodInput\":\n invariant(methodInput, \"expected a methodInput\");\n return [methodInput];\n\n case \"asBaseObjectTypes\":\n throw new Error(\n `Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`,\n );\n\n case \"asType\":\n throw new Error(\n `Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`,\n );\n\n case \"interfaceBase\":\n const relevantObjectTypes = ds\n .ontology\n .getAllObjectTypes().filter(x =>\n objectSet.interfaceType in x.implementsInterfaces2\n );\n\n // const ifaceDef = ds.ontology.getInterfaceType(objectTypeWithAllPropertyTypes);\n\n return relevantObjectTypes.flatMap(x =>\n Array.from(ds.getObjectsOfType(x.objectType.apiName))\n ).map(obj => {\n const objDef = ds.ontology.getObjectTypeFullMetadataOrThrow(\n obj.__apiName,\n );\n const ifaceMap = objDef.implementsInterfaces2[objectSet.interfaceType];\n const $propsToReturn = objectSet.includeAllBaseObjectProperties\n ? obj\n : Object.fromEntries(\n Object.values(ifaceMap.properties).map(\n (propApiName) => [propApiName, obj[propApiName]],\n ),\n );\n\n return ({\n ...objToInterface(ds, obj, objectSet.interfaceType),\n $propsToReturn,\n });\n });\n\n // This does not mimic KNN, it just returns `numNeighbors` objects\n case \"nearestNeighbors\":\n const { numNeighbors } = objectSet;\n const set = getObjectsFromSet(ds, objectSet.objectSet, methodInput);\n return set.slice(0, numNeighbors);\n\n case \"reference\":\n throw new Error(\n `Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`,\n );\n }\n\n throw new Error(\n `Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`,\n );\n}\n\nfunction objToInterface(\n ds: FauxDataStore,\n o: BaseServerObject,\n iface: OntologiesV2.InterfaceTypeApiName,\n): BaseServerObject {\n const ifaceDef = ds.ontology.getInterfaceType(iface);\n const propMap = ds.ontology\n .getObjectTypeFullMetadataOrThrow(o.__apiName)\n .implementsInterfaces2[iface].properties;\n\n const { __apiName, __primaryKey, __rid, __title } = o;\n\n const ret: BaseServerObject = {\n __apiName,\n __primaryKey,\n __rid,\n __title,\n };\n for (const [sptApiName, propApiName] of Object.entries(propMap)) {\n ret[sptApiName] = o[propApiName];\n }\n return ret;\n}\n\nexport function getDerivedPropertyValue(\n ds: FauxDataStore,\n obj: BaseServerObject,\n def: OntologiesV2.DerivedPropertyDefinition,\n): any {\n switch (def.type) {\n case \"selection\": {\n return getDerivedPropertySelection(ds, obj, def);\n }\n }\n throw new Error(\n `Unhandled derived property type ${def.type} in ${JSON.stringify(def)}`,\n );\n // return obj[property.propertyIdentifier];\n}\n\nfunction getDerivedPropertySelection(\n ds: FauxDataStore,\n obj: BaseServerObject,\n { operation, objectSet }: OntologiesV2.SelectedPropertyExpression,\n) {\n switch (operation.type) {\n case \"get\": {\n const objs = getObjectsFromSet(ds, objectSet, obj);\n if (objs.length > 1) {\n throw new Error(\"Cannot get more than one object from a set\");\n }\n return objs[0]?.[operation.selectedPropertyApiName];\n }\n case \"collectList\": {\n const objs = getObjectsFromSet(ds, objectSet, obj);\n return objs.map(o => o[operation.selectedPropertyApiName]);\n }\n case \"collectSet\": {\n const objs = getObjectsFromSet(ds, objectSet, obj);\n return Array.from(\n new Set(objs.map(o => o[operation.selectedPropertyApiName])),\n );\n }\n case \"count\": {\n const objs = getObjectsFromSet(ds, objectSet, obj);\n return objs.length.toString();\n }\n }\n}\n\nexport function createOrderBySortFn(\n orderBy: OntologiesV2.SearchOrderByV2,\n) {\n const fns = orderBy.fields.map(({ field, direction }) => {\n return (\n a: BaseServerObject | undefined,\n b: BaseServerObject | undefined,\n ): number => {\n const aValue = a?.[field];\n const bValue = b?.[field];\n\n if (aValue == null && bValue == null) {\n return 0;\n }\n if (aValue == null) {\n return 1;\n }\n if (bValue == null) {\n return -1;\n }\n const m = direction === \"asc\" ? -1 : 1;\n return aValue < bValue ? m : aValue > bValue ? -m : 0;\n };\n });\n\n return (\n a: BaseServerObject | undefined,\n b: BaseServerObject | undefined,\n ): number => {\n for (const sortFn of fns) {\n const ret = sortFn(a, b);\n if (ret !== 0) {\n return ret;\n }\n }\n return 0;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
package/build/cjs/index.cjs
CHANGED
|
@@ -763,6 +763,13 @@ function getObjectsFromSet(ds, objectSet, methodInput) {
|
|
|
763
763
|
return ret2;
|
|
764
764
|
});
|
|
765
765
|
}
|
|
766
|
+
case "interfaceLinkSearchAround": {
|
|
767
|
+
const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);
|
|
768
|
+
return base.flatMap((o) => {
|
|
769
|
+
const ret2 = ds.getLinksOrThrow(o.__apiName, o.__primaryKey, objectSet.interfaceLink);
|
|
770
|
+
return ret2;
|
|
771
|
+
});
|
|
772
|
+
}
|
|
766
773
|
case "static": {
|
|
767
774
|
return objectSet.objects.map((x) => ds.getObjectByRid(x)).filter((x) => x != null);
|
|
768
775
|
}
|
|
@@ -1670,7 +1677,7 @@ __export(Actions_exports, {
|
|
|
1670
1677
|
applyBatch: () => applyBatch2
|
|
1671
1678
|
});
|
|
1672
1679
|
|
|
1673
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
1680
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Action.js
|
|
1674
1681
|
var Action_exports = {};
|
|
1675
1682
|
__export(Action_exports, {
|
|
1676
1683
|
apply: () => apply,
|
|
@@ -1712,7 +1719,7 @@ var UnknownError = class extends PalantirApiError {
|
|
|
1712
1719
|
}
|
|
1713
1720
|
};
|
|
1714
1721
|
|
|
1715
|
-
// ../../node_modules/.pnpm/@osdk+shared.net.platformapi@1.
|
|
1722
|
+
// ../../node_modules/.pnpm/@osdk+shared.net.platformapi@1.4.0/node_modules/@osdk/shared.net.platformapi/build/esm/foundryPlatformFetch.js
|
|
1716
1723
|
async function foundryPlatformFetch(client, [httpMethodNum, origPath, flags, contentType, responseContentType], ...args) {
|
|
1717
1724
|
const path = origPath.replace(/\{([^}]+)\}/g, () => encodeURIComponent(args.shift()));
|
|
1718
1725
|
const body = flags & 1 ? args.shift() : void 0;
|
|
@@ -1739,7 +1746,11 @@ async function apiFetch(clientCtx, method, endpointPath, data, queryArguments, h
|
|
|
1739
1746
|
headersInit.set("Content-Type", requestMediaType ?? "application/json");
|
|
1740
1747
|
headersInit.set("Accept", responseMediaType ?? "application/json");
|
|
1741
1748
|
Object.entries(headers || {}).forEach(([key, value]) => {
|
|
1742
|
-
if (value
|
|
1749
|
+
if (key === "Content-Type" && typeof value === "string") {
|
|
1750
|
+
headersInit.set("Content-Type", value);
|
|
1751
|
+
} else if (key === "Accept" && typeof value === "string") {
|
|
1752
|
+
headersInit.set("Accept", value);
|
|
1753
|
+
} else if (value != null) {
|
|
1743
1754
|
headersInit.append(key, value.toString());
|
|
1744
1755
|
}
|
|
1745
1756
|
});
|
|
@@ -1773,7 +1784,7 @@ function parseUrl(baseUrl, endpointPath) {
|
|
|
1773
1784
|
return new URL(`api${endpointPath}`, baseUrl);
|
|
1774
1785
|
}
|
|
1775
1786
|
|
|
1776
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
1787
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Action.js
|
|
1777
1788
|
var _apply = [1, "/v2/ontologies/{0}/actions/{1}/apply", 3];
|
|
1778
1789
|
function apply($ctx, ...args) {
|
|
1779
1790
|
return foundryPlatformFetch($ctx, _apply, ...args);
|
|
@@ -1787,7 +1798,7 @@ function applyBatch($ctx, ...args) {
|
|
|
1787
1798
|
return foundryPlatformFetch($ctx, _applyBatch, ...args);
|
|
1788
1799
|
}
|
|
1789
1800
|
|
|
1790
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
1801
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/ActionTypeV2.js
|
|
1791
1802
|
var ActionTypeV2_exports = {};
|
|
1792
1803
|
__export(ActionTypeV2_exports, {
|
|
1793
1804
|
get: () => get,
|
|
@@ -1807,7 +1818,7 @@ function getByRid($ctx, ...args) {
|
|
|
1807
1818
|
return foundryPlatformFetch($ctx, _getByRid, ...args);
|
|
1808
1819
|
}
|
|
1809
1820
|
|
|
1810
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
1821
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Attachment.js
|
|
1811
1822
|
var Attachment_exports = {};
|
|
1812
1823
|
__export(Attachment_exports, {
|
|
1813
1824
|
get: () => get2,
|
|
@@ -1832,7 +1843,7 @@ function get2($ctx, ...args) {
|
|
|
1832
1843
|
return foundryPlatformFetch($ctx, _get2, ...args);
|
|
1833
1844
|
}
|
|
1834
1845
|
|
|
1835
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
1846
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/AttachmentPropertyV2.js
|
|
1836
1847
|
var AttachmentPropertyV2_exports = {};
|
|
1837
1848
|
__export(AttachmentPropertyV2_exports, {
|
|
1838
1849
|
getAttachment: () => getAttachment,
|
|
@@ -1857,7 +1868,7 @@ function readAttachmentByRid($ctx, ...args) {
|
|
|
1857
1868
|
return foundryPlatformFetch($ctx, _readAttachmentByRid, ...args);
|
|
1858
1869
|
}
|
|
1859
1870
|
|
|
1860
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
1871
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/LinkedObjectV2.js
|
|
1861
1872
|
var LinkedObjectV2_exports = {};
|
|
1862
1873
|
__export(LinkedObjectV2_exports, {
|
|
1863
1874
|
getLinkedObject: () => getLinkedObject,
|
|
@@ -1872,7 +1883,7 @@ function getLinkedObject($ctx, ...args) {
|
|
|
1872
1883
|
return foundryPlatformFetch($ctx, _getLinkedObject, ...args);
|
|
1873
1884
|
}
|
|
1874
1885
|
|
|
1875
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
1886
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/MediaReferenceProperty.js
|
|
1876
1887
|
var MediaReferenceProperty_exports = {};
|
|
1877
1888
|
__export(MediaReferenceProperty_exports, {
|
|
1878
1889
|
getMediaContent: () => getMediaContent,
|
|
@@ -1897,7 +1908,7 @@ function uploadMedia($ctx, ...args) {
|
|
|
1897
1908
|
return foundryPlatformFetch($ctx, _uploadMedia, ...args);
|
|
1898
1909
|
}
|
|
1899
1910
|
|
|
1900
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
1911
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/ObjectTypeV2.js
|
|
1901
1912
|
var ObjectTypeV2_exports = {};
|
|
1902
1913
|
__export(ObjectTypeV2_exports, {
|
|
1903
1914
|
get: () => get3,
|
|
@@ -1927,12 +1938,14 @@ function getOutgoingLinkType($ctx, ...args) {
|
|
|
1927
1938
|
return foundryPlatformFetch($ctx, _getOutgoingLinkType, ...args);
|
|
1928
1939
|
}
|
|
1929
1940
|
|
|
1930
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
1941
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyInterface.js
|
|
1931
1942
|
var OntologyInterface_exports = {};
|
|
1932
1943
|
__export(OntologyInterface_exports, {
|
|
1933
1944
|
aggregate: () => aggregate,
|
|
1934
1945
|
get: () => get4,
|
|
1946
|
+
getOutgoingInterfaceLinkType: () => getOutgoingInterfaceLinkType,
|
|
1935
1947
|
list: () => list3,
|
|
1948
|
+
listOutgoingInterfaceLinkTypes: () => listOutgoingInterfaceLinkTypes,
|
|
1936
1949
|
search: () => search
|
|
1937
1950
|
});
|
|
1938
1951
|
var _list3 = [0, "/v2/ontologies/{0}/interfaceTypes", 2];
|
|
@@ -1951,8 +1964,16 @@ var _aggregate = [1, "/v2/ontologies/{0}/interfaces/{1}/aggregate", 3];
|
|
|
1951
1964
|
function aggregate($ctx, ...args) {
|
|
1952
1965
|
return foundryPlatformFetch($ctx, _aggregate, ...args);
|
|
1953
1966
|
}
|
|
1967
|
+
var _listOutgoingInterfaceLinkTypes = [0, "/v2/ontologies/{0}/interfaceTypes/{1}/outgoingLinkTypes", 2];
|
|
1968
|
+
function listOutgoingInterfaceLinkTypes($ctx, ...args) {
|
|
1969
|
+
return foundryPlatformFetch($ctx, _listOutgoingInterfaceLinkTypes, ...args);
|
|
1970
|
+
}
|
|
1971
|
+
var _getOutgoingInterfaceLinkType = [0, "/v2/ontologies/{0}/interfaceTypes/{1}/outgoingLinkTypes/{2}", 2];
|
|
1972
|
+
function getOutgoingInterfaceLinkType($ctx, ...args) {
|
|
1973
|
+
return foundryPlatformFetch($ctx, _getOutgoingInterfaceLinkType, ...args);
|
|
1974
|
+
}
|
|
1954
1975
|
|
|
1955
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
1976
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyObjectSet.js
|
|
1956
1977
|
var OntologyObjectSet_exports = {};
|
|
1957
1978
|
__export(OntologyObjectSet_exports, {
|
|
1958
1979
|
aggregate: () => aggregate2,
|
|
@@ -1987,7 +2008,7 @@ function aggregate2($ctx, ...args) {
|
|
|
1987
2008
|
return foundryPlatformFetch($ctx, _aggregate2, ...args);
|
|
1988
2009
|
}
|
|
1989
2010
|
|
|
1990
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
2011
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyObjectV2.js
|
|
1991
2012
|
var OntologyObjectV2_exports = {};
|
|
1992
2013
|
__export(OntologyObjectV2_exports, {
|
|
1993
2014
|
aggregate: () => aggregate3,
|
|
@@ -2017,7 +2038,7 @@ function aggregate3($ctx, ...args) {
|
|
|
2017
2038
|
return foundryPlatformFetch($ctx, _aggregate3, ...args);
|
|
2018
2039
|
}
|
|
2019
2040
|
|
|
2020
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
2041
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyV2.js
|
|
2021
2042
|
var OntologyV2_exports = {};
|
|
2022
2043
|
__export(OntologyV2_exports, {
|
|
2023
2044
|
get: () => get7,
|
|
@@ -2042,7 +2063,7 @@ function loadMetadata($ctx, ...args) {
|
|
|
2042
2063
|
return foundryPlatformFetch($ctx, _loadMetadata, ...args);
|
|
2043
2064
|
}
|
|
2044
2065
|
|
|
2045
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
2066
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Query.js
|
|
2046
2067
|
var Query_exports = {};
|
|
2047
2068
|
__export(Query_exports, {
|
|
2048
2069
|
execute: () => execute
|
|
@@ -2052,7 +2073,7 @@ function execute($ctx, ...args) {
|
|
|
2052
2073
|
return foundryPlatformFetch($ctx, _execute, ...args);
|
|
2053
2074
|
}
|
|
2054
2075
|
|
|
2055
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
2076
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/QueryType.js
|
|
2056
2077
|
var QueryType_exports = {};
|
|
2057
2078
|
__export(QueryType_exports, {
|
|
2058
2079
|
get: () => get8,
|
|
@@ -2067,7 +2088,7 @@ function get8($ctx, ...args) {
|
|
|
2067
2088
|
return foundryPlatformFetch($ctx, _get8, ...args);
|
|
2068
2089
|
}
|
|
2069
2090
|
|
|
2070
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
2091
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/TimeSeriesPropertyV2.js
|
|
2071
2092
|
var TimeSeriesPropertyV2_exports = {};
|
|
2072
2093
|
__export(TimeSeriesPropertyV2_exports, {
|
|
2073
2094
|
getFirstPoint: () => getFirstPoint,
|
|
@@ -2087,7 +2108,7 @@ function streamPoints($ctx, ...args) {
|
|
|
2087
2108
|
return foundryPlatformFetch($ctx, _streamPoints, ...args);
|
|
2088
2109
|
}
|
|
2089
2110
|
|
|
2090
|
-
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.
|
|
2111
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.25.0/node_modules/@osdk/foundry.ontologies/build/esm/public/TimeSeriesValueBankProperty.js
|
|
2091
2112
|
var TimeSeriesValueBankProperty_exports = {};
|
|
2092
2113
|
__export(TimeSeriesValueBankProperty_exports, {
|
|
2093
2114
|
getLatestValue: () => getLatestValue,
|
|
@@ -3015,7 +3036,7 @@ var FauxOntology = class {
|
|
|
3015
3036
|
if (extractVersion(apiName) !== void 0) {
|
|
3016
3037
|
return apiName;
|
|
3017
3038
|
}
|
|
3018
|
-
const version = semver__default.default.rsort(Object.keys(this.#ontology.queryTypes).filter((queryTypeApiName) => queryTypeApiName.
|
|
3039
|
+
const version = semver__default.default.rsort(Object.keys(this.#ontology.queryTypes).filter((queryTypeApiName) => queryTypeApiName.split(":")[0] === apiName).map((x) => extractVersion(x)))[0];
|
|
3019
3040
|
return `${apiName}:${version}`;
|
|
3020
3041
|
}
|
|
3021
3042
|
};
|