@itwin/presentation-common 3.4.0-dev.36 → 3.4.0-dev.40

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.
@@ -6,6 +6,29 @@
6
6
  * @beta
7
7
  */
8
8
  export declare type DiagnosticsLoggerSeverity = "error" | "warning" | "info" | "debug" | "trace";
9
+ /**
10
+ * Returns lower severity of the given two. Examples:
11
+ * ```
12
+ * combineDiagnosticsSeverities("error", "error") === "error"
13
+ * combineDiagnosticsSeverities("error", "debug") === "debug"
14
+ * combineDiagnosticsSeverities("debug", "error") === "debug"
15
+ * ```
16
+ * @internal
17
+ */
18
+ export declare function combineDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity): DiagnosticsLoggerSeverity | undefined;
19
+ /**
20
+ * Returns 0 if the given severities are equal after normalization, negative if `lhs` is lower, positive if higher. Examples:
21
+ * ```
22
+ * compareDiagnosticsSeverities("error", "error") === 0
23
+ * compareDiagnosticsSeverities("error", false) === 0
24
+ * compareDiagnosticsSeverities("error", undefined) === 0
25
+ * compareDiagnosticsSeverities("debug", true) === 0
26
+ * compareDiagnosticsSeverities("debug", "error") < 0
27
+ * compareDiagnosticsSeverities("error", "debug") > 0
28
+ * ```
29
+ * @internal
30
+ */
31
+ export declare function compareDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity): 0 | 1 | -1;
9
32
  /**
10
33
  * Data structure for diagnostics information.
11
34
  * @beta
@@ -1 +1 @@
1
- {"version":3,"file":"Diagnostics.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH,oBAAY,yBAAyB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,0CAA0C;IAC1C,GAAG,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IAC1C,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;CAC9C;AAED;;;GAGG;AACH,oBAAY,wBAAwB,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,wBAAwB,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE;QACR,GAAG,CAAC,EAAE,yBAAyB,CAAC;QAChC,MAAM,CAAC,EAAE,yBAAyB,CAAC;KACpC,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;CAC5D;AAED;;;GAGG;AACH,oBAAY,mBAAmB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAE/E;;;GAGG;AACH,yBAAiB,mBAAmB,CAAC;IACnC,SAAgB,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,qBAAqB,CAEpF;IACD,SAAgB,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,oBAAoB,CAEjF;CACF"}
1
+ {"version":3,"file":"Diagnostics.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH,oBAAY,yBAAyB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzF;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,yCAStJ;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,cActJ;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,0CAA0C;IAC1C,GAAG,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IAC1C,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;CAC9C;AAED;;;GAGG;AACH,oBAAY,wBAAwB,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,wBAAwB,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE;QACR,GAAG,CAAC,EAAE,yBAAyB,CAAC;QAChC,MAAM,CAAC,EAAE,yBAAyB,CAAC;KACpC,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;CAC5D;AAED;;;GAGG;AACH,oBAAY,mBAAmB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAE/E;;;GAGG;AACH,yBAAiB,mBAAmB,CAAC;IACnC,SAAgB,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,qBAAqB,CAEpF;IACD,SAAgB,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,oBAAoB,CAEjF;CACF"}
@@ -7,7 +7,54 @@
7
7
  * @module Core
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.DiagnosticsLogEntry = void 0;
10
+ exports.DiagnosticsLogEntry = exports.compareDiagnosticsSeverities = exports.combineDiagnosticsSeverities = void 0;
11
+ /**
12
+ * Returns lower severity of the given two. Examples:
13
+ * ```
14
+ * combineDiagnosticsSeverities("error", "error") === "error"
15
+ * combineDiagnosticsSeverities("error", "debug") === "debug"
16
+ * combineDiagnosticsSeverities("debug", "error") === "debug"
17
+ * ```
18
+ * @internal
19
+ */
20
+ function combineDiagnosticsSeverities(lhs, rhs) {
21
+ if (!lhs && !rhs)
22
+ return undefined;
23
+ const combinedSeverity = (lhs === "trace" || rhs === "trace") ? "trace" :
24
+ (lhs === "debug" || lhs === true || rhs === "debug" || rhs === true) ? "debug" :
25
+ (lhs === "info" || rhs === "info") ? "info" :
26
+ (lhs === "warning" || rhs === "warning") ? "warning" : "error";
27
+ return combinedSeverity;
28
+ }
29
+ exports.combineDiagnosticsSeverities = combineDiagnosticsSeverities;
30
+ /**
31
+ * Returns 0 if the given severities are equal after normalization, negative if `lhs` is lower, positive if higher. Examples:
32
+ * ```
33
+ * compareDiagnosticsSeverities("error", "error") === 0
34
+ * compareDiagnosticsSeverities("error", false) === 0
35
+ * compareDiagnosticsSeverities("error", undefined) === 0
36
+ * compareDiagnosticsSeverities("debug", true) === 0
37
+ * compareDiagnosticsSeverities("debug", "error") < 0
38
+ * compareDiagnosticsSeverities("error", "debug") > 0
39
+ * ```
40
+ * @internal
41
+ */
42
+ function compareDiagnosticsSeverities(lhs, rhs) {
43
+ const normalizedLhs = (lhs === undefined || lhs === false) ? "error" : lhs === true ? "debug" : lhs;
44
+ const normalizedRhs = (rhs === undefined || rhs === false) ? "error" : rhs === true ? "debug" : rhs;
45
+ if (normalizedLhs === normalizedRhs)
46
+ return 0;
47
+ if (normalizedLhs === "error")
48
+ return 1;
49
+ if (normalizedLhs === "warning")
50
+ return normalizedRhs === "error" ? -1 : 1;
51
+ if (normalizedLhs === "info")
52
+ return normalizedRhs === "warning" || normalizedRhs === "error" ? -1 : 1;
53
+ if (normalizedLhs === "debug")
54
+ return normalizedRhs === "info" || normalizedRhs === "warning" || normalizedRhs === "error" ? -1 : 1;
55
+ return -1;
56
+ }
57
+ exports.compareDiagnosticsSeverities = compareDiagnosticsSeverities;
11
58
  /**
12
59
  * Functions related to diagnostics log entry.
13
60
  * @beta
@@ -1 +1 @@
1
- {"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAmGH;;;GAGG;AACH,IAAiB,mBAAmB,CAOnC;AAPD,WAAiB,mBAAmB;IAClC,SAAgB,SAAS,CAAC,KAA0B;QAClD,OAAO,CAAC,CAAE,KAAa,CAAC,OAAO,CAAC;IAClC,CAAC;IAFe,6BAAS,YAExB,CAAA;IACD,SAAgB,OAAO,CAAC,KAA0B;QAChD,OAAO,CAAC,CAAE,KAAa,CAAC,KAAK,CAAC;IAChC,CAAC;IAFe,2BAAO,UAEtB,CAAA;AACH,CAAC,EAPgB,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAOnC","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 Core\r\n */\r\n\r\n/**\r\n * Type of diagnostics logger severity.\r\n * @beta\r\n */\r\nexport type DiagnosticsLoggerSeverity = \"error\" | \"warning\" | \"info\" | \"debug\" | \"trace\";\r\n\r\n/**\r\n * Data structure for diagnostics information.\r\n * @beta\r\n */\r\nexport interface Diagnostics {\r\n logs?: DiagnosticsScopeLogs[];\r\n}\r\n\r\n/**\r\n * Data structure with client diagnostics information.\r\n * @beta\r\n */\r\nexport interface ClientDiagnostics extends Diagnostics {\r\n backendVersion?: string;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics options.\r\n * @beta\r\n */\r\nexport interface DiagnosticsOptions {\r\n /**\r\n * Flag specifying that performance should be measured, or\r\n * minimum duration in milliseconds for which performance metric should be included.\r\n */\r\n perf?: boolean | { minimumDuration: number };\r\n /** Severity for developer log messages */\r\n dev?: boolean | DiagnosticsLoggerSeverity;\r\n /** Severity for presentation rules' editor log messages */\r\n editor?: boolean | DiagnosticsLoggerSeverity;\r\n}\r\n\r\n/**\r\n * A function that can be called after receiving diagnostics.\r\n * @beta\r\n */\r\nexport type ClientDiagnosticsHandler = (logs: ClientDiagnostics) => void;\r\n\r\n/**\r\n * Data structure for client diagnostics options.\r\n * @beta\r\n */\r\nexport interface ClientDiagnosticsOptions extends DiagnosticsOptions {\r\n backendVersion?: boolean;\r\n handler: ClientDiagnosticsHandler;\r\n}\r\n\r\n/**\r\n * Data structure which contains client diagnostics options.\r\n * @public\r\n */\r\nexport interface ClientDiagnosticsAttribute {\r\n /**\r\n * Diagnostics options.\r\n * @beta\r\n */\r\n diagnostics?: ClientDiagnosticsOptions;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log message information.\r\n * @beta\r\n */\r\nexport interface DiagnosticsLogMessage {\r\n severity: {\r\n dev?: DiagnosticsLoggerSeverity;\r\n editor?: DiagnosticsLoggerSeverity;\r\n };\r\n category: string;\r\n message: string;\r\n timestamp: number;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics scope information.\r\n * @beta\r\n */\r\nexport interface DiagnosticsScopeLogs {\r\n scope: string;\r\n scopeCreateTimestamp?: number;\r\n duration?: number;\r\n logs?: DiagnosticsLogEntry[];\r\n attributes?: { [attributeKey: string]: string | string[] };\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log entry.\r\n * @beta\r\n */\r\nexport type DiagnosticsLogEntry = DiagnosticsLogMessage | DiagnosticsScopeLogs;\r\n\r\n/**\r\n * Functions related to diagnostics log entry.\r\n * @beta\r\n */\r\nexport namespace DiagnosticsLogEntry { // eslint-disable-line @typescript-eslint/no-redeclare\r\n export function isMessage(entry: DiagnosticsLogEntry): entry is DiagnosticsLogMessage {\r\n return !!(entry as any).message;\r\n }\r\n export function isScope(entry: DiagnosticsLogEntry): entry is DiagnosticsScopeLogs {\r\n return !!(entry as any).scope;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAQH;;;;;;;;GAQG;AACH,SAAgB,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;QACd,OAAO,SAAS,CAAC;IACnB,MAAM,gBAAgB,GACpB,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9E,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC3C,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACvE,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AATD,oEASC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,MAAM,aAAa,GAA8B,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/H,MAAM,aAAa,GAA8B,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/H,IAAI,aAAa,KAAK,aAAa;QACjC,OAAO,CAAC,CAAC;IACX,IAAI,aAAa,KAAK,OAAO;QAC3B,OAAO,CAAC,CAAC;IACX,IAAI,aAAa,KAAK,SAAS;QAC7B,OAAO,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,aAAa,KAAK,MAAM;QAC1B,OAAO,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,aAAa,KAAK,OAAO;QAC3B,OAAO,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAdD,oEAcC;AA6FD;;;GAGG;AACH,IAAiB,mBAAmB,CAOnC;AAPD,WAAiB,mBAAmB;IAClC,SAAgB,SAAS,CAAC,KAA0B;QAClD,OAAO,CAAC,CAAE,KAAa,CAAC,OAAO,CAAC;IAClC,CAAC;IAFe,6BAAS,YAExB,CAAA;IACD,SAAgB,OAAO,CAAC,KAA0B;QAChD,OAAO,CAAC,CAAE,KAAa,CAAC,KAAK,CAAC;IAChC,CAAC;IAFe,2BAAO,UAEtB,CAAA;AACH,CAAC,EAPgB,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAOnC","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 Core\r\n */\r\n\r\n/**\r\n * Type of diagnostics logger severity.\r\n * @beta\r\n */\r\nexport type DiagnosticsLoggerSeverity = \"error\" | \"warning\" | \"info\" | \"debug\" | \"trace\";\r\n\r\n/**\r\n * Returns lower severity of the given two. Examples:\r\n * ```\r\n * combineDiagnosticsSeverities(\"error\", \"error\") === \"error\"\r\n * combineDiagnosticsSeverities(\"error\", \"debug\") === \"debug\"\r\n * combineDiagnosticsSeverities(\"debug\", \"error\") === \"debug\"\r\n * ```\r\n * @internal\r\n */\r\nexport function combineDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\r\n if (!lhs && !rhs)\r\n return undefined;\r\n const combinedSeverity: DiagnosticsLoggerSeverity =\r\n (lhs === \"trace\" || rhs === \"trace\") ? \"trace\" :\r\n (lhs === \"debug\" || lhs === true || rhs === \"debug\" || rhs === true) ? \"debug\" :\r\n (lhs === \"info\" || rhs === \"info\") ? \"info\" :\r\n (lhs === \"warning\" || rhs === \"warning\") ? \"warning\" : \"error\";\r\n return combinedSeverity;\r\n}\r\n\r\n/**\r\n * Returns 0 if the given severities are equal after normalization, negative if `lhs` is lower, positive if higher. Examples:\r\n * ```\r\n * compareDiagnosticsSeverities(\"error\", \"error\") === 0\r\n * compareDiagnosticsSeverities(\"error\", false) === 0\r\n * compareDiagnosticsSeverities(\"error\", undefined) === 0\r\n * compareDiagnosticsSeverities(\"debug\", true) === 0\r\n * compareDiagnosticsSeverities(\"debug\", \"error\") < 0\r\n * compareDiagnosticsSeverities(\"error\", \"debug\") > 0\r\n * ```\r\n * @internal\r\n */\r\nexport function compareDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\r\n const normalizedLhs: DiagnosticsLoggerSeverity = (lhs === undefined || lhs === false) ? \"error\" : lhs === true ? \"debug\" : lhs;\r\n const normalizedRhs: DiagnosticsLoggerSeverity = (rhs === undefined || rhs === false) ? \"error\" : rhs === true ? \"debug\" : rhs;\r\n if (normalizedLhs === normalizedRhs)\r\n return 0;\r\n if (normalizedLhs === \"error\")\r\n return 1;\r\n if (normalizedLhs === \"warning\")\r\n return normalizedRhs === \"error\" ? -1 : 1;\r\n if (normalizedLhs === \"info\")\r\n return normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\r\n if (normalizedLhs === \"debug\")\r\n return normalizedRhs === \"info\" || normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\r\n return -1;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics information.\r\n * @beta\r\n */\r\nexport interface Diagnostics {\r\n logs?: DiagnosticsScopeLogs[];\r\n}\r\n\r\n/**\r\n * Data structure with client diagnostics information.\r\n * @beta\r\n */\r\nexport interface ClientDiagnostics extends Diagnostics {\r\n backendVersion?: string;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics options.\r\n * @beta\r\n */\r\nexport interface DiagnosticsOptions {\r\n /**\r\n * Flag specifying that performance should be measured, or\r\n * minimum duration in milliseconds for which performance metric should be included.\r\n */\r\n perf?: boolean | { minimumDuration: number };\r\n /** Severity for developer log messages */\r\n dev?: boolean | DiagnosticsLoggerSeverity;\r\n /** Severity for presentation rules' editor log messages */\r\n editor?: boolean | DiagnosticsLoggerSeverity;\r\n}\r\n\r\n/**\r\n * A function that can be called after receiving diagnostics.\r\n * @beta\r\n */\r\nexport type ClientDiagnosticsHandler = (logs: ClientDiagnostics) => void;\r\n\r\n/**\r\n * Data structure for client diagnostics options.\r\n * @beta\r\n */\r\nexport interface ClientDiagnosticsOptions extends DiagnosticsOptions {\r\n backendVersion?: boolean;\r\n handler: ClientDiagnosticsHandler;\r\n}\r\n\r\n/**\r\n * Data structure which contains client diagnostics options.\r\n * @public\r\n */\r\nexport interface ClientDiagnosticsAttribute {\r\n /**\r\n * Diagnostics options.\r\n * @beta\r\n */\r\n diagnostics?: ClientDiagnosticsOptions;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log message information.\r\n * @beta\r\n */\r\nexport interface DiagnosticsLogMessage {\r\n severity: {\r\n dev?: DiagnosticsLoggerSeverity;\r\n editor?: DiagnosticsLoggerSeverity;\r\n };\r\n category: string;\r\n message: string;\r\n timestamp: number;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics scope information.\r\n * @beta\r\n */\r\nexport interface DiagnosticsScopeLogs {\r\n scope: string;\r\n scopeCreateTimestamp?: number;\r\n duration?: number;\r\n logs?: DiagnosticsLogEntry[];\r\n attributes?: { [attributeKey: string]: string | string[] };\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log entry.\r\n * @beta\r\n */\r\nexport type DiagnosticsLogEntry = DiagnosticsLogMessage | DiagnosticsScopeLogs;\r\n\r\n/**\r\n * Functions related to diagnostics log entry.\r\n * @beta\r\n */\r\nexport namespace DiagnosticsLogEntry { // eslint-disable-line @typescript-eslint/no-redeclare\r\n export function isMessage(entry: DiagnosticsLogEntry): entry is DiagnosticsLogMessage {\r\n return !!(entry as any).message;\r\n }\r\n export function isScope(entry: DiagnosticsLogEntry): entry is DiagnosticsScopeLogs {\r\n return !!(entry as any).scope;\r\n }\r\n}\r\n"]}
@@ -6,6 +6,29 @@
6
6
  * @beta
7
7
  */
8
8
  export declare type DiagnosticsLoggerSeverity = "error" | "warning" | "info" | "debug" | "trace";
9
+ /**
10
+ * Returns lower severity of the given two. Examples:
11
+ * ```
12
+ * combineDiagnosticsSeverities("error", "error") === "error"
13
+ * combineDiagnosticsSeverities("error", "debug") === "debug"
14
+ * combineDiagnosticsSeverities("debug", "error") === "debug"
15
+ * ```
16
+ * @internal
17
+ */
18
+ export declare function combineDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity): DiagnosticsLoggerSeverity | undefined;
19
+ /**
20
+ * Returns 0 if the given severities are equal after normalization, negative if `lhs` is lower, positive if higher. Examples:
21
+ * ```
22
+ * compareDiagnosticsSeverities("error", "error") === 0
23
+ * compareDiagnosticsSeverities("error", false) === 0
24
+ * compareDiagnosticsSeverities("error", undefined) === 0
25
+ * compareDiagnosticsSeverities("debug", true) === 0
26
+ * compareDiagnosticsSeverities("debug", "error") < 0
27
+ * compareDiagnosticsSeverities("error", "debug") > 0
28
+ * ```
29
+ * @internal
30
+ */
31
+ export declare function compareDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity): 0 | 1 | -1;
9
32
  /**
10
33
  * Data structure for diagnostics information.
11
34
  * @beta
@@ -1 +1 @@
1
- {"version":3,"file":"Diagnostics.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH,oBAAY,yBAAyB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,0CAA0C;IAC1C,GAAG,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IAC1C,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;CAC9C;AAED;;;GAGG;AACH,oBAAY,wBAAwB,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,wBAAwB,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE;QACR,GAAG,CAAC,EAAE,yBAAyB,CAAC;QAChC,MAAM,CAAC,EAAE,yBAAyB,CAAC;KACpC,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;CAC5D;AAED;;;GAGG;AACH,oBAAY,mBAAmB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAE/E;;;GAGG;AACH,yBAAiB,mBAAmB,CAAC;IACnC,SAAgB,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,qBAAqB,CAEpF;IACD,SAAgB,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,oBAAoB,CAEjF;CACF"}
1
+ {"version":3,"file":"Diagnostics.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH,oBAAY,yBAAyB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzF;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,yCAStJ;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,cActJ;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,0CAA0C;IAC1C,GAAG,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IAC1C,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;CAC9C;AAED;;;GAGG;AACH,oBAAY,wBAAwB,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,wBAAwB,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE;QACR,GAAG,CAAC,EAAE,yBAAyB,CAAC;QAChC,MAAM,CAAC,EAAE,yBAAyB,CAAC;KACpC,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;CAC5D;AAED;;;GAGG;AACH,oBAAY,mBAAmB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAE/E;;;GAGG;AACH,yBAAiB,mBAAmB,CAAC;IACnC,SAAgB,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,qBAAqB,CAEpF;IACD,SAAgB,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,oBAAoB,CAEjF;CACF"}
@@ -5,6 +5,51 @@
5
5
  /** @packageDocumentation
6
6
  * @module Core
7
7
  */
8
+ /**
9
+ * Returns lower severity of the given two. Examples:
10
+ * ```
11
+ * combineDiagnosticsSeverities("error", "error") === "error"
12
+ * combineDiagnosticsSeverities("error", "debug") === "debug"
13
+ * combineDiagnosticsSeverities("debug", "error") === "debug"
14
+ * ```
15
+ * @internal
16
+ */
17
+ export function combineDiagnosticsSeverities(lhs, rhs) {
18
+ if (!lhs && !rhs)
19
+ return undefined;
20
+ const combinedSeverity = (lhs === "trace" || rhs === "trace") ? "trace" :
21
+ (lhs === "debug" || lhs === true || rhs === "debug" || rhs === true) ? "debug" :
22
+ (lhs === "info" || rhs === "info") ? "info" :
23
+ (lhs === "warning" || rhs === "warning") ? "warning" : "error";
24
+ return combinedSeverity;
25
+ }
26
+ /**
27
+ * Returns 0 if the given severities are equal after normalization, negative if `lhs` is lower, positive if higher. Examples:
28
+ * ```
29
+ * compareDiagnosticsSeverities("error", "error") === 0
30
+ * compareDiagnosticsSeverities("error", false) === 0
31
+ * compareDiagnosticsSeverities("error", undefined) === 0
32
+ * compareDiagnosticsSeverities("debug", true) === 0
33
+ * compareDiagnosticsSeverities("debug", "error") < 0
34
+ * compareDiagnosticsSeverities("error", "debug") > 0
35
+ * ```
36
+ * @internal
37
+ */
38
+ export function compareDiagnosticsSeverities(lhs, rhs) {
39
+ const normalizedLhs = (lhs === undefined || lhs === false) ? "error" : lhs === true ? "debug" : lhs;
40
+ const normalizedRhs = (rhs === undefined || rhs === false) ? "error" : rhs === true ? "debug" : rhs;
41
+ if (normalizedLhs === normalizedRhs)
42
+ return 0;
43
+ if (normalizedLhs === "error")
44
+ return 1;
45
+ if (normalizedLhs === "warning")
46
+ return normalizedRhs === "error" ? -1 : 1;
47
+ if (normalizedLhs === "info")
48
+ return normalizedRhs === "warning" || normalizedRhs === "error" ? -1 : 1;
49
+ if (normalizedLhs === "debug")
50
+ return normalizedRhs === "info" || normalizedRhs === "warning" || normalizedRhs === "error" ? -1 : 1;
51
+ return -1;
52
+ }
8
53
  /**
9
54
  * Functions related to diagnostics log entry.
10
55
  * @beta
@@ -1 +1 @@
1
- {"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAmGH;;;GAGG;AACH,MAAM,KAAW,mBAAmB,CAOnC;AAPD,WAAiB,mBAAmB;IAClC,SAAgB,SAAS,CAAC,KAA0B;QAClD,OAAO,CAAC,CAAE,KAAa,CAAC,OAAO,CAAC;IAClC,CAAC;IAFe,6BAAS,YAExB,CAAA;IACD,SAAgB,OAAO,CAAC,KAA0B;QAChD,OAAO,CAAC,CAAE,KAAa,CAAC,KAAK,CAAC;IAChC,CAAC;IAFe,2BAAO,UAEtB,CAAA;AACH,CAAC,EAPgB,mBAAmB,KAAnB,mBAAmB,QAOnC","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 Core\r\n */\r\n\r\n/**\r\n * Type of diagnostics logger severity.\r\n * @beta\r\n */\r\nexport type DiagnosticsLoggerSeverity = \"error\" | \"warning\" | \"info\" | \"debug\" | \"trace\";\r\n\r\n/**\r\n * Data structure for diagnostics information.\r\n * @beta\r\n */\r\nexport interface Diagnostics {\r\n logs?: DiagnosticsScopeLogs[];\r\n}\r\n\r\n/**\r\n * Data structure with client diagnostics information.\r\n * @beta\r\n */\r\nexport interface ClientDiagnostics extends Diagnostics {\r\n backendVersion?: string;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics options.\r\n * @beta\r\n */\r\nexport interface DiagnosticsOptions {\r\n /**\r\n * Flag specifying that performance should be measured, or\r\n * minimum duration in milliseconds for which performance metric should be included.\r\n */\r\n perf?: boolean | { minimumDuration: number };\r\n /** Severity for developer log messages */\r\n dev?: boolean | DiagnosticsLoggerSeverity;\r\n /** Severity for presentation rules' editor log messages */\r\n editor?: boolean | DiagnosticsLoggerSeverity;\r\n}\r\n\r\n/**\r\n * A function that can be called after receiving diagnostics.\r\n * @beta\r\n */\r\nexport type ClientDiagnosticsHandler = (logs: ClientDiagnostics) => void;\r\n\r\n/**\r\n * Data structure for client diagnostics options.\r\n * @beta\r\n */\r\nexport interface ClientDiagnosticsOptions extends DiagnosticsOptions {\r\n backendVersion?: boolean;\r\n handler: ClientDiagnosticsHandler;\r\n}\r\n\r\n/**\r\n * Data structure which contains client diagnostics options.\r\n * @public\r\n */\r\nexport interface ClientDiagnosticsAttribute {\r\n /**\r\n * Diagnostics options.\r\n * @beta\r\n */\r\n diagnostics?: ClientDiagnosticsOptions;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log message information.\r\n * @beta\r\n */\r\nexport interface DiagnosticsLogMessage {\r\n severity: {\r\n dev?: DiagnosticsLoggerSeverity;\r\n editor?: DiagnosticsLoggerSeverity;\r\n };\r\n category: string;\r\n message: string;\r\n timestamp: number;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics scope information.\r\n * @beta\r\n */\r\nexport interface DiagnosticsScopeLogs {\r\n scope: string;\r\n scopeCreateTimestamp?: number;\r\n duration?: number;\r\n logs?: DiagnosticsLogEntry[];\r\n attributes?: { [attributeKey: string]: string | string[] };\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log entry.\r\n * @beta\r\n */\r\nexport type DiagnosticsLogEntry = DiagnosticsLogMessage | DiagnosticsScopeLogs;\r\n\r\n/**\r\n * Functions related to diagnostics log entry.\r\n * @beta\r\n */\r\nexport namespace DiagnosticsLogEntry { // eslint-disable-line @typescript-eslint/no-redeclare\r\n export function isMessage(entry: DiagnosticsLogEntry): entry is DiagnosticsLogMessage {\r\n return !!(entry as any).message;\r\n }\r\n export function isScope(entry: DiagnosticsLogEntry): entry is DiagnosticsScopeLogs {\r\n return !!(entry as any).scope;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAQH;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;QACd,OAAO,SAAS,CAAC;IACnB,MAAM,gBAAgB,GACpB,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9E,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC3C,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACvE,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,MAAM,aAAa,GAA8B,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/H,MAAM,aAAa,GAA8B,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/H,IAAI,aAAa,KAAK,aAAa;QACjC,OAAO,CAAC,CAAC;IACX,IAAI,aAAa,KAAK,OAAO;QAC3B,OAAO,CAAC,CAAC;IACX,IAAI,aAAa,KAAK,SAAS;QAC7B,OAAO,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,aAAa,KAAK,MAAM;QAC1B,OAAO,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,aAAa,KAAK,OAAO;QAC3B,OAAO,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AA6FD;;;GAGG;AACH,MAAM,KAAW,mBAAmB,CAOnC;AAPD,WAAiB,mBAAmB;IAClC,SAAgB,SAAS,CAAC,KAA0B;QAClD,OAAO,CAAC,CAAE,KAAa,CAAC,OAAO,CAAC;IAClC,CAAC;IAFe,6BAAS,YAExB,CAAA;IACD,SAAgB,OAAO,CAAC,KAA0B;QAChD,OAAO,CAAC,CAAE,KAAa,CAAC,KAAK,CAAC;IAChC,CAAC;IAFe,2BAAO,UAEtB,CAAA;AACH,CAAC,EAPgB,mBAAmB,KAAnB,mBAAmB,QAOnC","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 Core\r\n */\r\n\r\n/**\r\n * Type of diagnostics logger severity.\r\n * @beta\r\n */\r\nexport type DiagnosticsLoggerSeverity = \"error\" | \"warning\" | \"info\" | \"debug\" | \"trace\";\r\n\r\n/**\r\n * Returns lower severity of the given two. Examples:\r\n * ```\r\n * combineDiagnosticsSeverities(\"error\", \"error\") === \"error\"\r\n * combineDiagnosticsSeverities(\"error\", \"debug\") === \"debug\"\r\n * combineDiagnosticsSeverities(\"debug\", \"error\") === \"debug\"\r\n * ```\r\n * @internal\r\n */\r\nexport function combineDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\r\n if (!lhs && !rhs)\r\n return undefined;\r\n const combinedSeverity: DiagnosticsLoggerSeverity =\r\n (lhs === \"trace\" || rhs === \"trace\") ? \"trace\" :\r\n (lhs === \"debug\" || lhs === true || rhs === \"debug\" || rhs === true) ? \"debug\" :\r\n (lhs === \"info\" || rhs === \"info\") ? \"info\" :\r\n (lhs === \"warning\" || rhs === \"warning\") ? \"warning\" : \"error\";\r\n return combinedSeverity;\r\n}\r\n\r\n/**\r\n * Returns 0 if the given severities are equal after normalization, negative if `lhs` is lower, positive if higher. Examples:\r\n * ```\r\n * compareDiagnosticsSeverities(\"error\", \"error\") === 0\r\n * compareDiagnosticsSeverities(\"error\", false) === 0\r\n * compareDiagnosticsSeverities(\"error\", undefined) === 0\r\n * compareDiagnosticsSeverities(\"debug\", true) === 0\r\n * compareDiagnosticsSeverities(\"debug\", \"error\") < 0\r\n * compareDiagnosticsSeverities(\"error\", \"debug\") > 0\r\n * ```\r\n * @internal\r\n */\r\nexport function compareDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\r\n const normalizedLhs: DiagnosticsLoggerSeverity = (lhs === undefined || lhs === false) ? \"error\" : lhs === true ? \"debug\" : lhs;\r\n const normalizedRhs: DiagnosticsLoggerSeverity = (rhs === undefined || rhs === false) ? \"error\" : rhs === true ? \"debug\" : rhs;\r\n if (normalizedLhs === normalizedRhs)\r\n return 0;\r\n if (normalizedLhs === \"error\")\r\n return 1;\r\n if (normalizedLhs === \"warning\")\r\n return normalizedRhs === \"error\" ? -1 : 1;\r\n if (normalizedLhs === \"info\")\r\n return normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\r\n if (normalizedLhs === \"debug\")\r\n return normalizedRhs === \"info\" || normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\r\n return -1;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics information.\r\n * @beta\r\n */\r\nexport interface Diagnostics {\r\n logs?: DiagnosticsScopeLogs[];\r\n}\r\n\r\n/**\r\n * Data structure with client diagnostics information.\r\n * @beta\r\n */\r\nexport interface ClientDiagnostics extends Diagnostics {\r\n backendVersion?: string;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics options.\r\n * @beta\r\n */\r\nexport interface DiagnosticsOptions {\r\n /**\r\n * Flag specifying that performance should be measured, or\r\n * minimum duration in milliseconds for which performance metric should be included.\r\n */\r\n perf?: boolean | { minimumDuration: number };\r\n /** Severity for developer log messages */\r\n dev?: boolean | DiagnosticsLoggerSeverity;\r\n /** Severity for presentation rules' editor log messages */\r\n editor?: boolean | DiagnosticsLoggerSeverity;\r\n}\r\n\r\n/**\r\n * A function that can be called after receiving diagnostics.\r\n * @beta\r\n */\r\nexport type ClientDiagnosticsHandler = (logs: ClientDiagnostics) => void;\r\n\r\n/**\r\n * Data structure for client diagnostics options.\r\n * @beta\r\n */\r\nexport interface ClientDiagnosticsOptions extends DiagnosticsOptions {\r\n backendVersion?: boolean;\r\n handler: ClientDiagnosticsHandler;\r\n}\r\n\r\n/**\r\n * Data structure which contains client diagnostics options.\r\n * @public\r\n */\r\nexport interface ClientDiagnosticsAttribute {\r\n /**\r\n * Diagnostics options.\r\n * @beta\r\n */\r\n diagnostics?: ClientDiagnosticsOptions;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log message information.\r\n * @beta\r\n */\r\nexport interface DiagnosticsLogMessage {\r\n severity: {\r\n dev?: DiagnosticsLoggerSeverity;\r\n editor?: DiagnosticsLoggerSeverity;\r\n };\r\n category: string;\r\n message: string;\r\n timestamp: number;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics scope information.\r\n * @beta\r\n */\r\nexport interface DiagnosticsScopeLogs {\r\n scope: string;\r\n scopeCreateTimestamp?: number;\r\n duration?: number;\r\n logs?: DiagnosticsLogEntry[];\r\n attributes?: { [attributeKey: string]: string | string[] };\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log entry.\r\n * @beta\r\n */\r\nexport type DiagnosticsLogEntry = DiagnosticsLogMessage | DiagnosticsScopeLogs;\r\n\r\n/**\r\n * Functions related to diagnostics log entry.\r\n * @beta\r\n */\r\nexport namespace DiagnosticsLogEntry { // eslint-disable-line @typescript-eslint/no-redeclare\r\n export function isMessage(entry: DiagnosticsLogEntry): entry is DiagnosticsLogMessage {\r\n return !!(entry as any).message;\r\n }\r\n export function isScope(entry: DiagnosticsLogEntry): entry is DiagnosticsScopeLogs {\r\n return !!(entry as any).scope;\r\n }\r\n}\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/presentation-common",
3
- "version": "3.4.0-dev.36",
3
+ "version": "3.4.0-dev.40",
4
4
  "description": "Common pieces for iModel.js presentation packages",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -21,16 +21,16 @@
21
21
  "module": "lib/esm/presentation-common.js",
22
22
  "typings": "lib/cjs/presentation-common",
23
23
  "peerDependencies": {
24
- "@itwin/core-bentley": "^3.4.0-dev.36",
25
- "@itwin/core-common": "^3.4.0-dev.36",
26
- "@itwin/core-quantity": "^3.4.0-dev.36"
24
+ "@itwin/core-bentley": "^3.4.0-dev.40",
25
+ "@itwin/core-common": "^3.4.0-dev.40",
26
+ "@itwin/core-quantity": "^3.4.0-dev.40"
27
27
  },
28
28
  "devDependencies": {
29
- "@itwin/build-tools": "3.4.0-dev.36",
30
- "@itwin/core-bentley": "3.4.0-dev.36",
31
- "@itwin/core-common": "3.4.0-dev.36",
32
- "@itwin/core-quantity": "3.4.0-dev.36",
33
- "@itwin/eslint-plugin": "3.4.0-dev.36",
29
+ "@itwin/build-tools": "3.4.0-dev.40",
30
+ "@itwin/core-bentley": "3.4.0-dev.40",
31
+ "@itwin/core-common": "3.4.0-dev.40",
32
+ "@itwin/core-quantity": "3.4.0-dev.40",
33
+ "@itwin/eslint-plugin": "3.4.0-dev.40",
34
34
  "@types/chai": "4.3.1",
35
35
  "@types/chai-as-promised": "^7",
36
36
  "@types/chai-jest-snapshot": "^1.3.0",