toon-parser 2.2.1 → 3.0.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.
Files changed (66) hide show
  1. package/dist/core.cjs +630 -0
  2. package/dist/core.d.ts +73 -0
  3. package/dist/core.d.ts.map +1 -0
  4. package/dist/core.js +625 -0
  5. package/dist/core.js.map +1 -0
  6. package/dist/csv.cjs +16 -24
  7. package/dist/csv.d.ts +2 -1
  8. package/dist/csv.d.ts.map +1 -1
  9. package/dist/csv.js +8 -21
  10. package/dist/csv.js.map +1 -1
  11. package/dist/html.cjs +9 -7
  12. package/dist/html.d.ts +4 -2
  13. package/dist/html.d.ts.map +1 -1
  14. package/dist/html.js +7 -5
  15. package/dist/html.js.map +1 -1
  16. package/dist/index.cjs +5 -816
  17. package/dist/index.d.ts +2 -51
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +5 -875
  20. package/dist/index.js.map +1 -1
  21. package/dist/inferType.cjs +39 -0
  22. package/dist/inferType.d.ts +10 -0
  23. package/dist/inferType.d.ts.map +1 -0
  24. package/dist/inferType.js +21 -0
  25. package/dist/inferType.js.map +1 -0
  26. package/dist/internal/constants.cjs +52 -0
  27. package/dist/internal/constants.d.ts +9 -0
  28. package/dist/internal/constants.d.ts.map +1 -0
  29. package/dist/internal/constants.js +15 -0
  30. package/dist/internal/constants.js.map +1 -0
  31. package/dist/internal/errors.cjs +34 -0
  32. package/dist/internal/errors.d.ts +5 -0
  33. package/dist/internal/errors.d.ts.map +1 -0
  34. package/dist/internal/errors.js +8 -0
  35. package/dist/internal/errors.js.map +1 -0
  36. package/dist/internal/primitives.cjs +304 -0
  37. package/dist/internal/primitives.d.ts +23 -0
  38. package/dist/internal/primitives.d.ts.map +1 -0
  39. package/dist/internal/primitives.js +289 -0
  40. package/dist/internal/primitives.js.map +1 -0
  41. package/dist/internal/security.cjs +118 -0
  42. package/dist/internal/security.d.ts +31 -0
  43. package/dist/internal/security.d.ts.map +1 -0
  44. package/dist/internal/security.js +87 -0
  45. package/dist/internal/security.js.map +1 -0
  46. package/dist/internal/types.cjs +16 -0
  47. package/dist/internal/types.d.ts +37 -0
  48. package/dist/internal/types.d.ts.map +1 -0
  49. package/dist/internal/types.js +2 -0
  50. package/dist/internal/types.js.map +1 -0
  51. package/dist/log.cjs +43 -17
  52. package/dist/log.d.ts +4 -3
  53. package/dist/log.d.ts.map +1 -1
  54. package/dist/log.js +47 -19
  55. package/dist/log.js.map +1 -1
  56. package/dist/url.cjs +22 -21
  57. package/dist/url.d.ts +1 -1
  58. package/dist/url.d.ts.map +1 -1
  59. package/dist/url.js +23 -29
  60. package/dist/url.js.map +1 -1
  61. package/dist/xml.cjs +7 -5
  62. package/dist/xml.d.ts +1 -1
  63. package/dist/xml.d.ts.map +1 -1
  64. package/dist/xml.js +5 -3
  65. package/dist/xml.js.map +1 -1
  66. package/package.json +40 -10
package/dist/core.d.ts ADDED
@@ -0,0 +1,73 @@
1
+ export type { JsonPrimitive } from './internal/types.js';
2
+ export { ToonError } from './internal/errors.js';
3
+ export { enforceInputLength } from './internal/security.js';
4
+ export interface SecurityOptions {
5
+ /**
6
+ * Maximum nesting depth (objects + arrays). Defaults to 64.
7
+ */
8
+ maxDepth?: number;
9
+ /**
10
+ * Maximum allowed array length. Defaults to 50_000.
11
+ */
12
+ maxArrayLength?: number;
13
+ /**
14
+ * Maximum total nodes (object fields + array items) processed.
15
+ * Defaults to 250_000 to limit resource exhaustion.
16
+ */
17
+ maxTotalNodes?: number;
18
+ /**
19
+ * Keys that are rejected to avoid prototype pollution.
20
+ * Defaults to ["__proto__", "constructor", "prototype"].
21
+ */
22
+ disallowedKeys?: string[];
23
+ /**
24
+ * Maximum allowed length of a raw input string passed to a `*ToToon` /
25
+ * `*ToJson` decoder. Defaults to 5_000_000 (5 MB).
26
+ * Set to `Infinity` to disable.
27
+ */
28
+ maxInputLength?: number;
29
+ }
30
+ export interface JsonToToonOptions extends SecurityOptions {
31
+ /**
32
+ * Number of spaces per indentation level. Defaults to 2.
33
+ */
34
+ indent?: number;
35
+ /**
36
+ * Delimiter to use for inline arrays and tabular rows.
37
+ * Defaults to comma.
38
+ */
39
+ delimiter?: ',' | '|' | '\t';
40
+ /**
41
+ * When true, object keys are sorted alphabetically to keep output deterministic.
42
+ * Defaults to false (preserve encounter order).
43
+ */
44
+ sortKeys?: boolean;
45
+ /**
46
+ * TOON v3 §13.4 key folding. When `'safe'`, single-key object chains are folded
47
+ * into dotted paths (e.g. `{a:{b:{c:1}}}` -> `a.b.c: 1`) provided every segment
48
+ * matches the IdentifierSegment grammar. Defaults to `'off'`.
49
+ */
50
+ keyFolding?: 'off' | 'safe';
51
+ /**
52
+ * Maximum number of segments included in a folded path (counting from the
53
+ * outermost key). Has no practical effect below 2. Defaults to Infinity when
54
+ * `keyFolding` is `'safe'`.
55
+ */
56
+ flattenDepth?: number;
57
+ }
58
+ export interface ToonToJsonOptions extends SecurityOptions {
59
+ /**
60
+ * Enforce declared array lengths, field counts, and indentation consistency.
61
+ * Defaults to true.
62
+ */
63
+ strict?: boolean;
64
+ /**
65
+ * TOON v3 §13.4 path expansion. When `'safe'`, dotted keys are expanded into
66
+ * nested objects (e.g. `a.b.c: 1` -> `{a:{b:{c:1}}}`) provided every segment
67
+ * matches the IdentifierSegment grammar. Defaults to `'off'`.
68
+ */
69
+ expandPaths?: 'off' | 'safe';
70
+ }
71
+ export declare function jsonToToon(value: unknown, options?: JsonToToonOptions): string;
72
+ export declare function toonToJson(text: string, options?: ToonToJsonOptions): unknown;
73
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAoCA,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC5B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC9B;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CA0MlF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CA2YjF"}