legal-markdown-js
Version:
Node.js implementation of LegalMarkdown for processing legal documents with markdown and YAML - Complete feature parity with Ruby version
83 lines • 2.83 kB
TypeScript
/**
* Regular expression patterns for Legal Markdown parsing
*
* This module contains all the regex patterns used throughout the system
* for parsing different markdown elements like headers, imports, clauses, and references.
*/
/**
* Regular expression patterns for parsing header structures
* @example
* ```typescript
* import { HEADER_PATTERNS } from './constants.js';
*
* // Match traditional headers: l. Section, ll. Subsection
* const traditionalHeaders = content.match(HEADER_PATTERNS.TRADITIONAL);
*
* // Match alternative headers: l1. Section, l2. Subsection
* const alternativeHeaders = content.match(HEADER_PATTERNS.ALTERNATIVE);
* ```
*/
export declare const HEADER_PATTERNS: {
/** Traditional header pattern: l. Section, ll. Subsection, etc. */
readonly TRADITIONAL: RegExp;
/** Alternative header pattern: l1. Section, l2. Subsection, etc. */
readonly ALTERNATIVE: RegExp;
};
/**
* Regular expression patterns for parsing import statements
* @example
* ```typescript
* import { IMPORT_PATTERNS } from './constants.js';
*
* // Match partial imports: [[filename]]
* const partialImports = content.match(IMPORT_PATTERNS.PARTIAL);
*
* // Match full file imports: @import filename
* const fullImports = content.match(IMPORT_PATTERNS.FULL_FILE);
* ```
*/
export declare const IMPORT_PATTERNS: {
/** Partial import pattern: [[filename]] */
readonly PARTIAL: RegExp;
/** Full file import pattern: @import filename */
readonly FULL_FILE: RegExp;
};
/**
* Regular expression patterns for parsing optional and conditional clauses
* @example
* ```typescript
* import { CLAUSE_PATTERNS } from './constants.js';
*
* // Match optional clauses: {{field.name}}
* const optionalClauses = content.match(CLAUSE_PATTERNS.OPTIONAL);
*
* // Match conditional clauses: {{#if condition}}content{{/if}}
* const conditionalClauses = content.match(CLAUSE_PATTERNS.CONDITIONAL);
* ```
*/
export declare const CLAUSE_PATTERNS: {
/** Optional clause pattern: {{field.name}} */
readonly OPTIONAL: RegExp;
/** Conditional clause pattern: {{#if condition}}content{{/if}} */
readonly CONDITIONAL: RegExp;
};
/**
* Regular expression patterns for parsing cross-references
* @example
* ```typescript
* import { REFERENCE_PATTERNS } from './constants.js';
*
* // Match cross-references: [[reference]]
* const crossRefs = content.match(REFERENCE_PATTERNS.CROSS_REF);
*
* // Match numbered references: [1], [2], etc.
* const numberedRefs = content.match(REFERENCE_PATTERNS.NUMBERED_REF);
* ```
*/
export declare const REFERENCE_PATTERNS: {
/** Cross-reference pattern: [[reference]] */
readonly CROSS_REF: RegExp;
/** Numbered reference pattern: [1], [2], etc. */
readonly NUMBERED_REF: RegExp;
};
//# sourceMappingURL=patterns.d.ts.map