@behaveware/nucleus
v0.2.0
Published
A collection of essential utilities designed to be the central and most important part of any Typescript Developer's toolkit.
Downloads
119
Readme
Nucleus
A collection of essential utilities designed to be the central and most important part of any Typescript Developer's toolkit.
Test Coverage
|Branches|Functions|Lines|Statements| |---|---|---|---| |||||
Getting Started
Install
npm install --save @behaveware/nucleus
Documentation
Documentation is currently inside the code and is exported using TypeDoc. You can find the latest documentation here.
Usage Examples
Nucleus is a collection of pure functions covering a variety of common use cases. Below are a few examples of helpful functions. The documentation can be referenced for a full list of available functions, types, and constants.
Strings
// Capitalize
import { capitalize } from "@behaveware/nucleus";
const result = capitalize("word");
console.log(result); // Word
// Filename From
import { filenameFrom } from "@behaveware/nucleus";
const nameFromUrl: string = filenameFrom("https:/www.behaveware.org/nucleus.jpeg");
console.log(nameFromUrl); // nucleus.jpeg
const nameFromFilepath: string = filenameFrom("C:\\behaveware\\nucleus\\nucleus.jpeg");
console.log(nameFromFilepath); // nucleus.jpeg
// Is Email
import { isEmail } from "@behaveware/nucleus";
const trueResult: boolean = isEmail("[email protected]");
console.log(trueResult); // true
const falseResult: boolean = isEmail("behaveware.org");
console.log(falseResult); // false
Arrays
// Batch Array
import { batchArray } from "@behaveware/nucleus";
const array: any[] = [
1,
"string",
12,
{ size: 10 }
];
const batches = batchArray(array, 2);
console.log(batches[0]); // [ 1, 'string']
console.log(batches[1]); // [12, { size: 10 }]
// Arrays are Equal
import { arraysAreEqual } from "@behaveware/nucleus";
const arrayA = [{ id: "1" }, { id: "2" }];
const arrayB = [{ id: "1" }, { id: "2" }];
const compareType = (
a: { id: string },
b: { id: string }
) => {
return a.id === b.id;
}
const resultAB = arraysAreEqual(
arrayA,
arrayB,
compareType
);
console.log(resultAB); // true;
Bytes
// Byte Conversion
import {
toKilobytes,
toMegabytes,
toGigabytes,
toTerabytes
} from "@behaveware/nucleus";
const kilobytes = toKilobytes(1024);
console.log(kilobytes); // 1
const megabytes = toMegabytes(1024 * 1024);
console.log(megabytes); // 1
const gigabytes = toGigabytes(1024 * 1024 * 1024);
console.log(gigabytes); // 1
const terabytes = toTerabytes(1024 * 1024 * 1024 * 1024);
console.log(terabytes); // 1
// Trim Buffer
import { trimBuffer } from "@behaveware/nucleus";
const buffer = Buffer.from("nucleus");
console.log(buffer.byteLength); // 7
const trimmedBuffer = trimBuffer(buffer, 4);
console.log(trimmedBuffer.byteLength); // 4
Getting Started for Contributors
Pull down repository:
git clone https://github.com/BehaveWare/nucleus.git
Run all unit tests (JEST):
npm test
Run all tests with coverage:
npm run test:coverage
Run linter (TSLint):
npm run lint
Run formatter (Prettier):
npm run format