Skip to content

Getting Started

Installation

bash
npm install mn-utils

Entry points

mn-utils is split into focused entry points — import only what you need:

Entry pointContents
mn-utilsUniversal utilities (string, object, array, etc.)
mn-utils/asyncAsync iteration, parallel execution, sequencing
mn-utils/isType predicates (isString, isEqual, isMatch, …)
mn-utils/browserBrowser utilities (WebSocket, storage, routing)
mn-utils/nodeNode.js utilities (file I/O, hashing, directory scan)
mn-utils/rpcRPC core (RpcClient, RpcConnect, RpcClientPool)
mn-utils/rpc/browserBrowser worker RPC
mn-utils/rpc/nodeNode.js worker RPC
mn-utils/jsonlJSON Lines serialization
mn-utils/joinJoin utilities
mn-utils/splitSplit 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();

MIT License