@ga-components/logger 1.0.1 → 1.0.3
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/dist/index.d.mts +6 -3
- package/dist/index.d.ts +6 -3
- package/dist/index.js +10 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +10 -8
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -10,6 +10,8 @@ interface LogEntry {
|
|
|
10
10
|
page: string;
|
|
11
11
|
stackTrace: string | null;
|
|
12
12
|
payload: Record<string, unknown>;
|
|
13
|
+
repo: string;
|
|
14
|
+
endpoint: string | null;
|
|
13
15
|
}
|
|
14
16
|
interface LoggerConfig {
|
|
15
17
|
env: LogEnv;
|
|
@@ -20,6 +22,7 @@ interface LoggerConfig {
|
|
|
20
22
|
storageBucket: string;
|
|
21
23
|
messagingSenderId: string;
|
|
22
24
|
appId: string;
|
|
25
|
+
repo: string;
|
|
23
26
|
}
|
|
24
27
|
|
|
25
28
|
declare class Logger {
|
|
@@ -28,9 +31,9 @@ declare class Logger {
|
|
|
28
31
|
init(config: LoggerConfig): void;
|
|
29
32
|
setUserId(userId: string | null): void;
|
|
30
33
|
private send;
|
|
31
|
-
info(message: string, payload?: Record<string, unknown
|
|
32
|
-
warn(message: string, payload?: Record<string, unknown
|
|
33
|
-
error(message: string, error?: Error, payload?: Record<string, unknown
|
|
34
|
+
info(message: string, payload?: Record<string, unknown>, endpoint?: string): Promise<void>;
|
|
35
|
+
warn(message: string, payload?: Record<string, unknown>, endpoint?: string): Promise<void>;
|
|
36
|
+
error(message: string, error?: Error, payload?: Record<string, unknown>, endpoint?: string): Promise<void>;
|
|
34
37
|
}
|
|
35
38
|
declare const logger: Logger;
|
|
36
39
|
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ interface LogEntry {
|
|
|
10
10
|
page: string;
|
|
11
11
|
stackTrace: string | null;
|
|
12
12
|
payload: Record<string, unknown>;
|
|
13
|
+
repo: string;
|
|
14
|
+
endpoint: string | null;
|
|
13
15
|
}
|
|
14
16
|
interface LoggerConfig {
|
|
15
17
|
env: LogEnv;
|
|
@@ -20,6 +22,7 @@ interface LoggerConfig {
|
|
|
20
22
|
storageBucket: string;
|
|
21
23
|
messagingSenderId: string;
|
|
22
24
|
appId: string;
|
|
25
|
+
repo: string;
|
|
23
26
|
}
|
|
24
27
|
|
|
25
28
|
declare class Logger {
|
|
@@ -28,9 +31,9 @@ declare class Logger {
|
|
|
28
31
|
init(config: LoggerConfig): void;
|
|
29
32
|
setUserId(userId: string | null): void;
|
|
30
33
|
private send;
|
|
31
|
-
info(message: string, payload?: Record<string, unknown
|
|
32
|
-
warn(message: string, payload?: Record<string, unknown
|
|
33
|
-
error(message: string, error?: Error, payload?: Record<string, unknown
|
|
34
|
+
info(message: string, payload?: Record<string, unknown>, endpoint?: string): Promise<void>;
|
|
35
|
+
warn(message: string, payload?: Record<string, unknown>, endpoint?: string): Promise<void>;
|
|
36
|
+
error(message: string, error?: Error, payload?: Record<string, unknown>, endpoint?: string): Promise<void>;
|
|
34
37
|
}
|
|
35
38
|
declare const logger: Logger;
|
|
36
39
|
|
package/dist/index.js
CHANGED
|
@@ -73,7 +73,7 @@ var Logger = class {
|
|
|
73
73
|
}
|
|
74
74
|
this.config.userId = userId;
|
|
75
75
|
}
|
|
76
|
-
async send(level, message, payload = {}, error) {
|
|
76
|
+
async send(level, message, payload = {}, error, endpoint) {
|
|
77
77
|
if (!this.initialized || !this.config) {
|
|
78
78
|
console.warn("[ga-logger] not initialized. Call logger.init() first.");
|
|
79
79
|
return;
|
|
@@ -87,7 +87,9 @@ var Logger = class {
|
|
|
87
87
|
sessionId,
|
|
88
88
|
page: typeof window !== "undefined" ? window.location.pathname : "",
|
|
89
89
|
stackTrace: error?.stack ?? null,
|
|
90
|
-
payload
|
|
90
|
+
payload,
|
|
91
|
+
repo: this.config.repo,
|
|
92
|
+
endpoint: endpoint ?? null
|
|
91
93
|
};
|
|
92
94
|
try {
|
|
93
95
|
const db2 = getDb();
|
|
@@ -99,14 +101,14 @@ var Logger = class {
|
|
|
99
101
|
console.error("[ga-logger] failed to send log:", e);
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
|
-
info(message, payload) {
|
|
103
|
-
return this.send("info", message, payload);
|
|
104
|
+
info(message, payload, endpoint) {
|
|
105
|
+
return this.send("info", message, payload, void 0, endpoint);
|
|
104
106
|
}
|
|
105
|
-
warn(message, payload) {
|
|
106
|
-
return this.send("warn", message, payload);
|
|
107
|
+
warn(message, payload, endpoint) {
|
|
108
|
+
return this.send("warn", message, payload, void 0, endpoint);
|
|
107
109
|
}
|
|
108
|
-
error(message, error, payload) {
|
|
109
|
-
return this.send("error", message, payload, error);
|
|
110
|
+
error(message, error, payload, endpoint) {
|
|
111
|
+
return this.send("error", message, payload, error, endpoint);
|
|
110
112
|
}
|
|
111
113
|
};
|
|
112
114
|
var logger = new Logger();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/core/logger.ts","../src/config/firebase.ts"],"sourcesContent":["export { logger } from \"./core/logger\";\nexport type { LogEntry, LoggerConfig, LogLevel, LogEnv } from \"./types\";\n","import { collection, addDoc, Timestamp } from \"firebase/firestore\";\nimport { initFirebase, getDb } from \"../config/firebase\";\nimport type { LogEntry, LogLevel, LoggerConfig } from \"../types\";\n\nconst sessionId = `sess_${Date.now()}_${Math.random().toString(36).slice(2, 7)}`;\n\nclass Logger {\n private config: LoggerConfig | null = null;\n private initialized = false;\n\n init(config: LoggerConfig) {\n this.config = config;\n initFirebase(config);\n this.initialized = true;\n console.info(\"[ga-logger] initialized —\", config.env);\n }\n\n setUserId(userId: string | null) {\n if (!this.config) {\n console.warn(\"[ga-logger] not initialized. Call logger.init() first.\");\n return;\n }\n this.config.userId = userId;\n }\n\n private async send(level: LogLevel
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/core/logger.ts","../src/config/firebase.ts"],"sourcesContent":["export { logger } from \"./core/logger\";\nexport type { LogEntry, LoggerConfig, LogLevel, LogEnv } from \"./types\";\n","import { collection, addDoc, Timestamp } from \"firebase/firestore\";\nimport { initFirebase, getDb } from \"../config/firebase\";\nimport type { LogEntry, LogLevel, LoggerConfig } from \"../types\";\n\nconst sessionId = `sess_${Date.now()}_${Math.random().toString(36).slice(2, 7)}`;\n\nclass Logger {\n private config: LoggerConfig | null = null;\n private initialized = false;\n\n init(config: LoggerConfig) {\n this.config = config;\n initFirebase(config);\n this.initialized = true;\n console.info(\"[ga-logger] initialized —\", config.env);\n }\n\n setUserId(userId: string | null) {\n if (!this.config) {\n console.warn(\"[ga-logger] not initialized. Call logger.init() first.\");\n return;\n }\n this.config.userId = userId;\n }\n\n private async send(\n level: LogLevel,\n message: string,\n payload: Record<string, unknown> = {},\n error?: Error,\n endpoint?: string,\n ) {\n if (!this.initialized || !this.config) {\n console.warn(\"[ga-logger] not initialized. Call logger.init() first.\");\n return;\n }\n\n const entry: LogEntry = {\n timestamp: new Date(),\n level,\n message,\n env: this.config.env,\n userId: this.config.userId ?? null,\n sessionId,\n page: typeof window !== \"undefined\" ? window.location.pathname : \"\",\n stackTrace: error?.stack ?? null,\n payload,\n repo: this.config.repo,\n endpoint: endpoint ?? null,\n };\n try {\n const db = getDb();\n await addDoc(collection(db, \"logs\"), {\n ...entry,\n timestamp: Timestamp.fromDate(entry.timestamp),\n });\n } catch (e) {\n console.error(\"[ga-logger] failed to send log:\", e);\n }\n }\n\n info(message: string, payload?: Record<string, unknown>, endpoint?: string) {\n return this.send(\"info\", message, payload, undefined, endpoint);\n }\n\n warn(message: string, payload?: Record<string, unknown>, endpoint?: string) {\n return this.send(\"warn\", message, payload, undefined, endpoint);\n }\n\n error(message: string, error?: Error, payload?: Record<string, unknown>, endpoint?: string) {\n return this.send(\"error\", message, payload, error, endpoint);\n }\n}\n\nexport const logger = new Logger();","import { initializeApp, getApps, FirebaseApp } from \"firebase/app\";\nimport { getFirestore, Firestore } from \"firebase/firestore\";\nimport { LoggerConfig } from \"../types\";\n\nlet app: FirebaseApp;\nlet db: Firestore;\n\nexport const initFirebase = (config: LoggerConfig) => {\n if (!getApps().length) {\n app = initializeApp(\n {\n apiKey: config.apiKey,\n authDomain: config.authDomain,\n projectId: config.projectId,\n storageBucket: config.storageBucket,\n messagingSenderId: config.messagingSenderId,\n appId: config.appId,\n },\n \"ga-logger\",\n );\n } else {\n app = getApps()[0];\n }\n\n db = getFirestore(app);\n return db;\n};\n\nexport const getDb = () => db;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,oBAA8C;;;ACA9C,iBAAoD;AACpD,uBAAwC;AAGxC,IAAI;AACJ,IAAI;AAEG,IAAM,eAAe,CAAC,WAAyB;AAClD,MAAI,KAAC,oBAAQ,EAAE,QAAQ;AACnB,cAAM;AAAA,MACF;AAAA,QACI,QAAQ,OAAO;AAAA,QACf,YAAY,OAAO;AAAA,QACnB,WAAW,OAAO;AAAA,QAClB,eAAe,OAAO;AAAA,QACtB,mBAAmB,OAAO;AAAA,QAC1B,OAAO,OAAO;AAAA,MAClB;AAAA,MACA;AAAA,IACJ;AAAA,EACJ,OAAO;AACH,cAAM,oBAAQ,EAAE,CAAC;AAAA,EACrB;AAEA,WAAK,+BAAa,GAAG;AACrB,SAAO;AACX;AAEO,IAAM,QAAQ,MAAM;;;ADxB3B,IAAM,YAAY,QAAQ,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC;AAE9E,IAAM,SAAN,MAAa;AAAA,EAAb;AACI,SAAQ,SAA8B;AACtC,SAAQ,cAAc;AAAA;AAAA,EAEtB,KAAK,QAAsB;AACvB,SAAK,SAAS;AACd,iBAAa,MAAM;AACnB,SAAK,cAAc;AACnB,YAAQ,KAAK,kCAA6B,OAAO,GAAG;AAAA,EACxD;AAAA,EAEA,UAAU,QAAuB;AAC7B,QAAI,CAAC,KAAK,QAAQ;AACd,cAAQ,KAAK,wDAAwD;AACrE;AAAA,IACJ;AACA,SAAK,OAAO,SAAS;AAAA,EACzB;AAAA,EAEA,MAAc,KACV,OACA,SACA,UAAmC,CAAC,GACpC,OACA,UACF;AACE,QAAI,CAAC,KAAK,eAAe,CAAC,KAAK,QAAQ;AACnC,cAAQ,KAAK,wDAAwD;AACrE;AAAA,IACJ;AAEA,UAAM,QAAkB;AAAA,MACpB,WAAW,oBAAI,KAAK;AAAA,MACpB;AAAA,MACA;AAAA,MACA,KAAK,KAAK,OAAO;AAAA,MACjB,QAAQ,KAAK,OAAO,UAAU;AAAA,MAC9B;AAAA,MACA,MAAM,OAAO,WAAW,cAAc,OAAO,SAAS,WAAW;AAAA,MACjE,YAAY,OAAO,SAAS;AAAA,MAC5B;AAAA,MACA,MAAM,KAAK,OAAO;AAAA,MAClB,UAAU,YAAY;AAAA,IAC1B;AACA,QAAI;AACA,YAAMC,MAAK,MAAM;AACjB,gBAAM,8BAAO,8BAAWA,KAAI,MAAM,GAAG;AAAA,QACjC,GAAG;AAAA,QACH,WAAW,4BAAU,SAAS,MAAM,SAAS;AAAA,MACjD,CAAC;AAAA,IACL,SAAS,GAAG;AACR,cAAQ,MAAM,mCAAmC,CAAC;AAAA,IACtD;AAAA,EACJ;AAAA,EAEA,KAAK,SAAiB,SAAmC,UAAmB;AACxE,WAAO,KAAK,KAAK,QAAQ,SAAS,SAAS,QAAW,QAAQ;AAAA,EAClE;AAAA,EAEA,KAAK,SAAiB,SAAmC,UAAmB;AACxE,WAAO,KAAK,KAAK,QAAQ,SAAS,SAAS,QAAW,QAAQ;AAAA,EAClE;AAAA,EAEA,MAAM,SAAiB,OAAe,SAAmC,UAAmB;AACxF,WAAO,KAAK,KAAK,SAAS,SAAS,SAAS,OAAO,QAAQ;AAAA,EAC/D;AACJ;AAEO,IAAM,SAAS,IAAI,OAAO;","names":["import_firestore","db"]}
|
package/dist/index.mjs
CHANGED
|
@@ -47,7 +47,7 @@ var Logger = class {
|
|
|
47
47
|
}
|
|
48
48
|
this.config.userId = userId;
|
|
49
49
|
}
|
|
50
|
-
async send(level, message, payload = {}, error) {
|
|
50
|
+
async send(level, message, payload = {}, error, endpoint) {
|
|
51
51
|
if (!this.initialized || !this.config) {
|
|
52
52
|
console.warn("[ga-logger] not initialized. Call logger.init() first.");
|
|
53
53
|
return;
|
|
@@ -61,7 +61,9 @@ var Logger = class {
|
|
|
61
61
|
sessionId,
|
|
62
62
|
page: typeof window !== "undefined" ? window.location.pathname : "",
|
|
63
63
|
stackTrace: error?.stack ?? null,
|
|
64
|
-
payload
|
|
64
|
+
payload,
|
|
65
|
+
repo: this.config.repo,
|
|
66
|
+
endpoint: endpoint ?? null
|
|
65
67
|
};
|
|
66
68
|
try {
|
|
67
69
|
const db2 = getDb();
|
|
@@ -73,14 +75,14 @@ var Logger = class {
|
|
|
73
75
|
console.error("[ga-logger] failed to send log:", e);
|
|
74
76
|
}
|
|
75
77
|
}
|
|
76
|
-
info(message, payload) {
|
|
77
|
-
return this.send("info", message, payload);
|
|
78
|
+
info(message, payload, endpoint) {
|
|
79
|
+
return this.send("info", message, payload, void 0, endpoint);
|
|
78
80
|
}
|
|
79
|
-
warn(message, payload) {
|
|
80
|
-
return this.send("warn", message, payload);
|
|
81
|
+
warn(message, payload, endpoint) {
|
|
82
|
+
return this.send("warn", message, payload, void 0, endpoint);
|
|
81
83
|
}
|
|
82
|
-
error(message, error, payload) {
|
|
83
|
-
return this.send("error", message, payload, error);
|
|
84
|
+
error(message, error, payload, endpoint) {
|
|
85
|
+
return this.send("error", message, payload, error, endpoint);
|
|
84
86
|
}
|
|
85
87
|
};
|
|
86
88
|
var logger = new Logger();
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/logger.ts","../src/config/firebase.ts"],"sourcesContent":["import { collection, addDoc, Timestamp } from \"firebase/firestore\";\nimport { initFirebase, getDb } from \"../config/firebase\";\nimport type { LogEntry, LogLevel, LoggerConfig } from \"../types\";\n\nconst sessionId = `sess_${Date.now()}_${Math.random().toString(36).slice(2, 7)}`;\n\nclass Logger {\n private config: LoggerConfig | null = null;\n private initialized = false;\n\n init(config: LoggerConfig) {\n this.config = config;\n initFirebase(config);\n this.initialized = true;\n console.info(\"[ga-logger] initialized —\", config.env);\n }\n\n setUserId(userId: string | null) {\n if (!this.config) {\n console.warn(\"[ga-logger] not initialized. Call logger.init() first.\");\n return;\n }\n this.config.userId = userId;\n }\n\n private async send(level: LogLevel
|
|
1
|
+
{"version":3,"sources":["../src/core/logger.ts","../src/config/firebase.ts"],"sourcesContent":["import { collection, addDoc, Timestamp } from \"firebase/firestore\";\nimport { initFirebase, getDb } from \"../config/firebase\";\nimport type { LogEntry, LogLevel, LoggerConfig } from \"../types\";\n\nconst sessionId = `sess_${Date.now()}_${Math.random().toString(36).slice(2, 7)}`;\n\nclass Logger {\n private config: LoggerConfig | null = null;\n private initialized = false;\n\n init(config: LoggerConfig) {\n this.config = config;\n initFirebase(config);\n this.initialized = true;\n console.info(\"[ga-logger] initialized —\", config.env);\n }\n\n setUserId(userId: string | null) {\n if (!this.config) {\n console.warn(\"[ga-logger] not initialized. Call logger.init() first.\");\n return;\n }\n this.config.userId = userId;\n }\n\n private async send(\n level: LogLevel,\n message: string,\n payload: Record<string, unknown> = {},\n error?: Error,\n endpoint?: string,\n ) {\n if (!this.initialized || !this.config) {\n console.warn(\"[ga-logger] not initialized. Call logger.init() first.\");\n return;\n }\n\n const entry: LogEntry = {\n timestamp: new Date(),\n level,\n message,\n env: this.config.env,\n userId: this.config.userId ?? null,\n sessionId,\n page: typeof window !== \"undefined\" ? window.location.pathname : \"\",\n stackTrace: error?.stack ?? null,\n payload,\n repo: this.config.repo,\n endpoint: endpoint ?? null,\n };\n try {\n const db = getDb();\n await addDoc(collection(db, \"logs\"), {\n ...entry,\n timestamp: Timestamp.fromDate(entry.timestamp),\n });\n } catch (e) {\n console.error(\"[ga-logger] failed to send log:\", e);\n }\n }\n\n info(message: string, payload?: Record<string, unknown>, endpoint?: string) {\n return this.send(\"info\", message, payload, undefined, endpoint);\n }\n\n warn(message: string, payload?: Record<string, unknown>, endpoint?: string) {\n return this.send(\"warn\", message, payload, undefined, endpoint);\n }\n\n error(message: string, error?: Error, payload?: Record<string, unknown>, endpoint?: string) {\n return this.send(\"error\", message, payload, error, endpoint);\n }\n}\n\nexport const logger = new Logger();","import { initializeApp, getApps, FirebaseApp } from \"firebase/app\";\nimport { getFirestore, Firestore } from \"firebase/firestore\";\nimport { LoggerConfig } from \"../types\";\n\nlet app: FirebaseApp;\nlet db: Firestore;\n\nexport const initFirebase = (config: LoggerConfig) => {\n if (!getApps().length) {\n app = initializeApp(\n {\n apiKey: config.apiKey,\n authDomain: config.authDomain,\n projectId: config.projectId,\n storageBucket: config.storageBucket,\n messagingSenderId: config.messagingSenderId,\n appId: config.appId,\n },\n \"ga-logger\",\n );\n } else {\n app = getApps()[0];\n }\n\n db = getFirestore(app);\n return db;\n};\n\nexport const getDb = () => db;\n"],"mappings":";AAAA,SAAS,YAAY,QAAQ,iBAAiB;;;ACA9C,SAAS,eAAe,eAA4B;AACpD,SAAS,oBAA+B;AAGxC,IAAI;AACJ,IAAI;AAEG,IAAM,eAAe,CAAC,WAAyB;AAClD,MAAI,CAAC,QAAQ,EAAE,QAAQ;AACnB,UAAM;AAAA,MACF;AAAA,QACI,QAAQ,OAAO;AAAA,QACf,YAAY,OAAO;AAAA,QACnB,WAAW,OAAO;AAAA,QAClB,eAAe,OAAO;AAAA,QACtB,mBAAmB,OAAO;AAAA,QAC1B,OAAO,OAAO;AAAA,MAClB;AAAA,MACA;AAAA,IACJ;AAAA,EACJ,OAAO;AACH,UAAM,QAAQ,EAAE,CAAC;AAAA,EACrB;AAEA,OAAK,aAAa,GAAG;AACrB,SAAO;AACX;AAEO,IAAM,QAAQ,MAAM;;;ADxB3B,IAAM,YAAY,QAAQ,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC;AAE9E,IAAM,SAAN,MAAa;AAAA,EAAb;AACI,SAAQ,SAA8B;AACtC,SAAQ,cAAc;AAAA;AAAA,EAEtB,KAAK,QAAsB;AACvB,SAAK,SAAS;AACd,iBAAa,MAAM;AACnB,SAAK,cAAc;AACnB,YAAQ,KAAK,kCAA6B,OAAO,GAAG;AAAA,EACxD;AAAA,EAEA,UAAU,QAAuB;AAC7B,QAAI,CAAC,KAAK,QAAQ;AACd,cAAQ,KAAK,wDAAwD;AACrE;AAAA,IACJ;AACA,SAAK,OAAO,SAAS;AAAA,EACzB;AAAA,EAEA,MAAc,KACV,OACA,SACA,UAAmC,CAAC,GACpC,OACA,UACF;AACE,QAAI,CAAC,KAAK,eAAe,CAAC,KAAK,QAAQ;AACnC,cAAQ,KAAK,wDAAwD;AACrE;AAAA,IACJ;AAEA,UAAM,QAAkB;AAAA,MACpB,WAAW,oBAAI,KAAK;AAAA,MACpB;AAAA,MACA;AAAA,MACA,KAAK,KAAK,OAAO;AAAA,MACjB,QAAQ,KAAK,OAAO,UAAU;AAAA,MAC9B;AAAA,MACA,MAAM,OAAO,WAAW,cAAc,OAAO,SAAS,WAAW;AAAA,MACjE,YAAY,OAAO,SAAS;AAAA,MAC5B;AAAA,MACA,MAAM,KAAK,OAAO;AAAA,MAClB,UAAU,YAAY;AAAA,IAC1B;AACA,QAAI;AACA,YAAMA,MAAK,MAAM;AACjB,YAAM,OAAO,WAAWA,KAAI,MAAM,GAAG;AAAA,QACjC,GAAG;AAAA,QACH,WAAW,UAAU,SAAS,MAAM,SAAS;AAAA,MACjD,CAAC;AAAA,IACL,SAAS,GAAG;AACR,cAAQ,MAAM,mCAAmC,CAAC;AAAA,IACtD;AAAA,EACJ;AAAA,EAEA,KAAK,SAAiB,SAAmC,UAAmB;AACxE,WAAO,KAAK,KAAK,QAAQ,SAAS,SAAS,QAAW,QAAQ;AAAA,EAClE;AAAA,EAEA,KAAK,SAAiB,SAAmC,UAAmB;AACxE,WAAO,KAAK,KAAK,QAAQ,SAAS,SAAS,QAAW,QAAQ;AAAA,EAClE;AAAA,EAEA,MAAM,SAAiB,OAAe,SAAmC,UAAmB;AACxF,WAAO,KAAK,KAAK,SAAS,SAAS,SAAS,OAAO,QAAQ;AAAA,EAC/D;AACJ;AAEO,IAAM,SAAS,IAAI,OAAO;","names":["db"]}
|