@itwin/core-bentley 3.5.0-dev.8 → 3.6.0-dev.1
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 +62 -1
- package/lib/cjs/BentleyError.d.ts +3 -1
- package/lib/cjs/BentleyError.d.ts.map +1 -1
- package/lib/cjs/BentleyError.js +3 -0
- package/lib/cjs/BentleyError.js.map +1 -1
- package/lib/cjs/ByteStream.d.ts +2 -0
- package/lib/cjs/ByteStream.d.ts.map +1 -1
- package/lib/cjs/ByteStream.js +13 -3
- package/lib/cjs/ByteStream.js.map +1 -1
- package/lib/cjs/Logger.d.ts +2 -0
- package/lib/cjs/Logger.d.ts.map +1 -1
- package/lib/cjs/Logger.js +7 -3
- package/lib/cjs/Logger.js.map +1 -1
- package/lib/cjs/TupleKeyedMap.d.ts +37 -0
- package/lib/cjs/TupleKeyedMap.d.ts.map +1 -0
- package/lib/cjs/TupleKeyedMap.js +103 -0
- package/lib/cjs/TupleKeyedMap.js.map +1 -0
- package/lib/cjs/UtilityTypes.d.ts +14 -0
- package/lib/cjs/UtilityTypes.d.ts.map +1 -1
- package/lib/cjs/UtilityTypes.js +15 -1
- package/lib/cjs/UtilityTypes.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 +1 -0
- package/lib/cjs/core-bentley.js.map +1 -1
- package/lib/esm/BentleyError.d.ts +3 -1
- package/lib/esm/BentleyError.d.ts.map +1 -1
- package/lib/esm/BentleyError.js +3 -0
- package/lib/esm/BentleyError.js.map +1 -1
- package/lib/esm/ByteStream.d.ts +2 -0
- package/lib/esm/ByteStream.d.ts.map +1 -1
- package/lib/esm/ByteStream.js +13 -3
- package/lib/esm/ByteStream.js.map +1 -1
- package/lib/esm/Logger.d.ts +2 -0
- package/lib/esm/Logger.d.ts.map +1 -1
- package/lib/esm/Logger.js +7 -3
- package/lib/esm/Logger.js.map +1 -1
- package/lib/esm/TupleKeyedMap.d.ts +37 -0
- package/lib/esm/TupleKeyedMap.d.ts.map +1 -0
- package/lib/esm/TupleKeyedMap.js +99 -0
- package/lib/esm/TupleKeyedMap.js.map +1 -0
- package/lib/esm/UtilityTypes.d.ts +14 -0
- package/lib/esm/UtilityTypes.d.ts.map +1 -1
- package/lib/esm/UtilityTypes.js +13 -0
- package/lib/esm/UtilityTypes.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 +1 -0
- package/lib/esm/core-bentley.js.map +1 -1
- package/package.json +4 -4
package/lib/cjs/Logger.js
CHANGED
|
@@ -63,13 +63,17 @@ class Logger {
|
|
|
63
63
|
}
|
|
64
64
|
/** Set the least severe level at which messages should be displayed by default. Call setLevel to override this default setting for specific categories. */
|
|
65
65
|
static setLevelDefault(minLevel) {
|
|
66
|
-
|
|
66
|
+
var _a;
|
|
67
|
+
this._minLevel = minLevel;
|
|
68
|
+
(_a = this.logLevelChangedFn) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
67
69
|
}
|
|
68
70
|
/** Set the minimum logging level for the specified category. The minimum level is least severe level at which messages in the
|
|
69
71
|
* specified category should be displayed.
|
|
70
72
|
*/
|
|
71
73
|
static setLevel(category, minLevel) {
|
|
74
|
+
var _a;
|
|
72
75
|
Logger._categoryFilter.set(category, minLevel);
|
|
76
|
+
(_a = this.logLevelChangedFn) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
73
77
|
}
|
|
74
78
|
/** Interpret a string as the name of a LogLevel */
|
|
75
79
|
static parseLogLevel(str) {
|
|
@@ -206,8 +210,8 @@ class Logger {
|
|
|
206
210
|
}
|
|
207
211
|
}
|
|
208
212
|
exports.Logger = Logger;
|
|
209
|
-
Logger._categoryFilter = new Map();
|
|
210
|
-
Logger._minLevel = undefined;
|
|
213
|
+
Logger._categoryFilter = new Map(); // do not change the name of this member, it is referenced directly from node addon
|
|
214
|
+
Logger._minLevel = undefined; // do not change the name of this member, it is referenced directly from node addon
|
|
211
215
|
/** Should the call stack be included when an exception is logged? */
|
|
212
216
|
Logger.logExceptionCallstacks = false;
|
|
213
217
|
/** All static metadata is combined with per-call metadata and stringified in every log message.
|
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 private static _categoryFilter: Map<string, LogLevel> = new Map<string, LogLevel>();\r\n private static _minLevel: LogLevel | undefined = undefined;\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 Logger._minLevel = minLevel;\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.set(category, minLevel);\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.get(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.clear();\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 * in addition to any other metadata that may be supplied by the caller, unless the\r\n * metadata supplied by the caller already includes this property.\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 * @param metaData Optional data for the message\r\n */\r\n public static logException(category: string, err: any, log: LogFunction = Logger.logError): 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 { 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 private static _categoryFilter = new Map<string, LogLevel>(); // do not change the name of this member, it is referenced directly from node addon\r\n private static _minLevel: LogLevel | undefined = undefined; // do not change the name of this member, it is referenced directly from node addon\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.set(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.get(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.clear();\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 * in addition to any other metadata that may be supplied by the caller, unless the\r\n * metadata supplied by the caller already includes this property.\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 * @param metaData Optional data for the message\r\n */\r\n public static logException(category: string, err: any, log: LogFunction = Logger.logError): 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"]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Collections
|
|
3
|
+
*/
|
|
4
|
+
/** A map similar to the standard JavaScript Map collection except that the keys must be a tuple
|
|
5
|
+
* (javascript array), and two keys are considered equal if their elements in order are strict-equal,
|
|
6
|
+
* and the tuples have the same amount of elements
|
|
7
|
+
*
|
|
8
|
+
* This means you can use array literals to key data in Maps that would otherwise be reference-compared
|
|
9
|
+
* if using JavaScript's built in Map
|
|
10
|
+
*
|
|
11
|
+
* Note that JavaScript's Map type, unlike this one that uses strict equality, uses instead
|
|
12
|
+
* SameValueZero equality comparison
|
|
13
|
+
* @see https://262.ecma-international.org/6.0/#sec-samevaluezero
|
|
14
|
+
*
|
|
15
|
+
* ```js
|
|
16
|
+
* const map = new TupleKeyedMap([[1,"y"], "value"]);
|
|
17
|
+
* const value = map.get([1, "y"]); // a normal map would identify these keys as different because they are independent objects
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* It is implemented by each index of the tuple key being used as a singular key into a submap
|
|
21
|
+
* @note this only implements a subset of the Map interface
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export declare class TupleKeyedMap<K extends readonly any[], V> {
|
|
25
|
+
private _map;
|
|
26
|
+
constructor(entries?: readonly (readonly [K, V])[] | null);
|
|
27
|
+
clear(): void;
|
|
28
|
+
private makeKeyError;
|
|
29
|
+
get(key: K): V | undefined;
|
|
30
|
+
has(key: K): boolean;
|
|
31
|
+
set(key: K, value: V): this;
|
|
32
|
+
[Symbol.iterator](): IterableIterator<[K, V]>;
|
|
33
|
+
private _size;
|
|
34
|
+
get size(): number;
|
|
35
|
+
get [Symbol.toStringTag](): string;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=TupleKeyedMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TupleKeyedMap.d.ts","sourceRoot":"","sources":["../../src/TupleKeyedMap.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,EAAE,CAAC;IACpD,OAAO,CAAC,IAAI,CAAoC;gBAG7B,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI;IAOzD,KAAK,IAAI,IAAI;IAIpB,OAAO,CAAC,YAAY;IAMb,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAc1B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAmB1B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAcrD,OAAO,CAAC,KAAK,CAAa;IAC1B,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAExC;CACF"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module Collections
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.TupleKeyedMap = void 0;
|
|
11
|
+
/** A map similar to the standard JavaScript Map collection except that the keys must be a tuple
|
|
12
|
+
* (javascript array), and two keys are considered equal if their elements in order are strict-equal,
|
|
13
|
+
* and the tuples have the same amount of elements
|
|
14
|
+
*
|
|
15
|
+
* This means you can use array literals to key data in Maps that would otherwise be reference-compared
|
|
16
|
+
* if using JavaScript's built in Map
|
|
17
|
+
*
|
|
18
|
+
* Note that JavaScript's Map type, unlike this one that uses strict equality, uses instead
|
|
19
|
+
* SameValueZero equality comparison
|
|
20
|
+
* @see https://262.ecma-international.org/6.0/#sec-samevaluezero
|
|
21
|
+
*
|
|
22
|
+
* ```js
|
|
23
|
+
* const map = new TupleKeyedMap([[1,"y"], "value"]);
|
|
24
|
+
* const value = map.get([1, "y"]); // a normal map would identify these keys as different because they are independent objects
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* It is implemented by each index of the tuple key being used as a singular key into a submap
|
|
28
|
+
* @note this only implements a subset of the Map interface
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
class TupleKeyedMap {
|
|
32
|
+
// argument types match those of Map
|
|
33
|
+
constructor(entries) {
|
|
34
|
+
this._map = new Map();
|
|
35
|
+
this._size = 0;
|
|
36
|
+
if (entries)
|
|
37
|
+
for (const [k, v] of entries) {
|
|
38
|
+
this.set(k, v);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
clear() {
|
|
42
|
+
return this._map.clear();
|
|
43
|
+
}
|
|
44
|
+
makeKeyError() {
|
|
45
|
+
return Error("A Bad key was used, it didn't match the key type of the the map.");
|
|
46
|
+
}
|
|
47
|
+
get(key) {
|
|
48
|
+
let cursor = this._map;
|
|
49
|
+
for (const subkey of key) {
|
|
50
|
+
if (!(cursor instanceof Map))
|
|
51
|
+
throw this.makeKeyError();
|
|
52
|
+
cursor = cursor.get(subkey);
|
|
53
|
+
if (cursor === undefined)
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
if (cursor instanceof Map)
|
|
57
|
+
throw this.makeKeyError();
|
|
58
|
+
return cursor;
|
|
59
|
+
}
|
|
60
|
+
has(key) {
|
|
61
|
+
return this.get(key) !== undefined;
|
|
62
|
+
}
|
|
63
|
+
set(key, value) {
|
|
64
|
+
let cursor = this._map;
|
|
65
|
+
for (let i = 0; i < key.length - 1; ++i) {
|
|
66
|
+
const subkey = key[i];
|
|
67
|
+
let next = cursor.get(subkey);
|
|
68
|
+
if (next === undefined) {
|
|
69
|
+
next = new Map();
|
|
70
|
+
cursor.set(subkey, next);
|
|
71
|
+
}
|
|
72
|
+
cursor = next;
|
|
73
|
+
}
|
|
74
|
+
const finalSubkey = key[key.length - 1];
|
|
75
|
+
if (!(cursor instanceof Map))
|
|
76
|
+
throw this.makeKeyError();
|
|
77
|
+
cursor.set(finalSubkey, value);
|
|
78
|
+
this._size++;
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
*[Symbol.iterator]() {
|
|
82
|
+
function* impl(map, keyPrefix) {
|
|
83
|
+
for (const [k, v] of map) {
|
|
84
|
+
const nextKey = [...keyPrefix, k];
|
|
85
|
+
if (v instanceof Map) {
|
|
86
|
+
yield* impl(v, nextKey);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
yield [nextKey, v];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
yield* impl(this._map, []);
|
|
94
|
+
}
|
|
95
|
+
get size() {
|
|
96
|
+
return this._size;
|
|
97
|
+
}
|
|
98
|
+
get [Symbol.toStringTag]() {
|
|
99
|
+
return this.constructor.name;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.TupleKeyedMap = TupleKeyedMap;
|
|
103
|
+
//# sourceMappingURL=TupleKeyedMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TupleKeyedMap.js","sourceRoot":"","sources":["../../src/TupleKeyedMap.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 Collections\r\n */\r\n\r\n/** A map similar to the standard JavaScript Map collection except that the keys must be a tuple\r\n * (javascript array), and two keys are considered equal if their elements in order are strict-equal,\r\n * and the tuples have the same amount of elements\r\n *\r\n * This means you can use array literals to key data in Maps that would otherwise be reference-compared\r\n * if using JavaScript's built in Map\r\n *\r\n * Note that JavaScript's Map type, unlike this one that uses strict equality, uses instead\r\n * SameValueZero equality comparison\r\n * @see https://262.ecma-international.org/6.0/#sec-samevaluezero\r\n *\r\n * ```js\r\n * const map = new TupleKeyedMap([[1,\"y\"], \"value\"]);\r\n * const value = map.get([1, \"y\"]); // a normal map would identify these keys as different because they are independent objects\r\n * ```\r\n *\r\n * It is implemented by each index of the tuple key being used as a singular key into a submap\r\n * @note this only implements a subset of the Map interface\r\n * @public\r\n */\r\nexport class TupleKeyedMap<K extends readonly any[], V> {\r\n private _map = new Map<K[0], Map<any, V> | V>();\r\n\r\n // argument types match those of Map\r\n public constructor(entries?: readonly (readonly [K, V])[] | null) {\r\n if (entries)\r\n for (const [k, v] of entries) {\r\n this.set(k, v);\r\n }\r\n }\r\n\r\n public clear(): void {\r\n return this._map.clear();\r\n }\r\n\r\n private makeKeyError() {\r\n return Error(\r\n \"A Bad key was used, it didn't match the key type of the the map.\"\r\n );\r\n }\r\n\r\n public get(key: K): V | undefined {\r\n let cursor: Map<any, any> | V = this._map;\r\n for (const subkey of key) {\r\n if (!(cursor instanceof Map))\r\n throw this.makeKeyError();\r\n cursor = cursor.get(subkey);\r\n if (cursor === undefined)\r\n return undefined;\r\n }\r\n if (cursor instanceof Map)\r\n throw this.makeKeyError();\r\n return cursor;\r\n }\r\n\r\n public has(key: K): boolean {\r\n return this.get(key) !== undefined;\r\n }\r\n\r\n public set(key: K, value: V): this {\r\n let cursor: Map<any, any> = this._map;\r\n for (let i = 0; i < key.length - 1; ++i) {\r\n const subkey = key[i];\r\n let next = cursor.get(subkey);\r\n if (next === undefined) {\r\n next = new Map();\r\n cursor.set(subkey, next);\r\n }\r\n cursor = next;\r\n }\r\n const finalSubkey = key[key.length - 1];\r\n if (!(cursor instanceof Map))\r\n throw this.makeKeyError();\r\n cursor.set(finalSubkey, value);\r\n this._size++;\r\n return this;\r\n }\r\n\r\n public *[Symbol.iterator](): IterableIterator<[K, V]> {\r\n function *impl(map: Map<any, any>, keyPrefix: readonly any[]): IterableIterator<[K, V]> {\r\n for (const [k, v] of map) {\r\n const nextKey = [...keyPrefix, k];\r\n if (v instanceof Map) {\r\n yield* impl(v, nextKey);\r\n } else {\r\n yield [nextKey as any as K, v];\r\n }\r\n }\r\n }\r\n yield* impl(this._map, []);\r\n }\r\n\r\n private _size: number = 0;\r\n public get size(): number {\r\n return this._size;\r\n }\r\n\r\n public get [Symbol.toStringTag](): string {\r\n return this.constructor.name;\r\n }\r\n}\r\n"]}
|
|
@@ -70,6 +70,12 @@ export declare type NonFunctionPropertiesOf<T> = Pick<T, NonFunctionPropertyName
|
|
|
70
70
|
* @public
|
|
71
71
|
*/
|
|
72
72
|
export declare type AsyncFunction = (...args: any) => Promise<any>;
|
|
73
|
+
/** The members of `T` that are async functions (functions that return a promise), and no other properties
|
|
74
|
+
* @public
|
|
75
|
+
*/
|
|
76
|
+
export declare type PickAsyncMethods<T> = {
|
|
77
|
+
[P in keyof T]: T[P] extends AsyncFunction ? T[P] : never;
|
|
78
|
+
};
|
|
73
79
|
/** Extracts the names of all function properties of `T` that return a Promise.
|
|
74
80
|
* @public
|
|
75
81
|
*/
|
|
@@ -84,4 +90,12 @@ export declare type PromiseReturnType<T extends AsyncFunction> = T extends (...a
|
|
|
84
90
|
* @beta
|
|
85
91
|
*/
|
|
86
92
|
export declare type ExtractLiterals<T, U extends T> = Extract<T, U>;
|
|
93
|
+
/** A runtime property omitter, makes a shallow copy of the given object without the specified properties
|
|
94
|
+
* Compatible with the typescript `Omit` mapped type:
|
|
95
|
+
* ```js
|
|
96
|
+
* const testvar: Omit<{x: string, y: object}, "y"> = omit({x: "hello", y: {}}, ["y"]);
|
|
97
|
+
* ```
|
|
98
|
+
* @public
|
|
99
|
+
*/
|
|
100
|
+
export declare function omit<T extends {}, K extends readonly (keyof T)[]>(t: T, keys: K): Omit<T, K[number]>;
|
|
87
101
|
//# sourceMappingURL=UtilityTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UtilityTypes.d.ts","sourceRoot":"","sources":["../../src/UtilityTypes.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;GAEG;AACH,oBAAY,OAAO,CAAC,CAAC,IAAI;IACvB,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,oBAAY,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE9E;;GAEG;AACH,oBAAY,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnF;;;;;GAKG;AACH,oBAAY,WAAW,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAE9E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAEpF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,oBAAY,0BAA0B,CAAC,CAAC,IAAI;KACzC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,KAAK,GAAG,CAAC;CAClD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;;GAGG;AACH,oBAAY,uBAAuB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhF;;;;GAIG;AACH,oBAAY,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAE3D;;GAEG;AACH,oBAAY,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,GAAG,CAAC,GAAG,KAAK;CAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpG;;GAEG;AACH,oBAAY,iBAAiB,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAEhH;;GAEG;AACH,oBAAY,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"UtilityTypes.d.ts","sourceRoot":"","sources":["../../src/UtilityTypes.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;GAEG;AACH,oBAAY,OAAO,CAAC,CAAC,IAAI;IACvB,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,oBAAY,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE9E;;GAEG;AACH,oBAAY,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnF;;;;;GAKG;AACH,oBAAY,WAAW,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAE9E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAEpF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,oBAAY,0BAA0B,CAAC,CAAC,IAAI;KACzC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,KAAK,GAAG,CAAC;CAClD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;;GAGG;AACH,oBAAY,uBAAuB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhF;;;;GAIG;AACH,oBAAY,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAE3D;;GAEG;AACH,oBAAY,gBAAgB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAAG,CAAC;AAEjG;;GAEG;AACH,oBAAY,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,GAAG,CAAC,GAAG,KAAK;CAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpG;;GAEG;AACH,oBAAY,iBAAiB,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAEhH;;GAEG;AACH,oBAAY,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5D;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAKpG"}
|
package/lib/cjs/UtilityTypes.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module Utils
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.asInstanceOf = exports.isInstanceOf = void 0;
|
|
10
|
+
exports.omit = exports.asInstanceOf = exports.isInstanceOf = void 0;
|
|
11
11
|
/** Returns true if `obj` is an object of class `T`.
|
|
12
12
|
* @see [[asInstanceOf]] to cast `obj` to class `T`.
|
|
13
13
|
* @public
|
|
@@ -24,4 +24,18 @@ function asInstanceOf(obj, constructor) {
|
|
|
24
24
|
return isInstanceOf(obj, constructor) ? obj : undefined;
|
|
25
25
|
}
|
|
26
26
|
exports.asInstanceOf = asInstanceOf;
|
|
27
|
+
/** A runtime property omitter, makes a shallow copy of the given object without the specified properties
|
|
28
|
+
* Compatible with the typescript `Omit` mapped type:
|
|
29
|
+
* ```js
|
|
30
|
+
* const testvar: Omit<{x: string, y: object}, "y"> = omit({x: "hello", y: {}}, ["y"]);
|
|
31
|
+
* ```
|
|
32
|
+
* @public
|
|
33
|
+
*/
|
|
34
|
+
function omit(t, keys) {
|
|
35
|
+
const clone = { ...t };
|
|
36
|
+
for (const key of keys)
|
|
37
|
+
delete clone[key];
|
|
38
|
+
return clone;
|
|
39
|
+
}
|
|
40
|
+
exports.omit = omit;
|
|
27
41
|
//# sourceMappingURL=UtilityTypes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UtilityTypes.js","sourceRoot":"","sources":["../../src/UtilityTypes.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AA2BH;;;GAGG;AACH,SAAgB,YAAY,CAAI,GAAQ,EAAE,WAA2B;IACnE,OAAO,QAAQ,KAAK,OAAO,GAAG,IAAI,GAAG,YAAY,WAAW,CAAC;AAC/D,CAAC;AAFD,oCAEC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAI,GAAQ,EAAE,WAA2B;IACnE,OAAO,YAAY,CAAI,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAFD,oCAEC","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 Utils\r\n */\r\n\r\n/** The inverse of TypeScript's Readonly<T> type, producing a type that has all the properties of `T` with any `readonly` modifiers removed.\r\n * @public\r\n */\r\nexport type Mutable<T> = {\r\n -readonly [K in keyof T]: T[K];\r\n};\r\n\r\n/** Make a new type from an existing type `T`, with set of required properties `K` optional.\r\n * @public\r\n */\r\nexport type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;\r\n\r\n/** Make a new type from an existing type `T`, with set of optional properties `K` required.\r\n * @public\r\n */\r\nexport type MarkRequired<T, K extends keyof T> = Pick<Required<T>, K> & Omit<T, K>;\r\n\r\n/** Generically represents a class `T`, for use in type annotations.\r\n * @note A variable of type `Constructor<T>` matches a class `T` only if `T` has a **public** constructor.\r\n * @see [[asInstanceOf]] to attempt to cast an arbitrary value to class `T`.\r\n * @see [[isInstanceOf]] to determine if an arbitrary value is an instance of class `T`.\r\n * @public\r\n */\r\nexport type Constructor<T> = new (...args: any[]) => T;\r\n\r\n/** Returns true if `obj` is an object of class `T`.\r\n * @see [[asInstanceOf]] to cast `obj` to class `T`.\r\n * @public\r\n */\r\nexport function isInstanceOf<T>(obj: any, constructor: Constructor<T>): boolean {\r\n return \"object\" === typeof obj && obj instanceof constructor;\r\n}\r\n\r\n/** Cast `obj` to an instance of class `T`, or return undefined if `obj` is not an instance of class `T`.\r\n * @see [[isInstanceOf]] to query whether `obj` is of class `T`.\r\n * @public\r\n */\r\nexport function asInstanceOf<T>(obj: any, constructor: Constructor<T>): T | undefined {\r\n return isInstanceOf<T>(obj, constructor) ? obj as T : undefined;\r\n}\r\n\r\n/** Extracts the names of all public properties of `T` that are not of type `function`.\r\n * This includes properties defined using `get` syntax. Care should be used when using this type in conjunction with\r\n * the object spread (`...`) operator, because the spread operator omits properties defined using `get` syntax and, therefore,\r\n * so too does the type that TypeScript infers from that operator.\r\n * `get` syntax. For example:\r\n * ```ts\r\n * class Thing {\r\n * private _a = \"a\"; // a private variable\r\n * public b = \"b\"; // a public variable\r\n * public get c() { return \"c\"; } // a public property\r\n * public d() { return \"d\"; } // a public method\r\n * public e = () => \"e\"; // a public variable of type `function`\r\n * }\r\n *\r\n * // The following can have the values \"b\" or \"c\" - those are the public, non-function properties of Thing.\r\n * let nonFunctionProperty: NonFunctionPropertyNamesOf<Thing> = \"c\";\r\n *\r\n * // The following produces an error: \"Property 'c' is missing in type '{ b: string; e: () => string; }' but required in type 'NonFunctionPropertiesOf<Thing>'\"\r\n * const thing1 = new Thing();\r\n * const thing2: NonFunctionPropertiesOf<Thing> = { ...thing1 };\r\n * ```\r\n * @see [[NonFunctionPropertiesOf]] to obtain a type that includes only these properties.\r\n * @public\r\n */\r\nexport type NonFunctionPropertyNamesOf<T> = {\r\n [K in keyof T]: T[K] extends Function ? never : K;\r\n}[keyof T];\r\n\r\n/** Produces a type consisting of all of the public properties of `T` except for those of type `function`.\r\n * @see [[NonFunctionPropertyNamesOf]] for potential pitfalls when used in conjunction with the object spread operator.\r\n * @public\r\n */\r\nexport type NonFunctionPropertiesOf<T> = Pick<T, NonFunctionPropertyNamesOf<T>>;\r\n\r\n/** Any function returning a Promise.\r\n * @see [[AsyncMethodsOf]] to extract all async methods from a type.\r\n * @see [[PromiseReturnType]] to extract the type to which the Promise resolves.\r\n * @public\r\n */\r\nexport type AsyncFunction = (...args: any) => Promise<any>;\r\n\r\n/** Extracts the names of all function properties of `T` that return a Promise.\r\n * @public\r\n */\r\nexport type AsyncMethodsOf<T> = { [P in keyof T]: T[P] extends AsyncFunction ? P : never }[keyof T];\r\n\r\n/** Extracts the type to which the Promise returned by an async function resolves.\r\n * @public\r\n */\r\nexport type PromiseReturnType<T extends AsyncFunction> = T extends (...args: any) => Promise<infer R> ? R : any;\r\n\r\n/** Extracts a subset of literals `U` from a union of literals `T` in a type-safe way.\r\n * @beta\r\n */\r\nexport type ExtractLiterals<T, U extends T> = Extract<T, U>;\r\n"]}
|
|
1
|
+
{"version":3,"file":"UtilityTypes.js","sourceRoot":"","sources":["../../src/UtilityTypes.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AA2BH;;;GAGG;AACH,SAAgB,YAAY,CAAI,GAAQ,EAAE,WAA2B;IACnE,OAAO,QAAQ,KAAK,OAAO,GAAG,IAAI,GAAG,YAAY,WAAW,CAAC;AAC/D,CAAC;AAFD,oCAEC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAI,GAAQ,EAAE,WAA2B;IACnE,OAAO,YAAY,CAAI,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAFD,oCAEC;AA+DD;;;;;;GAMG;AACH,SAAgB,IAAI,CAA+C,CAAI,EAAE,IAAO;IAC9E,MAAM,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,IAAI;QACpB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC;AACf,CAAC;AALD,oBAKC","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 Utils\r\n */\r\n\r\n/** The inverse of TypeScript's Readonly<T> type, producing a type that has all the properties of `T` with any `readonly` modifiers removed.\r\n * @public\r\n */\r\nexport type Mutable<T> = {\r\n -readonly [K in keyof T]: T[K];\r\n};\r\n\r\n/** Make a new type from an existing type `T`, with set of required properties `K` optional.\r\n * @public\r\n */\r\nexport type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;\r\n\r\n/** Make a new type from an existing type `T`, with set of optional properties `K` required.\r\n * @public\r\n */\r\nexport type MarkRequired<T, K extends keyof T> = Pick<Required<T>, K> & Omit<T, K>;\r\n\r\n/** Generically represents a class `T`, for use in type annotations.\r\n * @note A variable of type `Constructor<T>` matches a class `T` only if `T` has a **public** constructor.\r\n * @see [[asInstanceOf]] to attempt to cast an arbitrary value to class `T`.\r\n * @see [[isInstanceOf]] to determine if an arbitrary value is an instance of class `T`.\r\n * @public\r\n */\r\nexport type Constructor<T> = new (...args: any[]) => T;\r\n\r\n/** Returns true if `obj` is an object of class `T`.\r\n * @see [[asInstanceOf]] to cast `obj` to class `T`.\r\n * @public\r\n */\r\nexport function isInstanceOf<T>(obj: any, constructor: Constructor<T>): boolean {\r\n return \"object\" === typeof obj && obj instanceof constructor;\r\n}\r\n\r\n/** Cast `obj` to an instance of class `T`, or return undefined if `obj` is not an instance of class `T`.\r\n * @see [[isInstanceOf]] to query whether `obj` is of class `T`.\r\n * @public\r\n */\r\nexport function asInstanceOf<T>(obj: any, constructor: Constructor<T>): T | undefined {\r\n return isInstanceOf<T>(obj, constructor) ? obj as T : undefined;\r\n}\r\n\r\n/** Extracts the names of all public properties of `T` that are not of type `function`.\r\n * This includes properties defined using `get` syntax. Care should be used when using this type in conjunction with\r\n * the object spread (`...`) operator, because the spread operator omits properties defined using `get` syntax and, therefore,\r\n * so too does the type that TypeScript infers from that operator.\r\n * `get` syntax. For example:\r\n * ```ts\r\n * class Thing {\r\n * private _a = \"a\"; // a private variable\r\n * public b = \"b\"; // a public variable\r\n * public get c() { return \"c\"; } // a public property\r\n * public d() { return \"d\"; } // a public method\r\n * public e = () => \"e\"; // a public variable of type `function`\r\n * }\r\n *\r\n * // The following can have the values \"b\" or \"c\" - those are the public, non-function properties of Thing.\r\n * let nonFunctionProperty: NonFunctionPropertyNamesOf<Thing> = \"c\";\r\n *\r\n * // The following produces an error: \"Property 'c' is missing in type '{ b: string; e: () => string; }' but required in type 'NonFunctionPropertiesOf<Thing>'\"\r\n * const thing1 = new Thing();\r\n * const thing2: NonFunctionPropertiesOf<Thing> = { ...thing1 };\r\n * ```\r\n * @see [[NonFunctionPropertiesOf]] to obtain a type that includes only these properties.\r\n * @public\r\n */\r\nexport type NonFunctionPropertyNamesOf<T> = {\r\n [K in keyof T]: T[K] extends Function ? never : K;\r\n}[keyof T];\r\n\r\n/** Produces a type consisting of all of the public properties of `T` except for those of type `function`.\r\n * @see [[NonFunctionPropertyNamesOf]] for potential pitfalls when used in conjunction with the object spread operator.\r\n * @public\r\n */\r\nexport type NonFunctionPropertiesOf<T> = Pick<T, NonFunctionPropertyNamesOf<T>>;\r\n\r\n/** Any function returning a Promise.\r\n * @see [[AsyncMethodsOf]] to extract all async methods from a type.\r\n * @see [[PromiseReturnType]] to extract the type to which the Promise resolves.\r\n * @public\r\n */\r\nexport type AsyncFunction = (...args: any) => Promise<any>;\r\n\r\n/** The members of `T` that are async functions (functions that return a promise), and no other properties\r\n * @public\r\n */\r\nexport type PickAsyncMethods<T> = { [P in keyof T]: T[P] extends AsyncFunction ? T[P] : never; };\r\n\r\n/** Extracts the names of all function properties of `T` that return a Promise.\r\n * @public\r\n */\r\nexport type AsyncMethodsOf<T> = { [P in keyof T]: T[P] extends AsyncFunction ? P : never }[keyof T];\r\n\r\n/** Extracts the type to which the Promise returned by an async function resolves.\r\n * @public\r\n */\r\nexport type PromiseReturnType<T extends AsyncFunction> = T extends (...args: any) => Promise<infer R> ? R : any;\r\n\r\n/** Extracts a subset of literals `U` from a union of literals `T` in a type-safe way.\r\n * @beta\r\n */\r\nexport type ExtractLiterals<T, U extends T> = Extract<T, U>;\r\n\r\n/** A runtime property omitter, makes a shallow copy of the given object without the specified properties\r\n * Compatible with the typescript `Omit` mapped type:\r\n * ```js\r\n * const testvar: Omit<{x: string, y: object}, \"y\"> = omit({x: \"hello\", y: {}}, [\"y\"]);\r\n * ```\r\n * @public\r\n */\r\nexport function omit<T extends {}, K extends readonly (keyof T)[]>(t: T, keys: K): Omit<T, K[number]> {\r\n const clone = { ...t };\r\n for (const key of keys)\r\n delete clone[key];\r\n return clone;\r\n}\r\n"]}
|
|
@@ -29,6 +29,7 @@ export * from "./SortedArray";
|
|
|
29
29
|
export * from "./StringUtils";
|
|
30
30
|
export * from "./Time";
|
|
31
31
|
export * from "./Tracing";
|
|
32
|
+
export * from "./TupleKeyedMap";
|
|
32
33
|
export * from "./TypedArrayBuilder";
|
|
33
34
|
export * from "./UnexpectedErrors";
|
|
34
35
|
export * from "./UtilityTypes";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-bentley.d.ts","sourceRoot":"","sources":["../../src/core-bentley.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,MAAM,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAE/B;;GAEG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG"}
|
|
1
|
+
{"version":3,"file":"core-bentley.d.ts","sourceRoot":"","sources":["../../src/core-bentley.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,MAAM,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAE/B;;GAEG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG"}
|
package/lib/cjs/core-bentley.js
CHANGED
|
@@ -45,6 +45,7 @@ __exportStar(require("./SortedArray"), exports);
|
|
|
45
45
|
__exportStar(require("./StringUtils"), exports);
|
|
46
46
|
__exportStar(require("./Time"), exports);
|
|
47
47
|
__exportStar(require("./Tracing"), exports);
|
|
48
|
+
__exportStar(require("./TupleKeyedMap"), exports);
|
|
48
49
|
__exportStar(require("./TypedArrayBuilder"), exports);
|
|
49
50
|
__exportStar(require("./UnexpectedErrors"), exports);
|
|
50
51
|
__exportStar(require("./UtilityTypes"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-bentley.js","sourceRoot":"","sources":["../../src/core-bentley.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;+FAG+F;AAC/F,gDAA8B;AAC9B,2CAAyB;AACzB,+CAA6B;AAC7B,4CAA0B;AAC1B,iDAA+B;AAC/B,0DAAwC;AACxC,mDAAiC;AACjC,6CAA2B;AAC3B,+CAA6B;AAC7B,+CAA6B;AAC7B,4CAA0B;AAC1B,sDAAoC;AACpC,+CAA6B;AAC7B,+CAA6B;AAC7B,uCAAqB;AACrB,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,2CAAyB;AACzB,2CAAyB;AACzB,kDAAgC;AAChC,qDAAmC;AACnC,wDAAsC;AACtC,+CAA6B;AAC7B,mDAAiC;AACjC,kDAAgC;AAChC,oDAAkC;AAClC,gDAA8B;AAC9B,gDAA8B;AAC9B,yCAAuB;AACvB,4CAA0B;AAC1B,sDAAoC;AACpC,qDAAmC;AACnC,iDAA+B;AAC/B,iDAA+B;AAE/B;;GAEG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG","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\nexport * from \"./AccessToken\";\r\nexport * from \"./Assert\";\r\nexport * from \"./AsyncMutex\";\r\nexport * from \"./BeEvent\";\r\nexport * from \"./BentleyError\";\r\nexport * from \"./BentleyLoggerCategory\";\r\nexport * from \"./StatusCategory\";\r\nexport * from \"./BeSQLite\";\r\nexport * from \"./ByteStream\";\r\nexport * from \"./ClassUtils\";\r\nexport * from \"./Compare\";\r\nexport * from \"./CompressedId64Set\";\r\nexport * from \"./Dictionary\";\r\nexport * from \"./Disposable\";\r\nexport * from \"./Id\";\r\nexport * from \"./IndexMap\";\r\nexport * from \"./JsonSchema\";\r\nexport * from \"./JsonUtils\";\r\nexport * from \"./Logger\";\r\nexport * from \"./LRUMap\";\r\nexport * from \"./ObservableSet\";\r\nexport * from \"./OneAtATimeAction\";\r\nexport * from \"./OrderedId64Iterable\";\r\nexport * from \"./OrderedSet\";\r\nexport * from \"./partitionArray\";\r\nexport * from \"./PriorityQueue\";\r\nexport * from \"./ProcessDetector\";\r\nexport * from \"./SortedArray\";\r\nexport * from \"./StringUtils\";\r\nexport * from \"./Time\";\r\nexport * from \"./Tracing\";\r\nexport * from \"./TypedArrayBuilder\";\r\nexport * from \"./UnexpectedErrors\";\r\nexport * from \"./UtilityTypes\";\r\nexport * from \"./YieldManager\";\r\n\r\n/** @docs-package-description\r\n * The core-bentley package contains classes to solve problems that are common for both client and server use cases.\r\n */\r\n/**\r\n * @docs-group-description BeSQLite\r\n * Classes for working with SQLite databases. SQLite underlies IModelDb and ECDb - see [Executing ECSQL]($docs/learning/ECSQL.md)\r\n */\r\n/**\r\n * @docs-group-description Errors\r\n * Classes for working with errors.\r\n */\r\n/**\r\n * @docs-group-description Events\r\n * Classes for raising and handling events.\r\n */\r\n/**\r\n * @docs-group-description Ids\r\n * Classes for working with unique identifiers.\r\n */\r\n/**\r\n * @docs-group-description Logging\r\n * Classes for configuring and logging diagnostic messages - see [Learning about Logging]($docs/learning/common/Logging.md)\r\n */\r\n/**\r\n * @docs-group-description Collections\r\n * Specialized, customizable collection classes like priority queues.\r\n */\r\n/**\r\n * @docs-group-description Json\r\n * utilities for dealing with Json strings and files.\r\n */\r\n/**\r\n * @docs-group-description Utils\r\n * Miscellaneous utility classes.\r\n */\r\n/**\r\n * @docs-group-description ProcessDetector\r\n * Functions for determining the type of the current JavaScript process.\r\n */\r\n"]}
|
|
1
|
+
{"version":3,"file":"core-bentley.js","sourceRoot":"","sources":["../../src/core-bentley.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;+FAG+F;AAC/F,gDAA8B;AAC9B,2CAAyB;AACzB,+CAA6B;AAC7B,4CAA0B;AAC1B,iDAA+B;AAC/B,0DAAwC;AACxC,mDAAiC;AACjC,6CAA2B;AAC3B,+CAA6B;AAC7B,+CAA6B;AAC7B,4CAA0B;AAC1B,sDAAoC;AACpC,+CAA6B;AAC7B,+CAA6B;AAC7B,uCAAqB;AACrB,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,2CAAyB;AACzB,2CAAyB;AACzB,kDAAgC;AAChC,qDAAmC;AACnC,wDAAsC;AACtC,+CAA6B;AAC7B,mDAAiC;AACjC,kDAAgC;AAChC,oDAAkC;AAClC,gDAA8B;AAC9B,gDAA8B;AAC9B,yCAAuB;AACvB,4CAA0B;AAC1B,kDAAgC;AAChC,sDAAoC;AACpC,qDAAmC;AACnC,iDAA+B;AAC/B,iDAA+B;AAE/B;;GAEG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG","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\nexport * from \"./AccessToken\";\r\nexport * from \"./Assert\";\r\nexport * from \"./AsyncMutex\";\r\nexport * from \"./BeEvent\";\r\nexport * from \"./BentleyError\";\r\nexport * from \"./BentleyLoggerCategory\";\r\nexport * from \"./StatusCategory\";\r\nexport * from \"./BeSQLite\";\r\nexport * from \"./ByteStream\";\r\nexport * from \"./ClassUtils\";\r\nexport * from \"./Compare\";\r\nexport * from \"./CompressedId64Set\";\r\nexport * from \"./Dictionary\";\r\nexport * from \"./Disposable\";\r\nexport * from \"./Id\";\r\nexport * from \"./IndexMap\";\r\nexport * from \"./JsonSchema\";\r\nexport * from \"./JsonUtils\";\r\nexport * from \"./Logger\";\r\nexport * from \"./LRUMap\";\r\nexport * from \"./ObservableSet\";\r\nexport * from \"./OneAtATimeAction\";\r\nexport * from \"./OrderedId64Iterable\";\r\nexport * from \"./OrderedSet\";\r\nexport * from \"./partitionArray\";\r\nexport * from \"./PriorityQueue\";\r\nexport * from \"./ProcessDetector\";\r\nexport * from \"./SortedArray\";\r\nexport * from \"./StringUtils\";\r\nexport * from \"./Time\";\r\nexport * from \"./Tracing\";\r\nexport * from \"./TupleKeyedMap\";\r\nexport * from \"./TypedArrayBuilder\";\r\nexport * from \"./UnexpectedErrors\";\r\nexport * from \"./UtilityTypes\";\r\nexport * from \"./YieldManager\";\r\n\r\n/** @docs-package-description\r\n * The core-bentley package contains classes to solve problems that are common for both client and server use cases.\r\n */\r\n/**\r\n * @docs-group-description BeSQLite\r\n * Classes for working with SQLite databases. SQLite underlies IModelDb and ECDb - see [Executing ECSQL]($docs/learning/ECSQL.md)\r\n */\r\n/**\r\n * @docs-group-description Errors\r\n * Classes for working with errors.\r\n */\r\n/**\r\n * @docs-group-description Events\r\n * Classes for raising and handling events.\r\n */\r\n/**\r\n * @docs-group-description Ids\r\n * Classes for working with unique identifiers.\r\n */\r\n/**\r\n * @docs-group-description Logging\r\n * Classes for configuring and logging diagnostic messages - see [Learning about Logging]($docs/learning/common/Logging.md)\r\n */\r\n/**\r\n * @docs-group-description Collections\r\n * Specialized, customizable collection classes like priority queues.\r\n */\r\n/**\r\n * @docs-group-description Json\r\n * utilities for dealing with Json strings and files.\r\n */\r\n/**\r\n * @docs-group-description Utils\r\n * Miscellaneous utility classes.\r\n */\r\n/**\r\n * @docs-group-description ProcessDetector\r\n * Functions for determining the type of the current JavaScript process.\r\n */\r\n"]}
|
|
@@ -168,7 +168,9 @@ export declare enum ChangeSetStatus {
|
|
|
168
168
|
/** Cannot merge changes into a Master DgnDb. */
|
|
169
169
|
CannotMergeIntoMaster = 90136,
|
|
170
170
|
/** Cannot merge changes into a DgnDb that has reversed change sets. */
|
|
171
|
-
CannotMergeIntoReversed = 90137
|
|
171
|
+
CannotMergeIntoReversed = 90137,
|
|
172
|
+
/** ChangeSet(s) download was cancelled. */
|
|
173
|
+
DownloadCancelled = 90138
|
|
172
174
|
}
|
|
173
175
|
/** Return codes for methods which perform repository management operations
|
|
174
176
|
* @beta Should these be internal?
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BentleyError.d.ts","sourceRoot":"","sources":["../../src/BentleyError.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BentleyError.d.ts","sourceRoot":"","sources":["../../src/BentleyError.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/BentleyError.js
CHANGED
|
@@ -179,6 +179,8 @@ export var ChangeSetStatus;
|
|
|
179
179
|
ChangeSetStatus[ChangeSetStatus["CannotMergeIntoMaster"] = 90136] = "CannotMergeIntoMaster";
|
|
180
180
|
/** Cannot merge changes into a DgnDb that has reversed change sets. */
|
|
181
181
|
ChangeSetStatus[ChangeSetStatus["CannotMergeIntoReversed"] = 90137] = "CannotMergeIntoReversed";
|
|
182
|
+
/** ChangeSet(s) download was cancelled. */
|
|
183
|
+
ChangeSetStatus[ChangeSetStatus["DownloadCancelled"] = 90138] = "DownloadCancelled";
|
|
182
184
|
})(ChangeSetStatus || (ChangeSetStatus = {}));
|
|
183
185
|
/** Return codes for methods which perform repository management operations
|
|
184
186
|
* @beta Should these be internal?
|
|
@@ -544,6 +546,7 @@ export class BentleyError extends Error {
|
|
|
544
546
|
case ChangeSetStatus.CannotMergeIntoReadonly: return "Cannot merge changes into a Readonly DgnDb";
|
|
545
547
|
case ChangeSetStatus.CannotMergeIntoMaster: return "Cannot merge changes into a Master DgnDb";
|
|
546
548
|
case ChangeSetStatus.CannotMergeIntoReversed: return "Cannot merge changes into a DgnDb that has reversed change sets";
|
|
549
|
+
case ChangeSetStatus.DownloadCancelled: return "ChangeSet(s) download was cancelled.";
|
|
547
550
|
case RepositoryStatus.ServerUnavailable: return "ServerUnavailable";
|
|
548
551
|
case RepositoryStatus.LockAlreadyHeld: return "LockAlreadyHeld";
|
|
549
552
|
case RepositoryStatus.SyncError: return "SyncError";
|