legal-markdown-js 0.1.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/LICENSE +21 -0
- package/README.md +168 -0
- package/dist/browser.d.ts +87 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +157 -0
- package/dist/browser.js.map +1 -0
- package/dist/cli/index.d.ts +34 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +221 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/service.d.ts +128 -0
- package/dist/cli/service.d.ts.map +1 -0
- package/dist/cli/service.js +284 -0
- package/dist/cli/service.js.map +1 -0
- package/dist/constants/index.d.ts +229 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +232 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/core/exporters/metadata-exporter.d.ts +104 -0
- package/dist/core/exporters/metadata-exporter.d.ts.map +1 -0
- package/dist/core/exporters/metadata-exporter.js +201 -0
- package/dist/core/exporters/metadata-exporter.js.map +1 -0
- package/dist/core/index.d.ts +40 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +56 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/parsers/yaml-parser.d.ts +149 -0
- package/dist/core/parsers/yaml-parser.d.ts.map +1 -0
- package/dist/core/parsers/yaml-parser.js +321 -0
- package/dist/core/parsers/yaml-parser.js.map +1 -0
- package/dist/core/processors/clause-processor.d.ts +74 -0
- package/dist/core/processors/clause-processor.d.ts.map +1 -0
- package/dist/core/processors/clause-processor.js +213 -0
- package/dist/core/processors/clause-processor.js.map +1 -0
- package/dist/core/processors/date-processor.d.ts +90 -0
- package/dist/core/processors/date-processor.d.ts.map +1 -0
- package/dist/core/processors/date-processor.js +336 -0
- package/dist/core/processors/date-processor.js.map +1 -0
- package/dist/core/processors/header-processor.d.ts +104 -0
- package/dist/core/processors/header-processor.d.ts.map +1 -0
- package/dist/core/processors/header-processor.js +585 -0
- package/dist/core/processors/header-processor.js.map +1 -0
- package/dist/core/processors/import-processor.d.ts +116 -0
- package/dist/core/processors/import-processor.d.ts.map +1 -0
- package/dist/core/processors/import-processor.js +236 -0
- package/dist/core/processors/import-processor.js.map +1 -0
- package/dist/core/processors/mixin-processor.d.ts +93 -0
- package/dist/core/processors/mixin-processor.d.ts.map +1 -0
- package/dist/core/processors/mixin-processor.js +378 -0
- package/dist/core/processors/mixin-processor.js.map +1 -0
- package/dist/core/processors/reference-processor.d.ts +115 -0
- package/dist/core/processors/reference-processor.d.ts.map +1 -0
- package/dist/core/processors/reference-processor.js +273 -0
- package/dist/core/processors/reference-processor.js.map +1 -0
- package/dist/errors/index.d.ts +234 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +267 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/extensions/batch-processor.d.ts +197 -0
- package/dist/extensions/batch-processor.d.ts.map +1 -0
- package/dist/extensions/batch-processor.js +392 -0
- package/dist/extensions/batch-processor.js.map +1 -0
- package/dist/extensions/formatters/index.d.ts +99 -0
- package/dist/extensions/formatters/index.d.ts.map +1 -0
- package/dist/extensions/formatters/index.js +128 -0
- package/dist/extensions/formatters/index.js.map +1 -0
- package/dist/extensions/index.d.ts +53 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +71 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/latex-parser.d.ts +111 -0
- package/dist/extensions/latex-parser.d.ts.map +1 -0
- package/dist/extensions/latex-parser.js +563 -0
- package/dist/extensions/latex-parser.js.map +1 -0
- package/dist/extensions/rst-parser.d.ts +112 -0
- package/dist/extensions/rst-parser.d.ts.map +1 -0
- package/dist/extensions/rst-parser.js +268 -0
- package/dist/extensions/rst-parser.js.map +1 -0
- package/dist/extensions/template-loops.d.ts +61 -0
- package/dist/extensions/template-loops.d.ts.map +1 -0
- package/dist/extensions/template-loops.js +418 -0
- package/dist/extensions/template-loops.js.map +1 -0
- package/dist/extensions/utilities/index.d.ts +114 -0
- package/dist/extensions/utilities/index.d.ts.map +1 -0
- package/dist/extensions/utilities/index.js +137 -0
- package/dist/extensions/utilities/index.js.map +1 -0
- package/dist/extensions/validators/index.d.ts +65 -0
- package/dist/extensions/validators/index.d.ts.map +1 -0
- package/dist/extensions/validators/index.js +88 -0
- package/dist/extensions/validators/index.js.map +1 -0
- package/dist/generators/html-generator.d.ts +184 -0
- package/dist/generators/html-generator.d.ts.map +1 -0
- package/dist/generators/html-generator.js +361 -0
- package/dist/generators/html-generator.js.map +1 -0
- package/dist/generators/pdf-generator.d.ts +165 -0
- package/dist/generators/pdf-generator.d.ts.map +1 -0
- package/dist/generators/pdf-generator.js +275 -0
- package/dist/generators/pdf-generator.js.map +1 -0
- package/dist/helpers/date-helpers.d.ts +216 -0
- package/dist/helpers/date-helpers.d.ts.map +1 -0
- package/dist/helpers/date-helpers.js +402 -0
- package/dist/helpers/date-helpers.js.map +1 -0
- package/dist/helpers/index.d.ts +87 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/index.js +149 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/number-helpers.d.ts +269 -0
- package/dist/helpers/number-helpers.d.ts.map +1 -0
- package/dist/helpers/number-helpers.js +406 -0
- package/dist/helpers/number-helpers.js.map +1 -0
- package/dist/helpers/string-helpers.d.ts +391 -0
- package/dist/helpers/string-helpers.d.ts.map +1 -0
- package/dist/helpers/string-helpers.js +549 -0
- package/dist/helpers/string-helpers.js.map +1 -0
- package/dist/index.d.ts +229 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +384 -0
- package/dist/index.js.map +1 -0
- package/dist/legal-markdown.umd.min.js +2 -0
- package/dist/legal-markdown.umd.min.js.LICENSE.txt +14 -0
- package/dist/legal-markdown.umd.min.js.map +1 -0
- package/dist/lib/index.d.ts +150 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +265 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/parsers/content-detector.d.ts +131 -0
- package/dist/parsers/content-detector.d.ts.map +1 -0
- package/dist/parsers/content-detector.js +220 -0
- package/dist/parsers/content-detector.js.map +1 -0
- package/dist/parsers/fallback-parsers.d.ts +14 -0
- package/dist/parsers/fallback-parsers.d.ts.map +1 -0
- package/dist/parsers/fallback-parsers.js +188 -0
- package/dist/parsers/fallback-parsers.js.map +1 -0
- package/dist/parsers/implementations/pandoc-native.d.ts +13 -0
- package/dist/parsers/implementations/pandoc-native.d.ts.map +1 -0
- package/dist/parsers/implementations/pandoc-native.js +63 -0
- package/dist/parsers/implementations/pandoc-native.js.map +1 -0
- package/dist/parsers/implementations/pandoc-wasm.d.ts +14 -0
- package/dist/parsers/implementations/pandoc-wasm.d.ts.map +1 -0
- package/dist/parsers/implementations/pandoc-wasm.js +64 -0
- package/dist/parsers/implementations/pandoc-wasm.js.map +1 -0
- package/dist/parsers/pandoc-factory.d.ts +97 -0
- package/dist/parsers/pandoc-factory.d.ts.map +1 -0
- package/dist/parsers/pandoc-factory.js +146 -0
- package/dist/parsers/pandoc-factory.js.map +1 -0
- package/dist/parsers/pandoc-loader.d.ts +24 -0
- package/dist/parsers/pandoc-loader.d.ts.map +1 -0
- package/dist/parsers/pandoc-loader.js +124 -0
- package/dist/parsers/pandoc-loader.js.map +1 -0
- package/dist/parsers/pandoc-parser.d.ts +27 -0
- package/dist/parsers/pandoc-parser.d.ts.map +1 -0
- package/dist/parsers/pandoc-parser.js +3 -0
- package/dist/parsers/pandoc-parser.js.map +1 -0
- package/dist/styles/default.css +125 -0
- package/dist/styles/headers.css +146 -0
- package/dist/styles/highlight.css +171 -0
- package/dist/tracking/field-tracker.d.ts +206 -0
- package/dist/tracking/field-tracker.d.ts.map +1 -0
- package/dist/tracking/field-tracker.js +247 -0
- package/dist/tracking/field-tracker.js.map +1 -0
- package/dist/types.d.ts +186 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +33 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/logger.d.ts +107 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +122 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/web/bundle-standalone.js +28 -0
- package/dist/web/bundle.js +17 -0
- package/dist/web/index.html +1465 -0
- package/dist/web/legal-markdown.umd.min.js +2 -0
- package/dist/web/standalone.html +390 -0
- package/dist/web/styles.css +874 -0
- package/package.json +118 -0
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Field Tracking System for Legal Markdown Processing
|
|
4
|
+
*
|
|
5
|
+
* This module provides comprehensive field tracking functionality for Legal Markdown
|
|
6
|
+
* documents, including field status monitoring, highlighting support, and reporting
|
|
7
|
+
* capabilities. It tracks field processing state and applies appropriate CSS classes
|
|
8
|
+
* for visual feedback during document review.
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Field status tracking (filled, empty, logic)
|
|
12
|
+
* - CSS class application for field highlighting
|
|
13
|
+
* - Field processing state management
|
|
14
|
+
* - Mixin usage tracking for complex field logic
|
|
15
|
+
* - Reporting and analytics for field usage
|
|
16
|
+
* - Singleton pattern for consistent tracking across the application
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import { fieldTracker, FieldStatus } from './field-tracker';
|
|
21
|
+
*
|
|
22
|
+
* // Track a field during processing
|
|
23
|
+
* fieldTracker.trackField('client.name', {
|
|
24
|
+
* value: 'Acme Corporation',
|
|
25
|
+
* status: FieldStatus.FILLED
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* // Apply field tracking to content
|
|
29
|
+
* const highlightedContent = fieldTracker.applyFieldTracking(processedContent);
|
|
30
|
+
*
|
|
31
|
+
* // Generate field report
|
|
32
|
+
* const report = fieldTracker.generateReport();
|
|
33
|
+
* console.log(`${report.filled} fields filled, ${report.empty} fields empty`);
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.fieldTracker = exports.FieldTracker = exports.FieldStatus = void 0;
|
|
38
|
+
const logger_1 = require("../utils/logger");
|
|
39
|
+
/**
|
|
40
|
+
* Enumeration of possible field statuses during processing
|
|
41
|
+
*
|
|
42
|
+
* @enum {string} FieldStatus
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* import { FieldStatus } from './field-tracker';
|
|
46
|
+
*
|
|
47
|
+
* // Check field status
|
|
48
|
+
* if (field.status === FieldStatus.FILLED) {
|
|
49
|
+
* console.log('Field has a value');
|
|
50
|
+
* } else if (field.status === FieldStatus.EMPTY) {
|
|
51
|
+
* console.log('Field needs a value');
|
|
52
|
+
* } else if (field.status === FieldStatus.LOGIC) {
|
|
53
|
+
* console.log('Field uses conditional logic');
|
|
54
|
+
* }
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
var FieldStatus;
|
|
58
|
+
(function (FieldStatus) {
|
|
59
|
+
/** Field has been filled with a value */
|
|
60
|
+
FieldStatus["FILLED"] = "filled";
|
|
61
|
+
/** Field is empty or missing a value */
|
|
62
|
+
FieldStatus["EMPTY"] = "empty";
|
|
63
|
+
/** Field contains logic or uses mixins */
|
|
64
|
+
FieldStatus["LOGIC"] = "logic";
|
|
65
|
+
})(FieldStatus || (exports.FieldStatus = FieldStatus = {}));
|
|
66
|
+
/**
|
|
67
|
+
* Field tracking system for Legal Markdown processing
|
|
68
|
+
*
|
|
69
|
+
* Manages field tracking throughout the document processing lifecycle,
|
|
70
|
+
* including status monitoring, highlighting, and reporting capabilities.
|
|
71
|
+
*
|
|
72
|
+
* @class FieldTracker
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* import { FieldTracker, FieldStatus } from './field-tracker';
|
|
76
|
+
*
|
|
77
|
+
* const tracker = new FieldTracker();
|
|
78
|
+
*
|
|
79
|
+
* // Track field processing
|
|
80
|
+
* tracker.trackField('client.name', {
|
|
81
|
+
* value: 'Acme Corp',
|
|
82
|
+
* originalValue: '{{client.name}}',
|
|
83
|
+
* hasLogic: false
|
|
84
|
+
* });
|
|
85
|
+
*
|
|
86
|
+
* // Apply tracking to content
|
|
87
|
+
* const highlighted = tracker.applyFieldTracking(content);
|
|
88
|
+
*
|
|
89
|
+
* // Generate report
|
|
90
|
+
* const report = tracker.generateReport();
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
class FieldTracker {
|
|
94
|
+
/**
|
|
95
|
+
* Creates a new FieldTracker instance
|
|
96
|
+
*
|
|
97
|
+
* @constructor
|
|
98
|
+
*/
|
|
99
|
+
constructor() {
|
|
100
|
+
this.fields = new Map();
|
|
101
|
+
this.processedContent = '';
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Track a field that has been processed
|
|
105
|
+
*
|
|
106
|
+
* Registers a field with the tracking system, determining its status based on
|
|
107
|
+
* the provided options and storing relevant metadata for later use.
|
|
108
|
+
*
|
|
109
|
+
* @method trackField
|
|
110
|
+
* @param {string} fieldName - The name/identifier of the field to track
|
|
111
|
+
* @param {Object} options - Options for field tracking
|
|
112
|
+
* @param {any} [options.value] - The processed value of the field
|
|
113
|
+
* @param {any} [options.originalValue] - The original unprocessed value
|
|
114
|
+
* @param {boolean} [options.hasLogic=false] - Whether the field contains logical operations
|
|
115
|
+
* @param {string} [options.mixinUsed] - Name of mixin used for processing
|
|
116
|
+
* @returns {void}
|
|
117
|
+
* @example
|
|
118
|
+
* ```typescript
|
|
119
|
+
* // Track a filled field
|
|
120
|
+
* tracker.trackField('client.name', {
|
|
121
|
+
* value: 'Acme Corporation',
|
|
122
|
+
* originalValue: '{{client.name}}'
|
|
123
|
+
* });
|
|
124
|
+
*
|
|
125
|
+
* // Track an empty field
|
|
126
|
+
* tracker.trackField('client.address', {
|
|
127
|
+
* value: '',
|
|
128
|
+
* originalValue: '{{client.address}}'
|
|
129
|
+
* });
|
|
130
|
+
*
|
|
131
|
+
* // Track a field with logic
|
|
132
|
+
* tracker.trackField('warranty.clause', {
|
|
133
|
+
* value: 'Standard warranty applies',
|
|
134
|
+
* originalValue: '{{#if warranty.enabled}}{{warranty.text}}{{/if}}',
|
|
135
|
+
* hasLogic: true,
|
|
136
|
+
* mixinUsed: 'warranty-mixin'
|
|
137
|
+
* });
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
trackField(fieldName, options) {
|
|
141
|
+
const { value, originalValue, hasLogic = false, mixinUsed } = options;
|
|
142
|
+
let status;
|
|
143
|
+
if (hasLogic || mixinUsed) {
|
|
144
|
+
status = FieldStatus.LOGIC;
|
|
145
|
+
}
|
|
146
|
+
else if (value === undefined || value === null || value === '') {
|
|
147
|
+
status = FieldStatus.EMPTY;
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
status = FieldStatus.FILLED;
|
|
151
|
+
}
|
|
152
|
+
const field = {
|
|
153
|
+
name: fieldName,
|
|
154
|
+
status,
|
|
155
|
+
value,
|
|
156
|
+
originalValue,
|
|
157
|
+
hasLogic,
|
|
158
|
+
mixinUsed,
|
|
159
|
+
};
|
|
160
|
+
this.fields.set(fieldName, field);
|
|
161
|
+
logger_1.logger.debug('Field tracked', { fieldName, status, hasLogic });
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Apply field tracking to processed content by wrapping fields with appropriate CSS classes
|
|
165
|
+
*/
|
|
166
|
+
applyFieldTracking(content) {
|
|
167
|
+
let processedContent = content;
|
|
168
|
+
this.fields.forEach((field, fieldName) => {
|
|
169
|
+
const cssClass = this.getFieldCssClass(field.status);
|
|
170
|
+
// Create regex to find field references in the content
|
|
171
|
+
// This looks for {{fieldName}} patterns that haven't been processed yet
|
|
172
|
+
const fieldPattern = new RegExp(`\\{\\{\\s*${fieldName}\\s*\\}\\}`, 'g');
|
|
173
|
+
// If the field has a value, look for the rendered value in the content
|
|
174
|
+
if (field.value !== undefined && field.value !== null && field.value !== '') {
|
|
175
|
+
const valuePattern = new RegExp(`(?<!<span[^>]*>)${this.escapeRegex(String(field.value))}(?!</span>)`, 'g');
|
|
176
|
+
processedContent = processedContent.replace(valuePattern, match => {
|
|
177
|
+
return `<span class="${cssClass}" data-field="${fieldName}">${match}</span>`;
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
// For empty fields, wrap the placeholder or empty space
|
|
182
|
+
processedContent = processedContent.replace(fieldPattern, match => {
|
|
183
|
+
return `<span class="${cssClass}" data-field="${fieldName}">[${fieldName}]</span>`;
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
this.processedContent = processedContent;
|
|
188
|
+
return processedContent;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Get CSS class for field based on its status
|
|
192
|
+
*/
|
|
193
|
+
getFieldCssClass(status) {
|
|
194
|
+
switch (status) {
|
|
195
|
+
case FieldStatus.FILLED:
|
|
196
|
+
return 'imported-value';
|
|
197
|
+
case FieldStatus.EMPTY:
|
|
198
|
+
return 'missing-value';
|
|
199
|
+
case FieldStatus.LOGIC:
|
|
200
|
+
return 'highlight';
|
|
201
|
+
default:
|
|
202
|
+
return '';
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Escape special regex characters in a string
|
|
207
|
+
*/
|
|
208
|
+
escapeRegex(str) {
|
|
209
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Get all tracked fields
|
|
213
|
+
*/
|
|
214
|
+
getFields() {
|
|
215
|
+
return new Map(this.fields);
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Get fields by status
|
|
219
|
+
*/
|
|
220
|
+
getFieldsByStatus(status) {
|
|
221
|
+
return Array.from(this.fields.values()).filter(field => field.status === status);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Generate a summary report of tracked fields
|
|
225
|
+
*/
|
|
226
|
+
generateReport() {
|
|
227
|
+
const fields = Array.from(this.fields.values());
|
|
228
|
+
return {
|
|
229
|
+
total: fields.length,
|
|
230
|
+
filled: fields.filter(f => f.status === FieldStatus.FILLED).length,
|
|
231
|
+
empty: fields.filter(f => f.status === FieldStatus.EMPTY).length,
|
|
232
|
+
logic: fields.filter(f => f.status === FieldStatus.LOGIC).length,
|
|
233
|
+
fields,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Clear all tracked fields
|
|
238
|
+
*/
|
|
239
|
+
clear() {
|
|
240
|
+
this.fields.clear();
|
|
241
|
+
this.processedContent = '';
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
exports.FieldTracker = FieldTracker;
|
|
245
|
+
// Export singleton instance
|
|
246
|
+
exports.fieldTracker = new FieldTracker();
|
|
247
|
+
//# sourceMappingURL=field-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-tracker.js","sourceRoot":"","sources":["../../src/tracking/field-tracker.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Type Definitions for Legal Markdown Processing
|
|
3
|
+
*
|
|
4
|
+
* This module contains TypeScript interface definitions and type declarations
|
|
5
|
+
* for the Legal Markdown processing system. It defines the structure for
|
|
6
|
+
* configuration options, processing results, and internal data structures.
|
|
7
|
+
*
|
|
8
|
+
* Features:
|
|
9
|
+
* - Processing configuration interfaces
|
|
10
|
+
* - YAML front matter parsing result types
|
|
11
|
+
* - Header processing option structures
|
|
12
|
+
* - Import and export result definitions
|
|
13
|
+
* - Metadata handling type definitions
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { LegalMarkdownOptions, YamlParsingResult } from './types';
|
|
18
|
+
*
|
|
19
|
+
* const options: LegalMarkdownOptions = {
|
|
20
|
+
* basePath: './documents',
|
|
21
|
+
* enableFieldTracking: true,
|
|
22
|
+
* exportFormat: 'yaml'
|
|
23
|
+
* };
|
|
24
|
+
*
|
|
25
|
+
* const result: YamlParsingResult = {
|
|
26
|
+
* content: 'processed content',
|
|
27
|
+
* metadata: { title: 'Document Title' }
|
|
28
|
+
* };
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* Configuration options for processing Legal Markdown documents
|
|
33
|
+
*
|
|
34
|
+
* @interface LegalMarkdownOptions
|
|
35
|
+
*/
|
|
36
|
+
export interface LegalMarkdownOptions {
|
|
37
|
+
/**
|
|
38
|
+
* Base path for resolving imports
|
|
39
|
+
*/
|
|
40
|
+
basePath?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Process only YAML front matter
|
|
43
|
+
*/
|
|
44
|
+
yamlOnly?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Skip processing headers
|
|
47
|
+
*/
|
|
48
|
+
noHeaders?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Skip processing optional clauses
|
|
51
|
+
*/
|
|
52
|
+
noClauses?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Skip processing cross references
|
|
55
|
+
*/
|
|
56
|
+
noReferences?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Skip processing imports
|
|
59
|
+
*/
|
|
60
|
+
noImports?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Skip processing mixins
|
|
63
|
+
*/
|
|
64
|
+
noMixins?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Convert output to markdown format
|
|
67
|
+
*/
|
|
68
|
+
toMarkdown?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Export metadata to a file
|
|
71
|
+
*/
|
|
72
|
+
exportMetadata?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Format for metadata export (yaml or json)
|
|
75
|
+
*/
|
|
76
|
+
exportFormat?: 'yaml' | 'json';
|
|
77
|
+
/**
|
|
78
|
+
* Path for metadata export
|
|
79
|
+
*/
|
|
80
|
+
exportPath?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Enable debug mode
|
|
83
|
+
*/
|
|
84
|
+
debug?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Throw errors on invalid YAML instead of handling gracefully
|
|
87
|
+
*/
|
|
88
|
+
throwOnYamlError?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Disable header numbering reset (continuous numbering)
|
|
91
|
+
*/
|
|
92
|
+
noReset?: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Disable header indentation (flat formatting)
|
|
95
|
+
*/
|
|
96
|
+
noIndent?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Enable field tracking for highlighting
|
|
99
|
+
*/
|
|
100
|
+
enableFieldTracking?: boolean;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Structure for YAML Front Matter parsing result
|
|
104
|
+
*
|
|
105
|
+
* @interface YamlParsingResult
|
|
106
|
+
*/
|
|
107
|
+
export interface YamlParsingResult {
|
|
108
|
+
/**
|
|
109
|
+
* Content without the YAML front matter
|
|
110
|
+
*/
|
|
111
|
+
content: string;
|
|
112
|
+
/**
|
|
113
|
+
* Parsed metadata from YAML front matter
|
|
114
|
+
*/
|
|
115
|
+
metadata: Record<string, any>;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Structure for header processing options from metadata
|
|
119
|
+
*
|
|
120
|
+
* @interface HeaderOptions
|
|
121
|
+
*/
|
|
122
|
+
export interface HeaderOptions {
|
|
123
|
+
/**
|
|
124
|
+
* Format for level one headers
|
|
125
|
+
*/
|
|
126
|
+
levelOne?: string;
|
|
127
|
+
/**
|
|
128
|
+
* Format for level two headers
|
|
129
|
+
*/
|
|
130
|
+
levelTwo?: string;
|
|
131
|
+
/**
|
|
132
|
+
* Format for level three headers
|
|
133
|
+
*/
|
|
134
|
+
levelThree?: string;
|
|
135
|
+
/**
|
|
136
|
+
* Format for level four headers
|
|
137
|
+
*/
|
|
138
|
+
levelFour?: string;
|
|
139
|
+
/**
|
|
140
|
+
* Format for level five headers
|
|
141
|
+
*/
|
|
142
|
+
levelFive?: string;
|
|
143
|
+
/**
|
|
144
|
+
* Indentation level for headers
|
|
145
|
+
*/
|
|
146
|
+
levelIndent?: number;
|
|
147
|
+
/**
|
|
148
|
+
* Disable header numbering reset (continuous numbering)
|
|
149
|
+
*/
|
|
150
|
+
noReset?: boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Disable header indentation (flat formatting)
|
|
153
|
+
*/
|
|
154
|
+
noIndent?: boolean;
|
|
155
|
+
/**
|
|
156
|
+
* Enable field tracking for header styling
|
|
157
|
+
*/
|
|
158
|
+
enableFieldTracking?: boolean;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Structure for import processing result
|
|
162
|
+
*
|
|
163
|
+
* @interface ImportProcessingResult
|
|
164
|
+
*/
|
|
165
|
+
export interface ImportProcessingResult {
|
|
166
|
+
/**
|
|
167
|
+
* Content with imports processed
|
|
168
|
+
*/
|
|
169
|
+
content: string;
|
|
170
|
+
/**
|
|
171
|
+
* List of imported files
|
|
172
|
+
*/
|
|
173
|
+
importedFiles: string[];
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Structure for metadata export result
|
|
177
|
+
*
|
|
178
|
+
* @interface MetadataExportResult
|
|
179
|
+
*/
|
|
180
|
+
export interface MetadataExportResult {
|
|
181
|
+
/**
|
|
182
|
+
* List of exported files
|
|
183
|
+
*/
|
|
184
|
+
exportedFiles: string[];
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Type Definitions for Legal Markdown Processing
|
|
4
|
+
*
|
|
5
|
+
* This module contains TypeScript interface definitions and type declarations
|
|
6
|
+
* for the Legal Markdown processing system. It defines the structure for
|
|
7
|
+
* configuration options, processing results, and internal data structures.
|
|
8
|
+
*
|
|
9
|
+
* Features:
|
|
10
|
+
* - Processing configuration interfaces
|
|
11
|
+
* - YAML front matter parsing result types
|
|
12
|
+
* - Header processing option structures
|
|
13
|
+
* - Import and export result definitions
|
|
14
|
+
* - Metadata handling type definitions
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { LegalMarkdownOptions, YamlParsingResult } from './types';
|
|
19
|
+
*
|
|
20
|
+
* const options: LegalMarkdownOptions = {
|
|
21
|
+
* basePath: './documents',
|
|
22
|
+
* enableFieldTracking: true,
|
|
23
|
+
* exportFormat: 'yaml'
|
|
24
|
+
* };
|
|
25
|
+
*
|
|
26
|
+
* const result: YamlParsingResult = {
|
|
27
|
+
* content: 'processed content',
|
|
28
|
+
* metadata: { title: 'Document Title' }
|
|
29
|
+
* };
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Lightweight Logging Utility for Legal Markdown Processing
|
|
3
|
+
*
|
|
4
|
+
* This module provides a simple, efficient logging utility for the Legal Markdown
|
|
5
|
+
* processing system. It offers structured logging with different levels and
|
|
6
|
+
* optional data context support.
|
|
7
|
+
*
|
|
8
|
+
* Features:
|
|
9
|
+
* - Multiple log levels (debug, info, warn, error)
|
|
10
|
+
* - Debug mode controlled by environment variable
|
|
11
|
+
* - Structured logging with contextual data
|
|
12
|
+
* - Console-based output with formatted prefixes
|
|
13
|
+
* - Optional data parameter for detailed logging
|
|
14
|
+
* - Lightweight with no external dependencies
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { logger } from './logger';
|
|
19
|
+
*
|
|
20
|
+
* // Basic logging
|
|
21
|
+
* logger.info('Processing legal document');
|
|
22
|
+
* logger.warn('Missing field detected');
|
|
23
|
+
* logger.error('Failed to parse YAML');
|
|
24
|
+
*
|
|
25
|
+
* // Logging with context data
|
|
26
|
+
* logger.debug('Field processed', { fieldName: 'client.name', value: 'Acme Corp' });
|
|
27
|
+
* logger.info('Document exported', { format: 'pdf', size: '2.3MB' });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* Simple logger utility for Legal Markdown processing
|
|
32
|
+
*
|
|
33
|
+
* Provides structured logging with different levels and optional context data.
|
|
34
|
+
* Debug logging is only enabled when DEBUG environment variable is set.
|
|
35
|
+
*
|
|
36
|
+
* @constant {Object} logger
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* import { logger } from './logger';
|
|
40
|
+
*
|
|
41
|
+
* // Set DEBUG=true in environment to see debug logs
|
|
42
|
+
* logger.debug('Processing started', { file: 'contract.md' });
|
|
43
|
+
* logger.info('Document processed successfully');
|
|
44
|
+
* logger.warn('Optional field missing', { field: 'client.address' });
|
|
45
|
+
* logger.error('Processing failed', { error: 'Invalid syntax' });
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export declare const logger: {
|
|
49
|
+
/**
|
|
50
|
+
* Log debug messages (only shown when DEBUG environment variable is set)
|
|
51
|
+
*
|
|
52
|
+
* @method debug
|
|
53
|
+
* @param {string} message - The debug message to log
|
|
54
|
+
* @param {any} [data] - Optional contextual data to include with the log
|
|
55
|
+
* @returns {void}
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* // Enable debug mode: DEBUG=true node app.js
|
|
59
|
+
* logger.debug('Processing field', { name: 'client.name', type: 'string' });
|
|
60
|
+
* logger.debug('Import resolved', { path: './shared/header.md' });
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
debug: (message: string, data?: any) => void;
|
|
64
|
+
/**
|
|
65
|
+
* Log informational messages
|
|
66
|
+
*
|
|
67
|
+
* @method info
|
|
68
|
+
* @param {string} message - The informational message to log
|
|
69
|
+
* @param {any} [data] - Optional contextual data to include with the log
|
|
70
|
+
* @returns {void}
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* logger.info('Document processing completed');
|
|
74
|
+
* logger.info('Export successful', { format: 'html', path: './output.html' });
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
info: (message: string, data?: any) => void;
|
|
78
|
+
/**
|
|
79
|
+
* Log warning messages
|
|
80
|
+
*
|
|
81
|
+
* @method warn
|
|
82
|
+
* @param {string} message - The warning message to log
|
|
83
|
+
* @param {any} [data] - Optional contextual data to include with the log
|
|
84
|
+
* @returns {void}
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* logger.warn('Missing optional field', { field: 'client.phone' });
|
|
88
|
+
* logger.warn('Import file not found', { path: './missing.md' });
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
warn: (message: string, data?: any) => void;
|
|
92
|
+
/**
|
|
93
|
+
* Log error messages
|
|
94
|
+
*
|
|
95
|
+
* @method error
|
|
96
|
+
* @param {string} message - The error message to log
|
|
97
|
+
* @param {any} [data] - Optional contextual data to include with the log
|
|
98
|
+
* @returns {void}
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* logger.error('Failed to parse YAML frontmatter', { error: 'Invalid syntax' });
|
|
102
|
+
* logger.error('Document processing failed', { file: 'contract.md', reason: 'Missing imports' });
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
error: (message: string, data?: any) => void;
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,MAAM;IACjB;;;;;;;;;;;;;OAaG;qBACc,MAAM,SAAS,GAAG;IAQnC;;;;;;;;;;;;OAYG;oBACa,MAAM,SAAS,GAAG;IAIlC;;;;;;;;;;;;OAYG;oBACa,MAAM,SAAS,GAAG;IAIlC;;;;;;;;;;;;OAYG;qBACc,MAAM,SAAS,GAAG;CAGpC,CAAC"}
|