const InstanceCounter = stampit()
instanceCounter: 0 // number of instances of a particular stamp, incremental
instanceIndex: -1 // an instance number, incremental
console.log('I am instance #', this.instanceIndex)
.init(function (_, { stamp }) {
this.instanceIndex = stamp.compose.configuration.instanceCounter // instance number
stamp.compose.configuration.instanceCounter += 1 // increment the counter
.staticPropertyDescriptors({ // give the Stamp.name a non-default name. ES6 only.
name: { value: 'InstanceCounter' }
printTotalInstanceCount() {
console.log(this.compose.configuration.instanceCounter)
.composers(function ({ stamp }) {
// We need to reset the counter each time the InstanceCounter is composed with.
stamp.compose.configuration.instanceCounter = 0