@composy/log-viewer-core 0.0.1

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.
Files changed (105) hide show
  1. package/README.md +37 -0
  2. package/dist/index.js +961 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/index.min.js +1 -0
  5. package/es/core/EventEmitter.d.ts +11 -0
  6. package/es/core/EventEmitter.d.ts.map +1 -0
  7. package/es/core/EventEmitter.js +40 -0
  8. package/es/core/EventEmitter.js.map +1 -0
  9. package/es/core/LogViewer.d.ts +46 -0
  10. package/es/core/LogViewer.d.ts.map +1 -0
  11. package/es/core/LogViewer.js +186 -0
  12. package/es/core/LogViewer.js.map +1 -0
  13. package/es/filters/FilterEngine.d.ts +26 -0
  14. package/es/filters/FilterEngine.d.ts.map +1 -0
  15. package/es/filters/FilterEngine.js +79 -0
  16. package/es/filters/FilterEngine.js.map +1 -0
  17. package/es/index.d.ts +26 -0
  18. package/es/index.d.ts.map +1 -0
  19. package/es/index.js +26 -0
  20. package/es/index.js.map +1 -0
  21. package/es/renderers/DiffRenderer.d.ts +18 -0
  22. package/es/renderers/DiffRenderer.d.ts.map +1 -0
  23. package/es/renderers/DiffRenderer.js +60 -0
  24. package/es/renderers/DiffRenderer.js.map +1 -0
  25. package/es/renderers/TimelineRenderer.d.ts +22 -0
  26. package/es/renderers/TimelineRenderer.d.ts.map +1 -0
  27. package/es/renderers/TimelineRenderer.js +135 -0
  28. package/es/renderers/TimelineRenderer.js.map +1 -0
  29. package/es/styles/index.d.ts +9 -0
  30. package/es/styles/index.d.ts.map +1 -0
  31. package/es/styles/index.js +414 -0
  32. package/es/styles/index.js.map +1 -0
  33. package/es/types/index.d.ts +113 -0
  34. package/es/types/index.d.ts.map +1 -0
  35. package/es/types/index.js +40 -0
  36. package/es/types/index.js.map +1 -0
  37. package/es/utils/index.d.ts +18 -0
  38. package/es/utils/index.d.ts.map +1 -0
  39. package/es/utils/index.js +73 -0
  40. package/es/utils/index.js.map +1 -0
  41. package/esm/core/EventEmitter.d.ts +11 -0
  42. package/esm/core/EventEmitter.d.ts.map +1 -0
  43. package/esm/core/EventEmitter.js +40 -0
  44. package/esm/core/EventEmitter.js.map +1 -0
  45. package/esm/core/LogViewer.d.ts +46 -0
  46. package/esm/core/LogViewer.d.ts.map +1 -0
  47. package/esm/core/LogViewer.js +186 -0
  48. package/esm/core/LogViewer.js.map +1 -0
  49. package/esm/filters/FilterEngine.d.ts +26 -0
  50. package/esm/filters/FilterEngine.d.ts.map +1 -0
  51. package/esm/filters/FilterEngine.js +79 -0
  52. package/esm/filters/FilterEngine.js.map +1 -0
  53. package/esm/index.d.ts +26 -0
  54. package/esm/index.d.ts.map +1 -0
  55. package/esm/index.js +26 -0
  56. package/esm/index.js.map +1 -0
  57. package/esm/renderers/DiffRenderer.d.ts +18 -0
  58. package/esm/renderers/DiffRenderer.d.ts.map +1 -0
  59. package/esm/renderers/DiffRenderer.js +60 -0
  60. package/esm/renderers/DiffRenderer.js.map +1 -0
  61. package/esm/renderers/TimelineRenderer.d.ts +22 -0
  62. package/esm/renderers/TimelineRenderer.d.ts.map +1 -0
  63. package/esm/renderers/TimelineRenderer.js +135 -0
  64. package/esm/renderers/TimelineRenderer.js.map +1 -0
  65. package/esm/styles/index.d.ts +9 -0
  66. package/esm/styles/index.d.ts.map +1 -0
  67. package/esm/styles/index.js +414 -0
  68. package/esm/styles/index.js.map +1 -0
  69. package/esm/types/index.d.ts +113 -0
  70. package/esm/types/index.d.ts.map +1 -0
  71. package/esm/types/index.js +40 -0
  72. package/esm/types/index.js.map +1 -0
  73. package/esm/utils/index.d.ts +18 -0
  74. package/esm/utils/index.d.ts.map +1 -0
  75. package/esm/utils/index.js +73 -0
  76. package/esm/utils/index.js.map +1 -0
  77. package/lib/core/EventEmitter.cjs +41 -0
  78. package/lib/core/EventEmitter.cjs.map +1 -0
  79. package/lib/core/EventEmitter.d.ts +11 -0
  80. package/lib/core/LogViewer.cjs +187 -0
  81. package/lib/core/LogViewer.cjs.map +1 -0
  82. package/lib/core/LogViewer.d.ts +46 -0
  83. package/lib/filters/FilterEngine.cjs +80 -0
  84. package/lib/filters/FilterEngine.cjs.map +1 -0
  85. package/lib/filters/FilterEngine.d.ts +26 -0
  86. package/lib/index.cjs +43 -0
  87. package/lib/index.cjs.map +1 -0
  88. package/lib/index.d.ts +26 -0
  89. package/lib/package.json +3 -0
  90. package/lib/renderers/DiffRenderer.cjs +61 -0
  91. package/lib/renderers/DiffRenderer.cjs.map +1 -0
  92. package/lib/renderers/DiffRenderer.d.ts +18 -0
  93. package/lib/renderers/TimelineRenderer.cjs +136 -0
  94. package/lib/renderers/TimelineRenderer.cjs.map +1 -0
  95. package/lib/renderers/TimelineRenderer.d.ts +22 -0
  96. package/lib/styles/index.cjs +415 -0
  97. package/lib/styles/index.cjs.map +1 -0
  98. package/lib/styles/index.d.ts +9 -0
  99. package/lib/types/index.cjs +42 -0
  100. package/lib/types/index.cjs.map +1 -0
  101. package/lib/types/index.d.ts +113 -0
  102. package/lib/utils/index.cjs +80 -0
  103. package/lib/utils/index.cjs.map +1 -0
  104. package/lib/utils/index.d.ts +18 -0
  105. package/package.json +119 -0
@@ -0,0 +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 return `${prefix}-${++_uid}-${Math.random().toString(36).slice(2, 8)}`\n}\n\n/** 格式化日期 */\nexport function formatDate(value: string | number | Date, fmt = 'YYYY-MM-DD HH:mm:ss'): string {\n const d = value instanceof Date ? value : new Date(value)\n if (isNaN(d.getTime())) return String(value)\n\n const pad = (n: number) => String(n).padStart(2, '0')\n const year = String(d.getFullYear())\n const month = pad(d.getMonth() + 1)\n const day = pad(d.getDate())\n const hours = pad(d.getHours())\n const minutes = pad(d.getMinutes())\n const seconds = pad(d.getSeconds())\n\n return fmt\n .replace('YYYY', year)\n .replace('MM', month)\n .replace('DD', day)\n .replace('HH', hours)\n .replace('mm', minutes)\n .replace('ss', seconds)\n}\n\n/** 格式化相对时间 */\nexport function formatRelativeTime(value: string | number | Date): string {\n const d = value instanceof Date ? value : new Date(value)\n const now = Date.now()\n const diff = now - d.getTime()\n\n if (diff < 60_000) return '刚刚'\n if (diff < 3_600_000) return `${Math.floor(diff / 60_000)} 分钟前`\n if (diff < 86_400_000) return `${Math.floor(diff / 3_600_000)} 小时前`\n if (diff < 604_800_000) return `${Math.floor(diff / 86_400_000)} 天前`\n return formatDate(d)\n}\n\n/** HTML 转义 */\nexport function escapeHtml(str: string): string {\n const map: Record<string, string> = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n }\n return str.replace(/[&<>\"']/g, (c) => map[c] || c)\n}\n\n/** 防抖 */\nexport function debounce<T extends (...args: unknown[]) => void>(fn: T, delay: number): T {\n let timer: ReturnType<typeof setTimeout> | null = null\n return ((...args: unknown[]) => {\n if (timer) clearTimeout(timer)\n timer = setTimeout(() => fn(...args), delay)\n }) as unknown as T\n}\n\n/** 深拷贝简易实现 */\nexport function deepClone<T>(obj: T): T {\n if (obj === null || typeof obj !== 'object') return obj\n try {\n return JSON.parse(JSON.stringify(obj))\n } catch {\n return obj\n }\n}\n\n/** 将值格式化为可展示的字符串 */\nexport function formatValue(val: unknown): string {\n if (val === null || val === undefined) return '-'\n if (typeof val === 'object') {\n try {\n return JSON.stringify(val, null, 2)\n } catch {\n return String(val)\n }\n }\n return String(val)\n}\n"],"mappings":";;;;;;;;;;;AAIA,IAAI,OAAO;AAGJ,SAAS,IAAI,SAAS,MAAc;CACzC,OAAO,GAAG,OAAM,GAAI,EAAE,KAAI,GAAI,KAAK,OAAO,CAAA,CAAE,SAAS,EAAE,CAAA,CAAE,MAAM,GAAG,CAAC;AACrE;AAGO,SAAS,WAAW,OAA+B,MAAM,uBAA+B;CAC7F,MAAM,IAAI,iBAAiB,OAAO,QAAQ,IAAI,KAAK,KAAK;CACxD,IAAI,MAAM,EAAE,QAAQ,CAAC,GAAG,OAAO,OAAO,KAAK;CAE3C,MAAM,OAAO,MAAc,OAAO,CAAC,CAAA,CAAE,SAAS,GAAG,GAAG;CACpD,MAAM,OAAO,OAAO,EAAE,YAAY,CAAC;CACnC,MAAM,QAAQ,IAAI,EAAE,SAAS,IAAI,CAAC;CAClC,MAAM,MAAM,IAAI,EAAE,QAAQ,CAAC;CAC3B,MAAM,QAAQ,IAAI,EAAE,SAAS,CAAC;CAC9B,MAAM,UAAU,IAAI,EAAE,WAAW,CAAC;CAClC,MAAM,UAAU,IAAI,EAAE,WAAW,CAAC;CAElC,OAAO,IACJ,QAAQ,QAAQ,IAAI,CAAA,CACpB,QAAQ,MAAM,KAAK,CAAA,CACnB,QAAQ,MAAM,GAAG,CAAA,CACjB,QAAQ,MAAM,KAAK,CAAA,CACnB,QAAQ,MAAM,OAAO,CAAA,CACrB,QAAQ,MAAM,OAAO;AAC1B;AAGO,SAAS,mBAAmB,OAAuC;CACxE,MAAM,IAAI,iBAAiB,OAAO,QAAQ,IAAI,KAAK,KAAK;CAExD,MAAM,OADM,KAAK,IACJ,IAAM,EAAE,QAAQ;CAE7B,IAAI,OAAO,KAAQ,OAAO;CAC1B,IAAI,OAAO,MAAW,OAAO,GAAG,KAAK,MAAM,OAAO,GAAM,EAAC;CACzD,IAAI,OAAO,OAAY,OAAO,GAAG,KAAK,MAAM,OAAO,IAAS,EAAC;CAC7D,IAAI,OAAO,QAAa,OAAO,GAAG,KAAK,MAAM,OAAO,KAAU,EAAC;CAC/D,OAAO,WAAW,CAAC;AACrB;AAGO,SAAS,WAAW,KAAqB;CAC9C,MAAM,MAA8B;EAClC,KAAK;EACL,KAAK;EACL,KAAK;EACL,MAAK;EACL,KAAK;CACP;CACA,OAAO,IAAI,QAAQ,aAAa,MAAM,IAAI,MAAM,CAAC;AACnD;AAGO,SAAS,SAAiD,IAAO,OAAkB;CACxF,IAAI,QAA8C;CAClD,SAAQ,GAAI,SAAoB;EAC9B,IAAI,OAAO,aAAa,KAAK;EAC7B,QAAQ,iBAAiB,GAAG,GAAG,IAAI,GAAG,KAAK;CAC7C;AACF;AAGO,SAAS,UAAa,KAAW;CACtC,IAAI,QAAQ,QAAQ,OAAO,QAAQ,UAAU,OAAO;CACpD,IAAI;EACF,OAAO,KAAK,MAAM,KAAK,UAAU,GAAG,CAAC;CACvC,QAAQ;EACN,OAAO;CACT;AACF;AAGO,SAAS,YAAY,KAAsB;CAChD,IAAI,QAAQ,QAAQ,QAAQ,KAAA,GAAW,OAAO;CAC9C,IAAI,OAAO,QAAQ,UACjB,IAAI;EACF,OAAO,KAAK,UAAU,KAAK,MAAM,CAAC;CACpC,QAAQ;EACN,OAAO,OAAO,GAAG;CACnB;CAEF,OAAO,OAAO,GAAG;AACnB"}
@@ -0,0 +1,18 @@
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
package/package.json ADDED
@@ -0,0 +1,119 @@
1
+ {
2
+ "name": "@composy/log-viewer-core",
3
+ "version": "0.0.1",
4
+ "description": "审计日志查看器 - 操作日志可视化与追溯",
5
+ "keywords": [
6
+ "log-viewer",
7
+ "audit",
8
+ "trace",
9
+ "operation-log",
10
+ "ldesign",
11
+ "vue",
12
+ "typescript"
13
+ ],
14
+ "author": "LDesign Team",
15
+ "license": "MIT",
16
+ "type": "module",
17
+ "sideEffects": false,
18
+ "exports": {
19
+ ".": {
20
+ "types": "./es/index.d.ts",
21
+ "import": "./es/index.js",
22
+ "require": "./lib/index.cjs",
23
+ "default": "./es/index.js"
24
+ },
25
+ "./core/*": {
26
+ "types": "./es/core/*.d.ts",
27
+ "import": "./es/core/*.js",
28
+ "require": "./lib/core/*.cjs",
29
+ "default": "./es/core/*.js"
30
+ },
31
+ "./filters/*": {
32
+ "types": "./es/filters/*.d.ts",
33
+ "import": "./es/filters/*.js",
34
+ "require": "./lib/filters/*.cjs",
35
+ "default": "./es/filters/*.js"
36
+ },
37
+ "./renderers/*": {
38
+ "types": "./es/renderers/*.d.ts",
39
+ "import": "./es/renderers/*.js",
40
+ "require": "./lib/renderers/*.cjs",
41
+ "default": "./es/renderers/*.js"
42
+ },
43
+ "./styles": {
44
+ "types": "./es/styles/index.d.ts",
45
+ "import": "./es/styles/index.js",
46
+ "require": "./lib/styles/index.cjs",
47
+ "default": "./es/styles/index.js"
48
+ },
49
+ "./styles/*": {
50
+ "types": "./es/styles/*.d.ts",
51
+ "import": "./es/styles/*.js",
52
+ "require": "./lib/styles/*.cjs",
53
+ "default": "./es/styles/*.js"
54
+ },
55
+ "./types": {
56
+ "types": "./es/types/index.d.ts",
57
+ "import": "./es/types/index.js",
58
+ "require": "./lib/types/index.cjs",
59
+ "default": "./es/types/index.js"
60
+ },
61
+ "./types/*": {
62
+ "types": "./es/types/*.d.ts",
63
+ "import": "./es/types/*.js",
64
+ "require": "./lib/types/*.cjs",
65
+ "default": "./es/types/*.js"
66
+ },
67
+ "./utils": {
68
+ "types": "./es/utils/index.d.ts",
69
+ "import": "./es/utils/index.js",
70
+ "require": "./lib/utils/index.cjs",
71
+ "default": "./es/utils/index.js"
72
+ },
73
+ "./utils/*": {
74
+ "types": "./es/utils/*.d.ts",
75
+ "import": "./es/utils/*.js",
76
+ "require": "./lib/utils/*.cjs",
77
+ "default": "./es/utils/*.js"
78
+ },
79
+ "./package.json": "./package.json"
80
+ },
81
+ "main": "./lib/index.cjs",
82
+ "module": "./es/index.js",
83
+ "types": "./es/index.d.ts",
84
+ "unpkg": "./dist/index.min.js",
85
+ "jsdelivr": "./dist/index.min.js",
86
+ "files": [
87
+ "es",
88
+ "lib",
89
+ "README.md",
90
+ "esm",
91
+ "dist"
92
+ ],
93
+ "scripts": {
94
+ "build": "ldesign-builder build",
95
+ "lint": "eslint . --cache",
96
+ "lint:check": "eslint . --cache --max-warnings 0",
97
+ "lint:fix": "eslint . --cache --fix",
98
+ "type-check": "tsc --noEmit",
99
+ "test": "ltesting run:unit",
100
+ "test:run": "ltesting run:unit",
101
+ "test:watch": "ltesting run:unit --watch",
102
+ "test:coverage": "ltesting run:unit --coverage",
103
+ "test:changed": "ltesting run:unit --changed",
104
+ "test:failed": "ltesting run:unit --failed",
105
+ "test:ui": "ltesting dashboard"
106
+ },
107
+ "devDependencies": {
108
+ "@antfu/eslint-config": "9.1.0",
109
+ "@composy/builder": "^0.0.1",
110
+ "@composy/testing": "^0.0.1",
111
+ "eslint": "10.7.0",
112
+ "typescript": "5.9.3"
113
+ },
114
+ "publishConfig": {
115
+ "registry": "http://npm.longrise.cn:6286/"
116
+ },
117
+ "typings": "./es/index.d.ts",
118
+ "browser": "./dist/index.js"
119
+ }