@elaraai/east-node-std 1.0.79 → 1.0.81
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/README.md +4 -4
- package/dist/src/console.d.ts +4 -4
- package/dist/src/console.js +4 -4
- package/dist/src/crypto.d.ts +5 -5
- package/dist/src/crypto.js +5 -5
- package/dist/src/env.d.ts +2 -2
- package/dist/src/env.js +2 -2
- package/dist/src/fs.d.ts +4 -4
- package/dist/src/fs.js +4 -4
- package/dist/src/json.d.ts +6 -6
- package/dist/src/json.js +6 -6
- package/dist/src/json_reader.d.ts.map +1 -1
- package/dist/src/json_reader.js +13 -50
- package/dist/src/json_reader.js.map +1 -1
- package/dist/src/path.d.ts +2 -2
- package/dist/src/path.js +2 -2
- package/dist/src/random.d.ts +15 -15
- package/dist/src/random.js +15 -15
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -43,7 +43,7 @@ const processFile = East.function(
|
|
|
43
43
|
);
|
|
44
44
|
|
|
45
45
|
// Compile with Node.js platform and execute
|
|
46
|
-
const compiled = East.compile(processFile
|
|
46
|
+
const compiled = East.compile(processFile, NodePlatform);
|
|
47
47
|
compiled("/path/to/input.txt");
|
|
48
48
|
```
|
|
49
49
|
|
|
@@ -64,13 +64,13 @@ East Node provides these platform modules:
|
|
|
64
64
|
**Complete platform:**
|
|
65
65
|
```typescript
|
|
66
66
|
import { NodePlatform } from "@elaraai/east-node-std";
|
|
67
|
-
const compiled = East.compile(myFunction
|
|
67
|
+
const compiled = East.compile(myFunction, NodePlatform);
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
**Individual modules:**
|
|
71
71
|
```typescript
|
|
72
72
|
import { Console, FileSystem } from "@elaraai/east-node-std";
|
|
73
|
-
const compiled = East.compile(myFunction
|
|
73
|
+
const compiled = East.compile(myFunction, [...Console.Implementation, ...FileSystem.Implementation]);
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
## Documentation
|
|
@@ -174,7 +174,7 @@ Dual-licensed:
|
|
|
174
174
|
- [@elaraai/e3](https://www.npmjs.com/package/@elaraai/e3): SDK for authoring e3 packages with typed tasks and pipelines
|
|
175
175
|
- [@elaraai/e3-core](https://www.npmjs.com/package/@elaraai/e3-core): Object store, dataflow orchestrator, execution state
|
|
176
176
|
- [@elaraai/e3-types](https://www.npmjs.com/package/@elaraai/e3-types): Shared type definitions for e3 packages
|
|
177
|
-
- [@elaraai/e3-cli](https://www.npmjs.com/package/@elaraai/e3-cli): `e3 repo`, `e3 package`, `e3 workspace`, `e3
|
|
177
|
+
- [@elaraai/e3-cli](https://www.npmjs.com/package/@elaraai/e3-cli): `e3 repo`, `e3 package`, `e3 workspace`, `e3 dataflow run`, `e3 watch`, `e3 task logs` commands
|
|
178
178
|
- [@elaraai/e3-api-client](https://www.npmjs.com/package/@elaraai/e3-api-client): HTTP client for remote e3 repositories
|
|
179
179
|
- [@elaraai/e3-api-server](https://www.npmjs.com/package/@elaraai/e3-api-server): REST API server for e3 repositories
|
|
180
180
|
- [@elaraai/e3-api-tests](https://www.npmjs.com/package/@elaraai/e3-api-tests): Shared API compliance test suites
|
package/dist/src/console.d.ts
CHANGED
|
@@ -93,7 +93,7 @@ declare const ConsoleImpl: PlatformFunction[];
|
|
|
93
93
|
* $(Console.write("No newline here"));
|
|
94
94
|
* });
|
|
95
95
|
*
|
|
96
|
-
* const compiled = East.compile(greet
|
|
96
|
+
* const compiled = East.compile(greet, Console.Implementation);
|
|
97
97
|
* await compiled();
|
|
98
98
|
* ```
|
|
99
99
|
*/
|
|
@@ -114,7 +114,7 @@ export declare const Console: {
|
|
|
114
114
|
* $(Console.log("Hello, World!"));
|
|
115
115
|
* });
|
|
116
116
|
*
|
|
117
|
-
* const compiled = East.compile(logMessage
|
|
117
|
+
* const compiled = East.compile(logMessage, Console.Implementation);
|
|
118
118
|
* await compiled(); // Outputs: Hello, World!
|
|
119
119
|
* ```
|
|
120
120
|
*/
|
|
@@ -135,7 +135,7 @@ export declare const Console: {
|
|
|
135
135
|
* $(Console.error("Error: Invalid input"));
|
|
136
136
|
* });
|
|
137
137
|
*
|
|
138
|
-
* const compiled = East.compile(logError
|
|
138
|
+
* const compiled = East.compile(logError, Console.Implementation);
|
|
139
139
|
* await compiled(); // Outputs to stderr: Error: Invalid input
|
|
140
140
|
* ```
|
|
141
141
|
*/
|
|
@@ -157,7 +157,7 @@ export declare const Console: {
|
|
|
157
157
|
* $(Console.log("done!"));
|
|
158
158
|
* });
|
|
159
159
|
*
|
|
160
|
-
* const compiled = East.compile(showProgress
|
|
160
|
+
* const compiled = East.compile(showProgress, Console.Implementation);
|
|
161
161
|
* await compiled(); // Outputs: Processing... done!
|
|
162
162
|
* ```
|
|
163
163
|
*/
|
package/dist/src/console.js
CHANGED
|
@@ -128,7 +128,7 @@ const ConsoleImpl = [
|
|
|
128
128
|
* $(Console.write("No newline here"));
|
|
129
129
|
* });
|
|
130
130
|
*
|
|
131
|
-
* const compiled = East.compile(greet
|
|
131
|
+
* const compiled = East.compile(greet, Console.Implementation);
|
|
132
132
|
* await compiled();
|
|
133
133
|
* ```
|
|
134
134
|
*/
|
|
@@ -149,7 +149,7 @@ export const Console = {
|
|
|
149
149
|
* $(Console.log("Hello, World!"));
|
|
150
150
|
* });
|
|
151
151
|
*
|
|
152
|
-
* const compiled = East.compile(logMessage
|
|
152
|
+
* const compiled = East.compile(logMessage, Console.Implementation);
|
|
153
153
|
* await compiled(); // Outputs: Hello, World!
|
|
154
154
|
* ```
|
|
155
155
|
*/
|
|
@@ -170,7 +170,7 @@ export const Console = {
|
|
|
170
170
|
* $(Console.error("Error: Invalid input"));
|
|
171
171
|
* });
|
|
172
172
|
*
|
|
173
|
-
* const compiled = East.compile(logError
|
|
173
|
+
* const compiled = East.compile(logError, Console.Implementation);
|
|
174
174
|
* await compiled(); // Outputs to stderr: Error: Invalid input
|
|
175
175
|
* ```
|
|
176
176
|
*/
|
|
@@ -192,7 +192,7 @@ export const Console = {
|
|
|
192
192
|
* $(Console.log("done!"));
|
|
193
193
|
* });
|
|
194
194
|
*
|
|
195
|
-
* const compiled = East.compile(showProgress
|
|
195
|
+
* const compiled = East.compile(showProgress, Console.Implementation);
|
|
196
196
|
* await compiled(); // Outputs: Processing... done!
|
|
197
197
|
* ```
|
|
198
198
|
*/
|
package/dist/src/crypto.d.ts
CHANGED
|
@@ -115,7 +115,7 @@ declare const CryptoImpl: PlatformFunction[];
|
|
|
115
115
|
* return Crypto.uuid();
|
|
116
116
|
* });
|
|
117
117
|
*
|
|
118
|
-
* const compiled = East.compile(generateId
|
|
118
|
+
* const compiled = East.compile(generateId, Crypto.Implementation);
|
|
119
119
|
* compiled(); // "550e8400-e29b-41d4-a716-446655440000"
|
|
120
120
|
* ```
|
|
121
121
|
*/
|
|
@@ -136,7 +136,7 @@ export declare const Crypto: {
|
|
|
136
136
|
* return Crypto.randomBytes(32n);
|
|
137
137
|
* });
|
|
138
138
|
*
|
|
139
|
-
* const compiled = East.compile(generateToken
|
|
139
|
+
* const compiled = East.compile(generateToken, Crypto.Implementation);
|
|
140
140
|
* compiled(); // Uint8Array(32) [...]
|
|
141
141
|
* ```
|
|
142
142
|
*/
|
|
@@ -156,7 +156,7 @@ export declare const Crypto: {
|
|
|
156
156
|
* return Crypto.hashSha256(password);
|
|
157
157
|
* });
|
|
158
158
|
*
|
|
159
|
-
* const compiled = East.compile(hashPassword
|
|
159
|
+
* const compiled = East.compile(hashPassword, Crypto.Implementation);
|
|
160
160
|
* compiled("password"); // "5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8"
|
|
161
161
|
* ```
|
|
162
162
|
*/
|
|
@@ -176,7 +176,7 @@ export declare const Crypto: {
|
|
|
176
176
|
* return Crypto.hashSha256Bytes(fileData);
|
|
177
177
|
* });
|
|
178
178
|
*
|
|
179
|
-
* const compiled = East.compile(hashFile
|
|
179
|
+
* const compiled = East.compile(hashFile, Crypto.Implementation);
|
|
180
180
|
* const fileData = new Uint8Array([1, 2, 3]);
|
|
181
181
|
* compiled(fileData); // Uint8Array(32) [...]
|
|
182
182
|
* ```
|
|
@@ -196,7 +196,7 @@ export declare const Crypto: {
|
|
|
196
196
|
* return Crypto.uuid();
|
|
197
197
|
* });
|
|
198
198
|
*
|
|
199
|
-
* const compiled = East.compile(createRecord
|
|
199
|
+
* const compiled = East.compile(createRecord, Crypto.Implementation);
|
|
200
200
|
* compiled(); // "550e8400-e29b-41d4-a716-446655440000"
|
|
201
201
|
* ```
|
|
202
202
|
*/
|
package/dist/src/crypto.js
CHANGED
|
@@ -161,7 +161,7 @@ const CryptoImpl = [
|
|
|
161
161
|
* return Crypto.uuid();
|
|
162
162
|
* });
|
|
163
163
|
*
|
|
164
|
-
* const compiled = East.compile(generateId
|
|
164
|
+
* const compiled = East.compile(generateId, Crypto.Implementation);
|
|
165
165
|
* compiled(); // "550e8400-e29b-41d4-a716-446655440000"
|
|
166
166
|
* ```
|
|
167
167
|
*/
|
|
@@ -182,7 +182,7 @@ export const Crypto = {
|
|
|
182
182
|
* return Crypto.randomBytes(32n);
|
|
183
183
|
* });
|
|
184
184
|
*
|
|
185
|
-
* const compiled = East.compile(generateToken
|
|
185
|
+
* const compiled = East.compile(generateToken, Crypto.Implementation);
|
|
186
186
|
* compiled(); // Uint8Array(32) [...]
|
|
187
187
|
* ```
|
|
188
188
|
*/
|
|
@@ -202,7 +202,7 @@ export const Crypto = {
|
|
|
202
202
|
* return Crypto.hashSha256(password);
|
|
203
203
|
* });
|
|
204
204
|
*
|
|
205
|
-
* const compiled = East.compile(hashPassword
|
|
205
|
+
* const compiled = East.compile(hashPassword, Crypto.Implementation);
|
|
206
206
|
* compiled("password"); // "5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8"
|
|
207
207
|
* ```
|
|
208
208
|
*/
|
|
@@ -222,7 +222,7 @@ export const Crypto = {
|
|
|
222
222
|
* return Crypto.hashSha256Bytes(fileData);
|
|
223
223
|
* });
|
|
224
224
|
*
|
|
225
|
-
* const compiled = East.compile(hashFile
|
|
225
|
+
* const compiled = East.compile(hashFile, Crypto.Implementation);
|
|
226
226
|
* const fileData = new Uint8Array([1, 2, 3]);
|
|
227
227
|
* compiled(fileData); // Uint8Array(32) [...]
|
|
228
228
|
* ```
|
|
@@ -242,7 +242,7 @@ export const Crypto = {
|
|
|
242
242
|
* return Crypto.uuid();
|
|
243
243
|
* });
|
|
244
244
|
*
|
|
245
|
-
* const compiled = East.compile(createRecord
|
|
245
|
+
* const compiled = East.compile(createRecord, Crypto.Implementation);
|
|
246
246
|
* compiled(); // "550e8400-e29b-41d4-a716-446655440000"
|
|
247
247
|
* ```
|
|
248
248
|
*/
|
package/dist/src/env.d.ts
CHANGED
|
@@ -61,7 +61,7 @@ declare const EnvImpl: PlatformFunction[];
|
|
|
61
61
|
* return Env.get("ERP_DB_PASSWORD").unwrap();
|
|
62
62
|
* });
|
|
63
63
|
*
|
|
64
|
-
* const compiled = East.compile(connectionPassword
|
|
64
|
+
* const compiled = East.compile(connectionPassword, Env.Implementation);
|
|
65
65
|
* compiled();
|
|
66
66
|
* ```
|
|
67
67
|
*/
|
|
@@ -87,7 +87,7 @@ export declare const Env: {
|
|
|
87
87
|
* return Env.get("API_TOKEN");
|
|
88
88
|
* });
|
|
89
89
|
*
|
|
90
|
-
* const compiled = East.compile(readToken
|
|
90
|
+
* const compiled = East.compile(readToken, Env.Implementation);
|
|
91
91
|
* compiled(); // Returns: some("...") when API_TOKEN is set, none otherwise
|
|
92
92
|
* ```
|
|
93
93
|
*/
|
package/dist/src/env.js
CHANGED
|
@@ -74,7 +74,7 @@ const EnvImpl = [
|
|
|
74
74
|
* return Env.get("ERP_DB_PASSWORD").unwrap();
|
|
75
75
|
* });
|
|
76
76
|
*
|
|
77
|
-
* const compiled = East.compile(connectionPassword
|
|
77
|
+
* const compiled = East.compile(connectionPassword, Env.Implementation);
|
|
78
78
|
* compiled();
|
|
79
79
|
* ```
|
|
80
80
|
*/
|
|
@@ -100,7 +100,7 @@ export const Env = {
|
|
|
100
100
|
* return Env.get("API_TOKEN");
|
|
101
101
|
* });
|
|
102
102
|
*
|
|
103
|
-
* const compiled = East.compile(readToken
|
|
103
|
+
* const compiled = East.compile(readToken, Env.Implementation);
|
|
104
104
|
* compiled(); // Returns: some("...") when API_TOKEN is set, none otherwise
|
|
105
105
|
* ```
|
|
106
106
|
*/
|
package/dist/src/fs.d.ts
CHANGED
|
@@ -339,7 +339,7 @@ declare const FileSystemImpl: PlatformFunction[];
|
|
|
339
339
|
* $(FileSystem.writeFile("output.txt", content));
|
|
340
340
|
* });
|
|
341
341
|
*
|
|
342
|
-
* const compiled = East.compile(processFile
|
|
342
|
+
* const compiled = East.compile(processFile, FileSystem.Implementation);
|
|
343
343
|
* await compiled();
|
|
344
344
|
* ```
|
|
345
345
|
*/
|
|
@@ -361,7 +361,7 @@ export declare const FileSystem: {
|
|
|
361
361
|
* return content;
|
|
362
362
|
* });
|
|
363
363
|
*
|
|
364
|
-
* const compiled = East.compile(readConfig
|
|
364
|
+
* const compiled = East.compile(readConfig, FileSystem.Implementation);
|
|
365
365
|
* await compiled(); // Returns file content as string
|
|
366
366
|
* ```
|
|
367
367
|
*/
|
|
@@ -383,7 +383,7 @@ export declare const FileSystem: {
|
|
|
383
383
|
* $(FileSystem.writeFile("output.txt", "Hello, World!"));
|
|
384
384
|
* });
|
|
385
385
|
*
|
|
386
|
-
* const compiled = East.compile(saveOutput
|
|
386
|
+
* const compiled = East.compile(saveOutput, FileSystem.Implementation);
|
|
387
387
|
* await compiled(); // File written successfully
|
|
388
388
|
* ```
|
|
389
389
|
*/
|
|
@@ -547,7 +547,7 @@ export declare const FileSystem: {
|
|
|
547
547
|
* $(FileSystem.writeFileBytes("output.bin", data));
|
|
548
548
|
* });
|
|
549
549
|
*
|
|
550
|
-
* const compiled = East.compile(saveBinary
|
|
550
|
+
* const compiled = East.compile(saveBinary, FileSystem.Implementation);
|
|
551
551
|
* const binaryData = new Uint8Array([1, 2, 3, 4]);
|
|
552
552
|
* await compiled(binaryData); // Binary data written to file
|
|
553
553
|
* ```
|
package/dist/src/fs.js
CHANGED
|
@@ -531,7 +531,7 @@ const FileSystemImpl = [
|
|
|
531
531
|
* $(FileSystem.writeFile("output.txt", content));
|
|
532
532
|
* });
|
|
533
533
|
*
|
|
534
|
-
* const compiled = East.compile(processFile
|
|
534
|
+
* const compiled = East.compile(processFile, FileSystem.Implementation);
|
|
535
535
|
* await compiled();
|
|
536
536
|
* ```
|
|
537
537
|
*/
|
|
@@ -553,7 +553,7 @@ export const FileSystem = {
|
|
|
553
553
|
* return content;
|
|
554
554
|
* });
|
|
555
555
|
*
|
|
556
|
-
* const compiled = East.compile(readConfig
|
|
556
|
+
* const compiled = East.compile(readConfig, FileSystem.Implementation);
|
|
557
557
|
* await compiled(); // Returns file content as string
|
|
558
558
|
* ```
|
|
559
559
|
*/
|
|
@@ -575,7 +575,7 @@ export const FileSystem = {
|
|
|
575
575
|
* $(FileSystem.writeFile("output.txt", "Hello, World!"));
|
|
576
576
|
* });
|
|
577
577
|
*
|
|
578
|
-
* const compiled = East.compile(saveOutput
|
|
578
|
+
* const compiled = East.compile(saveOutput, FileSystem.Implementation);
|
|
579
579
|
* await compiled(); // File written successfully
|
|
580
580
|
* ```
|
|
581
581
|
*/
|
|
@@ -739,7 +739,7 @@ export const FileSystem = {
|
|
|
739
739
|
* $(FileSystem.writeFileBytes("output.bin", data));
|
|
740
740
|
* });
|
|
741
741
|
*
|
|
742
|
-
* const compiled = East.compile(saveBinary
|
|
742
|
+
* const compiled = East.compile(saveBinary, FileSystem.Implementation);
|
|
743
743
|
* const binaryData = new Uint8Array([1, 2, 3, 4]);
|
|
744
744
|
* await compiled(binaryData); // Binary data written to file
|
|
745
745
|
* ```
|
package/dist/src/json.d.ts
CHANGED
|
@@ -56,11 +56,11 @@ export declare const json_more: import("@elaraai/east").PlatformDefinition<[Stri
|
|
|
56
56
|
* encoding, naming the RFC 6901 pointer of the offending node
|
|
57
57
|
*
|
|
58
58
|
* @remarks
|
|
59
|
-
* Strict: it accepts exactly what `jsonSchemaFor(T)` describes
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
59
|
+
* Strict: it accepts exactly what `jsonSchemaFor(T)` describes. An integer
|
|
60
|
+
* must be a quoted decimal in i64 range — not `"0x10"`, not `" 7 "`, not
|
|
61
|
+
* `"007"`; a timestamp is any RFC 3339 date-time (`format: "date-time"`) —
|
|
62
|
+
* `Z` or an offset, any number of fractional digits — read as UTC, truncated
|
|
63
|
+
* to milliseconds, in years 0001–9999; a blob's hex must be lowercase.
|
|
64
64
|
*
|
|
65
65
|
* When the container is a JSON object, `T` must be a `Struct` of exactly `key`
|
|
66
66
|
* and `value`, in either order, and each member arrives as one of those —
|
|
@@ -112,7 +112,7 @@ declare const JsonImpl: PlatformFunction[];
|
|
|
112
112
|
* ```ts
|
|
113
113
|
* const rows = e3.streamTask('rows', {
|
|
114
114
|
* inputs: [path],
|
|
115
|
-
* output:
|
|
115
|
+
* output: e3.output.array(RowType),
|
|
116
116
|
* }, ($, p, emit) => {
|
|
117
117
|
* const handle = $.let(Json.open(p, "/data"));
|
|
118
118
|
* $.while(Json.more(handle), $ => {
|
package/dist/src/json.js
CHANGED
|
@@ -90,11 +90,11 @@ export const json_more = East.platform("json_more", [StringType], BooleanType);
|
|
|
90
90
|
* encoding, naming the RFC 6901 pointer of the offending node
|
|
91
91
|
*
|
|
92
92
|
* @remarks
|
|
93
|
-
* Strict: it accepts exactly what `jsonSchemaFor(T)` describes
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
93
|
+
* Strict: it accepts exactly what `jsonSchemaFor(T)` describes. An integer
|
|
94
|
+
* must be a quoted decimal in i64 range — not `"0x10"`, not `" 7 "`, not
|
|
95
|
+
* `"007"`; a timestamp is any RFC 3339 date-time (`format: "date-time"`) —
|
|
96
|
+
* `Z` or an offset, any number of fractional digits — read as UTC, truncated
|
|
97
|
+
* to milliseconds, in years 0001–9999; a blob's hex must be lowercase.
|
|
98
98
|
*
|
|
99
99
|
* When the container is a JSON object, `T` must be a `Struct` of exactly `key`
|
|
100
100
|
* and `value`, in either order, and each member arrives as one of those —
|
|
@@ -180,7 +180,7 @@ function checkRowType(type, fn) {
|
|
|
180
180
|
* ```ts
|
|
181
181
|
* const rows = e3.streamTask('rows', {
|
|
182
182
|
* inputs: [path],
|
|
183
|
-
* output:
|
|
183
|
+
* output: e3.output.array(RowType),
|
|
184
184
|
* }, ($, p, emit) => {
|
|
185
185
|
* const handle = $.let(Json.open(p, "/data"));
|
|
186
186
|
* $.while(Json.more(handle), $ => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json_reader.d.ts","sourceRoot":"","sources":["../../src/json_reader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"json_reader.d.ts","sourceRoot":"","sources":["../../src/json_reader.ts"],"names":[],"mappings":"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"}
|
package/dist/src/json_reader.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
3
|
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
|
-
import { compareFor, EAST_JSON_PATTERNS, SortedMap, SortedSet, jsonFlatOptionPayload, matrix, none, ref, some, variant, } from "@elaraai/east";
|
|
5
|
+
import { compareFor, EAST_JSON_PATTERNS, SortedMap, SortedSet, jsonFlatOptionPayload, jsonParseDateTime, matrix, none, ref, some, variant, } from "@elaraai/east";
|
|
6
6
|
import { closeSync, fstatSync, openSync, readSync } from "node:fs";
|
|
7
7
|
/** How many bytes each refill pulls from the source. */
|
|
8
8
|
const CHUNK_BYTES = 64 * 1024;
|
|
@@ -28,7 +28,6 @@ const MAX_DEPTH = 2048;
|
|
|
28
28
|
*/
|
|
29
29
|
const QUOTE_MAX = 200;
|
|
30
30
|
const INTEGER_RE = new RegExp(EAST_JSON_PATTERNS.integer);
|
|
31
|
-
const DATETIME_RE = new RegExp(EAST_JSON_PATTERNS.datetime);
|
|
32
31
|
const BLOB_RE = new RegExp(EAST_JSON_PATTERNS.blob);
|
|
33
32
|
const TAB = 0x09, LF = 0x0a, CR = 0x0d, SPACE = 0x20;
|
|
34
33
|
const QUOTE = 0x22, COMMA = 0x2c, MINUS = 0x2d, DOT = 0x2e, COLON = 0x3a;
|
|
@@ -875,17 +874,19 @@ export class JsonReader {
|
|
|
875
874
|
if (this.peek() !== QUOTE)
|
|
876
875
|
this.fail(`expected DateTime as a string, got ${this.describe()}`);
|
|
877
876
|
const text = this.readString();
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
const
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
// the fields are checked against what came back.
|
|
886
|
-
if (date === null)
|
|
877
|
+
// Any RFC 3339 date-time — what `format: "date-time"` in the
|
|
878
|
+
// published schema names — through the parser the codec uses,
|
|
879
|
+
// so parseJson and this reader agree on every timestamp.
|
|
880
|
+
const ms = jsonParseDateTime(text);
|
|
881
|
+
if (typeof ms === "number")
|
|
882
|
+
return new Date(ms);
|
|
883
|
+
if (ms === "calendar")
|
|
887
884
|
this.fail(`${quote(text)} is not a real date`);
|
|
888
|
-
|
|
885
|
+
if (ms === "range") {
|
|
886
|
+
this.fail(`${quote(text)} is outside DateTime's range, 0001-01-01T00:00:00.000Z to 9999-12-31T23:59:59.999Z`);
|
|
887
|
+
}
|
|
888
|
+
this.fail(`${quote(text)} is not an RFC 3339 date-time`);
|
|
889
|
+
break;
|
|
889
890
|
}
|
|
890
891
|
case "Blob": {
|
|
891
892
|
this.skipSpace();
|
|
@@ -1219,44 +1220,6 @@ export class JsonReader {
|
|
|
1219
1220
|
function isDigit(b) {
|
|
1220
1221
|
return b >= ZERO && b <= NINE;
|
|
1221
1222
|
}
|
|
1222
|
-
/**
|
|
1223
|
-
* East JSON's UTC date-time text as a `Date`, or null when the calendar has no
|
|
1224
|
-
* such day.
|
|
1225
|
-
*
|
|
1226
|
-
* @param text - Text already known to match the date-time pattern
|
|
1227
|
-
* @returns The date, or null for a day the month does not have
|
|
1228
|
-
*
|
|
1229
|
-
* @remarks
|
|
1230
|
-
* `new Date` cannot be trusted to reject an impossible date: it rolls
|
|
1231
|
-
* `2026-02-30` into `2026-03-02` and `2025-02-29` into `2025-03-01`, so a
|
|
1232
|
-
* NaN check lets a payload through and stores a different day than it sent.
|
|
1233
|
-
* The fields are read back off the constructed date instead.
|
|
1234
|
-
*/
|
|
1235
|
-
function parseUtcDateTime(text) {
|
|
1236
|
-
const year = Number(text.slice(0, 4));
|
|
1237
|
-
const month = Number(text.slice(5, 7));
|
|
1238
|
-
const day = Number(text.slice(8, 10));
|
|
1239
|
-
const hour = Number(text.slice(11, 13));
|
|
1240
|
-
const minute = Number(text.slice(14, 16));
|
|
1241
|
-
const second = Number(text.slice(17, 19));
|
|
1242
|
-
const millis = Number(text.slice(20, 23));
|
|
1243
|
-
// The pattern already pins the year to 0001..9999, the range every runtime
|
|
1244
|
-
// shares (python's datetime starts at year 1); this guards the arithmetic.
|
|
1245
|
-
if (year < 1)
|
|
1246
|
-
return null;
|
|
1247
|
-
// Date.UTC maps years 0-99 into the 1900s, so a one- or two-digit year has
|
|
1248
|
-
// to be set explicitly. The base year is a leap year so that 02-29 always
|
|
1249
|
-
// constructs, and the read-back below is what then rejects it in a common
|
|
1250
|
-
// year — `new Date` rolls 2025-02-29 into 2025-03-01 rather than failing.
|
|
1251
|
-
const date = new Date(Date.UTC(2000, month - 1, day, hour, minute, second, millis));
|
|
1252
|
-
date.setUTCFullYear(year);
|
|
1253
|
-
if (date.getUTCFullYear() !== year
|
|
1254
|
-
|| date.getUTCMonth() !== month - 1
|
|
1255
|
-
|| date.getUTCDate() !== day) {
|
|
1256
|
-
return null;
|
|
1257
|
-
}
|
|
1258
|
-
return date;
|
|
1259
|
-
}
|
|
1260
1223
|
function pointerOf(path) {
|
|
1261
1224
|
if (path.length === 0)
|
|
1262
1225
|
return "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json_reader.js","sourceRoot":"","sources":["../../src/json_reader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"json_reader.js","sourceRoot":"","sources":["../../src/json_reader.ts"],"names":[],"mappings":"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"}
|
package/dist/src/path.d.ts
CHANGED
|
@@ -136,7 +136,7 @@ declare const PathImpl: PlatformFunction[];
|
|
|
136
136
|
* return fullPath;
|
|
137
137
|
* });
|
|
138
138
|
*
|
|
139
|
-
* const compiled = East.compile(buildPath
|
|
139
|
+
* const compiled = East.compile(buildPath, Path.Implementation);
|
|
140
140
|
* await compiled(); // Returns: "dir/subdir/file.txt"
|
|
141
141
|
* ```
|
|
142
142
|
*/
|
|
@@ -225,7 +225,7 @@ export declare const Path: {
|
|
|
225
225
|
* return Path.extname("file.txt");
|
|
226
226
|
* });
|
|
227
227
|
*
|
|
228
|
-
* const compiled = East.compile(getExtension
|
|
228
|
+
* const compiled = East.compile(getExtension, Path.Implementation);
|
|
229
229
|
* await compiled(); // Returns: ".txt"
|
|
230
230
|
* ```
|
|
231
231
|
*/
|
package/dist/src/path.js
CHANGED
|
@@ -198,7 +198,7 @@ const PathImpl = [
|
|
|
198
198
|
* return fullPath;
|
|
199
199
|
* });
|
|
200
200
|
*
|
|
201
|
-
* const compiled = East.compile(buildPath
|
|
201
|
+
* const compiled = East.compile(buildPath, Path.Implementation);
|
|
202
202
|
* await compiled(); // Returns: "dir/subdir/file.txt"
|
|
203
203
|
* ```
|
|
204
204
|
*/
|
|
@@ -287,7 +287,7 @@ export const Path = {
|
|
|
287
287
|
* return Path.extname("file.txt");
|
|
288
288
|
* });
|
|
289
289
|
*
|
|
290
|
-
* const compiled = East.compile(getExtension
|
|
290
|
+
* const compiled = East.compile(getExtension, Path.Implementation);
|
|
291
291
|
* await compiled(); // Returns: ".txt"
|
|
292
292
|
* ```
|
|
293
293
|
*/
|
package/dist/src/random.d.ts
CHANGED
|
@@ -431,7 +431,7 @@ declare const RandomImpl: PlatformFunction[];
|
|
|
431
431
|
* return Random.range(1n, 6n);
|
|
432
432
|
* });
|
|
433
433
|
*
|
|
434
|
-
* const compiled = East.compile(rollDice
|
|
434
|
+
* const compiled = East.compile(rollDice, Random.Implementation);
|
|
435
435
|
* const result = compiled(); // Random integer from 1 to 6
|
|
436
436
|
* ```
|
|
437
437
|
*/
|
|
@@ -450,7 +450,7 @@ export declare const Random: {
|
|
|
450
450
|
* return Random.uniform();
|
|
451
451
|
* });
|
|
452
452
|
*
|
|
453
|
-
* const compiled = East.compile(generateRandom
|
|
453
|
+
* const compiled = East.compile(generateRandom, Random.Implementation);
|
|
454
454
|
* const result = compiled(); // e.g., 0.7234891234
|
|
455
455
|
* ```
|
|
456
456
|
*/
|
|
@@ -472,7 +472,7 @@ export declare const Random: {
|
|
|
472
472
|
* return z.multiply(2.5).add(10.0); // N(10, 2.5)
|
|
473
473
|
* });
|
|
474
474
|
*
|
|
475
|
-
* const compiled = East.compile(generateNormal
|
|
475
|
+
* const compiled = East.compile(generateNormal, Random.Implementation);
|
|
476
476
|
* const result = compiled(); // e.g., 9.234 (from N(10, 2.5))
|
|
477
477
|
* ```
|
|
478
478
|
*/
|
|
@@ -495,7 +495,7 @@ export declare const Random: {
|
|
|
495
495
|
* return Random.range(1n, 6n); // 1-6 inclusive
|
|
496
496
|
* });
|
|
497
497
|
*
|
|
498
|
-
* const compiled = East.compile(rollDice
|
|
498
|
+
* const compiled = East.compile(rollDice, Random.Implementation);
|
|
499
499
|
* const result = compiled(); // e.g., 4n
|
|
500
500
|
* ```
|
|
501
501
|
*/
|
|
@@ -519,7 +519,7 @@ export declare const Random: {
|
|
|
519
519
|
* return Random.exponential(0.2);
|
|
520
520
|
* });
|
|
521
521
|
*
|
|
522
|
-
* const compiled = East.compile(waitTime
|
|
522
|
+
* const compiled = East.compile(waitTime, Random.Implementation);
|
|
523
523
|
* const result = compiled(); // e.g., 3.7 minutes
|
|
524
524
|
* ```
|
|
525
525
|
*/
|
|
@@ -542,7 +542,7 @@ export declare const Random: {
|
|
|
542
542
|
* return Random.weibull(2.0);
|
|
543
543
|
* });
|
|
544
544
|
*
|
|
545
|
-
* const compiled = East.compile(lifetime
|
|
545
|
+
* const compiled = East.compile(lifetime, Random.Implementation);
|
|
546
546
|
* const result = compiled(); // e.g., 1.23
|
|
547
547
|
* ```
|
|
548
548
|
*/
|
|
@@ -565,7 +565,7 @@ export declare const Random: {
|
|
|
565
565
|
* return Random.bernoulli(0.5);
|
|
566
566
|
* });
|
|
567
567
|
*
|
|
568
|
-
* const compiled = East.compile(coinFlip
|
|
568
|
+
* const compiled = East.compile(coinFlip, Random.Implementation);
|
|
569
569
|
* const result = compiled(); // e.g., 1n or 0n
|
|
570
570
|
* ```
|
|
571
571
|
*/
|
|
@@ -589,7 +589,7 @@ export declare const Random: {
|
|
|
589
589
|
* return Random.binomial(10n, 0.5);
|
|
590
590
|
* });
|
|
591
591
|
*
|
|
592
|
-
* const compiled = East.compile(heads
|
|
592
|
+
* const compiled = East.compile(heads, Random.Implementation);
|
|
593
593
|
* const result = compiled(); // e.g., 6n
|
|
594
594
|
* ```
|
|
595
595
|
*/
|
|
@@ -613,7 +613,7 @@ export declare const Random: {
|
|
|
613
613
|
* return Random.geometric(1.0 / 6.0);
|
|
614
614
|
* });
|
|
615
615
|
*
|
|
616
|
-
* const compiled = East.compile(attempts
|
|
616
|
+
* const compiled = East.compile(attempts, Random.Implementation);
|
|
617
617
|
* const result = compiled(); // e.g., 4n
|
|
618
618
|
* ```
|
|
619
619
|
*/
|
|
@@ -637,7 +637,7 @@ export declare const Random: {
|
|
|
637
637
|
* return Random.poisson(3.0);
|
|
638
638
|
* });
|
|
639
639
|
*
|
|
640
|
-
* const compiled = East.compile(customers
|
|
640
|
+
* const compiled = East.compile(customers, Random.Implementation);
|
|
641
641
|
* const result = compiled(); // e.g., 2n
|
|
642
642
|
* ```
|
|
643
643
|
*/
|
|
@@ -661,7 +661,7 @@ export declare const Random: {
|
|
|
661
661
|
* return Random.pareto(1.16);
|
|
662
662
|
* });
|
|
663
663
|
*
|
|
664
|
-
* const compiled = East.compile(wealth
|
|
664
|
+
* const compiled = East.compile(wealth, Random.Implementation);
|
|
665
665
|
* const result = compiled(); // e.g., 2.45
|
|
666
666
|
* ```
|
|
667
667
|
*/
|
|
@@ -684,7 +684,7 @@ export declare const Random: {
|
|
|
684
684
|
* return Random.logNormal(0.0, 0.2);
|
|
685
685
|
* });
|
|
686
686
|
*
|
|
687
|
-
* const compiled = East.compile(stockPrice
|
|
687
|
+
* const compiled = East.compile(stockPrice, Random.Implementation);
|
|
688
688
|
* const result = compiled(); // e.g., 1.15
|
|
689
689
|
* ```
|
|
690
690
|
*/
|
|
@@ -708,7 +708,7 @@ export declare const Random: {
|
|
|
708
708
|
* return Random.irwinHall(12n);
|
|
709
709
|
* });
|
|
710
710
|
*
|
|
711
|
-
* const compiled = East.compile(irwinHall
|
|
711
|
+
* const compiled = East.compile(irwinHall, Random.Implementation);
|
|
712
712
|
* const result = compiled(); // e.g., 6.234 (approximately N(6, 1))
|
|
713
713
|
* ```
|
|
714
714
|
*/
|
|
@@ -732,7 +732,7 @@ export declare const Random: {
|
|
|
732
732
|
* return Random.bates(12n);
|
|
733
733
|
* });
|
|
734
734
|
*
|
|
735
|
-
* const compiled = East.compile(bates
|
|
735
|
+
* const compiled = East.compile(bates, Random.Implementation);
|
|
736
736
|
* const result = compiled(); // e.g., 0.523 (approximately N(0.5, 1/144))
|
|
737
737
|
* ```
|
|
738
738
|
*/
|
|
@@ -754,7 +754,7 @@ export declare const Random: {
|
|
|
754
754
|
* return Random.uniform(); // Will be reproducible
|
|
755
755
|
* });
|
|
756
756
|
*
|
|
757
|
-
* const compiled = East.compile(seedAndGenerate
|
|
757
|
+
* const compiled = East.compile(seedAndGenerate, Random.Implementation);
|
|
758
758
|
* const result = compiled(); // Same result every time with same seed
|
|
759
759
|
* ```
|
|
760
760
|
*
|
package/dist/src/random.js
CHANGED
|
@@ -590,7 +590,7 @@ const RandomImpl = [
|
|
|
590
590
|
* return Random.range(1n, 6n);
|
|
591
591
|
* });
|
|
592
592
|
*
|
|
593
|
-
* const compiled = East.compile(rollDice
|
|
593
|
+
* const compiled = East.compile(rollDice, Random.Implementation);
|
|
594
594
|
* const result = compiled(); // Random integer from 1 to 6
|
|
595
595
|
* ```
|
|
596
596
|
*/
|
|
@@ -609,7 +609,7 @@ export const Random = {
|
|
|
609
609
|
* return Random.uniform();
|
|
610
610
|
* });
|
|
611
611
|
*
|
|
612
|
-
* const compiled = East.compile(generateRandom
|
|
612
|
+
* const compiled = East.compile(generateRandom, Random.Implementation);
|
|
613
613
|
* const result = compiled(); // e.g., 0.7234891234
|
|
614
614
|
* ```
|
|
615
615
|
*/
|
|
@@ -631,7 +631,7 @@ export const Random = {
|
|
|
631
631
|
* return z.multiply(2.5).add(10.0); // N(10, 2.5)
|
|
632
632
|
* });
|
|
633
633
|
*
|
|
634
|
-
* const compiled = East.compile(generateNormal
|
|
634
|
+
* const compiled = East.compile(generateNormal, Random.Implementation);
|
|
635
635
|
* const result = compiled(); // e.g., 9.234 (from N(10, 2.5))
|
|
636
636
|
* ```
|
|
637
637
|
*/
|
|
@@ -654,7 +654,7 @@ export const Random = {
|
|
|
654
654
|
* return Random.range(1n, 6n); // 1-6 inclusive
|
|
655
655
|
* });
|
|
656
656
|
*
|
|
657
|
-
* const compiled = East.compile(rollDice
|
|
657
|
+
* const compiled = East.compile(rollDice, Random.Implementation);
|
|
658
658
|
* const result = compiled(); // e.g., 4n
|
|
659
659
|
* ```
|
|
660
660
|
*/
|
|
@@ -678,7 +678,7 @@ export const Random = {
|
|
|
678
678
|
* return Random.exponential(0.2);
|
|
679
679
|
* });
|
|
680
680
|
*
|
|
681
|
-
* const compiled = East.compile(waitTime
|
|
681
|
+
* const compiled = East.compile(waitTime, Random.Implementation);
|
|
682
682
|
* const result = compiled(); // e.g., 3.7 minutes
|
|
683
683
|
* ```
|
|
684
684
|
*/
|
|
@@ -701,7 +701,7 @@ export const Random = {
|
|
|
701
701
|
* return Random.weibull(2.0);
|
|
702
702
|
* });
|
|
703
703
|
*
|
|
704
|
-
* const compiled = East.compile(lifetime
|
|
704
|
+
* const compiled = East.compile(lifetime, Random.Implementation);
|
|
705
705
|
* const result = compiled(); // e.g., 1.23
|
|
706
706
|
* ```
|
|
707
707
|
*/
|
|
@@ -724,7 +724,7 @@ export const Random = {
|
|
|
724
724
|
* return Random.bernoulli(0.5);
|
|
725
725
|
* });
|
|
726
726
|
*
|
|
727
|
-
* const compiled = East.compile(coinFlip
|
|
727
|
+
* const compiled = East.compile(coinFlip, Random.Implementation);
|
|
728
728
|
* const result = compiled(); // e.g., 1n or 0n
|
|
729
729
|
* ```
|
|
730
730
|
*/
|
|
@@ -748,7 +748,7 @@ export const Random = {
|
|
|
748
748
|
* return Random.binomial(10n, 0.5);
|
|
749
749
|
* });
|
|
750
750
|
*
|
|
751
|
-
* const compiled = East.compile(heads
|
|
751
|
+
* const compiled = East.compile(heads, Random.Implementation);
|
|
752
752
|
* const result = compiled(); // e.g., 6n
|
|
753
753
|
* ```
|
|
754
754
|
*/
|
|
@@ -772,7 +772,7 @@ export const Random = {
|
|
|
772
772
|
* return Random.geometric(1.0 / 6.0);
|
|
773
773
|
* });
|
|
774
774
|
*
|
|
775
|
-
* const compiled = East.compile(attempts
|
|
775
|
+
* const compiled = East.compile(attempts, Random.Implementation);
|
|
776
776
|
* const result = compiled(); // e.g., 4n
|
|
777
777
|
* ```
|
|
778
778
|
*/
|
|
@@ -796,7 +796,7 @@ export const Random = {
|
|
|
796
796
|
* return Random.poisson(3.0);
|
|
797
797
|
* });
|
|
798
798
|
*
|
|
799
|
-
* const compiled = East.compile(customers
|
|
799
|
+
* const compiled = East.compile(customers, Random.Implementation);
|
|
800
800
|
* const result = compiled(); // e.g., 2n
|
|
801
801
|
* ```
|
|
802
802
|
*/
|
|
@@ -820,7 +820,7 @@ export const Random = {
|
|
|
820
820
|
* return Random.pareto(1.16);
|
|
821
821
|
* });
|
|
822
822
|
*
|
|
823
|
-
* const compiled = East.compile(wealth
|
|
823
|
+
* const compiled = East.compile(wealth, Random.Implementation);
|
|
824
824
|
* const result = compiled(); // e.g., 2.45
|
|
825
825
|
* ```
|
|
826
826
|
*/
|
|
@@ -843,7 +843,7 @@ export const Random = {
|
|
|
843
843
|
* return Random.logNormal(0.0, 0.2);
|
|
844
844
|
* });
|
|
845
845
|
*
|
|
846
|
-
* const compiled = East.compile(stockPrice
|
|
846
|
+
* const compiled = East.compile(stockPrice, Random.Implementation);
|
|
847
847
|
* const result = compiled(); // e.g., 1.15
|
|
848
848
|
* ```
|
|
849
849
|
*/
|
|
@@ -867,7 +867,7 @@ export const Random = {
|
|
|
867
867
|
* return Random.irwinHall(12n);
|
|
868
868
|
* });
|
|
869
869
|
*
|
|
870
|
-
* const compiled = East.compile(irwinHall
|
|
870
|
+
* const compiled = East.compile(irwinHall, Random.Implementation);
|
|
871
871
|
* const result = compiled(); // e.g., 6.234 (approximately N(6, 1))
|
|
872
872
|
* ```
|
|
873
873
|
*/
|
|
@@ -891,7 +891,7 @@ export const Random = {
|
|
|
891
891
|
* return Random.bates(12n);
|
|
892
892
|
* });
|
|
893
893
|
*
|
|
894
|
-
* const compiled = East.compile(bates
|
|
894
|
+
* const compiled = East.compile(bates, Random.Implementation);
|
|
895
895
|
* const result = compiled(); // e.g., 0.523 (approximately N(0.5, 1/144))
|
|
896
896
|
* ```
|
|
897
897
|
*/
|
|
@@ -913,7 +913,7 @@ export const Random = {
|
|
|
913
913
|
* return Random.uniform(); // Will be reproducible
|
|
914
914
|
* });
|
|
915
915
|
*
|
|
916
|
-
* const compiled = East.compile(seedAndGenerate
|
|
916
|
+
* const compiled = East.compile(seedAndGenerate, Random.Implementation);
|
|
917
917
|
* const result = compiled(); // Same result every time with same seed
|
|
918
918
|
* ```
|
|
919
919
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elaraai/east-node-std",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.81",
|
|
4
4
|
"description": "East Node - Node.js platform integration for East language",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"typescript": "~5.9.2"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
|
-
"@elaraai/east": "1.0.
|
|
53
|
+
"@elaraai/east": "1.0.81"
|
|
54
54
|
},
|
|
55
55
|
"scripts": {
|
|
56
56
|
"build": "rm -rf dist && tsc",
|