1.0.19 • Published 1 year ago

softlib v1.0.19

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

html

Contract by Design

Softlib

Runtime code safety and sanity checking

Motivation

Before typescript came on the scene this library was a good way to reliably verify that function inputs were in their expected form. It continues to be an essential library for software written in pure ECMAScript.

Features

The expect function provides runtime type safety without the overhead of a precompiler. It provides a strong measure of safety during execution by providing an early warning system when things aren't proceeding as expected.

The aver function is a soft assertion. When conditions should be true, an aver() can alert the developer that things haven't lived up to their promise. This is done in a non-fatal way, allowing the condition to persist (even when the aver fails) letting the code deal with the condition using whatever coding paradigm is in force, such as a try/finally block or other exception/error handling techniques.

The terminal function provides context sensitive logging. When reached via a browser, output is routed to the console as a warn() or error(). When reached via a node.js process, output is routed to stdout or stderr.

The vartype function provides dynamic introspection of a variable's current type. It goes beyond ECMAScript's native typeof and instanceof keywords by inspecting the name of the variable's constructor.

The StackTrace class provides a stack trace for the other functions.

Installation

The softlib library may be installed directly from github or via NPM.

To add the library to a node.js project, use this command:

[user@host]# npm install softlib

import {expect} from 'softlib';    
import {aver} from 'softlib';    
import {terminal} from 'softlib';    
import {vartype} from 'softlib';    

To add the library to a browser project, use this command:

[user@host]# git clone https://github.com/readwritetools/softlib.git

import {expect} from '/softlib/expect.js';    
import {aver} from '/softlib/aver.js';    
import {terminal} from '/softlib/terminal.js';    
import {vartype} from '/softlib/vartype.js';    

Metadata

Module exports

Suitability

Availability

License

The softlib library is licensed under the MIT License.

1.0.19

1 year ago

1.0.18

1 year ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago