stampit API
  • Introduction
  • Essentials
    • What is a Stamp
    • Installation
    • Specification
      • Merging algorithm
      • Object creation internals
    • FAQ
  • API
    • Quick start
    • Basics
    • Methods
    • Properties
    • Deep properties
    • Initializers
    • Static properties
    • Static deep properties
    • Configuration
    • Deep configuration
    • Composers
    • Property descriptors
    • Static property descriptors
    • Name
  • Ecosystem
    • Ecosystem Overview
    • @stamp/collision
    • @stamp/required
    • @stamp/privatize
    • @stamp/named (DEPRECATED)
    • @stamp/instanceof
Powered by GitBook
On this page
  1. API

Name

PreviousStatic property descriptorsNextEcosystem Overview

Last updated 6 years ago

By default all the stamps name is "Stamp".

const MyStamp = stampit({})

console.log(MyStamp.name) // "Stamp"

But you can change it by passing the name property to stampit:

const MyStamp = stampit({ name: "MyFactoryFunction" })

console.log(MyStamp.name) // "MyFactoryFunction"

This metadata does not have a chaining method. This is illegal: MyStamp.name("MyFactoryFunction").

Gotchas

  • This feature is not part of the compose .

  • Won’t work in ES5 environments (like IE11). The name will always be “Stamp”. Name of a function can be set only in >=ES6 environments.

  • This code doesn’t work in JavaScript in general: SmsGateway.name = “bla”. Because Function.name is a special protected property.

  • If any of the stamps you compose have a name then all the derived stamps will have it too.

  • The only way to clear the name (reset to the defaults) is to set the name to "Stamp".

MyStamp = MyStamp.compose({ name: "Stamp" })
specification