5

GitHub - niradler/fn-lifecycle: Control the before and after of running a functi...

 1 year ago
source link: https://github.com/niradler/fn-lifecycle
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

function lifecycle

Control the before and after of running a function, can be used for validation, caching, data mutation and more.

Features

  • Wraps functions to create a lifecycle of before and after
  • Supports TypeScript
  • Can be used for validation, caching, and more
  • Easy to use and integrate into existing projects
  • Provides a flexible and customizable solution for managing function lifecycles

Usage

npm i fn-lifecycle
import { Lifecycle } from "fn-lifecycle";
const lc = new Lifecycle({ name: 1 });
function validate(name) {
  if (!name || (name && name.length < this._.config.name)) {
    throw new Error("name is missing");
  }
}
const addGreet = (name) => `Hi, ${name}`;
const greet = lc.before(validate).after(addGreet).decorate(whatIsMyName);
const myName = "Nir";
await greet(myName);
expect(await greet(myName)).toBe(`Hi, ${myName}`);

check the tests folder for more complete examples.

Contributing

Contributions are always welcome! If you have any ideas or suggestions for how to improve this package, please feel free to open an issue or submit a pull request.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK