mirror of
https://github.com/flynx/types.js.git
synced 2025-10-29 02:20:07 +00:00
MaybePromise -> SyncPromise...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
4e5753a228
commit
5d5f6f6a96
15
Promise.js
15
Promise.js
@ -800,9 +800,9 @@ object.Constructor('ProxyPromise', Promise, {
|
||||
// XXX like promise but if a value can be generated sync then this will
|
||||
// run in sync otherwise it will fall back to being a promise...
|
||||
// XXX should we throw errors in sync mode??? ...option???
|
||||
var MaybePromise =
|
||||
module.MaybePromise =
|
||||
object.Constructor('MaybePromise', Promise, {
|
||||
var SyncPromise =
|
||||
module.SyncPromise =
|
||||
object.Constructor('SyncPromise', Promise, {
|
||||
//value: undefined,
|
||||
//error: undefined,
|
||||
|
||||
@ -857,7 +857,7 @@ object.Mixin('PromiseMixin', 'soft', {
|
||||
interactive: InteractivePromise,
|
||||
cooperative: CooperativePromise,
|
||||
// XXX EXPEREMENTAL...
|
||||
maybe: MaybePromise,
|
||||
sync: SyncPromise,
|
||||
|
||||
// XXX need error support...
|
||||
awaitOrRun: function(data, func){
|
||||
@ -904,6 +904,13 @@ object.Mixin('PromiseProtoMixin', 'soft', {
|
||||
as: ProxyPromise,
|
||||
iter: function(handler=undefined){
|
||||
return IterablePromise(this, handler) },
|
||||
// XXX revise...
|
||||
sync: function(){
|
||||
if(this instanceof SyncPromise){
|
||||
if('error' in this){
|
||||
throw this.error }
|
||||
return this.value }
|
||||
return this },
|
||||
})
|
||||
|
||||
PromiseProtoMixin(Promise.prototype)
|
||||
|
||||
10
README.md
10
README.md
@ -94,7 +94,7 @@ Library of JavaScript type extensions, types and utilities.
|
||||
- [Promise proxies](#promise-proxies)
|
||||
- [`<promise>.as(..)`](#promiseas)
|
||||
- [`<promise-proxy>.<method>(..)`](#promise-proxymethod)
|
||||
- [Sync/Async promise](#syncasync-promise)
|
||||
- [Sync/async promise](#syncasync-promise)
|
||||
- [`Promise.maybe(..)` / `promise.MaybePromice(..)`](#promisemaybe--promisemaybepromice)
|
||||
- [`<maybe-promise>.value` / `<maybe-promise>.error`](#maybe-promisevalue--maybe-promiseerror)
|
||||
- [Promise utilities](#promise-utilities)
|
||||
@ -2007,11 +2007,15 @@ the main `<promise>` is resolved.
|
||||
### Sync/async promise
|
||||
|
||||
|
||||
#### `Promise.maybe(..)` / `promise.MaybePromice(..)`
|
||||
#### `Promise.sync(..)` / `promise.SyncPromice(..)`
|
||||
|
||||
XXX
|
||||
|
||||
#### `<maybe-promise>.value` / `<maybe-promise>.error`
|
||||
#### `<sync-promise>.value` / `<sync-promise>.error`
|
||||
|
||||
XXX
|
||||
|
||||
#### `<promise>.sync()`
|
||||
|
||||
XXX
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ig-types",
|
||||
"version": "6.23.0",
|
||||
"version": "6.24.0",
|
||||
"description": "Generic JavaScript types and type extensions...",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user