Skip to content
Proxied wrapper object for Promise.
Branch: master
Clone or download
Latest commit 88cbf84 Mar 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib First Commit! Mar 22, 2019
scripts First Commit! Mar 22, 2019
src First Commit! Mar 22, 2019
.babelrc
.gitignore
.npmignore
.prettierrc First Commit! Mar 22, 2019
README.md First Commit! Mar 22, 2019
index.js Fix. Mar 22, 2019
package.json Fix. Mar 22, 2019
pre-commit
tsconfig.json First Commit! Mar 22, 2019
tslint.json First Commit! Mar 22, 2019
yarn.lock First Commit! Mar 22, 2019

README.md

Aprx

What's this?

Aprx is proxied wrapper object for Promise.

How to install

npm

npm install aprx -S

yarn

yarn add aprx

How to use

Basics

Call function

const aprx = require('aprx');

// e.g. fetch will return below object.
// {
//   isValid: boolean,
//   value: number
// }[]
const result = await aprx(fetch('https://getarray.com'))
                      .json()
                      .filter(result => result.isValid)
                      .map(result => result.value + 1);
console.log(result) // [{isValid: true, value: ...}, ...]

Property access

const aprx = require('aprx');

const x = await aprx(Promise.resolve({x: 100, y: 100})).x
console.log(x) // 100

Specials

construct

const aprx = require('aprx');

const C = aprx(Promise.resolve(class X {}));
const c = await new C();
assert.ok(c instanceof C); // true

for-of

const aprx = require('aprx');

const values = [1, 2, 3];
const value = aprx(Promise.resolve(values));
let index = 0;
for await (const v of value) {
  assert.strictEqual(values[index++], v); // true
}

Object functions

keys

const wrapper = aprx(Promise.resolve({a: 1, b: 2, c: 3}));
const keys = await aprx.keys(wrapper);
console.log(keys) // ['a', 'b', 'c']

values

const wrapper = aprx(Promise.resolve({a: 1, b: 2, c: 3}));
const keys = await aprx.values(wrapper);
console.log(keys) // [1, 2, 3]

entries

const wrapper = aprx(Promise.resolve({a: 1, b: 2, c: 3}));
const keys = await aprx.entries(wrapper);
console.log(keys) // [['a', 1], ['b', 2], ['c', 3]]

assign

const wrapper = aprx(Promise.resolve({a: 1, b: 2, c: 3}));
const assigned = await aprx.assign(wrapper, {d: 4});
console.log(assigned) // {a: 1, b: 2, c: 3, d: 4}

and below functions are supported.

preventExtensions
freeze
isExtensible
seal
isFrozen
is
isSealed
getOwnPropertyNames
getOwnPropertyDescriptor
getOwnPropertySymbols
getPrototypeOf
setPrototypeOf
gettOwnPropertySymbols
getOwnPropertyDescriptors
defineProperty
defineProperties
You can’t perform that action at this time.