yini-parser
Version:
Readable configuration without YAML foot-guns or JSON noise. The official Node.js parser for YINI config format — An INI-inspired configuration format with clear nesting, explicit types, and predictable parsing.
35 lines • 1.58 kB
JavaScript
;
// --- Parsing Rule Values -------------------------------------------------
Object.defineProperty(exports, "__esModule", { value: true });
exports.isEmptyValueRule = exports.isDocumentTerminatorRule = exports.isDuplicateKeyPolicy = exports.EmptyValueRules = exports.DocumentTerminatorRules = exports.DuplicateKeyPolicies = void 0;
/*
NOTE: These rule values are re-exported as **types** (derived from these consants) in types/index.ts.
NOTE: These constant gives runtime access as they are also used in error messages.
*/
exports.DuplicateKeyPolicies = [
'error',
'warn-and-keep-first', // Keep first with a warning.
'warn-and-overwrite', // 'warn-and-overwrite' = 'warn-and-keep-last'
'keep-first', // Silent, first wins.
'overwrite', // Silent, last wins.
];
exports.DocumentTerminatorRules = [
'optional',
'warn-if-missing',
'required',
];
exports.EmptyValueRules = [
'allow',
'allow-with-warning',
'disallow',
];
// --- Runtime Guards ------------------------------------------------------
const isDuplicateKeyPolicy = (v) => typeof v === 'string' &&
exports.DuplicateKeyPolicies.includes(v);
exports.isDuplicateKeyPolicy = isDuplicateKeyPolicy;
const isDocumentTerminatorRule = (v) => typeof v === 'string' &&
exports.DocumentTerminatorRules.includes(v);
exports.isDocumentTerminatorRule = isDocumentTerminatorRule;
const isEmptyValueRule = (v) => typeof v === 'string' && exports.EmptyValueRules.includes(v);
exports.isEmptyValueRule = isEmptyValueRule;
//# sourceMappingURL=rulesConstAndGuards.js.map