vsn 0.1.128 → 0.1.130
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/demo/examples/cascading-function-sheets.html +2 -2
- package/demo/examples/events.html +1 -1
- package/demo/vsn.js +2 -2
- package/dist/AST/FunctionNode.js.map +1 -1
- package/dist/AST/IndexNode.js +7 -1
- package/dist/AST/IndexNode.js.map +1 -1
- package/dist/AST/ScopeMemberNode.js +1 -2
- package/dist/AST/ScopeMemberNode.js.map +1 -1
- package/dist/AST.d.ts +20 -0
- package/dist/AST.js +82 -23
- package/dist/AST.js.map +1 -1
- package/dist/DOM/AbstractDOM.d.ts +1 -1
- package/dist/DOM/AbstractDOM.js +15 -4
- package/dist/DOM/AbstractDOM.js.map +1 -1
- package/dist/Registry.d.ts +1 -2
- package/dist/Registry.js +15 -16
- package/dist/Registry.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/vsn.d.ts +1 -2
- package/dist/vsn.js +3 -5
- package/dist/vsn.js.map +1 -1
- package/package.json +1 -1
- package/src/AST/FunctionNode.ts +1 -0
- package/src/AST/IndexNode.ts +4 -0
- package/src/AST.ts +72 -24
- package/src/DOM/AbstractDOM.ts +12 -3
- package/src/Registry.ts +6 -9
- package/src/version.ts +1 -1
- package/src/vsn.ts +2 -3
- package/test/AST/FunctionNode.spec.ts +9 -0
- package/test/AST.spec.ts +6 -8
- package/test/Controller.spec.ts +15 -16
- package/dist/SimplePromise.d.ts +0 -42
- package/dist/SimplePromise.js +0 -258
- package/dist/SimplePromise.js.map +0 -1
- package/src/SimplePromise.ts +0 -219
- package/test/SimplePromise.spec.ts +0 -271
package/dist/vsn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vsn.js","sourceRoot":"","sources":["../src/vsn.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"vsn.js","sourceRoot":"","sources":["../src/vsn.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/AST/FunctionNode.ts
CHANGED
package/src/AST/IndexNode.ts
CHANGED
|
@@ -11,6 +11,7 @@ export class IndexNode extends Node implements TreeNode {
|
|
|
11
11
|
public readonly indexTwo: Node = null
|
|
12
12
|
) {
|
|
13
13
|
super();
|
|
14
|
+
console.log('index node', object, index, indexTwo);
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
protected _getChildNodes(): Node[] {
|
|
@@ -42,6 +43,9 @@ export class IndexNode extends Node implements TreeNode {
|
|
|
42
43
|
}
|
|
43
44
|
return values;
|
|
44
45
|
} else {
|
|
46
|
+
if (obj instanceof Scope) {
|
|
47
|
+
return obj.get(index as string);
|
|
48
|
+
}
|
|
45
49
|
return (obj)[index];
|
|
46
50
|
}
|
|
47
51
|
}
|
package/src/AST.ts
CHANGED
|
@@ -132,6 +132,50 @@ export enum TokenType {
|
|
|
132
132
|
DISPATCH_EVENT,
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
+
export interface BlockTypeConfiguration {
|
|
136
|
+
open: number,
|
|
137
|
+
close: number,
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export const BlockTypeConfigurations: {[key: number]: BlockTypeConfiguration} = {
|
|
141
|
+
[BlockType.BRACE]: {
|
|
142
|
+
open: TokenType.L_BRACE,
|
|
143
|
+
close: TokenType.R_BRACE,
|
|
144
|
+
},
|
|
145
|
+
[BlockType.BRACKET]: {
|
|
146
|
+
open: TokenType.L_BRACKET,
|
|
147
|
+
close: TokenType.R_BRACKET,
|
|
148
|
+
},
|
|
149
|
+
[BlockType.PAREN]: {
|
|
150
|
+
open: TokenType.L_PAREN,
|
|
151
|
+
close: TokenType.R_PAREN,
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
export const BlockOpenToTypeMap = {
|
|
156
|
+
[TokenType.L_BRACE]: BlockType.BRACE,
|
|
157
|
+
[TokenType.L_BRACKET]: BlockType.BRACKET,
|
|
158
|
+
[TokenType.L_PAREN]: BlockType.PAREN,
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
export const BlockCloseToTypeMap = {
|
|
162
|
+
[TokenType.R_BRACE]: BlockType.BRACE,
|
|
163
|
+
[TokenType.R_BRACKET]: BlockType.BRACKET,
|
|
164
|
+
[TokenType.R_PAREN]: BlockType.PAREN,
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
export function getTokenBlockOpenerConfig(opener: TokenType) {
|
|
168
|
+
return BlockTypeConfigurations[BlockOpenToTypeMap[opener]];
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export function tokenIsBlockOpener(token: TokenType): boolean {
|
|
172
|
+
return BlockOpenToTypeMap[token] !== undefined;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export function tokenIsBlockCloser(token: TokenType): boolean {
|
|
176
|
+
return BlockCloseToTypeMap[token] !== undefined;
|
|
177
|
+
}
|
|
178
|
+
|
|
135
179
|
const TOKEN_PATTERNS: TokenPattern[] = [
|
|
136
180
|
{
|
|
137
181
|
type: TokenType.WHITESPACE,
|
|
@@ -766,37 +810,41 @@ export class Tree {
|
|
|
766
810
|
|
|
767
811
|
public static getBlockTokens(tokens: Token[], groupBy: TokenType | null = TokenType.COMMA): Token[][] {
|
|
768
812
|
const blockInfo: IBlockInfo = Tree.getBlockInfo(tokens);
|
|
769
|
-
let openBlocks: number = 0;
|
|
770
813
|
const args: Token[][] = [];
|
|
771
814
|
let arg: Token[] = [];
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
815
|
+
let isOpen = true;
|
|
816
|
+
|
|
817
|
+
// consume opener
|
|
818
|
+
tokens.shift();
|
|
819
|
+
|
|
820
|
+
while (isOpen) {
|
|
821
|
+
const token: Token = tokens[0];
|
|
822
|
+
|
|
823
|
+
if (token === undefined)
|
|
824
|
+
throw Error(`Invalid Syntax, missing ${blockInfo.closeCharacter}`);
|
|
825
|
+
|
|
826
|
+
if (token.type === blockInfo.close) {
|
|
827
|
+
isOpen = false;
|
|
828
|
+
tokens.shift();
|
|
829
|
+
//arg.push(token);
|
|
830
|
+
} else if (tokenIsBlockOpener(token.type)) {
|
|
831
|
+
const opener = tokens.shift();
|
|
832
|
+
const innerBlock = Tree.getTokensUntil(tokens, getTokenBlockOpenerConfig(token.type).close, true, true);
|
|
833
|
+
innerBlock.unshift(opener);
|
|
834
|
+
arg.push(...innerBlock);
|
|
835
|
+
//args.push(innerBlock);
|
|
836
|
+
} else if (groupBy !== null && token.type === groupBy) {
|
|
783
837
|
args.push(arg);
|
|
784
838
|
arg = [];
|
|
839
|
+
tokens.shift();
|
|
785
840
|
} else if (token.type !== TokenType.WHITESPACE) {
|
|
786
|
-
arg.push(
|
|
787
|
-
}
|
|
788
|
-
|
|
789
|
-
// Consume token
|
|
790
|
-
tokens.shift()
|
|
791
|
-
i--;
|
|
792
|
-
if (openBlocks === 0) {
|
|
793
|
-
if (arg.length > 0)
|
|
794
|
-
args.push(arg);
|
|
795
|
-
|
|
796
|
-
return args;
|
|
841
|
+
arg.push(tokens.shift());
|
|
797
842
|
}
|
|
798
843
|
}
|
|
799
|
-
|
|
844
|
+
if (arg.length > 0)
|
|
845
|
+
args.push(arg);
|
|
846
|
+
|
|
847
|
+
return args;
|
|
800
848
|
}
|
|
801
849
|
|
|
802
850
|
public static getTokensUntil(tokens: Token[], terminator: TokenType = TokenType.SEMICOLON, consumeTerminator: boolean = true, includeTerminator: boolean = false, validIfTerminatorNotFound: boolean = false, blockInfo: IBlockInfo = null): Token[] {
|
package/src/DOM/AbstractDOM.ts
CHANGED
|
@@ -155,10 +155,19 @@ export abstract class AbstractDOM extends EventDispatcher {
|
|
|
155
155
|
return this.rootElement.querySelector(q);
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
public async exec(code: string) {
|
|
158
|
+
public async exec(code: string, data?: object) {
|
|
159
|
+
let scope = this.root.scope;
|
|
160
|
+
if (data) {
|
|
161
|
+
if (data instanceof Scope) {
|
|
162
|
+
scope = data
|
|
163
|
+
} else {
|
|
164
|
+
scope = new Scope();
|
|
165
|
+
scope.wrap(data);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
159
168
|
const tree = new Tree(code);
|
|
160
|
-
await tree.prepare(
|
|
161
|
-
return await tree.evaluate(
|
|
169
|
+
await tree.prepare(scope, this);
|
|
170
|
+
return await tree.evaluate(scope, this);
|
|
162
171
|
}
|
|
163
172
|
|
|
164
173
|
public async evaluate() {
|
package/src/Registry.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {EventDispatcher} from "./EventDispatcher";
|
|
2
|
-
import {IDeferred, IPromise, SimplePromise} from "./SimplePromise";
|
|
3
2
|
import {ClassNode} from "./AST/ClassNode";
|
|
4
3
|
|
|
5
4
|
export function register(store: string, key: string = null, setup: () => void = null) {
|
|
@@ -28,11 +27,10 @@ export class RegistryStore<T = any> extends EventDispatcher {
|
|
|
28
27
|
this.dispatch(`registered:${key}`, item);
|
|
29
28
|
}
|
|
30
29
|
|
|
31
|
-
get(key: string):
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
deferred.resolve(this.store[key]);
|
|
30
|
+
get(key: string): Promise<any> {
|
|
31
|
+
return new Promise((resolve, reject) => {
|
|
32
|
+
if (!!this.store[key]) {
|
|
33
|
+
resolve(this.store[key]);
|
|
36
34
|
} else {
|
|
37
35
|
console.warn(`Waiting for ${key} to be registered.`);
|
|
38
36
|
this.timeouts[key] = setTimeout(() => {
|
|
@@ -40,11 +38,10 @@ export class RegistryStore<T = any> extends EventDispatcher {
|
|
|
40
38
|
}, 5000);
|
|
41
39
|
this.once(`registered:${key}`, (cls) => {
|
|
42
40
|
clearTimeout(this.timeouts[key]);
|
|
43
|
-
|
|
41
|
+
resolve(cls);
|
|
44
42
|
})
|
|
45
43
|
}
|
|
46
|
-
|
|
47
|
-
return deferred.promise;
|
|
44
|
+
});
|
|
48
45
|
}
|
|
49
46
|
|
|
50
47
|
getSynchronous(key: string) {
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '0.1.
|
|
1
|
+
export const VERSION = '0.1.130';
|
|
2
2
|
|
package/src/vsn.ts
CHANGED
|
@@ -61,8 +61,8 @@ export class Vision extends EventDispatcher {
|
|
|
61
61
|
return this._dom;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
public async exec(code: string) {
|
|
65
|
-
return await this._dom.exec(code);
|
|
64
|
+
public async exec(code: string, data?: any) {
|
|
65
|
+
return await this._dom.exec(code, data);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
public async setup() {
|
|
@@ -101,6 +101,5 @@ export {Model} from './Model';
|
|
|
101
101
|
export {Service} from './Service';
|
|
102
102
|
export {EventDispatcher} from './EventDispatcher';
|
|
103
103
|
export {MessageList} from './MessageList';
|
|
104
|
-
export {SimplePromise} from './SimplePromise';
|
|
105
104
|
export {Tag} from './Tag';
|
|
106
105
|
export const vision: Vision = Vision.instance;
|
|
@@ -11,4 +11,13 @@ describe('FunctionNode', () => {
|
|
|
11
11
|
const v = await tree.evaluate(scope, null, null);
|
|
12
12
|
expect(v).toBe(3);
|
|
13
13
|
});
|
|
14
|
+
|
|
15
|
+
it("should take a multitude of arguments", async () => {
|
|
16
|
+
const tree = new Tree(`func add(a_int, a_dict, a_arr) { log(a_int, a_dict['a'], a_arr[0]); return a_int + a_dict['a'] + a_arr[0]; }; add(1, {'a':1, 'b': 2}, [1]);`);
|
|
17
|
+
const scope = new Scope();
|
|
18
|
+
await tree.prepare(scope, null, null);
|
|
19
|
+
expect(scope.get('add')).toBeDefined();
|
|
20
|
+
const v = await tree.evaluate(scope, null, null);
|
|
21
|
+
expect(v).toBe(3);
|
|
22
|
+
});
|
|
14
23
|
});
|
package/test/AST.spec.ts
CHANGED
|
@@ -2,7 +2,6 @@ import {WrappedArray} from '../src/Scope/WrappedArray';
|
|
|
2
2
|
import {Scope} from "../src/Scope";
|
|
3
3
|
import {Tree} from "../src/AST";
|
|
4
4
|
import {DOM} from "../src/DOM";
|
|
5
|
-
import {IDeferred, SimplePromise} from "../src/SimplePromise";
|
|
6
5
|
|
|
7
6
|
describe('Tree', () => {
|
|
8
7
|
let scope: Scope = null,
|
|
@@ -242,14 +241,13 @@ describe('Tree', () => {
|
|
|
242
241
|
|
|
243
242
|
it("should be able to block properly with promises", async () => {
|
|
244
243
|
scope.set('blockingFunction', async (num, toAdd, fin: boolean = false) => {
|
|
245
|
-
|
|
246
|
-
|
|
244
|
+
return new Promise((resolve, reject) => {
|
|
245
|
+
expect(scope.get('test')).toBe(num);
|
|
247
246
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
return deferred.promise;
|
|
247
|
+
setTimeout(() => {
|
|
248
|
+
resolve(num + toAdd);
|
|
249
|
+
}, 1);
|
|
250
|
+
});
|
|
253
251
|
});
|
|
254
252
|
|
|
255
253
|
let tree: Tree = new Tree(`
|
package/test/Controller.spec.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import {Controller} from '../src/Controller';
|
|
2
2
|
import {DOM} from "../src/DOM";
|
|
3
|
-
import {SimplePromise} from "../src/SimplePromise";
|
|
4
3
|
import {Registry} from "../src/Registry";
|
|
5
4
|
import {property} from "../src/Scope/properties/Property";
|
|
6
5
|
import {Property, Scope, Tag} from "../src/vsn";
|
|
@@ -31,21 +30,21 @@ describe('Controller', () => {
|
|
|
31
30
|
<div id="controller" vsn-controller:test="ControllerTestController" vsn-set:test.test="notTest" vsn-bind="test.test"></div>
|
|
32
31
|
`;
|
|
33
32
|
const dom = new DOM(document.body);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
33
|
+
await new Promise((resolve, reject) => {
|
|
34
|
+
dom.once('built', async () => {
|
|
35
|
+
const tag = await dom.exec('#controller');
|
|
36
|
+
expect(tag).toBeInstanceOf(Tag);
|
|
37
|
+
expect(tag.scope).toBeInstanceOf(Scope);
|
|
38
|
+
/*
|
|
39
|
+
expect(tag.scope.keys).toEqual(['test']);
|
|
40
|
+
expect(tag.scope.get('test').wrapped).toBeInstanceOf(TestController);
|
|
41
|
+
expect(await tag.exec('test.isValid()')).toBe(false);
|
|
42
|
+
expect(await tag.exec('test.test')).toBe('notTest');
|
|
43
|
+
await tag.exec('test.test = "test"');
|
|
44
|
+
expect(await tag.exec('test.isValid()')).toBe(true);
|
|
45
|
+
*/
|
|
46
|
+
resolve(null);
|
|
47
|
+
});
|
|
48
48
|
});
|
|
49
|
-
await deferred.promise;
|
|
50
49
|
});
|
|
51
50
|
});
|
package/dist/SimplePromise.d.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { EventDispatcher } from "./EventDispatcher";
|
|
2
|
-
export interface IDeferred<T> {
|
|
3
|
-
[key: string]: any;
|
|
4
|
-
promise: SimplePromise<T>;
|
|
5
|
-
resolve(result?: T): void;
|
|
6
|
-
reject(reason: string): void;
|
|
7
|
-
}
|
|
8
|
-
export declare type TResolve<T> = (result: T) => void;
|
|
9
|
-
export declare type TReject = (reason: string) => void;
|
|
10
|
-
export declare type TResult<T> = T | string | null;
|
|
11
|
-
export declare enum EPromiseStates {
|
|
12
|
-
PENDING = 0,
|
|
13
|
-
FULFILLED = 1,
|
|
14
|
-
REJECTED = 2
|
|
15
|
-
}
|
|
16
|
-
export interface IPromise<T> extends EventDispatcher {
|
|
17
|
-
state: EPromiseStates;
|
|
18
|
-
result: TResult<T>;
|
|
19
|
-
then<X = T>(success?: (result?: T) => X, error?: (reason?: string) => string): IPromise<X>;
|
|
20
|
-
catch(onRejected: (reason: string) => string): IPromise<string>;
|
|
21
|
-
finally<X = T>(finallyCallback: (result: T | string) => X | string): IPromise<X>;
|
|
22
|
-
}
|
|
23
|
-
export declare function noop<T = any>(result?: T): T;
|
|
24
|
-
export declare class SimplePromise<T> extends EventDispatcher implements IPromise<T> {
|
|
25
|
-
protected _state: EPromiseStates;
|
|
26
|
-
protected _result: TResult<T>;
|
|
27
|
-
private promiseClass;
|
|
28
|
-
constructor(executor: (resolve: TResolve<T>, reject: TReject) => void);
|
|
29
|
-
get state(): EPromiseStates;
|
|
30
|
-
get result(): TResult<T>;
|
|
31
|
-
static defer<T>(): IDeferred<T>;
|
|
32
|
-
static resolve<T>(result?: T): IPromise<T>;
|
|
33
|
-
static reject(reason: string): IPromise<void>;
|
|
34
|
-
static all<T>(iter: IPromise<T>[]): IPromise<T[]>;
|
|
35
|
-
static poolResults<T>(iter: IPromise<T>[], deferred: IDeferred<T[]>): void;
|
|
36
|
-
static race<T>(iter: IPromise<T>[]): IPromise<T>;
|
|
37
|
-
then<X = T>(success?: (result: T) => X, error?: (reason: string) => string): IPromise<X>;
|
|
38
|
-
catch(onRejected: (reason: string) => string): IPromise<string>;
|
|
39
|
-
finally<X = T>(finallyCallback: (result: T | string) => X | string): IPromise<X>;
|
|
40
|
-
protected _resolve(result: T): void;
|
|
41
|
-
protected _reject(reason: string): void;
|
|
42
|
-
}
|
package/dist/SimplePromise.js
DELETED
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __values = (this && this.__values) || function(o) {
|
|
18
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
19
|
-
if (m) return m.call(o);
|
|
20
|
-
if (o && typeof o.length === "number") return {
|
|
21
|
-
next: function () {
|
|
22
|
-
if (o && i >= o.length) o = void 0;
|
|
23
|
-
return { value: o && o[i++], done: !o };
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.SimplePromise = exports.noop = exports.EPromiseStates = void 0;
|
|
30
|
-
var EventDispatcher_1 = require("./EventDispatcher");
|
|
31
|
-
var EPromiseStates;
|
|
32
|
-
(function (EPromiseStates) {
|
|
33
|
-
EPromiseStates[EPromiseStates["PENDING"] = 0] = "PENDING";
|
|
34
|
-
EPromiseStates[EPromiseStates["FULFILLED"] = 1] = "FULFILLED";
|
|
35
|
-
EPromiseStates[EPromiseStates["REJECTED"] = 2] = "REJECTED";
|
|
36
|
-
})(EPromiseStates = exports.EPromiseStates || (exports.EPromiseStates = {}));
|
|
37
|
-
function noop(result) { return result; }
|
|
38
|
-
exports.noop = noop;
|
|
39
|
-
var SimplePromise = /** @class */ (function (_super) {
|
|
40
|
-
__extends(SimplePromise, _super);
|
|
41
|
-
function SimplePromise(executor) {
|
|
42
|
-
var _this = _super.call(this) || this;
|
|
43
|
-
_this._result = null;
|
|
44
|
-
_this._state = EPromiseStates.PENDING;
|
|
45
|
-
_this.promiseClass = (Object.getPrototypeOf(_this).constructor);
|
|
46
|
-
try {
|
|
47
|
-
executor(_this._resolve.bind(_this), _this._reject.bind(_this));
|
|
48
|
-
}
|
|
49
|
-
catch (e) {
|
|
50
|
-
_this._reject(e);
|
|
51
|
-
}
|
|
52
|
-
return _this;
|
|
53
|
-
}
|
|
54
|
-
Object.defineProperty(SimplePromise.prototype, "state", {
|
|
55
|
-
get: function () {
|
|
56
|
-
return this._state;
|
|
57
|
-
},
|
|
58
|
-
enumerable: false,
|
|
59
|
-
configurable: true
|
|
60
|
-
});
|
|
61
|
-
Object.defineProperty(SimplePromise.prototype, "result", {
|
|
62
|
-
get: function () {
|
|
63
|
-
return this._result;
|
|
64
|
-
},
|
|
65
|
-
enumerable: false,
|
|
66
|
-
configurable: true
|
|
67
|
-
});
|
|
68
|
-
SimplePromise.defer = function () {
|
|
69
|
-
var promise = new SimplePromise(function (res, rej) { });
|
|
70
|
-
return {
|
|
71
|
-
promise: promise,
|
|
72
|
-
resolve: promise._resolve.bind(promise),
|
|
73
|
-
reject: promise._reject.bind(promise)
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
|
-
/*
|
|
77
|
-
* Returns a Promise object that is resolved with the given value. If the value is a thenable (i.e. has a then
|
|
78
|
-
* method), the returned promise will "follow" that thenable, adopting its eventual state; otherwise the returned
|
|
79
|
-
* promise will be fulfilled with the value. Generally, if you don't know if a value is a promise or not,
|
|
80
|
-
* Promise.resolve(value) it instead and work with the return value as a promise.
|
|
81
|
-
*/
|
|
82
|
-
SimplePromise.resolve = function (result) {
|
|
83
|
-
return new SimplePromise(function (resolve) {
|
|
84
|
-
if (result instanceof SimplePromise) {
|
|
85
|
-
result.then(function (innerResult) {
|
|
86
|
-
resolve(innerResult);
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
resolve(result);
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
};
|
|
94
|
-
/*
|
|
95
|
-
* Returns a Promise object that is rejected with the given reason.
|
|
96
|
-
*/
|
|
97
|
-
SimplePromise.reject = function (reason) {
|
|
98
|
-
return new SimplePromise(function (resolve, reject) {
|
|
99
|
-
reject(reason);
|
|
100
|
-
});
|
|
101
|
-
};
|
|
102
|
-
/*
|
|
103
|
-
* Returns a promise that either fulfills when all of the promises in the iterable argument have fulfilled or
|
|
104
|
-
* rejects as soon as one of the promises in the iterable argument rejects. If the returned promise fulfills, it is
|
|
105
|
-
* fulfilled with an array of the values from the fulfilled promises in the same order as defined in the iterable.
|
|
106
|
-
* If the returned promise rejects, it is rejected with the reason from the first promise in the iterable that
|
|
107
|
-
* rejected. This method can be useful for aggregating results of multiple promises.
|
|
108
|
-
*/
|
|
109
|
-
SimplePromise.all = function (iter) {
|
|
110
|
-
var e_1, _a;
|
|
111
|
-
var deferred = SimplePromise.defer();
|
|
112
|
-
var done = true;
|
|
113
|
-
try {
|
|
114
|
-
for (var iter_1 = __values(iter), iter_1_1 = iter_1.next(); !iter_1_1.done; iter_1_1 = iter_1.next()) {
|
|
115
|
-
var promise = iter_1_1.value;
|
|
116
|
-
if (promise.state == EPromiseStates.PENDING) {
|
|
117
|
-
done = false;
|
|
118
|
-
promise.once('fulfilled', function (result) {
|
|
119
|
-
SimplePromise.poolResults(iter, deferred);
|
|
120
|
-
});
|
|
121
|
-
promise.once('rejected', function (reason) {
|
|
122
|
-
deferred.reject(reason);
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
else if (promise.state == EPromiseStates.REJECTED) {
|
|
126
|
-
deferred.reject(promise.result);
|
|
127
|
-
done = false;
|
|
128
|
-
break;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
133
|
-
finally {
|
|
134
|
-
try {
|
|
135
|
-
if (iter_1_1 && !iter_1_1.done && (_a = iter_1.return)) _a.call(iter_1);
|
|
136
|
-
}
|
|
137
|
-
finally { if (e_1) throw e_1.error; }
|
|
138
|
-
}
|
|
139
|
-
if (done)
|
|
140
|
-
SimplePromise.poolResults(iter, deferred);
|
|
141
|
-
return deferred.promise;
|
|
142
|
-
};
|
|
143
|
-
SimplePromise.poolResults = function (iter, deferred) {
|
|
144
|
-
var e_2, _a;
|
|
145
|
-
var done = true;
|
|
146
|
-
var results = [];
|
|
147
|
-
try {
|
|
148
|
-
for (var iter_2 = __values(iter), iter_2_1 = iter_2.next(); !iter_2_1.done; iter_2_1 = iter_2.next()) {
|
|
149
|
-
var p = iter_2_1.value;
|
|
150
|
-
if (p.state === EPromiseStates.REJECTED) {
|
|
151
|
-
deferred.reject(p.result);
|
|
152
|
-
break;
|
|
153
|
-
}
|
|
154
|
-
else if (p.state === EPromiseStates.PENDING) {
|
|
155
|
-
done = false;
|
|
156
|
-
}
|
|
157
|
-
results.push(p.result);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
161
|
-
finally {
|
|
162
|
-
try {
|
|
163
|
-
if (iter_2_1 && !iter_2_1.done && (_a = iter_2.return)) _a.call(iter_2);
|
|
164
|
-
}
|
|
165
|
-
finally { if (e_2) throw e_2.error; }
|
|
166
|
-
}
|
|
167
|
-
if (done)
|
|
168
|
-
deferred.resolve(results);
|
|
169
|
-
};
|
|
170
|
-
/*
|
|
171
|
-
* Returns a promise that fulfills or rejects as soon as one of the promises in the iterable fulfills or rejects,
|
|
172
|
-
* with the value or reason from that promise.
|
|
173
|
-
*/
|
|
174
|
-
SimplePromise.race = function (iter) {
|
|
175
|
-
var e_3, _a;
|
|
176
|
-
var deferred = SimplePromise.defer();
|
|
177
|
-
try {
|
|
178
|
-
for (var iter_3 = __values(iter), iter_3_1 = iter_3.next(); !iter_3_1.done; iter_3_1 = iter_3.next()) {
|
|
179
|
-
var promise = iter_3_1.value;
|
|
180
|
-
promise.once('fulfilled', function (result) {
|
|
181
|
-
deferred.resolve(result);
|
|
182
|
-
});
|
|
183
|
-
promise.once('rejected', function (reason) {
|
|
184
|
-
deferred.reject(reason);
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
189
|
-
finally {
|
|
190
|
-
try {
|
|
191
|
-
if (iter_3_1 && !iter_3_1.done && (_a = iter_3.return)) _a.call(iter_3);
|
|
192
|
-
}
|
|
193
|
-
finally { if (e_3) throw e_3.error; }
|
|
194
|
-
}
|
|
195
|
-
return deferred.promise;
|
|
196
|
-
};
|
|
197
|
-
/*
|
|
198
|
-
* Appends fulfillment and rejection handlers to the promise, and returns a new promise resolving to the return
|
|
199
|
-
* value of the called handler, or to its original settled value if the promise was not handled (i.e. if the
|
|
200
|
-
* relevant handler onFulfilled or onRejected is not a function).
|
|
201
|
-
*/
|
|
202
|
-
SimplePromise.prototype.then = function (success, error) {
|
|
203
|
-
var _this = this;
|
|
204
|
-
return new this.promiseClass(function (resolve, reject) {
|
|
205
|
-
if (_this.state === EPromiseStates.FULFILLED) {
|
|
206
|
-
if (success)
|
|
207
|
-
resolve(success(_this.result));
|
|
208
|
-
}
|
|
209
|
-
else if (_this.state === EPromiseStates.REJECTED) {
|
|
210
|
-
if (error)
|
|
211
|
-
reject(error(_this.result));
|
|
212
|
-
}
|
|
213
|
-
else {
|
|
214
|
-
_this.once('fulfilled', function (result) {
|
|
215
|
-
if (success)
|
|
216
|
-
resolve(success(result));
|
|
217
|
-
});
|
|
218
|
-
_this.once('rejected', function (reason) {
|
|
219
|
-
if (error)
|
|
220
|
-
reject(error(reason));
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
});
|
|
224
|
-
};
|
|
225
|
-
/*
|
|
226
|
-
* Appends a rejection handler callback to the promise, and returns a new promise resolving to the return value of
|
|
227
|
-
* the callback if it is called, or to its original fulfillment value if the promise is instead fulfilled.
|
|
228
|
-
*/
|
|
229
|
-
SimplePromise.prototype.catch = function (onRejected) {
|
|
230
|
-
return this.then(undefined, onRejected);
|
|
231
|
-
};
|
|
232
|
-
/*
|
|
233
|
-
* Appends a handler to the promise, and returns a new promise which is resolved when the original promise is
|
|
234
|
-
* resolved. The handler is called when the promise is settled, whether fulfilled or rejected.
|
|
235
|
-
*/
|
|
236
|
-
SimplePromise.prototype.finally = function (finallyCallback) {
|
|
237
|
-
var success = function (result) { return finallyCallback(result); };
|
|
238
|
-
var error = function (reason) { return finallyCallback(reason); };
|
|
239
|
-
return this.then(success, error);
|
|
240
|
-
};
|
|
241
|
-
SimplePromise.prototype._resolve = function (result) {
|
|
242
|
-
if (this.state !== EPromiseStates.PENDING)
|
|
243
|
-
return;
|
|
244
|
-
this._state = EPromiseStates.FULFILLED;
|
|
245
|
-
this._result = result;
|
|
246
|
-
this.dispatch('fulfilled', result);
|
|
247
|
-
};
|
|
248
|
-
SimplePromise.prototype._reject = function (reason) {
|
|
249
|
-
if (this.state !== EPromiseStates.PENDING)
|
|
250
|
-
return;
|
|
251
|
-
this._state = EPromiseStates.REJECTED;
|
|
252
|
-
this._result = reason;
|
|
253
|
-
this.dispatch('rejected', reason);
|
|
254
|
-
};
|
|
255
|
-
return SimplePromise;
|
|
256
|
-
}(EventDispatcher_1.EventDispatcher));
|
|
257
|
-
exports.SimplePromise = SimplePromise;
|
|
258
|
-
//# sourceMappingURL=SimplePromise.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SimplePromise.js","sourceRoot":"","sources":["../src/SimplePromise.ts"],"names":[],"mappings":"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"}
|