A decorator to designate class methods (and properties) as experimental: It takes an optional message (or function) and returns the original method, where an [EXPERIMENTAL] Class.method: message
text is printed at most once upon invoking the experimental method (using console.warn
).
npm install @dizmo/functions-experimental --save
import { experimental } from '@dizmo/functions-experimental';
import { original } from '@dizmo/functions-experimental';
class MyClass {
@experimental
method1() { ... }
@experimental('message')
method2() { ... }
@experimental((self, key) => 'message')
method3() { ... }
}
..where self instanceof MyClass
and key === 'method3'
.
const instance = new MyClass();
original(instance.method).bind(instance)();
..where bind(instance)
is required!
class MyClass {
@experimental
static method1() { ... }
@experimental('message')
static method2() { ... }
@experimental((self, key) => 'message')
static method3() { ... }
}
..where self === MyClass
and key === 'method3'
.
original(MyClass.method).bind(MyClass)();
..where bind(MyClass)
is required!
npm run clean
npm run build
npm run -- build --no-lint --no-clean
npm run -- build --prepack
npm run -- build --prepack --no-minify
npm run lint
npm run -- lint --fix
npm run test
npm run -- test --no-lint --no-clean --no-build
npm run cover
npm run -- cover --no-lint --no-clean --no-build
npm run docs
npm publish
npm publish --access=public
© 2021 dizmo AG, Switzerland