web-csv-toolbox 0.8.0 → 0.10.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 (105) hide show
  1. package/dist/cjs/Lexer.cjs +1 -1
  2. package/dist/cjs/Lexer.cjs.map +1 -1
  3. package/dist/cjs/LexerTransformer.cjs +1 -1
  4. package/dist/cjs/LexerTransformer.cjs.map +1 -1
  5. package/dist/cjs/RecordAssembler.cjs +1 -1
  6. package/dist/cjs/RecordAssembler.cjs.map +1 -1
  7. package/dist/cjs/RecordAssemblerTransformer.cjs +1 -1
  8. package/dist/cjs/RecordAssemblerTransformer.cjs.map +1 -1
  9. package/dist/cjs/_virtual/web_csv_toolbox_wasm_bg.wasm.cjs +1 -1
  10. package/dist/cjs/assertCommonOptions.cjs +1 -1
  11. package/dist/cjs/assertCommonOptions.cjs.map +1 -1
  12. package/dist/cjs/common/errors.cjs +2 -0
  13. package/dist/cjs/common/errors.cjs.map +1 -0
  14. package/dist/cjs/commonParseErrorHandling.cjs +2 -0
  15. package/dist/cjs/commonParseErrorHandling.cjs.map +1 -0
  16. package/dist/cjs/getOptionsFromResponse.cjs +1 -1
  17. package/dist/cjs/getOptionsFromResponse.cjs.map +1 -1
  18. package/dist/cjs/parseBinaryToArraySync.cjs +1 -1
  19. package/dist/cjs/parseBinaryToArraySync.cjs.map +1 -1
  20. package/dist/cjs/parseBinaryToIterableIterator.cjs +1 -1
  21. package/dist/cjs/parseBinaryToIterableIterator.cjs.map +1 -1
  22. package/dist/cjs/parseBinaryToStream.cjs +1 -1
  23. package/dist/cjs/parseBinaryToStream.cjs.map +1 -1
  24. package/dist/cjs/parseResponse.cjs +1 -1
  25. package/dist/cjs/parseResponse.cjs.map +1 -1
  26. package/dist/cjs/parseResponseToStream.cjs +1 -1
  27. package/dist/cjs/parseResponseToStream.cjs.map +1 -1
  28. package/dist/cjs/parseString.cjs +1 -1
  29. package/dist/cjs/parseString.cjs.map +1 -1
  30. package/dist/cjs/parseStringToArraySync.cjs +1 -1
  31. package/dist/cjs/parseStringToArraySync.cjs.map +1 -1
  32. package/dist/cjs/parseStringToArraySyncWASM.cjs +1 -1
  33. package/dist/cjs/parseStringToArraySyncWASM.cjs.map +1 -1
  34. package/dist/cjs/parseStringToIterableIterator.cjs +1 -1
  35. package/dist/cjs/parseStringToIterableIterator.cjs.map +1 -1
  36. package/dist/cjs/parseStringToStream.cjs +1 -1
  37. package/dist/cjs/parseStringToStream.cjs.map +1 -1
  38. package/dist/cjs/utils/convertBinaryToString.cjs.map +1 -0
  39. package/dist/cjs/utils/pipeline.cjs +1 -1
  40. package/dist/cjs/utils/pipeline.cjs.map +1 -1
  41. package/dist/cjs/web-csv-toolbox.cjs +1 -1
  42. package/dist/es/Lexer.js +150 -76
  43. package/dist/es/Lexer.js.map +1 -1
  44. package/dist/es/LexerTransformer.js +12 -3
  45. package/dist/es/LexerTransformer.js.map +1 -1
  46. package/dist/es/RecordAssembler.js +4 -3
  47. package/dist/es/RecordAssembler.js.map +1 -1
  48. package/dist/es/RecordAssemblerTransformer.js +14 -5
  49. package/dist/es/RecordAssemblerTransformer.js.map +1 -1
  50. package/dist/es/_virtual/web_csv_toolbox_wasm_bg.wasm.js +1 -1
  51. package/dist/es/assertCommonOptions.js +8 -7
  52. package/dist/es/assertCommonOptions.js.map +1 -1
  53. package/dist/es/common/errors.js +20 -0
  54. package/dist/es/common/errors.js.map +1 -0
  55. package/dist/es/commonParseErrorHandling.js +13 -0
  56. package/dist/es/commonParseErrorHandling.js.map +1 -0
  57. package/dist/es/getOptionsFromResponse.js +1 -1
  58. package/dist/es/getOptionsFromResponse.js.map +1 -1
  59. package/dist/es/parseBinaryToArraySync.js +8 -3
  60. package/dist/es/parseBinaryToArraySync.js.map +1 -1
  61. package/dist/es/parseBinaryToIterableIterator.js +8 -3
  62. package/dist/es/parseBinaryToIterableIterator.js.map +1 -1
  63. package/dist/es/parseBinaryToStream.js +8 -3
  64. package/dist/es/parseBinaryToStream.js.map +1 -1
  65. package/dist/es/parseResponse.js +9 -4
  66. package/dist/es/parseResponse.js.map +1 -1
  67. package/dist/es/parseResponseToStream.js +9 -4
  68. package/dist/es/parseResponseToStream.js.map +1 -1
  69. package/dist/es/parseString.js +6 -1
  70. package/dist/es/parseString.js.map +1 -1
  71. package/dist/es/parseStringToArraySync.js +9 -4
  72. package/dist/es/parseStringToArraySync.js.map +1 -1
  73. package/dist/es/parseStringToArraySyncWASM.js +9 -2
  74. package/dist/es/parseStringToArraySyncWASM.js.map +1 -1
  75. package/dist/es/parseStringToIterableIterator.js +9 -4
  76. package/dist/es/parseStringToIterableIterator.js.map +1 -1
  77. package/dist/es/parseStringToStream.js +15 -10
  78. package/dist/es/parseStringToStream.js.map +1 -1
  79. package/dist/es/utils/convertBinaryToString.js.map +1 -0
  80. package/dist/es/utils/pipeline.js +1 -1
  81. package/dist/es/utils/pipeline.js.map +1 -1
  82. package/dist/es/web-csv-toolbox.js +6 -6
  83. package/dist/types/Lexer.d.ts +19 -0
  84. package/dist/types/Lexer.test.d.ts +1 -0
  85. package/dist/types/LexerTransformer.d.ts +9 -7
  86. package/dist/types/LexerTransformer.test.d.ts +1 -0
  87. package/dist/types/RecordAssemblerTransformer.d.ts +2 -0
  88. package/dist/types/assertCommonOptions.d.ts +2 -1
  89. package/dist/types/common/errors.d.ts +26 -0
  90. package/dist/types/common/types.d.ts +62 -1
  91. package/dist/types/commonParseErrorHandling.d.ts +8 -0
  92. package/dist/types/getOptionsFromResponse.d.ts +8 -0
  93. package/dist/types/parseBinaryToArraySync.test.d.ts +1 -0
  94. package/dist/types/parseBinaryToIterableIterator.d.ts +8 -0
  95. package/dist/types/utils/convertBinaryToString.d.ts +11 -0
  96. package/dist/types/web-csv-toolbox.d.ts +6 -6
  97. package/dist/web-csv-toolbox.umd.cjs +1 -1
  98. package/dist/web-csv-toolbox.umd.cjs.map +1 -1
  99. package/dist/web_csv_toolbox_wasm_bg.wasm +0 -0
  100. package/package.json +4 -2
  101. package/dist/cjs/convertBinaryToString.cjs.map +0 -1
  102. package/dist/es/convertBinaryToString.js.map +0 -1
  103. package/dist/types/convertBinaryToString.d.ts +0 -2
  104. /package/dist/cjs/{convertBinaryToString.cjs → utils/convertBinaryToString.cjs} +0 -0
  105. /package/dist/es/{convertBinaryToString.js → utils/convertBinaryToString.js} +0 -0
@@ -1,4 +1,46 @@
1
1
  import type { Field, FieldDelimiter, RecordDelimiter } from "./constants.ts";
2
+ /**
3
+ * Position object.
4
+ */
5
+ export interface Position {
6
+ /**
7
+ * Line number.
8
+ * Starts from 1.
9
+ */
10
+ line: number;
11
+ /**
12
+ * Column number.
13
+ * Starts from 1.
14
+ */
15
+ column: number;
16
+ /**
17
+ * Character offset.
18
+ * Starts from 0.
19
+ */
20
+ offset: number;
21
+ }
22
+ /**
23
+ * Token location object.
24
+ */
25
+ export interface TokenLocation {
26
+ /**
27
+ * Start location.
28
+ */
29
+ start: Position;
30
+ /**
31
+ * End location.
32
+ */
33
+ end: Position;
34
+ /**
35
+ * Row number.
36
+ * Starts from 1.
37
+ *
38
+ * @remarks
39
+ * This represents the logical row number in the CSV,
40
+ * counting from 1 for the first row, whether it is a header or not.
41
+ */
42
+ rowNumber: number;
43
+ }
2
44
  /**
3
45
  * Field token type.
4
46
  * @category Types
@@ -6,13 +48,32 @@ import type { Field, FieldDelimiter, RecordDelimiter } from "./constants.ts";
6
48
  export interface FieldToken {
7
49
  type: typeof Field;
8
50
  value: string;
51
+ location: TokenLocation;
52
+ }
53
+ /**
54
+ * Field delimiter token type.
55
+ * @category Types
56
+ */
57
+ export interface FieldDelimiterToken {
58
+ type: typeof FieldDelimiter;
59
+ value: string;
60
+ location: TokenLocation;
61
+ }
62
+ /**
63
+ * Record delimiter token type.
64
+ * @category Types
65
+ */
66
+ export interface RecordDelimiterToken {
67
+ type: typeof RecordDelimiter;
68
+ value: string;
69
+ location: TokenLocation;
9
70
  }
10
71
  /**
11
72
  * Token is a atomic unit of a CSV file.
12
73
  * It can be a field, field delimiter, or record delimiter.
13
74
  * @category Types
14
75
  */
15
- export type Token = FieldToken | typeof FieldDelimiter | typeof RecordDelimiter;
76
+ export type Token = FieldToken | FieldDelimiterToken | RecordDelimiterToken;
16
77
  /**
17
78
  * CSV Common Options.
18
79
  * @category Types
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Common error handling for parsing CSV data.
3
+ *
4
+ * @param error - The error to handle.
5
+ * @throws {ParseError} When an error occurs while parsing the CSV data.
6
+ * @throws {InvalidOptionError} When an invalid option is provided.
7
+ */
8
+ export declare function commonParseErrorHandling(error: unknown): never;
@@ -1,2 +1,10 @@
1
1
  import type { ParseBinaryOptions } from "./common/types.ts";
2
+ /**
3
+ * Extracts the options from the response object.
4
+ *
5
+ * @param response - The response object from which to extract the options.
6
+ * @param options - The options to merge with the extracted options.
7
+ * @returns The options extracted from the response.
8
+ * @throws {RangeError} - The content type is not supported.
9
+ */
2
10
  export declare function getOptionsFromResponse<Header extends ReadonlyArray<string>>(response: Response, options?: ParseBinaryOptions<Header>): ParseBinaryOptions<Header>;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,10 @@
1
1
  import type { CSVRecord, ParseBinaryOptions } from "./common/types.ts";
2
+ /**
3
+ * Parses the given binary data into an iterable iterator of CSV records.
4
+ *
5
+ * @param binary - The binary data to parse.
6
+ * @param options - The parse options.
7
+ * @returns An iterable iterator of CSV records.
8
+ * @throws {ParseError} When an error occurs while parsing the CSV data.
9
+ */
2
10
  export declare function parseBinaryToIterableIterator<Header extends ReadonlyArray<string>>(binary: Uint8Array | ArrayBuffer, options?: ParseBinaryOptions<Header>): IterableIterator<CSVRecord<Header>>;
@@ -0,0 +1,11 @@
1
+ import type { BinaryOptions } from "../common/types.ts";
2
+ /**
3
+ * Converts a binary string to a string.
4
+ *
5
+ * @param binary - The binary string to convert.
6
+ * @param options - The options for parsing the binary string.
7
+ * @returns The converted string.
8
+ * @throws {RangeError} The given charset is not supported.
9
+ * @throws {TypeError} The encoded data was not valid.
10
+ */
11
+ export declare function convertBinaryToString(binary: Uint8Array | ArrayBuffer, options: BinaryOptions): string;
@@ -1,12 +1,12 @@
1
1
  export * from "./common/constants.ts";
2
2
  export * from "./common/types.ts";
3
3
  export * from "./LexerTransformer.ts";
4
- export * from "./RecordAssemblerTransformer.ts";
5
- export * from "./parseString.ts";
4
+ export * from "./loadWASM.ts";
5
+ export * from "./parse.ts";
6
6
  export * from "./parseBinary.ts";
7
- export * from "./parseUint8ArrayStream.ts";
8
- export * from "./parseStringStream.ts";
9
7
  export * from "./parseResponse.ts";
10
- export * from "./parse.ts";
11
- export * from "./loadWASM.ts";
8
+ export * from "./parseString.ts";
9
+ export * from "./parseStringStream.ts";
12
10
  export * from "./parseStringToArraySyncWASM.ts";
11
+ export * from "./parseUint8ArrayStream.ts";
12
+ export * from "./RecordAssemblerTransformer.ts";