@myrmidon/gve-snapshot-rendition 2.0.5 → 2.0.6

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 (59) hide show
  1. package/dist/adapter/data-feature-adapter.d.ts +2 -3
  2. package/dist/animation/animation-engine.d.ts +0 -13
  3. package/dist/core/gve-snapshot-rendition.d.ts +71 -30
  4. package/dist/hint-designer/gve-hint-designer.d.ts +11 -1
  5. package/dist/index.cjs.min.js +1 -1
  6. package/dist/index.cjs.min.js.map +1 -1
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.js +2 -2
  9. package/dist/index.js.map +1 -1
  10. package/dist/models.d.ts +21 -50
  11. package/dist/rendering/feature-resolver.d.ts +10 -10
  12. package/dist/rendering/hint-renderer.d.ts +6 -12
  13. package/dist/rendering/svg-utils.d.ts +23 -2
  14. package/dist/rendering/text-layout.d.ts +29 -4
  15. package/dist/rendering/text-renderer.d.ts +22 -14
  16. package/dist/settings/hint-models.d.ts +0 -5
  17. package/dist/settings/settings.d.ts +0 -4
  18. package/dist/ui/details-area.d.ts +31 -0
  19. package/dist/ui/hilites.d.ts +3 -9
  20. package/dist/ui/operation-summary-service.d.ts +4 -7
  21. package/dist/ui/toolbar.d.ts +10 -0
  22. package/dist/utils/feature-utils.d.ts +7 -3
  23. package/package.json +82 -73
  24. package/dist/rendering/spreading-engine.d.ts +0 -98
  25. package/dist/src/adapter/adapter-models.d.ts +0 -171
  26. package/dist/src/adapter/data-feature-adapter.d.ts +0 -30
  27. package/dist/src/adapter/feature-adapter.d.ts +0 -34
  28. package/dist/src/adapter/index.d.ts +0 -6
  29. package/dist/src/adapter/matcher.d.ts +0 -38
  30. package/dist/src/adapter/parser.d.ts +0 -58
  31. package/dist/src/adapter/tokenizer.d.ts +0 -55
  32. package/dist/src/animation/animation-engine.d.ts +0 -105
  33. package/dist/src/animation/animation-factory.d.ts +0 -49
  34. package/dist/src/core/color-palette.d.ts +0 -39
  35. package/dist/src/core/gve-snapshot-rendition.d.ts +0 -359
  36. package/dist/src/core/logger.d.ts +0 -37
  37. package/dist/src/hint-designer/gve-hint-designer.d.ts +0 -356
  38. package/dist/src/hint-designer/hint-designer-models.d.ts +0 -32
  39. package/dist/src/index.d.ts +0 -17
  40. package/dist/src/models.d.ts +0 -171
  41. package/dist/src/rendering/bounds-cache.d.ts +0 -62
  42. package/dist/src/rendering/feature-resolver.d.ts +0 -98
  43. package/dist/src/rendering/hint-renderer.d.ts +0 -103
  44. package/dist/src/rendering/svg-utils.d.ts +0 -133
  45. package/dist/src/rendering/text-layout.d.ts +0 -100
  46. package/dist/src/rendering/text-renderer.d.ts +0 -81
  47. package/dist/src/settings/hint-models.d.ts +0 -61
  48. package/dist/src/settings/settings.d.ts +0 -118
  49. package/dist/src/ui/details-area.d.ts +0 -112
  50. package/dist/src/ui/hilites.d.ts +0 -63
  51. package/dist/src/ui/operation-summary-service.d.ts +0 -73
  52. package/dist/src/ui/toolbar.d.ts +0 -141
  53. package/dist/src/ui/version-text-area.d.ts +0 -131
  54. package/dist/src/ui/versions-list-area.d.ts +0 -88
  55. package/dist/src/utils/color-palette.d.ts +0 -36
  56. package/dist/src/utils/feature-utils.d.ts +0 -80
  57. package/dist/src/utils/node-utils.d.ts +0 -47
  58. package/dist/src/utils/text-utils.d.ts +0 -35
  59. /package/dist/{src/layout → layout}/golden-layout-styles.d.ts +0 -0
package/package.json CHANGED
@@ -1,73 +1,82 @@
1
- {
2
- "name": "@myrmidon/gve-snapshot-rendition",
3
- "version": "2.0.5",
4
- "homepage": "https://github.com/vedph/gve-snapshot-rendition",
5
- "repository": {
6
- "type": "git",
7
- "url": "https://github.com/vedph/gve-snapshot-rendition"
8
- },
9
- "author": "Daniele Fusi",
10
- "license": "",
11
- "description": "Web components for rendering interactive text transformations with hint designer. This package is an early version published for internal evaluation and staging use only. A final open-source license will be published later.",
12
- "keywords": [
13
- "snapshot",
14
- "rendition",
15
- "VEdition",
16
- "genetic-philology",
17
- "hint-designer",
18
- "text-transformation"
19
- ],
20
- "main": "./dist/index.js",
21
- "type": "module",
22
- "types": "./dist/index.d.ts",
23
- "exports": {
24
- ".": {
25
- "import": "./dist/index.js",
26
- "types": "./dist/index.d.ts"
27
- }
28
- },
29
- "files": [
30
- "dist",
31
- "README.md",
32
- "LICENSE"
33
- ],
34
- "dependencies": {
35
- "fast-diff": "^1.3.0",
36
- "feather-icons": "^4.29.2",
37
- "golden-layout": "^2.6.0",
38
- "gsap": "^3.15.0",
39
- "highlight.js": "^11.11.1",
40
- "svg-pan-zoom": "^3.6.2",
41
- "tslib": "^2.8.1",
42
- "typescript": "^6.0.3"
43
- },
44
- "devDependencies": {
45
- "@rollup/plugin-commonjs": "^29.0.3",
46
- "@rollup/plugin-node-resolve": "^16.0.3",
47
- "@rollup/plugin-replace": "^6.0.3",
48
- "@rollup/plugin-terser": "^1.0.0",
49
- "@rollup/plugin-typescript": "^12.3.0",
50
- "@vitest/ui": "^4.1.9",
51
- "concurrency": "^0.1.4",
52
- "concurrently": "^10.0.3",
53
- "lite-server": "^2.6.1",
54
- "rollup": "^4.62.2",
55
- "source-map-loader": "^5.0.0",
56
- "ts-loader": "^9.6.2",
57
- "typescript": "^6.0.3",
58
- "vitest": "^4.1.9"
59
- },
60
- "optionalDependencies": {
61
- "@rollup/rollup-win32-arm64-msvc": "^4.62.2"
62
- },
63
- "scripts": {
64
- "build": "rollup -c",
65
- "watch": "rollup -c -w",
66
- "start": "concurrently \"rollup -c -w\" \"lite-server\"",
67
- "start:designer": "concurrently \"rollup -c -w\" \"lite-server -c bs-config.designer.json\"",
68
- "test": "vitest run",
69
- "test:watch": "vitest",
70
- "test-ui": "vitest --ui",
71
- "publish:public": "npm publish --access=public"
72
- }
73
- }
1
+ {
2
+ "name": "@myrmidon/gve-snapshot-rendition",
3
+ "version": "2.0.6",
4
+ "homepage": "https://github.com/vedph/gve-snapshot-rendition",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/vedph/gve-snapshot-rendition"
8
+ },
9
+ "author": "Daniele Fusi",
10
+ "license": "",
11
+ "description": "Web components for rendering interactive text transformations with hint designer. This package is an early version published for internal evaluation and staging use only. A final open-source license will be published later.",
12
+ "keywords": [
13
+ "snapshot",
14
+ "rendition",
15
+ "VEdition",
16
+ "genetic-philology",
17
+ "hint-designer",
18
+ "text-transformation"
19
+ ],
20
+ "main": "./dist/index.js",
21
+ "type": "module",
22
+ "types": "./dist/index.d.ts",
23
+ "scripts": {
24
+ "clean": "node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"",
25
+ "build": "pnpm run clean && rollup -c",
26
+ "watch": "rollup -c -w",
27
+ "start": "concurrently \"rollup -c -w\" \"lite-server\"",
28
+ "start:designer": "concurrently \"rollup -c -w\" \"lite-server -c bs-config.designer.json\"",
29
+ "test": "vitest run",
30
+ "test:watch": "vitest",
31
+ "test-ui": "vitest --ui",
32
+ "prepublishOnly": "pnpm run test && pnpm run build",
33
+ "prepack": "pnpm run build",
34
+ "publish:public": "npm publish --access=public"
35
+ },
36
+ "exports": {
37
+ ".": {
38
+ "import": "./dist/index.js",
39
+ "types": "./dist/index.d.ts"
40
+ }
41
+ },
42
+ "files": [
43
+ "dist",
44
+ "README.md",
45
+ "LICENSE"
46
+ ],
47
+ "packageManager": "pnpm@11.9.0",
48
+ "dependencies": {
49
+ "fast-diff": "^1.3.0",
50
+ "feather-icons": "^4.29.2",
51
+ "golden-layout": "^2.6.0",
52
+ "gsap": "^3.15.0",
53
+ "highlight.js": "^11.11.1",
54
+ "svg-pan-zoom": "^3.6.2",
55
+ "tslib": "^2.8.1",
56
+ "typescript": "^6.0.3"
57
+ },
58
+ "devDependencies": {
59
+ "@rollup/plugin-commonjs": "^29.0.3",
60
+ "@rollup/plugin-node-resolve": "^16.0.3",
61
+ "@rollup/plugin-replace": "^6.0.3",
62
+ "@rollup/plugin-terser": "^1.0.0",
63
+ "@rollup/plugin-typescript": "^12.3.0",
64
+ "@vitest/ui": "^4.1.9",
65
+ "concurrency": "^0.1.4",
66
+ "concurrently": "^10.0.3",
67
+ "lite-server": "^2.6.1",
68
+ "rollup": "^4.62.2",
69
+ "source-map-loader": "^5.0.0",
70
+ "ts-loader": "^9.6.2",
71
+ "typescript": "^6.0.3",
72
+ "vitest": "^4.1.9"
73
+ },
74
+ "optionalDependencies": {
75
+ "@rollup/rollup-win32-arm64-msvc": "^4.62.2"
76
+ },
77
+ "pnpm": {
78
+ "overrides": {
79
+ "rollup": "npm:@rollup/wasm-node"
80
+ }
81
+ }
82
+ }
@@ -1,98 +0,0 @@
1
- import { BoundsCache, BoundingRect } from "./bounds-cache";
2
- import { Logger } from "../core/logger";
3
- /**
4
- * Result of spreading calculation.
5
- */
6
- export interface SpreadingResult {
7
- /** Map of element ID to its horizontal shift amount */
8
- horizontalShifts: Map<string, number>;
9
- /** Map of element ID to its vertical shift amount */
10
- verticalShifts: Map<string, number>;
11
- /** Whether any spreading was needed */
12
- hasShifts: boolean;
13
- }
14
- /**
15
- * Metadata about spreading applied to an element for a specific version.
16
- */
17
- export interface SpreadingMetadata {
18
- /** Version index that caused this spreading */
19
- versionIndex: number;
20
- /** Horizontal shift applied (in pixels) */
21
- horizontalShift: number;
22
- /** Vertical shift applied (in pixels) */
23
- verticalShift: number;
24
- }
25
- /**
26
- * Engine for calculating spreading (making room for new elements).
27
- * Implements the "stone in pond" ripple effect to preserve layout.
28
- */
29
- export declare class SpreadingEngine {
30
- private _boundsCache;
31
- private _logger;
32
- /**
33
- * Map of element ID to array of spreading metadata (one per version).
34
- * Each element can be shifted multiple times by different versions.
35
- */
36
- private _spreadingHistory;
37
- constructor(boundsCache: BoundsCache, logger: Logger);
38
- /**
39
- * Track spreading metadata for elements affected by a version.
40
- * Called after spreading is applied to record what happened.
41
- *
42
- * @param versionIndex - Version index that caused the spreading
43
- * @param horizontalShifts - Map of element IDs to horizontal shifts
44
- * @param verticalShifts - Map of element IDs to vertical shifts
45
- */
46
- trackSpreading(versionIndex: number, horizontalShifts: Map<string, number>, verticalShifts: Map<string, number>): void;
47
- /**
48
- * Get spreading metadata for elements affected by a specific version.
49
- * Used when reversing spreading during backward navigation.
50
- *
51
- * @param versionIndex - Version index to get spreading for
52
- * @returns Map of element ID to spreading metadata
53
- */
54
- getSpreadingForVersion(versionIndex: number): Map<string, SpreadingMetadata>;
55
- /**
56
- * Remove spreading history for a specific version.
57
- * Called after spreading is reversed during backward navigation.
58
- *
59
- * @param versionIndex - Version index to remove history for
60
- */
61
- clearSpreadingForVersion(versionIndex: number): void;
62
- /**
63
- * Calculate spreading required to make room for a new element.
64
- *
65
- * @param newElementBounds - Bounds of the element to be added
66
- * @param excludeIds - Element IDs to exclude from shifting (e.g., the new element itself)
67
- * @returns Spreading result with shift amounts for each affected element
68
- */
69
- calculateSpreading(newElementBounds: BoundingRect, excludeIds?: string[]): SpreadingResult;
70
- /**
71
- * Calculate horizontal spreading.
72
- * Elements overlapping on the left are shifted left, those on the right are shifted right.
73
- */
74
- private calculateHorizontalSpreading;
75
- /**
76
- * Calculate vertical spreading.
77
- * Elements overlapping from above are shifted up, those from below are shifted down.
78
- */
79
- private calculateVerticalSpreading;
80
- /**
81
- * Calculate the horizontal overlap between two bounding rectangles.
82
- * Returns 0 if there is no overlap.
83
- */
84
- private calculateHorizontalOverlap;
85
- /**
86
- * Calculate the vertical overlap between two bounding rectangles.
87
- * Returns 0 if there is no overlap.
88
- */
89
- private calculateVerticalOverlap;
90
- /**
91
- * Check if two bounding rectangles overlap.
92
- */
93
- checkOverlap(rect1: BoundingRect, rect2: BoundingRect): boolean;
94
- /**
95
- * Find all elements that overlap with given bounds.
96
- */
97
- findOverlappingElements(bounds: BoundingRect, excludeIds?: string[]): string[];
98
- }
@@ -1,171 +0,0 @@
1
- /**
2
- * Models and types for the feature adapter system.
3
- */
4
- import { Feature } from "../models.js";
5
- /**
6
- * Comparison operator for feature matching.
7
- */
8
- export declare enum ComparisonOperator {
9
- /** Equals (string) */
10
- EQUALS = "=",
11
- /** Not equals (string) */
12
- NOT_EQUALS = "!=",
13
- /** Starts with */
14
- STARTS_WITH = "^=",
15
- /** Ends with */
16
- ENDS_WITH = "$=",
17
- /** Contains */
18
- CONTAINS = "*=",
19
- /** Matches wildcards (? and *) */
20
- MATCHES_WILDCARDS = "?=",
21
- /** Matches regular expression */
22
- MATCHES_REGEX = "~",
23
- /** Numeric equals */
24
- NUMERIC_EQUALS = "==",
25
- /** Numeric not equals */
26
- NUMERIC_NOT_EQUALS = "<>",
27
- /** Numeric greater than */
28
- NUMERIC_GT = ">",
29
- /** Numeric less than */
30
- NUMERIC_LT = "<",
31
- /** Numeric greater than or equal */
32
- NUMERIC_GTE = ">=",
33
- /** Numeric less than or equal */
34
- NUMERIC_LTE = "<="
35
- }
36
- /**
37
- * Logical operator for combining clauses.
38
- */
39
- export declare enum LogicalOperator {
40
- AND = "AND",
41
- OR = "OR",
42
- AND_NOT = "AND NOT",
43
- OR_NOT = "OR NOT"
44
- }
45
- /**
46
- * Token type for DSL parsing.
47
- */
48
- export declare enum TokenType {
49
- /** Feature name */
50
- NAME = 0,
51
- /** Comparison operator */
52
- OPERATOR = 1,
53
- /** Value (quoted or unquoted) */
54
- VALUE = 2,
55
- /** Logical operator (AND, OR, AND NOT, OR NOT) */
56
- LOGICAL = 3,
57
- /** Left parenthesis */
58
- LPAREN = 4,
59
- /** Right parenthesis */
60
- RPAREN = 5,
61
- /** Left square bracket for group capture */
62
- LBRACKET = 6,
63
- /** Right square bracket for group capture */
64
- RBRACKET = 7,
65
- /** Colon (used in named groups) */
66
- COLON = 8,
67
- /** End of input */
68
- EOF = 9
69
- }
70
- /**
71
- * Token from DSL parsing.
72
- */
73
- export interface Token {
74
- type: TokenType;
75
- value: string;
76
- position: number;
77
- }
78
- /**
79
- * A single clause in a pattern (e.g., "name=value").
80
- */
81
- export interface Clause {
82
- /** Feature name to match */
83
- name: string;
84
- /** Comparison operator (optional if just matching by name) */
85
- operator?: ComparisonOperator;
86
- /** Value to compare against (optional if just matching by name) */
87
- value?: string;
88
- /** Whether this clause should be captured as a group */
89
- capture?: boolean;
90
- /** Group name (if named capture), or undefined for numbered capture */
91
- groupName?: string;
92
- }
93
- /**
94
- * Pattern expression node (for AST representation).
95
- */
96
- export interface PatternExpression {
97
- type: "clause" | "logical";
98
- }
99
- /**
100
- * Clause expression node.
101
- */
102
- export interface ClauseExpression extends PatternExpression {
103
- type: "clause";
104
- clause: Clause;
105
- }
106
- /**
107
- * Logical expression node (binary operation).
108
- */
109
- export interface LogicalExpression extends PatternExpression {
110
- type: "logical";
111
- operator: LogicalOperator;
112
- left: PatternExpression;
113
- right: PatternExpression;
114
- }
115
- /**
116
- * Result of matching a pattern against features.
117
- */
118
- export interface MatchResult {
119
- /** Whether the pattern matched */
120
- matched: boolean;
121
- /** Captured groups (keyed by group name or number as string) */
122
- captures: Map<string, CapturedGroup>;
123
- /** Features that were matched */
124
- matchedFeatures: Feature[];
125
- }
126
- /**
127
- * A captured group from pattern matching.
128
- */
129
- export interface CapturedGroup {
130
- name: string;
131
- value: string;
132
- }
133
- /**
134
- * Mode for feature processing.
135
- */
136
- export declare enum ProcessingMode {
137
- /** Add features without removing matched ones */
138
- ADD = "add",
139
- /** Replace: remove matched features, then add new ones */
140
- REPLACE = "replace"
141
- }
142
- /**
143
- * A single adapter operation configuration.
144
- */
145
- export interface AdapterOperation {
146
- /** Pattern DSL string to match features */
147
- pattern: string;
148
- /** Features to add (with format "name=value", can include placeholders) */
149
- features: string[];
150
- /** Processing mode (default: add) */
151
- mode?: ProcessingMode;
152
- }
153
- /**
154
- * Configuration for the feature adapter.
155
- */
156
- export interface FeatureAdapterSettings {
157
- /** List of adapter operations to apply in order */
158
- operations: AdapterOperation[];
159
- }
160
- /**
161
- * Error thrown during DSL parsing or pattern matching.
162
- */
163
- export declare class AdapterError extends Error {
164
- position?: number | undefined;
165
- context?: string | undefined;
166
- constructor(message: string, position?: number | undefined, context?: string | undefined);
167
- /**
168
- * Format error message with context.
169
- */
170
- toString(): string;
171
- }
@@ -1,30 +0,0 @@
1
- /**
2
- * Data feature adapter for applying feature transformations to CharChainResult data.
3
- */
4
- import { CharChainResult } from "../models";
5
- import { FeatureAdapterSettings } from "./adapter-models";
6
- /**
7
- * Adapter service that applies feature transformations to CharChainResult data.
8
- * This service creates a copy of the data and adapts all features except those
9
- * belonging to operation metadata.
10
- */
11
- export declare class DataFeatureAdapter {
12
- private featureAdapter;
13
- constructor(settings: FeatureAdapterSettings);
14
- /**
15
- * Adapt all features in the CharChainResult data.
16
- * Returns a new copy of the data with adapted features.
17
- *
18
- * Features adapted:
19
- * - globalFeatures[tag][i] (global features per version)
20
- * - nodes[i].features[tag][j] (per-node, per-version features)
21
- *
22
- * Features NOT adapted:
23
- * - steps[i].operation.features (operation metadata)
24
- */
25
- adaptData(data: CharChainResult): CharChainResult;
26
- /**
27
- * Deep copy the CharChainResult data structure.
28
- */
29
- private deepCopyData;
30
- }
@@ -1,34 +0,0 @@
1
- /**
2
- * Feature adapter service for transforming feature sets.
3
- */
4
- import { FeatureAdapterSettings } from "./adapter-models";
5
- import { Feature } from "../models";
6
- /**
7
- * Service for adapting features based on configured operations.
8
- */
9
- export declare class FeatureAdapter {
10
- private settings;
11
- private compiledPatterns;
12
- private matcher;
13
- constructor(settings: FeatureAdapterSettings);
14
- /**
15
- * Adapt a feature array by applying all configured operations.
16
- */
17
- adapt(features: Feature[]): Feature[];
18
- /**
19
- * Apply a single operation to a feature array.
20
- */
21
- private applyOperation;
22
- /**
23
- * Create features from feature specifications, resolving placeholders.
24
- */
25
- private createFeatures;
26
- /**
27
- * Resolve placeholders in a string (e.g., $1.value, $color.name).
28
- */
29
- private resolvePlaceholders;
30
- /**
31
- * Pre-compile all patterns to detect errors early.
32
- */
33
- private compilePatterns;
34
- }
@@ -1,6 +0,0 @@
1
- /**
2
- * Feature adapter module - public API.
3
- */
4
- export { FeatureAdapter } from "./feature-adapter.js";
5
- export { DataFeatureAdapter } from "./data-feature-adapter.js";
6
- export type { FeatureAdapterSettings, AdapterOperation, ProcessingMode, ComparisonOperator, LogicalOperator, AdapterError, } from "./adapter-models.js";
@@ -1,38 +0,0 @@
1
- /**
2
- * Feature matching engine for the adapter.
3
- */
4
- import { PatternExpression, MatchResult } from "./adapter-models";
5
- import { Feature } from "../models";
6
- /**
7
- * Matches features against a pattern expression.
8
- */
9
- export declare class FeatureMatcher {
10
- /**
11
- * Match features against a parsed pattern expression.
12
- */
13
- match(features: Feature[], expression: PatternExpression): MatchResult;
14
- /**
15
- * Evaluate a pattern expression against features.
16
- */
17
- private evaluateExpression;
18
- /**
19
- * Evaluate a clause against features.
20
- */
21
- private evaluateClause;
22
- /**
23
- * Check if a single feature matches a clause.
24
- */
25
- private matchFeature;
26
- /**
27
- * Compare values using the specified operator.
28
- */
29
- private compareValues;
30
- /**
31
- * Match a value against a wildcard pattern (? and *).
32
- */
33
- private matchWildcard;
34
- /**
35
- * Compare numeric values.
36
- */
37
- private compareNumeric;
38
- }
@@ -1,58 +0,0 @@
1
- /**
2
- * Parser for the feature adapter DSL.
3
- * Implements recursive descent parsing with operator precedence:
4
- * 1. NOT (highest)
5
- * 2. AND
6
- * 3. OR (lowest)
7
- */
8
- import { PatternExpression } from "./adapter-models";
9
- /**
10
- * Parser for DSL patterns.
11
- */
12
- export declare class Parser {
13
- private input;
14
- private tokens;
15
- private position;
16
- private current;
17
- private groupCounter;
18
- constructor(input: string);
19
- /**
20
- * Parse the pattern and return the AST.
21
- */
22
- parse(): PatternExpression;
23
- /**
24
- * Parse OR expression (lowest precedence).
25
- * or_expr := and_expr (OR and_expr | OR NOT and_expr)*
26
- */
27
- private parseOrExpression;
28
- /**
29
- * Parse AND expression (middle precedence).
30
- * and_expr := primary (AND primary | AND NOT primary)*
31
- */
32
- private parseAndExpression;
33
- /**
34
- * Parse primary expression (clause or grouped expression).
35
- * primary := clause | '(' or_expr ')' | '[' clause ']' | '[' NAME ':' clause ']'
36
- */
37
- private parsePrimary;
38
- /**
39
- * Parse a captured clause: [name:clause] or [clause]
40
- */
41
- private parseCapturedClause;
42
- /**
43
- * Parse a clause: name [operator value]
44
- */
45
- private parseClause;
46
- /**
47
- * Advance to the next token.
48
- */
49
- private advance;
50
- /**
51
- * Peek at the next token without consuming it.
52
- */
53
- private peek;
54
- /**
55
- * Get context around a position for error messages.
56
- */
57
- private getContext;
58
- }
@@ -1,55 +0,0 @@
1
- /**
2
- * Tokenizer for the feature adapter DSL.
3
- */
4
- import { Token } from "./adapter-models";
5
- /**
6
- * Tokenizes a DSL pattern string into tokens.
7
- */
8
- export declare class Tokenizer {
9
- private input;
10
- private position;
11
- private current;
12
- private expectValue;
13
- constructor(input: string);
14
- /**
15
- * Tokenize the entire input.
16
- */
17
- tokenize(): Token[];
18
- /**
19
- * Get the next token from input.
20
- */
21
- private nextToken;
22
- /**
23
- * Try to read a comparison operator.
24
- */
25
- private tryReadOperator;
26
- /**
27
- * Read a quoted string (handles escape sequences).
28
- */
29
- private readQuotedString;
30
- /**
31
- * Read a word (name or keyword).
32
- */
33
- private readWord;
34
- /**
35
- * Read an unquoted value (after an operator).
36
- * Values can include special characters like *, ?, ^, $, etc.
37
- */
38
- private readUnquotedValue;
39
- /**
40
- * Peek at the next word without consuming it.
41
- */
42
- private peekWord;
43
- /**
44
- * Skip whitespace.
45
- */
46
- private skipWhitespace;
47
- /**
48
- * Advance to next character.
49
- */
50
- private advance;
51
- /**
52
- * Get context around current position for error messages.
53
- */
54
- private getContext;
55
- }