@jsonic/ini 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ini.d.ts ADDED
@@ -0,0 +1,24 @@
1
+ import { Jsonic } from 'jsonic';
2
+ type InlineCommentOptions = {
3
+ active?: boolean;
4
+ chars?: string[];
5
+ escape?: {
6
+ backslash?: boolean;
7
+ whitespace?: boolean;
8
+ };
9
+ };
10
+ type IniOptions = {
11
+ multiline?: {
12
+ continuation?: string | false;
13
+ indent?: boolean;
14
+ } | boolean;
15
+ section?: {
16
+ duplicate?: 'merge' | 'override' | 'error';
17
+ };
18
+ comment?: {
19
+ inline?: InlineCommentOptions;
20
+ };
21
+ };
22
+ declare function Ini(jsonic: Jsonic, _options: IniOptions): void;
23
+ export { Ini };
24
+ export type { IniOptions, InlineCommentOptions };
package/dist/ini.js ADDED
@@ -0,0 +1,447 @@
1
+ "use strict";
2
+ /* Copyright (c) 2021-2025 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Ini = Ini;
5
+ // Import Jsonic types used by plugin.
6
+ const jsonic_1 = require("jsonic");
7
+ const hoover_1 = require("@jsonic/hoover");
8
+ // --- BEGIN EMBEDDED ini-grammar.jsonic ---
9
+ const grammarText = `
10
+ # INI Grammar Definition
11
+ # Parsed by a standard Jsonic instance and passed to jsonic.grammar()
12
+ # Function references (@ prefixed) are resolved against the refs map
13
+
14
+ {
15
+ options: rule: { start: ini exclude: jsonic }
16
+ options: lex: { emptyResult: {} }
17
+ options: fixed: token: { '#EQ': '=' '#DOT': '.' '#OB': null '#CB': null '#CL': null }
18
+ options: line: { check: '@line-check' }
19
+ options: number: { lex: false }
20
+ options: string: { lex: true chars: QUOTE_CHARS abandon: true }
21
+ options: text: { lex: false }
22
+ options: comment: def: {
23
+ hash: { eatline: true }
24
+ slash: null
25
+ multi: null
26
+ semi: { line: true start: ';' lex: true eatline: true }
27
+ }
28
+
29
+ rule: ini: open: [
30
+ { s: '#OS' p: table b: 1 }
31
+ { s: ['#HK #ST #VL' '#EQ'] p: table b: 2 }
32
+ { s: ['#HV' '#OS'] p: table b: 2 }
33
+ { s: '#ZZ' }
34
+ ]
35
+
36
+ rule: table: open: [
37
+ { s: '#OS' p: dive }
38
+ { s: ['#HK #ST #VL' '#EQ'] p: map b: 2 }
39
+ { s: ['#HV' '#OS'] p: map b: 2 }
40
+ { s: '#CS' p: map }
41
+ { s: '#ZZ' }
42
+ ]
43
+ rule: table: close: [
44
+ { s: '#OS' r: table b: 1 }
45
+ { s: '#CS' r: table a: '@table-close-dive' }
46
+ { s: '#ZZ' }
47
+ ]
48
+
49
+ rule: dive: open: [
50
+ { s: ['#DK' '#DOT'] a: '@dive-push' p: dive }
51
+ { s: '#DK' a: '@dive-push' }
52
+ ]
53
+ rule: dive: close: [
54
+ { s: '#CS' b: 1 }
55
+ ]
56
+
57
+ rule: map: open: {
58
+ alts: [
59
+ { s: ['#HK #ST #VL' '#EQ'] c: '@is-table-parent' p: pair b: 2 }
60
+ { s: ['#HK #ST #VL'] c: '@is-table-parent' p: pair b: 1 }
61
+ ]
62
+ inject: { append: true }
63
+ }
64
+ rule: map: close: [
65
+ { s: '#OS' b: 1 }
66
+ { s: '#ZZ' }
67
+ ]
68
+
69
+ rule: pair: open: [
70
+ { s: ['#HK #ST #VL' '#EQ'] c: '@is-table-grandparent' p: val a: '@pair-key-eq' }
71
+ { s: '#HK' c: '@is-table-grandparent' a: '@pair-key-bool' }
72
+ ]
73
+ rule: pair: close: [
74
+ { s: ['#HK #ST #VL' '#CL'] c: '@is-table-grandparent' e: '@pair-close-err' }
75
+ { s: ['#HK #ST #VL'] b: 1 r: pair }
76
+ { s: '#OS' b: 1 }
77
+ ]
78
+ }
79
+ `;
80
+ // --- END EMBEDDED ini-grammar.jsonic ---
81
+ function Ini(jsonic, _options) {
82
+ // Resolve inline comment options.
83
+ const inlineComment = {
84
+ active: _options.comment?.inline?.active ?? false,
85
+ chars: _options.comment?.inline?.chars ?? ['#', ';'],
86
+ escape: {
87
+ backslash: _options.comment?.inline?.escape?.backslash ?? true,
88
+ whitespace: _options.comment?.inline?.escape?.whitespace ?? false,
89
+ },
90
+ };
91
+ // Build Hoover end.fixed arrays based on inline comment config.
92
+ // When active without whitespace mode, include comment chars as terminators.
93
+ // When whitespace mode is on, the custom value matcher handles detection instead.
94
+ const inlineCharsInFixed = inlineComment.active && !inlineComment.escape.whitespace;
95
+ const eolEndFixed = ['\n', '\r\n'];
96
+ if (inlineCharsInFixed) {
97
+ eolEndFixed.push(...inlineComment.chars);
98
+ }
99
+ eolEndFixed.push('');
100
+ const keyEndFixed = ['=', '\n', '\r\n'];
101
+ if (inlineCharsInFixed) {
102
+ keyEndFixed.push(...inlineComment.chars);
103
+ }
104
+ keyEndFixed.push('');
105
+ // Build escape maps. Always include '\\' -> '\\'.
106
+ // Add comment char escapes when inline comments are active with backslash escaping.
107
+ const eolEscape = { '\\': '\\' };
108
+ const keyEscape = { '\\': '\\' };
109
+ if (inlineComment.active && inlineComment.escape.backslash) {
110
+ for (const ch of inlineComment.chars) {
111
+ eolEscape[ch] = ch;
112
+ keyEscape[ch] = ch;
113
+ }
114
+ }
115
+ jsonic.use(hoover_1.Hoover, {
116
+ lex: {
117
+ order: 8.5e6,
118
+ },
119
+ block: {
120
+ endofline: {
121
+ start: {
122
+ rule: {
123
+ parent: {
124
+ include: ['pair', 'elem'],
125
+ },
126
+ },
127
+ },
128
+ end: {
129
+ fixed: eolEndFixed,
130
+ consume: ['\n', '\r\n'],
131
+ },
132
+ escapeChar: '\\',
133
+ escape: eolEscape,
134
+ allowUnknownEscape: true,
135
+ preserveEscapeChar: true,
136
+ trim: true,
137
+ },
138
+ key: {
139
+ token: '#HK',
140
+ start: {
141
+ rule: {
142
+ current: {
143
+ exclude: ['dive'],
144
+ },
145
+ state: 'oc',
146
+ },
147
+ },
148
+ end: {
149
+ fixed: keyEndFixed,
150
+ consume: false,
151
+ },
152
+ escape: keyEscape,
153
+ trim: true,
154
+ },
155
+ divekey: {
156
+ token: '#DK',
157
+ start: {
158
+ rule: {
159
+ current: {
160
+ include: ['dive'],
161
+ },
162
+ },
163
+ },
164
+ end: {
165
+ fixed: [']', '.'],
166
+ consume: false,
167
+ },
168
+ escapeChar: '\\',
169
+ escape: {
170
+ ']': ']',
171
+ '.': '.',
172
+ '\\': '\\',
173
+ },
174
+ allowUnknownEscape: true,
175
+ trim: true,
176
+ },
177
+ },
178
+ });
179
+ const dupSection = _options.section?.duplicate || 'merge';
180
+ // Track explicitly declared section paths per parse call.
181
+ // Cleared in the ini rule's bo handler, used in the table rule.
182
+ const declaredSections = new Set();
183
+ const ST = jsonic.token.ST;
184
+ // Named function references for declarative grammar definition.
185
+ const refs = {
186
+ // State actions (used by rule bo/bc/ac handlers).
187
+ '@ini-bo': (r) => {
188
+ r.node = {};
189
+ declaredSections.clear();
190
+ },
191
+ '@table-bo': (r) => {
192
+ r.node = r.parent.node;
193
+ if (r.prev.u.dive) {
194
+ let dive = r.prev.u.dive;
195
+ // Use null char as separator to avoid collisions with dots in key names.
196
+ let sectionKey = dive.join('\x00');
197
+ let isDuplicate = declaredSections.has(sectionKey);
198
+ if (isDuplicate && dupSection === 'error') {
199
+ throw new Error('Duplicate section: [' + dive.join('.') + ']');
200
+ }
201
+ for (let dI = 0; dI < dive.length; dI++) {
202
+ if (dI === dive.length - 1 && isDuplicate && dupSection === 'override') {
203
+ // Override: replace the section object entirely.
204
+ r.node = r.node[dive[dI]] = {};
205
+ }
206
+ else {
207
+ r.node = r.node[dive[dI]] = r.node[dive[dI]] || {};
208
+ }
209
+ }
210
+ declaredSections.add(sectionKey);
211
+ }
212
+ },
213
+ '@table-bc': (r) => {
214
+ Object.assign(r.node, r.child.node);
215
+ },
216
+ '@val-ac': (r) => {
217
+ if (ST === r.o0.tin && "'" === r.o0.src[0]) {
218
+ try {
219
+ r.node = JSON.parse(r.node);
220
+ }
221
+ catch (e) {
222
+ // Invalid JSON, just accept val as given
223
+ }
224
+ }
225
+ if (null != r.prev.u.ini_prev) {
226
+ r.prev.node = r.node = r.prev.o0.src + r.node;
227
+ }
228
+ else if (r.parent.u.ini_array) {
229
+ r.parent.u.ini_array.push(r.node);
230
+ }
231
+ },
232
+ // Alt actions.
233
+ '@table-close-dive': (r) => (r.u.dive = r.child.u.dive),
234
+ '@dive-push': (r) => (r.u.dive = r.parent.u.dive || []).push(r.o0.val),
235
+ '@pair-key-eq': (r) => {
236
+ let key = '' + r.o0.val;
237
+ if (Array.isArray(r.node[key])) {
238
+ r.u.ini_array = r.node[key];
239
+ }
240
+ else {
241
+ r.u.key = key;
242
+ if (2 < key.length && key.endsWith('[]')) {
243
+ key = r.u.key = key.slice(0, -2);
244
+ r.node[key] = r.u.ini_array = Array.isArray(r.node[key])
245
+ ? r.node[key]
246
+ : undefined === r.node[key]
247
+ ? []
248
+ : [r.node[key]];
249
+ }
250
+ else {
251
+ r.u.pair = true;
252
+ }
253
+ }
254
+ },
255
+ '@pair-key-bool': (r) => {
256
+ let key = r.o0.val;
257
+ if ('string' === typeof key && 0 < key.length) {
258
+ r.parent.node[key] = true;
259
+ }
260
+ },
261
+ '@val-empty': (r) => (r.node = ''),
262
+ // Conditions.
263
+ '@is-table-parent': (r) => 'table' === r.parent.name,
264
+ '@is-table-grandparent': (r) => 'table' === r.parent.parent.name,
265
+ // Error handlers.
266
+ '@pair-close-err': (r) => r.c1,
267
+ // Options callbacks.
268
+ '@line-check': (lex) => {
269
+ if ('val' === lex.ctx.rule.name) {
270
+ return { done: true, token: undefined };
271
+ }
272
+ },
273
+ };
274
+ // Parse embedded grammar definition using a separate standard Jsonic instance.
275
+ const grammarDef = jsonic_1.Jsonic.make()(grammarText);
276
+ grammarDef.ref = refs;
277
+ grammarDef.options.string.chars = `'"`;
278
+ jsonic.grammar(grammarDef);
279
+ // Custom value lex matcher.
280
+ // Needed when: (a) multiline continuation is enabled, or
281
+ // (b) inline comments are active with whitespace-prefix detection.
282
+ // Runs at higher priority than Hoover's endofline block to intercept values.
283
+ const multiline = true === _options.multiline ? {} : _options.multiline;
284
+ const needCustomMatcher = !!multiline || (inlineComment.active && inlineComment.escape.whitespace);
285
+ if (needCustomMatcher) {
286
+ const continuation = multiline
287
+ ? (multiline.continuation !== undefined ? multiline.continuation : '\\')
288
+ : false;
289
+ const indent = multiline ? (multiline.indent || false) : false;
290
+ const HV_TIN = jsonic.token('#HV');
291
+ // Build a Set for fast comment char lookup in the matcher.
292
+ const commentCharSet = new Set(inlineComment.chars);
293
+ jsonic.options({
294
+ lex: {
295
+ match: {
296
+ multiline: {
297
+ // Lower order than Hoover (8.5e6) so this runs first.
298
+ order: 8.4e6,
299
+ make: () => {
300
+ return function multilineMatcher(lex) {
301
+ // Only match in value context during rule open state
302
+ // (same as Hoover endofline block, which defaults to state 'o').
303
+ let ctx = lex.ctx;
304
+ let parentName = ctx?.rule?.parent?.name;
305
+ if (parentName !== 'pair' && parentName !== 'elem') {
306
+ return undefined;
307
+ }
308
+ if (ctx?.rule?.state !== 'o') {
309
+ return undefined;
310
+ }
311
+ let src = lex.src;
312
+ let sI = lex.pnt.sI;
313
+ let rI = lex.pnt.rI;
314
+ let cI = lex.pnt.cI;
315
+ let startI = sI;
316
+ let chars = [];
317
+ while (sI < src.length) {
318
+ let c = src[sI];
319
+ // Check for inline comment characters (end value).
320
+ if (inlineComment.active && commentCharSet.has(c)) {
321
+ if (inlineComment.escape.whitespace) {
322
+ // Only treat as comment if preceded by whitespace.
323
+ if (chars.length > 0 &&
324
+ (chars[chars.length - 1] === ' ' ||
325
+ chars[chars.length - 1] === '\t')) {
326
+ break;
327
+ }
328
+ // Not preceded by whitespace: treat as literal.
329
+ chars.push(c);
330
+ sI++;
331
+ cI++;
332
+ continue;
333
+ }
334
+ break;
335
+ }
336
+ // Check for backslash continuation before newline.
337
+ if (false !== continuation && c === continuation) {
338
+ if (src[sI + 1] === '\n') {
339
+ // \<LF> continuation
340
+ sI += 2;
341
+ rI++;
342
+ cI = 0;
343
+ // Consume leading whitespace on continuation line.
344
+ while (sI < src.length &&
345
+ (src[sI] === ' ' || src[sI] === '\t')) {
346
+ sI++;
347
+ cI++;
348
+ }
349
+ continue;
350
+ }
351
+ if (src[sI + 1] === '\r' && src[sI + 2] === '\n') {
352
+ // \<CR><LF> continuation
353
+ sI += 3;
354
+ rI++;
355
+ cI = 0;
356
+ while (sI < src.length &&
357
+ (src[sI] === ' ' || src[sI] === '\t')) {
358
+ sI++;
359
+ cI++;
360
+ }
361
+ continue;
362
+ }
363
+ }
364
+ // Check for newline.
365
+ if (c === '\n' || (c === '\r' && src[sI + 1] === '\n')) {
366
+ // Indent continuation: next line starts with whitespace.
367
+ if (indent) {
368
+ let nextI = c === '\r' ? sI + 2 : sI + 1;
369
+ if (nextI < src.length &&
370
+ (src[nextI] === ' ' || src[nextI] === '\t')) {
371
+ rI++;
372
+ cI = 0;
373
+ sI = nextI;
374
+ // Consume leading whitespace.
375
+ while (sI < src.length &&
376
+ (src[sI] === ' ' || src[sI] === '\t')) {
377
+ sI++;
378
+ cI++;
379
+ }
380
+ chars.push(' ');
381
+ continue;
382
+ }
383
+ }
384
+ // Normal newline: end value and consume the newline.
385
+ if (c === '\r') {
386
+ sI += 2;
387
+ }
388
+ else {
389
+ sI++;
390
+ }
391
+ rI++;
392
+ cI = 0;
393
+ break;
394
+ }
395
+ // Handle escape sequences.
396
+ if (c === '\\' && sI + 1 < src.length) {
397
+ let next = src[sI + 1];
398
+ if (inlineComment.active &&
399
+ inlineComment.escape.backslash &&
400
+ commentCharSet.has(next)) {
401
+ chars.push(next);
402
+ sI += 2;
403
+ cI += 2;
404
+ continue;
405
+ }
406
+ if (next === '\\') {
407
+ chars.push('\\');
408
+ sI += 2;
409
+ cI += 2;
410
+ continue;
411
+ }
412
+ }
413
+ chars.push(c);
414
+ sI++;
415
+ cI++;
416
+ }
417
+ let val = chars.join('').trim();
418
+ let pnt = (0, jsonic_1.makePoint)(lex.pnt.len, sI, rI, cI);
419
+ let tkn = lex.token(HV_TIN, val, src.substring(startI, sI), pnt);
420
+ tkn.use = { block: 'endofline' };
421
+ lex.pnt.sI = sI;
422
+ lex.pnt.rI = rI;
423
+ lex.pnt.cI = cI;
424
+ return tkn;
425
+ };
426
+ }
427
+ }
428
+ }
429
+ }
430
+ });
431
+ }
432
+ // Val rule needs custom injection modifier not supported by grammar spec.
433
+ // Note: state actions (@ini-bo, @table-bo, @table-bc, @val-ac) are
434
+ // auto-applied by fnref() via the @rulename-{bo,ao,bc,ac} convention.
435
+ jsonic.rule('val', (rs) => {
436
+ rs.fnref(refs)
437
+ .open([
438
+ // Since OS,CS are fixed tokens, concat them with string value
439
+ // if they appear as first char in a RHS value.
440
+ { s: ['#OS #CS'], r: 'val', u: { ini_prev: true } },
441
+ { s: '#ZZ', a: '@val-empty' },
442
+ ], {
443
+ custom: (alts) => alts.filter((alt) => alt.g.join() !== 'json,list'),
444
+ });
445
+ });
446
+ }
447
+ //# sourceMappingURL=ini.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ini.js","sourceRoot":"","sources":["../src/ini.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"root":["../src/ini.ts"],"version":"5.9.3"}
package/package.json CHANGED
@@ -1,18 +1,16 @@
1
1
  {
2
2
  "name": "@jsonic/ini",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "This plugin allows the [Jsonic](https://jsonic.senecajs.org) JSON parser to support INI syntax.",
5
- "main": "ini.js",
5
+ "main": "dist/ini.js",
6
6
  "type": "commonjs",
7
- "browser": "ini.min.js",
8
- "types": "ini.d.ts",
7
+ "types": "dist/ini.d.ts",
9
8
  "homepage": "https://github.com/jsonicjs/ini",
10
9
  "keywords": [
11
- "pattern",
12
- "matcher",
13
- "object",
14
- "property",
15
- "json"
10
+ "json",
11
+ "jsonic",
12
+ "parser",
13
+ "ini"
16
14
  ],
17
15
  "author": "Richard Rodger (http://richardrodger.com)",
18
16
  "repository": {
@@ -20,38 +18,29 @@
20
18
  "url": "git://github.com/jsonicjs/ini.git"
21
19
  },
22
20
  "scripts": {
23
- "test": "jest --coverage",
24
- "test-some": "jest -t",
25
- "test-watch": "jest --coverage --watchAll",
26
- "watch": "tsc -w -d",
27
- "doc": "jsonic-doc",
28
- "build": "tsc -d",
29
- "prettier": "prettier --write --no-semi --single-quote *.ts test/*.js",
30
- "clean": "rm -rf node_modules yarn.lock package-lock.json",
21
+ "test": "node --enable-source-maps --test \"dist-test/*.test.js\"",
22
+ "test-some": "node --enable-source-maps --test-name-pattern=\"$npm_config_pattern\" --test \"dist-test/*.test.js\"",
23
+ "embed": "node embed-grammar.js",
24
+ "watch": "tsc --build src test -w",
25
+ "build": "node embed-grammar.js && tsc -p node_modules/@jsonic/hoover/src/tsconfig.json && tsc --build src test",
26
+ "clean": "rm -rf dist dist-test node_modules yarn.lock package-lock.json",
31
27
  "reset": "npm run clean && npm i && npm run build && npm test",
32
28
  "repo-tag": "REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;",
33
29
  "repo-publish": "npm run clean && npm i && npm run repo-publish-quick",
34
- "repo-publish-quick": "npm run prettier && npm run build && npm run test && npm run repo-tag && npm publish --access public --registry https://registry.npmjs.org "
30
+ "repo-publish-quick": "npm run build && npm run test && npm run repo-tag && npm publish --access public --registry https://registry.npmjs.org "
35
31
  },
36
32
  "license": "MIT",
37
33
  "files": [
38
- "*.ts",
39
- "*.js",
40
- "*.map",
34
+ "src",
35
+ "dist",
41
36
  "LICENSE"
42
37
  ],
43
38
  "devDependencies": {
44
- "@jsonic/doc": "^0.0.9",
45
- "@types/jest": "^29.5.14",
46
- "es-jest": "^2.1.0",
47
- "esbuild": "^0.24.0",
48
- "ini": "^5.0.0",
49
- "jest": "^29.7.0",
50
- "prettier": "^3.3.3",
51
- "typescript": "^5.6.3"
39
+ "@types/node": "^25.6.0",
40
+ "typescript": "^5.9.3"
52
41
  },
53
42
  "peerDependencies": {
54
- "@jsonic/hoover": ">=0.7.0",
55
- "jsonic": ">=2.15.2"
43
+ "@jsonic/hoover": ">=0",
44
+ "jsonic": ">=2"
56
45
  }
57
46
  }