@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
29 lines • 2.62 kB
JavaScript
/**
* A utility class that carries an operation result of any type
* along with executable after actions that should be performed at a later time.
*/
export class ResultWithAfterActions {
_result;
_afterActions;
/**
* @param _result the result of an operation
* @param _afterActions the lambdas that should be executed at some later time. Defaults to an empty array.
*/
constructor(_result, _afterActions = []) {
this._result = _result;
this._afterActions = _afterActions;
}
/**
* The result of an operations.
*/
get result() {
return this._result;
}
/**
* Executes all the after action lambdas.
*/
executeAfterActions() {
this._afterActions.forEach(action => action());
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0LXdpdGgtYWZ0ZXItYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdXRpbGl0eS9yZXN1bHQtd2l0aC1hZnRlci1hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFNVDtJQUFzQjtJQUo1Qzs7O09BR0c7SUFDSCxZQUFzQixPQUFVLEVBQVksZ0JBQW1DLEVBQUU7UUFBM0QsWUFBTyxHQUFQLE9BQU8sQ0FBRztRQUFZLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtJQUNqRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksbUJBQW1CO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgdXRpbGl0eSBjbGFzcyB0aGF0IGNhcnJpZXMgYW4gb3BlcmF0aW9uIHJlc3VsdCBvZiBhbnkgdHlwZVxuICogYWxvbmcgd2l0aCBleGVjdXRhYmxlIGFmdGVyIGFjdGlvbnMgdGhhdCBzaG91bGQgYmUgcGVyZm9ybWVkIGF0IGEgbGF0ZXIgdGltZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlc3VsdFdpdGhBZnRlckFjdGlvbnM8VD4ge1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIF9yZXN1bHQgdGhlIHJlc3VsdCBvZiBhbiBvcGVyYXRpb25cbiAgICAgKiBAcGFyYW0gX2FmdGVyQWN0aW9ucyB0aGUgbGFtYmRhcyB0aGF0IHNob3VsZCBiZSBleGVjdXRlZCBhdCBzb21lIGxhdGVyIHRpbWUuIERlZmF1bHRzIHRvIGFuIGVtcHR5IGFycmF5LlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfcmVzdWx0OiBULCBwcm90ZWN0ZWQgX2FmdGVyQWN0aW9uczogQXJyYXk8KCkgPT4gdm9pZD4gPSBbXSkge1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSByZXN1bHQgb2YgYW4gb3BlcmF0aW9ucy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHJlc3VsdCgpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbGwgdGhlIGFmdGVyIGFjdGlvbiBsYW1iZGFzLlxuICAgICAqL1xuICAgIHB1YmxpYyBleGVjdXRlQWZ0ZXJBY3Rpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hZnRlckFjdGlvbnMuZm9yRWFjaChhY3Rpb24gPT4gYWN0aW9uKCkpO1xuICAgIH1cbn1cbiJdfQ==