@myparcel/ts-utils
TypeScript icon, indicating that this package has built-in type declarations

1.14.0 • Public • Published

TypeScript Utilities

This is a collection of TypeScript utilities that we reuse across all TS projects.

npm Coverage Status

Installation

Using Yarn

yarn add @myparcel/ts-utils

Using pnpm

pnpm add @myparcel/ts-utils

Using npm

npm install @myparcel/ts-utils

⚠️ Note: You can install this package as a dev dependency if you only use the types.

Contents

Type guard for checking if a value is a key of the given enum.

import {isEnumValue} from '@myparcel/ts-utils';

enum MyEnum {
  A = 'A',
  B = 'B',
}

const value = 'A';

if (isEnumValue(MyEnum, value)) {
  // value is of type MyEnum.A
}

Type guard which checks if given value is inside an array.

import {isInArray} from '@myparcel/ts-utils';

const value = 'A'; // value is of type 'A'

isInArray(value, ['A', 'B']) // true

Type guard for checking if an object value is of a specific type by checking if a given K exists.

import {isOfType} from '@myparcel/ts-utils';

interface BaseObject {
  a: string;
  b: number;
}

interface ObjectWithC extends BaseObject {
  c: string;
}

const value = {
  a: 'a',
  b: 1,
  c: 'c',
};

if (isOfType<ObjectWithC>(value, 'c')) {
  // value is of type ObjectWithC
}

Returns true if every element in the array satisfies the provided predicate.

import {asyncEvery} from '@myparcel/ts-utils';

await asyncEvery([1, 2, 3, 4, 5], async (value) => value > 0); // true
await asyncEvery([1, 2, 3, 4, 5], async (value) => value > 1); // false

Returns true if some element in the array satisfies the provided predicate.

import {asyncSome} from '@myparcel/ts-utils';

await asyncSome([1, 2, 3, 4, 5], async (value) => value > 4); // true
await asyncSome([1, 2, 3, 4, 5], async (value) => value > 5); // false

Converts a value to an array. If the value is already an array, it will be returned as is.

import {toArray} from '@myparcel/ts-utils';

toArray('plain value'); // ['plain value']

toArray(['already an array']); // ['already an array']

Package Sidebar

Install

npm i @myparcel/ts-utils

Weekly Downloads

513

Version

1.14.0

License

MIT

Unpacked Size

18.4 kB

Total Files

6

Last publish

Collaborators

  • myparcel-nl
  • edielemoine
  • mknijnenberg