@itwin/ecschema-rpcinterface-tests 4.0.0-dev.103 → 4.0.0-dev.105
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/lib/dist/_a8a9.bundled-tests.js.map +1 -1
- package/lib/dist/bundled-tests.js +316 -77
- package/lib/dist/bundled-tests.js.map +1 -1
- package/lib/dist/core_frontend_lib_esm_ApproximateTerrainHeightsProps_js.bundled-tests.js.map +1 -1
- package/lib/dist/object-storage-azure.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_itwin_object-storage-azure_1_6_0_node_modules_itwin_obj-0f69b1.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_3_3_node_modules_loaders_gl_draco_di-28f62e.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_reflect-metadata_0_1_13_node_modules_reflect-metadata_R-610cb3.bundled-tests.js.map +1 -1
- package/package.json +15 -15
|
@@ -59083,40 +59083,82 @@ exports.ECStringConstants = ECStringConstants;
|
|
|
59083
59083
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
59084
59084
|
*--------------------------------------------------------------------------------------------*/
|
|
59085
59085
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
59086
|
-
exports.SchemaContext = exports.SchemaCache =
|
|
59086
|
+
exports.SchemaContext = exports.SchemaCache = void 0;
|
|
59087
59087
|
const ECObjects_1 = __webpack_require__(/*! ./ECObjects */ "../../core/ecschema-metadata/lib/cjs/ECObjects.js");
|
|
59088
59088
|
const Exception_1 = __webpack_require__(/*! ./Exception */ "../../core/ecschema-metadata/lib/cjs/Exception.js");
|
|
59089
59089
|
/**
|
|
59090
|
-
* @
|
|
59090
|
+
* @internal
|
|
59091
59091
|
*/
|
|
59092
59092
|
class SchemaMap extends Array {
|
|
59093
59093
|
}
|
|
59094
|
-
exports.SchemaMap = SchemaMap;
|
|
59095
59094
|
/**
|
|
59096
|
-
* @
|
|
59095
|
+
* @internal
|
|
59097
59096
|
*/
|
|
59098
59097
|
class SchemaCache {
|
|
59099
59098
|
constructor() {
|
|
59100
59099
|
this._schema = new SchemaMap();
|
|
59101
59100
|
}
|
|
59102
59101
|
get count() { return this._schema.length; }
|
|
59102
|
+
loadedSchemaExists(schemaKey) {
|
|
59103
|
+
return undefined !== this._schema.find((entry) => entry.schemaInfo.schemaKey.matches(schemaKey, ECObjects_1.SchemaMatchType.Latest) && !entry.schemaPromise);
|
|
59104
|
+
}
|
|
59105
|
+
schemaPromiseExists(schemaKey) {
|
|
59106
|
+
return undefined !== this._schema.find((entry) => entry.schemaInfo.schemaKey.matches(schemaKey, ECObjects_1.SchemaMatchType.Latest) && undefined !== entry.schemaPromise);
|
|
59107
|
+
}
|
|
59108
|
+
findEntry(schemaKey, matchType) {
|
|
59109
|
+
return this._schema.find((entry) => entry.schemaInfo.schemaKey.matches(schemaKey, matchType));
|
|
59110
|
+
}
|
|
59111
|
+
removeSchemaPromise(schemaKey) {
|
|
59112
|
+
const entry = this.findEntry(schemaKey, ECObjects_1.SchemaMatchType.Latest);
|
|
59113
|
+
if (entry)
|
|
59114
|
+
entry.schemaPromise = undefined;
|
|
59115
|
+
}
|
|
59116
|
+
removeEntry(schemaKey) {
|
|
59117
|
+
this._schema = this._schema.filter((entry) => !entry.schemaInfo.schemaKey.matches(schemaKey));
|
|
59118
|
+
}
|
|
59119
|
+
/**
|
|
59120
|
+
* Returns true if the schema exists in either the schema cache or the promise cache. SchemaMatchType.Latest used.
|
|
59121
|
+
* @param schemaKey The key to search for.
|
|
59122
|
+
*/
|
|
59123
|
+
schemaExists(schemaKey) {
|
|
59124
|
+
return this.loadedSchemaExists(schemaKey) || this.schemaPromiseExists(schemaKey);
|
|
59125
|
+
}
|
|
59126
|
+
/**
|
|
59127
|
+
* Adds a promise to load the schema to the cache. Does not allow for duplicate schemas in the cache of schemas or cache of promises, checks using SchemaMatchType.Latest.
|
|
59128
|
+
* When the promise completes the schema will be added to the schema cache and the promise will be removed from the promise cache
|
|
59129
|
+
* @param schemaInfo An object with the schema key for the schema being loaded and it's references
|
|
59130
|
+
* @param schema The partially loaded schema that the promise will fulfill
|
|
59131
|
+
* @param schemaPromise The schema promise to add to the cache.
|
|
59132
|
+
*/
|
|
59133
|
+
async addSchemaPromise(schemaInfo, schema, schemaPromise) {
|
|
59134
|
+
if (this.schemaExists(schemaInfo.schemaKey))
|
|
59135
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.DuplicateSchema, `The schema, ${schemaPromise.toString()}, already exists within this cache.`);
|
|
59136
|
+
this._schema.push({ schemaInfo, schema, schemaPromise });
|
|
59137
|
+
// This promise is cached and will be awaited when the user requests the full schema.
|
|
59138
|
+
// If the promise competes successfully before the user requests the schema it will be removed from the cache
|
|
59139
|
+
// If it fails it will remain in the cache until the user awaits it and handles the error
|
|
59140
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
59141
|
+
schemaPromise.then(() => {
|
|
59142
|
+
this.removeSchemaPromise(schemaInfo.schemaKey);
|
|
59143
|
+
});
|
|
59144
|
+
}
|
|
59103
59145
|
/**
|
|
59104
59146
|
* Adds a schema to the cache. Does not allow for duplicate schemas, checks using SchemaMatchType.Latest.
|
|
59105
59147
|
* @param schema The schema to add to the cache.
|
|
59106
59148
|
*/
|
|
59107
59149
|
async addSchema(schema) {
|
|
59108
|
-
if (
|
|
59150
|
+
if (this.schemaExists(schema.schemaKey))
|
|
59109
59151
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.DuplicateSchema, `The schema, ${schema.schemaKey.toString()}, already exists within this cache.`);
|
|
59110
|
-
this._schema.push(schema);
|
|
59152
|
+
this._schema.push({ schemaInfo: schema, schema });
|
|
59111
59153
|
}
|
|
59112
59154
|
/**
|
|
59113
59155
|
* Adds a schema to the cache. Does not allow for duplicate schemas, checks using SchemaMatchType.Latest.
|
|
59114
59156
|
* @param schema The schema to add to the cache.
|
|
59115
59157
|
*/
|
|
59116
59158
|
addSchemaSync(schema) {
|
|
59117
|
-
if (this.
|
|
59159
|
+
if (this.schemaExists(schema.schemaKey))
|
|
59118
59160
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.DuplicateSchema, `The schema, ${schema.schemaKey.toString()}, already exists within this cache.`);
|
|
59119
|
-
this._schema.push(schema);
|
|
59161
|
+
this._schema.push({ schemaInfo: schema, schema });
|
|
59120
59162
|
}
|
|
59121
59163
|
/**
|
|
59122
59164
|
* Gets the schema which matches the provided SchemaKey.
|
|
@@ -59126,46 +59168,69 @@ class SchemaCache {
|
|
|
59126
59168
|
async getSchema(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
59127
59169
|
if (this.count === 0)
|
|
59128
59170
|
return undefined;
|
|
59129
|
-
const
|
|
59130
|
-
|
|
59131
|
-
};
|
|
59132
|
-
const foundSchema = this._schema.find(findFunc);
|
|
59133
|
-
if (!foundSchema)
|
|
59171
|
+
const entry = this.findEntry(schemaKey, matchType);
|
|
59172
|
+
if (!entry)
|
|
59134
59173
|
return undefined;
|
|
59135
|
-
|
|
59174
|
+
if (entry.schemaPromise) {
|
|
59175
|
+
try {
|
|
59176
|
+
const schema = await entry.schemaPromise;
|
|
59177
|
+
return schema;
|
|
59178
|
+
}
|
|
59179
|
+
catch (e) {
|
|
59180
|
+
this.removeEntry(schemaKey);
|
|
59181
|
+
throw e;
|
|
59182
|
+
}
|
|
59183
|
+
}
|
|
59184
|
+
return entry.schema;
|
|
59136
59185
|
}
|
|
59137
59186
|
/**
|
|
59138
|
-
|
|
59139
|
-
|
|
59140
|
-
|
|
59187
|
+
* Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
|
|
59188
|
+
* @param schemaKey The SchemaKey describing the schema to get from the cache.
|
|
59189
|
+
* @param matchType The match type to use when locating the schema
|
|
59190
|
+
*/
|
|
59191
|
+
async getSchemaInfo(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
59192
|
+
if (this.count === 0)
|
|
59193
|
+
return undefined;
|
|
59194
|
+
const entry = this.findEntry(schemaKey, matchType);
|
|
59195
|
+
if (entry)
|
|
59196
|
+
return entry.schemaInfo;
|
|
59197
|
+
return undefined;
|
|
59198
|
+
}
|
|
59199
|
+
/**
|
|
59200
|
+
* Gets the schema which matches the provided SchemaKey. If the schema is partially loaded an exception will be thrown.
|
|
59201
|
+
* @param schemaKey The SchemaKey describing the schema to get from the cache.
|
|
59202
|
+
* @param matchType The match type to use when locating the schema
|
|
59141
59203
|
*/
|
|
59142
59204
|
getSchemaSync(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
59143
59205
|
if (this.count === 0)
|
|
59144
59206
|
return undefined;
|
|
59145
|
-
const
|
|
59146
|
-
|
|
59147
|
-
|
|
59148
|
-
|
|
59149
|
-
|
|
59150
|
-
return
|
|
59151
|
-
|
|
59207
|
+
const entry = this.findEntry(schemaKey, matchType);
|
|
59208
|
+
if (entry) {
|
|
59209
|
+
if (entry.schemaPromise) {
|
|
59210
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLoadSchema, `The Schema ${schemaKey.toString()} is partially loaded so cannot be loaded synchronously.`);
|
|
59211
|
+
}
|
|
59212
|
+
return entry.schema;
|
|
59213
|
+
}
|
|
59214
|
+
return undefined;
|
|
59152
59215
|
}
|
|
59153
59216
|
/**
|
|
59154
|
-
* Generator function that can iterate through each schema in _schema SchemaMap and items for each Schema
|
|
59217
|
+
* Generator function that can iterate through each schema in _schema SchemaMap and items for each Schema.
|
|
59218
|
+
* Does not include schema items from schemas that are not completely loaded yet.
|
|
59155
59219
|
*/
|
|
59156
59220
|
*getSchemaItems() {
|
|
59157
|
-
for (const
|
|
59158
|
-
for (const schemaItem of schema.getItems()) {
|
|
59221
|
+
for (const entry of this._schema) {
|
|
59222
|
+
for (const schemaItem of entry.schema.getItems()) {
|
|
59159
59223
|
yield schemaItem;
|
|
59160
59224
|
}
|
|
59161
59225
|
}
|
|
59162
59226
|
}
|
|
59163
59227
|
/**
|
|
59164
59228
|
* Gets all the schemas from the schema cache.
|
|
59229
|
+
* Does not include schemas from schemas that are not completely loaded yet.
|
|
59165
59230
|
* @returns An array of Schema objects.
|
|
59166
59231
|
*/
|
|
59167
59232
|
getAllSchemas() {
|
|
59168
|
-
return this._schema;
|
|
59233
|
+
return this._schema.map((entry) => entry.schema);
|
|
59169
59234
|
}
|
|
59170
59235
|
}
|
|
59171
59236
|
exports.SchemaCache = SchemaCache;
|
|
@@ -59187,7 +59252,7 @@ class SchemaContext {
|
|
|
59187
59252
|
this._locaters.push(locater);
|
|
59188
59253
|
}
|
|
59189
59254
|
/**
|
|
59190
|
-
* Adds the schema to this context
|
|
59255
|
+
* Adds the schema to this context. Use addSchemaPromise instead when asynchronously loading schemas.
|
|
59191
59256
|
* @param schema The schema to add to this context
|
|
59192
59257
|
*/
|
|
59193
59258
|
async addSchema(schema) {
|
|
@@ -59203,6 +59268,7 @@ class SchemaContext {
|
|
|
59203
59268
|
/**
|
|
59204
59269
|
* Adds the given SchemaItem to the the SchemaContext by locating the schema, with the best match of SchemaMatchType.Exact, and
|
|
59205
59270
|
* @param schemaItem The SchemaItem to add
|
|
59271
|
+
* @deprecated in 4.0 use ecschema-editing package
|
|
59206
59272
|
*/
|
|
59207
59273
|
async addSchemaItem(schemaItem) {
|
|
59208
59274
|
const schema = await this.getSchema(schemaItem.key.schemaKey, ECObjects_1.SchemaMatchType.Exact);
|
|
@@ -59210,6 +59276,24 @@ class SchemaContext {
|
|
|
59210
59276
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Unable to add the schema item ${schemaItem.name} to the schema ${schemaItem.key.schemaKey.toString()} because the schema could not be located.`);
|
|
59211
59277
|
schema.addItem(schemaItem);
|
|
59212
59278
|
}
|
|
59279
|
+
/**
|
|
59280
|
+
* Returns true if the schema is already in the context. SchemaMatchType.Latest is used to find a match.
|
|
59281
|
+
* @param schemaKey
|
|
59282
|
+
*/
|
|
59283
|
+
schemaExists(schemaKey) {
|
|
59284
|
+
return this._knownSchemas.schemaExists(schemaKey);
|
|
59285
|
+
}
|
|
59286
|
+
/**
|
|
59287
|
+
* Adds a promise to load the schema to the cache. Does not allow for duplicate schemas in the cache of schemas or cache of promises, checks using SchemaMatchType.Latest.
|
|
59288
|
+
* When the promise completes the schema will be added to the schema cache and the promise will be removed from the promise cache.
|
|
59289
|
+
* Use this method over addSchema when asynchronously loading schemas
|
|
59290
|
+
* @param schemaInfo An object with the schema key for the schema being loaded and it's references
|
|
59291
|
+
* @param schema The partially loaded schema that the promise will fulfill
|
|
59292
|
+
* @param schemaPromise The schema promise to add to the cache.
|
|
59293
|
+
*/
|
|
59294
|
+
async addSchemaPromise(schemaInfo, schema, schemaPromise) {
|
|
59295
|
+
return this._knownSchemas.addSchemaPromise(schemaInfo, schema, schemaPromise);
|
|
59296
|
+
}
|
|
59213
59297
|
/**
|
|
59214
59298
|
*
|
|
59215
59299
|
* @param schemaKey
|
|
@@ -59223,6 +59307,20 @@ class SchemaContext {
|
|
|
59223
59307
|
}
|
|
59224
59308
|
return undefined;
|
|
59225
59309
|
}
|
|
59310
|
+
/**
|
|
59311
|
+
* Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
|
|
59312
|
+
* The fully loaded schema can be gotten later from the context using the getCachedSchema method.
|
|
59313
|
+
* @param schemaKey The SchemaKey describing the schema to get from the cache.
|
|
59314
|
+
* @param matchType The match type to use when locating the schema
|
|
59315
|
+
*/
|
|
59316
|
+
async getSchemaInfo(schemaKey, matchType) {
|
|
59317
|
+
for (const locater of this._locaters) {
|
|
59318
|
+
const schemaInfo = await locater.getSchemaInfo(schemaKey, matchType, this);
|
|
59319
|
+
if (undefined !== schemaInfo)
|
|
59320
|
+
return schemaInfo;
|
|
59321
|
+
}
|
|
59322
|
+
return undefined;
|
|
59323
|
+
}
|
|
59226
59324
|
/**
|
|
59227
59325
|
*
|
|
59228
59326
|
* @param schemaKey
|
|
@@ -59238,42 +59336,62 @@ class SchemaContext {
|
|
|
59238
59336
|
}
|
|
59239
59337
|
/**
|
|
59240
59338
|
* Attempts to get a Schema from the context's cache.
|
|
59339
|
+
* Will await a partially loaded schema then return when it is completely loaded.
|
|
59241
59340
|
* @param schemaKey The SchemaKey to identify the Schema.
|
|
59242
59341
|
* @param matchType The SchemaMatch type to use. Default is SchemaMatchType.Latest.
|
|
59243
59342
|
* @internal
|
|
59244
59343
|
*/
|
|
59245
59344
|
async getCachedSchema(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
59246
|
-
return this.
|
|
59345
|
+
return this._knownSchemas.getSchema(schemaKey, matchType);
|
|
59247
59346
|
}
|
|
59248
59347
|
/**
|
|
59249
59348
|
* Attempts to get a Schema from the context's cache.
|
|
59349
|
+
* Will return undefined if the cached schema is partially loaded. Use the async method to await partially loaded schemas.
|
|
59250
59350
|
* @param schemaKey The SchemaKey to identify the Schema.
|
|
59251
59351
|
* @param matchType The SchemaMatch type to use. Default is SchemaMatchType.Latest.
|
|
59252
59352
|
* @internal
|
|
59253
59353
|
*/
|
|
59254
59354
|
getCachedSchemaSync(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
59255
|
-
|
|
59256
|
-
return schema;
|
|
59355
|
+
return this._knownSchemas.getSchemaSync(schemaKey, matchType);
|
|
59257
59356
|
}
|
|
59357
|
+
/**
|
|
59358
|
+
* Gets the schema item from the specified schema if it exists in this [[SchemaContext]].
|
|
59359
|
+
* Will await a partially loaded schema then look in it for the requested item
|
|
59360
|
+
* @param schemaItemKey The SchemaItemKey identifying the item to return. SchemaMatchType.Latest is used to match the schema.
|
|
59361
|
+
* @returns The requested schema item
|
|
59362
|
+
*/
|
|
59258
59363
|
async getSchemaItem(schemaItemKey) {
|
|
59259
59364
|
const schema = await this.getSchema(schemaItemKey.schemaKey, ECObjects_1.SchemaMatchType.Latest);
|
|
59260
59365
|
if (undefined === schema)
|
|
59261
59366
|
return undefined;
|
|
59262
59367
|
return schema.getItem(schemaItemKey.name);
|
|
59263
59368
|
}
|
|
59369
|
+
/**
|
|
59370
|
+
* Gets the schema item from the specified schema if it exists in this [[SchemaContext]].
|
|
59371
|
+
* Will skip a partially loaded schema and return undefined if the item belongs to that schema. Use the async method to await partially loaded schemas.
|
|
59372
|
+
* @param schemaItemKey The SchemaItemKey identifying the item to return. SchemaMatchType.Latest is used to match the schema.
|
|
59373
|
+
* @returns The requested schema item
|
|
59374
|
+
*/
|
|
59264
59375
|
getSchemaItemSync(schemaItemKey) {
|
|
59265
59376
|
const schema = this.getSchemaSync(schemaItemKey.schemaKey, ECObjects_1.SchemaMatchType.Latest);
|
|
59266
59377
|
if (undefined === schema)
|
|
59267
59378
|
return undefined;
|
|
59268
59379
|
return schema.getItemSync(schemaItemKey.name);
|
|
59269
59380
|
}
|
|
59381
|
+
/**
|
|
59382
|
+
* Iterates through the items of each schema known to the context. This includes schemas added to the
|
|
59383
|
+
* context using [[SchemaContext.addSchema]]. This does not include schemas that
|
|
59384
|
+
* can be located by an ISchemaLocater instance added to the context.
|
|
59385
|
+
* Does not include schema items from schemas that are not completely loaded yet.
|
|
59386
|
+
*/
|
|
59270
59387
|
getSchemaItems() {
|
|
59271
59388
|
return this._knownSchemas.getSchemaItems();
|
|
59272
59389
|
}
|
|
59273
59390
|
/**
|
|
59274
59391
|
* Gets all the Schemas known by the context. This includes schemas added to the
|
|
59275
59392
|
* context using [[SchemaContext.addSchema]]. This does not include schemas that
|
|
59276
|
-
* can be located by an ISchemaLocater instance added to the context.
|
|
59393
|
+
* can be located by an ISchemaLocater instance added to the context. Does not
|
|
59394
|
+
* include schemas that are partially loaded.
|
|
59277
59395
|
* @returns An array of Schema objects.
|
|
59278
59396
|
*/
|
|
59279
59397
|
getKnownSchemas() {
|
|
@@ -59443,11 +59561,13 @@ class SchemaReadHelper {
|
|
|
59443
59561
|
this._parserType = parserType;
|
|
59444
59562
|
}
|
|
59445
59563
|
/**
|
|
59446
|
-
*
|
|
59564
|
+
* Creates a complete SchemaInfo and starts parsing the schema from a serialized representation.
|
|
59565
|
+
* The info and schema promise will be registered with the SchemaContext. The complete schema can be retrieved by
|
|
59566
|
+
* calling getCachedSchema on the context.
|
|
59447
59567
|
* @param schema The Schema to populate
|
|
59448
59568
|
* @param rawSchema The serialized data to use to populate the Schema.
|
|
59449
59569
|
*/
|
|
59450
|
-
async
|
|
59570
|
+
async readSchemaInfo(schema, rawSchema) {
|
|
59451
59571
|
// Ensure context matches schema context
|
|
59452
59572
|
if (schema.context) {
|
|
59453
59573
|
if (this._context !== schema.context)
|
|
@@ -59460,12 +59580,38 @@ class SchemaReadHelper {
|
|
|
59460
59580
|
// Loads all of the properties on the Schema object
|
|
59461
59581
|
await schema.fromJSON(this._parser.parseSchema());
|
|
59462
59582
|
this._schema = schema;
|
|
59463
|
-
|
|
59464
|
-
await this._context.addSchema(schema);
|
|
59465
|
-
// Load schema references first
|
|
59466
|
-
// Need to figure out if other schemas are present.
|
|
59583
|
+
const schemaInfo = { schemaKey: schema.schemaKey, references: [] };
|
|
59467
59584
|
for (const reference of this._parser.getReferences()) {
|
|
59468
|
-
|
|
59585
|
+
const refKey = new SchemaKey_1.SchemaKey(reference.name, SchemaKey_1.ECVersion.fromString(reference.version));
|
|
59586
|
+
schemaInfo.references.push({ schemaKey: refKey });
|
|
59587
|
+
}
|
|
59588
|
+
this._schemaInfo = schemaInfo;
|
|
59589
|
+
// Need to add this schema to the context to be able to locate schemaItems within the context.
|
|
59590
|
+
if (!this._context.schemaExists(schema.schemaKey)) {
|
|
59591
|
+
await this._context.addSchemaPromise(schemaInfo, schema, this.loadSchema(schemaInfo, schema));
|
|
59592
|
+
}
|
|
59593
|
+
return schemaInfo;
|
|
59594
|
+
}
|
|
59595
|
+
/**
|
|
59596
|
+
* Populates the given Schema from a serialized representation.
|
|
59597
|
+
* @param schema The Schema to populate
|
|
59598
|
+
* @param rawSchema The serialized data to use to populate the Schema.
|
|
59599
|
+
*/
|
|
59600
|
+
async readSchema(schema, rawSchema) {
|
|
59601
|
+
if (!this._schemaInfo) {
|
|
59602
|
+
await this.readSchemaInfo(schema, rawSchema);
|
|
59603
|
+
}
|
|
59604
|
+
const cachedSchema = await this._context.getCachedSchema(this._schemaInfo.schemaKey, ECObjects_1.SchemaMatchType.Latest);
|
|
59605
|
+
if (undefined === cachedSchema)
|
|
59606
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLoadSchema, `Could not load schema ${schema.schemaKey.toString()}`);
|
|
59607
|
+
return cachedSchema;
|
|
59608
|
+
}
|
|
59609
|
+
/* Finish loading the rest of the schema */
|
|
59610
|
+
async loadSchema(schemaInfo, schema) {
|
|
59611
|
+
// Verify that there are no schema reference cycles, this will start schema loading by loading their headers
|
|
59612
|
+
(await SchemaGraph_1.SchemaGraph.generateGraph(schemaInfo, this._context)).throwIfCycles();
|
|
59613
|
+
for (const reference of schemaInfo.references) {
|
|
59614
|
+
await this.loadSchemaReference(schemaInfo, reference.schemaKey);
|
|
59469
59615
|
}
|
|
59470
59616
|
if (this._visitorHelper)
|
|
59471
59617
|
await this._visitorHelper.visitSchema(schema, false);
|
|
@@ -59524,11 +59670,10 @@ class SchemaReadHelper {
|
|
|
59524
59670
|
* Ensures that the schema references can be located and adds them to the schema.
|
|
59525
59671
|
* @param ref The object to read the SchemaReference's props from.
|
|
59526
59672
|
*/
|
|
59527
|
-
async loadSchemaReference(
|
|
59528
|
-
const
|
|
59529
|
-
const refSchema = await this._context.getSchema(schemaKey, ECObjects_1.SchemaMatchType.LatestWriteCompatible);
|
|
59673
|
+
async loadSchemaReference(schemaInfo, refKey) {
|
|
59674
|
+
const refSchema = await this._context.getSchema(refKey, ECObjects_1.SchemaMatchType.LatestWriteCompatible);
|
|
59530
59675
|
if (undefined === refSchema)
|
|
59531
|
-
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${
|
|
59676
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${refKey.name}.${refKey.version.toString()}, of ${schemaInfo.schemaKey.name}`);
|
|
59532
59677
|
await this._schema.addReference(refSchema);
|
|
59533
59678
|
const results = this.validateSchemaReferences(this._schema);
|
|
59534
59679
|
let errorMessage = "";
|
|
@@ -59549,6 +59694,7 @@ class SchemaReadHelper {
|
|
|
59549
59694
|
if (!refSchema)
|
|
59550
59695
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${ref.name}.${ref.version}, of ${this._schema.schemaKey.name}`);
|
|
59551
59696
|
this._schema.addReferenceSync(refSchema);
|
|
59697
|
+
SchemaGraph_1.SchemaGraph.generateGraphSync(this._schema).throwIfCycles();
|
|
59552
59698
|
const results = this.validateSchemaReferences(this._schema);
|
|
59553
59699
|
let errorMessage = "";
|
|
59554
59700
|
for (const result of results) {
|
|
@@ -59577,12 +59723,6 @@ class SchemaReadHelper {
|
|
|
59577
59723
|
aliases.set(schemaRef.alias, schemaRef);
|
|
59578
59724
|
}
|
|
59579
59725
|
}
|
|
59580
|
-
const graph = new SchemaGraph_1.SchemaGraph(schema);
|
|
59581
|
-
const cycles = graph.detectCycles();
|
|
59582
|
-
if (cycles) {
|
|
59583
|
-
const result = cycles.map((cycle) => `${cycle.schema.name} --> ${cycle.refSchema.name}`).join(", ");
|
|
59584
|
-
yield `Schema '${schema.name}' has reference cycles: ${result}`;
|
|
59585
|
-
}
|
|
59586
59726
|
}
|
|
59587
59727
|
/**
|
|
59588
59728
|
* Given the schema item object, the anticipated type and the name a schema item is created and loaded into the schema provided.
|
|
@@ -59767,7 +59907,10 @@ class SchemaReadHelper {
|
|
|
59767
59907
|
const isInThisSchema = (this._schema && this._schema.name.toLowerCase() === schemaName.toLowerCase());
|
|
59768
59908
|
if (undefined === schemaName || 0 === schemaName.length)
|
|
59769
59909
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidECJson, `The SchemaItem ${name} is invalid without a schema name`);
|
|
59770
|
-
if (isInThisSchema
|
|
59910
|
+
if (isInThisSchema) {
|
|
59911
|
+
schemaItem = await this._schema.getItem(itemName);
|
|
59912
|
+
if (schemaItem)
|
|
59913
|
+
return schemaItem;
|
|
59771
59914
|
const foundItem = this._parser.findItem(itemName);
|
|
59772
59915
|
if (foundItem) {
|
|
59773
59916
|
schemaItem = await this.loadSchemaItem(this._schema, ...foundItem);
|
|
@@ -62841,6 +62984,7 @@ var ECObjectsStatus;
|
|
|
62841
62984
|
ECObjectsStatus[ECObjectsStatus["InvalidSchemaComparisonArgument"] = 35077] = "InvalidSchemaComparisonArgument";
|
|
62842
62985
|
ECObjectsStatus[ECObjectsStatus["InvalidSchemaAlias"] = 35078] = "InvalidSchemaAlias";
|
|
62843
62986
|
ECObjectsStatus[ECObjectsStatus["InvalidSchemaKey"] = 35079] = "InvalidSchemaKey";
|
|
62987
|
+
ECObjectsStatus[ECObjectsStatus["UnableToLoadSchema"] = 35080] = "UnableToLoadSchema";
|
|
62844
62988
|
})(ECObjectsStatus = exports.ECObjectsStatus || (exports.ECObjectsStatus = {}));
|
|
62845
62989
|
/** @internal */
|
|
62846
62990
|
class ECObjectsError extends core_bentley_1.BentleyError {
|
|
@@ -66466,6 +66610,9 @@ class Schema {
|
|
|
66466
66610
|
schemaXml.appendChild(schemaMetadata);
|
|
66467
66611
|
return schemaXml;
|
|
66468
66612
|
}
|
|
66613
|
+
/**
|
|
66614
|
+
* Loads the schema header (name, version alias, label and description) from the input SchemaProps
|
|
66615
|
+
*/
|
|
66469
66616
|
fromJSONSync(schemaProps) {
|
|
66470
66617
|
if (undefined === this._schemaKey) {
|
|
66471
66618
|
const schemaName = schemaProps.name;
|
|
@@ -66491,9 +66638,22 @@ class Schema {
|
|
|
66491
66638
|
if (undefined !== schemaProps.description)
|
|
66492
66639
|
this._description = schemaProps.description;
|
|
66493
66640
|
}
|
|
66641
|
+
/**
|
|
66642
|
+
* Loads the schema header (name, version alias, label and description) from the input SchemaProps
|
|
66643
|
+
*/
|
|
66494
66644
|
async fromJSON(schemaProps) {
|
|
66495
66645
|
this.fromJSONSync(schemaProps);
|
|
66496
66646
|
}
|
|
66647
|
+
/**
|
|
66648
|
+
* Completely loads the SchemaInfo from the input json and starts loading the entire schema. The complete schema can be retrieved from the
|
|
66649
|
+
* schema context using the getCachedSchema method
|
|
66650
|
+
*/
|
|
66651
|
+
static async startLoadingFromJson(jsonObj, context) {
|
|
66652
|
+
const schema = new Schema(context);
|
|
66653
|
+
const reader = new Helper_1.SchemaReadHelper(JsonParser_1.JsonParser, context);
|
|
66654
|
+
const rawSchema = typeof jsonObj === "string" ? JSON.parse(jsonObj) : jsonObj;
|
|
66655
|
+
return reader.readSchemaInfo(schema, rawSchema);
|
|
66656
|
+
}
|
|
66497
66657
|
static async fromJson(jsonObj, context) {
|
|
66498
66658
|
let schema = new Schema(context);
|
|
66499
66659
|
const reader = new Helper_1.SchemaReadHelper(JsonParser_1.JsonParser, context);
|
|
@@ -66501,6 +66661,9 @@ class Schema {
|
|
|
66501
66661
|
schema = await reader.readSchema(schema, rawSchema);
|
|
66502
66662
|
return schema;
|
|
66503
66663
|
}
|
|
66664
|
+
/**
|
|
66665
|
+
* Completely loads the Schema from the input json. The schema is cached in the schema context.
|
|
66666
|
+
*/
|
|
66504
66667
|
static fromJsonSync(jsonObj, context) {
|
|
66505
66668
|
let schema = new Schema(context);
|
|
66506
66669
|
const reader = new Helper_1.SchemaReadHelper(JsonParser_1.JsonParser, context);
|
|
@@ -67026,6 +67189,14 @@ class SchemaJsonLocater {
|
|
|
67026
67189
|
async getSchema(schemaKey, matchType, context) {
|
|
67027
67190
|
return this.getSchemaSync(schemaKey, matchType, context);
|
|
67028
67191
|
}
|
|
67192
|
+
/**
|
|
67193
|
+
* Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
|
|
67194
|
+
* @param schemaKey The SchemaKey describing the schema to get from the cache.
|
|
67195
|
+
* @param matchType The match type to use when locating the schema
|
|
67196
|
+
*/
|
|
67197
|
+
async getSchemaInfo(schemaKey, matchType, context) {
|
|
67198
|
+
return this.getSchema(schemaKey, matchType, context);
|
|
67199
|
+
}
|
|
67029
67200
|
/** Get a schema by [SchemaKey] synchronously.
|
|
67030
67201
|
* @param schemaKey The [SchemaKey] that identifies the schema.
|
|
67031
67202
|
* * @param matchType The [SchemaMatchType] to used for comparing schema versions.
|
|
@@ -68522,7 +68693,7 @@ Object.defineProperty(exports, "SchemaGraph", ({ enumerable: true, get: function
|
|
|
68522
68693
|
/*!*****************************************************************!*\
|
|
68523
68694
|
!*** ../../core/ecschema-metadata/lib/cjs/utils/SchemaGraph.js ***!
|
|
68524
68695
|
\*****************************************************************/
|
|
68525
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
68696
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
68526
68697
|
|
|
68527
68698
|
"use strict";
|
|
68528
68699
|
|
|
@@ -68532,22 +68703,32 @@ Object.defineProperty(exports, "SchemaGraph", ({ enumerable: true, get: function
|
|
|
68532
68703
|
*--------------------------------------------------------------------------------------------*/
|
|
68533
68704
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
68534
68705
|
exports.SchemaGraph = void 0;
|
|
68706
|
+
const ECObjects_1 = __webpack_require__(/*! ../ECObjects */ "../../core/ecschema-metadata/lib/cjs/ECObjects.js");
|
|
68707
|
+
const Exception_1 = __webpack_require__(/*! ../Exception */ "../../core/ecschema-metadata/lib/cjs/Exception.js");
|
|
68535
68708
|
/**
|
|
68536
68709
|
* Utility class for detecting cyclic references in a Schema graph.
|
|
68537
|
-
* @
|
|
68710
|
+
* @internal
|
|
68538
68711
|
*/
|
|
68539
68712
|
class SchemaGraph {
|
|
68713
|
+
constructor() {
|
|
68714
|
+
this._schemas = [];
|
|
68715
|
+
}
|
|
68716
|
+
find(schemaKey) {
|
|
68717
|
+
return this._schemas.find((info) => info.schemaKey.matches(schemaKey, ECObjects_1.SchemaMatchType.Latest));
|
|
68718
|
+
}
|
|
68540
68719
|
/**
|
|
68541
|
-
*
|
|
68542
|
-
* @param schema The schema to analyze.
|
|
68720
|
+
* Detected cyclic references in a schema and throw an exception if a cycle is found.
|
|
68543
68721
|
*/
|
|
68544
|
-
|
|
68545
|
-
|
|
68546
|
-
|
|
68722
|
+
throwIfCycles() {
|
|
68723
|
+
const cycles = this.detectCycles();
|
|
68724
|
+
if (cycles) {
|
|
68725
|
+
const result = cycles.map((cycle) => `${cycle.schema.schemaKey.name} --> ${cycle.refSchema.schemaKey.name}`).join(", ");
|
|
68726
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidECJson, `Schema '${this._schemas[0].schemaKey.name}' has reference cycles: ${result}`);
|
|
68727
|
+
}
|
|
68547
68728
|
}
|
|
68548
68729
|
/**
|
|
68549
68730
|
* Detected cyclic references in a schema.
|
|
68550
|
-
* @returns
|
|
68731
|
+
* @returns An array describing the cycle if there is a cycle or undefined if no cycles found.
|
|
68551
68732
|
*/
|
|
68552
68733
|
detectCycles() {
|
|
68553
68734
|
const visited = {};
|
|
@@ -68562,31 +68743,70 @@ class SchemaGraph {
|
|
|
68562
68743
|
}
|
|
68563
68744
|
detectCycleUtil(schema, visited, recStack, cycles) {
|
|
68564
68745
|
let cycleFound = false;
|
|
68565
|
-
if (!visited[schema.name]) {
|
|
68566
|
-
visited[schema.name] = true;
|
|
68567
|
-
recStack[schema.name] = true;
|
|
68568
|
-
for (const
|
|
68569
|
-
|
|
68746
|
+
if (!visited[schema.schemaKey.name]) {
|
|
68747
|
+
visited[schema.schemaKey.name] = true;
|
|
68748
|
+
recStack[schema.schemaKey.name] = true;
|
|
68749
|
+
for (const refKey of schema.references) {
|
|
68750
|
+
const refSchema = this.find(refKey.schemaKey);
|
|
68751
|
+
if (undefined === refSchema)
|
|
68752
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLoadSchema, `Could not find the schema info for ref schema ${refKey.schemaKey.toString()} for schema ${schema.schemaKey.toString()}`);
|
|
68753
|
+
if (!visited[refKey.schemaKey.name] && this.detectCycleUtil(refSchema, visited, recStack, cycles)) {
|
|
68570
68754
|
cycles.push({ schema, refSchema });
|
|
68571
68755
|
cycleFound = true;
|
|
68572
68756
|
}
|
|
68573
|
-
else if (recStack[
|
|
68757
|
+
else if (recStack[refKey.schemaKey.name]) {
|
|
68574
68758
|
cycles.push({ schema, refSchema });
|
|
68575
68759
|
cycleFound = true;
|
|
68576
68760
|
}
|
|
68577
68761
|
}
|
|
68578
68762
|
}
|
|
68579
68763
|
if (!cycleFound)
|
|
68580
|
-
recStack[schema.name] = false;
|
|
68764
|
+
recStack[schema.schemaKey.name] = false;
|
|
68581
68765
|
return cycleFound;
|
|
68582
68766
|
}
|
|
68583
|
-
|
|
68584
|
-
|
|
68585
|
-
|
|
68586
|
-
|
|
68587
|
-
|
|
68588
|
-
|
|
68589
|
-
|
|
68767
|
+
/**
|
|
68768
|
+
* Generates a SchemaGraph for the input schema using the context to find info on referenced schemas. Use the generateGraphSync if you have the fully loaded Schema.
|
|
68769
|
+
* @param schema The SchemaInfo to build the graph from
|
|
68770
|
+
* @param context The SchemaContext used to locate info on the referenced schemas
|
|
68771
|
+
* @returns A SchemaGraph that can be used to detect schema cycles
|
|
68772
|
+
*/
|
|
68773
|
+
static async generateGraph(schema, context) {
|
|
68774
|
+
const graph = new SchemaGraph();
|
|
68775
|
+
const genGraph = async (s) => {
|
|
68776
|
+
if (graph.find(s.schemaKey))
|
|
68777
|
+
return;
|
|
68778
|
+
graph._schemas.push(s);
|
|
68779
|
+
for (const refSchema of s.references) {
|
|
68780
|
+
if (!graph.find(refSchema.schemaKey)) {
|
|
68781
|
+
const refInfo = await context.getSchemaInfo(refSchema.schemaKey, ECObjects_1.SchemaMatchType.LatestWriteCompatible);
|
|
68782
|
+
if (undefined === refInfo) {
|
|
68783
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${refSchema.schemaKey.name}.${refSchema.schemaKey.version.toString()}, of ${s.schemaKey.name} when populating the graph for ${schema.schemaKey.name}`);
|
|
68784
|
+
}
|
|
68785
|
+
await genGraph(refInfo);
|
|
68786
|
+
}
|
|
68787
|
+
}
|
|
68788
|
+
};
|
|
68789
|
+
await genGraph(schema);
|
|
68790
|
+
return graph;
|
|
68791
|
+
}
|
|
68792
|
+
/**
|
|
68793
|
+
* Generates a SchemaGraph for the input schema. Use the generateGraph if you just have schema info.
|
|
68794
|
+
* @param schema The Schema to build the graph from.
|
|
68795
|
+
* @returns A SchemaGraph that can be used to detect schema cycles
|
|
68796
|
+
*/
|
|
68797
|
+
static generateGraphSync(schema) {
|
|
68798
|
+
const graph = new SchemaGraph();
|
|
68799
|
+
const genGraph = (s) => {
|
|
68800
|
+
if (graph.find(s.schemaKey))
|
|
68801
|
+
return;
|
|
68802
|
+
graph._schemas.push(s);
|
|
68803
|
+
for (const refSchema of s.references) {
|
|
68804
|
+
if (!graph.find(refSchema.schemaKey))
|
|
68805
|
+
genGraph(refSchema);
|
|
68806
|
+
}
|
|
68807
|
+
};
|
|
68808
|
+
genGraph(schema);
|
|
68809
|
+
return graph;
|
|
68590
68810
|
}
|
|
68591
68811
|
}
|
|
68592
68812
|
exports.SchemaGraph = SchemaGraph;
|
|
@@ -68690,10 +68910,21 @@ class ECSchemaRpcLocater {
|
|
|
68690
68910
|
* @param context The SchemaContext that will control the lifetime of the schema and holds the schema's references, if they exist.
|
|
68691
68911
|
*/
|
|
68692
68912
|
async getSchema(schemaKey, matchType, context) {
|
|
68913
|
+
await this.getSchemaInfo(schemaKey, matchType, context);
|
|
68914
|
+
const schema = await context.getCachedSchema(schemaKey, matchType);
|
|
68915
|
+
return schema;
|
|
68916
|
+
}
|
|
68917
|
+
/**
|
|
68918
|
+
* Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
|
|
68919
|
+
* The fully loaded schema can be accessed via the schema context using the getCachedSchema method.
|
|
68920
|
+
* @param schemaKey The SchemaKey describing the schema to get from the cache.
|
|
68921
|
+
* @param matchType The match type to use when locating the schema
|
|
68922
|
+
*/
|
|
68923
|
+
async getSchemaInfo(schemaKey, matchType, context) {
|
|
68693
68924
|
const schemaJson = await ECSchemaRpcInterface_1.ECSchemaRpcInterface.getClient().getSchemaJSON(this.token, schemaKey.name);
|
|
68694
|
-
const
|
|
68695
|
-
if (
|
|
68696
|
-
return
|
|
68925
|
+
const schemaInfo = await ecschema_metadata_1.Schema.startLoadingFromJson(schemaJson, context || new ecschema_metadata_1.SchemaContext());
|
|
68926
|
+
if (schemaInfo !== undefined && schemaInfo.schemaKey.matches(schemaKey, matchType)) {
|
|
68927
|
+
return schemaInfo;
|
|
68697
68928
|
}
|
|
68698
68929
|
return undefined;
|
|
68699
68930
|
}
|
|
@@ -72561,9 +72792,13 @@ class AccuSnap {
|
|
|
72561
72792
|
this.aSnapHits.removeCurrentHit();
|
|
72562
72793
|
hit = await this.getAccuSnapDetail(this.aSnapHits, out);
|
|
72563
72794
|
}
|
|
72795
|
+
if (!this._doSnapping)
|
|
72796
|
+
hit = undefined; // Snap no longer requested...
|
|
72564
72797
|
}
|
|
72565
72798
|
else if (this.isLocateEnabled) {
|
|
72566
72799
|
hit = await this.findLocatableHit(ev, false, out); // get next AccuSnap path (or undefined)
|
|
72800
|
+
if (!this.isLocateEnabled)
|
|
72801
|
+
hit = undefined; // Hit no longer requested...
|
|
72567
72802
|
}
|
|
72568
72803
|
// set the current hit
|
|
72569
72804
|
if (hit || this.currHit)
|
|
@@ -72584,9 +72819,13 @@ class AccuSnap {
|
|
|
72584
72819
|
if (this._doSnapping) {
|
|
72585
72820
|
out.snapStatus = this.findHits(ev);
|
|
72586
72821
|
hit = (_ElementLocateManager__WEBPACK_IMPORTED_MODULE_2__.SnapStatus.Success !== out.snapStatus) ? undefined : await this.getAccuSnapDetail(this.aSnapHits, out);
|
|
72822
|
+
if (!this._doSnapping)
|
|
72823
|
+
hit = undefined; // Snap no longer requested...
|
|
72587
72824
|
}
|
|
72588
72825
|
else if (this.isLocateEnabled) {
|
|
72589
72826
|
hit = await this.findLocatableHit(ev, true, out);
|
|
72827
|
+
if (!this.isLocateEnabled)
|
|
72828
|
+
hit = undefined; // Hit no longer requested...
|
|
72590
72829
|
}
|
|
72591
72830
|
}
|
|
72592
72831
|
// set the current hit and display the sprite (based on snap's KeypointType)
|
|
@@ -282299,7 +282538,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
282299
282538
|
/***/ ((module) => {
|
|
282300
282539
|
|
|
282301
282540
|
"use strict";
|
|
282302
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.0.0-dev.
|
|
282541
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.0.0-dev.105","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-eslintrc -c \\"./node_modules/@itwin/eslint-plugin/dist/configs/extension-exports-config.js\\" \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.0.0-dev.105","@itwin/core-bentley":"workspace:^4.0.0-dev.105","@itwin/core-common":"workspace:^4.0.0-dev.105","@itwin/core-geometry":"workspace:^4.0.0-dev.105","@itwin/core-orbitgt":"workspace:^4.0.0-dev.105","@itwin/core-quantity":"workspace:^4.0.0-dev.105"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"^4.0.0-dev.33","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"^18.11.5","@types/sinon":"^9.0.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.36.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^9.0.2","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/object-storage-azure":"^1.5.0","@itwin/cloud-agnostic-core":"^1.5.0","@itwin/object-storage-core":"^1.5.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0","reflect-metadata":"0.1.13"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"},"eslintConfig":{"plugins":["@itwin"],"extends":"plugin:@itwin/itwinjs-recommended","rules":{"@itwin/no-internal-barrel-imports":["error",{"required-barrel-modules":["./src/tile/internal.ts"]}],"@itwin/public-extension-exports":["error",{"releaseTags":["public","preview"],"outputApiFile":false}]},"overrides":[{"files":["*.test.ts","*.test.tsx","**/test/**/*.ts"],"rules":{"@itwin/no-internal-barrel-imports":"off"}}]}}');
|
|
282303
282542
|
|
|
282304
282543
|
/***/ })
|
|
282305
282544
|
|