Skip to content

SignpostMarv/ts-assert

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Coverage Status Workflow Status

@signpostmarv/ts-assert

Code-generated assertions for TypeScript type guarding functions.

Usage

import {describe, it} from 'node:test';
import assert from 'node:assert/strict';
import ts_assert from '@signpostmarv/ts-assert';
import ts from 'typescript';

void describe('isIdentifier', () => {
	void it('throws', () => {
		assert.throws(() =>
			ts_assert.isIdentifier(ts.factory.createStringLiteral('foo'))
		);
	});
});

void describe('isEmptyBindingPattern', () => {
	void it('throws', () => {
		assert.throws(() =>
			ts_assert.isEmptyBindingPattern(ts.factory.createIdentifier('foo'))
		);
	});
});

void describe('isBooleanLiteral', () => {
	void it('throws', () => {
		assert.throws(() =>
			ts_assert.isBooleanLiteral(
				ts.factory.createStringLiteral('foo'),
				true
			)
		);
		assert.throws(() =>
			ts_assert.isBooleanLiteral(ts.factory.createFalse(), true)
		);
		assert.throws(() =>
			ts_assert.isBooleanLiteral(ts.factory.createTrue(), false)
		);
	});
	void it('does not throw', () => {
		assert.doesNotThrow(() =>
			ts_assert.isBooleanLiteral(ts.factory.createTrue(), true)
		);
		assert.doesNotThrow(() =>
			ts_assert.isBooleanLiteral(ts.factory.createFalse(), false)
		);
	});
});

void describe('isTokenWithExpectedKind', () => {
	void it('throws', () => {
		assert.throws(() =>
			ts_assert.isTokenWithExpectedKind(
				ts.factory.createStringLiteral('foo'),
				ts.SyntaxKind.StringKeyword
			)
		);
		assert.throws(() =>
			ts_assert.isTokenWithExpectedKind(
				ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
				ts.SyntaxKind.NumberKeyword
			)
		);
	});
	void it('does not throw', () => {
		assert.doesNotThrow(() =>
			ts_assert.isTokenWithExpectedKind(
				ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
				ts.SyntaxKind.StringKeyword
			)
		);
	});
});

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors