legal-markdown-js
Version:
Node.js implementation of LegalMarkdown for processing legal documents with markdown and YAML - Complete feature parity with Ruby version
58 lines • 1.8 kB
TypeScript
/**
* Remark Plugin for Optional Clause Processing
*
* This plugin processes optional clauses in legal documents using conditional
* syntax. It evaluates conditions based on metadata values and includes or
* excludes content blocks accordingly.
*
* Features:
* - Conditional content inclusion/exclusion
* - Complex boolean expressions
* - Nested conditional blocks
* - Multiple condition operators
* - Variable-based conditions
*
* @example
* ```typescript
* import { unified } from 'unified';
* import remarkParse from 'remark-parse';
* import remarkStringify from 'remark-stringify';
* import { remarkClauses } from './clauses';
*
* const processor = unified()
* .use(remarkParse)
* .use(remarkClauses, {
* metadata: { jurisdiction: 'US', hasWarranty: true }
* })
* .use(remarkStringify);
* ```
*
* @module
*/
import { Plugin } from 'unified';
import { Root } from 'mdast';
/**
* Options for the remark clauses plugin
* @interface RemarkClausesOptions
*/
export interface RemarkClausesOptions {
/** Document metadata for condition evaluation */
metadata: Record<string, any>;
/** Enable debug logging */
debug?: boolean;
/** Enable field tracking (to coordinate with template fields plugin) */
enableFieldTracking?: boolean;
}
/**
* Remark plugin for processing optional clauses
*
* This plugin identifies and processes conditional blocks in markdown text,
* evaluating conditions against document metadata and including or excluding
* content based on the results.
*
* @param options - Configuration options for clause processing
* @returns Remark plugin transformer function
*/
export declare const remarkClauses: Plugin<[RemarkClausesOptions], Root>;
export default remarkClauses;
//# sourceMappingURL=clauses.d.ts.map