Appearance
Getting Started
Installation
bash
npm install mn-utilsEntry points
mn-utils is split into focused entry points — import only what you need:
| Entry point | Contents |
|---|---|
mn-utils | Universal utilities (string, object, array, etc.) |
mn-utils/async | Async iteration, parallel execution, sequencing |
mn-utils/is | Type predicates (isString, isEqual, isMatch, …) |
mn-utils/browser | Browser utilities (WebSocket, storage, routing) |
mn-utils/node | Node.js utilities (file I/O, hashing, directory scan) |
mn-utils/rpc | RPC core (RpcClient, RpcConnect, RpcClientPool) |
mn-utils/rpc/browser | Browser worker RPC |
mn-utils/rpc/node | Node.js worker RPC |
mn-utils/jsonl | JSON Lines serialization |
mn-utils/join | Join utilities |
mn-utils/split | Split utilities |
Basic usage
ts
import { isString, isEqual } from 'mn-utils/is';
import { mapAsync } from 'mn-utils/async';
import { NodeRpcClientWorker } from 'mn-utils/rpc/node';
isString('hello'); // true
isEqual({ a: 1 }, { a: 1 }); // true
const results = await mapAsync([1, 2, 3], async (n) => n * 2);
// [2, 4, 6]RPC example
ts
// worker.ts
import { NodeRpcConnectWorker } from 'mn-utils/rpc/node';
NodeRpcConnectWorker.run({
add: (a: number, b: number) => a + b,
});
// main.ts
import { NodeRpcClientWorker } from 'mn-utils/rpc/node';
const worker = new NodeRpcClientWorker('./worker.js');
const result = await worker.call('add', [3, 4]); // 7
worker.destroy();