@terminus/ngx-tools v8.0.6
@terminus/ngx-tools
A collection of tools and utilities for Terminus applications.
Table of Contents
Installation
Install the library and required dependencies:
# Primary dependencies:
$ yarn add @terminus/ngx-tools
# Peer dependencies that need to be installed (you will likely already have some of these installed):
$ yarn add @angular/{core,common,forms,platform-browser} @ngrx/{effects,store} rxjs typescript@~3.4.5
Then import your item from the associated endpoint: import { debounce } from '@terminus/ngx-tools/utilities';
You can play with the library live on StackBlitz: https://stackblitz.com/github/GetTerminus/ngx-tools
Library Structure
Import location | Description | Docs | Size |
---|---|---|---|
@terminus/ngx-tools/browser | Helpers to deal directly with browsers (TsCookieService ..) | :books: | |
@terminus/ngx-tools/coercion | Functions to coerce values to specific types (Array ..) | :books: | |
@terminus/ngx-tools/jwt | Utilities for dealing with JWT tokens (TokenEscalator ..) | :books: | |
@terminus/ngx-tools/keycodes | Constants for commonly needed key codes (ESC ..) | :books: | |
@terminus/ngx-tools/regex | Regex definitions (creditCardRegex ..) | :books: | |
@terminus/ngx-tools/testing | Test helpers and test mocks (dispatchFakeEvent ..) | :books: | |
@terminus/ngx-tools/type-guards | TypeScript type guards (isSet , isArray ..) | :books: | |
@terminus/ngx-tools/utilities | Basic utilities (debounce , groupBy ..) | :books: |
Features
Browser Utilities
Import from: @terminus/ngx-tools/browser
// Example usage:
import { TsCookieService } from '@terminus/ngx-tools/browser';
...
this.cookieService.set('myName', 'myValue'); // Sets a cookie
Coercion
Import from: @terminus/ngx-tools/coercion
:books: Coercion Documentation
// Example usage:
import { coerceBooleanProperty } from '@terminus/ngx-tools/coercion';
coerceBooleanProperty('true'); // Returns: true
JWT Token Managment
Store, escalate, renew and use a named set of JWT tokens with ease!
Key Codes
Import from: @terminus/ngx-tools/keycodes
:books: Key Codes Documentation
// Example usage:
import { KEYS } from '@terminus/ngx-tools/keycodes';
import { dispatchKeyboardEvent } from '@terminus/ngx-tools/testing';
KEYS.ENTER.code // 'Enter'
KEYS.ENTER.keyCode // 13
// Example usage:
dispatchKeyboardEvent(myElementRef, KEYS.ENTER.keycode);
Regex
Import from: @terminus/ngx-tools/regex
// Example usage:
import { emailRegex } from '@terminus/ngx-tools/regex';
emailRegex.test('foo@bar.com'); // Returns: true
Testing Utilities
Import from: @terminus/ngx-tools/testing
// Example usage:
import { dispatchFakeEvent } from '@terminus/ngx-tools/testing';
dispatchFakeEvent(window, 'resize');
Type Guards
Import from: @terminus/ngx-tools/type-guards
:books: Type Guards Documentation
// Example usage:
import { arrayHasAllElementsSet } from '@terminus/ngx-tools/type-guards';
arrayHasAllElementsSet<string>(['foo', 'bar']) // Returns: true
arrayHasAllElementsSet<number>([1, 'bar']) // Returns: false
General Utilities
Import from: @terminus/ngx-tools/utilities
:books: Utilities Documentation
// Example usage:
import { groupBy } from '@terminus/ngx-tools/utilites';
groupBy<MyObj, keyof MyObj>(myArray, 'a');
Contributing
See the development workflow for the @terminus/ui
library: Terminus Library Contribution Docs
Contributors
Thanks goes to these wonderful people (emoji key):
Benjamin Charity💻 🔧 🤔 📖 💬 🐛 💡 🚇 🚧 👀 ⚠️ | Brian Malinconico💻 🤔 | Wendy💻 📖 ⚠️ 🚧 👀 | shani-terminus🐛 💻 📖 🚧 ⚠️ 👀 |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!
Basic Commands
Command | Function |
---|---|
build | Build release |
test | Run unit tests |
test:ci:local | Run all unit tests and output coverage |
start:app | Start demo project |
lint | Lint all library files and attempt to fix issues |
lint:ci | Lint all library files |
docs:toc | Update the Table of Contents in all files |
cm | Commit with commitizen cli |
See package.json for the full list of available commands.
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago