toon-parser 2.2.0 → 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 (67) hide show
  1. package/README.md +8 -2
  2. package/dist/core.cjs +630 -0
  3. package/dist/core.d.ts +73 -0
  4. package/dist/core.d.ts.map +1 -0
  5. package/dist/core.js +625 -0
  6. package/dist/core.js.map +1 -0
  7. package/dist/csv.cjs +16 -24
  8. package/dist/csv.d.ts +2 -1
  9. package/dist/csv.d.ts.map +1 -1
  10. package/dist/csv.js +8 -21
  11. package/dist/csv.js.map +1 -1
  12. package/dist/html.cjs +9 -7
  13. package/dist/html.d.ts +4 -2
  14. package/dist/html.d.ts.map +1 -1
  15. package/dist/html.js +7 -5
  16. package/dist/html.js.map +1 -1
  17. package/dist/index.cjs +5 -816
  18. package/dist/index.d.ts +2 -51
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +5 -875
  21. package/dist/index.js.map +1 -1
  22. package/dist/inferType.cjs +39 -0
  23. package/dist/inferType.d.ts +10 -0
  24. package/dist/inferType.d.ts.map +1 -0
  25. package/dist/inferType.js +21 -0
  26. package/dist/inferType.js.map +1 -0
  27. package/dist/internal/constants.cjs +52 -0
  28. package/dist/internal/constants.d.ts +9 -0
  29. package/dist/internal/constants.d.ts.map +1 -0
  30. package/dist/internal/constants.js +15 -0
  31. package/dist/internal/constants.js.map +1 -0
  32. package/dist/internal/errors.cjs +34 -0
  33. package/dist/internal/errors.d.ts +5 -0
  34. package/dist/internal/errors.d.ts.map +1 -0
  35. package/dist/internal/errors.js +8 -0
  36. package/dist/internal/errors.js.map +1 -0
  37. package/dist/internal/primitives.cjs +304 -0
  38. package/dist/internal/primitives.d.ts +23 -0
  39. package/dist/internal/primitives.d.ts.map +1 -0
  40. package/dist/internal/primitives.js +289 -0
  41. package/dist/internal/primitives.js.map +1 -0
  42. package/dist/internal/security.cjs +118 -0
  43. package/dist/internal/security.d.ts +31 -0
  44. package/dist/internal/security.d.ts.map +1 -0
  45. package/dist/internal/security.js +87 -0
  46. package/dist/internal/security.js.map +1 -0
  47. package/dist/internal/types.cjs +16 -0
  48. package/dist/internal/types.d.ts +37 -0
  49. package/dist/internal/types.d.ts.map +1 -0
  50. package/dist/internal/types.js +2 -0
  51. package/dist/internal/types.js.map +1 -0
  52. package/dist/log.cjs +43 -17
  53. package/dist/log.d.ts +4 -3
  54. package/dist/log.d.ts.map +1 -1
  55. package/dist/log.js +47 -19
  56. package/dist/log.js.map +1 -1
  57. package/dist/url.cjs +22 -21
  58. package/dist/url.d.ts +1 -1
  59. package/dist/url.d.ts.map +1 -1
  60. package/dist/url.js +23 -29
  61. package/dist/url.js.map +1 -1
  62. package/dist/xml.cjs +7 -5
  63. package/dist/xml.d.ts +1 -1
  64. package/dist/xml.d.ts.map +1 -1
  65. package/dist/xml.js +5 -3
  66. package/dist/xml.js.map +1 -1
  67. package/package.json +40 -10
package/dist/csv.cjs CHANGED
@@ -22,44 +22,47 @@ __export(csv_exports, {
22
22
  csvToToon: () => csvToToon
23
23
  });
24
24
  module.exports = __toCommonJS(csv_exports);
25
- var import_index = require("./index.cjs");
25
+ var import_core = require("./core.cjs");
26
+ var import_inferType = require("./inferType.cjs");
26
27
  function csvToToon(csv, options = {}) {
28
+ (0, import_core.enforceInputLength)(csv, options);
27
29
  const delimiter = options.delimiter ?? ",";
28
30
  if (delimiter.length !== 1) {
29
- throw new Error("Delimiter must be a single character");
31
+ throw new import_core.ToonError("Delimiter must be a single character");
30
32
  }
31
33
  const hasHeader = options.hasHeader ?? true;
32
34
  const rows = parseCsv(csv, delimiter);
33
35
  if (rows.length === 0) {
34
- return (0, import_index.jsonToToon)([], options);
36
+ return (0, import_core.jsonToToon)([], options);
35
37
  }
36
38
  if (hasHeader) {
37
39
  const header = rows[0];
38
- if (!header) return (0, import_index.jsonToToon)([], options);
40
+ if (!header) return (0, import_core.jsonToToon)([], options);
39
41
  const width = header.length;
40
42
  const dataRows = rows.slice(1);
41
43
  for (const row of dataRows) {
42
44
  if (row.length !== width) {
43
- throw new Error("Malformed CSV: row length mismatch");
45
+ throw new import_core.ToonError("Malformed CSV: row length mismatch");
44
46
  }
45
47
  }
46
48
  const data = dataRows.map((row) => {
47
49
  const obj = {};
48
50
  header.forEach((key, index) => {
49
- obj[key] = inferType(row[index] ?? "");
51
+ obj[key] = (0, import_inferType.inferType)(row[index] ?? "");
50
52
  });
51
53
  return obj;
52
54
  });
53
- return (0, import_index.jsonToToon)(data, options);
55
+ return (0, import_core.jsonToToon)(data, options);
54
56
  } else {
55
- const data = rows.map((row) => row.map((cell) => inferType(cell)));
56
- return (0, import_index.jsonToToon)(data, options);
57
+ const data = rows.map((row) => row.map((cell) => (0, import_inferType.inferType)(cell)));
58
+ return (0, import_core.jsonToToon)(data, options);
57
59
  }
58
60
  }
59
61
  function csvToJson(csv, options = {}) {
62
+ (0, import_core.enforceInputLength)(csv, options);
60
63
  const delimiter = options.delimiter ?? ",";
61
64
  if (delimiter.length !== 1) {
62
- throw new Error("Delimiter must be a single character");
65
+ throw new import_core.ToonError("Delimiter must be a single character");
63
66
  }
64
67
  const hasHeader = options.hasHeader ?? true;
65
68
  const rows = parseCsv(csv, delimiter);
@@ -71,18 +74,18 @@ function csvToJson(csv, options = {}) {
71
74
  const body = rows.slice(1);
72
75
  for (const row of body) {
73
76
  if (row.length !== width) {
74
- throw new Error("Malformed CSV: row length mismatch");
77
+ throw new import_core.ToonError("Malformed CSV: row length mismatch");
75
78
  }
76
79
  }
77
80
  return body.map((row) => {
78
81
  const obj = {};
79
82
  header.forEach((key, idx) => {
80
- obj[key] = inferType(row[idx] ?? "");
83
+ obj[key] = (0, import_inferType.inferType)(row[idx] ?? "");
81
84
  });
82
85
  return obj;
83
86
  });
84
87
  }
85
- return rows.map((row) => row.map((cell) => inferType(cell)));
88
+ return rows.map((row) => row.map((cell) => (0, import_inferType.inferType)(cell)));
86
89
  }
87
90
  function parseCsv(text, delimiter) {
88
91
  const rows = [];
@@ -132,17 +135,6 @@ function parseCsv(text, delimiter) {
132
135
  }
133
136
  return rows;
134
137
  }
135
- function inferType(val) {
136
- if (val === "true") return true;
137
- if (val === "false") return false;
138
- if (val === "null") return "null";
139
- if (val.trim() === "") return "";
140
- const num = Number(val);
141
- if (!isNaN(num) && !val.includes(",")) {
142
- return num;
143
- }
144
- return val;
145
- }
146
138
  // Annotate the CommonJS export names for ESM import in node:
147
139
  0 && (module.exports = {
148
140
  csvToJson,
package/dist/csv.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { JsonToToonOptions } from './index.js';
1
+ import { JsonToToonOptions } from './core.js';
2
2
  export interface CsvToToonOptions extends Omit<JsonToToonOptions, 'delimiter'> {
3
3
  /**
4
4
  * Character used to separate fields. Defaults to comma.
@@ -15,6 +15,7 @@ export declare function csvToToon(csv: string, options?: CsvToToonOptions): stri
15
15
  export interface CsvToJsonOptions {
16
16
  delimiter?: string;
17
17
  hasHeader?: boolean;
18
+ maxInputLength?: number;
18
19
  }
19
20
  export declare function csvToJson(csv: string, options?: CsvToJsonOptions): unknown[];
20
21
  //# sourceMappingURL=csv.d.ts.map
package/dist/csv.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../src/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC;IAC5E;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAqC7E;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,EAAE,CAiChF"}
1
+ {"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../src/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAiC,MAAM,WAAW,CAAC;AAGzF,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC;IAC5E;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAsC7E;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,EAAE,CAkChF"}
package/dist/csv.js CHANGED
@@ -1,8 +1,10 @@
1
- import { jsonToToon } from './index.js';
1
+ import { jsonToToon, ToonError, enforceInputLength } from './core.js';
2
+ import { inferType } from './inferType.js';
2
3
  export function csvToToon(csv, options = {}) {
4
+ enforceInputLength(csv, options);
3
5
  const delimiter = options.delimiter ?? ',';
4
6
  if (delimiter.length !== 1) {
5
- throw new Error('Delimiter must be a single character');
7
+ throw new ToonError('Delimiter must be a single character');
6
8
  }
7
9
  const hasHeader = options.hasHeader ?? true;
8
10
  const rows = parseCsv(csv, delimiter);
@@ -17,7 +19,7 @@ export function csvToToon(csv, options = {}) {
17
19
  const dataRows = rows.slice(1);
18
20
  for (const row of dataRows) {
19
21
  if (row.length !== width) {
20
- throw new Error('Malformed CSV: row length mismatch');
22
+ throw new ToonError('Malformed CSV: row length mismatch');
21
23
  }
22
24
  }
23
25
  const data = dataRows.map(row => {
@@ -36,9 +38,10 @@ export function csvToToon(csv, options = {}) {
36
38
  }
37
39
  }
38
40
  export function csvToJson(csv, options = {}) {
41
+ enforceInputLength(csv, options);
39
42
  const delimiter = options.delimiter ?? ',';
40
43
  if (delimiter.length !== 1) {
41
- throw new Error('Delimiter must be a single character');
44
+ throw new ToonError('Delimiter must be a single character');
42
45
  }
43
46
  const hasHeader = options.hasHeader ?? true;
44
47
  const rows = parseCsv(csv, delimiter);
@@ -52,7 +55,7 @@ export function csvToJson(csv, options = {}) {
52
55
  const body = rows.slice(1);
53
56
  for (const row of body) {
54
57
  if (row.length !== width) {
55
- throw new Error('Malformed CSV: row length mismatch');
58
+ throw new ToonError('Malformed CSV: row length mismatch');
56
59
  }
57
60
  }
58
61
  return body.map(row => {
@@ -123,20 +126,4 @@ function parseCsv(text, delimiter) {
123
126
  }
124
127
  return rows;
125
128
  }
126
- function inferType(val) {
127
- if (val === 'true')
128
- return true;
129
- if (val === 'false')
130
- return false;
131
- if (val === 'null')
132
- return 'null'; // keep string null? or null value? usually string in CSV
133
- // Attempt number conversion
134
- if (val.trim() === '')
135
- return '';
136
- const num = Number(val);
137
- if (!isNaN(num) && !val.includes(',')) { // simple check
138
- return num;
139
- }
140
- return val;
141
- }
142
129
  //# sourceMappingURL=csv.js.map
package/dist/csv.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"csv.js","sourceRoot":"","sources":["../src/csv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../src/csv.ts"],"names":[],"mappings":"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"}
package/dist/html.cjs CHANGED
@@ -23,18 +23,20 @@ __export(html_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(html_exports);
25
25
  var import_node_html_parser = require("node-html-parser");
26
- var import_index = require("./index.cjs");
26
+ var import_core = require("./core.cjs");
27
27
  function htmlToToon(html, options = {}) {
28
+ (0, import_core.enforceInputLength)(html, options);
28
29
  validateWellFormedHtml(html);
29
30
  const root = (0, import_node_html_parser.parse)(html);
30
31
  removeWhitespace(root);
31
32
  const children = root.childNodes.map((n) => nodeToJson(n)).filter((x) => x !== null);
32
33
  if (children.length === 1) {
33
- return (0, import_index.jsonToToon)(children[0], options);
34
+ return (0, import_core.jsonToToon)(children[0], options);
34
35
  }
35
- return (0, import_index.jsonToToon)(children, options);
36
+ return (0, import_core.jsonToToon)(children, options);
36
37
  }
37
- function htmlToJson(html) {
38
+ function htmlToJson(html, options = {}) {
39
+ (0, import_core.enforceInputLength)(html, options);
38
40
  validateWellFormedHtml(html);
39
41
  const root = (0, import_node_html_parser.parse)(html);
40
42
  removeWhitespace(root);
@@ -152,7 +154,7 @@ function validateWellFormedHtml(html) {
152
154
  j++;
153
155
  }
154
156
  if (j >= len) {
155
- throw new Error(`Malformed HTML: unclosed tag <${tagName}>`);
157
+ throw new import_core.ToonError(`Malformed HTML: unclosed tag <${tagName}>`);
156
158
  }
157
159
  if (voidTags.has(tagName) || selfClosing) {
158
160
  } else if (!isClosing) {
@@ -160,13 +162,13 @@ function validateWellFormedHtml(html) {
160
162
  } else {
161
163
  const top = stack.pop();
162
164
  if (top !== tagName) {
163
- throw new Error(`Malformed HTML: unexpected closing tag </${tagName}>`);
165
+ throw new import_core.ToonError(`Malformed HTML: unexpected closing tag </${tagName}>`);
164
166
  }
165
167
  }
166
168
  i = j + 1;
167
169
  }
168
170
  if (stack.length > 0) {
169
- throw new Error(`Malformed HTML: unclosed tag <${stack[stack.length - 1]}>`);
171
+ throw new import_core.ToonError(`Malformed HTML: unclosed tag <${stack[stack.length - 1]}>`);
170
172
  }
171
173
  }
172
174
  // Annotate the CommonJS export names for ESM import in node:
package/dist/html.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { JsonToToonOptions } from './index.js';
1
+ import { JsonToToonOptions } from './core.js';
2
2
  export declare function htmlToToon(html: string, options?: JsonToToonOptions): string;
3
3
  type HtmlJsonNode = {
4
4
  tag?: string;
@@ -10,7 +10,9 @@ type HtmlJsonNode = {
10
10
  * Parse HTML into a simplified JSON structure (used for edge-case tests).
11
11
  * Throws when tags are unbalanced (very lightweight validation).
12
12
  */
13
- export declare function htmlToJson(html: string): {
13
+ export declare function htmlToJson(html: string, options?: {
14
+ maxInputLength?: number;
15
+ }): {
14
16
  children: HtmlJsonNode[];
15
17
  };
16
18
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE3D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAYhF;AAED,KAAK,YAAY,GAAG;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CAQrE"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,iBAAiB,EAAiC,MAAM,WAAW,CAAC;AAEzF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAahF;AAED,KAAK,YAAY,GAAG;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG;IAAE,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CAShH"}
package/dist/html.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { parse, NodeType } from 'node-html-parser';
2
- import { jsonToToon } from './index.js';
2
+ import { jsonToToon, ToonError, enforceInputLength } from './core.js';
3
3
  export function htmlToToon(html, options = {}) {
4
+ enforceInputLength(html, options);
4
5
  validateWellFormedHtml(html);
5
6
  const root = parse(html);
6
7
  // remove whitespace-only text nodes for clean output
@@ -16,7 +17,8 @@ export function htmlToToon(html, options = {}) {
16
17
  * Parse HTML into a simplified JSON structure (used for edge-case tests).
17
18
  * Throws when tags are unbalanced (very lightweight validation).
18
19
  */
19
- export function htmlToJson(html) {
20
+ export function htmlToJson(html, options = {}) {
21
+ enforceInputLength(html, options);
20
22
  validateWellFormedHtml(html);
21
23
  const root = parse(html);
22
24
  removeWhitespace(root);
@@ -158,7 +160,7 @@ function validateWellFormedHtml(html) {
158
160
  j++;
159
161
  }
160
162
  if (j >= len) {
161
- throw new Error(`Malformed HTML: unclosed tag <${tagName}>`);
163
+ throw new ToonError(`Malformed HTML: unclosed tag <${tagName}>`);
162
164
  }
163
165
  if (voidTags.has(tagName) || selfClosing) {
164
166
  // no stack mutation
@@ -169,13 +171,13 @@ function validateWellFormedHtml(html) {
169
171
  else {
170
172
  const top = stack.pop();
171
173
  if (top !== tagName) {
172
- throw new Error(`Malformed HTML: unexpected closing tag </${tagName}>`);
174
+ throw new ToonError(`Malformed HTML: unexpected closing tag </${tagName}>`);
173
175
  }
174
176
  }
175
177
  i = j + 1; // move past '>'
176
178
  }
177
179
  if (stack.length > 0) {
178
- throw new Error(`Malformed HTML: unclosed tag <${stack[stack.length - 1]}>`);
180
+ throw new ToonError(`Malformed HTML: unclosed tag <${stack[stack.length - 1]}>`);
179
181
  }
180
182
  }
181
183
  //# sourceMappingURL=html.js.map
package/dist/html.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"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"}