Split LogItemValues into union of types
This commit is contained in:
parent
ceb52eedaf
commit
142d3ef543
1 changed files with 21 additions and 3 deletions
|
@ -18,7 +18,25 @@ limitations under the License.
|
||||||
import {BaseLogger} from "./BaseLogger";
|
import {BaseLogger} from "./BaseLogger";
|
||||||
import {LogLevel, LogFilter} from "./LogFilter";
|
import {LogLevel, LogFilter} from "./LogFilter";
|
||||||
|
|
||||||
type LogItemValues = {l: string; [key: string]: unknown};
|
type LogItemWithLabel = {
|
||||||
|
l: string;
|
||||||
|
[key: string]: unknown;
|
||||||
|
};
|
||||||
|
|
||||||
|
type LogItemNetwork = {
|
||||||
|
t: "network";
|
||||||
|
method: string;
|
||||||
|
url: string;
|
||||||
|
[key: string]: unknown;
|
||||||
|
}
|
||||||
|
|
||||||
|
type LogItemRef = {
|
||||||
|
ref: number;
|
||||||
|
[key: string]: unknown;
|
||||||
|
}
|
||||||
|
|
||||||
|
type LogItemValues = LogItemWithLabel | LogItemNetwork | LogItemRef;
|
||||||
|
|
||||||
export type LabelOrValues = string | LogItemValues;
|
export type LabelOrValues = string | LogItemValues;
|
||||||
export type FilterCreator = ((filter: LogFilter, item: LogItem) => LogFilter) | null;
|
export type FilterCreator = ((filter: LogFilter, item: LogItem) => LogFilter) | null;
|
||||||
export type LogCallback = (item: LogItem) => Promise<unknown> | undefined;
|
export type LogCallback = (item: LogItem) => Promise<unknown> | undefined;
|
||||||
|
@ -59,7 +77,7 @@ export class LogItem {
|
||||||
This is useful if the referenced operation can't be awaited. */
|
This is useful if the referenced operation can't be awaited. */
|
||||||
refDetached(logItem: LogItem, logLevel: LogLevel | null = null) {
|
refDetached(logItem: LogItem, logLevel: LogLevel | null = null) {
|
||||||
logItem.ensureRefId();
|
logItem.ensureRefId();
|
||||||
return this.log({ref: logItem._values.refId}, logLevel);
|
return this.log({ref: logItem._values.refId as number}, logLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
ensureRefId() {
|
ensureRefId() {
|
||||||
|
@ -114,7 +132,7 @@ export class LogItem {
|
||||||
item.end = item.start;
|
item.end = item.start;
|
||||||
}
|
}
|
||||||
|
|
||||||
set(key, value) {
|
set(key: string | object, value: unknown) {
|
||||||
if(typeof key === "object") {
|
if(typeof key === "object") {
|
||||||
const values = key;
|
const values = key;
|
||||||
Object.assign(this._values, values);
|
Object.assign(this._values, values);
|
||||||
|
|
Reference in a new issue