com.phloxui
Version:
PhloxUI Ng2+ Framework
76 lines (75 loc) • 9.39 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* <p style="text-indent: 2em;">
* A <code>ng</code> service interface mainly handles <code>application</code>'s <code>background process</code> executions.
* Despite the <code>ng</code> framework provides you an <code>asynchronous</code> execution mechanism via <code>Promise</code>
* or <code>Observer</code> already, this service aims to make all those <code>asynchronous</code> executions easily monitorable
* by the user. For example, if your <code>application</code> needs to execute multiple <code>asynchronous</code> user's tasks
* such as saving multiple documents to the backend server at the same time, by using this service, it will keep record of
* those processes and give you the information about which one is running or is complete at any time.
* </p>
*
* @author shiorin, tee4cute
* @see [[BackgroundProcessManager]]
* @record
*/
export function IBackgroundProcessManager() { }
function IBackgroundProcessManager_tsickle_Closure_declarations() {
/**
* <p style="text-indent: 1em;">
* Execute a new background process which will <code>perform</code> the given <code><b>processFunc</b></code>.
* </p>
*
* \@param processFunc A <code>function</code> which will be performed asynchronously.
* \@param option A configuration object. This depends on each implementation of this interface. But, at least, it should contain the following
* properties:<br/>
* <code>
* {
* "type": "string",
* "name": "string"
* }
* </code>
*
* \@return A <code>Promise</code> which will be <code>resolved</code> when the execution is done and its <code>result</code> is the value
* returned from the given <code><b>processFunc</b></code>. If the given <code><b>processFunc</b></code> returns a <code>Promise</code>,
* this method will return that <code>Promise</code> directly.
*
* @type {?}
*/
IBackgroundProcessManager.prototype.execute;
/**
* <p style="text-indent: 1em;">
* Get the running processes count by the given <code><b>typeName</b></code> and <code><b>name</b></code>. If you want to
* count all running processes in the system, just pass <code>null</code> into all parameters. The returning value of this method must be
* the same as <code>array's length</code> returned from [[getRunningProcesses]] method.
* </p>
*
* \@param typeName A process <code>type name</code>. Passing <code>null</code> means no filter or including all <code>type name</code>s.
* \@param name A process <code>name</code>. Passing <code>null</code> means no filter or including all process <code>name</code>s.
*
* \@return A number of running processes according to the given <code><b>typeName</b></code> and <code><b>name</b></code>.
* This method will return <code>0</code> if no matching running process found.
*
* @type {?}
*/
IBackgroundProcessManager.prototype.getRunningProcessesCount;
/**
* <p style="text-indent: 1em;">
* Get <code>model</code>s of running processes by the given <code><b>typeName</b></code> and <code><b>name</b></code>. If you want to
* get all running process <code>model</code>s in the system, just pass <code>null</code> into all parameters.
* </p>
*
* \@param typeName A process <code>type name</code>. Passing <code>null</code> means no filter or including all <code>type name</code>s.
* \@param name A process <code>name</code>. Passing <code>null</code> means no filter or including all process <code>name</code>s.
*
* \@return An array of running process <code>model</code>s according to the given <code><b>typeName</b></code> and <code><b>name</b></code>.
* This method will return an <code>empty array</code> if no matching running process found.
*
* @type {?}
*/
IBackgroundProcessManager.prototype.getRunningProcesses;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUJhY2tncm91bmRQcm9jZXNzTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL0lCYWNrZ3JvdW5kUHJvY2Vzc01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogPHAgc3R5bGU9XCJ0ZXh0LWluZGVudDogMmVtO1wiPlxuICogQSA8Y29kZT5uZzwvY29kZT4gc2VydmljZSBpbnRlcmZhY2UgbWFpbmx5IGhhbmRsZXMgPGNvZGU+YXBwbGljYXRpb248L2NvZGU+J3MgPGNvZGU+YmFja2dyb3VuZCBwcm9jZXNzPC9jb2RlPiBleGVjdXRpb25zLiBcbiAqIERlc3BpdGUgdGhlIDxjb2RlPm5nPC9jb2RlPiBmcmFtZXdvcmsgcHJvdmlkZXMgeW91IGFuIDxjb2RlPmFzeW5jaHJvbm91czwvY29kZT4gZXhlY3V0aW9uIG1lY2hhbmlzbSB2aWEgPGNvZGU+UHJvbWlzZTwvY29kZT4gXG4gKiBvciA8Y29kZT5PYnNlcnZlcjwvY29kZT4gYWxyZWFkeSwgdGhpcyBzZXJ2aWNlIGFpbXMgdG8gbWFrZSBhbGwgdGhvc2UgPGNvZGU+YXN5bmNocm9ub3VzPC9jb2RlPiBleGVjdXRpb25zIGVhc2lseSBtb25pdG9yYWJsZSBcbiAqIGJ5IHRoZSB1c2VyLiBGb3IgZXhhbXBsZSwgaWYgeW91ciA8Y29kZT5hcHBsaWNhdGlvbjwvY29kZT4gbmVlZHMgdG8gZXhlY3V0ZSBtdWx0aXBsZSA8Y29kZT5hc3luY2hyb25vdXM8L2NvZGU+IHVzZXIncyB0YXNrcyBcbiAqIHN1Y2ggYXMgc2F2aW5nIG11bHRpcGxlIGRvY3VtZW50cyB0byB0aGUgYmFja2VuZCBzZXJ2ZXIgYXQgdGhlIHNhbWUgdGltZSwgYnkgdXNpbmcgdGhpcyBzZXJ2aWNlLCBpdCB3aWxsIGtlZXAgcmVjb3JkIG9mIFxuICogdGhvc2UgcHJvY2Vzc2VzIGFuZCBnaXZlIHlvdSB0aGUgaW5mb3JtYXRpb24gYWJvdXQgd2hpY2ggb25lIGlzIHJ1bm5pbmcgb3IgaXMgY29tcGxldGUgYXQgYW55IHRpbWUuIFxuICogPC9wPlxuICpcbiAqIEBhdXRob3Igc2hpb3JpbiwgdGVlNGN1dGVcbiAqIEBzZWUgW1tCYWNrZ3JvdW5kUHJvY2Vzc01hbmFnZXJdXVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElCYWNrZ3JvdW5kUHJvY2Vzc01hbmFnZXIge1xuXG5cdC8qKlxuXHQgKiA8cCBzdHlsZT1cInRleHQtaW5kZW50OiAxZW07XCI+XG5cdCAqIEV4ZWN1dGUgYSBuZXcgYmFja2dyb3VuZCBwcm9jZXNzIHdoaWNoIHdpbGwgPGNvZGU+cGVyZm9ybTwvY29kZT4gdGhlIGdpdmVuIDxjb2RlPjxiPnByb2Nlc3NGdW5jPC9iPjwvY29kZT4uIFxuXHQgKiA8L3A+XG5cdCAqXG5cdCAqIEBwYXJhbSBwcm9jZXNzRnVuYyBBIDxjb2RlPmZ1bmN0aW9uPC9jb2RlPiB3aGljaCB3aWxsIGJlIHBlcmZvcm1lZCBhc3luY2hyb25vdXNseS5cblx0ICogQHBhcmFtIG9wdGlvbiBBIGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBUaGlzIGRlcGVuZHMgb24gZWFjaCBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGludGVyZmFjZS4gQnV0LCBhdCBsZWFzdCwgaXQgc2hvdWxkIGNvbnRhaW4gdGhlIGZvbGxvd2luZ1xuXHQgKiBwcm9wZXJ0aWVzOjxici8+XG5cdCAqIDxjb2RlPlxuXHQgKiB7XG5cdCAqICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuXHQgKlx0ICBcIm5hbWVcIjogXCJzdHJpbmdcIlxuXHQgKiB9XG5cdCAqIDwvY29kZT5cblx0ICpcblx0ICogQHJldHVybiBBIDxjb2RlPlByb21pc2U8L2NvZGU+IHdoaWNoIHdpbGwgYmUgPGNvZGU+cmVzb2x2ZWQ8L2NvZGU+IHdoZW4gdGhlIGV4ZWN1dGlvbiBpcyBkb25lIGFuZCBpdHMgPGNvZGU+cmVzdWx0PC9jb2RlPiBpcyB0aGUgdmFsdWVcblx0ICogcmV0dXJuZWQgZnJvbSB0aGUgZ2l2ZW4gPGNvZGU+PGI+cHJvY2Vzc0Z1bmM8L2I+PC9jb2RlPi4gSWYgdGhlIGdpdmVuIDxjb2RlPjxiPnByb2Nlc3NGdW5jPC9iPjwvY29kZT4gcmV0dXJucyBhIDxjb2RlPlByb21pc2U8L2NvZGU+LCBcblx0ICogdGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gdGhhdCA8Y29kZT5Qcm9taXNlPC9jb2RlPiBkaXJlY3RseS5cblx0ICpcblx0ICovXG4gICAgZXhlY3V0ZShwcm9jZXNzRnVuYzogRnVuY3Rpb24sIG9wdGlvbj86IGFueSk6IFByb21pc2U8YW55PjtcbiAgICBcbiAgICAvKipcblx0ICogPHAgc3R5bGU9XCJ0ZXh0LWluZGVudDogMWVtO1wiPlxuXHQgKiBHZXQgdGhlIHJ1bm5pbmcgcHJvY2Vzc2VzIGNvdW50IGJ5IHRoZSBnaXZlbiA8Y29kZT48Yj50eXBlTmFtZTwvYj48L2NvZGU+IGFuZCA8Y29kZT48Yj5uYW1lPC9iPjwvY29kZT4uIElmIHlvdSB3YW50IHRvIFxuXHQgKiBjb3VudCBhbGwgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlIHN5c3RlbSwganVzdCBwYXNzIDxjb2RlPm51bGw8L2NvZGU+IGludG8gYWxsIHBhcmFtZXRlcnMuIFRoZSByZXR1cm5pbmcgdmFsdWUgb2YgdGhpcyBtZXRob2QgbXVzdCBiZSBcblx0ICogdGhlIHNhbWUgYXMgPGNvZGU+YXJyYXkncyBsZW5ndGg8L2NvZGU+IHJldHVybmVkIGZyb20gW1tnZXRSdW5uaW5nUHJvY2Vzc2VzXV0gbWV0aG9kLlxuXHQgKiA8L3A+XG5cdCAqXG5cdCAqIEBwYXJhbSB0eXBlTmFtZSBBIHByb2Nlc3MgPGNvZGU+dHlwZSBuYW1lPC9jb2RlPi4gUGFzc2luZyA8Y29kZT5udWxsPC9jb2RlPiBtZWFucyBubyBmaWx0ZXIgb3IgaW5jbHVkaW5nIGFsbCA8Y29kZT50eXBlIG5hbWU8L2NvZGU+cy5cblx0ICogQHBhcmFtIG5hbWUgQSBwcm9jZXNzIDxjb2RlPm5hbWU8L2NvZGU+LiBQYXNzaW5nIDxjb2RlPm51bGw8L2NvZGU+IG1lYW5zIG5vIGZpbHRlciBvciBpbmNsdWRpbmcgYWxsIHByb2Nlc3MgPGNvZGU+bmFtZTwvY29kZT5zLlxuXHQgKlxuXHQgKiBAcmV0dXJuIEEgbnVtYmVyIG9mIHJ1bm5pbmcgcHJvY2Vzc2VzIGFjY29yZGluZyB0byB0aGUgZ2l2ZW4gPGNvZGU+PGI+dHlwZU5hbWU8L2I+PC9jb2RlPiBhbmQgPGNvZGU+PGI+bmFtZTwvYj48L2NvZGU+LiBcblx0ICogVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gPGNvZGU+MDwvY29kZT4gaWYgbm8gbWF0Y2hpbmcgcnVubmluZyBwcm9jZXNzIGZvdW5kLlxuXHQgKlxuXHQgKi9cbiAgICBnZXRSdW5uaW5nUHJvY2Vzc2VzQ291bnQodHlwZU5hbWU6IHN0cmluZywgbmFtZTogc3RyaW5nKTogbnVtYmVyO1xuICAgIFxuICAgIC8qKlxuXHQgKiA8cCBzdHlsZT1cInRleHQtaW5kZW50OiAxZW07XCI+XG5cdCAqIEdldCA8Y29kZT5tb2RlbDwvY29kZT5zIG9mIHJ1bm5pbmcgcHJvY2Vzc2VzIGJ5IHRoZSBnaXZlbiA8Y29kZT48Yj50eXBlTmFtZTwvYj48L2NvZGU+IGFuZCA8Y29kZT48Yj5uYW1lPC9iPjwvY29kZT4uIElmIHlvdSB3YW50IHRvIFxuXHQgKiBnZXQgYWxsIHJ1bm5pbmcgcHJvY2VzcyA8Y29kZT5tb2RlbDwvY29kZT5zIGluIHRoZSBzeXN0ZW0sIGp1c3QgcGFzcyA8Y29kZT5udWxsPC9jb2RlPiBpbnRvIGFsbCBwYXJhbWV0ZXJzLlxuXHQgKiA8L3A+XG5cdCAqXG5cdCAqIEBwYXJhbSB0eXBlTmFtZSBBIHByb2Nlc3MgPGNvZGU+dHlwZSBuYW1lPC9jb2RlPi4gUGFzc2luZyA8Y29kZT5udWxsPC9jb2RlPiBtZWFucyBubyBmaWx0ZXIgb3IgaW5jbHVkaW5nIGFsbCA8Y29kZT50eXBlIG5hbWU8L2NvZGU+cy5cblx0ICogQHBhcmFtIG5hbWUgQSBwcm9jZXNzIDxjb2RlPm5hbWU8L2NvZGU+LiBQYXNzaW5nIDxjb2RlPm51bGw8L2NvZGU+IG1lYW5zIG5vIGZpbHRlciBvciBpbmNsdWRpbmcgYWxsIHByb2Nlc3MgPGNvZGU+bmFtZTwvY29kZT5zLlxuXHQgKlxuXHQgKiBAcmV0dXJuIEFuIGFycmF5IG9mIHJ1bm5pbmcgcHJvY2VzcyA8Y29kZT5tb2RlbDwvY29kZT5zIGFjY29yZGluZyB0byB0aGUgZ2l2ZW4gPGNvZGU+PGI+dHlwZU5hbWU8L2I+PC9jb2RlPiBhbmQgPGNvZGU+PGI+bmFtZTwvYj48L2NvZGU+LiBcblx0ICogVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYW4gPGNvZGU+ZW1wdHkgYXJyYXk8L2NvZGU+IGlmIG5vIG1hdGNoaW5nIHJ1bm5pbmcgcHJvY2VzcyBmb3VuZC5cblx0ICpcblx0ICovXG4gICAgZ2V0UnVubmluZ1Byb2Nlc3Nlcyh0eXBlTmFtZTogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBhbnlbXTtcblxufSJdfQ==