1.0.8 • Published 1 year ago

@operationspark.org/ts-assertion v1.0.8

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

Assertion library for testing types

This library provides assertions for testing types

Installation

npm install -D @operationspark.org/ts-assertion

Usage

CodeCheckerOptions

NameDescription
pathnamePathname to input fileOptional
globalTypesstring of globally available typesOptional
globalPathsstring of globally available pathsOptional

CodeChecker Methods

NameDescriptionReturns
testTest the code string and return a boolean if the code is validboolean
assertTest the code string. Chain isValid() or isNotValid()void

CodeChecker global config

Set global configurations for all instances of CodeChecker

import { CodeChecker } from '@operationspark.org/ts-assertion';

CodeChecker.config.setGlobalPaths([
  'path/to/file.ts',
  'path/to/other/file.d.ts'
]); // default is []
CodeChecker.config.setVerbose(true); // default: false

Basic Usage (No Options)

import { CodeChecker } from '@operationspark.org/ts-assertion';

const checker = new CodeChecker();

// Test returns boolean. `true` if the code is valid
checker.test('const str: string = "test";'); // true
checker.test('const str: string = 1;'); // false

// Assert throws an error if the code is not valid
checker.assert('const str: string = "test";').isValid();

// Assert throws an error if the code is valid
checker.assert('const str: string = 1;').isNotValid();

Advanced Usage (With Options)

path/to/file.ts

export type StringType = string;
export type NumberType = number;
export type BooleanType = boolean;
import { CodeChecker } from '@operationspark.org/ts-assertion';

const options:  = {
  pathname: 'path/to/file.ts',
  globalTypes: 'type PrimitiveType = string | number | boolean;',
  globalPaths: ['path/to/file.ts', 'path/to/other/file.d.ts'],
};
type TypeNames = 'StringType' | 'NumberType' | 'BooleanType';
const checker = new CodeChecker<TypeNames>(options);


// Test returns boolean. `true` if the code is valid
checker.test('const str: StringType = "test";') // true
checker.test('const str: string = 1;') // false

// Assert throws an error if the code is not valid/invalid
checker.assert('const str: StringType = "test";').isValid();
checker.assert('const str: string = 1;').isNotValid();

// Or more specifically, just test the type in the file
checker.test(
  'const str: StringType = "test";',
  'StringType'
) // true
checker.assert(
  'const str: StringType = "test";', 'StringType'
).isValid();

Development

Setup

npm install

Test

npm test

Watch

npm run test:dev

Publish

npm run publish:npm
1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago