industrial-model 0.11.2 → 0.11.3
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/dist/cli/index.cjs +72 -21
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cognite-core/index.cjs +40 -0
- package/dist/cognite-core/index.cjs.map +1 -1
- package/dist/cognite-core/index.js +40 -0
- package/dist/cognite-core/index.js.map +1 -1
- package/dist/index.cjs +40 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -17,6 +17,11 @@ var CogniteSdkAdapter = class {
|
|
|
17
17
|
}))
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
+
async retrieveViews(ids) {
|
|
21
|
+
const cleanIds = ids.map(({ space, externalId, version }) => ({ space, externalId, version }));
|
|
22
|
+
const response = await this.client.views.retrieve(cleanIds);
|
|
23
|
+
return { items: response.items };
|
|
24
|
+
}
|
|
20
25
|
async queryInstances(request) {
|
|
21
26
|
const response = await this.client.instances.query(
|
|
22
27
|
request
|
|
@@ -2033,9 +2038,44 @@ var ViewMapper = class {
|
|
|
2033
2038
|
for (const view of dm.views ?? []) {
|
|
2034
2039
|
views.set(view.externalId, view);
|
|
2035
2040
|
}
|
|
2041
|
+
await this.loadDependencyViews(views);
|
|
2036
2042
|
return views;
|
|
2037
2043
|
}
|
|
2044
|
+
async loadDependencyViews(views) {
|
|
2045
|
+
const pending = /* @__PURE__ */ new Map();
|
|
2046
|
+
for (const view of views.values()) {
|
|
2047
|
+
for (const property of Object.values(view.properties)) {
|
|
2048
|
+
for (const ref of collectPropertyRefs(property)) {
|
|
2049
|
+
if (!views.has(ref.externalId) && !pending.has(ref.externalId)) {
|
|
2050
|
+
pending.set(ref.externalId, ref);
|
|
2051
|
+
}
|
|
2052
|
+
}
|
|
2053
|
+
}
|
|
2054
|
+
}
|
|
2055
|
+
if (pending.size === 0) return;
|
|
2056
|
+
const sizeBefore = views.size;
|
|
2057
|
+
const fetched = await this.cognite.retrieveViews(Array.from(pending.values()));
|
|
2058
|
+
for (const view of fetched.items) {
|
|
2059
|
+
views.set(view.externalId, view);
|
|
2060
|
+
}
|
|
2061
|
+
if (views.size > sizeBefore) {
|
|
2062
|
+
await this.loadDependencyViews(views);
|
|
2063
|
+
}
|
|
2064
|
+
}
|
|
2038
2065
|
};
|
|
2066
|
+
function collectPropertyRefs(property) {
|
|
2067
|
+
if (isViewPropertyDefinition(property)) {
|
|
2068
|
+
const source = getDirectRelationSource(property);
|
|
2069
|
+
return source ? [source] : [];
|
|
2070
|
+
}
|
|
2071
|
+
if (isReverseDirectRelation(property)) {
|
|
2072
|
+
return [property.source, property.through.source];
|
|
2073
|
+
}
|
|
2074
|
+
if (isEdgeConnection(property)) {
|
|
2075
|
+
return [property.source];
|
|
2076
|
+
}
|
|
2077
|
+
return [];
|
|
2078
|
+
}
|
|
2039
2079
|
|
|
2040
2080
|
// src/client.ts
|
|
2041
2081
|
var APPLY_ITEM_LIMIT = 1e3;
|