roboto-js 1.0.20 → 1.1.1

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.
@@ -20,9 +20,16 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
20
20
  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); }
21
21
  var RbtObject = exports["default"] = /*#__PURE__*/function () {
22
22
  function RbtObject(record, axiosInstance) {
23
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
23
24
  _classCallCheck(this, RbtObject);
24
25
  this._axios = axiosInstance;
25
26
  this._internalData = record;
27
+ this.id = record.id;
28
+ this.id_revision = record.id_revision;
29
+ this.rpcMeta = {
30
+ changes: [],
31
+ isNew: options.isNew || false
32
+ };
26
33
  if (record.data) {
27
34
  this._data = record.data;
28
35
  } else {
@@ -34,36 +41,48 @@ var RbtObject = exports["default"] = /*#__PURE__*/function () {
34
41
  value: function get(path) {
35
42
  return _lodash["default"].get(this._data, path);
36
43
  }
37
- }, {
38
- key: "set",
39
- value: function set(path, value) {
40
- _lodash["default"].set(this._data, path, value);
41
- }
42
44
  }, {
43
45
  key: "getData",
44
46
  value: function getData() {
45
47
  return _objectSpread({}, this._data);
46
48
  }
49
+ }, {
50
+ key: "_addChange",
51
+ value: function _addChange(path) {
52
+ // Ensure no duplicate paths
53
+ if (!this.rpcMeta.changes.includes(path)) {
54
+ this.rpcMeta.changes.push(path);
55
+ }
56
+ }
57
+ }, {
58
+ key: "set",
59
+ value: function set(path, value) {
60
+ var currentValue = _lodash["default"].get(this._data, path);
61
+ if (!_lodash["default"].isEqual(currentValue, value)) {
62
+ _lodash["default"].set(this._data, path, value);
63
+ this._addChange(path);
64
+ }
65
+ }
47
66
  }, {
48
67
  key: "setData",
49
68
  value: function setData(newData) {
50
69
  var _this = this;
51
- // Ensure the input is an object
52
70
  if (_typeof(newData) !== 'object' || newData === null) {
53
71
  throw new Error('setData expects an object');
54
72
  }
55
-
56
- // Iterate over each key in the newData object
57
73
  Object.keys(newData).forEach(function (key) {
58
- // Update the corresponding key in this._data
59
- _lodash["default"].set(_this._data, key, newData[key]);
74
+ if (!_lodash["default"].isEqual(_lodash["default"].get(_this._data, key), newData[key])) {
75
+ _lodash["default"].set(_this._data, key, newData[key]);
76
+ _this._addChange(key);
77
+ }
60
78
  });
61
79
  }
62
80
  }, {
63
81
  key: "toRecord",
64
82
  value: function toRecord() {
65
83
  return _objectSpread(_objectSpread({}, this._internalData), {}, {
66
- dataJson: JSON.stringify(this._data)
84
+ dataJson: JSON.stringify(this._data),
85
+ rpcMeta: this.rpcMeta
67
86
  });
68
87
  }
69
88
  }, {
@@ -77,7 +96,9 @@ var RbtObject = exports["default"] = /*#__PURE__*/function () {
77
96
  delete clonedData.id_revision;
78
97
 
79
98
  // Create a new instance of RbtObject with the cloned data
80
- var clonedObject = new RbtObject(clonedData, this._axios);
99
+ var clonedObject = new RbtObject(clonedData, this._axios, {
100
+ isNew: true
101
+ });
81
102
  return clonedObject;
82
103
  }
83
104
  }, {
@@ -110,17 +131,19 @@ var RbtObject = exports["default"] = /*#__PURE__*/function () {
110
131
  this.id = response.data.id;
111
132
  this.id_revision = response.data.id_revision;
112
133
  this.type = response.data.type;
134
+ this.rpcMeta.isNew = false;
113
135
  return _context.abrupt("return", this);
114
- case 16:
115
- _context.prev = 16;
136
+ case 17:
137
+ _context.prev = 17;
116
138
  _context.t0 = _context["catch"](2);
117
139
  console.log('RbtObject.save.error:');
118
140
  console.log(_context.t0.response.data);
119
- case 20:
141
+ throw _context.t0;
142
+ case 22:
120
143
  case "end":
121
144
  return _context.stop();
122
145
  }
123
- }, _callee, this, [[2, 16]]);
146
+ }, _callee, this, [[2, 17]]);
124
147
  }));
125
148
  function save() {
126
149
  return _save.apply(this, arguments);
@@ -160,7 +183,8 @@ var RbtObject = exports["default"] = /*#__PURE__*/function () {
160
183
  _context2.t0 = _context2["catch"](2);
161
184
  console.log('RbtObject.delete.error:');
162
185
  console.log(_context2.t0.response.data);
163
- case 17:
186
+ throw _context2.t0;
187
+ case 18:
164
188
  case "end":
165
189
  return _context2.stop();
166
190
  }
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _lodash = _interopRequireDefault(require("lodash"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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
+ 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
+ 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 _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
+ 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
+ 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; }
15
+ 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; }
16
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17
+ 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); } }
18
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
19
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
20
+ 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); }
21
+ var RbtUser = exports["default"] = /*#__PURE__*/function () {
22
+ function RbtUser(record, axiosInstance) {
23
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
24
+ _classCallCheck(this, RbtUser);
25
+ this._axios = axiosInstance;
26
+ this._internalData = record;
27
+ this.id = record.id;
28
+ this.id_revision = record.id_revision;
29
+ this.rpcMeta = {
30
+ changes: [],
31
+ isNew: options.isNew || false
32
+ };
33
+ if (record.data) {
34
+ this._data = record.data;
35
+ } else {
36
+ this._data = record.dataJson ? JSON.parse(record.dataJson) : {};
37
+ }
38
+ }
39
+ _createClass(RbtUser, [{
40
+ key: "get",
41
+ value: function get(path) {
42
+ return _lodash["default"].get(this._data, path);
43
+ }
44
+ }, {
45
+ key: "getData",
46
+ value: function getData() {
47
+ return _objectSpread({}, this._data);
48
+ }
49
+ }, {
50
+ key: "_addChange",
51
+ value: function _addChange(path) {
52
+ // Ensure no duplicate paths
53
+ if (!this.rpcMeta.changes.includes(path)) {
54
+ this.rpcMeta.changes.push(path);
55
+ }
56
+ }
57
+ }, {
58
+ key: "set",
59
+ value: function set(path, value) {
60
+ var currentValue = _lodash["default"].get(this._data, path);
61
+ if (!_lodash["default"].isEqual(currentValue, value)) {
62
+ _lodash["default"].set(this._data, path, value);
63
+ this._addChange(path);
64
+ }
65
+ }
66
+ }, {
67
+ key: "setData",
68
+ value: function setData(newData) {
69
+ var _this = this;
70
+ if (_typeof(newData) !== 'object' || newData === null) {
71
+ throw new Error('setData expects an object');
72
+ }
73
+ Object.keys(newData).forEach(function (key) {
74
+ if (!_lodash["default"].isEqual(_lodash["default"].get(_this._data, key), newData[key])) {
75
+ _lodash["default"].set(_this._data, key, newData[key]);
76
+ _this._addChange(key);
77
+ }
78
+ });
79
+ }
80
+ }, {
81
+ key: "toRecord",
82
+ value: function toRecord() {
83
+ return _objectSpread(_objectSpread({}, this._internalData), {}, {
84
+ dataJson: JSON.stringify(this._data),
85
+ rpcMeta: this.rpcMeta
86
+ });
87
+ }
88
+ }, {
89
+ key: "clone",
90
+ value: function clone() {
91
+ // Create a deep copy of the current object's data
92
+ var clonedData = _lodash["default"].cloneDeep(this._internalData);
93
+
94
+ // Reset unique identifiers to ensure a new ID is generated upon saving
95
+ delete clonedData.id;
96
+ delete clonedData.id_revision;
97
+
98
+ // Create a new instance of RbtUser with the cloned data
99
+ var clonedObject = new RbtUser(clonedData, this._axios, {
100
+ isNew: true
101
+ });
102
+ return clonedObject;
103
+ }
104
+ }, {
105
+ key: "save",
106
+ value: function () {
107
+ var _save = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
108
+ var record, response;
109
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
110
+ while (1) switch (_context.prev = _context.next) {
111
+ case 0:
112
+ _context.prev = 0;
113
+ debugger;
114
+ record = this.toRecord();
115
+ record.type = '<@iac.user>';
116
+ _context.next = 6;
117
+ return this._axios.post('/user_service/saveUser', [record]);
118
+ case 6:
119
+ response = _context.sent;
120
+ if (!(response.data.ok === false)) {
121
+ _context.next = 9;
122
+ break;
123
+ }
124
+ throw new Error(response.data.message);
125
+ case 9:
126
+ this._internalData = response.data;
127
+ this.id = response.data.id;
128
+ this.id_revision = response.data.id_revision;
129
+ this.type = response.data.type;
130
+ this.rpcMeta.isNew = false;
131
+ return _context.abrupt("return", this);
132
+ case 17:
133
+ _context.prev = 17;
134
+ _context.t0 = _context["catch"](0);
135
+ console.log('RbtUser.save.error:');
136
+ console.log(_context.t0.response.data);
137
+ throw _context.t0;
138
+ case 22:
139
+ case "end":
140
+ return _context.stop();
141
+ }
142
+ }, _callee, this, [[0, 17]]);
143
+ }));
144
+ function save() {
145
+ return _save.apply(this, arguments);
146
+ }
147
+ return save;
148
+ }() //async delete() {
149
+ // if (!this._internalData.type) {
150
+ // throw new Error('Cannot delete object without type');
151
+ // }
152
+ //
153
+ // try {
154
+ // const record = this.toRecord();
155
+ // const response = await this._axios.post('/object_service/deleteObject', [record]);
156
+ //
157
+ // if (response.data.ok === false) {
158
+ // throw new Error(response.data.message);
159
+ // }
160
+ //
161
+ // this._internalData = response.data;
162
+ // return this;
163
+ //
164
+ // } catch (e) {
165
+ // console.log('RbtUser.delete.error:');
166
+ // console.log(e.response.data);
167
+ // throw e;
168
+ // }
169
+ //}
170
+ }]);
171
+ return RbtUser;
172
+ }();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "roboto-js",
3
- "version": "1.0.20",
3
+ "version": "1.1.1",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "main": "dist/cjs/index.cjs",
package/src/index.js CHANGED
@@ -51,30 +51,65 @@ export default class Roboto{
51
51
 
52
52
  }
53
53
 
54
+ setErrorHandler(customErrorHandler) {
55
+ if (this.api) {
56
+ this.api.setErrorHandler(customErrorHandler);
57
+ }
58
+ }
59
+
60
+ //
61
+ // User register, login, and refresh token
62
+ //
54
63
  async login(params){
55
64
  return this.api.login(params);
56
65
  }
66
+ async refreshAuthToken(){
67
+ return this.api.refreshAuthToken(this.config.authtoken);
68
+ }
57
69
 
58
70
  async registerUser(params){
59
71
  return this.api.registerUser(params);
60
72
  }
73
+ async loadCurrentUser(){
74
+ return this.api.loadCurrentUser();
75
+ }
61
76
 
77
+ //
78
+ // create and upload files
79
+ //
62
80
  async createFile(data={}){
63
81
  return this.api.createFile(data);
64
82
  }
65
83
 
84
+ //
85
+ //
86
+ //
66
87
  async create(params, data={}){
67
88
  return this.api.create(params, data);
68
89
  }
69
90
 
70
- async load(type, ids){
71
- return this.api.load(type, ids);
91
+ async load(type, ids, options){
92
+ return this.api.load(type, ids, options);
72
93
  }
73
94
 
74
95
  async query(type, params){
75
96
  return this.api.query(type, params);
76
97
  }
77
98
 
99
+ //
100
+ //
101
+ //
102
+ async runTask(params, callbacks){
103
+ return this.api.runTask(params, callbacks);
104
+ }
105
+
106
+ async pollTaskProgress(params){
107
+ return this.api.pollTaskProgress(params);
108
+ }
109
+
110
+ //
111
+ // Get/Post to endpoint with Roboto authtoken
112
+ //
78
113
  async get(endpoint, params){
79
114
  return this.api.get(endpoint, params);
80
115
  }