1.0.1 • Published 3 years ago
@func-chain/core v1.0.1
This package provides the core functionality for func-chain.
Installation
Yarn
yarn add @func-chain/core
NPM
npm install -S @func-chain/core
Usage
Basic
import funcChain from '@func-chain/core';
const foo = (arg1, arg2) => {
if (arg2 === true) {
arg1.qux++;
}
};
const bar = (arg1, arg2) => {
return arg1.qux; // 2
};
const baz = (arg1, arg2) => {
return (arg3) => {
return arg3 * 2;
};
};
const handler = funcChain([foo, bar, baz]);
await handler({ qux: 1 }, true); // 4
Error Handling
import funcChain from '@func-chain/core';
const foo = () => {
throw new Error('Oops');
};
const bar = () => {
return true;
};
const errorHandler = (err) => {
return {
success: false,
};
};
const handler = funcChain([foo, bar], errorHandler);
await handler(); // {success: false}
Using a Function Signature
import funcChain from '@func-chain/core';
type CustomArg = {
prop1: string;
prop2: number;
};
type CustomFunc = (arg1: CustomArg) => any;
const foo = (arg1: CustomArg) => {
//
};
const bar = (arg1: CustomArg) => {
//
};
const handler = funcChain<CustomFunc>([foo, bar]);
await handler({ prop1: 'baz', prop2: 100 });