@crypto512/jicon-mcp 1.3.0 → 2.0.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.
- package/README.md +68 -85
- package/TOOL_LIST.md +704 -87
- package/dist/config/constants.d.ts +18 -7
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +21 -8
- package/dist/config/constants.js.map +1 -1
- package/dist/config/loader.d.ts +11 -11
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +53 -93
- package/dist/config/loader.js.map +1 -1
- package/dist/config/types.d.ts +3 -6
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +2 -4
- package/dist/config/types.js.map +1 -1
- package/dist/confluence/formatters.js +1 -1
- package/dist/confluence/formatters.js.map +1 -1
- package/dist/confluence/tools.d.ts +4 -0
- package/dist/confluence/tools.d.ts.map +1 -1
- package/dist/confluence/tools.js +180 -125
- package/dist/confluence/tools.js.map +1 -1
- package/dist/index.js +17 -26
- package/dist/index.js.map +1 -1
- package/dist/jira/formatters.d.ts +1 -0
- package/dist/jira/formatters.d.ts.map +1 -1
- package/dist/jira/formatters.js +13 -12
- package/dist/jira/formatters.js.map +1 -1
- package/dist/jira/tools.d.ts +4 -0
- package/dist/jira/tools.d.ts.map +1 -1
- package/dist/jira/tools.js +189 -50
- package/dist/jira/tools.js.map +1 -1
- package/dist/permissions/tool-registry.d.ts +2 -2
- package/dist/permissions/tool-registry.d.ts.map +1 -1
- package/dist/permissions/tool-registry.js +4 -2
- package/dist/permissions/tool-registry.js.map +1 -1
- package/dist/permissions/write-home-validator.d.ts.map +1 -1
- package/dist/permissions/write-home-validator.js +13 -3
- package/dist/permissions/write-home-validator.js.map +1 -1
- package/dist/tempo/defaults.d.ts +17 -0
- package/dist/tempo/defaults.d.ts.map +1 -0
- package/dist/tempo/defaults.js +26 -0
- package/dist/tempo/defaults.js.map +1 -0
- package/dist/tempo/tools.d.ts +5 -0
- package/dist/tempo/tools.d.ts.map +1 -1
- package/dist/tempo/tools.js +108 -34
- package/dist/tempo/tools.js.map +1 -1
- package/dist/utils/buffer-pipeline/index.d.ts +30 -0
- package/dist/utils/buffer-pipeline/index.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/index.js +317 -0
- package/dist/utils/buffer-pipeline/index.js.map +1 -0
- package/dist/utils/buffer-pipeline/output/csv.d.ts +20 -0
- package/dist/utils/buffer-pipeline/output/csv.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/output/csv.js +117 -0
- package/dist/utils/buffer-pipeline/output/csv.js.map +1 -0
- package/dist/utils/buffer-pipeline/output/json.d.ts +16 -0
- package/dist/utils/buffer-pipeline/output/json.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/output/json.js +48 -0
- package/dist/utils/buffer-pipeline/output/json.js.map +1 -0
- package/dist/utils/buffer-pipeline/output/markdown.d.ts +15 -0
- package/dist/utils/buffer-pipeline/output/markdown.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/output/markdown.js +105 -0
- package/dist/utils/buffer-pipeline/output/markdown.js.map +1 -0
- package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts +16 -0
- package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/output/xhtml-list.js +81 -0
- package/dist/utils/buffer-pipeline/output/xhtml-list.js.map +1 -0
- package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts +15 -0
- package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/output/xhtml-table.js +176 -0
- package/dist/utils/buffer-pipeline/output/xhtml-table.js.map +1 -0
- package/dist/utils/buffer-pipeline/schema.d.ts +1878 -0
- package/dist/utils/buffer-pipeline/schema.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/schema.js +168 -0
- package/dist/utils/buffer-pipeline/schema.js.map +1 -0
- package/dist/utils/buffer-pipeline/stages/filter.d.ts +32 -0
- package/dist/utils/buffer-pipeline/stages/filter.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/stages/filter.js +208 -0
- package/dist/utils/buffer-pipeline/stages/filter.js.map +1 -0
- package/dist/utils/buffer-pipeline/stages/format.d.ts +45 -0
- package/dist/utils/buffer-pipeline/stages/format.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/stages/format.js +160 -0
- package/dist/utils/buffer-pipeline/stages/format.js.map +1 -0
- package/dist/utils/buffer-pipeline/stages/group-by.d.ts +25 -0
- package/dist/utils/buffer-pipeline/stages/group-by.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/stages/group-by.js +190 -0
- package/dist/utils/buffer-pipeline/stages/group-by.js.map +1 -0
- package/dist/utils/buffer-pipeline/stages/select.d.ts +54 -0
- package/dist/utils/buffer-pipeline/stages/select.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/stages/select.js +228 -0
- package/dist/utils/buffer-pipeline/stages/select.js.map +1 -0
- package/dist/utils/buffer-pipeline/stages/sort.d.ts +20 -0
- package/dist/utils/buffer-pipeline/stages/sort.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/stages/sort.js +96 -0
- package/dist/utils/buffer-pipeline/stages/sort.js.map +1 -0
- package/dist/utils/buffer-pipeline/types.d.ts +277 -0
- package/dist/utils/buffer-pipeline/types.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/types.js +8 -0
- package/dist/utils/buffer-pipeline/types.js.map +1 -0
- package/dist/utils/buffer-tools.d.ts +749 -19
- package/dist/utils/buffer-tools.d.ts.map +1 -1
- package/dist/utils/buffer-tools.js +738 -491
- package/dist/utils/buffer-tools.js.map +1 -1
- package/dist/utils/content-buffer.d.ts +55 -4
- package/dist/utils/content-buffer.d.ts.map +1 -1
- package/dist/utils/content-buffer.js +107 -9
- package/dist/utils/content-buffer.js.map +1 -1
- package/dist/utils/jicon-help.d.ts +1 -1
- package/dist/utils/jicon-help.d.ts.map +1 -1
- package/dist/utils/jicon-help.js +253 -28
- package/dist/utils/jicon-help.js.map +1 -1
- package/dist/utils/json-structure.d.ts +121 -0
- package/dist/utils/json-structure.d.ts.map +1 -0
- package/dist/utils/json-structure.js +637 -0
- package/dist/utils/json-structure.js.map +1 -0
- package/dist/utils/plantuml/include-expander.d.ts +31 -30
- package/dist/utils/plantuml/include-expander.d.ts.map +1 -1
- package/dist/utils/plantuml/include-expander.js +167 -133
- package/dist/utils/plantuml/include-expander.js.map +1 -1
- package/dist/utils/plantuml/index.d.ts +3 -3
- package/dist/utils/plantuml/index.d.ts.map +1 -1
- package/dist/utils/plantuml/index.js +4 -4
- package/dist/utils/plantuml/index.js.map +1 -1
- package/dist/utils/plantuml/service.d.ts +13 -24
- package/dist/utils/plantuml/service.d.ts.map +1 -1
- package/dist/utils/plantuml/service.js +49 -99
- package/dist/utils/plantuml/service.js.map +1 -1
- package/dist/utils/plantuml/tools.d.ts.map +1 -1
- package/dist/utils/plantuml/tools.js +33 -72
- package/dist/utils/plantuml/tools.js.map +1 -1
- package/dist/utils/plantuml/types.d.ts +1 -35
- package/dist/utils/plantuml/types.d.ts.map +1 -1
- package/dist/utils/plantuml/types.js +1 -11
- package/dist/utils/plantuml/types.js.map +1 -1
- package/dist/utils/plantuml/validation-helper.d.ts +1 -1
- package/dist/utils/plantuml/validation-helper.js +12 -12
- package/dist/utils/plantuml/validation-helper.js.map +1 -1
- package/dist/utils/response-formatter.d.ts +61 -6
- package/dist/utils/response-formatter.d.ts.map +1 -1
- package/dist/utils/response-formatter.js +174 -91
- package/dist/utils/response-formatter.js.map +1 -1
- package/dist/utils/url-tools.d.ts.map +1 -1
- package/dist/utils/url-tools.js +22 -0
- package/dist/utils/url-tools.js.map +1 -1
- package/dist/utils/xhtml/error-locator.js +2 -2
- package/dist/utils/xhtml/error-locator.js.map +1 -1
- package/dist/utils/xhtml/index.d.ts +1 -1
- package/dist/utils/xhtml/index.d.ts.map +1 -1
- package/dist/utils/xhtml/index.js +1 -1
- package/dist/utils/xhtml/index.js.map +1 -1
- package/dist/utils/xhtml/parser.d.ts +34 -5
- package/dist/utils/xhtml/parser.d.ts.map +1 -1
- package/dist/utils/xhtml/parser.js +66 -11
- package/dist/utils/xhtml/parser.js.map +1 -1
- package/dist/utils/xhtml/plantuml.d.ts.map +1 -1
- package/dist/utils/xhtml/plantuml.js +5 -3
- package/dist/utils/xhtml/plantuml.js.map +1 -1
- package/dist/utils/xhtml/serializer.d.ts.map +1 -1
- package/dist/utils/xhtml/serializer.js +12 -15
- package/dist/utils/xhtml/serializer.js.map +1 -1
- package/package.json +12 -4
- package/crypto512-jicon-mcp-1.3.0.tgz +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/buffer-pipeline/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Buffer Pipeline Zod Schemas
|
|
3
|
+
*
|
|
4
|
+
* Validation schemas for pipeline definitions.
|
|
5
|
+
* Used by the buffer_pipeline tool for input validation.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
// Field mapping schema - accepts both 'from' and 'field' (alias) for source path
|
|
9
|
+
export const FieldMappingSchema = z
|
|
10
|
+
.object({
|
|
11
|
+
from: z.string().optional().describe("Source field path (e.g., 'key', 'priority.name', 'fields.customfield_10001')"),
|
|
12
|
+
field: z.string().optional().describe("Alias for 'from' - source field path"),
|
|
13
|
+
as: z.string().optional().describe("Output field name (default: last segment of path)"),
|
|
14
|
+
transform: z
|
|
15
|
+
.enum(["uppercase", "lowercase", "date", "number", "boolean", "string"])
|
|
16
|
+
.optional()
|
|
17
|
+
.describe("Transform value before output"),
|
|
18
|
+
})
|
|
19
|
+
.refine((data) => data.from || data.field, { message: "Either 'from' or 'field' is required. Example: {\"from\": \"key\", \"as\": \"issueKey\"}" })
|
|
20
|
+
.transform((data) => ({
|
|
21
|
+
// Normalize: prefer 'from', fall back to 'field'
|
|
22
|
+
from: data.from || data.field,
|
|
23
|
+
as: data.as,
|
|
24
|
+
transform: data.transform,
|
|
25
|
+
}));
|
|
26
|
+
// Filter operator enum
|
|
27
|
+
export const FilterOperatorSchema = z.enum([
|
|
28
|
+
"eq",
|
|
29
|
+
"ne",
|
|
30
|
+
"gt",
|
|
31
|
+
"lt",
|
|
32
|
+
"gte",
|
|
33
|
+
"lte",
|
|
34
|
+
"contains",
|
|
35
|
+
"startsWith",
|
|
36
|
+
"endsWith",
|
|
37
|
+
"in",
|
|
38
|
+
"notIn",
|
|
39
|
+
"exists",
|
|
40
|
+
"notExists",
|
|
41
|
+
"regex",
|
|
42
|
+
"empty",
|
|
43
|
+
"notEmpty",
|
|
44
|
+
]);
|
|
45
|
+
// Filter condition schema (recursive for OR)
|
|
46
|
+
export const FilterConditionSchema = z.object({
|
|
47
|
+
field: z.string().describe("Field path to filter on"),
|
|
48
|
+
operator: FilterOperatorSchema.describe("Comparison operator"),
|
|
49
|
+
value: z.unknown().optional().describe("Value to compare against"),
|
|
50
|
+
or: z
|
|
51
|
+
.array(z.lazy(() => FilterConditionSchema))
|
|
52
|
+
.optional()
|
|
53
|
+
.describe("Nested OR conditions"),
|
|
54
|
+
});
|
|
55
|
+
// Aggregation function enum
|
|
56
|
+
export const AggregationFunctionSchema = z.enum([
|
|
57
|
+
"count",
|
|
58
|
+
"sum",
|
|
59
|
+
"avg",
|
|
60
|
+
"min",
|
|
61
|
+
"max",
|
|
62
|
+
"first",
|
|
63
|
+
"last",
|
|
64
|
+
"list",
|
|
65
|
+
"unique",
|
|
66
|
+
]);
|
|
67
|
+
// Aggregation schema
|
|
68
|
+
export const AggregationSchema = z.object({
|
|
69
|
+
function: AggregationFunctionSchema.describe("Aggregation function"),
|
|
70
|
+
field: z.string().optional().describe("Field to aggregate (required for sum/avg/min/max)"),
|
|
71
|
+
as: z.string().describe("Output field name"),
|
|
72
|
+
});
|
|
73
|
+
// Group by schema
|
|
74
|
+
export const GroupBySchema = z.object({
|
|
75
|
+
field: z.string().describe("Field to group by"),
|
|
76
|
+
aggregations: z.array(AggregationSchema).min(1).describe("Aggregations to compute per group"),
|
|
77
|
+
});
|
|
78
|
+
// Sort schema
|
|
79
|
+
export const SortSchema = z.object({
|
|
80
|
+
field: z.string().describe("Field to sort by"),
|
|
81
|
+
direction: z.enum(["asc", "desc"]).default("asc").describe("Sort direction"),
|
|
82
|
+
});
|
|
83
|
+
// Style schema
|
|
84
|
+
export const StyleSchema = z.object({
|
|
85
|
+
cssClass: z.string().optional().describe("CSS class to apply"),
|
|
86
|
+
prefix: z.string().optional().describe("Text prefix"),
|
|
87
|
+
suffix: z.string().optional().describe("Text suffix"),
|
|
88
|
+
color: z.string().optional().describe("Text color (hex or named)"),
|
|
89
|
+
backgroundColor: z.string().optional().describe("Background color"),
|
|
90
|
+
bold: z.boolean().optional().describe("Bold text"),
|
|
91
|
+
italic: z.boolean().optional().describe("Italic text"),
|
|
92
|
+
icon: z.string().optional().describe("Icon to display (emoji or text)"),
|
|
93
|
+
});
|
|
94
|
+
// Conditional format schema
|
|
95
|
+
export const ConditionalFormatSchema = z.object({
|
|
96
|
+
condition: FilterConditionSchema.describe("Condition that triggers this format"),
|
|
97
|
+
style: StyleSchema.describe("Style to apply when condition matches"),
|
|
98
|
+
fields: z.array(z.string()).optional().describe("Fields to apply style to (default: all)"),
|
|
99
|
+
});
|
|
100
|
+
// Link schema
|
|
101
|
+
export const LinkSchema = z.object({
|
|
102
|
+
type: z.enum(["jira", "confluence", "tempo", "custom"]).describe("Link type"),
|
|
103
|
+
template: z.string().optional().describe("Custom URL template with {{field}} placeholders"),
|
|
104
|
+
});
|
|
105
|
+
// Table column schema
|
|
106
|
+
export const TableColumnSchema = z.object({
|
|
107
|
+
field: z.string().describe("Field name in data"),
|
|
108
|
+
header: z.string().describe("Column header text"),
|
|
109
|
+
link: LinkSchema.optional().describe("Link configuration"),
|
|
110
|
+
width: z.string().optional().describe("CSS width (e.g., '100px', '20%')"),
|
|
111
|
+
align: z.enum(["left", "center", "right"]).optional().describe("Text alignment"),
|
|
112
|
+
});
|
|
113
|
+
// Table output schema
|
|
114
|
+
export const TableOutputSchema = z.object({
|
|
115
|
+
title: z.string().optional().describe("Table title"),
|
|
116
|
+
columns: z.array(TableColumnSchema).min(1).describe("Column definitions"),
|
|
117
|
+
showRowNumbers: z.boolean().optional().describe("Show row numbers"),
|
|
118
|
+
tableClass: z.string().optional().describe("CSS class for table"),
|
|
119
|
+
});
|
|
120
|
+
// List output schema
|
|
121
|
+
export const ListOutputSchema = z.object({
|
|
122
|
+
title: z.string().optional().describe("List title"),
|
|
123
|
+
template: z.string().describe("Template with {{field}} placeholders"),
|
|
124
|
+
style: z.enum(["bullet", "numbered", "none"]).optional().describe("List style"),
|
|
125
|
+
});
|
|
126
|
+
// Output type enum
|
|
127
|
+
export const OutputTypeSchema = z.enum(["xhtml_table", "xhtml_list", "json", "csv", "markdown"]);
|
|
128
|
+
// Output schema
|
|
129
|
+
export const OutputSchema = z
|
|
130
|
+
.object({
|
|
131
|
+
type: OutputTypeSchema.describe("Output format type"),
|
|
132
|
+
table: TableOutputSchema.optional().describe("Table configuration (for xhtml_table)"),
|
|
133
|
+
list: ListOutputSchema.optional().describe("List configuration (for xhtml_list)"),
|
|
134
|
+
includeMetadata: z.boolean().optional().describe("Include metadata in output"),
|
|
135
|
+
})
|
|
136
|
+
.refine((data) => {
|
|
137
|
+
if (data.type === "xhtml_table" && !data.table) {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
if (data.type === "xhtml_list" && !data.list) {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
return true;
|
|
144
|
+
}, {
|
|
145
|
+
message: "Table configuration required for xhtml_table, list configuration required for xhtml_list",
|
|
146
|
+
});
|
|
147
|
+
// Select schema - note: select is an OBJECT with a 'fields' array, not a direct array
|
|
148
|
+
// Example: { "select": { "fields": [{"from": "key"}, {"from": "priority.name", "as": "Priority"}] } }
|
|
149
|
+
export const SelectSchema = z.object({
|
|
150
|
+
fields: z.array(FieldMappingSchema).min(1).describe("Fields to include in output. Each field has: from (source path), as (output name, optional), transform (optional)"),
|
|
151
|
+
});
|
|
152
|
+
// Complete pipeline schema - strict mode rejects unknown keys like "transform", "operations"
|
|
153
|
+
export const PipelineSchema = z.object({
|
|
154
|
+
select: SelectSchema.optional().describe("Field selection (like SQL SELECT)"),
|
|
155
|
+
filter: z.array(FilterConditionSchema).optional().describe("Filtering (like SQL WHERE)"),
|
|
156
|
+
groupBy: GroupBySchema.optional().describe("Grouping and aggregation (like SQL GROUP BY)"),
|
|
157
|
+
sort: z.array(SortSchema).optional().describe("Sorting (like SQL ORDER BY)"),
|
|
158
|
+
limit: z.number().positive().optional().describe("Limit results"),
|
|
159
|
+
format: z.array(ConditionalFormatSchema).optional().describe("Conditional formatting rules"),
|
|
160
|
+
output: OutputSchema.describe("Output configuration (required)"),
|
|
161
|
+
}).strict();
|
|
162
|
+
// Tool input schema
|
|
163
|
+
export const BufferPipelineInputSchema = z.object({
|
|
164
|
+
sourceBufferId: z.string().describe("Source JSON array buffer ID"),
|
|
165
|
+
pipeline: PipelineSchema.describe("Pipeline definition"),
|
|
166
|
+
dryRun: z.boolean().optional().describe("Preview pipeline without executing (returns plan only)"),
|
|
167
|
+
});
|
|
168
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/utils/buffer-pipeline/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter Stage
|
|
3
|
+
*
|
|
4
|
+
* Evaluates filter conditions against items.
|
|
5
|
+
* Supports various operators and nested OR conditions.
|
|
6
|
+
*/
|
|
7
|
+
import type { FilterCondition } from "../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Evaluate a single filter condition against an item
|
|
10
|
+
*/
|
|
11
|
+
export declare function evaluateCondition(item: unknown, condition: FilterCondition): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Evaluate multiple filter conditions (AND-ed together)
|
|
14
|
+
*/
|
|
15
|
+
export declare function evaluateConditions(item: unknown, conditions: FilterCondition[]): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Apply filter stage to all items
|
|
18
|
+
* Returns items that match all conditions
|
|
19
|
+
*/
|
|
20
|
+
export declare function executeFilter(items: Record<string, unknown>[], conditions?: FilterCondition[]): Record<string, unknown>[];
|
|
21
|
+
/**
|
|
22
|
+
* Get field values used in filter conditions (for error messages)
|
|
23
|
+
*/
|
|
24
|
+
export declare function getFilterFields(conditions: FilterCondition[]): string[];
|
|
25
|
+
/**
|
|
26
|
+
* Validate filter conditions and return errors if any fields don't exist
|
|
27
|
+
*/
|
|
28
|
+
export declare function validateFilterConditions(items: unknown[], conditions: FilterCondition[]): {
|
|
29
|
+
valid: boolean;
|
|
30
|
+
errors: string[];
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/utils/buffer-pipeline/stages/filter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAC;AAmJnE;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,eAAe,GACzB,OAAO,CAcT;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,eAAe,EAAE,GAC5B,OAAO,CAKT;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAChC,UAAU,CAAC,EAAE,eAAe,EAAE,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAM3B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,CAWvE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EAAE,EAChB,UAAU,EAAE,eAAe,EAAE,GAC5B;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAgCtC"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter Stage
|
|
3
|
+
*
|
|
4
|
+
* Evaluates filter conditions against items.
|
|
5
|
+
* Supports various operators and nested OR conditions.
|
|
6
|
+
*/
|
|
7
|
+
import { getFieldValue } from "./select.js";
|
|
8
|
+
/**
|
|
9
|
+
* Compare two values for equality (loose comparison)
|
|
10
|
+
* Handles type coercion for strings/numbers
|
|
11
|
+
*/
|
|
12
|
+
function looseEqual(a, b) {
|
|
13
|
+
if (a === b)
|
|
14
|
+
return true;
|
|
15
|
+
if (a === null || a === undefined)
|
|
16
|
+
return b === null || b === undefined;
|
|
17
|
+
if (b === null || b === undefined)
|
|
18
|
+
return false;
|
|
19
|
+
// String/number comparison
|
|
20
|
+
if (typeof a === "string" && typeof b === "number") {
|
|
21
|
+
return a === String(b);
|
|
22
|
+
}
|
|
23
|
+
if (typeof a === "number" && typeof b === "string") {
|
|
24
|
+
return String(a) === b;
|
|
25
|
+
}
|
|
26
|
+
// Case-insensitive string comparison
|
|
27
|
+
if (typeof a === "string" && typeof b === "string") {
|
|
28
|
+
return a.toLowerCase() === b.toLowerCase();
|
|
29
|
+
}
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Compare two values numerically
|
|
34
|
+
*/
|
|
35
|
+
function compareNumeric(a, b) {
|
|
36
|
+
const numA = typeof a === "number" ? a : parseFloat(String(a));
|
|
37
|
+
const numB = typeof b === "number" ? b : parseFloat(String(b));
|
|
38
|
+
if (isNaN(numA) || isNaN(numB)) {
|
|
39
|
+
// Fall back to string comparison
|
|
40
|
+
return String(a).localeCompare(String(b));
|
|
41
|
+
}
|
|
42
|
+
return numA - numB;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Check if a value matches a regular expression
|
|
46
|
+
*/
|
|
47
|
+
function matchesRegex(value, pattern) {
|
|
48
|
+
if (typeof pattern !== "string")
|
|
49
|
+
return false;
|
|
50
|
+
try {
|
|
51
|
+
const regex = new RegExp(pattern, "i");
|
|
52
|
+
return regex.test(String(value));
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Invalid regex - treat as literal match
|
|
56
|
+
return String(value).includes(String(pattern));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Check if a value is in an array
|
|
61
|
+
*/
|
|
62
|
+
function isInArray(value, array) {
|
|
63
|
+
if (!Array.isArray(array))
|
|
64
|
+
return false;
|
|
65
|
+
return array.some((item) => looseEqual(value, item));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Check if a value is empty
|
|
69
|
+
*/
|
|
70
|
+
function isEmpty(value) {
|
|
71
|
+
if (value === null || value === undefined)
|
|
72
|
+
return true;
|
|
73
|
+
if (typeof value === "string")
|
|
74
|
+
return value.trim().length === 0;
|
|
75
|
+
if (Array.isArray(value))
|
|
76
|
+
return value.length === 0;
|
|
77
|
+
if (typeof value === "object")
|
|
78
|
+
return Object.keys(value).length === 0;
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Evaluate a single operator against field value
|
|
83
|
+
*/
|
|
84
|
+
function evaluateOperator(fieldValue, operator, conditionValue) {
|
|
85
|
+
switch (operator) {
|
|
86
|
+
case "eq":
|
|
87
|
+
return looseEqual(fieldValue, conditionValue);
|
|
88
|
+
case "ne":
|
|
89
|
+
return !looseEqual(fieldValue, conditionValue);
|
|
90
|
+
case "gt":
|
|
91
|
+
return compareNumeric(fieldValue, conditionValue) > 0;
|
|
92
|
+
case "lt":
|
|
93
|
+
return compareNumeric(fieldValue, conditionValue) < 0;
|
|
94
|
+
case "gte":
|
|
95
|
+
return compareNumeric(fieldValue, conditionValue) >= 0;
|
|
96
|
+
case "lte":
|
|
97
|
+
return compareNumeric(fieldValue, conditionValue) <= 0;
|
|
98
|
+
case "contains":
|
|
99
|
+
if (typeof fieldValue === "string" && typeof conditionValue === "string") {
|
|
100
|
+
return fieldValue.toLowerCase().includes(conditionValue.toLowerCase());
|
|
101
|
+
}
|
|
102
|
+
if (Array.isArray(fieldValue)) {
|
|
103
|
+
return fieldValue.some((item) => looseEqual(item, conditionValue));
|
|
104
|
+
}
|
|
105
|
+
return String(fieldValue).toLowerCase().includes(String(conditionValue).toLowerCase());
|
|
106
|
+
case "startsWith":
|
|
107
|
+
return String(fieldValue).toLowerCase().startsWith(String(conditionValue).toLowerCase());
|
|
108
|
+
case "endsWith":
|
|
109
|
+
return String(fieldValue).toLowerCase().endsWith(String(conditionValue).toLowerCase());
|
|
110
|
+
case "in":
|
|
111
|
+
return isInArray(fieldValue, conditionValue);
|
|
112
|
+
case "notIn":
|
|
113
|
+
return !isInArray(fieldValue, conditionValue);
|
|
114
|
+
case "exists":
|
|
115
|
+
return fieldValue !== null && fieldValue !== undefined;
|
|
116
|
+
case "notExists":
|
|
117
|
+
return fieldValue === null || fieldValue === undefined;
|
|
118
|
+
case "regex":
|
|
119
|
+
return matchesRegex(fieldValue, conditionValue);
|
|
120
|
+
case "empty":
|
|
121
|
+
return isEmpty(fieldValue);
|
|
122
|
+
case "notEmpty":
|
|
123
|
+
return !isEmpty(fieldValue);
|
|
124
|
+
default:
|
|
125
|
+
// Unknown operator - treat as false
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Evaluate a single filter condition against an item
|
|
131
|
+
*/
|
|
132
|
+
export function evaluateCondition(item, condition) {
|
|
133
|
+
const fieldValue = getFieldValue(item, condition.field);
|
|
134
|
+
const result = evaluateOperator(fieldValue, condition.operator, condition.value);
|
|
135
|
+
// Handle OR conditions
|
|
136
|
+
if (condition.or && condition.or.length > 0) {
|
|
137
|
+
// Current condition AND (OR of nested conditions)
|
|
138
|
+
const orResult = condition.or.some((orCondition) => evaluateCondition(item, orCondition));
|
|
139
|
+
return result || orResult;
|
|
140
|
+
}
|
|
141
|
+
return result;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Evaluate multiple filter conditions (AND-ed together)
|
|
145
|
+
*/
|
|
146
|
+
export function evaluateConditions(item, conditions) {
|
|
147
|
+
if (conditions.length === 0)
|
|
148
|
+
return true;
|
|
149
|
+
// All conditions must match (AND)
|
|
150
|
+
return conditions.every((condition) => evaluateCondition(item, condition));
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Apply filter stage to all items
|
|
154
|
+
* Returns items that match all conditions
|
|
155
|
+
*/
|
|
156
|
+
export function executeFilter(items, conditions) {
|
|
157
|
+
if (!conditions || conditions.length === 0) {
|
|
158
|
+
return items;
|
|
159
|
+
}
|
|
160
|
+
return items.filter((item) => evaluateConditions(item, conditions));
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Get field values used in filter conditions (for error messages)
|
|
164
|
+
*/
|
|
165
|
+
export function getFilterFields(conditions) {
|
|
166
|
+
const fields = [];
|
|
167
|
+
for (const condition of conditions) {
|
|
168
|
+
fields.push(condition.field);
|
|
169
|
+
if (condition.or) {
|
|
170
|
+
fields.push(...getFilterFields(condition.or));
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return [...new Set(fields)];
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Validate filter conditions and return errors if any fields don't exist
|
|
177
|
+
*/
|
|
178
|
+
export function validateFilterConditions(items, conditions) {
|
|
179
|
+
const errors = [];
|
|
180
|
+
if (items.length === 0) {
|
|
181
|
+
return { valid: true, errors: [] };
|
|
182
|
+
}
|
|
183
|
+
const sampleItem = items[0];
|
|
184
|
+
const fields = getFilterFields(conditions);
|
|
185
|
+
for (const field of fields) {
|
|
186
|
+
const value = getFieldValue(sampleItem, field);
|
|
187
|
+
// Only warn if field is completely missing (undefined)
|
|
188
|
+
// null is a valid value to filter on
|
|
189
|
+
if (value === undefined) {
|
|
190
|
+
// Check if it's a nested path and parent exists
|
|
191
|
+
const parts = field.split(".");
|
|
192
|
+
if (parts.length > 1) {
|
|
193
|
+
const parent = getFieldValue(sampleItem, parts.slice(0, -1).join("."));
|
|
194
|
+
if (parent === undefined) {
|
|
195
|
+
errors.push(`Field '${field}' not found (parent path doesn't exist)`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
errors.push(`Field '${field}' not found`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return {
|
|
204
|
+
valid: errors.length === 0,
|
|
205
|
+
errors,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../src/utils/buffer-pipeline/stages/filter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;GAGG;AACH,SAAS,UAAU,CAAC,CAAU,EAAE,CAAU;IACxC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC;IACxE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAEhD,2BAA2B;IAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,qCAAqC;IACrC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,CAAU,EAAE,CAAU;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/D,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,iCAAiC;QACjC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,GAAG,IAAI,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,KAAc,EAAE,OAAgB;IACpD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;QACzC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,KAAc,EAAE,KAAc;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAExC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;IAChE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,UAAmB,EACnB,QAAwB,EACxB,cAAuB;IAEvB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,IAAI;YACP,OAAO,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAEhD,KAAK,IAAI;YACP,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAEjD,KAAK,IAAI;YACP,OAAO,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;QAExD,KAAK,IAAI;YACP,OAAO,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;QAExD,KAAK,KAAK;YACR,OAAO,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;QAEzD,KAAK,KAAK;YACR,OAAO,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;QAEzD,KAAK,UAAU;YACb,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;gBACzE,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAEzF,KAAK,YAAY;YACf,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAE3F,KAAK,UAAU;YACb,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAEzF,KAAK,IAAI;YACP,OAAO,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE/C,KAAK,OAAO;YACV,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAEhD,KAAK,QAAQ;YACX,OAAO,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,CAAC;QAEzD,KAAK,WAAW;YACd,OAAO,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,CAAC;QAEzD,KAAK,OAAO;YACV,OAAO,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAElD,KAAK,OAAO;YACV,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;QAE7B,KAAK,UAAU;YACb,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE9B;YACE,oCAAoC;YACpC,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAa,EACb,SAA0B;IAE1B,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAEjF,uBAAuB;IACvB,IAAI,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,kDAAkD;QAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CACjD,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CACrC,CAAC;QACF,OAAO,MAAM,IAAI,QAAQ,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAa,EACb,UAA6B;IAE7B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,kCAAkC;IAClC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAgC,EAChC,UAA8B;IAE9B,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,UAA6B;IAC3D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAgB,EAChB,UAA6B;IAE7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/C,uDAAuD;QACvD,qCAAqC;QACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,gDAAgD;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,yCAAyC,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;KACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format Stage
|
|
3
|
+
*
|
|
4
|
+
* Applies conditional formatting rules to items.
|
|
5
|
+
* Used by output generators to style cells/elements based on conditions.
|
|
6
|
+
*/
|
|
7
|
+
import type { ConditionalFormat, FormattedItem, StyleConfig } from "../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Evaluate format rules against an item and return applicable styles
|
|
10
|
+
*/
|
|
11
|
+
export declare function evaluateFormats(item: Record<string, unknown>, formats: ConditionalFormat[]): {
|
|
12
|
+
/** Styles to apply per field */
|
|
13
|
+
fieldStyles: Map<string, StyleConfig>;
|
|
14
|
+
/** Row-level style (merged from all matching rules) */
|
|
15
|
+
rowStyle: StyleConfig;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Merge two styles, with later style taking precedence
|
|
19
|
+
*/
|
|
20
|
+
export declare function mergeStyles(base: StyleConfig, override: StyleConfig): StyleConfig;
|
|
21
|
+
/**
|
|
22
|
+
* Execute format stage - annotates items with formatting info
|
|
23
|
+
*/
|
|
24
|
+
export declare function executeFormat(items: Record<string, unknown>[], formats?: ConditionalFormat[]): FormattedItem[];
|
|
25
|
+
/**
|
|
26
|
+
* Convert style to inline CSS string
|
|
27
|
+
*/
|
|
28
|
+
export declare function styleToInlineCss(style: StyleConfig): string;
|
|
29
|
+
/**
|
|
30
|
+
* Apply text decorations (prefix, suffix, icon) to a value
|
|
31
|
+
*/
|
|
32
|
+
export declare function applyTextDecorations(value: string, style: StyleConfig): string;
|
|
33
|
+
/**
|
|
34
|
+
* Get the effective style for a field, merging row style and field-specific style
|
|
35
|
+
*/
|
|
36
|
+
export declare function getEffectiveStyle(item: FormattedItem, field: string): StyleConfig;
|
|
37
|
+
/**
|
|
38
|
+
* Format a cell value with styling for XHTML output
|
|
39
|
+
*/
|
|
40
|
+
export declare function formatCellXhtml(value: unknown, style: StyleConfig): string;
|
|
41
|
+
/**
|
|
42
|
+
* Escape XML special characters
|
|
43
|
+
*/
|
|
44
|
+
export declare function escapeXml(str: string): string;
|
|
45
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../src/utils/buffer-pipeline/stages/format.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGjF;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,iBAAiB,EAAE,GAC3B;IACD,gCAAgC;IAChC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,uDAAuD;IACvD,QAAQ,EAAE,WAAW,CAAC;CACvB,CAoBA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAG,WAAW,CAKjF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAChC,OAAO,CAAC,EAAE,iBAAiB,EAAE,GAC5B,aAAa,EAAE,CAiBjB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAiB3D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,WAAW,GACjB,MAAM,CAcR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,MAAM,GACZ,WAAW,CAkBb;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,WAAW,GACjB,MAAM,CAiCR;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7C"}
|