UNPKG

yini-parser

Version:

Node.js parser for YINI — a clean, structured INI alternative with types, simple section nesting, comments, and strict mode.

60 lines (59 loc) 1.82 kB
export type TPersistThreshold = '0-Ignore-Errors' | '1-Abort-on-Errors' | '2-Abort-Even-on-Warnings'; export type TIssueType = 'Fatal-Error' | 'Internal-Error' | 'Syntax-Error' | 'Syntax-Warning' | 'Notice' | 'Info'; export type TJSObject = any; export type TBailSensitivityLevel = 0 | 1 | 2; export interface IParseMainOptions { isStrict: boolean; bailSensitivityLevel: TBailSensitivityLevel; isIncludeMeta: boolean; isWithDiagnostics: boolean; isWithTiming: boolean; } export interface IParseMetaData { strictMode: boolean; hasTerminal: boolean; sections: null | number; members: null | number; keysParsed: null | number; sectionChains: null | number; diagnostics?: { bailSensitivityLevel: TBailSensitivityLevel; errors: null | number; warnings: null | number; infoAndNotices: null | number; envs: { NODE_ENV: undefined | string; APP_ENV: undefined | string; libNodeEnv: undefined | string; libAppEnv: undefined | string; }; libFlags: { isDev: boolean; isDebug: boolean; }; }; timing?: { totalMs: null | number; phase1Ms: null | number; phase2Ms: null | number; phase3Ms: null | number; }; } export type TSyntaxTreeContainer = { _syntaxTree: TSyntaxTree; _hasTerminal: boolean; _meta_numOfSections: number; _meta_numOfMembers: number; _meta_numOfChains: number; }; export type TSyntaxTree = IChainContainer[]; export type TSectionHeaderType = undefined | 'Classic-Header-Marker' | 'Numeric-Header-Marker'; export interface IChainContainer { originLevel: number; chain: any; } export interface ISectionResult { level: number; name: string; members: any; }