@elaraai/east-node-io 0.0.1-beta.0 → 0.0.1-beta.2

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 (114) hide show
  1. package/dist/compression/gzip.d.ts +108 -0
  2. package/dist/compression/gzip.d.ts.map +1 -0
  3. package/dist/compression/gzip.js +153 -0
  4. package/dist/compression/gzip.js.map +1 -0
  5. package/dist/compression/index.d.ts +308 -0
  6. package/dist/compression/index.d.ts.map +1 -0
  7. package/dist/compression/index.js +289 -0
  8. package/dist/compression/index.js.map +1 -0
  9. package/dist/compression/tar.d.ts +115 -0
  10. package/dist/compression/tar.d.ts.map +1 -0
  11. package/dist/compression/tar.js +254 -0
  12. package/dist/compression/tar.js.map +1 -0
  13. package/dist/compression/types.d.ts +124 -0
  14. package/dist/compression/types.d.ts.map +1 -0
  15. package/dist/compression/types.js +106 -0
  16. package/dist/compression/types.js.map +1 -0
  17. package/dist/compression/zip.d.ts +121 -0
  18. package/dist/compression/zip.d.ts.map +1 -0
  19. package/dist/compression/zip.js +200 -0
  20. package/dist/compression/zip.js.map +1 -0
  21. package/dist/connection/index.d.ts +78 -0
  22. package/dist/connection/index.d.ts.map +1 -0
  23. package/dist/connection/index.js +134 -0
  24. package/dist/connection/index.js.map +1 -0
  25. package/dist/format/csv.d.ts +210 -0
  26. package/dist/format/csv.d.ts.map +1 -0
  27. package/dist/format/csv.js +729 -0
  28. package/dist/format/csv.js.map +1 -0
  29. package/dist/format/index.d.ts +641 -0
  30. package/dist/format/index.d.ts.map +1 -0
  31. package/dist/format/index.js +463 -0
  32. package/dist/format/index.js.map +1 -0
  33. package/dist/format/types.d.ts +176 -0
  34. package/dist/format/types.d.ts.map +1 -0
  35. package/dist/format/types.js +122 -0
  36. package/dist/format/types.js.map +1 -0
  37. package/dist/format/xlsx.d.ts +178 -0
  38. package/dist/format/xlsx.d.ts.map +1 -0
  39. package/dist/format/xlsx.js +313 -0
  40. package/dist/format/xlsx.js.map +1 -0
  41. package/dist/format/xml.d.ts +302 -0
  42. package/dist/format/xml.d.ts.map +1 -0
  43. package/dist/format/xml.js +602 -0
  44. package/dist/format/xml.js.map +1 -0
  45. package/dist/index.d.ts +25 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +32 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/nosql/index.d.ts +503 -0
  50. package/dist/nosql/index.d.ts.map +1 -0
  51. package/dist/nosql/index.js +483 -0
  52. package/dist/nosql/index.js.map +1 -0
  53. package/dist/nosql/mongodb.d.ts +306 -0
  54. package/dist/nosql/mongodb.d.ts.map +1 -0
  55. package/dist/nosql/mongodb.js +552 -0
  56. package/dist/nosql/mongodb.js.map +1 -0
  57. package/dist/nosql/redis.d.ts +268 -0
  58. package/dist/nosql/redis.d.ts.map +1 -0
  59. package/dist/nosql/redis.js +371 -0
  60. package/dist/nosql/redis.js.map +1 -0
  61. package/dist/nosql/types.d.ts +70 -0
  62. package/dist/nosql/types.d.ts.map +1 -0
  63. package/dist/nosql/types.js +79 -0
  64. package/dist/nosql/types.js.map +1 -0
  65. package/dist/sql/index.d.ts +777 -0
  66. package/dist/sql/index.d.ts.map +1 -0
  67. package/dist/sql/index.js +515 -0
  68. package/dist/sql/index.js.map +1 -0
  69. package/dist/sql/mysql.d.ts +238 -0
  70. package/dist/sql/mysql.d.ts.map +1 -0
  71. package/dist/sql/mysql.js +396 -0
  72. package/dist/sql/mysql.js.map +1 -0
  73. package/dist/sql/postgres.d.ts +237 -0
  74. package/dist/sql/postgres.d.ts.map +1 -0
  75. package/dist/sql/postgres.js +381 -0
  76. package/dist/sql/postgres.js.map +1 -0
  77. package/dist/sql/sqlite.d.ts +217 -0
  78. package/dist/sql/sqlite.d.ts.map +1 -0
  79. package/dist/sql/sqlite.js +366 -0
  80. package/dist/sql/sqlite.js.map +1 -0
  81. package/dist/sql/types.d.ts +205 -0
  82. package/dist/sql/types.d.ts.map +1 -0
  83. package/dist/sql/types.js +175 -0
  84. package/dist/sql/types.js.map +1 -0
  85. package/dist/storage/index.d.ts +304 -0
  86. package/dist/storage/index.d.ts.map +1 -0
  87. package/dist/storage/index.js +234 -0
  88. package/dist/storage/index.js.map +1 -0
  89. package/dist/storage/s3.d.ts +373 -0
  90. package/dist/storage/s3.d.ts.map +1 -0
  91. package/dist/storage/s3.js +502 -0
  92. package/dist/storage/s3.js.map +1 -0
  93. package/dist/storage/types.d.ts +117 -0
  94. package/dist/storage/types.d.ts.map +1 -0
  95. package/dist/storage/types.js +94 -0
  96. package/dist/storage/types.js.map +1 -0
  97. package/dist/transfer/ftp.d.ts +333 -0
  98. package/dist/transfer/ftp.d.ts.map +1 -0
  99. package/dist/transfer/ftp.js +437 -0
  100. package/dist/transfer/ftp.js.map +1 -0
  101. package/dist/transfer/index.d.ts +456 -0
  102. package/dist/transfer/index.d.ts.map +1 -0
  103. package/dist/transfer/index.js +414 -0
  104. package/dist/transfer/index.js.map +1 -0
  105. package/dist/transfer/sftp.d.ts +333 -0
  106. package/dist/transfer/sftp.d.ts.map +1 -0
  107. package/dist/transfer/sftp.js +436 -0
  108. package/dist/transfer/sftp.js.map +1 -0
  109. package/dist/transfer/types.d.ts +108 -0
  110. package/dist/transfer/types.d.ts.map +1 -0
  111. package/dist/transfer/types.js +110 -0
  112. package/dist/transfer/types.js.map +1 -0
  113. package/dist/tsconfig.tsbuildinfo +1 -0
  114. package/package.json +8 -8
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Connection management utilities for East Node IO.
7
+ *
8
+ * Provides opaque handle-based connection management for databases,
9
+ * storage services, and file transfer protocols.
10
+ *
11
+ * @packageDocumentation
12
+ */
13
+ import { randomUUID } from 'node:crypto';
14
+ import { EastError } from "@elaraai/east/internal";
15
+ /**
16
+ * Internal connection handle storage.
17
+ * Maps handle UUIDs to connection objects and their cleanup functions.
18
+ *
19
+ * @internal
20
+ */
21
+ const connectionHandles = new Map();
22
+ /**
23
+ * Creates an opaque handle for a connection object.
24
+ *
25
+ * Generates a UUID handle and stores the connection in internal storage.
26
+ * The handle can be used to retrieve the connection later.
27
+ *
28
+ * @param connection - The connection object to store
29
+ * @param cleanup - Optional cleanup function to call when closing all handles
30
+ * @returns Opaque handle (UUID string) for the connection
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const pool = new pg.Pool(config);
35
+ * const handle = createHandle(pool, async () => await pool.end());
36
+ * ```
37
+ */
38
+ export function createHandle(connection, cleanup) {
39
+ const handle = randomUUID();
40
+ const entry = { connection };
41
+ if (cleanup) {
42
+ entry.cleanup = cleanup;
43
+ }
44
+ connectionHandles.set(handle, entry);
45
+ return handle;
46
+ }
47
+ /**
48
+ * Retrieves a connection object by its handle.
49
+ *
50
+ * Looks up the connection associated with the given handle.
51
+ * Throws an error if the handle is invalid or not found.
52
+ *
53
+ * @typeParam T - The expected type of the connection object
54
+ * @param handle - The opaque handle for the connection
55
+ * @returns The connection object cast to type T
56
+ *
57
+ * @throws {EastError} When handle is invalid or not found (location: "connection_handle")
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * const pool = getConnection<pg.Pool>(handle);
62
+ * const result = await pool.query(sql, params);
63
+ * ```
64
+ */
65
+ export function getConnection(handle) {
66
+ const entry = connectionHandles.get(handle);
67
+ if (!entry) {
68
+ throw new EastError(`Invalid connection handle: ${handle}`, {
69
+ location: { filename: "connection_handle", line: 0n, column: 0n }
70
+ });
71
+ }
72
+ return entry.connection;
73
+ }
74
+ /**
75
+ * Closes and removes a connection handle.
76
+ *
77
+ * Removes the connection from internal storage. The connection object
78
+ * itself should be closed by the caller before calling this function.
79
+ *
80
+ * @param handle - The opaque handle to close
81
+ *
82
+ * @throws {EastError} When handle is invalid or not found (location: "connection_close")
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * const pool = getConnection<pg.Pool>(handle);
87
+ * await pool.end();
88
+ * closeHandle(handle);
89
+ * ```
90
+ */
91
+ export function closeHandle(handle) {
92
+ const entry = connectionHandles.get(handle);
93
+ if (!entry) {
94
+ throw new EastError(`Cannot close invalid handle: ${handle}`, {
95
+ location: { filename: "connection_close", line: 0n, column: 0n }
96
+ });
97
+ }
98
+ connectionHandles.delete(handle);
99
+ }
100
+ /**
101
+ * Gets the current number of active connection handles.
102
+ *
103
+ * Useful for debugging and testing to ensure connections are properly cleaned up.
104
+ *
105
+ * @returns Number of active connection handles
106
+ *
107
+ * @internal
108
+ */
109
+ export function getHandleCount() {
110
+ return connectionHandles.size;
111
+ }
112
+ /**
113
+ * Closes all active connection handles.
114
+ *
115
+ * Useful for test cleanup to ensure all connections are closed even if tests fail.
116
+ * Calls each connection's registered cleanup function, then clears all handles.
117
+ *
118
+ * @internal
119
+ */
120
+ export async function closeAllHandles() {
121
+ for (const [handle, entry] of connectionHandles.entries()) {
122
+ try {
123
+ if (entry.cleanup) {
124
+ await entry.cleanup();
125
+ }
126
+ }
127
+ catch (err) {
128
+ // Ignore errors during cleanup
129
+ console.error(`Error closing handle ${handle}:`, err);
130
+ }
131
+ }
132
+ connectionHandles.clear();
133
+ }
134
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connection/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA8D,CAAC;AAEhG;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAAC,UAAe,EAAE,OAA6B;IACvE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAuD,EAAE,UAAU,EAAE,CAAC;IACjF,IAAI,OAAO,EAAE,CAAC;QACV,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC5B,CAAC;IACD,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa,CAAI,MAAc;IAC3C,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,SAAS,CAAC,8BAA8B,MAAM,EAAE,EAAE;YACxD,QAAQ,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;SACpE,CAAC,CAAC;IACP,CAAC;IACD,OAAO,KAAK,CAAC,UAAe,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACtC,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,SAAS,CAAC,gCAAgC,MAAM,EAAE,EAAE;YAC1D,QAAQ,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;SACnE,CAAC,CAAC;IACP,CAAC;IACD,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc;IAC1B,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAClC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACjC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,+BAA+B;YAC/B,OAAO,CAAC,KAAK,CAAC,wBAAwB,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IACD,iBAAiB,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ import { BlobType, ArrayType, DictType, StringType, OptionType, BooleanType, StructType, VariantType, NullType } from "@elaraai/east";
6
+ import type { PlatformFunction } from "@elaraai/east/internal";
7
+ export declare const CsvColumnType: VariantType<{
8
+ Null: NullType;
9
+ Boolean: NullType;
10
+ Integer: NullType;
11
+ Float: NullType;
12
+ String: NullType;
13
+ DateTime: NullType;
14
+ Blob: NullType;
15
+ }>;
16
+ export declare const CsvParseConfig: StructType<{
17
+ columns: OptionType<DictType<StringType, VariantType<{
18
+ Null: NullType;
19
+ Boolean: NullType;
20
+ Integer: NullType;
21
+ Float: NullType;
22
+ String: NullType;
23
+ DateTime: NullType;
24
+ Blob: NullType;
25
+ }>>>;
26
+ delimiter: OptionType<StringType>;
27
+ quoteChar: OptionType<StringType>;
28
+ escapeChar: OptionType<StringType>;
29
+ newline: OptionType<StringType>;
30
+ hasHeader: BooleanType;
31
+ nullString: OptionType<StringType>;
32
+ skipEmptyLines: BooleanType;
33
+ trimFields: BooleanType;
34
+ }>;
35
+ export declare const CsvSerializeConfig: StructType<{
36
+ delimiter: StringType;
37
+ quoteChar: StringType;
38
+ escapeChar: StringType;
39
+ newline: StringType;
40
+ includeHeader: BooleanType;
41
+ nullString: StringType;
42
+ alwaysQuote: BooleanType;
43
+ }>;
44
+ /** Represents a single CSV row as a dictionary mapping column names to optional string values. */
45
+ export declare const CsvRowType: DictType<StringType, VariantType<{
46
+ Null: NullType;
47
+ Boolean: BooleanType;
48
+ Integer: import("@elaraai/east").IntegerType;
49
+ Float: import("@elaraai/east").FloatType;
50
+ String: StringType;
51
+ DateTime: import("@elaraai/east").DateTimeType;
52
+ Blob: BlobType;
53
+ }>>;
54
+ /** Represents CSV data as an array of row dictionaries. */
55
+ export declare const CsvDataType: ArrayType<DictType<StringType, VariantType<{
56
+ Null: NullType;
57
+ Boolean: BooleanType;
58
+ Integer: import("@elaraai/east").IntegerType;
59
+ Float: import("@elaraai/east").FloatType;
60
+ String: StringType;
61
+ DateTime: import("@elaraai/east").DateTimeType;
62
+ Blob: BlobType;
63
+ }>>>;
64
+ /**
65
+ * Parses CSV data from a binary blob into structured row data.
66
+ *
67
+ * Converts CSV-formatted binary data into an array of row dictionaries,
68
+ * where each dictionary maps column names to optional string values.
69
+ * Supports configurable delimiters, quote characters, escape sequences,
70
+ * and header handling.
71
+ *
72
+ * This is a platform function for the East language, enabling CSV parsing
73
+ * in East programs running on Node.js.
74
+ *
75
+ * @param blob - The CSV data as a binary blob (UTF-8 encoded)
76
+ * @param config - Parsing configuration including delimiter, quote characters, and header options
77
+ * @returns An array of row dictionaries, each mapping column names to optional string values
78
+ *
79
+ * @throws {EastError} When CSV is malformed with specific error messages:
80
+ * - "Unclosed quote in row N, column M" - Quote not properly closed
81
+ * - "Too many fields in row N (expected X columns, found at least Y)" - More fields than header
82
+ * - "Too few fields in row N (expected X columns, got Y)" - Fewer fields than header
83
+ * - "Invalid escape sequence in row N, column M" - Invalid escape character usage
84
+ * - "Expected delimiter or newline after closing quote in row N, column M" - Invalid data after quote
85
+ * - "quoteChar must have length 1" - Invalid configuration
86
+ * - "escapeChar must have length 1" - Invalid configuration
87
+ * - "delimiter must not be empty" - Invalid configuration
88
+ *
89
+ * @example
90
+ * ```ts
91
+ * const parseCSV = East.function([BlobType], CsvDataType, ($, csvBlob) => {
92
+ * const config = $.const(East.value({
93
+ * delimiter: variant('some', ','),
94
+ * quoteChar: variant('some', '"'),
95
+ * escapeChar: variant('some', '"'),
96
+ * newline: variant('none', null),
97
+ * hasHeader: true,
98
+ * nullString: variant('some', ''),
99
+ * skipEmptyLines: true,
100
+ * trimFields: false,
101
+ * }, CsvParseConfig));
102
+ *
103
+ * return csv_parse(csvBlob, config);
104
+ * // Returns: [{"name": some("Alice"), "age": some("30")}, ...]
105
+ * });
106
+ * ```
107
+ *
108
+ * @remarks
109
+ * - Handles quoted fields with embedded delimiters and newlines
110
+ * - Supports both quote-as-escape ("") and backslash-escape (\") modes
111
+ * - Auto-detects newline format (CRLF, LF, or CR) when newline option is none
112
+ * - Validates column counts when hasHeader is true
113
+ * - Skips UTF-8 BOM (0xEF 0xBB 0xBF) if present at start
114
+ * - When hasHeader is false, generates column names as "column_0", "column_1", etc.
115
+ */
116
+ export declare const csv_parse: import("@elaraai/east").PlatformDefinition<[BlobType, StructType<{
117
+ columns: OptionType<DictType<StringType, VariantType<{
118
+ Null: NullType;
119
+ Boolean: NullType;
120
+ Integer: NullType;
121
+ Float: NullType;
122
+ String: NullType;
123
+ DateTime: NullType;
124
+ Blob: NullType;
125
+ }>>>;
126
+ delimiter: OptionType<StringType>;
127
+ quoteChar: OptionType<StringType>;
128
+ escapeChar: OptionType<StringType>;
129
+ newline: OptionType<StringType>;
130
+ hasHeader: BooleanType;
131
+ nullString: OptionType<StringType>;
132
+ skipEmptyLines: BooleanType;
133
+ trimFields: BooleanType;
134
+ }>], ArrayType<DictType<StringType, VariantType<{
135
+ Null: NullType;
136
+ Boolean: BooleanType;
137
+ Integer: import("@elaraai/east").IntegerType;
138
+ Float: import("@elaraai/east").FloatType;
139
+ String: StringType;
140
+ DateTime: import("@elaraai/east").DateTimeType;
141
+ Blob: BlobType;
142
+ }>>>>;
143
+ /**
144
+ * Serializes structured row data into CSV-formatted binary data.
145
+ *
146
+ * Converts an array of row dictionaries into CSV-formatted binary data.
147
+ * Supports configurable delimiters, quote characters, escape sequences,
148
+ * and formatting options.
149
+ *
150
+ * This is a platform function for the East language, enabling CSV serialization
151
+ * in East programs running on Node.js.
152
+ *
153
+ * @param data - An array of row dictionaries to serialize
154
+ * @param config - Serialization configuration including delimiter, quote characters, and formatting options
155
+ * @returns A binary blob containing the CSV-formatted data (UTF-8 encoded)
156
+ *
157
+ * @throws {EastError} When configuration is invalid:
158
+ * - "quoteChar must have length 1" - Invalid configuration
159
+ * - "escapeChar must have length 1" - Invalid configuration
160
+ * - "delimiter must not be empty" - Invalid configuration
161
+ *
162
+ * @example
163
+ * ```ts
164
+ * const serializeCSV = East.function([CsvDataType], BlobType, ($, data) => {
165
+ * const config = $.const(East.value({
166
+ * delimiter: ',',
167
+ * quoteChar: '"',
168
+ * escapeChar: '"',
169
+ * newline: '\n',
170
+ * includeHeader: true,
171
+ * nullString: '',
172
+ * alwaysQuote: false,
173
+ * }, CsvSerializeConfig));
174
+ *
175
+ * return csv_serialize(data, config);
176
+ * // Returns blob that decodes to: "name,age\nAlice,30\nBob,25"
177
+ * });
178
+ * ```
179
+ *
180
+ * @remarks
181
+ * - Automatically quotes fields containing delimiter, quote char, newline, or null string
182
+ * - Escapes quote characters within quoted fields using escapeChar
183
+ * - Column order is determined by the first row's dictionary keys
184
+ * - Null values are serialized as nullString
185
+ * - Use alwaysQuote: true to force quoting of all fields
186
+ */
187
+ export declare const csv_serialize: import("@elaraai/east").PlatformDefinition<[ArrayType<DictType<StringType, VariantType<{
188
+ Null: NullType;
189
+ Boolean: BooleanType;
190
+ Integer: import("@elaraai/east").IntegerType;
191
+ Float: import("@elaraai/east").FloatType;
192
+ String: StringType;
193
+ DateTime: import("@elaraai/east").DateTimeType;
194
+ Blob: BlobType;
195
+ }>>>, StructType<{
196
+ delimiter: StringType;
197
+ quoteChar: StringType;
198
+ escapeChar: StringType;
199
+ newline: StringType;
200
+ includeHeader: BooleanType;
201
+ nullString: StringType;
202
+ alwaysQuote: BooleanType;
203
+ }>], BlobType>;
204
+ /**
205
+ * Node.js implementation of CSV platform functions.
206
+ *
207
+ * Pass this array to {@link East.compile} to enable CSV operations.
208
+ */
209
+ export declare const CsvImpl: PlatformFunction[];
210
+ //# sourceMappingURL=csv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../src/format/csv.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAQ,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAA6B,WAAW,EAAE,QAAQ,EAAS,MAAM,eAAe,CAAC;AAC9K,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,eAAO,MAAM,aAAa;;;;;;;;EAQxB,CAAA;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAUzB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;EAQ7B,CAAC;AAIH,kGAAkG;AAClG,eAAO,MAAM,UAAU;;;;;;;;GAAyC,CAAC;AAEjE,2DAA2D;AAC3D,eAAO,MAAM,WAAW;;;;;;;;IAAwB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;KAAsE,CAAC;AAE7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;cAA8E,CAAC;AAEzG;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,gBAAgB,EAwBrC,CAAC"}