@stamp/it
A nice, handy API implementation of the compose standard
This module is the new cool modern version of the stampit
module. Consider @stamp/it
as stampit v4.
Usage
Install:
$ npm i -S @stamp/it
Import:
import stampit from '@stamp/it';
API
Arguments
See more examples in this blog post.
Create a new empty stamp:
const S1 = stampit()
Create a new stamp with a method:
const S2 = stampit({
methods: {
myMethod() { }
}
})
Create a new stamp with a property:
const S3 = stampit({
props: {
myProperty: 42
}
})
Create a new stamp with a static property:
const S4 = stampit({
statics: {
myStaticProperty: 42
}
})
Create a new stamp with initializer(s):
const S5 = stampit({
init: function () { console.log('hi form initializer'); }
})
const S6 = stampit({
init: [
function () { },
function () { }
]
})
Create a new stamp with a configuration:
const S7 = stampit({
conf: {
myConfiguration: { anything: 'here' }
}
})
Compose the stamps above together:
const Stamp = compose(S1, S2, S3, S4, S5, S6, S7);
console.log(Stamp);
const obj = Stamp();
console.log(obj);
console.log(Object.getPrototypeOf(obj));
See more examples in this blog post.
Static methods
Shortcut static methods
All stamps receive few static properties.
These are taken from the @stamp/shortcut stamp.
For example:
stampit()
.props({ foo: 'foo' })
.deepConf({ things: ['bar'] })
.methods({ baz() {} })
The Stamp.create() static method
Calling Stamp.create()
is identical to calling Stamp()
.