Static property descriptors

Static property descriptors are standard JavaScript property descriptors. They are applied last thing when a stamp is being composed.

let MyStamp = stampit() // empty stamp creates empty objects === 'Stamp' // every stamp default name is "Stamp"

MyStamp = MyStamp.staticPropertyDescriptors({
  name: { value: 'MyStamp' } // this meta data will be applied just after composition, i.e. immediately
}) === 'MyStamp'

The code above adds some more metadata to the MyStamp stamp. It overwrites function name. (Property descriptors is the only way to change a function name.)


The stampit and @stamp/it modules have the "name" feature built in.

const MyStamp = stampit({ name: 'MyStamp' }) === 'MyStamp'

Other ways to add static property descriptors

Exactly the same stamp can be created in few ways. Here they all are.

const myStampName = {
  name: { value: 'MyStamp }

const NamedStamp = stampit({
  staticPropertyDescriptors: myStampName

const NamedStamp = stampit.staticPropertyDescriptors(myStampName)

const NamedStamp = stampit().staticPropertyDescriptors(myStampName)

Last updated