industrial-model 0.5.0 → 0.7.0
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/README.md +723 -545
- package/dist/cognite-core/index.cjs +1882 -0
- package/dist/cognite-core/index.cjs.map +1 -0
- package/dist/cognite-core/index.d.cts +535 -0
- package/dist/cognite-core/index.d.ts +535 -0
- package/dist/cognite-core/index.js +1879 -0
- package/dist/cognite-core/index.js.map +1 -0
- package/dist/index.cjs +544 -193
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -263
- package/dist/index.d.ts +8 -263
- package/dist/index.js +545 -192
- package/dist/index.js.map +1 -1
- package/dist/types-2jjbs2i7.d.cts +267 -0
- package/dist/types-2jjbs2i7.d.ts +267 -0
- package/package.json +11 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,262 +1,12 @@
|
|
|
1
1
|
import { CogniteClient } from '@cognite/sdk';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
interface ViewReference {
|
|
5
|
-
type: "view";
|
|
6
|
-
space: string;
|
|
7
|
-
externalId: string;
|
|
8
|
-
version: string;
|
|
9
|
-
}
|
|
10
|
-
interface ViewPropertyType {
|
|
11
|
-
type?: string;
|
|
12
|
-
source?: ViewReference;
|
|
13
|
-
list?: boolean;
|
|
14
|
-
}
|
|
15
|
-
interface ViewPropertyDefinition {
|
|
16
|
-
container: unknown;
|
|
17
|
-
containerPropertyIdentifier: string;
|
|
18
|
-
type: ViewPropertyType;
|
|
19
|
-
}
|
|
20
|
-
interface ReverseDirectRelationConnection {
|
|
21
|
-
through: {
|
|
22
|
-
source: ViewReference;
|
|
23
|
-
identifier: string;
|
|
24
|
-
};
|
|
25
|
-
source: ViewReference;
|
|
26
|
-
connectionType?: string;
|
|
27
|
-
targetsList?: boolean;
|
|
28
|
-
}
|
|
29
|
-
interface EdgeConnection {
|
|
30
|
-
type: unknown;
|
|
31
|
-
source: ViewReference;
|
|
32
|
-
direction?: "outwards" | "inwards";
|
|
33
|
-
}
|
|
34
|
-
type ViewDefinitionProperty = ViewPropertyDefinition | ReverseDirectRelationConnection | EdgeConnection;
|
|
35
|
-
interface ViewDefinition {
|
|
36
|
-
space: string;
|
|
37
|
-
externalId: string;
|
|
38
|
-
version: string;
|
|
39
|
-
properties: Record<string, ViewDefinitionProperty>;
|
|
40
|
-
}
|
|
41
|
-
interface NodeDefinition {
|
|
42
|
-
instanceType: "node";
|
|
43
|
-
version?: number;
|
|
44
|
-
space: string;
|
|
45
|
-
externalId: string;
|
|
46
|
-
properties?: Record<string, Record<string, Record<string, unknown>>>;
|
|
47
|
-
createdTime?: number;
|
|
48
|
-
deletedTime?: number;
|
|
49
|
-
lastUpdatedTime?: number;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
type NodeId = {
|
|
53
|
-
externalId: string;
|
|
54
|
-
space: string;
|
|
55
|
-
};
|
|
56
|
-
type DataModelId = NodeId & {
|
|
57
|
-
version: string;
|
|
58
|
-
};
|
|
59
|
-
type SortDirection = "ascending" | "descending";
|
|
60
|
-
interface IndustrialModelClientOptions {
|
|
61
|
-
validateResults?: boolean;
|
|
62
|
-
}
|
|
63
|
-
type Simplify<T> = {
|
|
64
|
-
[K in keyof T]: T[K];
|
|
65
|
-
} & {};
|
|
66
|
-
type Merge<A, B> = Simplify<Omit<A, keyof B> & B>;
|
|
67
|
-
type NonNull<T> = Exclude<T, null | undefined>;
|
|
68
|
-
type ArrayItem<T> = T extends readonly (infer U)[] ? U : never;
|
|
69
|
-
type QueryDepth = 0 | 1 | 2 | 3;
|
|
70
|
-
type PrevDepth = {
|
|
71
|
-
0: 0;
|
|
72
|
-
1: 0;
|
|
73
|
-
2: 1;
|
|
74
|
-
3: 2;
|
|
75
|
-
};
|
|
76
|
-
declare const MODEL_RELATIONS: unique symbol;
|
|
77
|
-
type IndustrialModel<TProps, TRelations = {}> = Simplify<TProps & {
|
|
78
|
-
readonly [MODEL_RELATIONS]?: TRelations;
|
|
79
|
-
}>;
|
|
80
|
-
type ModelProps<TModel> = Simplify<Omit<TModel, typeof MODEL_RELATIONS>>;
|
|
81
|
-
type ModelRelations<TModel> = TModel extends {
|
|
82
|
-
readonly [MODEL_RELATIONS]?: infer TRelations;
|
|
83
|
-
} ? NonNull<TRelations> : never;
|
|
84
|
-
type RelationKeys<TModel> = [ModelRelations<TModel>] extends [never] ? never : keyof ModelRelations<TModel>;
|
|
85
|
-
type IsOptionalKey<T, K extends PropertyKey> = K extends keyof T ? {} extends Pick<T, K> ? true : false : false;
|
|
86
|
-
type UnwrapRelationTarget<T> = NonNull<T> extends readonly unknown[] ? ArrayItem<NonNull<T>> : NonNull<T>;
|
|
87
|
-
type BaseSelectFor<T, TDepth extends QueryDepth = 3> = [NonNull<T>] extends [NodeId] ? boolean : NonNull<T> extends readonly unknown[] ? [ArrayItem<NonNull<T>>] extends [NodeId] ? boolean : TDepth extends 0 ? boolean : NonNull<ArrayItem<NonNull<T>>> extends object ? boolean | QuerySelect<NonNull<ArrayItem<NonNull<T>>>, PrevDepth[TDepth]> : boolean : TDepth extends 0 ? boolean : NonNull<T> extends object ? boolean | QuerySelect<NonNull<T>, PrevDepth[TDepth]> : boolean;
|
|
88
|
-
type RelationSelectFor<T, TDepth extends QueryDepth = 3> = TDepth extends 0 ? never : QuerySelect<UnwrapRelationTarget<T>, PrevDepth[TDepth]>;
|
|
89
|
-
type QuerySelectValue<TModel, K extends PropertyKey, TDepth extends QueryDepth> = K extends RelationKeys<TModel> ? K extends keyof ModelProps<TModel> ? boolean | RelationSelectFor<ModelRelations<TModel>[K], TDepth> : RelationSelectFor<ModelRelations<TModel>[K], TDepth> : K extends keyof ModelProps<TModel> ? BaseSelectFor<ModelProps<TModel>[K], TDepth> : never;
|
|
90
|
-
type QuerySelect<TModel, TDepth extends QueryDepth = 3> = {
|
|
91
|
-
_all?: true;
|
|
92
|
-
} & {
|
|
93
|
-
[K in keyof ModelProps<TModel> | RelationKeys<TModel>]?: QuerySelectValue<TModel, K, TDepth>;
|
|
94
|
-
};
|
|
95
|
-
type SortInput<TModel> = {
|
|
96
|
-
[K in keyof ModelProps<TModel> as NonNull<ModelProps<TModel>[K]> extends string | number | boolean | Date | NodeId ? K : never]?: SortDirection;
|
|
97
|
-
};
|
|
98
|
-
interface QueryOptions<TModel, TSelect extends QuerySelect<TModel> | undefined = QuerySelect<TModel> | undefined> {
|
|
99
|
-
viewExternalId: string;
|
|
100
|
-
select?: TSelect;
|
|
101
|
-
filters?: WhereInput<TModel>;
|
|
102
|
-
sort?: SortInput<TModel>;
|
|
103
|
-
limit?: number;
|
|
104
|
-
cursor?: string | null;
|
|
105
|
-
}
|
|
106
|
-
type QueryResultMetadata = Pick<NodeDefinition, "space" | "externalId" | "version" | "createdTime" | "deletedTime" | "lastUpdatedTime">;
|
|
107
|
-
type ResultShapeForKey<TModel, K extends PropertyKey> = K extends keyof ModelProps<TModel> ? ModelProps<TModel>[K] : K extends RelationKeys<TModel> ? ModelRelations<TModel>[K] : never;
|
|
108
|
-
type ResultEntityForKey<TModel, K extends PropertyKey> = K extends RelationKeys<TModel> ? ModelRelations<TModel>[K] : K extends keyof ModelProps<TModel> ? ModelProps<TModel>[K] : never;
|
|
109
|
-
type WrapResultValue<TShape, TValue> = [NonNull<TShape>] extends [readonly unknown[]] ? TValue[] : TValue;
|
|
110
|
-
type AsQuerySelect<TModel, TSelect> = TSelect extends QuerySelect<TModel> ? TSelect : never;
|
|
111
|
-
type SelectedValue<TModel, K extends PropertyKey, TValue, TDepth extends QueryDepth> = TValue extends true ? K extends keyof ModelProps<TModel> ? ModelProps<TModel>[K] : never : TDepth extends 0 ? never : TValue extends object ? WrapResultValue<ResultShapeForKey<TModel, K>, QueryResultItem<UnwrapRelationTarget<ResultEntityForKey<TModel, K>>, AsQuerySelect<UnwrapRelationTarget<ResultEntityForKey<TModel, K>>, TValue>, PrevDepth[TDepth]>> : never;
|
|
112
|
-
type ExplicitSelectionResult<TModel, TSelect, TDepth extends QueryDepth> = Simplify<{
|
|
113
|
-
[K in keyof NonNull<TSelect> as K extends "_all" ? never : SelectedValue<TModel, K, NonNull<TSelect>[K], TDepth> extends never ? never : IsOptionalKey<ModelProps<TModel>, K> extends true ? never : IsOptionalKey<ModelRelations<TModel>, K> extends true ? never : K]-?: SelectedValue<TModel, K, NonNull<TSelect>[K], TDepth>;
|
|
114
|
-
} & {
|
|
115
|
-
[K in keyof NonNull<TSelect> as K extends "_all" ? never : SelectedValue<TModel, K, NonNull<TSelect>[K], TDepth> extends never ? never : IsOptionalKey<ModelProps<TModel>, K> extends true ? K : IsOptionalKey<ModelRelations<TModel>, K> extends true ? K : never]?: SelectedValue<TModel, K, NonNull<TSelect>[K], TDepth>;
|
|
116
|
-
}>;
|
|
117
|
-
type QueryResultItem<TModel, TSelect extends QuerySelect<TModel> | undefined = undefined, TDepth extends QueryDepth = 3> = [TSelect] extends [undefined] ? Merge<QueryResultMetadata, ModelProps<TModel>> : Merge<TSelect extends {
|
|
118
|
-
_all: true;
|
|
119
|
-
} ? Merge<QueryResultMetadata, ModelProps<TModel>> : QueryResultMetadata, ExplicitSelectionResult<TModel, TSelect, TDepth>>;
|
|
120
|
-
interface QueryResult<TItem = Record<string, unknown>> {
|
|
121
|
-
items: TItem[];
|
|
122
|
-
cursor: string | null;
|
|
123
|
-
}
|
|
124
|
-
type QueryExecutor<TModel> = {
|
|
125
|
-
<const TSelect extends QuerySelect<TModel>>(options: Omit<QueryOptions<TModel, TSelect>, "select"> & {
|
|
126
|
-
select: TSelect & QuerySelect<TModel>;
|
|
127
|
-
}): Promise<QueryResult<QueryResultItem<TModel, TSelect>>>;
|
|
128
|
-
(options: Omit<QueryOptions<TModel, undefined>, "select"> & {
|
|
129
|
-
select?: undefined;
|
|
130
|
-
}): Promise<QueryResult<QueryResultItem<TModel, undefined>>>;
|
|
131
|
-
};
|
|
132
|
-
type GroupableValue<T> = [NonNull<T>] extends [NodeId] ? true : [NonNull<T>] extends [string | number | boolean] ? true : false;
|
|
133
|
-
type GroupByKey<TModel> = {
|
|
134
|
-
[K in keyof ModelProps<TModel>]: GroupableValue<ModelProps<TModel>[K]> extends true ? K : never;
|
|
135
|
-
}[keyof ModelProps<TModel>];
|
|
136
|
-
type AggregateGroupBy<TModel> = {
|
|
137
|
-
[K in GroupByKey<TModel>]?: true;
|
|
138
|
-
};
|
|
139
|
-
type NumericKey<TModel> = {
|
|
140
|
-
[K in keyof ModelProps<TModel>]: ModelProps<TModel>[K] extends number ? K : never;
|
|
141
|
-
}[keyof ModelProps<TModel>];
|
|
142
|
-
type CountableKey<TModel> = GroupByKey<TModel> | "externalId" | "space";
|
|
143
|
-
type AggregateDefinition<TModel> = {
|
|
144
|
-
avg: NumericKey<TModel>;
|
|
145
|
-
} | {
|
|
146
|
-
min: NumericKey<TModel>;
|
|
147
|
-
} | {
|
|
148
|
-
max: NumericKey<TModel>;
|
|
149
|
-
} | {
|
|
150
|
-
sum: NumericKey<TModel>;
|
|
151
|
-
} | {
|
|
152
|
-
count: CountableKey<TModel> | Record<string, never>;
|
|
153
|
-
};
|
|
154
|
-
type SelectedGroupKeys<TGroupBy> = Extract<{
|
|
155
|
-
[K in keyof TGroupBy & string]: TGroupBy[K] extends true ? K : never;
|
|
156
|
-
}[keyof TGroupBy & string], string>;
|
|
157
|
-
type GroupValues<TModel, TGroupBy extends AggregateGroupBy<TModel> | undefined> = TGroupBy extends AggregateGroupBy<TModel> ? Simplify<Pick<ModelProps<TModel>, SelectedGroupKeys<TGroupBy> & keyof ModelProps<TModel>>> : undefined;
|
|
158
|
-
type AggregateValue<TDef> = TDef extends {
|
|
159
|
-
avg: infer P extends PropertyKey;
|
|
160
|
-
} ? {
|
|
161
|
-
property: P;
|
|
162
|
-
value: number;
|
|
163
|
-
} : TDef extends {
|
|
164
|
-
min: infer P extends PropertyKey;
|
|
165
|
-
} ? {
|
|
166
|
-
property: P;
|
|
167
|
-
value: number;
|
|
168
|
-
} : TDef extends {
|
|
169
|
-
max: infer P extends PropertyKey;
|
|
170
|
-
} ? {
|
|
171
|
-
property: P;
|
|
172
|
-
value: number;
|
|
173
|
-
} : TDef extends {
|
|
174
|
-
sum: infer P extends PropertyKey;
|
|
175
|
-
} ? {
|
|
176
|
-
property: P;
|
|
177
|
-
value: number;
|
|
178
|
-
} : TDef extends {
|
|
179
|
-
count: infer P;
|
|
180
|
-
} ? Record<string, never> extends P ? {
|
|
181
|
-
value: number;
|
|
182
|
-
} : {
|
|
183
|
-
property: P;
|
|
184
|
-
value: number;
|
|
185
|
-
} : never;
|
|
186
|
-
interface AggregateOptions<TModel> {
|
|
187
|
-
viewExternalId: string;
|
|
188
|
-
filters?: WhereInput<TModel>;
|
|
189
|
-
groupBy?: AggregateGroupBy<TModel>;
|
|
190
|
-
aggregate?: AggregateDefinition<TModel>;
|
|
191
|
-
}
|
|
192
|
-
type AggregateResultItem<TModel, TGroupBy extends AggregateGroupBy<TModel> | undefined = undefined, TAggregate extends AggregateDefinition<TModel> | undefined = undefined> = {
|
|
193
|
-
group?: GroupValues<TModel, TGroupBy>;
|
|
194
|
-
aggregate?: AggregateValue<TAggregate>;
|
|
195
|
-
};
|
|
196
|
-
interface AggregateResult<TItem = Record<string, unknown>> {
|
|
197
|
-
items: TItem[];
|
|
198
|
-
}
|
|
199
|
-
type AggregateExecutor<TModel> = <const TOptions extends AggregateOptions<TModel>>(options: TOptions) => Promise<AggregateResult<AggregateResultItem<TModel, TOptions["groupBy"], TOptions["aggregate"]>>>;
|
|
200
|
-
type SearchFilter = {
|
|
201
|
-
query: string;
|
|
202
|
-
operator?: "OR" | "AND";
|
|
203
|
-
};
|
|
204
|
-
type StringFilters = {
|
|
205
|
-
eq?: string;
|
|
206
|
-
in?: string[];
|
|
207
|
-
prefix?: string;
|
|
208
|
-
search?: SearchFilter;
|
|
209
|
-
exists?: boolean;
|
|
210
|
-
};
|
|
211
|
-
type NumberFilters = {
|
|
212
|
-
eq?: number;
|
|
213
|
-
in?: number[];
|
|
214
|
-
gt?: number;
|
|
215
|
-
gte?: number;
|
|
216
|
-
lt?: number;
|
|
217
|
-
lte?: number;
|
|
218
|
-
exists?: boolean;
|
|
219
|
-
};
|
|
220
|
-
type BooleanFilters = {
|
|
221
|
-
eq?: boolean;
|
|
222
|
-
exists?: boolean;
|
|
223
|
-
};
|
|
224
|
-
type DateFilters = {
|
|
225
|
-
eq?: string;
|
|
226
|
-
in?: string[];
|
|
227
|
-
gt?: string;
|
|
228
|
-
gte?: string;
|
|
229
|
-
lt?: string;
|
|
230
|
-
lte?: string;
|
|
231
|
-
exists?: boolean;
|
|
232
|
-
};
|
|
233
|
-
type NodeIdFilters = {
|
|
234
|
-
eq?: NodeId;
|
|
235
|
-
in?: NodeId[];
|
|
236
|
-
exists?: boolean;
|
|
237
|
-
};
|
|
238
|
-
type ListFilters<T> = {
|
|
239
|
-
containsAny?: T[];
|
|
240
|
-
containsAll?: T[];
|
|
241
|
-
exists?: boolean;
|
|
242
|
-
} & (T extends string ? {
|
|
243
|
-
search?: SearchFilter;
|
|
244
|
-
} : unknown);
|
|
245
|
-
type BaseFilterFor<T> = T extends NodeId ? NodeIdFilters : T extends string ? StringFilters : T extends number ? NumberFilters : T extends boolean ? BooleanFilters : T extends Date ? DateFilters : T extends Array<infer U> ? ListFilters<U> : T extends object ? NodeIdFilters | WhereInput<T> : never;
|
|
246
|
-
type RelationFilterFor<T> = UnwrapRelationTarget<T> extends object ? WhereInput<UnwrapRelationTarget<T>> : never;
|
|
247
|
-
type QueryFilterValue<TModel, K extends PropertyKey> = K extends RelationKeys<TModel> ? K extends keyof ModelProps<TModel> ? BaseFilterFor<ModelProps<TModel>[K]> | RelationFilterFor<ModelRelations<TModel>[K]> : RelationFilterFor<ModelRelations<TModel>[K]> : K extends keyof ModelProps<TModel> ? BaseFilterFor<ModelProps<TModel>[K]> : never;
|
|
248
|
-
type WhereInput<TModel> = {
|
|
249
|
-
AND?: WhereInput<TModel> | WhereInput<TModel>[];
|
|
250
|
-
OR?: WhereInput<TModel>[];
|
|
251
|
-
NOT?: WhereInput<TModel> | WhereInput<TModel>[];
|
|
252
|
-
} & {
|
|
253
|
-
[K in keyof ModelProps<TModel> | RelationKeys<TModel>]?: QueryFilterValue<TModel, K>;
|
|
254
|
-
};
|
|
2
|
+
import { D as DataModelId, I as IndustrialModelClientOptions, Q as QueryExecutor, A as AggregateExecutor, U as UpsertExecutor, N as NodeId, a as DeleteResult } from './types-2jjbs2i7.cjs';
|
|
3
|
+
export { b as AggregateResult, c as AggregateResultItem, d as DeleteExecutor, e as DeleteResultItem, E as EdgeCreationCallback, f as EdgeCreationCallbacks, g as EdgeCreationContext, h as EdgeMode, i as IndustrialModel, M as ModelProps, j as ModelRelations, O as OnEdgeCreation, k as QueryResult, l as QueryResultItem, m as QuerySelect, n as UpsertNode, o as UpsertOptions, p as UpsertProperties, q as UpsertResult, r as UpsertResultItem } from './types-2jjbs2i7.cjs';
|
|
255
4
|
|
|
256
5
|
declare class IndustrialModelClient {
|
|
257
6
|
private readonly cognite;
|
|
258
7
|
private readonly queryMapper;
|
|
259
8
|
private readonly aggregateMapper;
|
|
9
|
+
private readonly upsertMapper;
|
|
260
10
|
private readonly aggregateResultMapper;
|
|
261
11
|
private readonly resultMapper;
|
|
262
12
|
private readonly resultValidator;
|
|
@@ -264,18 +14,13 @@ declare class IndustrialModelClient {
|
|
|
264
14
|
constructor(client: CogniteClient, dataModelId: DataModelId, options?: IndustrialModelClientOptions);
|
|
265
15
|
query<TModel>(): QueryExecutor<TModel>;
|
|
266
16
|
aggregate<TModel>(): AggregateExecutor<TModel>;
|
|
17
|
+
upsert<TModel>(): UpsertExecutor<TModel>;
|
|
18
|
+
delete<TItem extends NodeId>(items: TItem[]): Promise<DeleteResult>;
|
|
19
|
+
private upsertInternal;
|
|
20
|
+
private applyInstancesInChunks;
|
|
267
21
|
private aggregateInternal;
|
|
268
22
|
private queryInternal;
|
|
269
23
|
private queryDependenciesPages;
|
|
270
24
|
}
|
|
271
25
|
|
|
272
|
-
|
|
273
|
-
dateMode?: "preserve" | "coerce";
|
|
274
|
-
}
|
|
275
|
-
declare const nodeIdSchema: z.ZodObject<{
|
|
276
|
-
space: z.ZodString;
|
|
277
|
-
externalId: z.ZodString;
|
|
278
|
-
}, z.core.$strip>;
|
|
279
|
-
declare function buildViewSchema(view: ViewDefinition, options?: BuildViewSchemaOptions): z.ZodObject<Record<string, z.ZodType>>;
|
|
280
|
-
|
|
281
|
-
export { type AggregateDefinition, type AggregateGroupBy, type AggregateOptions, type AggregateResult, type AggregateResultItem, type BuildViewSchemaOptions, type DataModelId, type GroupByKey, type IndustrialModel, IndustrialModelClient, type IndustrialModelClientOptions, type ModelProps, type ModelRelations, type NodeId, type QueryOptions, type QueryResult, type QueryResultItem, type QueryResultMetadata, type QuerySelect, buildViewSchema, nodeIdSchema };
|
|
26
|
+
export { DataModelId, DeleteResult, IndustrialModelClient, IndustrialModelClientOptions, NodeId };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,262 +1,12 @@
|
|
|
1
1
|
import { CogniteClient } from '@cognite/sdk';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
interface ViewReference {
|
|
5
|
-
type: "view";
|
|
6
|
-
space: string;
|
|
7
|
-
externalId: string;
|
|
8
|
-
version: string;
|
|
9
|
-
}
|
|
10
|
-
interface ViewPropertyType {
|
|
11
|
-
type?: string;
|
|
12
|
-
source?: ViewReference;
|
|
13
|
-
list?: boolean;
|
|
14
|
-
}
|
|
15
|
-
interface ViewPropertyDefinition {
|
|
16
|
-
container: unknown;
|
|
17
|
-
containerPropertyIdentifier: string;
|
|
18
|
-
type: ViewPropertyType;
|
|
19
|
-
}
|
|
20
|
-
interface ReverseDirectRelationConnection {
|
|
21
|
-
through: {
|
|
22
|
-
source: ViewReference;
|
|
23
|
-
identifier: string;
|
|
24
|
-
};
|
|
25
|
-
source: ViewReference;
|
|
26
|
-
connectionType?: string;
|
|
27
|
-
targetsList?: boolean;
|
|
28
|
-
}
|
|
29
|
-
interface EdgeConnection {
|
|
30
|
-
type: unknown;
|
|
31
|
-
source: ViewReference;
|
|
32
|
-
direction?: "outwards" | "inwards";
|
|
33
|
-
}
|
|
34
|
-
type ViewDefinitionProperty = ViewPropertyDefinition | ReverseDirectRelationConnection | EdgeConnection;
|
|
35
|
-
interface ViewDefinition {
|
|
36
|
-
space: string;
|
|
37
|
-
externalId: string;
|
|
38
|
-
version: string;
|
|
39
|
-
properties: Record<string, ViewDefinitionProperty>;
|
|
40
|
-
}
|
|
41
|
-
interface NodeDefinition {
|
|
42
|
-
instanceType: "node";
|
|
43
|
-
version?: number;
|
|
44
|
-
space: string;
|
|
45
|
-
externalId: string;
|
|
46
|
-
properties?: Record<string, Record<string, Record<string, unknown>>>;
|
|
47
|
-
createdTime?: number;
|
|
48
|
-
deletedTime?: number;
|
|
49
|
-
lastUpdatedTime?: number;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
type NodeId = {
|
|
53
|
-
externalId: string;
|
|
54
|
-
space: string;
|
|
55
|
-
};
|
|
56
|
-
type DataModelId = NodeId & {
|
|
57
|
-
version: string;
|
|
58
|
-
};
|
|
59
|
-
type SortDirection = "ascending" | "descending";
|
|
60
|
-
interface IndustrialModelClientOptions {
|
|
61
|
-
validateResults?: boolean;
|
|
62
|
-
}
|
|
63
|
-
type Simplify<T> = {
|
|
64
|
-
[K in keyof T]: T[K];
|
|
65
|
-
} & {};
|
|
66
|
-
type Merge<A, B> = Simplify<Omit<A, keyof B> & B>;
|
|
67
|
-
type NonNull<T> = Exclude<T, null | undefined>;
|
|
68
|
-
type ArrayItem<T> = T extends readonly (infer U)[] ? U : never;
|
|
69
|
-
type QueryDepth = 0 | 1 | 2 | 3;
|
|
70
|
-
type PrevDepth = {
|
|
71
|
-
0: 0;
|
|
72
|
-
1: 0;
|
|
73
|
-
2: 1;
|
|
74
|
-
3: 2;
|
|
75
|
-
};
|
|
76
|
-
declare const MODEL_RELATIONS: unique symbol;
|
|
77
|
-
type IndustrialModel<TProps, TRelations = {}> = Simplify<TProps & {
|
|
78
|
-
readonly [MODEL_RELATIONS]?: TRelations;
|
|
79
|
-
}>;
|
|
80
|
-
type ModelProps<TModel> = Simplify<Omit<TModel, typeof MODEL_RELATIONS>>;
|
|
81
|
-
type ModelRelations<TModel> = TModel extends {
|
|
82
|
-
readonly [MODEL_RELATIONS]?: infer TRelations;
|
|
83
|
-
} ? NonNull<TRelations> : never;
|
|
84
|
-
type RelationKeys<TModel> = [ModelRelations<TModel>] extends [never] ? never : keyof ModelRelations<TModel>;
|
|
85
|
-
type IsOptionalKey<T, K extends PropertyKey> = K extends keyof T ? {} extends Pick<T, K> ? true : false : false;
|
|
86
|
-
type UnwrapRelationTarget<T> = NonNull<T> extends readonly unknown[] ? ArrayItem<NonNull<T>> : NonNull<T>;
|
|
87
|
-
type BaseSelectFor<T, TDepth extends QueryDepth = 3> = [NonNull<T>] extends [NodeId] ? boolean : NonNull<T> extends readonly unknown[] ? [ArrayItem<NonNull<T>>] extends [NodeId] ? boolean : TDepth extends 0 ? boolean : NonNull<ArrayItem<NonNull<T>>> extends object ? boolean | QuerySelect<NonNull<ArrayItem<NonNull<T>>>, PrevDepth[TDepth]> : boolean : TDepth extends 0 ? boolean : NonNull<T> extends object ? boolean | QuerySelect<NonNull<T>, PrevDepth[TDepth]> : boolean;
|
|
88
|
-
type RelationSelectFor<T, TDepth extends QueryDepth = 3> = TDepth extends 0 ? never : QuerySelect<UnwrapRelationTarget<T>, PrevDepth[TDepth]>;
|
|
89
|
-
type QuerySelectValue<TModel, K extends PropertyKey, TDepth extends QueryDepth> = K extends RelationKeys<TModel> ? K extends keyof ModelProps<TModel> ? boolean | RelationSelectFor<ModelRelations<TModel>[K], TDepth> : RelationSelectFor<ModelRelations<TModel>[K], TDepth> : K extends keyof ModelProps<TModel> ? BaseSelectFor<ModelProps<TModel>[K], TDepth> : never;
|
|
90
|
-
type QuerySelect<TModel, TDepth extends QueryDepth = 3> = {
|
|
91
|
-
_all?: true;
|
|
92
|
-
} & {
|
|
93
|
-
[K in keyof ModelProps<TModel> | RelationKeys<TModel>]?: QuerySelectValue<TModel, K, TDepth>;
|
|
94
|
-
};
|
|
95
|
-
type SortInput<TModel> = {
|
|
96
|
-
[K in keyof ModelProps<TModel> as NonNull<ModelProps<TModel>[K]> extends string | number | boolean | Date | NodeId ? K : never]?: SortDirection;
|
|
97
|
-
};
|
|
98
|
-
interface QueryOptions<TModel, TSelect extends QuerySelect<TModel> | undefined = QuerySelect<TModel> | undefined> {
|
|
99
|
-
viewExternalId: string;
|
|
100
|
-
select?: TSelect;
|
|
101
|
-
filters?: WhereInput<TModel>;
|
|
102
|
-
sort?: SortInput<TModel>;
|
|
103
|
-
limit?: number;
|
|
104
|
-
cursor?: string | null;
|
|
105
|
-
}
|
|
106
|
-
type QueryResultMetadata = Pick<NodeDefinition, "space" | "externalId" | "version" | "createdTime" | "deletedTime" | "lastUpdatedTime">;
|
|
107
|
-
type ResultShapeForKey<TModel, K extends PropertyKey> = K extends keyof ModelProps<TModel> ? ModelProps<TModel>[K] : K extends RelationKeys<TModel> ? ModelRelations<TModel>[K] : never;
|
|
108
|
-
type ResultEntityForKey<TModel, K extends PropertyKey> = K extends RelationKeys<TModel> ? ModelRelations<TModel>[K] : K extends keyof ModelProps<TModel> ? ModelProps<TModel>[K] : never;
|
|
109
|
-
type WrapResultValue<TShape, TValue> = [NonNull<TShape>] extends [readonly unknown[]] ? TValue[] : TValue;
|
|
110
|
-
type AsQuerySelect<TModel, TSelect> = TSelect extends QuerySelect<TModel> ? TSelect : never;
|
|
111
|
-
type SelectedValue<TModel, K extends PropertyKey, TValue, TDepth extends QueryDepth> = TValue extends true ? K extends keyof ModelProps<TModel> ? ModelProps<TModel>[K] : never : TDepth extends 0 ? never : TValue extends object ? WrapResultValue<ResultShapeForKey<TModel, K>, QueryResultItem<UnwrapRelationTarget<ResultEntityForKey<TModel, K>>, AsQuerySelect<UnwrapRelationTarget<ResultEntityForKey<TModel, K>>, TValue>, PrevDepth[TDepth]>> : never;
|
|
112
|
-
type ExplicitSelectionResult<TModel, TSelect, TDepth extends QueryDepth> = Simplify<{
|
|
113
|
-
[K in keyof NonNull<TSelect> as K extends "_all" ? never : SelectedValue<TModel, K, NonNull<TSelect>[K], TDepth> extends never ? never : IsOptionalKey<ModelProps<TModel>, K> extends true ? never : IsOptionalKey<ModelRelations<TModel>, K> extends true ? never : K]-?: SelectedValue<TModel, K, NonNull<TSelect>[K], TDepth>;
|
|
114
|
-
} & {
|
|
115
|
-
[K in keyof NonNull<TSelect> as K extends "_all" ? never : SelectedValue<TModel, K, NonNull<TSelect>[K], TDepth> extends never ? never : IsOptionalKey<ModelProps<TModel>, K> extends true ? K : IsOptionalKey<ModelRelations<TModel>, K> extends true ? K : never]?: SelectedValue<TModel, K, NonNull<TSelect>[K], TDepth>;
|
|
116
|
-
}>;
|
|
117
|
-
type QueryResultItem<TModel, TSelect extends QuerySelect<TModel> | undefined = undefined, TDepth extends QueryDepth = 3> = [TSelect] extends [undefined] ? Merge<QueryResultMetadata, ModelProps<TModel>> : Merge<TSelect extends {
|
|
118
|
-
_all: true;
|
|
119
|
-
} ? Merge<QueryResultMetadata, ModelProps<TModel>> : QueryResultMetadata, ExplicitSelectionResult<TModel, TSelect, TDepth>>;
|
|
120
|
-
interface QueryResult<TItem = Record<string, unknown>> {
|
|
121
|
-
items: TItem[];
|
|
122
|
-
cursor: string | null;
|
|
123
|
-
}
|
|
124
|
-
type QueryExecutor<TModel> = {
|
|
125
|
-
<const TSelect extends QuerySelect<TModel>>(options: Omit<QueryOptions<TModel, TSelect>, "select"> & {
|
|
126
|
-
select: TSelect & QuerySelect<TModel>;
|
|
127
|
-
}): Promise<QueryResult<QueryResultItem<TModel, TSelect>>>;
|
|
128
|
-
(options: Omit<QueryOptions<TModel, undefined>, "select"> & {
|
|
129
|
-
select?: undefined;
|
|
130
|
-
}): Promise<QueryResult<QueryResultItem<TModel, undefined>>>;
|
|
131
|
-
};
|
|
132
|
-
type GroupableValue<T> = [NonNull<T>] extends [NodeId] ? true : [NonNull<T>] extends [string | number | boolean] ? true : false;
|
|
133
|
-
type GroupByKey<TModel> = {
|
|
134
|
-
[K in keyof ModelProps<TModel>]: GroupableValue<ModelProps<TModel>[K]> extends true ? K : never;
|
|
135
|
-
}[keyof ModelProps<TModel>];
|
|
136
|
-
type AggregateGroupBy<TModel> = {
|
|
137
|
-
[K in GroupByKey<TModel>]?: true;
|
|
138
|
-
};
|
|
139
|
-
type NumericKey<TModel> = {
|
|
140
|
-
[K in keyof ModelProps<TModel>]: ModelProps<TModel>[K] extends number ? K : never;
|
|
141
|
-
}[keyof ModelProps<TModel>];
|
|
142
|
-
type CountableKey<TModel> = GroupByKey<TModel> | "externalId" | "space";
|
|
143
|
-
type AggregateDefinition<TModel> = {
|
|
144
|
-
avg: NumericKey<TModel>;
|
|
145
|
-
} | {
|
|
146
|
-
min: NumericKey<TModel>;
|
|
147
|
-
} | {
|
|
148
|
-
max: NumericKey<TModel>;
|
|
149
|
-
} | {
|
|
150
|
-
sum: NumericKey<TModel>;
|
|
151
|
-
} | {
|
|
152
|
-
count: CountableKey<TModel> | Record<string, never>;
|
|
153
|
-
};
|
|
154
|
-
type SelectedGroupKeys<TGroupBy> = Extract<{
|
|
155
|
-
[K in keyof TGroupBy & string]: TGroupBy[K] extends true ? K : never;
|
|
156
|
-
}[keyof TGroupBy & string], string>;
|
|
157
|
-
type GroupValues<TModel, TGroupBy extends AggregateGroupBy<TModel> | undefined> = TGroupBy extends AggregateGroupBy<TModel> ? Simplify<Pick<ModelProps<TModel>, SelectedGroupKeys<TGroupBy> & keyof ModelProps<TModel>>> : undefined;
|
|
158
|
-
type AggregateValue<TDef> = TDef extends {
|
|
159
|
-
avg: infer P extends PropertyKey;
|
|
160
|
-
} ? {
|
|
161
|
-
property: P;
|
|
162
|
-
value: number;
|
|
163
|
-
} : TDef extends {
|
|
164
|
-
min: infer P extends PropertyKey;
|
|
165
|
-
} ? {
|
|
166
|
-
property: P;
|
|
167
|
-
value: number;
|
|
168
|
-
} : TDef extends {
|
|
169
|
-
max: infer P extends PropertyKey;
|
|
170
|
-
} ? {
|
|
171
|
-
property: P;
|
|
172
|
-
value: number;
|
|
173
|
-
} : TDef extends {
|
|
174
|
-
sum: infer P extends PropertyKey;
|
|
175
|
-
} ? {
|
|
176
|
-
property: P;
|
|
177
|
-
value: number;
|
|
178
|
-
} : TDef extends {
|
|
179
|
-
count: infer P;
|
|
180
|
-
} ? Record<string, never> extends P ? {
|
|
181
|
-
value: number;
|
|
182
|
-
} : {
|
|
183
|
-
property: P;
|
|
184
|
-
value: number;
|
|
185
|
-
} : never;
|
|
186
|
-
interface AggregateOptions<TModel> {
|
|
187
|
-
viewExternalId: string;
|
|
188
|
-
filters?: WhereInput<TModel>;
|
|
189
|
-
groupBy?: AggregateGroupBy<TModel>;
|
|
190
|
-
aggregate?: AggregateDefinition<TModel>;
|
|
191
|
-
}
|
|
192
|
-
type AggregateResultItem<TModel, TGroupBy extends AggregateGroupBy<TModel> | undefined = undefined, TAggregate extends AggregateDefinition<TModel> | undefined = undefined> = {
|
|
193
|
-
group?: GroupValues<TModel, TGroupBy>;
|
|
194
|
-
aggregate?: AggregateValue<TAggregate>;
|
|
195
|
-
};
|
|
196
|
-
interface AggregateResult<TItem = Record<string, unknown>> {
|
|
197
|
-
items: TItem[];
|
|
198
|
-
}
|
|
199
|
-
type AggregateExecutor<TModel> = <const TOptions extends AggregateOptions<TModel>>(options: TOptions) => Promise<AggregateResult<AggregateResultItem<TModel, TOptions["groupBy"], TOptions["aggregate"]>>>;
|
|
200
|
-
type SearchFilter = {
|
|
201
|
-
query: string;
|
|
202
|
-
operator?: "OR" | "AND";
|
|
203
|
-
};
|
|
204
|
-
type StringFilters = {
|
|
205
|
-
eq?: string;
|
|
206
|
-
in?: string[];
|
|
207
|
-
prefix?: string;
|
|
208
|
-
search?: SearchFilter;
|
|
209
|
-
exists?: boolean;
|
|
210
|
-
};
|
|
211
|
-
type NumberFilters = {
|
|
212
|
-
eq?: number;
|
|
213
|
-
in?: number[];
|
|
214
|
-
gt?: number;
|
|
215
|
-
gte?: number;
|
|
216
|
-
lt?: number;
|
|
217
|
-
lte?: number;
|
|
218
|
-
exists?: boolean;
|
|
219
|
-
};
|
|
220
|
-
type BooleanFilters = {
|
|
221
|
-
eq?: boolean;
|
|
222
|
-
exists?: boolean;
|
|
223
|
-
};
|
|
224
|
-
type DateFilters = {
|
|
225
|
-
eq?: string;
|
|
226
|
-
in?: string[];
|
|
227
|
-
gt?: string;
|
|
228
|
-
gte?: string;
|
|
229
|
-
lt?: string;
|
|
230
|
-
lte?: string;
|
|
231
|
-
exists?: boolean;
|
|
232
|
-
};
|
|
233
|
-
type NodeIdFilters = {
|
|
234
|
-
eq?: NodeId;
|
|
235
|
-
in?: NodeId[];
|
|
236
|
-
exists?: boolean;
|
|
237
|
-
};
|
|
238
|
-
type ListFilters<T> = {
|
|
239
|
-
containsAny?: T[];
|
|
240
|
-
containsAll?: T[];
|
|
241
|
-
exists?: boolean;
|
|
242
|
-
} & (T extends string ? {
|
|
243
|
-
search?: SearchFilter;
|
|
244
|
-
} : unknown);
|
|
245
|
-
type BaseFilterFor<T> = T extends NodeId ? NodeIdFilters : T extends string ? StringFilters : T extends number ? NumberFilters : T extends boolean ? BooleanFilters : T extends Date ? DateFilters : T extends Array<infer U> ? ListFilters<U> : T extends object ? NodeIdFilters | WhereInput<T> : never;
|
|
246
|
-
type RelationFilterFor<T> = UnwrapRelationTarget<T> extends object ? WhereInput<UnwrapRelationTarget<T>> : never;
|
|
247
|
-
type QueryFilterValue<TModel, K extends PropertyKey> = K extends RelationKeys<TModel> ? K extends keyof ModelProps<TModel> ? BaseFilterFor<ModelProps<TModel>[K]> | RelationFilterFor<ModelRelations<TModel>[K]> : RelationFilterFor<ModelRelations<TModel>[K]> : K extends keyof ModelProps<TModel> ? BaseFilterFor<ModelProps<TModel>[K]> : never;
|
|
248
|
-
type WhereInput<TModel> = {
|
|
249
|
-
AND?: WhereInput<TModel> | WhereInput<TModel>[];
|
|
250
|
-
OR?: WhereInput<TModel>[];
|
|
251
|
-
NOT?: WhereInput<TModel> | WhereInput<TModel>[];
|
|
252
|
-
} & {
|
|
253
|
-
[K in keyof ModelProps<TModel> | RelationKeys<TModel>]?: QueryFilterValue<TModel, K>;
|
|
254
|
-
};
|
|
2
|
+
import { D as DataModelId, I as IndustrialModelClientOptions, Q as QueryExecutor, A as AggregateExecutor, U as UpsertExecutor, N as NodeId, a as DeleteResult } from './types-2jjbs2i7.js';
|
|
3
|
+
export { b as AggregateResult, c as AggregateResultItem, d as DeleteExecutor, e as DeleteResultItem, E as EdgeCreationCallback, f as EdgeCreationCallbacks, g as EdgeCreationContext, h as EdgeMode, i as IndustrialModel, M as ModelProps, j as ModelRelations, O as OnEdgeCreation, k as QueryResult, l as QueryResultItem, m as QuerySelect, n as UpsertNode, o as UpsertOptions, p as UpsertProperties, q as UpsertResult, r as UpsertResultItem } from './types-2jjbs2i7.js';
|
|
255
4
|
|
|
256
5
|
declare class IndustrialModelClient {
|
|
257
6
|
private readonly cognite;
|
|
258
7
|
private readonly queryMapper;
|
|
259
8
|
private readonly aggregateMapper;
|
|
9
|
+
private readonly upsertMapper;
|
|
260
10
|
private readonly aggregateResultMapper;
|
|
261
11
|
private readonly resultMapper;
|
|
262
12
|
private readonly resultValidator;
|
|
@@ -264,18 +14,13 @@ declare class IndustrialModelClient {
|
|
|
264
14
|
constructor(client: CogniteClient, dataModelId: DataModelId, options?: IndustrialModelClientOptions);
|
|
265
15
|
query<TModel>(): QueryExecutor<TModel>;
|
|
266
16
|
aggregate<TModel>(): AggregateExecutor<TModel>;
|
|
17
|
+
upsert<TModel>(): UpsertExecutor<TModel>;
|
|
18
|
+
delete<TItem extends NodeId>(items: TItem[]): Promise<DeleteResult>;
|
|
19
|
+
private upsertInternal;
|
|
20
|
+
private applyInstancesInChunks;
|
|
267
21
|
private aggregateInternal;
|
|
268
22
|
private queryInternal;
|
|
269
23
|
private queryDependenciesPages;
|
|
270
24
|
}
|
|
271
25
|
|
|
272
|
-
|
|
273
|
-
dateMode?: "preserve" | "coerce";
|
|
274
|
-
}
|
|
275
|
-
declare const nodeIdSchema: z.ZodObject<{
|
|
276
|
-
space: z.ZodString;
|
|
277
|
-
externalId: z.ZodString;
|
|
278
|
-
}, z.core.$strip>;
|
|
279
|
-
declare function buildViewSchema(view: ViewDefinition, options?: BuildViewSchemaOptions): z.ZodObject<Record<string, z.ZodType>>;
|
|
280
|
-
|
|
281
|
-
export { type AggregateDefinition, type AggregateGroupBy, type AggregateOptions, type AggregateResult, type AggregateResultItem, type BuildViewSchemaOptions, type DataModelId, type GroupByKey, type IndustrialModel, IndustrialModelClient, type IndustrialModelClientOptions, type ModelProps, type ModelRelations, type NodeId, type QueryOptions, type QueryResult, type QueryResultItem, type QueryResultMetadata, type QuerySelect, buildViewSchema, nodeIdSchema };
|
|
26
|
+
export { DataModelId, DeleteResult, IndustrialModelClient, IndustrialModelClientOptions, NodeId };
|