@azrico/webobject 1.3.20 → 1.3.22
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/README.md +52 -52
- package/dist/index.js +1 -16
- package/dist/src/WebObjects/ParentWebObject.js +20 -51
- package/dist/src/WebObjects/WebObject.js +269 -657
- package/dist/src/WebObjects/WebObjectManager.d.ts +6 -0
- package/dist/src/WebObjects/WebObjectManager.js +132 -364
- package/dist/src/index.js +9 -104
- package/dist/src/structs/DummyObject.js +8 -35
- package/dist/src/structs/MapableObject.js +74 -113
- package/dist/src/structs/MetaObject.js +35 -125
- package/dist/src/structs/ObjectArray.js +43 -72
- package/dist/src/structs/ObjectManager.js +210 -532
- package/dist/src/structs/SimpleObject.d.ts +0 -5
- package/dist/src/structs/SimpleObject.js +670 -1058
- package/package.json +1 -1
|
@@ -1,467 +1,189 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
exports["default"] = exports.ObjectManager = void 0;
|
|
7
|
-
var _event = require("@azrico/event");
|
|
8
|
-
var _SimpleObject = _interopRequireDefault(require("./SimpleObject"));
|
|
9
|
-
var _string = require("@azrico/string");
|
|
10
|
-
var _global = require("@azrico/global");
|
|
11
|
-
var _object = require("@azrico/object");
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
14
|
-
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
15
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
16
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
17
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
18
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
19
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
20
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
21
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
22
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
1
|
+
import { EventManager } from "@azrico/event";
|
|
2
|
+
import SimpleObject from "./SimpleObject";
|
|
3
|
+
import { combine_if_not_blank } from "@azrico/string";
|
|
4
|
+
import { gfunc } from "@azrico/global";
|
|
5
|
+
import { object_equals_loose } from "@azrico/object";
|
|
23
6
|
/**
|
|
24
7
|
* This class manages the events of an Simple Object
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (obj) {
|
|
46
|
-
_context.next = 3;
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
return _context.abrupt("return", false);
|
|
50
|
-
case 3:
|
|
51
|
-
if (value === undefined && type != "meta") value = obj.getValue(key);
|
|
52
|
-
typestr = (type ? "$".concat(type, "$") : "") + String(key);
|
|
53
|
-
_context.next = 7;
|
|
54
|
-
return this.event_run("on_change", typestr, value);
|
|
55
|
-
case 7:
|
|
56
|
-
return _context.abrupt("return", _context.sent);
|
|
57
|
-
case 8:
|
|
58
|
-
case "end":
|
|
59
|
-
return _context.stop();
|
|
60
|
-
}
|
|
61
|
-
}, _callee, this);
|
|
62
|
-
}));
|
|
63
|
-
function notifyChanged(_x, _x2, _x3, _x4) {
|
|
64
|
-
return _notifyChanged.apply(this, arguments);
|
|
65
|
-
}
|
|
66
|
-
return notifyChanged;
|
|
67
|
-
}() /* -------------------------------------------------------------------------- */
|
|
68
|
-
}, {
|
|
69
|
-
key: "obj",
|
|
70
|
-
get: function get() {
|
|
71
|
-
return this.getObject();
|
|
72
|
-
}
|
|
8
|
+
*/
|
|
9
|
+
export class ObjectManager {
|
|
10
|
+
__eventList;
|
|
11
|
+
__eventPrefix;
|
|
12
|
+
__sendEvents = true;
|
|
13
|
+
__currentObject;
|
|
14
|
+
__options;
|
|
15
|
+
async notifyChanged(type, key, value, subvalue) {
|
|
16
|
+
const obj = this.getObject();
|
|
17
|
+
if (!obj)
|
|
18
|
+
return false;
|
|
19
|
+
if (value === undefined && type != "meta")
|
|
20
|
+
value = obj.getValue(key);
|
|
21
|
+
const typestr = (type ? `$${type}$` : "") + String(key);
|
|
22
|
+
return await this.event_run("on_change", typestr, value);
|
|
23
|
+
}
|
|
24
|
+
/* -------------------------------------------------------------------------- */
|
|
25
|
+
get obj() {
|
|
26
|
+
return this.getObject();
|
|
27
|
+
}
|
|
73
28
|
/**
|
|
74
29
|
* Get the object this manager is managing
|
|
75
30
|
* @returns the object
|
|
76
|
-
*/
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
var _this$__currentObject;
|
|
81
|
-
return (_this$__currentObject = this.__currentObject) !== null && _this$__currentObject !== void 0 ? _this$__currentObject : undefined;
|
|
82
|
-
}
|
|
31
|
+
*/
|
|
32
|
+
getObject() {
|
|
33
|
+
return this.__currentObject ?? undefined;
|
|
34
|
+
}
|
|
83
35
|
/**
|
|
84
36
|
* Set the object this manager is managing
|
|
85
37
|
* @param toObj
|
|
86
38
|
* @returns
|
|
87
|
-
*/
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
/* -------------------------------------------------------------------------- */
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
get
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
key: "getSaveResult",
|
|
144
|
-
value: function getSaveResult() {
|
|
145
|
-
var _this$getObject;
|
|
146
|
-
return ((_this$getObject = this.getObject()) === null || _this$getObject === void 0 ? void 0 : _this$getObject.getSaveResult()) || undefined;
|
|
147
|
-
}
|
|
148
|
-
}, {
|
|
149
|
-
key: "getSaveResultType",
|
|
150
|
-
value: function getSaveResultType() {
|
|
151
|
-
var _this$getObject2;
|
|
152
|
-
return ((_this$getObject2 = this.getObject()) === null || _this$getObject2 === void 0 ? void 0 : _this$getObject2.getSaveResultType()) || null;
|
|
153
|
-
}
|
|
154
|
-
}, {
|
|
155
|
-
key: "setSaveResult",
|
|
156
|
-
value: function setSaveResult(toObj, type) {
|
|
157
|
-
var _this$getObject3;
|
|
158
|
-
return (_this$getObject3 = this.getObject()) === null || _this$getObject3 === void 0 ? void 0 : _this$getObject3.setSaveResult(toObj, type);
|
|
159
|
-
}
|
|
160
|
-
}, {
|
|
161
|
-
key: "apply_changes",
|
|
162
|
-
value: function apply_changes() {
|
|
163
|
-
var _this$obj5;
|
|
164
|
-
return ((_this$obj5 = this.obj) === null || _this$obj5 === void 0 ? void 0 : _this$obj5.apply_changes()) || false;
|
|
165
|
-
}
|
|
166
|
-
}, {
|
|
167
|
-
key: "getValue",
|
|
168
|
-
value: function getValue(key) {
|
|
169
|
-
var original = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
170
|
-
var thisobj = this.obj;
|
|
171
|
-
if (thisobj == null || typeof thisobj.getValue != "function") {
|
|
172
|
-
console.error("cant use getValue when object is not defined. maybe you have to use New() ?");
|
|
173
|
-
return null;
|
|
174
|
-
}
|
|
175
|
-
return thisobj.getValue(key, original);
|
|
176
|
-
}
|
|
177
|
-
}, {
|
|
178
|
-
key: "setValue",
|
|
179
|
-
value:
|
|
39
|
+
*/
|
|
40
|
+
setObject(toObj) {
|
|
41
|
+
this.__currentObject = toObj;
|
|
42
|
+
if (this.__currentObject) {
|
|
43
|
+
this.__currentObject.set_managerClass(this);
|
|
44
|
+
}
|
|
45
|
+
if (toObj == null) {
|
|
46
|
+
console.warn("setObject was used to set null. try to use empty objects instead of null");
|
|
47
|
+
}
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
/* -------------------------------------------------------------------------- */
|
|
51
|
+
/* Child functions */
|
|
52
|
+
/* -------------------------------------------------------------------------- */
|
|
53
|
+
get isChanged() {
|
|
54
|
+
return this.obj != null && this.obj.isChanged;
|
|
55
|
+
}
|
|
56
|
+
get isDeleted() {
|
|
57
|
+
return this.obj == null || this.obj.isDeleted;
|
|
58
|
+
}
|
|
59
|
+
get d() {
|
|
60
|
+
return this.obj?.d;
|
|
61
|
+
}
|
|
62
|
+
get canModify() {
|
|
63
|
+
return !this.obj?.canModify;
|
|
64
|
+
}
|
|
65
|
+
get isNew() {
|
|
66
|
+
return this.obj == null || this.obj.isNew;
|
|
67
|
+
}
|
|
68
|
+
get isSaved() {
|
|
69
|
+
return this.obj?.isSaved || false;
|
|
70
|
+
}
|
|
71
|
+
get __cache_name() {
|
|
72
|
+
return this.obj?.__cache_name || "";
|
|
73
|
+
}
|
|
74
|
+
getSaveResult() {
|
|
75
|
+
return this.getObject()?.getSaveResult() || undefined;
|
|
76
|
+
}
|
|
77
|
+
getSaveResultType() {
|
|
78
|
+
return this.getObject()?.getSaveResultType() || null;
|
|
79
|
+
}
|
|
80
|
+
setSaveResult(toObj, type) {
|
|
81
|
+
return this.getObject()?.setSaveResult(toObj, type);
|
|
82
|
+
}
|
|
83
|
+
apply_changes() {
|
|
84
|
+
return this.obj?.apply_changes() || false;
|
|
85
|
+
}
|
|
86
|
+
getValue(key, original = false) {
|
|
87
|
+
const thisobj = this.obj;
|
|
88
|
+
if (thisobj == null || typeof thisobj.getValue != "function") {
|
|
89
|
+
console.error("cant use getValue when object is not defined. maybe you have to use New() ?");
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
return thisobj.getValue(key, original);
|
|
93
|
+
}
|
|
94
|
+
get = this.getValue;
|
|
180
95
|
/**
|
|
181
96
|
* set value
|
|
182
97
|
* @param key
|
|
183
98
|
* @param value
|
|
184
99
|
* @return true if changed , false otherwise
|
|
185
|
-
*/
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
_context2.next = 4;
|
|
195
|
-
break;
|
|
196
|
-
}
|
|
197
|
-
console.error("cant use setValue when object is not defined. maybe you have to use New() ?");
|
|
198
|
-
return _context2.abrupt("return", false);
|
|
199
|
-
case 4:
|
|
200
|
-
_context2.next = 6;
|
|
201
|
-
return thisobj.setValue(key, value);
|
|
202
|
-
case 6:
|
|
203
|
-
_context2.t0 = _context2.sent;
|
|
204
|
-
if (_context2.t0) {
|
|
205
|
-
_context2.next = 9;
|
|
206
|
-
break;
|
|
207
|
-
}
|
|
208
|
-
_context2.t0 = false;
|
|
209
|
-
case 9:
|
|
210
|
-
return _context2.abrupt("return", _context2.t0);
|
|
211
|
-
case 10:
|
|
212
|
-
case "end":
|
|
213
|
-
return _context2.stop();
|
|
214
|
-
}
|
|
215
|
-
}, _callee2, this);
|
|
216
|
-
}));
|
|
217
|
-
function setValue(_x5, _x6) {
|
|
218
|
-
return _setValue.apply(this, arguments);
|
|
219
|
-
}
|
|
220
|
-
return setValue;
|
|
221
|
-
}()
|
|
100
|
+
*/
|
|
101
|
+
async setValue(key, value) {
|
|
102
|
+
const thisobj = this.obj;
|
|
103
|
+
if (thisobj == null || typeof thisobj.setValue != "function") {
|
|
104
|
+
console.error("cant use setValue when object is not defined. maybe you have to use New() ?");
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
return (await thisobj.setValue(key, value)) || false;
|
|
108
|
+
}
|
|
222
109
|
/**
|
|
223
110
|
* set key of subObject
|
|
224
111
|
* @param key
|
|
225
112
|
* @param value
|
|
226
113
|
* @param subvalue
|
|
227
114
|
* @return true if changed , false otherwise
|
|
228
|
-
*/
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
return
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
return
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
_context4.t0 = false;
|
|
276
|
-
case 5:
|
|
277
|
-
return _context4.abrupt("return", _context4.t0);
|
|
278
|
-
case 6:
|
|
279
|
-
case "end":
|
|
280
|
-
return _context4.stop();
|
|
281
|
-
}
|
|
282
|
-
}, _callee4, this);
|
|
283
|
-
}));
|
|
284
|
-
function pushValue(_x10, _x11) {
|
|
285
|
-
return _pushValue.apply(this, arguments);
|
|
286
|
-
}
|
|
287
|
-
return pushValue;
|
|
288
|
-
}() /* -------------------------------------------------------------------------- */
|
|
289
|
-
}, {
|
|
290
|
-
key: "getIndexOrID",
|
|
291
|
-
value: function getIndexOrID() {
|
|
292
|
-
var _this$obj8;
|
|
293
|
-
return ((_this$obj8 = this.obj) === null || _this$obj8 === void 0 ? void 0 : _this$obj8.getIndexOrID()) || -1;
|
|
294
|
-
}
|
|
295
|
-
}, {
|
|
296
|
-
key: "getIndex",
|
|
297
|
-
value: function getIndex() {
|
|
298
|
-
var _this$obj9;
|
|
299
|
-
return ((_this$obj9 = this.obj) === null || _this$obj9 === void 0 ? void 0 : _this$obj9.getIndex()) || -1;
|
|
300
|
-
}
|
|
301
|
-
}, {
|
|
302
|
-
key: "getID",
|
|
303
|
-
value: function getID() {
|
|
304
|
-
var _this$obj10;
|
|
305
|
-
return ((_this$obj10 = this.obj) === null || _this$obj10 === void 0 ? void 0 : _this$obj10.getID()) || "";
|
|
306
|
-
}
|
|
307
|
-
/* -------------------------------------------------------------------------- */
|
|
308
|
-
/* Getters */
|
|
309
|
-
/* -------------------------------------------------------------------------- */
|
|
310
|
-
/* -------------------------------------------------------------------------- */
|
|
311
|
-
/* Events */
|
|
312
|
-
/* -------------------------------------------------------------------------- */
|
|
313
|
-
}, {
|
|
314
|
-
key: "event_run",
|
|
315
|
-
value: function () {
|
|
316
|
-
var _event_run = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(eventName) {
|
|
317
|
-
var _len,
|
|
318
|
-
params,
|
|
319
|
-
_key,
|
|
320
|
-
_args5 = arguments;
|
|
321
|
-
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
322
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
323
|
-
case 0:
|
|
324
|
-
if (this.__sendEvents) {
|
|
325
|
-
_context5.next = 2;
|
|
326
|
-
break;
|
|
327
|
-
}
|
|
328
|
-
return _context5.abrupt("return");
|
|
329
|
-
case 2:
|
|
330
|
-
for (_len = _args5.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
331
|
-
params[_key - 1] = _args5[_key];
|
|
332
|
-
}
|
|
333
|
-
_context5.next = 5;
|
|
334
|
-
return _event.EventManager.run.apply(_event.EventManager, [this, eventName].concat(params));
|
|
335
|
-
case 5:
|
|
336
|
-
return _context5.abrupt("return", _context5.sent);
|
|
337
|
-
case 6:
|
|
338
|
-
case "end":
|
|
339
|
-
return _context5.stop();
|
|
340
|
-
}
|
|
341
|
-
}, _callee5, this);
|
|
342
|
-
}));
|
|
343
|
-
function event_run(_x12) {
|
|
344
|
-
return _event_run.apply(this, arguments);
|
|
345
|
-
}
|
|
346
|
-
return event_run;
|
|
347
|
-
}()
|
|
348
|
-
}, {
|
|
349
|
-
key: "event_use",
|
|
350
|
-
value: function event_use(name, runEvent) {
|
|
351
|
-
var onlyOn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
352
|
-
var runOnce = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
353
|
-
return _event.EventManager.use(this, name, runEvent, onlyOn, runOnce);
|
|
354
|
-
}
|
|
355
|
-
}, {
|
|
356
|
-
key: "event_remove",
|
|
357
|
-
value: function event_remove(name, uname) {
|
|
358
|
-
return _event.EventManager.remove(this, name, uname);
|
|
359
|
-
}
|
|
360
|
-
}, {
|
|
361
|
-
key: "event_add",
|
|
362
|
-
value: function () {
|
|
363
|
-
var _event_add = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(name, uname, runEvent) {
|
|
364
|
-
var onlyOn,
|
|
365
|
-
runOnce,
|
|
366
|
-
_args6 = arguments;
|
|
367
|
-
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
368
|
-
while (1) switch (_context6.prev = _context6.next) {
|
|
369
|
-
case 0:
|
|
370
|
-
onlyOn = _args6.length > 3 && _args6[3] !== undefined ? _args6[3] : null;
|
|
371
|
-
runOnce = _args6.length > 4 && _args6[4] !== undefined ? _args6[4] : false;
|
|
372
|
-
_context6.next = 4;
|
|
373
|
-
return _event.EventManager.add(this, name, uname, runEvent, onlyOn, runOnce);
|
|
374
|
-
case 4:
|
|
375
|
-
case "end":
|
|
376
|
-
return _context6.stop();
|
|
377
|
-
}
|
|
378
|
-
}, _callee6, this);
|
|
379
|
-
}));
|
|
380
|
-
function event_add(_x13, _x14, _x15) {
|
|
381
|
-
return _event_add.apply(this, arguments);
|
|
382
|
-
}
|
|
383
|
-
return event_add;
|
|
384
|
-
}()
|
|
385
|
-
}, {
|
|
386
|
-
key: "events_stop",
|
|
387
|
-
value: function events_stop() {
|
|
388
|
-
this.__sendEvents = false;
|
|
389
|
-
}
|
|
390
|
-
}, {
|
|
391
|
-
key: "events_clear",
|
|
392
|
-
value: function events_clear() {
|
|
393
|
-
ObjectManager.events_clear(this);
|
|
394
|
-
}
|
|
395
|
-
}, {
|
|
396
|
-
key: "toggleOption",
|
|
397
|
-
value:
|
|
398
|
-
/* -------------------------------------------------------------------------- */
|
|
399
|
-
/* Options */
|
|
400
|
-
/* -------------------------------------------------------------------------- */
|
|
115
|
+
*/
|
|
116
|
+
async setSubValue(key, objKey, subvalue) {
|
|
117
|
+
return ((await this.obj?.setSubValue(key, objKey, subvalue)) || false);
|
|
118
|
+
}
|
|
119
|
+
//Push value on array
|
|
120
|
+
async pushValue(key, value) {
|
|
121
|
+
return (await this.obj?.pushValue(key, value)) || false;
|
|
122
|
+
}
|
|
123
|
+
/* -------------------------------------------------------------------------- */
|
|
124
|
+
getIndexOrID() {
|
|
125
|
+
return this.obj?.getIndexOrID() || -1;
|
|
126
|
+
}
|
|
127
|
+
getIndex() {
|
|
128
|
+
return this.obj?.getIndex() || -1;
|
|
129
|
+
}
|
|
130
|
+
getID() {
|
|
131
|
+
return this.obj?.getID() || "";
|
|
132
|
+
}
|
|
133
|
+
/* -------------------------------------------------------------------------- */
|
|
134
|
+
/* Events */
|
|
135
|
+
/* -------------------------------------------------------------------------- */
|
|
136
|
+
async event_run(eventName, ...params) {
|
|
137
|
+
if (!this.__sendEvents)
|
|
138
|
+
return;
|
|
139
|
+
return await EventManager.run(this, eventName, ...params);
|
|
140
|
+
}
|
|
141
|
+
event_use(name, runEvent, onlyOn = null, runOnce = false) {
|
|
142
|
+
return EventManager.use(this, name, runEvent, onlyOn, runOnce);
|
|
143
|
+
}
|
|
144
|
+
event_remove(name, uname) {
|
|
145
|
+
return EventManager.remove(this, name, uname);
|
|
146
|
+
}
|
|
147
|
+
async event_add(name, uname, runEvent, onlyOn = null, runOnce = false) {
|
|
148
|
+
await EventManager.add(this, name, uname, runEvent, onlyOn, runOnce);
|
|
149
|
+
}
|
|
150
|
+
events_stop() {
|
|
151
|
+
this.__sendEvents = false;
|
|
152
|
+
}
|
|
153
|
+
events_clear() {
|
|
154
|
+
ObjectManager.events_clear(this);
|
|
155
|
+
}
|
|
156
|
+
static events_clear(obj) {
|
|
157
|
+
EventManager.removeAll(obj);
|
|
158
|
+
}
|
|
159
|
+
/* -------------------------------------------------------------------------- */
|
|
160
|
+
/* Options */
|
|
161
|
+
/* -------------------------------------------------------------------------- */
|
|
401
162
|
/**
|
|
402
163
|
* Set an option to some value, if its already equal to the value it will be deleted instead
|
|
403
164
|
* @param key
|
|
404
165
|
* @param value
|
|
405
166
|
* @returns
|
|
406
|
-
*/
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
case 8:
|
|
427
|
-
case "end":
|
|
428
|
-
return _context7.stop();
|
|
429
|
-
}
|
|
430
|
-
}, _callee7, this);
|
|
431
|
-
}));
|
|
432
|
-
function toggleOption(_x16, _x17) {
|
|
433
|
-
return _toggleOption.apply(this, arguments);
|
|
434
|
-
}
|
|
435
|
-
return toggleOption;
|
|
436
|
-
}()
|
|
437
|
-
}, {
|
|
438
|
-
key: "setOption",
|
|
439
|
-
value: function () {
|
|
440
|
-
var _setOption = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(key, value) {
|
|
441
|
-
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
442
|
-
while (1) switch (_context8.prev = _context8.next) {
|
|
443
|
-
case 0:
|
|
444
|
-
if (this.__options == null) this.__options = {};
|
|
445
|
-
if (value == null) {
|
|
446
|
-
delete this.__options[key];
|
|
447
|
-
} else {
|
|
448
|
-
this.__options[key] = value;
|
|
449
|
-
}
|
|
450
|
-
_context8.next = 4;
|
|
451
|
-
return this.event_run("on_option_change", key, value);
|
|
452
|
-
case 4:
|
|
453
|
-
return _context8.abrupt("return", _context8.sent);
|
|
454
|
-
case 5:
|
|
455
|
-
case "end":
|
|
456
|
-
return _context8.stop();
|
|
457
|
-
}
|
|
458
|
-
}, _callee8, this);
|
|
459
|
-
}));
|
|
460
|
-
function setOption(_x18, _x19) {
|
|
461
|
-
return _setOption.apply(this, arguments);
|
|
462
|
-
}
|
|
463
|
-
return setOption;
|
|
464
|
-
}()
|
|
167
|
+
*/
|
|
168
|
+
async toggleOption(key, value) {
|
|
169
|
+
var oldval = this.getOption(key);
|
|
170
|
+
if (object_equals_loose(oldval, value)) {
|
|
171
|
+
await this.setOption(key, null);
|
|
172
|
+
}
|
|
173
|
+
else
|
|
174
|
+
await this.setOption(key, value);
|
|
175
|
+
}
|
|
176
|
+
async setOption(key, value) {
|
|
177
|
+
if (this.__options == null)
|
|
178
|
+
this.__options = {};
|
|
179
|
+
if (value == null) {
|
|
180
|
+
delete this.__options[key];
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
this.__options[key] = value;
|
|
184
|
+
}
|
|
185
|
+
return await this.event_run("on_option_change", key, value);
|
|
186
|
+
}
|
|
465
187
|
/**
|
|
466
188
|
* Sets an option then does an action,
|
|
467
189
|
* after the action is run, updates the option again
|
|
@@ -469,96 +191,52 @@ var ObjectManager = /*#__PURE__*/function () {
|
|
|
469
191
|
* @param value
|
|
470
192
|
* @param nextvalue
|
|
471
193
|
* @param action
|
|
472
|
-
*/
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
return ObjectManager.getErrors(this);
|
|
522
|
-
}
|
|
523
|
-
}, {
|
|
524
|
-
key: "clearErrors",
|
|
525
|
-
value: function clearErrors() {
|
|
526
|
-
return ObjectManager.clearErrors(this);
|
|
527
|
-
}
|
|
528
|
-
}], [{
|
|
529
|
-
key: "events_clear",
|
|
530
|
-
value: function events_clear(obj) {
|
|
531
|
-
_event.EventManager.removeAll(obj);
|
|
532
|
-
}
|
|
533
|
-
}, {
|
|
534
|
-
key: "addError",
|
|
535
|
-
value: function addError(o, title, message) {
|
|
536
|
-
var sendToRegister = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "auto";
|
|
537
|
-
if (o && o.obj) {
|
|
538
|
-
return _SimpleObject["default"].addError(o.obj, title, message, sendToRegister);
|
|
539
|
-
}
|
|
540
|
-
var errStr = (0, _string.combine_if_not_blank)(title, " : ", message);
|
|
541
|
-
console.error("[REGISTER-ERROR]", errStr);
|
|
542
|
-
_global.gfunc.run_action("add_error", {
|
|
543
|
-
title: title,
|
|
544
|
-
message: message,
|
|
545
|
-
type: "error"
|
|
546
|
-
});
|
|
547
|
-
}
|
|
548
|
-
}, {
|
|
549
|
-
key: "getErrors",
|
|
550
|
-
value: function getErrors(o) {
|
|
551
|
-
var obj = o.obj;
|
|
552
|
-
return obj != null ? _SimpleObject["default"].getErrors(o.obj) : [];
|
|
553
|
-
}
|
|
554
|
-
}, {
|
|
555
|
-
key: "clearErrors",
|
|
556
|
-
value: function clearErrors(o) {
|
|
557
|
-
return _SimpleObject["default"].clearErrors(o.obj);
|
|
558
|
-
}
|
|
559
|
-
}]);
|
|
560
|
-
return ObjectManager;
|
|
561
|
-
}();
|
|
562
|
-
exports.ObjectManager = ObjectManager;
|
|
563
|
-
var _default = ObjectManager;
|
|
564
|
-
exports["default"] = _default;
|
|
194
|
+
*/
|
|
195
|
+
async holdOption(key, value, nextvalue, action) {
|
|
196
|
+
try {
|
|
197
|
+
this.setOption(key, value);
|
|
198
|
+
if (typeof action === "function")
|
|
199
|
+
await action();
|
|
200
|
+
}
|
|
201
|
+
finally {
|
|
202
|
+
this.setOption(key, nextvalue);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
getOption(key) {
|
|
206
|
+
if (this.__options == null)
|
|
207
|
+
return undefined;
|
|
208
|
+
return this.__options[key];
|
|
209
|
+
}
|
|
210
|
+
/* -------------------------------------------------------------------------- */
|
|
211
|
+
/* Errors */
|
|
212
|
+
/* -------------------------------------------------------------------------- */
|
|
213
|
+
addError(title, message, sendToRegister = "auto") {
|
|
214
|
+
return ObjectManager.addError(this, title, message, sendToRegister);
|
|
215
|
+
}
|
|
216
|
+
getErrors() {
|
|
217
|
+
return ObjectManager.getErrors(this);
|
|
218
|
+
}
|
|
219
|
+
clearErrors() {
|
|
220
|
+
return ObjectManager.clearErrors(this);
|
|
221
|
+
}
|
|
222
|
+
static addError(o, title, message, sendToRegister = "auto") {
|
|
223
|
+
if (o && o.obj) {
|
|
224
|
+
return SimpleObject.addError(o.obj, title, message, sendToRegister);
|
|
225
|
+
}
|
|
226
|
+
const errStr = combine_if_not_blank(title, " : ", message);
|
|
227
|
+
console.error("[REGISTER-ERROR]", errStr);
|
|
228
|
+
gfunc.run_action("add_error", {
|
|
229
|
+
title: title,
|
|
230
|
+
message: message,
|
|
231
|
+
type: "error",
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
static getErrors(o) {
|
|
235
|
+
const obj = o.obj;
|
|
236
|
+
return obj != null ? SimpleObject.getErrors(o.obj) : [];
|
|
237
|
+
}
|
|
238
|
+
static clearErrors(o) {
|
|
239
|
+
return SimpleObject.clearErrors(o.obj);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
export default ObjectManager;
|