Semver Property Retrieve Stamp
A stamp (a composeable factory function) for use with stamp-it that contains a behavior/responsibility to retrieve a property stored in a config object (at this.config) keyed by semver type properties (example 1.1.1.property). This could be useful in a variety of situations, retrieving stamps from config, properties, or any other information useful for a particular version of software or API.
This can be useful by itself or in combination with config-property-stamp to read in config.
Usage
-
The config object you pass in needs to be an object with semver style attributes as described in version-attribute
-
Retrieve a property using version attribute in a convenient stamp:
// Config with semver property.const config = 1: 1: {} 2: 0: {} 1: "configItem": "testValue" 2: {} ;// Our Stampconst semverConfigProperty = ; // Create Stamp and set options// property: look for a property keyed as configItem////version: start looking for a property at version 1.2.2.// Version attribute works so that config can be lazily set// meaning that previous versions config are good for others unless they are specifically reset.//// configContext: We aren't using this here, but this is useful if// you use config Contexts to divide up semver objects.//// config: this is our semver Config object.const versionConfig = semverConfigProperty; // If you've retrieved anything it will be in: versionConfig.retrievedConfigvar test = versionConfig// testValue
Parameters
property
: The property you want to search for in your semver object.
version
: The semver version represented as an array, 3.0.1 would be represented as [3,0,1]
configContext
: Config can be divided into configuration contexts. Effectively we might subdivide semver objects under keys - we could then target that configContext through this property.
config
: A semver config object.