0.1.2 • Published 9 months ago

future-promise v0.1.2

Weekly downloads
-
License
ISC
Repository
-
Last release
9 months ago

predict

Predict the future of Promise. The proxy object to capture accesses to the promise and replay when it is awaited for.

USAGE

You can use Promise object as if a normal object.

import predict from "future-promise";

// dynamic import to global scope
globalThis.Foo = predict(import("foo-client")).default;

... some other file
const client = new Foo.Client(...);
const res = await client.where(...).exec();

And here is the list of features as a spec.

it('should predict a promise', async () => {
  const p = predict(Promise.resolve({
    foo: 'foo',
    bar: 'bar',
    baz: { qux: 'qux', },
    fn: () => 'fn',
    chain: () => () => 'chain',
    async: () => new Promise(_ => setTimeout(() => _('async'), 0)),
  }));
  expect(await p.foo).toBe('foo');
  expect(await p.bar).toBe('bar');
  expect(await p.baz.qux).toBe('qux');
  expect(await p.fn()).toBe('fn');
  expect(await p.chain()()).toBe('chain');
  expect(await p.async()).toBe('async');
});
0.1.2

9 months ago

0.1.1

1 year ago

0.1.0

1 year ago