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