# promiz

> A proper compact promise (promises/A+ spec compliant) library.

Latest version **1.0.6** (published 2021-10-27) · MIT license · 0 weekly downloads

## Install

```sh
npm install promiz
pnpm add promiz
yarn add promiz
bun add promiz
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.6 |
| Published | 2021-10-27 |
| First published | 2013-07-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 599.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 102 |
| Author | Zolmeister |
| Maintainers | zolmeister |
| Keywords | promiz, promise, promise/A+, library, promises, promises-a, promises-aplus, deffered, future, async, flow control |

## Links

- npm: https://www.npmjs.com/package/promiz
- Repository: https://github.com/Zolmeister/promiz
- Homepage: https://github.com/Zolmeister/promiz#readme
- Issues: https://github.com/Zolmeister/promiz/issues
- npm.io page: https://npm.io/package/promiz

## Alternatives

- [@commercetools/sync-actions](https://npm.io/package/@commercetools/sync-actions.md) — 25.1K weekly downloads
- [cwait](https://npm.io/package/cwait.md) — 21.4K weekly downloads
- [@ledgerhq/hw-app-cosmos](https://npm.io/package/@ledgerhq/hw-app-cosmos.md) — 4.2K weekly downloads
- [@financial-times/o-loading](https://npm.io/package/@financial-times/o-loading.md) — 2.8K weekly downloads
- [fa](https://npm.io/package/fa.md) — 185 weekly downloads

## Recent versions

- 1.0.6 (latest) — 2021-10-27
- 1.0.5 — 2015-12-19
- 1.0.4 — 2015-07-06
- 1.0.3 — 2014-12-05
- 1.0.2 — 2014-12-05
- 1.0.1 — 2014-12-05
- 1.0.0 — 2014-10-25
- 0.3.2 — 2014-10-24
- 0.3.1 — 2014-10-24
- 0.3.0 — 2014-01-06
- 0.2.2 — 2013-07-22
- 0.2.1 — 2013-07-21
- 0.2.0 — 2013-07-21
- 0.1.1 — 2013-07-20
- 0.0.1 — 2013-07-19
- … 1 more at https://npm.io/package/promiz/versions

## README

![Promiz.js](https://raw.github.com/Zolmeister/promiz/master/imgs/logo.png)
======
<a href="http://promises-aplus.github.com/promises-spec">
    <img src="https://raw.github.com/Zolmeister/promiz/master/imgs/promise-logo-small.png"
         align="right" alt="Promises/A+ logo" />
</a>
A polyfill for ES6-style Promises in 913 bytes (gzip) (v0.3 [Blog Post](http://www.zolmeister.com/2014/01/promiz-micro-promises-in-228-bytes.html)) ~~([How it was built](http://www.zolmeister.com/2013/07/promizjs.html))~~  
![build-status](https://travis-ci.org/Zolmeister/promiz.png?branch=master)
## Install
```bash
# Node.js
npm install promiz --save

# Bower
bower install promiz --save
```
```html
<!-- Browser -->
<script src='promiz.js'></script>
```
Promiz - **913 bytes** (min + gzip) - as reported by uglify.js  
## Promiz
[HTML5rocks tutorial](http://www.html5rocks.com/en/tutorials/es6/promises/)
### Constructor - `new Promise(Function<resolve, reject>)`
```js
var promise = new Promise(function (resolve, reject) {
  if ('itIsRaining' && Math.random() * 10 === 2) {
    reject(new Error('reason'))
  } else {
    resolve(42)
  }
})
```
### `Promise.reject({reason})`
```js
promise = Promise.reject(new Error('reason'))
```
### `Promise.resolve({value})`
```js
promise = Promise.resolve(42)
```
### `promise.then({Function}, {Function})`
```js
promise = Promise.resolve(42)
promise.then(function (success) {
  return 'Promise resolved to: ' + success
}, function (failure) {
  return 'Promise failed with: ' + failure
})
```
### `promise.catch({Function})`
```js
promise = Promise.reject(new Error('failure'))
promise.catch(function (failure) {
  return 'Promise failed with: ' + failure
})
```
### `Promise.all({iterable})`
```js
promise1 = Promise.resolve(1)
promise2 = Promise.resolve(2)
Promise.all([promise1, 123, promise2])
.then(function (promises) {
  promises[0] === 1
  promises[1] === 123
  promises[2] === 2
})
```
### `Promise.race({iterable})`
```js
promise1 = new Promise()
promise2 = new Promise()

setTimeout(function () {
  promise1.resolve('z')
}, 10)

setTimeout(function () {
  promise2.resolve('l')
}, 100)

Promise.race([promise1, promise2])
.then(function (winner) {
  winner === 'z'
})
```

### Licence: MIT

---
_Source: https://npm.io/package/promiz · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
