Skip to content
/ denof Public

Syntactic sugar for asynchronous functions, promises, generators and synchronous functions.

License

Notifications You must be signed in to change notification settings

await-of/denof

Repository files navigation

🍬🦕 DenoOf 🍬🦕

Syntactic sugar for asynchronous functions, promises, generators and synchronous functions.

Full documentation here - https://of.js.org/.

If you use this project don't forget to give a ⭐ star ⭐ to it.

•• DenoOf Documentation •• JavaScript Repository •• Deno Repository ••

Buy Me A Coffee Tests

💬 Usage

import {
  Of, of,
  ofAny, ofAnyCase, ofCase, ofError,
  ofIt, ofOutcome, ofResult, ofSync
} from "https://deno.land/x/denof/mod.ts";

const promise = () => new Promise((resolve, _reject) => {
  resolve({ data: true });
});
const config = {
  defaults: "🤷 Default value in case of error",
  error: new Error("💀 Custom error, replaces thrown error"),
  retries: 3, // 🔁 Third time's a charm
  timeout: 1000, // ⏱️ Delay before timeout error
};
// no error thrown
const [result, error] = await ofAnyCase(promise(), config);
console.log(result); // { data: true }
console.warn(error); // no error thrown, so it's undefined

⚙️Install

Import from URL

// From URL
import { of } from "https://deno.land/x/denof/mod.ts";
// Bundled from URL
import { of } from "https://deno.land/x/denof/denof.bundle.js";

Import from "importmap.json"

{
  "imports": {
    "denof": "https://deno.land/x/denof/mod.ts"
  }
}
import { of } from "denof";
deno run --importmap=importmap.json --unstable your-script.js

🗺️ Discover more

My other projects

About

Syntactic sugar for asynchronous functions, promises, generators and synchronous functions.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published