-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbrowser.ts
More file actions
46 lines (39 loc) · 2.07 KB
/
browser.ts
File metadata and controls
46 lines (39 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/**
* @file Browser-safe `Logger` implementation — mirrors the public `success` /
* `fail` / `warn` / `error` / `info` / `log` surface of the Node `Logger`
* (see `./node`) but backed by the global `console` so it works in Chrome MV3
* service workers, content scripts, popups, and any other browser context
* without `node:process` / `node:console` / fs. Consumers should import
* `Logger` from `./logger` (auto-routed by the package.json `browser`
* condition) or `./default` for the singleton. `./browser` is the
* explicit-platform name; useful for tests pinning to one implementation.
*/
const SYM_SUCCESS = '✓' // oxlint-disable-line socket/no-status-emoji -- canonical logger owner
const SYM_FAIL = '✕' // oxlint-disable-line socket/no-status-emoji -- canonical logger owner
const SYM_WARN = '⚠' // oxlint-disable-line socket/no-status-emoji -- canonical logger owner
const SYM_INFO = 'ℹ' // oxlint-disable-line socket/no-status-emoji -- canonical logger owner
export class Logger {
log(message: unknown, ...args: unknown[]): this {
console.log(message, ...args) // oxlint-disable-line socket/no-console-prefer-logger -- canonical logger owner
return this
}
info(message: unknown, ...args: unknown[]): this {
console.log(SYM_INFO, message, ...args) // oxlint-disable-line socket/no-console-prefer-logger -- canonical logger owner
return this
}
warn(message: unknown, ...args: unknown[]): this {
console.warn(SYM_WARN, message, ...args) // oxlint-disable-line socket/no-console-prefer-logger -- canonical logger owner
return this
}
error(message: unknown, ...args: unknown[]): this {
console.error(SYM_FAIL, message, ...args) // oxlint-disable-line socket/no-console-prefer-logger -- canonical logger owner
return this
}
success(message: unknown, ...args: unknown[]): this {
console.log(SYM_SUCCESS, message, ...args) // oxlint-disable-line socket/no-console-prefer-logger -- canonical logger owner
return this
}
fail(message: unknown, ...args: unknown[]): this {
return this.error(message, ...args)
}
}