An open API service indexing awesome lists of open source software.

https://github.com/typescript-package/type

Utility types to enhance and simplify TypeScript development.
https://github.com/typescript-package/type

Last synced: 20 days ago
JSON representation

Utility types to enhance and simplify TypeScript development.

Awesome Lists containing this project

README

          



## typescript-package/type

Utility types to enhance and simplify TypeScript development.

[![npm version][typescript-package-npm-badge-svg]][typescript-package-npm-badge]
[![GitHub issues][typescript-package-badge-issues]][typescript-package-issues]
[![GitHub license][typescript-package-badge-license]][typescript-package-license]


## Table of contents

* [Installation](#installation)
* [Api](#api)
* [Git](#git)
* [Commit](#commit)
* [Versioning](#versioning)
* [License](#license)

## Installation

```bash
npm install @typescript-package/type
```

## Api

```typescript
import {
// Any
AnyBoolean,
AnyNumber,
AnyString,

// Object.
ArrayToObject,
GenericObject,

// Class.
Constructor,
PrototypeOf,

// Instance.
ExtractInstanceFromKey,
InstanceIntersection,
InstanceIntersectionFromKey,
InstanceOfConstructor,
InstanceTupleFromKey,
InstanceTypes,
IntersectionOfInstances,

// Primitive.
Primitive,
PrimitiveNames,

// Callback.
CallbackPayload,
ForEachCallback,
ResultCallback,

// String.
StringOfLength,

// Rest.
Defined,
ExpectType,
MinMax,
Never,
NotUndefined,
NumberBetween,
Type,
TypeNames,
Undefined,
UnionToIntersection,
UnionToTuple
} from '@typescript-package/type';
```

## GIT

### Commit

* [AngularJS Git Commit Message Conventions][git-commit-angular]
* [Karma Git Commit Msg][git-commit-karma]
* [Conventional Commits][git-commit-conventional]

### Versioning

[Semantic Versioning 2.0.0][git-semver]

**Given a version number MAJOR.MINOR.PATCH, increment the:**

* MAJOR version when you make incompatible API changes,
* MINOR version when you add functionality in a backwards-compatible manner, and
* PATCH version when you make backwards-compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

**FAQ**
How should I deal with revisions in the 0.y.z initial development phase?

> The simplest thing to do is start your initial development release at 0.1.0 and then increment the minor version for each subsequent release.

How do I know when to release 1.0.0?

> If your software is being used in production, it should probably already be 1.0.0. If you have a stable API on which users have come to depend, you should be 1.0.0. If you’re worrying a lot about backwards compatibility, you should probably already be 1.0.0.

## License

MIT © typescript-package ([license][typescript-package-license])


[typescript-package-badge-issues]: https://img.shields.io/github/issues/typescript-package/type
[typescript-package-badge-forks]: https://img.shields.io/github/forks/typescript-package/type
[typescript-package-badge-stars]: https://img.shields.io/github/stars/typescript-package/type
[typescript-package-badge-license]: https://img.shields.io/github/license/typescript-package/type

[typescript-package-issues]: https://github.com/typescript-package/type/issues
[typescript-package-forks]: https://github.com/typescript-package/type/network
[typescript-package-license]: https://github.com/typescript-package/type/blob/master/LICENSE
[typescript-package-stars]: https://github.com/typescript-package/type/stargazers


[typescript-package-npm-badge-svg]: https://badge.fury.io/js/@typescript-package%2Ftype.svg
[typescript-package-npm-badge]: https://badge.fury.io/js/@typescript-package%2Ftype

[git-semver]: http://semver.org/

[git-commit-angular]: https://gist.github.com/stephenparish/9941e89d80e2bc58a153
[git-commit-karma]: http://karma-runner.github.io/0.10/dev/git-commit-msg.html
[git-commit-conventional]: https://www.conventionalcommits.org/en/v1.0.0/