Skip to content

iac-factory/cloud-parameter

Repository files navigation

cloud-parameter

Socket Badge

Parameters often used during configuration can be a difficult concept to standardize.

cloud-parameter aims to strictly define a naming and constructor convention to ease efforts associated with configuration, while allowing for an easy inheritance pattern to further extend from.

Usage

Important

Requires installation of npm

npm install cloud-parameter

Common-JS

const Main = async () => {
   const {Parameter} = await import("cloud-parameter");

const instance = new Parameter({
   organization: "IBM",
   environment: "Development",
   application: "Storage-Store",
   service: "Authorization-Service",
   identifier: "Credentials"
});

/***
 * @example
 * // returns:
 * Parameter {
 *   organization: 'IBM',
 *   environment: 'Development',
 *   application: 'Storage-Store',
 *   service: 'Authorization-Service',
 *   identifier: 'Credentials'
 * };
 *
 * console.log(instance);
 */
console.log(instance);

/***
 * @example
 * // returns IBM/Development/Storage-Store/Authorization-Service/Credentials
 * console.log(instance.string());
 */
console.log(instance.string());

/***
 * @example
 * // returns IBM/Development/Storage-Store/Authorization-Service/Credentials
 * console.log(instance.string("Directory"));
 */
console.log(instance.string("Directory"));

/***
 * @example
 * // returns /IBM/Development/Storage-Store/Authorization-Service/Credentials
 * console.log(instance.string("Directory", true));
 */
console.log(instance.string("Directory", true));

/***
 * @example
 * // returns ibm-development-storage-store-authorization-service-credentials
 * console.log(instance.string("Train-Case"));
 */
console.log(instance.string("Train-Case"));

/***
 * @example
 * // returns Ibm-Development-Storage-Store-Authorization-Service-Credentials
 * console.log(instance.string("Screaming-Train-Case"));
 */
console.log(instance.string("Screaming-Train-Case"));
}

(async () => Main())();

Modules

import { Parameter } from "cloud-parameter";

const instance = new Parameter({
   organization: "IBM",
   environment: "Development",
   application: "Storage-Store",
   service: "Authorization-Service",
   identifier: "Credentials"
});

/***
 * @example
 * // returns:
 * Parameter {
 *   organization: 'IBM',
 *   environment: 'Development',
 *   application: 'Storage-Store',
 *   service: 'Authorization-Service',
 *   identifier: 'Credentials'
 * };
 *
 * console.log(instance);
 */
console.log(instance);

/***
 * @example
 * // returns IBM/Development/Storage-Store/Authorization-Service/Credentials
 * console.log(instance.string());
 */
console.log(instance.string());

/***
 * @example
 * // returns IBM/Development/Storage-Store/Authorization-Service/Credentials
 * console.log(instance.string("Directory"));
 */
console.log(instance.string("Directory"));

/***
 * @example
 * // returns /IBM/Development/Storage-Store/Authorization-Service/Credentials
 * console.log(instance.string("Directory", true));
 */
console.log(instance.string("Directory", true));

/***
 * @example
 * // returns ibm-development-storage-store-authorization-service-credentials
 * console.log(instance.string("Train-Case"));
 */
console.log(instance.string("Train-Case"));

/***
 * @example
 * // returns Ibm-Development-Storage-Store-Authorization-Service-Credentials
 * console.log(instance.string("Screaming-Train-Case"));
 */
console.log(instance.string("Screaming-Train-Case"));
Package Script NPM Command Invocation Description
test npm test Unit-Test the Distribution
update npm update Compile + Update Unit-Test Snapshot(s)
start npm run start Development & Unit-Test Upon File-System Change(s)
build npm run build Compile Distribution Upon File-System Change(s)
compile npm run compile Compile Distribution
upload npm run upload Deploy Package to NPM Registry

Development

Recommended - Testing Mode

Locally developing with jest file-watchers helps ensure non-breaking change are introduced.

  1. Install Dependencies
    npm install --quiet
  2. Build *.ts File(s), Enabling TSC File-Watching
    npm run build
  3. Open an Additional TTY and Run
    npm run start

Lastly, continue with development.

For alternative build & unit-testing commands, please refer to the commands list.

Documentation

Please see documentation for additional information and reference(s).

About

Cloud Configuration Parameter(s) String Manipulation

Resources

License

Stars

Watchers

Forks

Packages

No packages published