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
JavaScript
/**
* @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=