@dizmo/functions-experimental
v1.0.3
Published
experimental methods
Downloads
3
Readme
@dizmo/functions-experimental
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
).
Usage
Installation
npm install @dizmo/functions-experimental --save
Require
import { experimental } from '@dizmo/functions-experimental';
import { original } from '@dizmo/functions-experimental';
Example(s)
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!
Development
Clean
npm run clean
Build
npm run build
without linting and cleaning:
npm run -- build --no-lint --no-clean
with UMD bundling (incl. minimization):
npm run -- build --prepack
with UMD bundling (excl. minimization):
npm run -- build --prepack --no-minify
Lint
npm run lint
with auto-fixing:
npm run -- lint --fix
Test
npm run test
without linting, cleaning and (re-)building:
npm run -- test --no-lint --no-clean --no-build
Cover
npm run cover
without linting, cleaning and (re-)building:
npm run -- cover --no-lint --no-clean --no-build
Documentation
npm run docs
Publication
npm publish
initially (if public):
npm publish --access=public
Copyright
© 2021 dizmo AG, Switzerland