https://github.com/iac-factory/cloud-parameter
Cloud Configuration Parameter(s) String Manipulation
https://github.com/iac-factory/cloud-parameter
Last synced: 2 months ago
JSON representation
Cloud Configuration Parameter(s) String Manipulation
- Host: GitHub
- URL: https://github.com/iac-factory/cloud-parameter
- Owner: iac-factory
- License: bsd-3-clause
- Created: 2022-06-10T02:23:01.000Z (almost 3 years ago)
- Default Branch: Development
- Last Pushed: 2024-01-19T01:04:22.000Z (over 1 year ago)
- Last Synced: 2024-04-24T13:55:48.579Z (about 1 year ago)
- Language: TypeScript
- Size: 605 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# `cloud-parameter` #
[](https://socket.dev/npm/package/cloud-parameter)
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````bash
npm install cloud-parameter
```### Common-JS
```node
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
```node
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
```bash
npm install --quiet
```
2. Build `*.ts` File(s), Enabling TSC File-Watching
```bash
npm run build
```
3. Open an Additional TTY and Run
```bash
npm run start
```Lastly, continue with development.
For alternative build & unit-testing commands, please refer to the [commands list](#usage).
## Documentation
Please see [documentation](./documentation) for additional information and reference(s).