← スキル一覧に戻る

east-node-std
by elaraai
⭐ 1🍴 0📅 2026年1月21日
SKILL.md
name: east-node-std description: "Node.js platform functions for the East language. Use when writing East programs that need Console I/O, FileSystem operations, HTTP Fetch requests, Cryptography, Time operations, Path manipulation, Random number generation, or Testing. Triggers for: (1) Writing East programs with @elaraai/east-node-std, (2) Using platform functions like Console.log, FileSystem.readFile, Fetch.get, Crypto.uuid, Time.now, Path.join, Random.normal, (3) Testing East code with describeEast and Assert."
East Node Standard Library
Node.js platform functions for the East language. Enables East programs to interact with the filesystem, network, console, and other I/O operations.
Quick Start
import { East, StringType, NullType } from "@elaraai/east";
import { NodePlatform, Console, FileSystem } from "@elaraai/east-node-std";
const processFile = East.function(
[StringType],
NullType,
($, path) => {
const content = $.let(FileSystem.readFile(path));
$(Console.log(content));
}
);
// Compile with NodePlatform (includes all platform functions)
const compiled = East.compile(processFile.toIR(), NodePlatform);
await compiled("input.txt");
Decision Tree: Which Module to Use
Task → What do you need?
│
├─ Console (stdout/stderr output)
│ └─ .log(), .error(), .write()
│
├─ FileSystem (read/write files and directories)
│ ├─ Text → .readFile(), .writeFile(), .appendFile()
│ ├─ Binary → .readFileBytes(), .writeFileBytes()
│ ├─ Query → .exists(), .isFile(), .isDirectory()
│ ├─ Directory → .createDirectory(), .readDirectory()
│ └─ Delete → .deleteFile()
│
├─ Fetch (HTTP requests)
│ └─ .get(), .post(), .request()
│
├─ Crypto (hashing, UUIDs, random bytes)
│ └─ .uuid(), .randomBytes(), .hashSha256(), .hashSha256Bytes()
│
├─ Time (timestamps and delays)
│ └─ .now(), .sleep()
│
├─ Path (path manipulation)
│ └─ .join(), .resolve(), .dirname(), .basename(), .extname()
│
├─ Random (statistical distributions)
│ ├─ Basic → .uniform(), .normal(), .range()
│ ├─ Continuous → .exponential(), .weibull(), .pareto(), .logNormal()
│ ├─ Discrete → .bernoulli(), .binomial(), .geometric(), .poisson()
│ ├─ Composite → .irwinHall(), .bates()
│ └─ Control → .seed()
│
└─ Assert (testing with describeEast)
└─ .is(), .equal(), .notEqual(), .less(), .lessEqual(), .greater(), .greaterEqual(), .between(), .throws(), .fail()
Compiling East Programs
Option 1: Use NodePlatform (all modules)
const compiled = East.compile(myFunction.toIR(), NodePlatform);
Option 2: Use specific module implementations
const compiled = East.compile(myFunction.toIR(), [...Console.Implementation, ...FileSystem.Implementation]);
Reference Documentation
- API Reference - Complete function signatures, types, and arguments for all modules
- Examples - Working code examples by use case
Available Modules
| Module | Import | Purpose |
|---|---|---|
| Console | import { Console } from "@elaraai/east-node-std" | stdout/stderr output |
| FileSystem | import { FileSystem } from "@elaraai/east-node-std" | Read/write files and directories |
| Fetch | import { Fetch } from "@elaraai/east-node-std" | HTTP requests |
| Crypto | import { Crypto } from "@elaraai/east-node-std" | Hashing, UUIDs, random bytes |
| Time | import { Time } from "@elaraai/east-node-std" | Timestamps and sleep |
| Path | import { Path } from "@elaraai/east-node-std" | Path manipulation |
| Random | import { Random } from "@elaraai/east-node-std" | 14 statistical distributions |
| Assert | import { Assert, describeEast } from "@elaraai/east-node-std" | Testing utilities |
Accessing Types
import { Fetch } from "@elaraai/east-node-std";
// Access types via Module.Types.TypeName
const method = Fetch.Types.Method;
const config = Fetch.Types.RequestConfig;
const response = Fetch.Types.Response;
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です