legal-markdown-js
Version:
Node.js implementation of LegalMarkdown for processing legal documents with markdown and YAML - Complete feature parity with Ruby version
71 lines • 2.2 kB
JavaScript
/**
* Shared field-tracking enablement flag.
*
* Lives in its own module so both `template-loops` (which sets it before each
* Handlebars compilation) and `handlebars-engine` (which reads it inside
* helper callbacks) can import it without creating a circular dependency.
*/
let _enabled = false;
let _astFieldTracking = false;
let _logicBranchHighlighting = false;
let _logicBranchCounter = 0;
const _helperInvocations = new Map();
export function setFieldTrackingEnabled(enabled) {
_enabled = enabled;
}
export function isFieldTrackingEnabled() {
return _enabled;
}
export function setAstFieldTrackingEnabled(enabled) {
_astFieldTracking = enabled;
}
export function isAstFieldTrackingEnabled() {
return _astFieldTracking;
}
export function setLogicBranchHighlightingEnabled(enabled) {
_logicBranchHighlighting = enabled;
}
export function isLogicBranchHighlightingEnabled() {
return _logicBranchHighlighting;
}
/**
* @deprecated Use setAstFieldTrackingEnabled.
*/
export function setExperimentalAstFieldTracking(enabled) {
setAstFieldTrackingEnabled(enabled);
}
/**
* @deprecated Use isAstFieldTrackingEnabled.
*/
export function isExperimentalAstFieldTrackingEnabled() {
return isAstFieldTrackingEnabled();
}
/**
* @deprecated Use setLogicBranchHighlightingEnabled.
*/
export function setExperimentalLogicBranchHighlighting(enabled) {
setLogicBranchHighlightingEnabled(enabled);
}
/**
* @deprecated Use isLogicBranchHighlightingEnabled.
*/
export function isExperimentalLogicBranchHighlightingEnabled() {
return isLogicBranchHighlightingEnabled();
}
export function resetLogicBranchCounter() {
_logicBranchCounter = 0;
}
export function nextLogicBranchId() {
_logicBranchCounter += 1;
return _logicBranchCounter;
}
export function setHelperInvocationInfo(helperName, line, column, info) {
_helperInvocations.set(`${helperName}:${line}:${column}`, info);
}
export function getHelperInvocationInfo(helperName, line, column) {
return _helperInvocations.get(`${helperName}:${line}:${column}`);
}
export function clearHelperInvocationInfo() {
_helperInvocations.clear();
}
//# sourceMappingURL=field-tracking-state.js.map