UNPKG

ngx-diagrams

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.2.0.

211 lines 12.8 kB
/** * @fileoverview added by tsickle * Generated from: lib/base.entity.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { log as _log, withLog as _withLog, UID, LOG_LEVEL } from './utils/tool-kit.util'; import { BehaviorSubject, Subject } from 'rxjs'; import { map, mapTo, takeUntil, filter } from 'rxjs/operators'; import { BaseEvent, LockEvent } from './interfaces/event.interface'; var BaseEntity = /** @class */ (function () { function BaseEntity(id, logPrefix) { if (logPrefix === void 0) { logPrefix = ''; } this._destroyed = new Subject(); this._destroyed$ = this._destroyed.asObservable(); this._locked = new BehaviorSubject(false); this._locked$ = this._locked.asObservable(); this._id = id || UID(); this._logPrefix = "" + logPrefix; } Object.defineProperty(BaseEntity.prototype, "id", { get: /** * @return {?} */ function () { return this._id; }, set: /** * @param {?} id * @return {?} */ function (id) { this._id = id; }, enumerable: true, configurable: true }); /** * @param {?} message * @param {...?} args * @return {?} */ BaseEntity.prototype.log = /** * @param {?} message * @param {...?} args * @return {?} */ function (message) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } _log.apply(void 0, tslib_1.__spread([this._logPrefix + " " + message + ": ", LOG_LEVEL.LOG], args)); }; /** * @param {?} message * @param {...?} args * @return {?} */ BaseEntity.prototype.withLog = /** * @param {?} message * @param {...?} args * @return {?} */ function (message) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } return _withLog.apply(void 0, tslib_1.__spread([this._logPrefix + " " + message + ": ", LOG_LEVEL.LOG], args)); }; /** * @return {?} */ BaseEntity.prototype.getLocked = /** * @return {?} */ function () { return this._locked.getValue(); }; /** * @param {?=} locked * @return {?} */ BaseEntity.prototype.setLocked = /** * @param {?=} locked * @return {?} */ function (locked) { if (locked === void 0) { locked = true; } this._locked.next(locked); }; // tslint:disable-next-line // tslint:disable-next-line /** * @param {?=} lookupTable * @param {?=} clone * @return {?} */ BaseEntity.prototype.doClone = // tslint:disable-next-line /** * @param {?=} lookupTable * @param {?=} clone * @return {?} */ function (lookupTable, clone) { if (lookupTable === void 0) { lookupTable = {}; } /*noop*/ }; /** * @param {?=} lookupTable * @return {?} */ BaseEntity.prototype.clone = /** * @param {?=} lookupTable * @return {?} */ function (lookupTable) { if (lookupTable === void 0) { lookupTable = {}; } // try and use an existing clone first if (lookupTable[this.id]) { return lookupTable[this.id]; } /** @type {?} */ var clone = tslib_1.__assign({}, this); clone.id = UID(); // clone.clearListeners(); lookupTable[this.id] = clone; this.doClone(lookupTable, clone); return clone; }; /** * @return {?} */ BaseEntity.prototype.lockChanges = /** * @return {?} */ function () { var _this = this; return this._locked$.pipe(takeUntil(this.onEntityDestroy()), map((/** * @param {?} locked * @return {?} */ function (locked) { return new LockEvent(_this, locked); })), this.withLog('lockChanges')); }; /** * @param {?=} options * @return {?} */ BaseEntity.prototype.destroy = /** * @param {?=} options * @return {?} */ function (options) { /** @type {?} */ var defaultOptions = tslib_1.__assign({ emit: true, propagate: true }, options); this.log('entity destroyed'); this._destroyed.next(defaultOptions); this._destroyed.complete(); }; /** * @return {?} */ BaseEntity.prototype.onEntityDestroy = /** * @return {?} */ function () { return this._destroyed$.pipe(filter((/** * @param {?} opts * @return {?} */ function (opts) { return opts.emit; })), mapTo(new BaseEvent(this))); }; return BaseEntity; }()); export { BaseEntity }; if (false) { /** * @type {?} * @private */ BaseEntity.prototype._id; /** * a prefix to make logs more easier * @type {?} * @private */ BaseEntity.prototype._logPrefix; /** * @type {?} * @private */ BaseEntity.prototype._destroyed; /** * @type {?} * @private */ BaseEntity.prototype._destroyed$; /** * @type {?} * @private */ BaseEntity.prototype._locked; /** * @type {?} * @private */ BaseEntity.prototype._locked$; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5lbnRpdHkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZGlhZ3JhbXMvIiwic291cmNlcyI6WyJsaWIvYmFzZS5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsT0FBTyxJQUFJLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFrQixNQUFNLDhCQUE4QixDQUFDO0FBSXBGO0lBV0Msb0JBQVksRUFBTyxFQUFFLFNBQWM7UUFBZCwwQkFBQSxFQUFBLGNBQWM7UUFMM0IsZUFBVSxHQUE0QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3BELGdCQUFXLEdBQStCLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekUsWUFBTyxHQUE2QixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxhQUFRLEdBQXdCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7UUFHbkUsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFHLFNBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsc0JBQVcsMEJBQUU7Ozs7UUFBYjtZQUNDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNqQixDQUFDOzs7OztRQUVELFVBQWMsRUFBTTtZQUNuQixJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLENBQUM7OztPQUpBOzs7Ozs7SUFNRCx3QkFB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Z0NBQTJCOzs7OztJQUMzQixnQ0FBNEQ7Ozs7O0lBQzVELGlDQUFpRjs7Ozs7SUFDakYsNkJBQXVFOzs7OztJQUN2RSw4QkFBb0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRCwgbG9nIGFzIF9sb2csIHdpdGhMb2cgYXMgX3dpdGhMb2csIFVJRCwgTE9HX0xFVkVMIH0gZnJvbSAnLi91dGlscy90b29sLWtpdC51dGlsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBtYXBUbywgdGFrZVVudGlsLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYXNlRXZlbnQsIExvY2tFdmVudCwgRGVzdHJveU9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMvZXZlbnQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHR5cGUgQmFzZUVudGl0eVR5cGUgPSAnbm9kZScgfCAnbGluaycgfCAncG9ydCcgfCAncG9pbnQnO1xuXG5leHBvcnQgY2xhc3MgQmFzZUVudGl0eSB7XG5cdHByaXZhdGUgX2lkOiBJRDtcblx0LyoqXG5cdCAqIGEgcHJlZml4IHRvIG1ha2UgbG9ncyBtb3JlIGVhc2llclxuXHQgKi9cblx0cHJpdmF0ZSBfbG9nUHJlZml4OiBzdHJpbmc7XG5cdHByaXZhdGUgX2Rlc3Ryb3llZDogU3ViamVjdDxEZXN0cm95T3B0aW9ucz4gPSBuZXcgU3ViamVjdCgpO1xuXHRwcml2YXRlIF9kZXN0cm95ZWQkOiBPYnNlcnZhYmxlPERlc3Ryb3lPcHRpb25zPiA9IHRoaXMuX2Rlc3Ryb3llZC5hc09ic2VydmFibGUoKTtcblx0cHJpdmF0ZSBfbG9ja2VkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblx0cHJpdmF0ZSBfbG9ja2VkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2xvY2tlZC5hc09ic2VydmFibGUoKTtcblxuXHRjb25zdHJ1Y3RvcihpZD86IElELCBsb2dQcmVmaXggPSAnJykge1xuXHRcdHRoaXMuX2lkID0gaWQgfHwgVUlEKCk7XG5cdFx0dGhpcy5fbG9nUHJlZml4ID0gYCR7bG9nUHJlZml4fWA7XG5cdH1cblxuXHRwdWJsaWMgZ2V0IGlkKCk6IElEIHtcblx0XHRyZXR1cm4gdGhpcy5faWQ7XG5cdH1cblxuXHRwdWJsaWMgc2V0IGlkKGlkOiBJRCkge1xuXHRcdHRoaXMuX2lkID0gaWQ7XG5cdH1cblxuXHRsb2cobWVzc2FnZTogc3RyaW5nLCAuLi5hcmdzOiBhbnkpOiB2b2lkIHtcblx0XHRfbG9nKGAke3RoaXMuX2xvZ1ByZWZpeH0gJHttZXNzYWdlfTogYCwgTE9HX0xFVkVMLkxPRywgLi4uYXJncyk7XG5cdH1cblxuXHR3aXRoTG9nKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogYW55KTogYW55IHtcblx0XHRyZXR1cm4gX3dpdGhMb2coYCR7dGhpcy5fbG9nUHJlZml4fSAke21lc3NhZ2V9OiBgLCBMT0dfTEVWRUwuTE9HLCAuLi5hcmdzKTtcblx0fVxuXG5cdGdldExvY2tlZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5fbG9ja2VkLmdldFZhbHVlKCk7XG5cdH1cblxuXHRzZXRMb2NrZWQobG9ja2VkOiBib29sZWFuID0gdHJ1ZSkge1xuXHRcdHRoaXMuX2xvY2tlZC5uZXh0KGxvY2tlZCk7XG5cdH1cblxuXHQvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcblx0ZG9DbG9uZShsb29rdXBUYWJsZTogeyBbczogc3RyaW5nXTogYW55IH0gPSB7fSwgY2xvbmU6IGFueSkge1xuXHRcdC8qbm9vcCovXG5cdH1cblxuXHRjbG9uZShsb29rdXBUYWJsZTogeyBbczogc3RyaW5nXTogYW55IH0gPSB7fSkge1xuXHRcdC8vIHRyeSBhbmQgdXNlIGFuIGV4aXN0aW5nIGNsb25lIGZpcnN0XG5cdFx0aWYgKGxvb2t1cFRhYmxlW3RoaXMuaWRdKSB7XG5cdFx0XHRyZXR1cm4gbG9va3VwVGFibGVbdGhpcy5pZF07XG5cdFx0fVxuXHRcdGNvbnN0IGNsb25lID0geyAuLi50aGlzIH07XG5cdFx0Y2xvbmUuaWQgPSBVSUQoKTtcblx0XHQvLyBjbG9uZS5jbGVhckxpc3RlbmVycygpO1xuXHRcdGxvb2t1cFRhYmxlW3RoaXMuaWRdID0gY2xvbmU7XG5cblx0XHR0aGlzLmRvQ2xvbmUobG9va3VwVGFibGUsIGNsb25lKTtcblx0XHRyZXR1cm4gY2xvbmU7XG5cdH1cblxuXHRwdWJsaWMgbG9ja0NoYW5nZXMoKTogT2JzZXJ2YWJsZTxMb2NrRXZlbnQ+IHtcblx0XHRyZXR1cm4gdGhpcy5fbG9ja2VkJC5waXBlKFxuXHRcdFx0dGFrZVVudGlsKHRoaXMub25FbnRpdHlEZXN0cm95KCkpLFxuXHRcdFx0bWFwKGxvY2tlZCA9PiBuZXcgTG9ja0V2ZW50KHRoaXMsIGxvY2tlZCkpLFxuXHRcdFx0dGhpcy53aXRoTG9nKCdsb2NrQ2hhbmdlcycpXG5cdFx0KTtcblx0fVxuXG5cdHB1YmxpYyBkZXN0cm95KG9wdGlvbnM/OiBEZXN0cm95T3B0aW9ucykge1xuXHRcdGNvbnN0IGRlZmF1bHRPcHRpb25zOiBEZXN0cm95T3B0aW9ucyA9IHtcblx0XHRcdGVtaXQ6IHRydWUsXG5cdFx0XHRwcm9wYWdhdGU6IHRydWUsXG5cdFx0XHQuLi5vcHRpb25zXG5cdFx0fTtcblxuXHRcdHRoaXMubG9nKCdlbnRpdHkgZGVzdHJveWVkJyk7XG5cdFx0dGhpcy5fZGVzdHJveWVkLm5leHQoZGVmYXVsdE9wdGlvbnMpO1xuXHRcdHRoaXMuX2Rlc3Ryb3llZC5jb21wbGV0ZSgpO1xuXHR9XG5cblx0cHVibGljIG9uRW50aXR5RGVzdHJveSgpOiBPYnNlcnZhYmxlPEJhc2VFdmVudDxCYXNlRW50aXR5Pj4ge1xuXHRcdHJldHVybiB0aGlzLl9kZXN0cm95ZWQkLnBpcGUoXG5cdFx0XHRmaWx0ZXIob3B0cyA9PiBvcHRzLmVtaXQpLFxuXHRcdFx0bWFwVG8obmV3IEJhc2VFdmVudCh0aGlzKSlcblx0XHQpO1xuXHR9XG59XG4iXX0=