Decorators for modern JavaScript.
Please Note: This is "Work in Progress" package. The new functionality will be added very slowly.
ECMAScript Module.
import {
attempt, consoleGroup, measureExecution,
} from "@corefunc/decorators";
Deno (Pika https://pika.dev/)
import {
attempt, consoleGroup, measureExecution,
} from "https://cdn.pika.dev/@corefunc/decorators";
import { attempt } from "@corefunc/decorators";
class Kitty {
@attempt((error: Error, args: any[]) => {
console.warn("Exception thrown!");
console.log(error.message); // "uwu"
console.dir(args); // [ 10, false ]
})
meow(volume: number, cute = true) {
throw new Error("uwu");
}
}
new Kitty().meow(10, false);
import { consoleGroup } from "@corefunc/decorators";
class Class {
@consoleGroup("GROUP ASYNC")
async asyncRun() {
console.log("I'm async");
}
@consoleGroup("GROUP SYNC")
syncRun() {
console.log("I'm sync");
}
}
const test = new Class();
test.syncRun();
await test.asyncRun();
import { measureExecution } from "@corefunc/decorators";
class Class {
/* conole.time() label text */
@measureExecution("long execution time here")
hardTask() {
let result = 0;
for (let index = 0; index < 1_000_000_000; index++) {
result += index;
}
return result;
}
}
new Class().hardTask();