UNPKG

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
/** * 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