@itwin/core-bentley 4.8.0-dev.2 → 4.8.0-dev.20
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 +21 -1
- package/lib/cjs/BeEvent.d.ts +17 -0
- package/lib/cjs/BeEvent.d.ts.map +1 -1
- package/lib/cjs/BeEvent.js.map +1 -1
- package/lib/cjs/BeSQLite.d.ts +0 -38
- package/lib/cjs/BeSQLite.d.ts.map +1 -1
- package/lib/cjs/BeSQLite.js +1 -43
- package/lib/cjs/BeSQLite.js.map +1 -1
- package/lib/cjs/BentleyError.d.ts +0 -43
- package/lib/cjs/BentleyError.d.ts.map +1 -1
- package/lib/cjs/BentleyError.js +17 -53
- package/lib/cjs/BentleyError.js.map +1 -1
- package/lib/cjs/CompressedId64Set.d.ts +1 -1
- package/lib/cjs/CompressedId64Set.js +1 -1
- package/lib/cjs/CompressedId64Set.js.map +1 -1
- package/lib/cjs/Logger.d.ts +15 -12
- package/lib/cjs/Logger.d.ts.map +1 -1
- package/lib/cjs/Logger.js +27 -14
- package/lib/cjs/Logger.js.map +1 -1
- package/lib/cjs/ObservableSet.d.ts +6 -2
- package/lib/cjs/ObservableSet.d.ts.map +1 -1
- package/lib/cjs/ObservableSet.js +6 -2
- package/lib/cjs/ObservableSet.js.map +1 -1
- package/lib/cjs/StatusCategory.js +17 -16
- package/lib/cjs/StatusCategory.js.map +1 -1
- package/lib/cjs/StringUtils.d.ts +0 -4
- package/lib/cjs/StringUtils.d.ts.map +1 -1
- package/lib/cjs/StringUtils.js +3 -119
- package/lib/cjs/StringUtils.js.map +1 -1
- package/lib/cjs/Tracing.d.ts +0 -1
- package/lib/cjs/Tracing.d.ts.map +1 -1
- package/lib/cjs/Tracing.js +0 -1
- package/lib/cjs/Tracing.js.map +1 -1
- package/lib/cjs/YieldManager.d.ts +1 -2
- package/lib/cjs/YieldManager.d.ts.map +1 -1
- package/lib/cjs/YieldManager.js +0 -1
- package/lib/cjs/YieldManager.js.map +1 -1
- package/lib/cjs/core-bentley.d.ts +1 -0
- package/lib/cjs/core-bentley.d.ts.map +1 -1
- package/lib/cjs/core-bentley.js +2 -0
- package/lib/cjs/core-bentley.js.map +1 -1
- package/lib/cjs/internal/BeSQLiteInternal.d.ts +36 -0
- package/lib/cjs/internal/BeSQLiteInternal.d.ts.map +1 -0
- package/lib/cjs/internal/BeSQLiteInternal.js +47 -0
- package/lib/cjs/internal/BeSQLiteInternal.js.map +1 -0
- package/lib/cjs/internal/RepositoryStatus.d.ts +40 -0
- package/lib/cjs/internal/RepositoryStatus.d.ts.map +1 -0
- package/lib/cjs/internal/RepositoryStatus.js +48 -0
- package/lib/cjs/internal/RepositoryStatus.js.map +1 -0
- package/lib/cjs/internal/cross-package.d.ts +4 -0
- package/lib/cjs/internal/cross-package.d.ts.map +1 -0
- package/lib/cjs/internal/cross-package.js +17 -0
- package/lib/cjs/internal/cross-package.js.map +1 -0
- package/lib/cjs/internal/staticLoggerMetadata.d.ts +11 -0
- package/lib/cjs/internal/staticLoggerMetadata.d.ts.map +1 -0
- package/lib/cjs/internal/staticLoggerMetadata.js +17 -0
- package/lib/cjs/internal/staticLoggerMetadata.js.map +1 -0
- package/lib/esm/BeEvent.d.ts +17 -0
- package/lib/esm/BeEvent.d.ts.map +1 -1
- package/lib/esm/BeEvent.js.map +1 -1
- package/lib/esm/BeSQLite.d.ts +0 -38
- package/lib/esm/BeSQLite.d.ts.map +1 -1
- package/lib/esm/BeSQLite.js +0 -42
- package/lib/esm/BeSQLite.js.map +1 -1
- package/lib/esm/BentleyError.d.ts +0 -43
- package/lib/esm/BentleyError.d.ts.map +1 -1
- package/lib/esm/BentleyError.js +1 -37
- package/lib/esm/BentleyError.js.map +1 -1
- package/lib/esm/CompressedId64Set.d.ts +1 -1
- package/lib/esm/CompressedId64Set.js +1 -1
- package/lib/esm/CompressedId64Set.js.map +1 -1
- package/lib/esm/Logger.d.ts +15 -12
- package/lib/esm/Logger.d.ts.map +1 -1
- package/lib/esm/Logger.js +27 -14
- package/lib/esm/Logger.js.map +1 -1
- package/lib/esm/ObservableSet.d.ts +6 -2
- package/lib/esm/ObservableSet.d.ts.map +1 -1
- package/lib/esm/ObservableSet.js +6 -2
- package/lib/esm/ObservableSet.js.map +1 -1
- package/lib/esm/StatusCategory.js +2 -1
- package/lib/esm/StatusCategory.js.map +1 -1
- package/lib/esm/StringUtils.d.ts +0 -4
- package/lib/esm/StringUtils.d.ts.map +1 -1
- package/lib/esm/StringUtils.js +2 -117
- package/lib/esm/StringUtils.js.map +1 -1
- package/lib/esm/Tracing.d.ts +0 -1
- package/lib/esm/Tracing.d.ts.map +1 -1
- package/lib/esm/Tracing.js +0 -1
- package/lib/esm/Tracing.js.map +1 -1
- package/lib/esm/YieldManager.d.ts +1 -2
- package/lib/esm/YieldManager.d.ts.map +1 -1
- package/lib/esm/YieldManager.js +0 -1
- package/lib/esm/YieldManager.js.map +1 -1
- package/lib/esm/core-bentley.d.ts +1 -0
- package/lib/esm/core-bentley.d.ts.map +1 -1
- package/lib/esm/core-bentley.js +2 -0
- package/lib/esm/core-bentley.js.map +1 -1
- package/lib/esm/internal/BeSQLiteInternal.d.ts +36 -0
- package/lib/esm/internal/BeSQLiteInternal.d.ts.map +1 -0
- package/lib/esm/internal/BeSQLiteInternal.js +44 -0
- package/lib/esm/internal/BeSQLiteInternal.js.map +1 -0
- package/lib/esm/internal/RepositoryStatus.d.ts +40 -0
- package/lib/esm/internal/RepositoryStatus.d.ts.map +1 -0
- package/lib/esm/internal/RepositoryStatus.js +45 -0
- package/lib/esm/internal/RepositoryStatus.js.map +1 -0
- package/lib/esm/internal/cross-package.d.ts +4 -0
- package/lib/esm/internal/cross-package.d.ts.map +1 -0
- package/lib/esm/internal/cross-package.js +8 -0
- package/lib/esm/internal/cross-package.js.map +1 -0
- package/lib/esm/internal/staticLoggerMetadata.d.ts +11 -0
- package/lib/esm/internal/staticLoggerMetadata.d.ts.map +1 -0
- package/lib/esm/internal/staticLoggerMetadata.js +14 -0
- package/lib/esm/internal/staticLoggerMetadata.js.map +1 -0
- package/package.json +4 -3
package/lib/cjs/Logger.js
CHANGED
|
@@ -8,8 +8,10 @@
|
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.PerfLogger = exports.Logger = exports.LogLevel = void 0;
|
|
11
|
+
const BeEvent_1 = require("./BeEvent");
|
|
11
12
|
const BentleyError_1 = require("./BentleyError");
|
|
12
13
|
const BentleyLoggerCategory_1 = require("./BentleyLoggerCategory");
|
|
14
|
+
const staticLoggerMetadata_1 = require("./internal/staticLoggerMetadata");
|
|
13
15
|
/** Use to categorize logging messages by severity.
|
|
14
16
|
* @public
|
|
15
17
|
*/
|
|
@@ -31,13 +33,29 @@ var LogLevel;
|
|
|
31
33
|
* @public
|
|
32
34
|
*/
|
|
33
35
|
class Logger {
|
|
34
|
-
/**
|
|
36
|
+
/** An event raised whenever [[setLevel]] or [[setLevelDefault]] is called. */
|
|
37
|
+
static get onLogLevelChanged() {
|
|
38
|
+
// We have to lazily initialize because it's static and BeEvent imports UnexpectedErrors which imports Logger which wants to instantiate BeEvent.
|
|
39
|
+
if (undefined === Logger._onLogLevelChanged) {
|
|
40
|
+
Logger._onLogLevelChanged = new BeEvent_1.BeEvent();
|
|
41
|
+
}
|
|
42
|
+
return Logger._onLogLevelChanged;
|
|
43
|
+
}
|
|
44
|
+
/** Maps category names to the least severe level at which messages in that category should be displayed,
|
|
45
|
+
* or `undefined` if a minimum has not been defined.
|
|
46
|
+
* @see [[setLevel]] to change the minimum logging level for a category.
|
|
47
|
+
*/
|
|
35
48
|
static get categoryFilter() {
|
|
36
|
-
|
|
49
|
+
// NOTE: this property is accessed by native code.
|
|
50
|
+
return this._categoryFilter;
|
|
37
51
|
}
|
|
38
|
-
/**
|
|
52
|
+
/** The least severe level at which messages should be displayed by default.
|
|
53
|
+
* @see [[setLevelDefault]] to change this default.
|
|
54
|
+
* @see [[setLevel]] to override this default for specific categories.
|
|
55
|
+
*/
|
|
39
56
|
static get minLevel() {
|
|
40
|
-
|
|
57
|
+
// NOTE: this property is accessed by native code. */
|
|
58
|
+
return this._minLevel;
|
|
41
59
|
}
|
|
42
60
|
/** Initialize the logger streams. Should be called at application initialization time. */
|
|
43
61
|
static initialize(logError, logWarning, logInfo, logTrace) {
|
|
@@ -56,7 +74,7 @@ class Logger {
|
|
|
56
74
|
/** merge the supplied metadata with all static metadata into one object */
|
|
57
75
|
static getMetaData(metaData) {
|
|
58
76
|
const metaObj = {};
|
|
59
|
-
for (const meta of
|
|
77
|
+
for (const meta of staticLoggerMetadata_1.staticLoggerMetadata) {
|
|
60
78
|
const val = BentleyError_1.BentleyError.getMetaData(meta[1]);
|
|
61
79
|
if (val)
|
|
62
80
|
Object.assign(metaObj, val);
|
|
@@ -72,14 +90,14 @@ class Logger {
|
|
|
72
90
|
/** Set the least severe level at which messages should be displayed by default. Call setLevel to override this default setting for specific categories. */
|
|
73
91
|
static setLevelDefault(minLevel) {
|
|
74
92
|
this._minLevel = minLevel;
|
|
75
|
-
this.
|
|
93
|
+
this.onLogLevelChanged.raiseEvent();
|
|
76
94
|
}
|
|
77
95
|
/** Set the minimum logging level for the specified category. The minimum level is least severe level at which messages in the
|
|
78
96
|
* specified category should be displayed.
|
|
79
97
|
*/
|
|
80
98
|
static setLevel(category, minLevel) {
|
|
81
99
|
Logger._categoryFilter[category] = minLevel;
|
|
82
|
-
this.
|
|
100
|
+
this.onLogLevelChanged.raiseEvent();
|
|
83
101
|
}
|
|
84
102
|
/** Interpret a string as the name of a LogLevel */
|
|
85
103
|
static parseLogLevel(str) {
|
|
@@ -135,7 +153,7 @@ class Logger {
|
|
|
135
153
|
/** Get the minimum logging level for the specified category. */
|
|
136
154
|
static getLevel(category) {
|
|
137
155
|
// Prefer the level set for this category specifically
|
|
138
|
-
const minLevelForThisCategory = Logger.
|
|
156
|
+
const minLevelForThisCategory = Logger.categoryFilter[category];
|
|
139
157
|
if (minLevelForThisCategory !== undefined)
|
|
140
158
|
return minLevelForThisCategory;
|
|
141
159
|
// Fall back on the level set for the parent of this category.
|
|
@@ -143,7 +161,7 @@ class Logger {
|
|
|
143
161
|
if (parent !== -1)
|
|
144
162
|
return Logger.getLevel(category.slice(0, parent));
|
|
145
163
|
// Fall back on the default level.
|
|
146
|
-
return Logger.
|
|
164
|
+
return Logger.minLevel;
|
|
147
165
|
}
|
|
148
166
|
/** Turns off the least severe level at which messages should be displayed by default.
|
|
149
167
|
* This turns off logging for all messages for which no category minimum level is defined.
|
|
@@ -216,11 +234,6 @@ exports.Logger = Logger;
|
|
|
216
234
|
Logger._categoryFilter = {};
|
|
217
235
|
/** Should the call stack be included when an exception is logged? */
|
|
218
236
|
Logger.logExceptionCallstacks = false;
|
|
219
|
-
/** All static metadata is combined with per-call metadata and stringified in every log message.
|
|
220
|
-
* Static metadata can either be an object or a function that returns an object.
|
|
221
|
-
* Use a key to identify entries in the map so the can be removed individually.
|
|
222
|
-
* @internal */
|
|
223
|
-
Logger.staticMetaData = new Map();
|
|
224
237
|
/** Simple performance diagnostics utility.
|
|
225
238
|
* It measures the time from construction to disposal. On disposal it logs the routine name along with
|
|
226
239
|
* the duration in milliseconds.
|
package/lib/cjs/Logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Logging\r\n */\r\n\r\nimport { BentleyError, IModelStatus, LoggingMetaData } from \"./BentleyError\";\r\nimport { BentleyLoggerCategory } from \"./BentleyLoggerCategory\";\r\nimport { IDisposable } from \"./Disposable\";\r\n\r\n/** Defines the *signature* for a log function.\r\n * @public\r\n */\r\nexport type LogFunction = (category: string, message: string, metaData: LoggingMetaData) => void;\r\n\r\n/** Use to categorize logging messages by severity.\r\n * @public\r\n */\r\nexport enum LogLevel {\r\n /** Tracing and debugging - low level */\r\n Trace,\r\n /** Information - mid level */\r\n Info,\r\n /** Warnings - high level */\r\n Warning,\r\n /** Errors - highest level */\r\n Error,\r\n /** Higher than any real logging level. This is used to turn a category off. */\r\n None,\r\n}\r\n\r\n/** Identifies a logging category and the LogLevel that should be used for it. The LogLevel is specified by its string name.\r\n * @public\r\n */\r\nexport interface LoggerCategoryAndLevel {\r\n category: string;\r\n logLevel: string;\r\n}\r\n\r\n/** Specifies logging levels, including the default logging level and a set of categories and levels for them.\r\n * @public\r\n */\r\nexport interface LoggerLevelsConfig {\r\n defaultLevel?: string;\r\n categoryLevels?: LoggerCategoryAndLevel[];\r\n}\r\n\r\n/** Logger allows libraries and apps to report potentially useful information about operations, and it allows apps and users to control\r\n * how or if the logged information is displayed or collected. See [Learning about Logging]($docs/learning/common/Logging.md).\r\n * @public\r\n */\r\nexport class Logger {\r\n protected static _logError: LogFunction | undefined;\r\n protected static _logWarning: LogFunction | undefined;\r\n protected static _logInfo: LogFunction | undefined;\r\n protected static _logTrace: LogFunction | undefined;\r\n /** @internal */\r\n public static logLevelChangedFn?: VoidFunction;\r\n\r\n private static _categoryFilter: {[categoryName: string]: LogLevel} = {};\r\n /** @internal */\r\n public static get categoryFilter() {\r\n return { ...Logger._categoryFilter };\r\n }\r\n\r\n private static _minLevel: LogLevel | undefined;\r\n /** @internal */\r\n public static get minLevel() {\r\n return Logger._minLevel;\r\n }\r\n\r\n /** Should the call stack be included when an exception is logged? */\r\n public static logExceptionCallstacks = false;\r\n\r\n /** All static metadata is combined with per-call metadata and stringified in every log message.\r\n * Static metadata can either be an object or a function that returns an object.\r\n * Use a key to identify entries in the map so the can be removed individually.\r\n * @internal */\r\n public static staticMetaData = new Map<string, LoggingMetaData>();\r\n\r\n /** Initialize the logger streams. Should be called at application initialization time. */\r\n public static initialize(logError?: LogFunction, logWarning?: LogFunction, logInfo?: LogFunction, logTrace?: LogFunction): void {\r\n Logger._logError = logError;\r\n Logger._logWarning = logWarning;\r\n Logger._logInfo = logInfo;\r\n Logger._logTrace = logTrace;\r\n Logger.turnOffLevelDefault();\r\n Logger.turnOffCategories();\r\n }\r\n\r\n /** Initialize the logger to output to the console. */\r\n public static initializeToConsole(): void {\r\n const logConsole = (level: string) => (category: string, message: string, metaData: LoggingMetaData) =>\r\n console.log(`${level} | ${category} | ${message} ${Logger.stringifyMetaData(metaData)}`); // eslint-disable-line no-console\r\n\r\n Logger.initialize(logConsole(\"Error\"), logConsole(\"Warning\"), logConsole(\"Info\"), logConsole(\"Trace\"));\r\n }\r\n\r\n /** merge the supplied metadata with all static metadata into one object */\r\n public static getMetaData(metaData?: LoggingMetaData): object {\r\n const metaObj = {};\r\n for (const meta of Logger.staticMetaData) {\r\n const val = BentleyError.getMetaData(meta[1]);\r\n if (val)\r\n Object.assign(metaObj, val);\r\n }\r\n Object.assign(metaObj, BentleyError.getMetaData(metaData)); // do this last so user supplied values take precedence\r\n return metaObj;\r\n }\r\n\r\n /** stringify the metadata for a log message by merging the supplied metadata with all static metadata into one object that is then `JSON.stringify`ed. */\r\n public static stringifyMetaData(metaData?: LoggingMetaData): string {\r\n const metaObj = this.getMetaData(metaData);\r\n return Object.keys(metaObj).length > 0 ? JSON.stringify(metaObj) : \"\";\r\n }\r\n\r\n /** Set the least severe level at which messages should be displayed by default. Call setLevel to override this default setting for specific categories. */\r\n public static setLevelDefault(minLevel: LogLevel): void {\r\n this._minLevel = minLevel;\r\n this.logLevelChangedFn?.();\r\n }\r\n\r\n /** Set the minimum logging level for the specified category. The minimum level is least severe level at which messages in the\r\n * specified category should be displayed.\r\n */\r\n public static setLevel(category: string, minLevel: LogLevel) {\r\n Logger._categoryFilter[category] = minLevel;\r\n this.logLevelChangedFn?.();\r\n }\r\n\r\n /** Interpret a string as the name of a LogLevel */\r\n public static parseLogLevel(str: string): LogLevel {\r\n switch (str.toUpperCase()) {\r\n case \"EXCEPTION\": return LogLevel.Error;\r\n case \"FATAL\": return LogLevel.Error;\r\n case \"ERROR\": return LogLevel.Error;\r\n case \"WARNING\": return LogLevel.Warning;\r\n case \"INFO\": return LogLevel.Info;\r\n case \"TRACE\": return LogLevel.Trace;\r\n case \"DEBUG\": return LogLevel.Trace;\r\n }\r\n return LogLevel.None;\r\n }\r\n\r\n /** Set the log level for multiple categories at once. Also see [[validateProps]] */\r\n public static configureLevels(cfg: LoggerLevelsConfig) {\r\n Logger.validateProps(cfg);\r\n if (cfg.defaultLevel !== undefined) {\r\n this.setLevelDefault(Logger.parseLogLevel(cfg.defaultLevel));\r\n }\r\n if (cfg.categoryLevels !== undefined) {\r\n for (const cl of cfg.categoryLevels) {\r\n this.setLevel(cl.category, Logger.parseLogLevel(cl.logLevel));\r\n }\r\n }\r\n }\r\n\r\n private static isLogLevel(v: string) {\r\n return LogLevel.hasOwnProperty(v);\r\n }\r\n\r\n /** Check that the specified object is a valid LoggerLevelsConfig. This is useful when reading a config from a .json file. */\r\n public static validateProps(config: any) {\r\n const validProps = [\"defaultLevel\", \"categoryLevels\"];\r\n for (const prop of Object.keys(config)) {\r\n if (!validProps.includes(prop))\r\n throw new BentleyError(IModelStatus.BadArg, `LoggerLevelsConfig - unrecognized property: ${prop}`);\r\n if (prop === \"defaultLevel\") {\r\n if (!Logger.isLogLevel(config.defaultLevel))\r\n throw new BentleyError(IModelStatus.BadArg, `LoggerLevelsConfig.defaultLevel must be a LogLevel. Invalid value: ${JSON.stringify(config.defaultLevel)}`);\r\n } else if (prop === \"categoryLevels\") {\r\n const value = config[prop];\r\n if (!Array.isArray(value))\r\n throw new BentleyError(IModelStatus.BadArg, `LoggerLevelsConfig.categoryLevels must be an array. Invalid value: ${JSON.stringify(value)}`);\r\n for (const item of config[prop]) {\r\n if (!item.hasOwnProperty(\"category\") || !item.hasOwnProperty(\"logLevel\"))\r\n throw new BentleyError(IModelStatus.BadArg, `LoggerLevelsConfig.categoryLevels - each item must be a LoggerCategoryAndLevel {category: logLevel:}. Invalid value: ${JSON.stringify(item)}`);\r\n if (!Logger.isLogLevel(item.logLevel))\r\n throw new BentleyError(IModelStatus.BadArg, `LoggerLevelsConfig.categoryLevels - each item's logLevel property must be a LogLevel. Invalid value: ${JSON.stringify(item.logLevel)}`);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** Get the minimum logging level for the specified category. */\r\n public static getLevel(category: string): LogLevel | undefined {\r\n // Prefer the level set for this category specifically\r\n const minLevelForThisCategory = Logger._categoryFilter[category];\r\n if (minLevelForThisCategory !== undefined)\r\n return minLevelForThisCategory;\r\n\r\n // Fall back on the level set for the parent of this category.\r\n const parent = category.lastIndexOf(\".\");\r\n if (parent !== -1)\r\n return Logger.getLevel(category.slice(0, parent));\r\n\r\n // Fall back on the default level.\r\n return Logger._minLevel;\r\n }\r\n\r\n /** Turns off the least severe level at which messages should be displayed by default.\r\n * This turns off logging for all messages for which no category minimum level is defined.\r\n */\r\n public static turnOffLevelDefault(): void {\r\n Logger._minLevel = undefined;\r\n }\r\n\r\n /** Turns off all category level filters previously defined with [[Logger.setLevel]].\r\n */\r\n public static turnOffCategories(): void {\r\n Logger._categoryFilter = {};\r\n }\r\n\r\n /** Check if messages in the specified category should be displayed at this level of severity. */\r\n public static isEnabled(category: string, level: LogLevel): boolean {\r\n const minLevel = Logger.getLevel(category);\r\n return (minLevel !== undefined) && (level >= minLevel);\r\n }\r\n\r\n /** Log the specified message to the **error** stream.\r\n * @param category The category of the message.\r\n * @param message The message.\r\n * @param metaData Optional data for the message\r\n */\r\n public static logError(category: string, message: string, metaData?: LoggingMetaData): void {\r\n if (Logger._logError && Logger.isEnabled(category, LogLevel.Error))\r\n Logger._logError(category, message, metaData);\r\n }\r\n\r\n private static getExceptionMessage(err: unknown): string {\r\n const stack = Logger.logExceptionCallstacks ? `\\n${BentleyError.getErrorStack(err)}` : \"\";\r\n return BentleyError.getErrorMessage(err) + stack;\r\n }\r\n\r\n /** Log the specified exception. The special \"ExceptionType\" property will be added as metadata.\r\n * @param category The category of the message.\r\n * @param err The exception object.\r\n * @param log The logger output function to use - defaults to Logger.logError\r\n */\r\n public static logException(category: string, err: any, log: LogFunction = (_category, message, metaData) => Logger.logError(_category, message, metaData)): void {\r\n log(category, Logger.getExceptionMessage(err), () => {\r\n return { ...BentleyError.getErrorMetadata(err), exceptionType: err.constructor.name };\r\n });\r\n }\r\n\r\n /** Log the specified message to the **warning** stream.\r\n * @param category The category of the message.\r\n * @param message The message.\r\n * @param metaData Optional data for the message\r\n */\r\n public static logWarning(category: string, message: string, metaData?: LoggingMetaData): void {\r\n if (Logger._logWarning && Logger.isEnabled(category, LogLevel.Warning))\r\n Logger._logWarning(category, message, metaData);\r\n }\r\n\r\n /** Log the specified message to the **info** stream.\r\n * @param category The category of the message.\r\n * @param message The message.\r\n * @param metaData Optional data for the message\r\n */\r\n public static logInfo(category: string, message: string, metaData?: LoggingMetaData): void {\r\n if (Logger._logInfo && Logger.isEnabled(category, LogLevel.Info))\r\n Logger._logInfo(category, message, metaData);\r\n }\r\n\r\n /** Log the specified message to the **trace** stream.\r\n * @param category The category of the message.\r\n * @param message The message.\r\n * @param metaData Optional data for the message\r\n */\r\n public static logTrace(category: string, message: string, metaData?: LoggingMetaData): void {\r\n if (Logger._logTrace && Logger.isEnabled(category, LogLevel.Trace))\r\n Logger._logTrace(category, message, metaData);\r\n }\r\n}\r\n\r\n/** Simple performance diagnostics utility.\r\n * It measures the time from construction to disposal. On disposal it logs the routine name along with\r\n * the duration in milliseconds.\r\n * It also logs the routine name at construction time so that nested calls can be disambiguated.\r\n *\r\n * The timings are logged using the log category **Performance** and log severity [[LogLevel.INFO]].\r\n * Enable those, if you want to capture timings.\r\n * @public\r\n */\r\nexport class PerfLogger implements IDisposable {\r\n private static _severity: LogLevel = LogLevel.Info;\r\n\r\n private _operation: string;\r\n private _metaData?: LoggingMetaData;\r\n private _startTimeStamp: number;\r\n\r\n public constructor(operation: string, metaData?: LoggingMetaData) {\r\n this._operation = operation;\r\n this._metaData = metaData;\r\n\r\n if (!Logger.isEnabled(BentleyLoggerCategory.Performance, PerfLogger._severity)) {\r\n this._startTimeStamp = 0;\r\n return;\r\n }\r\n\r\n Logger.logInfo(BentleyLoggerCategory.Performance, `${this._operation},START`, this._metaData);\r\n this._startTimeStamp = new Date().getTime(); // take timestamp\r\n }\r\n\r\n private logMessage(): void {\r\n const endTimeStamp: number = new Date().getTime();\r\n if (!Logger.isEnabled(BentleyLoggerCategory.Performance, PerfLogger._severity))\r\n return;\r\n\r\n Logger.logInfo(BentleyLoggerCategory.Performance, `${this._operation},END`, () => {\r\n const mdata = this._metaData ? BentleyError.getMetaData(this._metaData) : {};\r\n return {\r\n ...mdata, TimeElapsed: endTimeStamp - this._startTimeStamp, // eslint-disable-line @typescript-eslint/naming-convention\r\n };\r\n });\r\n }\r\n\r\n public dispose(): void {\r\n this.logMessage();\r\n }\r\n}\r\n\r\n"]}
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Logging\r\n */\r\n\r\nimport { BeEvent } from \"./BeEvent\";\r\nimport { BentleyError, IModelStatus, LoggingMetaData } from \"./BentleyError\";\r\nimport { BentleyLoggerCategory } from \"./BentleyLoggerCategory\";\r\nimport { IDisposable } from \"./Disposable\";\r\nimport { staticLoggerMetadata } from \"./internal/staticLoggerMetadata\";\r\n\r\n/** Defines the *signature* for a log function.\r\n * @public\r\n */\r\nexport type LogFunction = (category: string, message: string, metaData: LoggingMetaData) => void;\r\n\r\n/** Use to categorize logging messages by severity.\r\n * @public\r\n */\r\nexport enum LogLevel {\r\n /** Tracing and debugging - low level */\r\n Trace,\r\n /** Information - mid level */\r\n Info,\r\n /** Warnings - high level */\r\n Warning,\r\n /** Errors - highest level */\r\n Error,\r\n /** Higher than any real logging level. This is used to turn a category off. */\r\n None,\r\n}\r\n\r\n/** Identifies a logging category and the LogLevel that should be used for it. The LogLevel is specified by its string name.\r\n * @public\r\n */\r\nexport interface LoggerCategoryAndLevel {\r\n category: string;\r\n logLevel: string;\r\n}\r\n\r\n/** Specifies logging levels, including the default logging level and a set of categories and levels for them.\r\n * @public\r\n */\r\nexport interface LoggerLevelsConfig {\r\n defaultLevel?: string;\r\n categoryLevels?: LoggerCategoryAndLevel[];\r\n}\r\n\r\n/** Logger allows libraries and apps to report potentially useful information about operations, and it allows apps and users to control\r\n * how or if the logged information is displayed or collected. See [Learning about Logging]($docs/learning/common/Logging.md).\r\n * @public\r\n */\r\nexport class Logger {\r\n protected static _logError: LogFunction | undefined;\r\n protected static _logWarning: LogFunction | undefined;\r\n protected static _logInfo: LogFunction | undefined;\r\n protected static _logTrace: LogFunction | undefined;\r\n\r\n private static _onLogLevelChanged: BeEvent<() => void> | undefined;\r\n\r\n /** An event raised whenever [[setLevel]] or [[setLevelDefault]] is called. */\r\n public static get onLogLevelChanged(): BeEvent<() => void> {\r\n // We have to lazily initialize because it's static and BeEvent imports UnexpectedErrors which imports Logger which wants to instantiate BeEvent.\r\n if (undefined === Logger._onLogLevelChanged) {\r\n Logger._onLogLevelChanged = new BeEvent<() => void>();\r\n }\r\n\r\n return Logger._onLogLevelChanged;\r\n }\r\n\r\n private static _categoryFilter: {[categoryName: string]: LogLevel | undefined} = {};\r\n\r\n /** Maps category names to the least severe level at which messages in that category should be displayed,\r\n * or `undefined` if a minimum has not been defined.\r\n * @see [[setLevel]] to change the minimum logging level for a category.\r\n */\r\n public static get categoryFilter(): Readonly<{[categoryName: string]: LogLevel | undefined}> {\r\n // NOTE: this property is accessed by native code.\r\n return this._categoryFilter;\r\n }\r\n\r\n private static _minLevel: LogLevel | undefined;\r\n\r\n /** The least severe level at which messages should be displayed by default.\r\n * @see [[setLevelDefault]] to change this default.\r\n * @see [[setLevel]] to override this default for specific categories.\r\n */\r\n public static get minLevel(): LogLevel | undefined {\r\n // NOTE: this property is accessed by native code. */\r\n return this._minLevel;\r\n }\r\n\r\n /** Should the call stack be included when an exception is logged? */\r\n public static logExceptionCallstacks = false;\r\n\r\n /** Initialize the logger streams. Should be called at application initialization time. */\r\n public static initialize(logError?: LogFunction, logWarning?: LogFunction, logInfo?: LogFunction, logTrace?: LogFunction): void {\r\n Logger._logError = logError;\r\n Logger._logWarning = logWarning;\r\n Logger._logInfo = logInfo;\r\n Logger._logTrace = logTrace;\r\n Logger.turnOffLevelDefault();\r\n Logger.turnOffCategories();\r\n }\r\n\r\n /** Initialize the logger to output to the console. */\r\n public static initializeToConsole(): void {\r\n const logConsole = (level: string) => (category: string, message: string, metaData: LoggingMetaData) =>\r\n console.log(`${level} | ${category} | ${message} ${Logger.stringifyMetaData(metaData)}`); // eslint-disable-line no-console\r\n\r\n Logger.initialize(logConsole(\"Error\"), logConsole(\"Warning\"), logConsole(\"Info\"), logConsole(\"Trace\"));\r\n }\r\n\r\n /** merge the supplied metadata with all static metadata into one object */\r\n public static getMetaData(metaData?: LoggingMetaData): object {\r\n const metaObj = {};\r\n for (const meta of staticLoggerMetadata) {\r\n const val = BentleyError.getMetaData(meta[1]);\r\n if (val)\r\n Object.assign(metaObj, val);\r\n }\r\n Object.assign(metaObj, BentleyError.getMetaData(metaData)); // do this last so user supplied values take precedence\r\n return metaObj;\r\n }\r\n\r\n /** stringify the metadata for a log message by merging the supplied metadata with all static metadata into one object that is then `JSON.stringify`ed. */\r\n public static stringifyMetaData(metaData?: LoggingMetaData): string {\r\n const metaObj = this.getMetaData(metaData);\r\n return Object.keys(metaObj).length > 0 ? JSON.stringify(metaObj) : \"\";\r\n }\r\n\r\n /** Set the least severe level at which messages should be displayed by default. Call setLevel to override this default setting for specific categories. */\r\n public static setLevelDefault(minLevel: LogLevel): void {\r\n this._minLevel = minLevel;\r\n this.onLogLevelChanged.raiseEvent();\r\n }\r\n\r\n /** Set the minimum logging level for the specified category. The minimum level is least severe level at which messages in the\r\n * specified category should be displayed.\r\n */\r\n public static setLevel(category: string, minLevel: LogLevel) {\r\n Logger._categoryFilter[category] = minLevel;\r\n this.onLogLevelChanged.raiseEvent();\r\n }\r\n\r\n /** Interpret a string as the name of a LogLevel */\r\n public static parseLogLevel(str: string): LogLevel {\r\n switch (str.toUpperCase()) {\r\n case \"EXCEPTION\": return LogLevel.Error;\r\n case \"FATAL\": return LogLevel.Error;\r\n case \"ERROR\": return LogLevel.Error;\r\n case \"WARNING\": return LogLevel.Warning;\r\n case \"INFO\": return LogLevel.Info;\r\n case \"TRACE\": return LogLevel.Trace;\r\n case \"DEBUG\": return LogLevel.Trace;\r\n }\r\n return LogLevel.None;\r\n }\r\n\r\n /** Set the log level for multiple categories at once. Also see [[validateProps]] */\r\n public static configureLevels(cfg: LoggerLevelsConfig) {\r\n Logger.validateProps(cfg);\r\n if (cfg.defaultLevel !== undefined) {\r\n this.setLevelDefault(Logger.parseLogLevel(cfg.defaultLevel));\r\n }\r\n if (cfg.categoryLevels !== undefined) {\r\n for (const cl of cfg.categoryLevels) {\r\n this.setLevel(cl.category, Logger.parseLogLevel(cl.logLevel));\r\n }\r\n }\r\n }\r\n\r\n private static isLogLevel(v: string) {\r\n return LogLevel.hasOwnProperty(v);\r\n }\r\n\r\n /** Check that the specified object is a valid LoggerLevelsConfig. This is useful when reading a config from a .json file. */\r\n public static validateProps(config: any) {\r\n const validProps = [\"defaultLevel\", \"categoryLevels\"];\r\n for (const prop of Object.keys(config)) {\r\n if (!validProps.includes(prop))\r\n throw new BentleyError(IModelStatus.BadArg, `LoggerLevelsConfig - unrecognized property: ${prop}`);\r\n if (prop === \"defaultLevel\") {\r\n if (!Logger.isLogLevel(config.defaultLevel))\r\n throw new BentleyError(IModelStatus.BadArg, `LoggerLevelsConfig.defaultLevel must be a LogLevel. Invalid value: ${JSON.stringify(config.defaultLevel)}`);\r\n } else if (prop === \"categoryLevels\") {\r\n const value = config[prop];\r\n if (!Array.isArray(value))\r\n throw new BentleyError(IModelStatus.BadArg, `LoggerLevelsConfig.categoryLevels must be an array. Invalid value: ${JSON.stringify(value)}`);\r\n for (const item of config[prop]) {\r\n if (!item.hasOwnProperty(\"category\") || !item.hasOwnProperty(\"logLevel\"))\r\n throw new BentleyError(IModelStatus.BadArg, `LoggerLevelsConfig.categoryLevels - each item must be a LoggerCategoryAndLevel {category: logLevel:}. Invalid value: ${JSON.stringify(item)}`);\r\n if (!Logger.isLogLevel(item.logLevel))\r\n throw new BentleyError(IModelStatus.BadArg, `LoggerLevelsConfig.categoryLevels - each item's logLevel property must be a LogLevel. Invalid value: ${JSON.stringify(item.logLevel)}`);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** Get the minimum logging level for the specified category. */\r\n public static getLevel(category: string): LogLevel | undefined {\r\n // Prefer the level set for this category specifically\r\n const minLevelForThisCategory = Logger.categoryFilter[category];\r\n if (minLevelForThisCategory !== undefined)\r\n return minLevelForThisCategory;\r\n\r\n // Fall back on the level set for the parent of this category.\r\n const parent = category.lastIndexOf(\".\");\r\n if (parent !== -1)\r\n return Logger.getLevel(category.slice(0, parent));\r\n\r\n // Fall back on the default level.\r\n return Logger.minLevel;\r\n }\r\n\r\n /** Turns off the least severe level at which messages should be displayed by default.\r\n * This turns off logging for all messages for which no category minimum level is defined.\r\n */\r\n public static turnOffLevelDefault(): void {\r\n Logger._minLevel = undefined;\r\n }\r\n\r\n /** Turns off all category level filters previously defined with [[Logger.setLevel]].\r\n */\r\n public static turnOffCategories(): void {\r\n Logger._categoryFilter = {};\r\n }\r\n\r\n /** Check if messages in the specified category should be displayed at this level of severity. */\r\n public static isEnabled(category: string, level: LogLevel): boolean {\r\n const minLevel = Logger.getLevel(category);\r\n return (minLevel !== undefined) && (level >= minLevel);\r\n }\r\n\r\n /** Log the specified message to the **error** stream.\r\n * @param category The category of the message.\r\n * @param message The message.\r\n * @param metaData Optional data for the message\r\n */\r\n public static logError(category: string, message: string, metaData?: LoggingMetaData): void {\r\n if (Logger._logError && Logger.isEnabled(category, LogLevel.Error))\r\n Logger._logError(category, message, metaData);\r\n }\r\n\r\n private static getExceptionMessage(err: unknown): string {\r\n const stack = Logger.logExceptionCallstacks ? `\\n${BentleyError.getErrorStack(err)}` : \"\";\r\n return BentleyError.getErrorMessage(err) + stack;\r\n }\r\n\r\n /** Log the specified exception. The special \"ExceptionType\" property will be added as metadata.\r\n * @param category The category of the message.\r\n * @param err The exception object.\r\n * @param log The logger output function to use - defaults to Logger.logError\r\n */\r\n public static logException(category: string, err: any, log: LogFunction = (_category, message, metaData) => Logger.logError(_category, message, metaData)): void {\r\n log(category, Logger.getExceptionMessage(err), () => {\r\n return { ...BentleyError.getErrorMetadata(err), exceptionType: err.constructor.name };\r\n });\r\n }\r\n\r\n /** Log the specified message to the **warning** stream.\r\n * @param category The category of the message.\r\n * @param message The message.\r\n * @param metaData Optional data for the message\r\n */\r\n public static logWarning(category: string, message: string, metaData?: LoggingMetaData): void {\r\n if (Logger._logWarning && Logger.isEnabled(category, LogLevel.Warning))\r\n Logger._logWarning(category, message, metaData);\r\n }\r\n\r\n /** Log the specified message to the **info** stream.\r\n * @param category The category of the message.\r\n * @param message The message.\r\n * @param metaData Optional data for the message\r\n */\r\n public static logInfo(category: string, message: string, metaData?: LoggingMetaData): void {\r\n if (Logger._logInfo && Logger.isEnabled(category, LogLevel.Info))\r\n Logger._logInfo(category, message, metaData);\r\n }\r\n\r\n /** Log the specified message to the **trace** stream.\r\n * @param category The category of the message.\r\n * @param message The message.\r\n * @param metaData Optional data for the message\r\n */\r\n public static logTrace(category: string, message: string, metaData?: LoggingMetaData): void {\r\n if (Logger._logTrace && Logger.isEnabled(category, LogLevel.Trace))\r\n Logger._logTrace(category, message, metaData);\r\n }\r\n}\r\n\r\n/** Simple performance diagnostics utility.\r\n * It measures the time from construction to disposal. On disposal it logs the routine name along with\r\n * the duration in milliseconds.\r\n * It also logs the routine name at construction time so that nested calls can be disambiguated.\r\n *\r\n * The timings are logged using the log category **Performance** and log severity [[LogLevel.INFO]].\r\n * Enable those, if you want to capture timings.\r\n * @public\r\n */\r\nexport class PerfLogger implements IDisposable {\r\n private static _severity: LogLevel = LogLevel.Info;\r\n\r\n private _operation: string;\r\n private _metaData?: LoggingMetaData;\r\n private _startTimeStamp: number;\r\n\r\n public constructor(operation: string, metaData?: LoggingMetaData) {\r\n this._operation = operation;\r\n this._metaData = metaData;\r\n\r\n if (!Logger.isEnabled(BentleyLoggerCategory.Performance, PerfLogger._severity)) {\r\n this._startTimeStamp = 0;\r\n return;\r\n }\r\n\r\n Logger.logInfo(BentleyLoggerCategory.Performance, `${this._operation},START`, this._metaData);\r\n this._startTimeStamp = new Date().getTime(); // take timestamp\r\n }\r\n\r\n private logMessage(): void {\r\n const endTimeStamp: number = new Date().getTime();\r\n if (!Logger.isEnabled(BentleyLoggerCategory.Performance, PerfLogger._severity))\r\n return;\r\n\r\n Logger.logInfo(BentleyLoggerCategory.Performance, `${this._operation},END`, () => {\r\n const mdata = this._metaData ? BentleyError.getMetaData(this._metaData) : {};\r\n return {\r\n ...mdata, TimeElapsed: endTimeStamp - this._startTimeStamp, // eslint-disable-line @typescript-eslint/naming-convention\r\n };\r\n });\r\n }\r\n\r\n public dispose(): void {\r\n this.logMessage();\r\n }\r\n}\r\n\r\n"]}
|
|
@@ -16,9 +16,13 @@ export declare class ObservableSet<T> extends Set<T> {
|
|
|
16
16
|
* @param elements Optional elements with which to populate the new set.
|
|
17
17
|
*/
|
|
18
18
|
constructor(elements?: Iterable<T> | undefined);
|
|
19
|
-
/**
|
|
19
|
+
/** Invokes [Set.delete](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/delete), raising
|
|
20
|
+
* the [[onDeleted]] event if the item was removed from the set.
|
|
21
|
+
*/
|
|
20
22
|
delete(item: T): boolean;
|
|
21
|
-
/**
|
|
23
|
+
/** If this set is not already empty, invokes [Set.clear](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/clear)
|
|
24
|
+
* and raises the [[onCleared]] event.
|
|
25
|
+
*/
|
|
22
26
|
clear(): void;
|
|
23
27
|
}
|
|
24
28
|
//# sourceMappingURL=ObservableSet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservableSet.d.ts","sourceRoot":"","sources":["../../src/ObservableSet.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;GAEG;AACH,qBAAa,aAAa,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,CAAC;IAC1C,iDAAiD;IACjD,SAAgB,OAAO,iBAAsB,CAAC,KAAK,IAAI,EAAI;IAC3D,qDAAqD;IACrD,SAAgB,SAAS,iBAAsB,CAAC,KAAK,IAAI,EAAI;IAC7D,qDAAqD;IACrD,SAAgB,SAAS,gBAAqB,IAAI,EAAI;IAEtD;;OAEG;gBACgB,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS;IAcrD
|
|
1
|
+
{"version":3,"file":"ObservableSet.d.ts","sourceRoot":"","sources":["../../src/ObservableSet.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;GAEG;AACH,qBAAa,aAAa,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,CAAC;IAC1C,iDAAiD;IACjD,SAAgB,OAAO,iBAAsB,CAAC,KAAK,IAAI,EAAI;IAC3D,qDAAqD;IACrD,SAAgB,SAAS,iBAAsB,CAAC,KAAK,IAAI,EAAI;IAC7D,qDAAqD;IACrD,SAAgB,SAAS,gBAAqB,IAAI,EAAI;IAEtD;;OAEG;gBACgB,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS;IAcrD;;OAEG;IACa,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO;IAQxC;;OAEG;IACa,KAAK,IAAI,IAAI;CAM9B"}
|
package/lib/cjs/ObservableSet.js
CHANGED
|
@@ -33,14 +33,18 @@ class ObservableSet extends Set {
|
|
|
33
33
|
return ret;
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
|
-
/**
|
|
36
|
+
/** Invokes [Set.delete](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/delete), raising
|
|
37
|
+
* the [[onDeleted]] event if the item was removed from the set.
|
|
38
|
+
*/
|
|
37
39
|
delete(item) {
|
|
38
40
|
const ret = super.delete(item);
|
|
39
41
|
if (ret)
|
|
40
42
|
this.onDeleted.raiseEvent(item);
|
|
41
43
|
return ret;
|
|
42
44
|
}
|
|
43
|
-
/**
|
|
45
|
+
/** If this set is not already empty, invokes [Set.clear](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/clear)
|
|
46
|
+
* and raises the [[onCleared]] event.
|
|
47
|
+
*/
|
|
44
48
|
clear() {
|
|
45
49
|
if (0 !== this.size) {
|
|
46
50
|
super.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservableSet.js","sourceRoot":"","sources":["../../src/ObservableSet.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,uCAAoC;AAEpC;;GAEG;AACH,MAAa,aAAiB,SAAQ,GAAM;IAQ1C;;OAEG;IACH,YAAmB,QAAkC;QACnD,4EAA4E;QAC5E,KAAK,CAAC,QAAQ,CAAC,CAAC;QAZlB,iDAAiD;QACjC,YAAO,GAAG,IAAI,iBAAO,EAAqB,CAAC;QAC3D,qDAAqD;QACrC,cAAS,GAAG,IAAI,iBAAO,EAAqB,CAAC;QAC7D,qDAAqD;QACrC,cAAS,GAAG,IAAI,iBAAO,EAAc,CAAC;QASpD,IAAI,CAAC,GAAG,GAAG,CAAC,IAAO,EAAE,EAAE;YACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;gBACxB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEhC,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;IACJ,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"ObservableSet.js","sourceRoot":"","sources":["../../src/ObservableSet.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,uCAAoC;AAEpC;;GAEG;AACH,MAAa,aAAiB,SAAQ,GAAM;IAQ1C;;OAEG;IACH,YAAmB,QAAkC;QACnD,4EAA4E;QAC5E,KAAK,CAAC,QAAQ,CAAC,CAAC;QAZlB,iDAAiD;QACjC,YAAO,GAAG,IAAI,iBAAO,EAAqB,CAAC;QAC3D,qDAAqD;QACrC,cAAS,GAAG,IAAI,iBAAO,EAAqB,CAAC;QAC7D,qDAAqD;QACrC,cAAS,GAAG,IAAI,iBAAO,EAAc,CAAC;QASpD,IAAI,CAAC,GAAG,GAAG,CAAC,IAAO,EAAE,EAAE;YACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;gBACxB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEhC,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACa,MAAM,CAAC,IAAO;QAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,GAAG;YACL,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAElC,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACa,KAAK;QACnB,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;CACF;AA7CD,sCA6CC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Collections\r\n */\r\n\r\nimport { BeEvent } from \"./BeEvent\";\r\n\r\n/** A standard [Set<T>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) that emits events when its contents change.\r\n * @public\r\n */\r\nexport class ObservableSet<T> extends Set<T> {\r\n /** Emitted after `item` is added to this set. */\r\n public readonly onAdded = new BeEvent<(item: T) => void>();\r\n /** Emitted after `item` is deleted from this set. */\r\n public readonly onDeleted = new BeEvent<(item: T) => void>();\r\n /** Emitted after this set's contents are cleared. */\r\n public readonly onCleared = new BeEvent<() => void>();\r\n\r\n /** Construct a new ObservableSet.\r\n * @param elements Optional elements with which to populate the new set.\r\n */\r\n public constructor(elements?: Iterable<T> | undefined) {\r\n // NB: Set constructor will invoke add(). Do not override until initialized.\r\n super(elements);\r\n\r\n this.add = (item: T) => { // eslint-disable-line @typescript-eslint/unbound-method\r\n const prevSize = this.size;\r\n const ret = super.add(item);\r\n if (this.size !== prevSize)\r\n this.onAdded.raiseEvent(item);\r\n\r\n return ret;\r\n };\r\n }\r\n\r\n /** Invokes [Set.delete](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/delete), raising\r\n * the [[onDeleted]] event if the item was removed from the set.\r\n */\r\n public override delete(item: T): boolean {\r\n const ret = super.delete(item);\r\n if (ret)\r\n this.onDeleted.raiseEvent(item);\r\n\r\n return ret;\r\n }\r\n\r\n /** If this set is not already empty, invokes [Set.clear](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/clear)\r\n * and raises the [[onCleared]] event.\r\n */\r\n public override clear(): void {\r\n if (0 !== this.size) {\r\n super.clear();\r\n this.onCleared.raiseEvent();\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.ErrorCategory = exports.SuccessCategory = exports.StatusCategory = void 0;
|
|
11
11
|
const BentleyError_1 = require("./BentleyError");
|
|
12
|
+
const RepositoryStatus_1 = require("./internal/RepositoryStatus");
|
|
12
13
|
/** A group of related statuses for aggregate reporting purposes.
|
|
13
14
|
* @alpha
|
|
14
15
|
*/
|
|
@@ -376,22 +377,22 @@ function lookupHttpStatusCategory(statusCode) {
|
|
|
376
377
|
case BentleyError_1.ChangeSetStatus.CannotMergeIntoReadonly: return new ValidationError();
|
|
377
378
|
case BentleyError_1.ChangeSetStatus.CannotMergeIntoMaster: return new ValidationError();
|
|
378
379
|
case BentleyError_1.ChangeSetStatus.CannotMergeIntoReversed: return new ValidationError();
|
|
379
|
-
case
|
|
380
|
-
case
|
|
381
|
-
case
|
|
382
|
-
case
|
|
383
|
-
case
|
|
384
|
-
case
|
|
385
|
-
case
|
|
386
|
-
case
|
|
387
|
-
case
|
|
388
|
-
case
|
|
389
|
-
case
|
|
390
|
-
case
|
|
391
|
-
case
|
|
392
|
-
case
|
|
393
|
-
case
|
|
394
|
-
case
|
|
380
|
+
case RepositoryStatus_1.RepositoryStatus.Success: return new Success();
|
|
381
|
+
case RepositoryStatus_1.RepositoryStatus.ServerUnavailable: return new NetworkError();
|
|
382
|
+
case RepositoryStatus_1.RepositoryStatus.LockAlreadyHeld: return new Conflict();
|
|
383
|
+
case RepositoryStatus_1.RepositoryStatus.SyncError: return new NetworkError();
|
|
384
|
+
case RepositoryStatus_1.RepositoryStatus.InvalidResponse: return new NetworkError();
|
|
385
|
+
case RepositoryStatus_1.RepositoryStatus.PendingTransactions: return new StateViolation();
|
|
386
|
+
case RepositoryStatus_1.RepositoryStatus.LockUsed: return new StateViolation();
|
|
387
|
+
case RepositoryStatus_1.RepositoryStatus.CannotCreateChangeSet: return new InternalError();
|
|
388
|
+
case RepositoryStatus_1.RepositoryStatus.InvalidRequest: return new NetworkError();
|
|
389
|
+
case RepositoryStatus_1.RepositoryStatus.ChangeSetRequired: return new StateViolation();
|
|
390
|
+
case RepositoryStatus_1.RepositoryStatus.CodeUnavailable: return new Conflict();
|
|
391
|
+
case RepositoryStatus_1.RepositoryStatus.CodeNotReserved: return new StateViolation();
|
|
392
|
+
case RepositoryStatus_1.RepositoryStatus.CodeUsed: return new StateViolation();
|
|
393
|
+
case RepositoryStatus_1.RepositoryStatus.LockNotHeld: return new Forbidden();
|
|
394
|
+
case RepositoryStatus_1.RepositoryStatus.RepositoryIsLocked: return new Locked();
|
|
395
|
+
case RepositoryStatus_1.RepositoryStatus.ChannelConstraintViolation: return new ConstraintViolation();
|
|
395
396
|
case BentleyError_1.HttpStatus.Success: return new Success();
|
|
396
397
|
case BentleyError_1.IModelHubStatus.Success: return new Success();
|
|
397
398
|
case BentleyError_1.IModelHubStatus.Unknown: return new UnknownError();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusCategory.js","sourceRoot":"","sources":["../../src/StatusCategory.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Errors\r\n */\r\n\r\nimport {\r\n BentleyError,\r\n BentleyStatus,\r\n BriefcaseStatus,\r\n ChangeSetStatus,\r\n GeoServiceStatus,\r\n HttpStatus,\r\n IModelHubStatus,\r\n IModelStatus,\r\n RealityDataStatus,\r\n RepositoryStatus,\r\n RpcInterfaceStatus,\r\n} from \"./BentleyError\";\r\n\r\n/* eslint-disable @typescript-eslint/no-shadow */\r\n\r\n/** @alpha */\r\nexport type StatusCategoryHandler = (error: Error) => StatusCategory | undefined;\r\n\r\n/** A group of related statuses for aggregate reporting purposes.\r\n * @alpha\r\n */\r\nexport abstract class StatusCategory {\r\n public static handlers: Set<StatusCategoryHandler> = new Set();\r\n\r\n public static for(error: Error): StatusCategory {\r\n for (const handler of this.handlers) {\r\n const category = handler(error);\r\n if (category) {\r\n return category;\r\n }\r\n }\r\n\r\n const errorNumber = (error as BentleyError).errorNumber as unknown;\r\n if (typeof errorNumber === \"number\")\r\n return lookupHttpStatusCategory(errorNumber);\r\n\r\n return new UnknownError();\r\n }\r\n\r\n public abstract name: string;\r\n public abstract code: number;\r\n public abstract error: boolean;\r\n}\r\n\r\n/***\r\n * A success status.\r\n * @alpha\r\n */\r\nexport abstract class SuccessCategory extends StatusCategory {\r\n public error = false;\r\n}\r\n\r\n/**\r\n * An error status.\r\n * @alpha\r\n */\r\nexport abstract class ErrorCategory extends StatusCategory {\r\n public error = true;\r\n}\r\n\r\nnamespace HTTP {\r\n export class OK extends SuccessCategory { public name = \"OK\"; public code = 200; }\r\n export class Accepted extends SuccessCategory { public name = \"Accepted\"; public code = 202; }\r\n export class NoContent extends SuccessCategory { public name = \"NoContent\"; public code = 204; }\r\n\r\n export class BadRequest extends ErrorCategory { public name = \"BadRequest\"; public code = 400; }\r\n export class Unauthorized extends ErrorCategory { public name = \"Unauthorized\"; public code = 401; }\r\n export class Forbidden extends ErrorCategory { public name = \"Forbidden\"; public code = 403; }\r\n export class NotFound extends ErrorCategory { public name = \"NotFound\"; public code = 404; }\r\n export class RequestTimeout extends ErrorCategory { public name = \"RequestTimeout\"; public code = 408; }\r\n export class Conflict extends ErrorCategory { public name = \"Conflict\"; public code = 409; }\r\n export class Gone extends ErrorCategory { public name = \"Gone\"; public code = 410; }\r\n export class PreconditionFailed extends ErrorCategory { public name = \"PreconditionFailed\"; public code = 412; }\r\n export class ExpectationFailed extends ErrorCategory { public name = \"ExpectationFailed\"; public code = 417; }\r\n export class MisdirectedRequest extends ErrorCategory { public name = \"MisdirectedRequest\"; public code = 421; }\r\n export class UnprocessableEntity extends ErrorCategory { public name = \"UnprocessableEntity\"; public code = 422; }\r\n export class UpgradeRequired extends ErrorCategory { public name = \"UpgradeRequired\"; public code = 426; }\r\n export class PreconditionRequired extends ErrorCategory { public name = \"PreconditionRequired\"; public code = 428; }\r\n export class TooManyRequests extends ErrorCategory { public name = \"TooManyRequests\"; public code = 429; }\r\n\r\n export class InternalServerError extends ErrorCategory { public name = \"InternalServerError\"; public code = 500; }\r\n export class NotImplemented extends ErrorCategory { public name = \"NotImplemented\"; public code = 501; }\r\n}\r\n\r\nclass Success extends HTTP.OK { }\r\n\r\nclass Pending extends HTTP.Accepted { }\r\n\r\nclass NoContent extends HTTP.NoContent { }\r\nclass NothingToDo extends HTTP.NoContent { }\r\n\r\nclass BadRequest extends HTTP.BadRequest { }\r\n\r\nclass Forbidden extends HTTP.Forbidden { }\r\nclass PermissionsViolation extends HTTP.Forbidden { }\r\nclass ReadOnly extends HTTP.Forbidden { }\r\n\r\nclass NotFound extends HTTP.NotFound { }\r\n\r\nclass NotEnabled extends HTTP.UnprocessableEntity { }\r\nclass NotSupported extends HTTP.UnprocessableEntity { }\r\n\r\nclass ValidationError extends HTTP.BadRequest { }\r\n\r\nclass Timeout extends HTTP.RequestTimeout { }\r\n\r\nclass Conflict extends HTTP.Conflict { }\r\n\r\nclass Cancelled extends HTTP.Gone { }\r\n\r\nclass ConstraintViolation extends HTTP.Forbidden { }\r\nclass VersioningViolation extends HTTP.Forbidden { }\r\n\r\nclass Corruption extends HTTP.InternalServerError { }\r\nclass InvalidData extends HTTP.InternalServerError { }\r\nclass OperationFailed extends HTTP.InternalServerError { }\r\nclass StateViolation extends HTTP.InternalServerError { }\r\n\r\nclass Locked extends HTTP.Conflict { }\r\n\r\nclass NetworkError extends HTTP.InternalServerError { }\r\n\r\nclass Throttled extends HTTP.TooManyRequests { }\r\n\r\nclass FileSystemError extends HTTP.InternalServerError { }\r\nclass InternalError extends HTTP.InternalServerError { }\r\nclass UnknownError extends HTTP.InternalServerError { }\r\n\r\nclass NotImplemented extends HTTP.NotImplemented { }\r\n\r\nclass Aborted extends HTTP.BadRequest { }\r\n\r\nfunction lookupHttpStatusCategory(statusCode: number): StatusCategory {\r\n switch (statusCode) {\r\n case BentleyStatus.SUCCESS: return new Success();\r\n case BentleyStatus.ERROR: return new UnknownError();\r\n\r\n case IModelStatus.Success: return new Success();\r\n case IModelStatus.AlreadyLoaded: return new StateViolation();\r\n case IModelStatus.AlreadyOpen: return new StateViolation();\r\n case IModelStatus.BadArg: return new ValidationError();\r\n case IModelStatus.BadElement: return new ValidationError();\r\n case IModelStatus.BadModel: return new ValidationError();\r\n case IModelStatus.BadRequest: return new BadRequest();\r\n case IModelStatus.BadSchema: return new ValidationError();\r\n case IModelStatus.CannotUndo: return new OperationFailed();\r\n case IModelStatus.CodeNotReserved: return new StateViolation();\r\n case IModelStatus.DeletionProhibited: return new Forbidden();\r\n case IModelStatus.DuplicateCode: return new Conflict();\r\n case IModelStatus.DuplicateName: return new Conflict();\r\n case IModelStatus.ElementBlockedChange: return new ConstraintViolation();\r\n case IModelStatus.FileAlreadyExists: return new Conflict();\r\n case IModelStatus.FileNotFound: return new NotFound();\r\n case IModelStatus.FileNotLoaded: return new FileSystemError();\r\n case IModelStatus.ForeignKeyConstraint: return new ConstraintViolation();\r\n case IModelStatus.IdExists: return new Conflict();\r\n case IModelStatus.InDynamicTransaction: return new StateViolation();\r\n case IModelStatus.InvalidCategory: return new ValidationError();\r\n case IModelStatus.InvalidCode: return new ValidationError();\r\n case IModelStatus.InvalidCodeSpec: return new ValidationError();\r\n case IModelStatus.InvalidId: return new ValidationError();\r\n case IModelStatus.InvalidName: return new ValidationError();\r\n case IModelStatus.InvalidParent: return new Conflict();\r\n case IModelStatus.InvalidProfileVersion: return new InvalidData();\r\n case IModelStatus.IsCreatingChangeSet: return new StateViolation();\r\n case IModelStatus.LockNotHeld: return new Forbidden();\r\n case IModelStatus.Mismatch2d3d: return new ValidationError();\r\n case IModelStatus.MismatchGcs: return new ValidationError();\r\n case IModelStatus.MissingDomain: return new ValidationError();\r\n case IModelStatus.MissingHandler: return new ValidationError();\r\n case IModelStatus.MissingId: return new ValidationError();\r\n case IModelStatus.NoGeometry: return new NoContent();\r\n case IModelStatus.NoMultiTxnOperation: return new StateViolation();\r\n case IModelStatus.NotEnabled: return new NotEnabled();\r\n case IModelStatus.NotFound: return new NotFound();\r\n case IModelStatus.NotOpen: return new StateViolation();\r\n case IModelStatus.NotOpenForWrite: return new Forbidden();\r\n case IModelStatus.NotSameUnitBase: return new ValidationError();\r\n case IModelStatus.NothingToRedo: return new NothingToDo();\r\n case IModelStatus.NothingToUndo: return new NothingToDo();\r\n case IModelStatus.ParentBlockedChange: return new Forbidden();\r\n case IModelStatus.ReadError: return new FileSystemError();\r\n case IModelStatus.ReadOnly: return new ReadOnly();\r\n case IModelStatus.ReadOnlyDomain: return new ReadOnly();\r\n case IModelStatus.RepositoryManagerError: return new NetworkError();\r\n case IModelStatus.SQLiteError: return new InternalError();\r\n case IModelStatus.TransactionActive: return new StateViolation();\r\n case IModelStatus.UnitsMissing: return new ValidationError();\r\n case IModelStatus.UnknownFormat: return new InvalidData();\r\n case IModelStatus.UpgradeFailed: return new OperationFailed();\r\n case IModelStatus.ValidationFailed: return new ValidationError();\r\n case IModelStatus.VersionTooNew: return new VersioningViolation();\r\n case IModelStatus.VersionTooOld: return new VersioningViolation();\r\n case IModelStatus.ViewNotFound: return new NotFound();\r\n case IModelStatus.WriteError: return new FileSystemError();\r\n case IModelStatus.WrongClass: return new ValidationError();\r\n case IModelStatus.WrongIModel: return new ValidationError();\r\n case IModelStatus.WrongDomain: return new ValidationError();\r\n case IModelStatus.WrongElement: return new ValidationError();\r\n case IModelStatus.WrongHandler: return new ValidationError();\r\n case IModelStatus.WrongModel: return new ValidationError();\r\n case IModelStatus.ConstraintNotUnique: return new ConstraintViolation();\r\n case IModelStatus.NoGeoLocation: return new ValidationError();\r\n case IModelStatus.ServerTimeout: return new Timeout();\r\n case IModelStatus.NoContent: return new NoContent();\r\n case IModelStatus.NotRegistered: return new NotImplemented();\r\n case IModelStatus.FunctionNotFound: return new NotImplemented();\r\n case IModelStatus.NoActiveCommand: return new StateViolation();\r\n case IModelStatus.Aborted: return new Aborted();\r\n\r\n case BriefcaseStatus.CannotAcquire: return new OperationFailed();\r\n case BriefcaseStatus.CannotDownload: return new OperationFailed();\r\n case BriefcaseStatus.CannotUpload: return new OperationFailed();\r\n case BriefcaseStatus.CannotCopy: return new OperationFailed();\r\n case BriefcaseStatus.CannotDelete: return new OperationFailed();\r\n case BriefcaseStatus.VersionNotFound: return new NotFound();\r\n case BriefcaseStatus.CannotApplyChanges: return new OperationFailed();\r\n case BriefcaseStatus.DownloadCancelled: return new Cancelled();\r\n case BriefcaseStatus.ContainsDeletedChangeSets: return new ValidationError();\r\n\r\n case RpcInterfaceStatus.Success: return new Success();\r\n case RpcInterfaceStatus.IncompatibleVersion: return new VersioningViolation();\r\n\r\n case ChangeSetStatus.Success: return new Success();\r\n case ChangeSetStatus.ApplyError: return new OperationFailed();\r\n case ChangeSetStatus.ChangeTrackingNotEnabled: return new NotEnabled();\r\n case ChangeSetStatus.CorruptedChangeStream: return new Corruption();\r\n case ChangeSetStatus.FileNotFound: return new NotFound();\r\n case ChangeSetStatus.FileWriteError: return new FileSystemError();\r\n case ChangeSetStatus.HasLocalChanges: return new StateViolation();\r\n case ChangeSetStatus.HasUncommittedChanges: return new StateViolation();\r\n case ChangeSetStatus.InvalidId: return new Corruption();\r\n case ChangeSetStatus.InvalidVersion: return new Corruption();\r\n case ChangeSetStatus.InDynamicTransaction: return new StateViolation();\r\n case ChangeSetStatus.IsCreatingChangeSet: return new StateViolation();\r\n case ChangeSetStatus.IsNotCreatingChangeSet: return new StateViolation();\r\n case ChangeSetStatus.MergePropagationError: return new OperationFailed();\r\n case ChangeSetStatus.NothingToMerge: return new NothingToDo();\r\n case ChangeSetStatus.NoTransactions: return new OperationFailed();\r\n case ChangeSetStatus.ParentMismatch: return new ValidationError();\r\n case ChangeSetStatus.SQLiteError: return new InternalError();\r\n case ChangeSetStatus.WrongDgnDb: return new ValidationError();\r\n case ChangeSetStatus.CouldNotOpenDgnDb: return new OperationFailed();\r\n case ChangeSetStatus.MergeSchemaChangesOnOpen: return new BadRequest();\r\n case ChangeSetStatus.ReverseOrReinstateSchemaChanges: return new Conflict();\r\n case ChangeSetStatus.ProcessSchemaChangesOnOpen: return new BadRequest();\r\n case ChangeSetStatus.CannotMergeIntoReadonly: return new ValidationError();\r\n case ChangeSetStatus.CannotMergeIntoMaster: return new ValidationError();\r\n case ChangeSetStatus.CannotMergeIntoReversed: return new ValidationError();\r\n\r\n case RepositoryStatus.Success: return new Success();\r\n case RepositoryStatus.ServerUnavailable: return new NetworkError();\r\n case RepositoryStatus.LockAlreadyHeld: return new Conflict();\r\n case RepositoryStatus.SyncError: return new NetworkError();\r\n case RepositoryStatus.InvalidResponse: return new NetworkError();\r\n case RepositoryStatus.PendingTransactions: return new StateViolation();\r\n case RepositoryStatus.LockUsed: return new StateViolation();\r\n case RepositoryStatus.CannotCreateChangeSet: return new InternalError();\r\n case RepositoryStatus.InvalidRequest: return new NetworkError();\r\n case RepositoryStatus.ChangeSetRequired: return new StateViolation();\r\n case RepositoryStatus.CodeUnavailable: return new Conflict();\r\n case RepositoryStatus.CodeNotReserved: return new StateViolation();\r\n case RepositoryStatus.CodeUsed: return new StateViolation();\r\n case RepositoryStatus.LockNotHeld: return new Forbidden();\r\n case RepositoryStatus.RepositoryIsLocked: return new Locked();\r\n case RepositoryStatus.ChannelConstraintViolation: return new ConstraintViolation();\r\n\r\n case HttpStatus.Success: return new Success();\r\n\r\n case IModelHubStatus.Success: return new Success();\r\n case IModelHubStatus.Unknown: return new UnknownError();\r\n case IModelHubStatus.MissingRequiredProperties: return new ValidationError();\r\n case IModelHubStatus.InvalidPropertiesValues: return new ValidationError();\r\n case IModelHubStatus.UserDoesNotHavePermission: return new PermissionsViolation();\r\n case IModelHubStatus.UserDoesNotHaveAccess: return new PermissionsViolation();\r\n case IModelHubStatus.InvalidBriefcase: return new ValidationError();\r\n case IModelHubStatus.BriefcaseDoesNotExist: return new NotFound();\r\n case IModelHubStatus.BriefcaseDoesNotBelongToUser: return new PermissionsViolation();\r\n case IModelHubStatus.AnotherUserPushing: return new StateViolation();\r\n case IModelHubStatus.ChangeSetAlreadyExists: return new Conflict();\r\n case IModelHubStatus.ChangeSetDoesNotExist: return new NotFound();\r\n case IModelHubStatus.FileIsNotUploaded: return new StateViolation();\r\n case IModelHubStatus.iModelIsNotInitialized: return new StateViolation();\r\n case IModelHubStatus.ChangeSetPointsToBadSeed: return new InvalidData();\r\n case IModelHubStatus.OperationFailed: return new OperationFailed();\r\n case IModelHubStatus.PullIsRequired: return new StateViolation();\r\n case IModelHubStatus.MaximumNumberOfBriefcasesPerUser: return new Throttled();\r\n case IModelHubStatus.MaximumNumberOfBriefcasesPerUserPerMinute: return new Throttled();\r\n case IModelHubStatus.DatabaseTemporarilyLocked: return new Locked();\r\n case IModelHubStatus.iModelIsLocked: return new Locked();\r\n case IModelHubStatus.CodesExist: return new Conflict();\r\n case IModelHubStatus.LocksExist: return new Conflict();\r\n case IModelHubStatus.iModelAlreadyExists: return new Conflict();\r\n case IModelHubStatus.iModelDoesNotExist: return new NotFound();\r\n case IModelHubStatus.FileDoesNotExist: return new NotFound();\r\n case IModelHubStatus.FileAlreadyExists: return new Conflict();\r\n case IModelHubStatus.LockDoesNotExist: return new NotFound();\r\n case IModelHubStatus.LockOwnedByAnotherBriefcase: return new Conflict();\r\n case IModelHubStatus.CodeStateInvalid: return new StateViolation();\r\n case IModelHubStatus.CodeReservedByAnotherBriefcase: return new Conflict();\r\n case IModelHubStatus.CodeDoesNotExist: return new NotFound();\r\n case IModelHubStatus.EventTypeDoesNotExist: return new NotFound();\r\n case IModelHubStatus.EventSubscriptionDoesNotExist: return new NotFound();\r\n case IModelHubStatus.EventSubscriptionAlreadyExists: return new StateViolation();\r\n case IModelHubStatus.ITwinIdIsNotSpecified: return new ValidationError();\r\n case IModelHubStatus.FailedToGetITwinPermissions: return new OperationFailed();\r\n case IModelHubStatus.FailedToGetITwinMembers: return new OperationFailed();\r\n case IModelHubStatus.ChangeSetAlreadyHasVersion: return new Conflict();\r\n case IModelHubStatus.VersionAlreadyExists: return new Conflict();\r\n case IModelHubStatus.JobSchedulingFailed: return new InternalError();\r\n case IModelHubStatus.ConflictsAggregate: return new Conflict();\r\n case IModelHubStatus.FailedToGetITwinById: return new OperationFailed();\r\n case IModelHubStatus.DatabaseOperationFailed: return new OperationFailed();\r\n case IModelHubStatus.SeedFileInitializationFailed: return new OperationFailed();\r\n case IModelHubStatus.FailedToGetAssetPermissions: return new OperationFailed();\r\n case IModelHubStatus.FailedToGetAssetMembers: return new OperationFailed();\r\n case IModelHubStatus.ITwinDoesNotExist: return new NotFound();\r\n case IModelHubStatus.LockChunkDoesNotExist: return new NotFound();\r\n case IModelHubStatus.CheckpointAlreadyExists: return new Conflict();\r\n case IModelHubStatus.CheckpointDoesNotExist: return new NotFound();\r\n case IModelHubStatus.UndefinedArgumentError: return new ValidationError();\r\n case IModelHubStatus.InvalidArgumentError: return new ValidationError();\r\n case IModelHubStatus.MissingDownloadUrlError: return new ValidationError();\r\n case IModelHubStatus.NotSupportedInBrowser: return new NotSupported();\r\n case IModelHubStatus.FileHandlerNotSet: return new NotImplemented();\r\n case IModelHubStatus.FileNotFound: return new NotFound();\r\n case IModelHubStatus.InitializationTimeout: return new Timeout();\r\n\r\n case GeoServiceStatus.Success: return new Success();\r\n case GeoServiceStatus.NoGeoLocation: return new ValidationError();\r\n case GeoServiceStatus.OutOfUsefulRange: return new ValidationError();\r\n case GeoServiceStatus.OutOfMathematicalDomain: return new ValidationError();\r\n case GeoServiceStatus.NoDatumConverter: return new OperationFailed();\r\n case GeoServiceStatus.VerticalDatumConvertError: return new OperationFailed();\r\n case GeoServiceStatus.CSMapError: return new InternalError();\r\n case GeoServiceStatus.Pending: return new Pending();\r\n\r\n case RealityDataStatus.Success: return new Success();\r\n case RealityDataStatus.InvalidData: return new InvalidData();\r\n\r\n default: return new UnknownError();\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"StatusCategory.js","sourceRoot":"","sources":["../../src/StatusCategory.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Errors\r\n */\r\n\r\nimport {\r\n BentleyError,\r\n BentleyStatus,\r\n BriefcaseStatus,\r\n ChangeSetStatus,\r\n GeoServiceStatus,\r\n HttpStatus,\r\n IModelHubStatus,\r\n IModelStatus,\r\n RealityDataStatus,\r\n RpcInterfaceStatus,\r\n} from \"./BentleyError\";\r\nimport { RepositoryStatus } from \"./internal/RepositoryStatus\";\r\n\r\n/* eslint-disable @typescript-eslint/no-shadow */\r\n\r\n/** @alpha */\r\nexport type StatusCategoryHandler = (error: Error) => StatusCategory | undefined;\r\n\r\n/** A group of related statuses for aggregate reporting purposes.\r\n * @alpha\r\n */\r\nexport abstract class StatusCategory {\r\n public static handlers: Set<StatusCategoryHandler> = new Set();\r\n\r\n public static for(error: Error): StatusCategory {\r\n for (const handler of this.handlers) {\r\n const category = handler(error);\r\n if (category) {\r\n return category;\r\n }\r\n }\r\n\r\n const errorNumber = (error as BentleyError).errorNumber as unknown;\r\n if (typeof errorNumber === \"number\")\r\n return lookupHttpStatusCategory(errorNumber);\r\n\r\n return new UnknownError();\r\n }\r\n\r\n public abstract name: string;\r\n public abstract code: number;\r\n public abstract error: boolean;\r\n}\r\n\r\n/***\r\n * A success status.\r\n * @alpha\r\n */\r\nexport abstract class SuccessCategory extends StatusCategory {\r\n public error = false;\r\n}\r\n\r\n/**\r\n * An error status.\r\n * @alpha\r\n */\r\nexport abstract class ErrorCategory extends StatusCategory {\r\n public error = true;\r\n}\r\n\r\nnamespace HTTP {\r\n export class OK extends SuccessCategory { public name = \"OK\"; public code = 200; }\r\n export class Accepted extends SuccessCategory { public name = \"Accepted\"; public code = 202; }\r\n export class NoContent extends SuccessCategory { public name = \"NoContent\"; public code = 204; }\r\n\r\n export class BadRequest extends ErrorCategory { public name = \"BadRequest\"; public code = 400; }\r\n export class Unauthorized extends ErrorCategory { public name = \"Unauthorized\"; public code = 401; }\r\n export class Forbidden extends ErrorCategory { public name = \"Forbidden\"; public code = 403; }\r\n export class NotFound extends ErrorCategory { public name = \"NotFound\"; public code = 404; }\r\n export class RequestTimeout extends ErrorCategory { public name = \"RequestTimeout\"; public code = 408; }\r\n export class Conflict extends ErrorCategory { public name = \"Conflict\"; public code = 409; }\r\n export class Gone extends ErrorCategory { public name = \"Gone\"; public code = 410; }\r\n export class PreconditionFailed extends ErrorCategory { public name = \"PreconditionFailed\"; public code = 412; }\r\n export class ExpectationFailed extends ErrorCategory { public name = \"ExpectationFailed\"; public code = 417; }\r\n export class MisdirectedRequest extends ErrorCategory { public name = \"MisdirectedRequest\"; public code = 421; }\r\n export class UnprocessableEntity extends ErrorCategory { public name = \"UnprocessableEntity\"; public code = 422; }\r\n export class UpgradeRequired extends ErrorCategory { public name = \"UpgradeRequired\"; public code = 426; }\r\n export class PreconditionRequired extends ErrorCategory { public name = \"PreconditionRequired\"; public code = 428; }\r\n export class TooManyRequests extends ErrorCategory { public name = \"TooManyRequests\"; public code = 429; }\r\n\r\n export class InternalServerError extends ErrorCategory { public name = \"InternalServerError\"; public code = 500; }\r\n export class NotImplemented extends ErrorCategory { public name = \"NotImplemented\"; public code = 501; }\r\n}\r\n\r\nclass Success extends HTTP.OK { }\r\n\r\nclass Pending extends HTTP.Accepted { }\r\n\r\nclass NoContent extends HTTP.NoContent { }\r\nclass NothingToDo extends HTTP.NoContent { }\r\n\r\nclass BadRequest extends HTTP.BadRequest { }\r\n\r\nclass Forbidden extends HTTP.Forbidden { }\r\nclass PermissionsViolation extends HTTP.Forbidden { }\r\nclass ReadOnly extends HTTP.Forbidden { }\r\n\r\nclass NotFound extends HTTP.NotFound { }\r\n\r\nclass NotEnabled extends HTTP.UnprocessableEntity { }\r\nclass NotSupported extends HTTP.UnprocessableEntity { }\r\n\r\nclass ValidationError extends HTTP.BadRequest { }\r\n\r\nclass Timeout extends HTTP.RequestTimeout { }\r\n\r\nclass Conflict extends HTTP.Conflict { }\r\n\r\nclass Cancelled extends HTTP.Gone { }\r\n\r\nclass ConstraintViolation extends HTTP.Forbidden { }\r\nclass VersioningViolation extends HTTP.Forbidden { }\r\n\r\nclass Corruption extends HTTP.InternalServerError { }\r\nclass InvalidData extends HTTP.InternalServerError { }\r\nclass OperationFailed extends HTTP.InternalServerError { }\r\nclass StateViolation extends HTTP.InternalServerError { }\r\n\r\nclass Locked extends HTTP.Conflict { }\r\n\r\nclass NetworkError extends HTTP.InternalServerError { }\r\n\r\nclass Throttled extends HTTP.TooManyRequests { }\r\n\r\nclass FileSystemError extends HTTP.InternalServerError { }\r\nclass InternalError extends HTTP.InternalServerError { }\r\nclass UnknownError extends HTTP.InternalServerError { }\r\n\r\nclass NotImplemented extends HTTP.NotImplemented { }\r\n\r\nclass Aborted extends HTTP.BadRequest { }\r\n\r\nfunction lookupHttpStatusCategory(statusCode: number): StatusCategory {\r\n switch (statusCode) {\r\n case BentleyStatus.SUCCESS: return new Success();\r\n case BentleyStatus.ERROR: return new UnknownError();\r\n\r\n case IModelStatus.Success: return new Success();\r\n case IModelStatus.AlreadyLoaded: return new StateViolation();\r\n case IModelStatus.AlreadyOpen: return new StateViolation();\r\n case IModelStatus.BadArg: return new ValidationError();\r\n case IModelStatus.BadElement: return new ValidationError();\r\n case IModelStatus.BadModel: return new ValidationError();\r\n case IModelStatus.BadRequest: return new BadRequest();\r\n case IModelStatus.BadSchema: return new ValidationError();\r\n case IModelStatus.CannotUndo: return new OperationFailed();\r\n case IModelStatus.CodeNotReserved: return new StateViolation();\r\n case IModelStatus.DeletionProhibited: return new Forbidden();\r\n case IModelStatus.DuplicateCode: return new Conflict();\r\n case IModelStatus.DuplicateName: return new Conflict();\r\n case IModelStatus.ElementBlockedChange: return new ConstraintViolation();\r\n case IModelStatus.FileAlreadyExists: return new Conflict();\r\n case IModelStatus.FileNotFound: return new NotFound();\r\n case IModelStatus.FileNotLoaded: return new FileSystemError();\r\n case IModelStatus.ForeignKeyConstraint: return new ConstraintViolation();\r\n case IModelStatus.IdExists: return new Conflict();\r\n case IModelStatus.InDynamicTransaction: return new StateViolation();\r\n case IModelStatus.InvalidCategory: return new ValidationError();\r\n case IModelStatus.InvalidCode: return new ValidationError();\r\n case IModelStatus.InvalidCodeSpec: return new ValidationError();\r\n case IModelStatus.InvalidId: return new ValidationError();\r\n case IModelStatus.InvalidName: return new ValidationError();\r\n case IModelStatus.InvalidParent: return new Conflict();\r\n case IModelStatus.InvalidProfileVersion: return new InvalidData();\r\n case IModelStatus.IsCreatingChangeSet: return new StateViolation();\r\n case IModelStatus.LockNotHeld: return new Forbidden();\r\n case IModelStatus.Mismatch2d3d: return new ValidationError();\r\n case IModelStatus.MismatchGcs: return new ValidationError();\r\n case IModelStatus.MissingDomain: return new ValidationError();\r\n case IModelStatus.MissingHandler: return new ValidationError();\r\n case IModelStatus.MissingId: return new ValidationError();\r\n case IModelStatus.NoGeometry: return new NoContent();\r\n case IModelStatus.NoMultiTxnOperation: return new StateViolation();\r\n case IModelStatus.NotEnabled: return new NotEnabled();\r\n case IModelStatus.NotFound: return new NotFound();\r\n case IModelStatus.NotOpen: return new StateViolation();\r\n case IModelStatus.NotOpenForWrite: return new Forbidden();\r\n case IModelStatus.NotSameUnitBase: return new ValidationError();\r\n case IModelStatus.NothingToRedo: return new NothingToDo();\r\n case IModelStatus.NothingToUndo: return new NothingToDo();\r\n case IModelStatus.ParentBlockedChange: return new Forbidden();\r\n case IModelStatus.ReadError: return new FileSystemError();\r\n case IModelStatus.ReadOnly: return new ReadOnly();\r\n case IModelStatus.ReadOnlyDomain: return new ReadOnly();\r\n case IModelStatus.RepositoryManagerError: return new NetworkError();\r\n case IModelStatus.SQLiteError: return new InternalError();\r\n case IModelStatus.TransactionActive: return new StateViolation();\r\n case IModelStatus.UnitsMissing: return new ValidationError();\r\n case IModelStatus.UnknownFormat: return new InvalidData();\r\n case IModelStatus.UpgradeFailed: return new OperationFailed();\r\n case IModelStatus.ValidationFailed: return new ValidationError();\r\n case IModelStatus.VersionTooNew: return new VersioningViolation();\r\n case IModelStatus.VersionTooOld: return new VersioningViolation();\r\n case IModelStatus.ViewNotFound: return new NotFound();\r\n case IModelStatus.WriteError: return new FileSystemError();\r\n case IModelStatus.WrongClass: return new ValidationError();\r\n case IModelStatus.WrongIModel: return new ValidationError();\r\n case IModelStatus.WrongDomain: return new ValidationError();\r\n case IModelStatus.WrongElement: return new ValidationError();\r\n case IModelStatus.WrongHandler: return new ValidationError();\r\n case IModelStatus.WrongModel: return new ValidationError();\r\n case IModelStatus.ConstraintNotUnique: return new ConstraintViolation();\r\n case IModelStatus.NoGeoLocation: return new ValidationError();\r\n case IModelStatus.ServerTimeout: return new Timeout();\r\n case IModelStatus.NoContent: return new NoContent();\r\n case IModelStatus.NotRegistered: return new NotImplemented();\r\n case IModelStatus.FunctionNotFound: return new NotImplemented();\r\n case IModelStatus.NoActiveCommand: return new StateViolation();\r\n case IModelStatus.Aborted: return new Aborted();\r\n\r\n case BriefcaseStatus.CannotAcquire: return new OperationFailed();\r\n case BriefcaseStatus.CannotDownload: return new OperationFailed();\r\n case BriefcaseStatus.CannotUpload: return new OperationFailed();\r\n case BriefcaseStatus.CannotCopy: return new OperationFailed();\r\n case BriefcaseStatus.CannotDelete: return new OperationFailed();\r\n case BriefcaseStatus.VersionNotFound: return new NotFound();\r\n case BriefcaseStatus.CannotApplyChanges: return new OperationFailed();\r\n case BriefcaseStatus.DownloadCancelled: return new Cancelled();\r\n case BriefcaseStatus.ContainsDeletedChangeSets: return new ValidationError();\r\n\r\n case RpcInterfaceStatus.Success: return new Success();\r\n case RpcInterfaceStatus.IncompatibleVersion: return new VersioningViolation();\r\n\r\n case ChangeSetStatus.Success: return new Success();\r\n case ChangeSetStatus.ApplyError: return new OperationFailed();\r\n case ChangeSetStatus.ChangeTrackingNotEnabled: return new NotEnabled();\r\n case ChangeSetStatus.CorruptedChangeStream: return new Corruption();\r\n case ChangeSetStatus.FileNotFound: return new NotFound();\r\n case ChangeSetStatus.FileWriteError: return new FileSystemError();\r\n case ChangeSetStatus.HasLocalChanges: return new StateViolation();\r\n case ChangeSetStatus.HasUncommittedChanges: return new StateViolation();\r\n case ChangeSetStatus.InvalidId: return new Corruption();\r\n case ChangeSetStatus.InvalidVersion: return new Corruption();\r\n case ChangeSetStatus.InDynamicTransaction: return new StateViolation();\r\n case ChangeSetStatus.IsCreatingChangeSet: return new StateViolation();\r\n case ChangeSetStatus.IsNotCreatingChangeSet: return new StateViolation();\r\n case ChangeSetStatus.MergePropagationError: return new OperationFailed();\r\n case ChangeSetStatus.NothingToMerge: return new NothingToDo();\r\n case ChangeSetStatus.NoTransactions: return new OperationFailed();\r\n case ChangeSetStatus.ParentMismatch: return new ValidationError();\r\n case ChangeSetStatus.SQLiteError: return new InternalError();\r\n case ChangeSetStatus.WrongDgnDb: return new ValidationError();\r\n case ChangeSetStatus.CouldNotOpenDgnDb: return new OperationFailed();\r\n case ChangeSetStatus.MergeSchemaChangesOnOpen: return new BadRequest();\r\n case ChangeSetStatus.ReverseOrReinstateSchemaChanges: return new Conflict();\r\n case ChangeSetStatus.ProcessSchemaChangesOnOpen: return new BadRequest();\r\n case ChangeSetStatus.CannotMergeIntoReadonly: return new ValidationError();\r\n case ChangeSetStatus.CannotMergeIntoMaster: return new ValidationError();\r\n case ChangeSetStatus.CannotMergeIntoReversed: return new ValidationError();\r\n\r\n case RepositoryStatus.Success: return new Success();\r\n case RepositoryStatus.ServerUnavailable: return new NetworkError();\r\n case RepositoryStatus.LockAlreadyHeld: return new Conflict();\r\n case RepositoryStatus.SyncError: return new NetworkError();\r\n case RepositoryStatus.InvalidResponse: return new NetworkError();\r\n case RepositoryStatus.PendingTransactions: return new StateViolation();\r\n case RepositoryStatus.LockUsed: return new StateViolation();\r\n case RepositoryStatus.CannotCreateChangeSet: return new InternalError();\r\n case RepositoryStatus.InvalidRequest: return new NetworkError();\r\n case RepositoryStatus.ChangeSetRequired: return new StateViolation();\r\n case RepositoryStatus.CodeUnavailable: return new Conflict();\r\n case RepositoryStatus.CodeNotReserved: return new StateViolation();\r\n case RepositoryStatus.CodeUsed: return new StateViolation();\r\n case RepositoryStatus.LockNotHeld: return new Forbidden();\r\n case RepositoryStatus.RepositoryIsLocked: return new Locked();\r\n case RepositoryStatus.ChannelConstraintViolation: return new ConstraintViolation();\r\n\r\n case HttpStatus.Success: return new Success();\r\n\r\n case IModelHubStatus.Success: return new Success();\r\n case IModelHubStatus.Unknown: return new UnknownError();\r\n case IModelHubStatus.MissingRequiredProperties: return new ValidationError();\r\n case IModelHubStatus.InvalidPropertiesValues: return new ValidationError();\r\n case IModelHubStatus.UserDoesNotHavePermission: return new PermissionsViolation();\r\n case IModelHubStatus.UserDoesNotHaveAccess: return new PermissionsViolation();\r\n case IModelHubStatus.InvalidBriefcase: return new ValidationError();\r\n case IModelHubStatus.BriefcaseDoesNotExist: return new NotFound();\r\n case IModelHubStatus.BriefcaseDoesNotBelongToUser: return new PermissionsViolation();\r\n case IModelHubStatus.AnotherUserPushing: return new StateViolation();\r\n case IModelHubStatus.ChangeSetAlreadyExists: return new Conflict();\r\n case IModelHubStatus.ChangeSetDoesNotExist: return new NotFound();\r\n case IModelHubStatus.FileIsNotUploaded: return new StateViolation();\r\n case IModelHubStatus.iModelIsNotInitialized: return new StateViolation();\r\n case IModelHubStatus.ChangeSetPointsToBadSeed: return new InvalidData();\r\n case IModelHubStatus.OperationFailed: return new OperationFailed();\r\n case IModelHubStatus.PullIsRequired: return new StateViolation();\r\n case IModelHubStatus.MaximumNumberOfBriefcasesPerUser: return new Throttled();\r\n case IModelHubStatus.MaximumNumberOfBriefcasesPerUserPerMinute: return new Throttled();\r\n case IModelHubStatus.DatabaseTemporarilyLocked: return new Locked();\r\n case IModelHubStatus.iModelIsLocked: return new Locked();\r\n case IModelHubStatus.CodesExist: return new Conflict();\r\n case IModelHubStatus.LocksExist: return new Conflict();\r\n case IModelHubStatus.iModelAlreadyExists: return new Conflict();\r\n case IModelHubStatus.iModelDoesNotExist: return new NotFound();\r\n case IModelHubStatus.FileDoesNotExist: return new NotFound();\r\n case IModelHubStatus.FileAlreadyExists: return new Conflict();\r\n case IModelHubStatus.LockDoesNotExist: return new NotFound();\r\n case IModelHubStatus.LockOwnedByAnotherBriefcase: return new Conflict();\r\n case IModelHubStatus.CodeStateInvalid: return new StateViolation();\r\n case IModelHubStatus.CodeReservedByAnotherBriefcase: return new Conflict();\r\n case IModelHubStatus.CodeDoesNotExist: return new NotFound();\r\n case IModelHubStatus.EventTypeDoesNotExist: return new NotFound();\r\n case IModelHubStatus.EventSubscriptionDoesNotExist: return new NotFound();\r\n case IModelHubStatus.EventSubscriptionAlreadyExists: return new StateViolation();\r\n case IModelHubStatus.ITwinIdIsNotSpecified: return new ValidationError();\r\n case IModelHubStatus.FailedToGetITwinPermissions: return new OperationFailed();\r\n case IModelHubStatus.FailedToGetITwinMembers: return new OperationFailed();\r\n case IModelHubStatus.ChangeSetAlreadyHasVersion: return new Conflict();\r\n case IModelHubStatus.VersionAlreadyExists: return new Conflict();\r\n case IModelHubStatus.JobSchedulingFailed: return new InternalError();\r\n case IModelHubStatus.ConflictsAggregate: return new Conflict();\r\n case IModelHubStatus.FailedToGetITwinById: return new OperationFailed();\r\n case IModelHubStatus.DatabaseOperationFailed: return new OperationFailed();\r\n case IModelHubStatus.SeedFileInitializationFailed: return new OperationFailed();\r\n case IModelHubStatus.FailedToGetAssetPermissions: return new OperationFailed();\r\n case IModelHubStatus.FailedToGetAssetMembers: return new OperationFailed();\r\n case IModelHubStatus.ITwinDoesNotExist: return new NotFound();\r\n case IModelHubStatus.LockChunkDoesNotExist: return new NotFound();\r\n case IModelHubStatus.CheckpointAlreadyExists: return new Conflict();\r\n case IModelHubStatus.CheckpointDoesNotExist: return new NotFound();\r\n case IModelHubStatus.UndefinedArgumentError: return new ValidationError();\r\n case IModelHubStatus.InvalidArgumentError: return new ValidationError();\r\n case IModelHubStatus.MissingDownloadUrlError: return new ValidationError();\r\n case IModelHubStatus.NotSupportedInBrowser: return new NotSupported();\r\n case IModelHubStatus.FileHandlerNotSet: return new NotImplemented();\r\n case IModelHubStatus.FileNotFound: return new NotFound();\r\n case IModelHubStatus.InitializationTimeout: return new Timeout();\r\n\r\n case GeoServiceStatus.Success: return new Success();\r\n case GeoServiceStatus.NoGeoLocation: return new ValidationError();\r\n case GeoServiceStatus.OutOfUsefulRange: return new ValidationError();\r\n case GeoServiceStatus.OutOfMathematicalDomain: return new ValidationError();\r\n case GeoServiceStatus.NoDatumConverter: return new OperationFailed();\r\n case GeoServiceStatus.VerticalDatumConvertError: return new OperationFailed();\r\n case GeoServiceStatus.CSMapError: return new InternalError();\r\n case GeoServiceStatus.Pending: return new Pending();\r\n\r\n case RealityDataStatus.Success: return new Success();\r\n case RealityDataStatus.InvalidData: return new InvalidData();\r\n\r\n default: return new UnknownError();\r\n }\r\n}\r\n"]}
|
package/lib/cjs/StringUtils.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module Utils
|
|
3
3
|
*/
|
|
4
|
-
/** Exposed only for testing the fall-back used when TextDecoder is unsupported.
|
|
5
|
-
* @internal
|
|
6
|
-
*/
|
|
7
|
-
export declare function utf8ToStringPolyfill(utf8: Uint8Array): string | undefined;
|
|
8
4
|
/** Given an array of bytes containing a utf-8 string, convert to a string.
|
|
9
5
|
* @param utf8: An array of utf-8 characters as a byte array
|
|
10
6
|
* @returns An equivalent string, or undefined if the array does not contain a valid utf-8 string.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringUtils.d.ts","sourceRoot":"","sources":["../../src/StringUtils.ts"],"names":[],"mappings":"AAIA;;GAEG;
|
|
1
|
+
{"version":3,"file":"StringUtils.d.ts","sourceRoot":"","sources":["../../src/StringUtils.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAGjE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAEnE"}
|