1.16.0 • Published 3 years ago

@ephesoft/validation.sdk v1.16.0

Weekly downloads
-
License
MIT
Repository
bitbucket
Last release
3 years ago

README

@ephesoft/validation.sdk

This library contains custom validators and patterns.

IMPORTANT: @ephesoft/core.sdk is required as a peer dependency when using classes under the validators/json namespace.

TOC

Using the library

Prerequisites

Add the package to your repository:

npm i @ephesoft/validation.sdk

Using the library

Using the patterns:

// Import Library
import { patterns } from '@ephesoft/validation.sdk';
import { expect } from 'chai'; // Used for example

// Check ISO 8601 date
expect('2001-01-1T00:00:00.000Z').to.match(patterns.iso8601utc);

// Check URL
expect(patterns.url.test('whoneedsprotocols.com')).to.equal(false);

// Check UUID
expect(patterns.uuid.test('a60474ce-6a61-11ea-bc55-0242ac130003')).to.equal(true);

// Many more patterns....

Using the JSON Schema Validator (JSON Schema):

// Import Library
import { JsonSchemaValidator } from '@ephesoft/validation.sdk/validators/json/JsonSchemaValidator';
import { expect } from 'chai'; // Used for example

// Validate Success - empty array
const validator = new JsonSchemaValidator({ type: 'object' });
expect(validator.validate({})).to.deep.equal([]);

// Validation Issues - See response for each issue
const validator = new JsonSchemaValidator({
    type: 'object',
    properties: {
        key: { type: 'string' }
    },
    required: ['key']
});
expect(validator.validate({ key: 42 })).to.deep.equal([
    {
        code: 'type',
        message: 'must be string',
        location: {
            objectPath: '/key',
            schemaPath: '#/properties/key/type'
        },
        context: {
            type: 'string'
        }
    }
]);

NPM run targets

Run NPM commands as

npm run command

Available Commands

CommandDescription
auditExecutes a dependency audit using the default NPM registry
audit:fixAttempts an automatic fix of any audit failures.
buildCleans the dist folder and transpiles/webpacks the code
cleanDeletes the working folders like dist and docs
clean:docsDeletes the docs folder
create:betaAuto versions the package to the next available beta version.
docsCreate API documentation for the package in a "docs" folder
docs:bitbucketCreates API documentation in Bitbucket markdown format in a "docs" folder
lintPerforms static analysis on the TypeScript files.
lint:fixPerforms static analysis on the TypeScript files and attempts to automatically fix errors.
lint:reportPerforms static analysis on the TypeScript files using the default validation rules and logs results to a JSON file.
packCreates a local tarball package
postbuildAutomatically ran during build.
postprepareAutomatically ran during package install to setup tooling.
prebuildAutomatically ran during build.
startInstructs the TypeScript compiler to compile the ts files every time a change is detected.
testExecutes all tests and generates coverage.
test:coverageGenerates code coverage reports from test data.
test:unitRuns the unit tests.
validate:gaValidates the package version is valid for GA release.
validate:betaValidates the package version is valid for a Beta release.
1.16.0

3 years ago

1.15.0

3 years ago

1.15.0-beta.1

3 years ago