@composy/log-viewer-core 0.0.1 → 0.0.2
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 +52 -0
- package/README.md +175 -37
- package/dist/index.js +614 -299
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +548 -1
- package/dist/index.min.js.map +1 -0
- package/es/.dts-output-manifest.json +1 -0
- package/es/.dts.tsbuildinfo +1 -0
- package/es/core/EventEmitter.d.ts +0 -1
- package/es/core/EventEmitter.js +13 -9
- package/es/core/EventEmitter.js.map +1 -1
- package/es/core/LogViewer.d.ts +14 -11
- package/es/core/LogViewer.js +243 -64
- package/es/core/LogViewer.js.map +1 -1
- package/es/filters/FilterEngine.d.ts +0 -1
- package/es/filters/FilterEngine.js +31 -26
- package/es/filters/FilterEngine.js.map +1 -1
- package/es/index.d.ts +7 -7
- package/es/index.js +3 -3
- package/es/index.js.map +1 -1
- package/es/renderers/DiffRenderer.d.ts +0 -1
- package/es/renderers/DiffRenderer.js +13 -3
- package/es/renderers/DiffRenderer.js.map +1 -1
- package/es/renderers/TimelineRenderer.d.ts +7 -3
- package/es/renderers/TimelineRenderer.js +56 -22
- package/es/renderers/TimelineRenderer.js.map +1 -1
- package/es/styles/index.d.ts +1 -5
- package/es/styles/index.js +167 -131
- package/es/styles/index.js.map +1 -1
- package/es/types/index.d.ts +4 -1
- package/es/types/index.js +1 -1
- package/es/types/index.js.map +1 -1
- package/es/utils/index.d.ts +1 -2
- package/es/utils/index.js +54 -6
- package/es/utils/index.js.map +1 -1
- package/esm/core/EventEmitter.js +13 -9
- package/esm/core/EventEmitter.js.map +1 -1
- package/esm/core/LogViewer.js +243 -64
- package/esm/core/LogViewer.js.map +1 -1
- package/esm/filters/FilterEngine.js +31 -26
- package/esm/filters/FilterEngine.js.map +1 -1
- package/esm/index.js +2 -2
- package/esm/index.js.map +1 -1
- package/esm/renderers/DiffRenderer.js +13 -3
- package/esm/renderers/DiffRenderer.js.map +1 -1
- package/esm/renderers/TimelineRenderer.js +56 -22
- package/esm/renderers/TimelineRenderer.js.map +1 -1
- package/esm/styles/index.js +167 -131
- package/esm/styles/index.js.map +1 -1
- package/esm/types/index.js +1 -1
- package/esm/types/index.js.map +1 -1
- package/esm/utils/index.js +54 -6
- package/esm/utils/index.js.map +1 -1
- package/lib/core/EventEmitter.cjs +13 -9
- package/lib/core/EventEmitter.cjs.map +1 -1
- package/{esm/core/EventEmitter.d.ts → lib/core/EventEmitter.d.cts} +0 -1
- package/lib/core/LogViewer.cjs +247 -68
- package/lib/core/LogViewer.cjs.map +1 -1
- package/{esm/core/LogViewer.d.ts → lib/core/LogViewer.d.cts} +14 -11
- package/lib/filters/FilterEngine.cjs +31 -26
- package/lib/filters/FilterEngine.cjs.map +1 -1
- package/lib/filters/{FilterEngine.d.ts → FilterEngine.d.cts} +0 -1
- package/lib/index.cjs +3 -3
- package/lib/index.cjs.map +1 -1
- package/{esm/index.d.ts → lib/index.d.cts} +7 -7
- package/lib/renderers/DiffRenderer.cjs +13 -3
- package/lib/renderers/DiffRenderer.cjs.map +1 -1
- package/lib/renderers/{DiffRenderer.d.ts → DiffRenderer.d.cts} +0 -1
- package/lib/renderers/TimelineRenderer.cjs +55 -21
- package/lib/renderers/TimelineRenderer.cjs.map +1 -1
- package/lib/renderers/{TimelineRenderer.d.ts → TimelineRenderer.d.cts} +7 -3
- package/lib/styles/index.cjs +167 -131
- package/lib/styles/index.cjs.map +1 -1
- package/{esm/styles/index.d.ts → lib/styles/index.d.cts} +1 -5
- package/lib/types/index.cjs +1 -1
- package/lib/types/index.cjs.map +1 -1
- package/{esm/types/index.d.ts → lib/types/index.d.cts} +4 -1
- package/lib/utils/index.cjs +54 -6
- package/lib/utils/index.cjs.map +1 -1
- package/{esm/utils/index.d.ts → lib/utils/index.d.cts} +1 -2
- package/package.json +15 -9
- package/es/core/EventEmitter.d.ts.map +0 -1
- package/es/core/LogViewer.d.ts.map +0 -1
- package/es/filters/FilterEngine.d.ts.map +0 -1
- package/es/index.d.ts.map +0 -1
- package/es/renderers/DiffRenderer.d.ts.map +0 -1
- package/es/renderers/TimelineRenderer.d.ts.map +0 -1
- package/es/styles/index.d.ts.map +0 -1
- package/es/types/index.d.ts.map +0 -1
- package/es/utils/index.d.ts.map +0 -1
- package/esm/core/EventEmitter.d.ts.map +0 -1
- package/esm/core/LogViewer.d.ts.map +0 -1
- package/esm/filters/FilterEngine.d.ts +0 -26
- package/esm/filters/FilterEngine.d.ts.map +0 -1
- package/esm/index.d.ts.map +0 -1
- package/esm/renderers/DiffRenderer.d.ts +0 -18
- package/esm/renderers/DiffRenderer.d.ts.map +0 -1
- package/esm/renderers/TimelineRenderer.d.ts +0 -22
- package/esm/renderers/TimelineRenderer.d.ts.map +0 -1
- package/esm/styles/index.d.ts.map +0 -1
- package/esm/types/index.d.ts.map +0 -1
- package/esm/utils/index.d.ts.map +0 -1
- package/lib/core/EventEmitter.d.ts +0 -11
- package/lib/core/LogViewer.d.ts +0 -46
- package/lib/index.d.ts +0 -26
- package/lib/styles/index.d.ts +0 -9
- package/lib/types/index.d.ts +0 -113
- package/lib/utils/index.d.ts +0 -18
|
@@ -60,6 +60,7 @@ export interface LogViewerConfig {
|
|
|
60
60
|
onEntryClick?: (entry: LogEntry) => void;
|
|
61
61
|
onFilterChange?: (filter: FilterConfig) => void;
|
|
62
62
|
onThemeChange?: (theme: ThemeMode) => void;
|
|
63
|
+
onError?: (error: unknown) => void;
|
|
63
64
|
}
|
|
64
65
|
/** LogViewer 实例接口 */
|
|
65
66
|
export interface LogViewerInstance {
|
|
@@ -93,6 +94,8 @@ export interface LogViewerInstance {
|
|
|
93
94
|
on(event: string, callback: (...args: unknown[]) => void): () => void;
|
|
94
95
|
/** 刷新渲染 */
|
|
95
96
|
refresh(): void;
|
|
97
|
+
/** 从 dataSource 加载数据 */
|
|
98
|
+
loadData(): Promise<void>;
|
|
96
99
|
/** 销毁实例 */
|
|
97
100
|
destroy(): void;
|
|
98
101
|
}
|
|
@@ -105,9 +108,9 @@ export interface LogViewerEvents {
|
|
|
105
108
|
'theme:change': (theme: ThemeMode) => void;
|
|
106
109
|
'page:change': (page: number) => void;
|
|
107
110
|
'data:change': (entries: LogEntry[]) => void;
|
|
111
|
+
error: (error: unknown) => void;
|
|
108
112
|
}
|
|
109
113
|
/** 操作类型标签映射 */
|
|
110
114
|
export declare const ACTION_LABELS: Record<ActionType, string>;
|
|
111
115
|
/** 操作类型颜色映射 */
|
|
112
116
|
export declare const ACTION_COLORS: Record<ActionType, string>;
|
|
113
|
-
//# sourceMappingURL=index.d.ts.map
|
package/lib/utils/index.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* ***********************************
|
|
3
3
|
* @composy/log-viewer-core v0.0.1 *
|
|
4
4
|
* Built with rollup *
|
|
5
|
-
* Build time: 2024-
|
|
5
|
+
* Build time: 2024-10-12 17:29:20 *
|
|
6
6
|
* Build mode: production *
|
|
7
7
|
* Minified: No *
|
|
8
8
|
* ***********************************
|
|
@@ -11,11 +11,12 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
11
11
|
//#region src/utils/index.ts
|
|
12
12
|
let _uid = 0;
|
|
13
13
|
function uid(prefix = "lv") {
|
|
14
|
-
|
|
14
|
+
const random = typeof crypto !== "undefined" && typeof crypto.randomUUID === "function" ? crypto.randomUUID().slice(0, 8) : Math.random().toString(36).slice(2, 8);
|
|
15
|
+
return `${prefix}-${++_uid}-${random}`;
|
|
15
16
|
}
|
|
16
17
|
function formatDate(value, fmt = "YYYY-MM-DD HH:mm:ss") {
|
|
17
18
|
const d = value instanceof Date ? value : new Date(value);
|
|
18
|
-
if (isNaN(d.getTime())) return String(value);
|
|
19
|
+
if (Number.isNaN(d.getTime())) return String(value);
|
|
19
20
|
const pad = (n) => String(n).padStart(2, "0");
|
|
20
21
|
const year = String(d.getFullYear());
|
|
21
22
|
const month = pad(d.getMonth() + 1);
|
|
@@ -28,6 +29,7 @@ function formatDate(value, fmt = "YYYY-MM-DD HH:mm:ss") {
|
|
|
28
29
|
function formatRelativeTime(value) {
|
|
29
30
|
const d = value instanceof Date ? value : new Date(value);
|
|
30
31
|
const diff = Date.now() - d.getTime();
|
|
32
|
+
if (!Number.isFinite(diff) || diff < 0) return formatDate(d);
|
|
31
33
|
if (diff < 6e4) return "刚刚";
|
|
32
34
|
if (diff < 36e5) return `${Math.floor(diff / 6e4)} \u5206\u949F\u524D`;
|
|
33
35
|
if (diff < 864e5) return `${Math.floor(diff / 36e5)} \u5C0F\u65F6\u524D`;
|
|
@@ -46,15 +48,58 @@ function escapeHtml(str) {
|
|
|
46
48
|
}
|
|
47
49
|
function debounce(fn, delay) {
|
|
48
50
|
let timer = null;
|
|
51
|
+
const wait = Number.isFinite(delay) && delay > 0 ? delay : 0;
|
|
49
52
|
return ((...args) => {
|
|
50
53
|
if (timer) clearTimeout(timer);
|
|
51
|
-
timer = setTimeout(() =>
|
|
54
|
+
timer = setTimeout(() => {
|
|
55
|
+
timer = null;
|
|
56
|
+
fn(...args);
|
|
57
|
+
}, wait);
|
|
52
58
|
});
|
|
53
59
|
}
|
|
54
60
|
function deepClone(obj) {
|
|
55
61
|
if (obj === null || typeof obj !== "object") return obj;
|
|
62
|
+
if (typeof structuredClone === "function") try {
|
|
63
|
+
return structuredClone(obj);
|
|
64
|
+
} catch {}
|
|
65
|
+
const seen = /* @__PURE__ */ new WeakMap();
|
|
66
|
+
const clone = (value) => {
|
|
67
|
+
if (value === null || typeof value !== "object") return value;
|
|
68
|
+
if (seen.has(value)) return seen.get(value);
|
|
69
|
+
if (value instanceof Date) return new Date(value.getTime());
|
|
70
|
+
if (value instanceof RegExp) return new RegExp(value.source, value.flags);
|
|
71
|
+
if (value instanceof Map) {
|
|
72
|
+
const result2 = /* @__PURE__ */ new Map();
|
|
73
|
+
seen.set(value, result2);
|
|
74
|
+
value.forEach((mapValue, key) => result2.set(clone(key), clone(mapValue)));
|
|
75
|
+
return result2;
|
|
76
|
+
}
|
|
77
|
+
if (value instanceof Set) {
|
|
78
|
+
const result2 = /* @__PURE__ */ new Set();
|
|
79
|
+
seen.set(value, result2);
|
|
80
|
+
value.forEach((setValue) => result2.add(clone(setValue)));
|
|
81
|
+
return result2;
|
|
82
|
+
}
|
|
83
|
+
if (Array.isArray(value)) {
|
|
84
|
+
const result2 = [];
|
|
85
|
+
seen.set(value, result2);
|
|
86
|
+
value.forEach((item) => result2.push(clone(item)));
|
|
87
|
+
return result2;
|
|
88
|
+
}
|
|
89
|
+
const result = Object.create(Object.getPrototypeOf(value));
|
|
90
|
+
seen.set(value, result);
|
|
91
|
+
for (const key of Reflect.ownKeys(value)) {
|
|
92
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
93
|
+
if (!descriptor || !("value" in descriptor)) continue;
|
|
94
|
+
Object.defineProperty(result, key, {
|
|
95
|
+
...descriptor,
|
|
96
|
+
value: clone(descriptor.value)
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return result;
|
|
100
|
+
};
|
|
56
101
|
try {
|
|
57
|
-
return
|
|
102
|
+
return clone(obj);
|
|
58
103
|
} catch {
|
|
59
104
|
return obj;
|
|
60
105
|
}
|
|
@@ -62,7 +107,10 @@ function deepClone(obj) {
|
|
|
62
107
|
function formatValue(val) {
|
|
63
108
|
if (val === null || val === void 0) return "-";
|
|
64
109
|
if (typeof val === "object") try {
|
|
65
|
-
return JSON.stringify(val,
|
|
110
|
+
return JSON.stringify(val, (_key, value) => {
|
|
111
|
+
if (typeof value === "bigint") return `${value}n`;
|
|
112
|
+
return value;
|
|
113
|
+
}, 2);
|
|
66
114
|
} catch {
|
|
67
115
|
return String(val);
|
|
68
116
|
}
|
package/lib/utils/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../src/utils/index.ts"],"sourcesContent":["/**\n * 工具函数\n */\n\nlet _uid = 0\n\n/** 生成唯一 ID */\nexport function uid(prefix = 'lv'): string {\n
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["result"],"sources":["../../src/utils/index.ts"],"sourcesContent":["/**\r\n * 工具函数\r\n */\r\n\r\nlet _uid = 0\r\n\r\n/** 生成唯一 ID */\r\nexport function uid(prefix = 'lv'): string {\r\n const random =\r\n typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function'\r\n ? crypto.randomUUID().slice(0, 8)\r\n : Math.random().toString(36).slice(2, 8)\r\n return `${prefix}-${++_uid}-${random}`\r\n}\r\n\r\n/** 格式化日期 */\r\nexport function formatDate(\r\n value: string | number | Date,\r\n fmt = 'YYYY-MM-DD HH:mm:ss'\r\n): string {\r\n const d = value instanceof Date ? value : new Date(value)\r\n if (Number.isNaN(d.getTime())) return String(value)\r\n\r\n const pad = (n: number) => String(n).padStart(2, '0')\r\n const year = String(d.getFullYear())\r\n const month = pad(d.getMonth() + 1)\r\n const day = pad(d.getDate())\r\n const hours = pad(d.getHours())\r\n const minutes = pad(d.getMinutes())\r\n const seconds = pad(d.getSeconds())\r\n\r\n return fmt\r\n .replace('YYYY', year)\r\n .replace('MM', month)\r\n .replace('DD', day)\r\n .replace('HH', hours)\r\n .replace('mm', minutes)\r\n .replace('ss', seconds)\r\n}\r\n\r\n/** 格式化相对时间 */\r\nexport function formatRelativeTime(value: string | number | Date): string {\r\n const d = value instanceof Date ? value : new Date(value)\r\n const now = Date.now()\r\n const diff = now - d.getTime()\r\n\r\n if (!Number.isFinite(diff) || diff < 0) return formatDate(d)\r\n if (diff < 60_000) return '刚刚'\r\n if (diff < 3_600_000) return `${Math.floor(diff / 60_000)} 分钟前`\r\n if (diff < 86_400_000) return `${Math.floor(diff / 3_600_000)} 小时前`\r\n if (diff < 604_800_000) return `${Math.floor(diff / 86_400_000)} 天前`\r\n return formatDate(d)\r\n}\r\n\r\n/** HTML 转义 */\r\nexport function escapeHtml(str: string): string {\r\n const map: Record<string, string> = {\r\n '&': '&',\r\n '<': '<',\r\n '>': '>',\r\n '\"': '"',\r\n \"'\": ''',\r\n }\r\n return str.replace(/[&<>\"']/g, c => map[c] || c)\r\n}\r\n\r\n/** 防抖 */\r\nexport function debounce<T extends (...args: unknown[]) => void>(\r\n fn: T,\r\n delay: number\r\n): T {\r\n let timer: ReturnType<typeof setTimeout> | null = null\r\n const wait = Number.isFinite(delay) && delay > 0 ? delay : 0\r\n return ((...args: unknown[]) => {\r\n if (timer) clearTimeout(timer)\r\n timer = setTimeout(() => {\r\n timer = null\r\n fn(...args)\r\n }, wait)\r\n }) as unknown as T\r\n}\r\n\r\n/** 深拷贝值,同时保留 Date、Map、Set 和循环引用。 */\r\nexport function deepClone<T>(obj: T): T {\r\n if (obj === null || typeof obj !== 'object') return obj\r\n\r\n if (typeof structuredClone === 'function') {\r\n try {\r\n return structuredClone(obj)\r\n } catch {\r\n // structuredClone rejects functions and a few host objects; use the\r\n // compatibility clone below so configuration callbacks stay intact.\r\n }\r\n }\r\n\r\n const seen = new WeakMap<object, unknown>()\r\n\r\n const clone = (value: unknown): unknown => {\r\n if (value === null || typeof value !== 'object') return value\r\n if (seen.has(value)) return seen.get(value)\r\n\r\n if (value instanceof Date) return new Date(value.getTime())\r\n if (value instanceof RegExp) return new RegExp(value.source, value.flags)\r\n\r\n if (value instanceof Map) {\r\n const result = new Map<unknown, unknown>()\r\n seen.set(value, result)\r\n value.forEach((mapValue, key) => result.set(clone(key), clone(mapValue)))\r\n return result\r\n }\r\n\r\n if (value instanceof Set) {\r\n const result = new Set<unknown>()\r\n seen.set(value, result)\r\n value.forEach(setValue => result.add(clone(setValue)))\r\n return result\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n const result: unknown[] = []\r\n seen.set(value, result)\r\n value.forEach(item => result.push(clone(item)))\r\n return result\r\n }\r\n\r\n const result = Object.create(Object.getPrototypeOf(value)) as Record<\r\n string,\r\n unknown\r\n >\r\n seen.set(value, result)\r\n for (const key of Reflect.ownKeys(value)) {\r\n const descriptor = Object.getOwnPropertyDescriptor(value, key)\r\n if (!descriptor || !('value' in descriptor)) continue\r\n Object.defineProperty(result, key, {\r\n ...descriptor,\r\n value: clone(descriptor.value),\r\n })\r\n }\r\n return result\r\n }\r\n\r\n try {\r\n return clone(obj) as T\r\n } catch {\r\n return obj\r\n }\r\n}\r\n\r\n/** 将值格式化为可展示的字符串 */\r\nexport function formatValue(val: unknown): string {\r\n if (val === null || val === undefined) return '-'\r\n if (typeof val === 'object') {\r\n try {\r\n return JSON.stringify(\r\n val,\r\n (_key, value) => {\r\n if (typeof value === 'bigint') return `${value}n`\r\n return value\r\n },\r\n 2\r\n )\r\n } catch {\r\n return String(val)\r\n }\r\n }\r\n return String(val)\r\n}\r\n"],"mappings":"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"}
|
|
@@ -11,8 +11,7 @@ export declare function formatRelativeTime(value: string | number | Date): strin
|
|
|
11
11
|
export declare function escapeHtml(str: string): string;
|
|
12
12
|
/** 防抖 */
|
|
13
13
|
export declare function debounce<T extends (...args: unknown[]) => void>(fn: T, delay: number): T;
|
|
14
|
-
/**
|
|
14
|
+
/** 深拷贝值,同时保留 Date、Map、Set 和循环引用。 */
|
|
15
15
|
export declare function deepClone<T>(obj: T): T;
|
|
16
16
|
/** 将值格式化为可展示的字符串 */
|
|
17
17
|
export declare function formatValue(val: unknown): string;
|
|
18
|
-
//# sourceMappingURL=index.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@composy/log-viewer-core",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.0.2",
|
|
4
|
+
"description": "审计日志查看器核心:操作日志可视化、差异对比、时间线和筛选。",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"log-viewer",
|
|
7
7
|
"audit",
|
|
8
8
|
"trace",
|
|
9
9
|
"operation-log",
|
|
10
10
|
"ldesign",
|
|
11
|
-
"vue",
|
|
12
11
|
"typescript"
|
|
13
12
|
],
|
|
14
13
|
"author": "LDesign Team",
|
|
@@ -84,31 +83,38 @@
|
|
|
84
83
|
"unpkg": "./dist/index.min.js",
|
|
85
84
|
"jsdelivr": "./dist/index.min.js",
|
|
86
85
|
"files": [
|
|
87
|
-
"es",
|
|
88
|
-
"lib",
|
|
89
86
|
"README.md",
|
|
87
|
+
"LICENSE",
|
|
88
|
+
"CHANGELOG.md",
|
|
89
|
+
"es",
|
|
90
90
|
"esm",
|
|
91
|
+
"lib",
|
|
91
92
|
"dist"
|
|
92
93
|
],
|
|
93
94
|
"scripts": {
|
|
94
95
|
"build": "ldesign-builder build",
|
|
96
|
+
"clean": "rimraf dist es esm lib",
|
|
95
97
|
"lint": "eslint . --cache",
|
|
96
98
|
"lint:check": "eslint . --cache --max-warnings 0",
|
|
97
99
|
"lint:fix": "eslint . --cache --fix",
|
|
98
|
-
"type-check": "tsc --noEmit",
|
|
100
|
+
"type-check": "tsc --noEmit -p .ldesign/tsconfig.esm.json",
|
|
101
|
+
"type-check:cjs": "tsc --noEmit -p .ldesign/tsconfig.cjs.json",
|
|
99
102
|
"test": "ltesting run:unit",
|
|
100
103
|
"test:run": "ltesting run:unit",
|
|
101
104
|
"test:watch": "ltesting run:unit --watch",
|
|
102
105
|
"test:coverage": "ltesting run:unit --coverage",
|
|
103
106
|
"test:changed": "ltesting run:unit --changed",
|
|
104
107
|
"test:failed": "ltesting run:unit --failed",
|
|
105
|
-
"test:ui": "ltesting dashboard"
|
|
108
|
+
"test:ui": "ltesting dashboard",
|
|
109
|
+
"release": "ldesign-release publish --package-dir ."
|
|
106
110
|
},
|
|
107
111
|
"devDependencies": {
|
|
108
112
|
"@antfu/eslint-config": "9.1.0",
|
|
109
|
-
"@composy/builder": "^0.0
|
|
110
|
-
"@composy/
|
|
113
|
+
"@composy/builder": "^0.1.0",
|
|
114
|
+
"@composy/release": "^0.1.0",
|
|
115
|
+
"@composy/testing": "^0.0.2",
|
|
111
116
|
"eslint": "10.7.0",
|
|
117
|
+
"rimraf": "6.1.3",
|
|
112
118
|
"typescript": "5.9.3"
|
|
113
119
|
},
|
|
114
120
|
"publishConfig": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["../../src/core/EventEmitter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAuD;IAExE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAQrE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAIhE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAU7C,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;CAOzC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LogViewer.d.ts","sourceRoot":"","sources":["../../src/core/LogViewer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACV,MAAM,UAAU,CAAA;AAQjB;;GAEG;AACH,qBAAa,SAAU,YAAW,iBAAiB;IACjD,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,YAAY,CAAqB;IAEzC,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,MAAM,CAAiB;IAE/B,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,SAAS,CAAQ;gBAEb,MAAM,EAAE,eAAe;IAqCnC,OAAO,IAAI,QAAQ,EAAE;IAIrB,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI;IAOlC,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI;IAMrC,SAAS,IAAI,YAAY;IAIzB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAQrC,WAAW,IAAI,IAAI;IAOnB,QAAQ,IAAI,SAAS;IAIrB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAOhC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAO7B,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAO/B,WAAW,IAAI,IAAI;IAKnB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ5B,aAAa,IAAI,gBAAgB;IAOjC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAIrE,OAAO,IAAI,IAAI;IAIf,OAAO,IAAI,IAAI;IASf,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;IAqCtB,OAAO,CAAC,UAAU;CAqCnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FilterEngine.d.ts","sourceRoot":"","sources":["../../src/filters/FilterEngine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEtD;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,YAAY,GAAG,QAAQ,EAAE;IA6D7D;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE;IAI7C;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE;IAI/C;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE;CAGhD"}
|
package/es/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAA;AAG9B,YAAY,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAGtD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAG3G,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAElE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DiffRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/DiffRenderer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGnD;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW;IAkB1C;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW;CAkCnD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TimelineRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/TimelineRenderer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,UAAU,CAAA;AAWrD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW;IAiBlE;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAG,WAAW;IA8E3D;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW;CA+C7E"}
|
package/es/styles/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/styles/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;GAGG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAQnC"}
|
package/es/types/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/es/utils/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,cAAc;AACd,wBAAgB,GAAG,CAAC,MAAM,SAAO,GAAG,MAAM,CAEzC;AAED,YAAY;AACZ,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG,SAAwB,GAAG,MAAM,CAmB7F;AAED,cAAc;AACd,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAUxE;AAED,cAAc;AACd,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAS9C;AAED,SAAS;AACT,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAMxF;AAED,cAAc;AACd,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAOtC;AAED,oBAAoB;AACpB,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAUhD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["../../src/core/EventEmitter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAuD;IAExE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAQrE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAIhE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAU7C,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;CAOzC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LogViewer.d.ts","sourceRoot":"","sources":["../../src/core/LogViewer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACV,MAAM,UAAU,CAAA;AAQjB;;GAEG;AACH,qBAAa,SAAU,YAAW,iBAAiB;IACjD,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,YAAY,CAAqB;IAEzC,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,MAAM,CAAiB;IAE/B,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,SAAS,CAAQ;gBAEb,MAAM,EAAE,eAAe;IAqCnC,OAAO,IAAI,QAAQ,EAAE;IAIrB,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI;IAOlC,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI;IAMrC,SAAS,IAAI,YAAY;IAIzB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAQrC,WAAW,IAAI,IAAI;IAOnB,QAAQ,IAAI,SAAS;IAIrB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAOhC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAO7B,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAO/B,WAAW,IAAI,IAAI;IAKnB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ5B,aAAa,IAAI,gBAAgB;IAOjC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAIrE,OAAO,IAAI,IAAI;IAIf,OAAO,IAAI,IAAI;IASf,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;IAqCtB,OAAO,CAAC,UAAU;CAqCnB"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 筛选引擎 - 支持按操作人/操作类型/时间范围/模块/IP/关键词筛选
|
|
3
|
-
*/
|
|
4
|
-
import type { LogEntry, FilterConfig } from '../types';
|
|
5
|
-
/**
|
|
6
|
-
* FilterEngine - Filter Engine class
|
|
7
|
-
*/
|
|
8
|
-
export declare class FilterEngine {
|
|
9
|
-
/**
|
|
10
|
-
* 对日志条目进行多维筛选
|
|
11
|
-
*/
|
|
12
|
-
filter(entries: LogEntry[], config: FilterConfig): LogEntry[];
|
|
13
|
-
/**
|
|
14
|
-
* 获取所有唯一操作人
|
|
15
|
-
*/
|
|
16
|
-
getUniqueUsers(entries: LogEntry[]): string[];
|
|
17
|
-
/**
|
|
18
|
-
* 获取所有唯一模块
|
|
19
|
-
*/
|
|
20
|
-
getUniqueModules(entries: LogEntry[]): string[];
|
|
21
|
-
/**
|
|
22
|
-
* 获取所有唯一操作类型
|
|
23
|
-
*/
|
|
24
|
-
getUniqueActions(entries: LogEntry[]): string[];
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=FilterEngine.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FilterEngine.d.ts","sourceRoot":"","sources":["../../src/filters/FilterEngine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEtD;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,YAAY,GAAG,QAAQ,EAAE;IA6D7D;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE;IAI7C;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE;IAI/C;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE;CAGhD"}
|
package/esm/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAA;AAG9B,YAAY,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAGtD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAG3G,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAElE"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 变更对比渲染器 - 渲染字段变更前后的 Diff 表格
|
|
3
|
-
*/
|
|
4
|
-
import type { DiffEntry, LogEntry } from '../types';
|
|
5
|
-
/**
|
|
6
|
-
* DiffRenderer - Diff Renderer class
|
|
7
|
-
*/
|
|
8
|
-
export declare class DiffRenderer {
|
|
9
|
-
/**
|
|
10
|
-
* 渲染详情面板(包含 diff 表格和 metadata)
|
|
11
|
-
*/
|
|
12
|
-
renderDetail(entry: LogEntry): HTMLElement;
|
|
13
|
-
/**
|
|
14
|
-
* 渲染 Diff 表格
|
|
15
|
-
*/
|
|
16
|
-
renderDiffTable(changes: DiffEntry[]): HTMLElement;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=DiffRenderer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DiffRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/DiffRenderer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGnD;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW;IAkB1C;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW;CAkCnD"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 时间线渲染器 - 将日志条目渲染为时间线 DOM
|
|
3
|
-
*/
|
|
4
|
-
import type { LogEntry } from '../types';
|
|
5
|
-
/**
|
|
6
|
-
* TimelineRenderer - Timeline Renderer class
|
|
7
|
-
*/
|
|
8
|
-
export declare class TimelineRenderer {
|
|
9
|
-
/**
|
|
10
|
-
* 渲染时间线
|
|
11
|
-
*/
|
|
12
|
-
render(entries: LogEntry[], expandedIds: Set<string>): HTMLElement;
|
|
13
|
-
/**
|
|
14
|
-
* 渲染单条时间线条目
|
|
15
|
-
*/
|
|
16
|
-
renderItem(entry: LogEntry, expanded: boolean): HTMLElement;
|
|
17
|
-
/**
|
|
18
|
-
* 渲染分页
|
|
19
|
-
*/
|
|
20
|
-
renderPagination(page: number, pageSize: number, total: number): HTMLElement;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=TimelineRenderer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TimelineRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/TimelineRenderer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,UAAU,CAAA;AAWrD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW;IAiBlE;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAG,WAAW;IA8E3D;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW;CA+C7E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/styles/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;GAGG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAQnC"}
|
package/esm/types/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/esm/utils/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,cAAc;AACd,wBAAgB,GAAG,CAAC,MAAM,SAAO,GAAG,MAAM,CAEzC;AAED,YAAY;AACZ,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG,SAAwB,GAAG,MAAM,CAmB7F;AAED,cAAc;AACd,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAUxE;AAED,cAAc;AACd,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAS9C;AAED,SAAS;AACT,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAMxF;AAED,cAAc;AACd,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAOtC;AAED,oBAAoB;AACpB,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAUhD"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 简单的事件发射器
|
|
3
|
-
*/
|
|
4
|
-
export declare class EventEmitter {
|
|
5
|
-
private listeners;
|
|
6
|
-
on(event: string, callback: (...args: unknown[]) => void): () => void;
|
|
7
|
-
off(event: string, callback: (...args: unknown[]) => void): void;
|
|
8
|
-
emit(event: string, ...args: unknown[]): void;
|
|
9
|
-
removeAllListeners(event?: string): void;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=EventEmitter.d.ts.map
|
package/lib/core/LogViewer.d.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LogViewer 核心引擎
|
|
3
|
-
*/
|
|
4
|
-
import type { LogEntry, LogViewerConfig, LogViewerInstance, FilterConfig, PaginationConfig, ThemeMode } from '../types';
|
|
5
|
-
/**
|
|
6
|
-
* LogViewer - Log Viewer class
|
|
7
|
-
*/
|
|
8
|
-
export declare class LogViewer implements LogViewerInstance {
|
|
9
|
-
private root;
|
|
10
|
-
private emitter;
|
|
11
|
-
private filterEngine;
|
|
12
|
-
private timelineRenderer;
|
|
13
|
-
private diffRenderer;
|
|
14
|
-
private data;
|
|
15
|
-
private filteredData;
|
|
16
|
-
private filter;
|
|
17
|
-
private pagination;
|
|
18
|
-
private theme;
|
|
19
|
-
private expandedIds;
|
|
20
|
-
private config;
|
|
21
|
-
private timelineEl;
|
|
22
|
-
private paginationEl;
|
|
23
|
-
private destroyed;
|
|
24
|
-
constructor(config: LogViewerConfig);
|
|
25
|
-
getData(): LogEntry[];
|
|
26
|
-
setData(entries: LogEntry[]): void;
|
|
27
|
-
appendData(entries: LogEntry[]): void;
|
|
28
|
-
getFilter(): FilterConfig;
|
|
29
|
-
setFilter(filter: FilterConfig): void;
|
|
30
|
-
resetFilter(): void;
|
|
31
|
-
getTheme(): ThemeMode;
|
|
32
|
-
setTheme(theme: ThemeMode): void;
|
|
33
|
-
expandEntry(id: string): void;
|
|
34
|
-
collapseEntry(id: string): void;
|
|
35
|
-
collapseAll(): void;
|
|
36
|
-
goToPage(page: number): void;
|
|
37
|
-
getPagination(): PaginationConfig;
|
|
38
|
-
on(event: string, callback: (...args: unknown[]) => void): () => void;
|
|
39
|
-
refresh(): void;
|
|
40
|
-
destroy(): void;
|
|
41
|
-
private applyFilterAndRender;
|
|
42
|
-
private getPageData;
|
|
43
|
-
private renderTimeline;
|
|
44
|
-
private bindEvents;
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=LogViewer.d.ts.map
|
package/lib/index.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @composy/log-viewer-core
|
|
3
|
-
* 审计日志查看器 - 操作日志可视化与追溯
|
|
4
|
-
*/
|
|
5
|
-
export declare const VERSION = "0.1.0";
|
|
6
|
-
export type { ActionType, ThemeMode, AnomalyType, DiffEntry, LogEntry, FilterConfig, PaginationConfig, LogViewerConfig, LogViewerInstance, LogViewerEvents, } from './types';
|
|
7
|
-
export { ACTION_LABELS, ACTION_COLORS } from './types';
|
|
8
|
-
export { LogViewer } from './core/LogViewer';
|
|
9
|
-
export { EventEmitter } from './core/EventEmitter';
|
|
10
|
-
export { FilterEngine } from './filters/FilterEngine';
|
|
11
|
-
export { TimelineRenderer } from './renderers/TimelineRenderer';
|
|
12
|
-
export { DiffRenderer } from './renderers/DiffRenderer';
|
|
13
|
-
export { formatDate, formatRelativeTime, escapeHtml, debounce, uid, formatValue, deepClone } from './utils';
|
|
14
|
-
export { injectStyles } from './styles';
|
|
15
|
-
/**
|
|
16
|
-
* 创建 LogViewer 实例 - 工厂函数
|
|
17
|
-
*/
|
|
18
|
-
import type { LogViewerConfig } from './types';
|
|
19
|
-
import { LogViewer } from './core/LogViewer';
|
|
20
|
-
/**
|
|
21
|
-
* createLogViewer - create Log Viewer function
|
|
22
|
-
* @param config - 参数说明
|
|
23
|
-
* @returns 返回值说明
|
|
24
|
-
*/
|
|
25
|
-
export declare function createLogViewer(config: LogViewerConfig): LogViewer;
|
|
26
|
-
//# sourceMappingURL=index.d.ts.map
|
package/lib/styles/index.d.ts
DELETED
package/lib/types/index.d.ts
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @composy/log-viewer-core 类型定义
|
|
3
|
-
*/
|
|
4
|
-
/** 操作类型 */
|
|
5
|
-
export type ActionType = 'create' | 'update' | 'delete' | 'query' | 'login' | 'logout' | 'export' | 'import' | 'approve' | 'reject' | 'other';
|
|
6
|
-
/** 主题模式 */
|
|
7
|
-
export type ThemeMode = 'light' | 'dark';
|
|
8
|
-
/** 异常标记类型 */
|
|
9
|
-
export type AnomalyType = 'off-hours' | 'sensitive' | 'high-frequency' | 'none';
|
|
10
|
-
/** 字段变更条目 */
|
|
11
|
-
export interface DiffEntry {
|
|
12
|
-
field: string;
|
|
13
|
-
label?: string;
|
|
14
|
-
oldValue: unknown;
|
|
15
|
-
newValue: unknown;
|
|
16
|
-
}
|
|
17
|
-
/** 日志条目 */
|
|
18
|
-
export interface LogEntry {
|
|
19
|
-
id: string;
|
|
20
|
-
timestamp: string | number | Date;
|
|
21
|
-
user: string;
|
|
22
|
-
userId?: string;
|
|
23
|
-
action: ActionType;
|
|
24
|
-
module: string;
|
|
25
|
-
detail?: string;
|
|
26
|
-
ip?: string;
|
|
27
|
-
changes?: DiffEntry[];
|
|
28
|
-
metadata?: Record<string, unknown>;
|
|
29
|
-
anomaly?: AnomalyType;
|
|
30
|
-
}
|
|
31
|
-
/** 筛选配置 */
|
|
32
|
-
export interface FilterConfig {
|
|
33
|
-
user?: string;
|
|
34
|
-
action?: ActionType | ActionType[];
|
|
35
|
-
module?: string;
|
|
36
|
-
ip?: string;
|
|
37
|
-
timeRange?: [Date | string | number, Date | string | number];
|
|
38
|
-
keyword?: string;
|
|
39
|
-
}
|
|
40
|
-
/** 分页配置 */
|
|
41
|
-
export interface PaginationConfig {
|
|
42
|
-
page: number;
|
|
43
|
-
pageSize: number;
|
|
44
|
-
total?: number;
|
|
45
|
-
}
|
|
46
|
-
/** LogViewer 配置 */
|
|
47
|
-
export interface LogViewerConfig {
|
|
48
|
-
container: string | HTMLElement;
|
|
49
|
-
data?: LogEntry[];
|
|
50
|
-
dataSource?: string | (() => Promise<LogEntry[]>);
|
|
51
|
-
columns?: string[];
|
|
52
|
-
filter?: FilterConfig;
|
|
53
|
-
pagination?: Partial<PaginationConfig>;
|
|
54
|
-
theme?: ThemeMode;
|
|
55
|
-
locale?: 'zh-CN' | 'en-US';
|
|
56
|
-
showFilter?: boolean;
|
|
57
|
-
showDiff?: boolean;
|
|
58
|
-
showAnomalyBadge?: boolean;
|
|
59
|
-
pageSize?: number;
|
|
60
|
-
onEntryClick?: (entry: LogEntry) => void;
|
|
61
|
-
onFilterChange?: (filter: FilterConfig) => void;
|
|
62
|
-
onThemeChange?: (theme: ThemeMode) => void;
|
|
63
|
-
}
|
|
64
|
-
/** LogViewer 实例接口 */
|
|
65
|
-
export interface LogViewerInstance {
|
|
66
|
-
/** 获取当前数据 */
|
|
67
|
-
getData(): LogEntry[];
|
|
68
|
-
/** 设置数据 */
|
|
69
|
-
setData(entries: LogEntry[]): void;
|
|
70
|
-
/** 追加数据 */
|
|
71
|
-
appendData(entries: LogEntry[]): void;
|
|
72
|
-
/** 获取当前筛选条件 */
|
|
73
|
-
getFilter(): FilterConfig;
|
|
74
|
-
/** 设置筛选条件 */
|
|
75
|
-
setFilter(filter: FilterConfig): void;
|
|
76
|
-
/** 重置筛选 */
|
|
77
|
-
resetFilter(): void;
|
|
78
|
-
/** 获取当前主题 */
|
|
79
|
-
getTheme(): ThemeMode;
|
|
80
|
-
/** 设置主题 */
|
|
81
|
-
setTheme(theme: ThemeMode): void;
|
|
82
|
-
/** 展开指定条目详情 */
|
|
83
|
-
expandEntry(id: string): void;
|
|
84
|
-
/** 折叠指定条目详情 */
|
|
85
|
-
collapseEntry(id: string): void;
|
|
86
|
-
/** 折叠所有详情 */
|
|
87
|
-
collapseAll(): void;
|
|
88
|
-
/** 跳转分页 */
|
|
89
|
-
goToPage(page: number): void;
|
|
90
|
-
/** 获取分页信息 */
|
|
91
|
-
getPagination(): PaginationConfig;
|
|
92
|
-
/** 注册事件监听 */
|
|
93
|
-
on(event: string, callback: (...args: unknown[]) => void): () => void;
|
|
94
|
-
/** 刷新渲染 */
|
|
95
|
-
refresh(): void;
|
|
96
|
-
/** 销毁实例 */
|
|
97
|
-
destroy(): void;
|
|
98
|
-
}
|
|
99
|
-
/** 事件映射 */
|
|
100
|
-
export interface LogViewerEvents {
|
|
101
|
-
'filter:change': (filter: FilterConfig) => void;
|
|
102
|
-
'entry:click': (entry: LogEntry) => void;
|
|
103
|
-
'entry:expand': (entry: LogEntry) => void;
|
|
104
|
-
'entry:collapse': (entry: LogEntry) => void;
|
|
105
|
-
'theme:change': (theme: ThemeMode) => void;
|
|
106
|
-
'page:change': (page: number) => void;
|
|
107
|
-
'data:change': (entries: LogEntry[]) => void;
|
|
108
|
-
}
|
|
109
|
-
/** 操作类型标签映射 */
|
|
110
|
-
export declare const ACTION_LABELS: Record<ActionType, string>;
|
|
111
|
-
/** 操作类型颜色映射 */
|
|
112
|
-
export declare const ACTION_COLORS: Record<ActionType, string>;
|
|
113
|
-
//# sourceMappingURL=index.d.ts.map
|
package/lib/utils/index.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 工具函数
|
|
3
|
-
*/
|
|
4
|
-
/** 生成唯一 ID */
|
|
5
|
-
export declare function uid(prefix?: string): string;
|
|
6
|
-
/** 格式化日期 */
|
|
7
|
-
export declare function formatDate(value: string | number | Date, fmt?: string): string;
|
|
8
|
-
/** 格式化相对时间 */
|
|
9
|
-
export declare function formatRelativeTime(value: string | number | Date): string;
|
|
10
|
-
/** HTML 转义 */
|
|
11
|
-
export declare function escapeHtml(str: string): string;
|
|
12
|
-
/** 防抖 */
|
|
13
|
-
export declare function debounce<T extends (...args: unknown[]) => void>(fn: T, delay: number): T;
|
|
14
|
-
/** 深拷贝简易实现 */
|
|
15
|
-
export declare function deepClone<T>(obj: T): T;
|
|
16
|
-
/** 将值格式化为可展示的字符串 */
|
|
17
|
-
export declare function formatValue(val: unknown): string;
|
|
18
|
-
//# sourceMappingURL=index.d.ts.map
|