roboto-js 1.5.1 → 1.5.3

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.
@@ -78,6 +78,16 @@ var Roboto = exports["default"] = /*#__PURE__*/function () {
78
78
  Roboto.instance = this;
79
79
  }
80
80
  _createClass(Roboto, [{
81
+ key: "setSiteEnv",
82
+ value: function setSiteEnv(siteEnv) {
83
+ this.api.setSiteEnv(siteEnv);
84
+ }
85
+ }, {
86
+ key: "getSiteEnv",
87
+ value: function getSiteEnv() {
88
+ return this.api.getSiteEnv();
89
+ }
90
+ }, {
81
91
  key: "setAppServiceHost",
82
92
  value: function setAppServiceHost(host) {
83
93
  // DEVELOPMENT
@@ -132,6 +132,16 @@ var RbtApi = exports["default"] = /*#__PURE__*/function () {
132
132
  this.appServiceHost = host;
133
133
  this.axios.defaults.baseURL = host;
134
134
  }
135
+ }, {
136
+ key: "setSiteEnv",
137
+ value: function setSiteEnv(siteEnv) {
138
+ this.siteEnv = siteEnv;
139
+ }
140
+ }, {
141
+ key: "getSiteEnv",
142
+ value: function getSiteEnv() {
143
+ return this.siteEnv;
144
+ }
135
145
  }, {
136
146
  key: "registerTypedefs",
137
147
  value: function () {
@@ -145,7 +145,78 @@ var RbtObject = exports["default"] = /*#__PURE__*/function () {
145
145
  });
146
146
  }
147
147
 
148
- // set(path, value, options = {}) {
148
+ //
149
+ // For Arrays
150
+ //
151
+ }, {
152
+ key: "setAppend",
153
+ value: function () {
154
+ var _setAppend = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(key, value) {
155
+ var options,
156
+ existingValue,
157
+ valuesToAdd,
158
+ mergedValues,
159
+ _args = arguments;
160
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
161
+ while (1) switch (_context.prev = _context.next) {
162
+ case 0:
163
+ options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
164
+ existingValue = this.get(key) || []; // Get the existing value or default to an empty array
165
+ if (!Array.isArray(existingValue)) {
166
+ existingValue = []; // Ensure existingValue is an array if not already
167
+ }
168
+ valuesToAdd = Array.isArray(value) ? value : [value]; // Convert value to an array if it's not one
169
+ // Combine existingValue and valuesToAdd, filtering out duplicates
170
+ mergedValues = Array.from(new Set([].concat(_toConsumableArray(existingValue), _toConsumableArray(valuesToAdd))));
171
+ this.set(key, mergedValues, options); // Set the updated array back to the user data
172
+ case 6:
173
+ case "end":
174
+ return _context.stop();
175
+ }
176
+ }, _callee, this);
177
+ }));
178
+ function setAppend(_x, _x2) {
179
+ return _setAppend.apply(this, arguments);
180
+ }
181
+ return setAppend;
182
+ }()
183
+ }, {
184
+ key: "setRemove",
185
+ value: function () {
186
+ var _setRemove = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(key, value) {
187
+ var options,
188
+ existingValue,
189
+ valuesToRemove,
190
+ filteredValues,
191
+ _args2 = arguments;
192
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
193
+ while (1) switch (_context2.prev = _context2.next) {
194
+ case 0:
195
+ options = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : {};
196
+ existingValue = this.get(key) || []; // Get the existing value or default to an empty array
197
+ if (Array.isArray(existingValue)) {
198
+ _context2.next = 4;
199
+ break;
200
+ }
201
+ return _context2.abrupt("return");
202
+ case 4:
203
+ valuesToRemove = Array.isArray(value) ? value : [value]; // Convert value to an array if it's not one
204
+ // Filter out the values to remove from the existing value array
205
+ filteredValues = existingValue.filter(function (item) {
206
+ return !valuesToRemove.includes(item);
207
+ });
208
+ this.set(key, filteredValues); // Set the updated array back to the user data
209
+ case 7:
210
+ case "end":
211
+ return _context2.stop();
212
+ }
213
+ }, _callee2, this);
214
+ }));
215
+ function setRemove(_x3, _x4) {
216
+ return _setRemove.apply(this, arguments);
217
+ }
218
+ return setRemove;
219
+ }() // set(path, value, options = {}) {
149
220
  // const currentValue = _.get(this._data, path);
150
221
  //
151
222
  // // Check if merge is required
@@ -215,35 +286,35 @@ var RbtObject = exports["default"] = /*#__PURE__*/function () {
215
286
  }, {
216
287
  key: "save",
217
288
  value: function () {
218
- var _save = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
289
+ var _save = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
219
290
  var _response$data, _response$data2, record, response, _e$response;
220
- return _regeneratorRuntime().wrap(function _callee$(_context) {
221
- while (1) switch (_context.prev = _context.next) {
291
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
292
+ while (1) switch (_context3.prev = _context3.next) {
222
293
  case 0:
223
294
  if (this._internalData.type) {
224
- _context.next = 2;
295
+ _context3.next = 2;
225
296
  break;
226
297
  }
227
298
  throw new Error('Cannot save object without type');
228
299
  case 2:
229
- _context.prev = 2;
300
+ _context3.prev = 2;
230
301
  record = this.toRecord();
231
- _context.next = 6;
302
+ _context3.next = 6;
232
303
  return this._axios.post('/object_service/saveObject', [record]);
233
304
  case 6:
234
- response = _context.sent;
305
+ response = _context3.sent;
235
306
  if (!(response.data.ok === false)) {
236
- _context.next = 9;
307
+ _context3.next = 9;
237
308
  break;
238
309
  }
239
310
  throw new Error(response.data.message);
240
311
  case 9:
241
312
  if (!(((_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.result) == 'NO_CHANGES')) {
242
- _context.next = 12;
313
+ _context3.next = 12;
243
314
  break;
244
315
  }
245
316
  this.rpcMeta.isNew = false;
246
- return _context.abrupt("return", this);
317
+ return _context3.abrupt("return", this);
247
318
  case 12:
248
319
  if ((_response$data2 = response.data) !== null && _response$data2 !== void 0 && _response$data2.newData) {
249
320
  // apply new incoming data
@@ -253,19 +324,19 @@ var RbtObject = exports["default"] = /*#__PURE__*/function () {
253
324
  this.id_revision = response.data.id_revision;
254
325
  this.type = response.data.type;
255
326
  this.rpcMeta.isNew = false;
256
- return _context.abrupt("return", this);
327
+ return _context3.abrupt("return", this);
257
328
  case 20:
258
- _context.prev = 20;
259
- _context.t0 = _context["catch"](2);
260
- console.log('RbtObject.save.error:', _context.t0 === null || _context.t0 === void 0 || (_e$response = _context.t0.response) === null || _e$response === void 0 ? void 0 : _e$response.data);
261
- this._error = _context.t0;
329
+ _context3.prev = 20;
330
+ _context3.t0 = _context3["catch"](2);
331
+ console.log('RbtObject.save.error:', _context3.t0 === null || _context3.t0 === void 0 || (_e$response = _context3.t0.response) === null || _e$response === void 0 ? void 0 : _e$response.data);
332
+ this._error = _context3.t0;
262
333
  //console.log(e.response.data);
263
- throw _context.t0;
334
+ throw _context3.t0;
264
335
  case 25:
265
336
  case "end":
266
- return _context.stop();
337
+ return _context3.stop();
267
338
  }
268
- }, _callee, this, [[2, 20]]);
339
+ }, _callee3, this, [[2, 20]]);
269
340
  }));
270
341
  function save() {
271
342
  return _save.apply(this, arguments);
@@ -275,42 +346,42 @@ var RbtObject = exports["default"] = /*#__PURE__*/function () {
275
346
  }, {
276
347
  key: "delete",
277
348
  value: function () {
278
- var _delete2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
349
+ var _delete2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
279
350
  var record, response;
280
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
281
- while (1) switch (_context2.prev = _context2.next) {
351
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
352
+ while (1) switch (_context4.prev = _context4.next) {
282
353
  case 0:
283
354
  if (this._internalData.type) {
284
- _context2.next = 2;
355
+ _context4.next = 2;
285
356
  break;
286
357
  }
287
358
  throw new Error('Cannot delete object without type');
288
359
  case 2:
289
- _context2.prev = 2;
360
+ _context4.prev = 2;
290
361
  record = this.toRecord();
291
- _context2.next = 6;
362
+ _context4.next = 6;
292
363
  return this._axios.post('/object_service/deleteObject', [record]);
293
364
  case 6:
294
- response = _context2.sent;
365
+ response = _context4.sent;
295
366
  if (!(response.data.ok === false)) {
296
- _context2.next = 9;
367
+ _context4.next = 9;
297
368
  break;
298
369
  }
299
370
  throw new Error(response.data.message);
300
371
  case 9:
301
372
  this._internalData = response.data;
302
- return _context2.abrupt("return", this);
373
+ return _context4.abrupt("return", this);
303
374
  case 13:
304
- _context2.prev = 13;
305
- _context2.t0 = _context2["catch"](2);
375
+ _context4.prev = 13;
376
+ _context4.t0 = _context4["catch"](2);
306
377
  console.log('RbtObject.delete.error:');
307
- console.log(_context2.t0.response.data);
308
- throw _context2.t0;
378
+ console.log(_context4.t0.response.data);
379
+ throw _context4.t0;
309
380
  case 18:
310
381
  case "end":
311
- return _context2.stop();
382
+ return _context4.stop();
312
383
  }
313
- }, _callee2, this, [[2, 13]]);
384
+ }, _callee4, this, [[2, 13]]);
314
385
  }));
315
386
  function _delete() {
316
387
  return _delete2.apply(this, arguments);
@@ -9,6 +9,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
9
9
  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 e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
10
10
  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); } }
11
11
  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); }); }; }
12
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
13
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
16
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
17
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
12
18
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
13
19
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
20
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -77,6 +83,44 @@ var RbtUser = exports["default"] = /*#__PURE__*/function () {
77
83
  }
78
84
  });
79
85
  }
86
+
87
+ //
88
+ // For Arrays
89
+ //
90
+ }, {
91
+ key: "setAppend",
92
+ value: function setAppend(key, value) {
93
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
94
+ var existingValue = this.get(key) || []; // Get the existing value or default to an empty array
95
+ if (!Array.isArray(existingValue)) {
96
+ existingValue = []; // Ensure existingValue is an array if not already
97
+ }
98
+ var valuesToAdd = Array.isArray(value) ? value : [value]; // Convert value to an array if it's not one
99
+
100
+ // Combine existingValue and valuesToAdd, filtering out duplicates
101
+ var mergedValues = Array.from(new Set([].concat(_toConsumableArray(existingValue), _toConsumableArray(valuesToAdd))));
102
+ this.set(key, mergedValues, options); // Set the updated array back to the user data
103
+ }
104
+ }, {
105
+ key: "setRemove",
106
+ value: function setRemove(key, value) {
107
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
108
+ var existingValue = this.get(key) || []; // Get the existing value or default to an empty array
109
+ if (!Array.isArray(existingValue)) {
110
+ return; // If it's not an array, there's nothing to remove, so exit early
111
+ }
112
+ var valuesToRemove = Array.isArray(value) ? value : [value]; // Convert value to an array if it's not one
113
+
114
+ // Filter out the values to remove from the existing value array
115
+ var filteredValues = existingValue.filter(function (item) {
116
+ return !valuesToRemove.includes(item);
117
+ });
118
+ this.set(key, filteredValues); // Set the updated array back to the user data
119
+ }
120
+
121
+ //
122
+ //
123
+ //
80
124
  }, {
81
125
  key: "toRecord",
82
126
  value: function toRecord() {
package/dist/esm/index.js CHANGED
@@ -46,6 +46,12 @@ export default class Roboto {
46
46
  }
47
47
  Roboto.instance = this;
48
48
  }
49
+ setSiteEnv(siteEnv) {
50
+ this.api.setSiteEnv(siteEnv);
51
+ }
52
+ getSiteEnv() {
53
+ return this.api.getSiteEnv();
54
+ }
49
55
  setAppServiceHost(host) {
50
56
  // DEVELOPMENT
51
57
  host = this._stripHttpsForDomains(host, ['localhost']);
@@ -61,6 +61,12 @@ export default class RbtApi {
61
61
  this.appServiceHost = host;
62
62
  this.axios.defaults.baseURL = host;
63
63
  }
64
+ setSiteEnv(siteEnv) {
65
+ this.siteEnv = siteEnv;
66
+ }
67
+ getSiteEnv() {
68
+ return this.siteEnv;
69
+ }
64
70
  async registerTypedefs(typedefs) {
65
71
  try {
66
72
  const response = await this.axios.post('/api/doctree/registerTypedefs', [{
@@ -106,6 +106,33 @@ export default class RbtObject {
106
106
  });
107
107
  }
108
108
 
109
+ //
110
+ // For Arrays
111
+ //
112
+
113
+ async setAppend(key, value, options = {}) {
114
+ let existingValue = this.get(key) || []; // Get the existing value or default to an empty array
115
+ if (!Array.isArray(existingValue)) {
116
+ existingValue = []; // Ensure existingValue is an array if not already
117
+ }
118
+ const valuesToAdd = Array.isArray(value) ? value : [value]; // Convert value to an array if it's not one
119
+
120
+ // Combine existingValue and valuesToAdd, filtering out duplicates
121
+ const mergedValues = Array.from(new Set([...existingValue, ...valuesToAdd]));
122
+ this.set(key, mergedValues, options); // Set the updated array back to the user data
123
+ }
124
+ async setRemove(key, value, options = {}) {
125
+ let existingValue = this.get(key) || []; // Get the existing value or default to an empty array
126
+ if (!Array.isArray(existingValue)) {
127
+ return; // If it's not an array, there's nothing to remove, so exit early
128
+ }
129
+ const valuesToRemove = Array.isArray(value) ? value : [value]; // Convert value to an array if it's not one
130
+
131
+ // Filter out the values to remove from the existing value array
132
+ const filteredValues = existingValue.filter(item => !valuesToRemove.includes(item));
133
+ this.set(key, filteredValues); // Set the updated array back to the user data
134
+ }
135
+
109
136
  // set(path, value, options = {}) {
110
137
  // const currentValue = _.get(this._data, path);
111
138
  //
@@ -47,6 +47,38 @@ export default class RbtUser {
47
47
  }
48
48
  });
49
49
  }
50
+
51
+ //
52
+ // For Arrays
53
+ //
54
+
55
+ setAppend(key, value, options = {}) {
56
+ let existingValue = this.get(key) || []; // Get the existing value or default to an empty array
57
+ if (!Array.isArray(existingValue)) {
58
+ existingValue = []; // Ensure existingValue is an array if not already
59
+ }
60
+ const valuesToAdd = Array.isArray(value) ? value : [value]; // Convert value to an array if it's not one
61
+
62
+ // Combine existingValue and valuesToAdd, filtering out duplicates
63
+ const mergedValues = Array.from(new Set([...existingValue, ...valuesToAdd]));
64
+ this.set(key, mergedValues, options); // Set the updated array back to the user data
65
+ }
66
+ setRemove(key, value, options = {}) {
67
+ let existingValue = this.get(key) || []; // Get the existing value or default to an empty array
68
+ if (!Array.isArray(existingValue)) {
69
+ return; // If it's not an array, there's nothing to remove, so exit early
70
+ }
71
+ const valuesToRemove = Array.isArray(value) ? value : [value]; // Convert value to an array if it's not one
72
+
73
+ // Filter out the values to remove from the existing value array
74
+ const filteredValues = existingValue.filter(item => !valuesToRemove.includes(item));
75
+ this.set(key, filteredValues); // Set the updated array back to the user data
76
+ }
77
+
78
+ //
79
+ //
80
+ //
81
+
50
82
  toRecord() {
51
83
  return {
52
84
  ...this._internalData,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "roboto-js",
3
- "version": "1.5.1",
3
+ "version": "1.5.3",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "main": "dist/cjs/index.cjs",
package/src/index.js CHANGED
@@ -54,6 +54,15 @@ export default class Roboto{
54
54
 
55
55
  }
56
56
 
57
+ setSiteEnv(siteEnv){
58
+ this.api.setSiteEnv(siteEnv);
59
+ }
60
+
61
+
62
+ getSiteEnv(){
63
+ return this.api.getSiteEnv();
64
+ }
65
+
57
66
  setAppServiceHost(host){
58
67
 
59
68
  // DEVELOPMENT
package/src/rbt_api.js CHANGED
@@ -70,6 +70,18 @@ export default class RbtApi {
70
70
 
71
71
  }
72
72
 
73
+ setSiteEnv(siteEnv){
74
+
75
+ this.siteEnv = siteEnv;
76
+
77
+ }
78
+
79
+ getSiteEnv(){
80
+
81
+ return this.siteEnv;
82
+
83
+ }
84
+
73
85
 
74
86
  async registerTypedefs(typedefs){
75
87
 
package/src/rbt_object.js CHANGED
@@ -115,6 +115,38 @@ export default class RbtObject {
115
115
  });
116
116
  }
117
117
 
118
+ //
119
+ // For Arrays
120
+ //
121
+
122
+ async setAppend(key, value, options = {}) {
123
+ let existingValue = this.get(key) || []; // Get the existing value or default to an empty array
124
+ if (!Array.isArray(existingValue)) {
125
+ existingValue = []; // Ensure existingValue is an array if not already
126
+ }
127
+
128
+ const valuesToAdd = Array.isArray(value) ? value : [value]; // Convert value to an array if it's not one
129
+
130
+ // Combine existingValue and valuesToAdd, filtering out duplicates
131
+ const mergedValues = Array.from(new Set([...existingValue, ...valuesToAdd]));
132
+
133
+ this.set(key, mergedValues, options); // Set the updated array back to the user data
134
+ }
135
+
136
+ async setRemove(key, value, options = {}) {
137
+ let existingValue = this.get(key) || []; // Get the existing value or default to an empty array
138
+ if (!Array.isArray(existingValue)) {
139
+ return; // If it's not an array, there's nothing to remove, so exit early
140
+ }
141
+
142
+ const valuesToRemove = Array.isArray(value) ? value : [value]; // Convert value to an array if it's not one
143
+
144
+ // Filter out the values to remove from the existing value array
145
+ const filteredValues = existingValue.filter(item => !valuesToRemove.includes(item));
146
+
147
+ this.set(key, filteredValues); // Set the updated array back to the user data
148
+
149
+ }
118
150
 
119
151
 
120
152
 
package/src/rbt_user.js CHANGED
@@ -58,6 +58,43 @@ export default class RbtUser {
58
58
  });
59
59
  }
60
60
 
61
+ //
62
+ // For Arrays
63
+ //
64
+
65
+ setAppend(key, value, options = {}) {
66
+ let existingValue = this.get(key) || []; // Get the existing value or default to an empty array
67
+ if (!Array.isArray(existingValue)) {
68
+ existingValue = []; // Ensure existingValue is an array if not already
69
+ }
70
+
71
+ const valuesToAdd = Array.isArray(value) ? value : [value]; // Convert value to an array if it's not one
72
+
73
+ // Combine existingValue and valuesToAdd, filtering out duplicates
74
+ const mergedValues = Array.from(new Set([...existingValue, ...valuesToAdd]));
75
+
76
+ this.set(key, mergedValues, options); // Set the updated array back to the user data
77
+ }
78
+
79
+ setRemove(key, value, options = {}) {
80
+ let existingValue = this.get(key) || []; // Get the existing value or default to an empty array
81
+ if (!Array.isArray(existingValue)) {
82
+ return; // If it's not an array, there's nothing to remove, so exit early
83
+ }
84
+
85
+ const valuesToRemove = Array.isArray(value) ? value : [value]; // Convert value to an array if it's not one
86
+
87
+ // Filter out the values to remove from the existing value array
88
+ const filteredValues = existingValue.filter(item => !valuesToRemove.includes(item));
89
+
90
+ this.set(key, filteredValues); // Set the updated array back to the user data
91
+
92
+ }
93
+
94
+ //
95
+ //
96
+ //
97
+
61
98
  toRecord() {
62
99
  return {
63
100
  ...this._internalData,