@agile-team/mach-report 0.5.0 → 0.6.0

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 (71) hide show
  1. package/dist/ReportPreview-DWLjYi_p.js +527 -0
  2. package/dist/ReportPreview-rBtmbu3W.cjs +6 -0
  3. package/dist/_commonjsHelpers-DKOUU3wS.cjs +1 -0
  4. package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
  5. package/dist/builder/template-builder.d.ts +53 -0
  6. package/dist/compat/jh4j-template.d.ts +12 -0
  7. package/dist/defaults.d.ts +27 -0
  8. package/dist/index.cjs +6 -1663
  9. package/dist/index.d.cts +13 -344
  10. package/dist/index.d.ts +13 -344
  11. package/dist/index.js +727 -1419
  12. package/dist/layout/paginate.d.ts +51 -0
  13. package/dist/layout/textwrap.d.ts +36 -0
  14. package/dist/manager/api.d.ts +45 -0
  15. package/dist/manager/index.d.ts +2 -0
  16. package/dist/manager/types.d.ts +50 -0
  17. package/dist/manager.cjs +1 -122
  18. package/dist/manager.d.cts +5 -97
  19. package/dist/manager.d.ts +5 -97
  20. package/dist/manager.js +66 -81
  21. package/dist/pdf/font-loader.d.ts +5 -0
  22. package/dist/pdf/index.d.ts +2 -0
  23. package/dist/pdf/render-pdf.d.ts +25 -0
  24. package/dist/pdf.cjs +84 -52530
  25. package/dist/pdf.d.cts +4 -31
  26. package/dist/pdf.d.ts +4 -31
  27. package/dist/pdf.js +22843 -39218
  28. package/dist/plugin-BIJxGHZX.cjs +1 -0
  29. package/dist/plugin-DrV67_VW.js +89 -0
  30. package/dist/render/canvas.d.ts +61 -0
  31. package/dist/render/dom.d.ts +10 -0
  32. package/dist/render/grid-geometry.d.ts +41 -0
  33. package/dist/render/style.d.ts +33 -0
  34. package/dist/render/window.d.ts +23 -0
  35. package/dist/schema/render-plan.d.ts +96 -0
  36. package/dist/schema/validate.d.ts +15 -0
  37. package/dist/sql/ast-check.d.ts +14 -0
  38. package/dist/sql/compile.d.ts +31 -0
  39. package/dist/sql/expr.d.ts +21 -0
  40. package/dist/sql/index.d.ts +4 -0
  41. package/dist/sql/tokenizer.d.ts +25 -0
  42. package/dist/sql.cjs +68 -45207
  43. package/dist/sql.d.cts +3 -93
  44. package/dist/sql.d.ts +3 -93
  45. package/dist/sql.js +37213 -41613
  46. package/dist/style-B3vxGDZd.cjs +3 -0
  47. package/dist/style-B7Xfo5I-.js +255 -0
  48. package/dist/style.css +1 -0
  49. package/dist/units.d.ts +11 -0
  50. package/dist/vue/ReportPreview.d.ts +141 -0
  51. package/dist/vue/ReportToolbar.d.ts +25 -0
  52. package/dist/vue/adapters.d.ts +37 -0
  53. package/dist/vue/async.d.cts +146 -0
  54. package/dist/vue/async.d.ts +146 -0
  55. package/dist/vue/composables/usePageWindow.d.ts +28 -0
  56. package/dist/vue/composables/usePrintExport.d.ts +19 -0
  57. package/dist/vue/composables/useZoom.d.ts +15 -0
  58. package/dist/vue/config.d.ts +79 -0
  59. package/dist/vue/index.d.cts +11 -0
  60. package/dist/vue/index.d.ts +11 -0
  61. package/dist/vue/injection-keys.d.ts +12 -0
  62. package/dist/vue/local-adapter.d.ts +12 -0
  63. package/dist/vue/pdf-exporter.d.ts +13 -0
  64. package/dist/vue/plugin.d.ts +34 -0
  65. package/dist/vue-async.cjs +1 -0
  66. package/dist/vue-async.js +17 -0
  67. package/dist/vue.cjs +1 -0
  68. package/dist/vue.js +44 -0
  69. package/package.json +44 -6
  70. package/dist/textwrap-DWzM7pt1.d.cts +0 -135
  71. package/dist/textwrap-DWzM7pt1.d.ts +0 -135
package/dist/sql.d.cts CHANGED
@@ -1,95 +1,5 @@
1
- type TokenType = "literal" | "bind" | "subst" | "if" | "escape";
2
- interface Token {
3
- type: TokenType;
4
- text: string;
5
- /** bind/subst 参数名;if 表达式源码 */
6
- value?: string;
7
- start: number;
8
- end: number;
9
- }
10
- declare class SqlSyntaxError extends Error {
11
- readonly position: number;
12
- readonly source: string;
13
- constructor(message: string, position: number, source: string);
14
- }
15
1
  /**
16
- * 扫描动态 SQL,产出 token 流:
17
- * - literal: 纯 SQL 文本(已反转义 \{ \})
18
- * - bind: #{name}
19
- * - subst: ${name}
20
- * - if: {if(expr, a, b)} —— value 为去壳后的参数串
21
- * - escape: \{ 或 \}
2
+ * 动态 SQL 子路径入口(@agile-team/mach-report/sql):
3
+ * jh4j 三语法编译 + 参数化渲染 + AST/词法双层单 SELECT 校验。
22
4
  */
23
- declare function tokenize(sql: string): Token[];
24
- /** 按顶层逗号拆分(忽略双引号内与括号/花括号内) */
25
- declare function splitTopLevel(input: string): string[];
26
-
27
- interface ExprContext {
28
- params: Record<string, unknown>;
29
- }
30
- declare class ExprError extends Error {
31
- constructor(message: string);
32
- }
33
- /**
34
- * 求值 jh4j 公式表达式(用于 {if(cond, a, b)} 的 cond 与操作数):
35
- * - #param 引用(渲染时被替换为参数值;此实现按值求值)
36
- * - "..." 字符串字面量(仅双引号,与 jh4j 一致)
37
- * - isEmpty(x)、isNotEmpty(x)
38
- * - == / != 比较
39
- * - + 拼接
40
- */
41
- declare function evalExpr(input: string, ctx: ExprContext): unknown;
42
- /** {if(cond, whenTrue, whenFalse)} 的参数拆分(2 或 3 段,兼容 jh4j 三段式) */
43
- declare function parseIfArgs(inner: string): {
44
- cond: string;
45
- whenTrue: string;
46
- whenFalse: string;
47
- };
48
-
49
- interface RenderedSql {
50
- sql: string;
51
- binds: unknown[];
52
- warnings: string[];
53
- }
54
- interface CompiledSql {
55
- original: string;
56
- /** 参数名集合(bind 与 subst 并集) */
57
- paramNames: string[];
58
- render(params: Record<string, unknown>): RenderedSql;
59
- }
60
- declare class SqlValidationError extends Error {
61
- readonly sql: string;
62
- constructor(message: string, sql: string);
63
- }
64
- declare function compileDynamicSql(source: string): CompiledSql;
65
- /**
66
- * 去注释:-- 行注释、# 行注释(仅行首/空白后,且排除 #{ 绑定占位)、/* 块注释。
67
- * 注意:此函数用于校验口径,输出会折叠空白。
68
- */
69
- declare function stripSqlComments(sql: string): string;
70
- /**
71
- * 单 SELECT 结构校验(词法层;AST 级校验见 ast-check.ts 双保险):
72
- * - 去注释后必须以 select 或 with 开头
73
- * - 语句内除末尾外不允许出现分号
74
- * - 顶层禁止 DML/DDL/调用关键字(字符串字面量内容不参与匹配)
75
- */
76
- declare function assertSingleSelect(sql: string): void;
77
- /** 便捷入口:编译 + 渲染 + 校验一体 */
78
- declare function renderDynamicSql(source: string, params: Record<string, unknown>): RenderedSql;
79
-
80
- interface AstCheckResult {
81
- ok: boolean;
82
- /** ast 深度校验是否执行(方言不支持时降级词法) */
83
- degraded: boolean;
84
- message?: string;
85
- }
86
- /**
87
- * AST 深度校验(双保险策略):
88
- * 1. node-sql-parser(MySQL 方言,支持 ? 占位符)AST 顶层必须为 SELECT/集合运算
89
- * 2. AST 通过后再叠加词法校验(MySQL 方言把 SELECT INTO 解析为别名,AST 层不可见,
90
- * 由词法层兜底拦截)
91
- * AST 解析失败(方言不兼容)自动降级为纯词法校验,返回 degraded=true。
92
- */
93
- declare function assertSingleSelectAst(sql: string): AstCheckResult;
94
-
95
- export { type AstCheckResult, type CompiledSql, type ExprContext, ExprError, type RenderedSql, SqlSyntaxError, SqlValidationError, type Token, type TokenType, assertSingleSelect, assertSingleSelectAst, compileDynamicSql, evalExpr, parseIfArgs, renderDynamicSql, splitTopLevel, stripSqlComments, tokenize };
5
+ export * from './sql/index';
package/dist/sql.d.ts CHANGED
@@ -1,95 +1,5 @@
1
- type TokenType = "literal" | "bind" | "subst" | "if" | "escape";
2
- interface Token {
3
- type: TokenType;
4
- text: string;
5
- /** bind/subst 参数名;if 表达式源码 */
6
- value?: string;
7
- start: number;
8
- end: number;
9
- }
10
- declare class SqlSyntaxError extends Error {
11
- readonly position: number;
12
- readonly source: string;
13
- constructor(message: string, position: number, source: string);
14
- }
15
1
  /**
16
- * 扫描动态 SQL,产出 token 流:
17
- * - literal: 纯 SQL 文本(已反转义 \{ \})
18
- * - bind: #{name}
19
- * - subst: ${name}
20
- * - if: {if(expr, a, b)} —— value 为去壳后的参数串
21
- * - escape: \{ 或 \}
2
+ * 动态 SQL 子路径入口(@agile-team/mach-report/sql):
3
+ * jh4j 三语法编译 + 参数化渲染 + AST/词法双层单 SELECT 校验。
22
4
  */
23
- declare function tokenize(sql: string): Token[];
24
- /** 按顶层逗号拆分(忽略双引号内与括号/花括号内) */
25
- declare function splitTopLevel(input: string): string[];
26
-
27
- interface ExprContext {
28
- params: Record<string, unknown>;
29
- }
30
- declare class ExprError extends Error {
31
- constructor(message: string);
32
- }
33
- /**
34
- * 求值 jh4j 公式表达式(用于 {if(cond, a, b)} 的 cond 与操作数):
35
- * - #param 引用(渲染时被替换为参数值;此实现按值求值)
36
- * - "..." 字符串字面量(仅双引号,与 jh4j 一致)
37
- * - isEmpty(x)、isNotEmpty(x)
38
- * - == / != 比较
39
- * - + 拼接
40
- */
41
- declare function evalExpr(input: string, ctx: ExprContext): unknown;
42
- /** {if(cond, whenTrue, whenFalse)} 的参数拆分(2 或 3 段,兼容 jh4j 三段式) */
43
- declare function parseIfArgs(inner: string): {
44
- cond: string;
45
- whenTrue: string;
46
- whenFalse: string;
47
- };
48
-
49
- interface RenderedSql {
50
- sql: string;
51
- binds: unknown[];
52
- warnings: string[];
53
- }
54
- interface CompiledSql {
55
- original: string;
56
- /** 参数名集合(bind 与 subst 并集) */
57
- paramNames: string[];
58
- render(params: Record<string, unknown>): RenderedSql;
59
- }
60
- declare class SqlValidationError extends Error {
61
- readonly sql: string;
62
- constructor(message: string, sql: string);
63
- }
64
- declare function compileDynamicSql(source: string): CompiledSql;
65
- /**
66
- * 去注释:-- 行注释、# 行注释(仅行首/空白后,且排除 #{ 绑定占位)、/* 块注释。
67
- * 注意:此函数用于校验口径,输出会折叠空白。
68
- */
69
- declare function stripSqlComments(sql: string): string;
70
- /**
71
- * 单 SELECT 结构校验(词法层;AST 级校验见 ast-check.ts 双保险):
72
- * - 去注释后必须以 select 或 with 开头
73
- * - 语句内除末尾外不允许出现分号
74
- * - 顶层禁止 DML/DDL/调用关键字(字符串字面量内容不参与匹配)
75
- */
76
- declare function assertSingleSelect(sql: string): void;
77
- /** 便捷入口:编译 + 渲染 + 校验一体 */
78
- declare function renderDynamicSql(source: string, params: Record<string, unknown>): RenderedSql;
79
-
80
- interface AstCheckResult {
81
- ok: boolean;
82
- /** ast 深度校验是否执行(方言不支持时降级词法) */
83
- degraded: boolean;
84
- message?: string;
85
- }
86
- /**
87
- * AST 深度校验(双保险策略):
88
- * 1. node-sql-parser(MySQL 方言,支持 ? 占位符)AST 顶层必须为 SELECT/集合运算
89
- * 2. AST 通过后再叠加词法校验(MySQL 方言把 SELECT INTO 解析为别名,AST 层不可见,
90
- * 由词法层兜底拦截)
91
- * AST 解析失败(方言不兼容)自动降级为纯词法校验,返回 degraded=true。
92
- */
93
- declare function assertSingleSelectAst(sql: string): AstCheckResult;
94
-
95
- export { type AstCheckResult, type CompiledSql, type ExprContext, ExprError, type RenderedSql, SqlSyntaxError, SqlValidationError, type Token, type TokenType, assertSingleSelect, assertSingleSelectAst, compileDynamicSql, evalExpr, parseIfArgs, renderDynamicSql, splitTopLevel, stripSqlComments, tokenize };
5
+ export * from './sql/index';