SlimIO Utils. This package has been created for internal usage (Features are added to the package to avoid spreading of similar functionalities across multiple projects).
Requirements
- Node.js v12 or higher
Getting Started
This package is available in the Node Package Repository and can be easily installed with npm or yarn.
$ npm i @slimio/utils
# or
$ yarn add @slimio/utilsUsage example
TBC
API
taggedString(chaines: string, ...keys: any[]): Clojure
This method is inspired from Tagged Literal (look at the MDN Documentation)
Useful to build string templates:
const { strictEqual } = require("assert"); const tpl = taggedString`hello ${0}`; strictEqual(tpl("fraxken"), "hello fraxken");
Template properties can be either index or key:
const { strictEqual } = require("assert"); const tpl = taggedString`hello ${"name"}`; strictEqual(tpl({ name: "fraxken" }), "hello fraxken");
createDirectory(path: string): void
Create a directory at the given path. This method trigger fs.mkdir but catch the ENOENT error if the directory exist.
assertEntity(entity: SlimIO.RawEntity): void
Assert an Entity Object.
assertEntity({ name: "myEntity", description: "desc", parent: 10, descriptors: {} });
assertMIC(mic: SlimIO.RawIdentityCard): void
Assert an MicIdentityCard Object.
assertMIC({ name: "myMIC", entityId: 1, unit: "unit", interval: 10, max: 100, description: "desc" });
assertAlarm(alarm: SlimIO.RawAlarm): void
Assert an Alarm Object.
assertAlarm({ message: "message", severity: 1, entityId: 2, correlateKey: "test_corrKey" });
assertCorrelateID(CID: SlimIO.CID): void
Assert a correlate id (Alarm correlate id). A CID is the addition of a Alarm ID and a Correlate key. The maximum length of the CID is 44.
assertCorrelateID("1#test_corrkey");
assertCK(correlateKey: string): void
Assert a correlate key (Alarm correlate key). The length of CK must be between 1 and 35.
assertCK("test_corrkey");
privateProperty(target: object, propertyKey: string|symbol|number, value?: any): void
Define a private (non-enumable, non-configurable) property on the target.
const assert = require("assert"); const obj = {}; privateProperty(obj, "foo", "bar"); assert.deepEqual(Object.keys(obj), []); obj.foo = "world!"; assert.strictEqual(obj.foo, "world!"); assert.throws(() => { delete obj.foo; }, { name: 'TypeError' });
Dependencies
| Name | Refactoring | Security Risk | Usage |
|---|---|---|---|
| @slimio/is | Minor | Low | Type Checker |
License
MIT