cordova-plugin-unvired-universal-sdk
Version:
Unvired Cordova Plugin
479 lines (453 loc) • 5.91 MB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else {
var a = factory();
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
}
})(self, () => {
return /******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./www/applicationMeta/applicationMetadataParser.ts":
/*!**********************************************************!*\
!*** ./www/applicationMeta/applicationMetadataParser.ts ***!
\**********************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _utils = __webpack_require__(/*! ../helper/utils */ "./www/helper/utils.ts");
var _frameworkHelper = _interopRequireDefault(__webpack_require__(/*! ../helper/frameworkHelper */ "./www/helper/frameworkHelper.ts"));
var FieldConstants = _interopRequireWildcard(__webpack_require__(/*! ./fieldConstants */ "./www/applicationMeta/fieldConstants.ts"));
var _ApplicationMetaParser;
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
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); }
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
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 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 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 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; }
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var ApplicationMetaParser = exports["default"] = /*#__PURE__*/function () {
function ApplicationMetaParser() {
_classCallCheck(this, ApplicationMetaParser);
_defineProperty(this, "businessEntityMetas", []);
_defineProperty(this, "structureMetas", []);
_defineProperty(this, "fieldMetas", []);
_defineProperty(this, "indexMetas", []);
_defineProperty(this, "metadataJSON", "");
_defineProperty(this, "applicationName", "");
_defineProperty(this, "applicationVersion", "");
_defineProperty(this, "applicationNamespace", "");
}
return _createClass(ApplicationMetaParser, [{
key: "init",
value: function () {
var _init = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(jsonString) {
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
this.applicationName = "";
this.businessEntityMetas = [];
this.structureMetas = [];
this.fieldMetas = [];
this.indexMetas = [];
this.metadataJSON = jsonString;
_context.next = 8;
return this.parse();
case 8:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function init(_x) {
return _init.apply(this, arguments);
}
return init;
}()
}, {
key: "getApplicationMeta",
value: function getApplicationMeta() {
return this.applicationMeta;
}
}, {
key: "getBusinessEntityMetas",
value: function getBusinessEntityMetas() {
return this.businessEntityMetas;
}
}, {
key: "getStructureMetas",
value: function getStructureMetas() {
return this.structureMetas;
}
}, {
key: "getFieldMetas",
value: function getFieldMetas() {
return this.fieldMetas;
}
}, {
key: "getIndexMetas",
value: function getIndexMetas() {
return this.indexMetas;
}
}, {
key: "parseAppInfo",
value: function parseAppInfo(jsonString) {
var jsonData = JSON.parse(jsonString);
if (!jsonData) {
return;
}
this.applicationName = jsonData[FieldConstants.ApplicationNameAttribute];
this.applicationVersion = jsonData[FieldConstants.ApplicationVersionAttribute];
this.applicationMeta = jsonData[FieldConstants.ApplicationNamespaceAttribute];
}
}, {
key: "parse",
value: function () {
var _parse = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
var jsonData, applicationDescription, applicationClassName, currentDate, formatter, jsonDataKeys, _i, _jsonDataKeys, key, value, beName, _i2, _arr, index, name, structureName, fieldNames, indexMeta, _value$FieldConstants, _value$FieldConstants2, beDesc, saveAttributeValue, saveAttribute, conflictRule, isAttachmentRequired, businessEntityMeta, beJSON, beJSONKeys, _i3, _beJSONKeys, key2, value2, _structureName, _value2$FieldConstant, structureDesc, className, isHeader, structureMeta, fields, _iterator, _step, _field$FieldConstants, _field$FieldConstants2, field, _name, description, fieldType, isGID, isMandatory, length, fieldMeta;
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
jsonData = JSON.parse(this.metadataJSON);
if (jsonData) {
_context2.next = 3;
break;
}
return _context2.abrupt("return");
case 3:
this.applicationName = jsonData[FieldConstants.ApplicationNameAttribute];
this.applicationVersion = jsonData[FieldConstants.ApplicationVersionAttribute];
this.applicationMeta = jsonData[FieldConstants.ApplicationNamespaceAttribute];
// Parse Application Meta
applicationDescription = jsonData[FieldConstants.ApplicationDescriptionAttribute] || "";
applicationClassName = jsonData[FieldConstants.ApplicationClassNameAttribute] || "";
currentDate = new Date();
formatter = new Intl.DateTimeFormat('en-US', {
month: 'long',
day: 'numeric',
year: 'numeric',
hour: 'numeric',
minute: '2-digit',
second: '2-digit'
});
this.applicationMeta = {
lid: _frameworkHelper["default"].getUUID(),
timestamp: currentDate.getTime(),
objectStatus: _utils.ObjectStatus.global,
syncStatus: _utils.SyncStatus.none,
appClassName: applicationClassName,
appId: "",
appName: this.applicationName,
description: applicationDescription,
version: this.applicationVersion,
installationDate: formatter.format(currentDate)
};
jsonDataKeys = Object.keys(jsonData);
for (_i = 0, _jsonDataKeys = jsonDataKeys; _i < _jsonDataKeys.length; _i++) {
key = _jsonDataKeys[_i];
value = jsonData[key];
if (key !== FieldConstants.ApplicationNameAttribute && key !== FieldConstants.ApplicationDescriptionAttribute && key !== FieldConstants.ApplicationVersionAttribute) {
beName = key;
if (key === FieldConstants.IndexNode) {
// Parse Index Meta
for (_i2 = 0, _arr = value; _i2 < _arr.length; _i2++) {
index = _arr[_i2];
name = index[FieldConstants.IndexName];
structureName = index[FieldConstants.IndexTableName];
fieldNames = index[FieldConstants.IndexFields];
indexMeta = {
indexName: name,
structureName: structureName,
fieldName: fieldNames
};
this.indexMetas.push(indexMeta);
}
} else if (!Array.isArray(value)) {
// Parse Business Entity Meta
beDesc = value[FieldConstants.BeDescriptionAttribute] || "";
saveAttributeValue = (_value$FieldConstants = value[FieldConstants.BeSaveAttribute]) !== null && _value$FieldConstants !== void 0 ? _value$FieldConstants : false;
saveAttribute = saveAttributeValue ? "true" : "false";
conflictRule = value[FieldConstants.BeOnConflictAttribute] || FieldConstants.ConflictModeServerWins;
isAttachmentRequired = (_value$FieldConstants2 = value[FieldConstants.BeAttachmentsAttribute]) !== null && _value$FieldConstants2 !== void 0 ? _value$FieldConstants2 : false;
businessEntityMeta = {
lid: _frameworkHelper["default"].getUUID(),
timestamp: new Date().getTime(),
objectStatus: _utils.ObjectStatus.global,
syncStatus: _utils.SyncStatus.none,
appName: this.applicationName,
beName: beName,
description: beDesc,
addFunction: "",
modifyFunction: "",
deleteFunction: "",
notification: "",
attachments: isAttachmentRequired ? "1" : "0",
conflictRules: conflictRule,
save: saveAttribute
};
this.businessEntityMetas.push(businessEntityMeta);
// Parse Structure Meta
beJSON = value;
beJSONKeys = Object.keys(beJSON);
for (_i3 = 0, _beJSONKeys = beJSONKeys; _i3 < _beJSONKeys.length; _i3++) {
key2 = _beJSONKeys[_i3];
value2 = beJSON[key2];
if (key2 !== FieldConstants.BeDescriptionAttribute && key2 !== FieldConstants.BeSaveAttribute && key2 !== FieldConstants.BeOnConflictAttribute && key2 !== FieldConstants.BeAttachmentsAttribute) {
_structureName = key2;
if (!Array.isArray(value2)) {
structureDesc = value2[FieldConstants.BeItemDescriptionAttribute] || "";
className = value2[FieldConstants.BeItemClassNameAttribute];
isHeader = (_value2$FieldConstant = value2[FieldConstants.BeItemIsHeader]) !== null && _value2$FieldConstant !== void 0 ? _value2$FieldConstant : false;
structureMeta = {
lid: _frameworkHelper["default"].getUUID(),
timestamp: new Date().getTime(),
objectStatus: _utils.ObjectStatus.global,
syncStatus: _utils.SyncStatus.none,
structureName: _structureName,
description: structureDesc,
className: className,
isHeader: isHeader ? "1" : "0",
appName: this.applicationName,
beName: beName
};
this.structureMetas.push(structureMeta);
// Parse Field Meta
fields = value2[FieldConstants.BeJsonFieldNode];
_iterator = _createForOfIteratorHelper(fields);
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
field = _step.value;
_name = field[FieldConstants.BeJsonFieldNameNode];
description = field[FieldConstants.BeJsonFieldDescription] || "";
fieldType = field[FieldConstants.BeJsonFieldSqlType];
isGID = (_field$FieldConstants = field[FieldConstants.BeJsonFieldIsGid]) !== null && _field$FieldConstants !== void 0 ? _field$FieldConstants : false;
isMandatory = (_field$FieldConstants2 = field[FieldConstants.BeJsonFieldMandatory]) !== null && _field$FieldConstants2 !== void 0 ? _field$FieldConstants2 : false;
length = 0;
try {
length = parseInt(field[FieldConstants.BeJsonFieldLength] || "", 10);
} catch (e) {}
fieldMeta = {
lid: _frameworkHelper["default"].getUUID(),
timestamp: new Date().getTime(),
objectStatus: _utils.ObjectStatus.global,
syncStatus: _utils.SyncStatus.none,
appName: this.applicationName,
beName: beName,
structureName: _structureName,
fieldName: _name,
description: description,
length: length.toString(),
mandatory: isMandatory ? "1" : "0",
sqlType: fieldType,
isGid: isGID ? "1" : "0"
};
this.fieldMetas.push(fieldMeta);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
}
}
}
}
}
case 13:
case "end":
return _context2.stop();
}
}, _callee2, this);
}));
function parse() {
return _parse.apply(this, arguments);
}
return parse;
}()
}], [{
key: "instance",
get: function get() {
return this._instance;
}
}]);
}();
_ApplicationMetaParser = ApplicationMetaParser;
_defineProperty(ApplicationMetaParser, "_instance", new _ApplicationMetaParser());
/***/ }),
/***/ "./www/applicationMeta/fieldConstants.ts":
/*!***********************************************!*\
!*** ./www/applicationMeta/fieldConstants.ts ***!
\***********************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.messageServiceType = exports.driftNoElement = exports.InfoMessageWarning = exports.InfoMessageSuccess = exports.InfoMessageMsgWithheld = exports.InfoMessageInfo = exports.InfoMessageFailureAndProcess = exports.InfoMessageFailure = exports.InfoMessageError = exports.IndexTableName = exports.IndexNode = exports.IndexName = exports.IndexFields = exports.FieldTypeTimestamp = exports.FieldTypeSyncStatus = exports.FieldTypeObjectStatus = exports.FieldTypeLid = exports.FieldTypeInfoMsgCat = exports.FieldTypeFid = exports.FieldTypeConflict = exports.FieldTimestamp = exports.FieldTableName = exports.FieldSyncStatus = exports.FieldObjectStatus = exports.FieldLid = exports.FieldInfoMsgCat = exports.FieldInfoMessageMessage = exports.FieldInfoMessageCategory = exports.FieldFid = exports.FieldConflict = exports.ConflictModeServerWins = exports.ConflictModeDeviceWins = exports.ConflictModeAppHandled = exports.BeVersionAttribute = exports.BeSaveAttribute = exports.BeOnConflictAttribute = exports.BeNotificationAttribute = exports.BeNode = exports.BeNameAttribute = exports.BeModifyFunctionAttribute = exports.BeMetaDataDeleteAttribute = exports.BeMetaData = exports.BeJsonFieldSqlType = exports.BeJsonFieldNode = exports.BeJsonFieldNameNode = exports.BeJsonFieldMandatory = exports.BeJsonFieldLength = exports.BeJsonFieldIsGid = exports.BeJsonFieldDescription = exports.BeItemNameAttribute = exports.BeItemIsHeader = exports.BeItemIsAttachment = exports.BeItemIndex = exports.BeItemDescriptionAttribute = exports.BeItemClassNameAttribute = exports.BeItemActionAttribute = exports.BeFieldTextAttribute = exports.BeDescriptionAttribute = exports.BeDeleteFunctionAttribute = exports.BeAttachmentsAttribute = exports.BeAddFunctionAttribute = exports.BeActionAttribute = exports.Be = exports.ApplicationVersionAttribute = exports.ApplicationNamespaceAttribute = exports.ApplicationNameAttribute = exports.ApplicationDescriptionAttribute = exports.ApplicationClassNameAttribute = void 0;
var FieldLid = exports.FieldLid = "LID";
var FieldFid = exports.FieldFid = "FID";
var FieldConflict = exports.FieldConflict = "HAS_CONFLICT";
var FieldTimestamp = exports.FieldTimestamp = "TIMESTAMP";
var FieldSyncStatus = exports.FieldSyncStatus = "SYNC_STATUS";
var FieldObjectStatus = exports.FieldObjectStatus = "OBJECT_STATUS";
var FieldTableName = exports.FieldTableName = "TABLE_NAME";
// This field is added to cummulate the highest InfoMessage category
// Priority: FAILUE > FAILURE_N_PROCESS > WARNING > INFO > SUCCESS
var FieldInfoMsgCat = exports.FieldInfoMsgCat = "INFO_MSG_CAT";
var FieldTypeLid = exports.FieldTypeLid = "Text";
var FieldTypeFid = exports.FieldTypeFid = "Text";
var FieldTypeConflict = exports.FieldTypeConflict = "Text";
var FieldTypeTimestamp = exports.FieldTypeTimestamp = "Integer";
var FieldTypeSyncStatus = exports.FieldTypeSyncStatus = "Integer";
var FieldTypeObjectStatus = exports.FieldTypeObjectStatus = "Integer";
var FieldTypeInfoMsgCat = exports.FieldTypeInfoMsgCat = "Text";
var FieldInfoMessageCategory = exports.FieldInfoMessageCategory = "category";
var FieldInfoMessageMessage = exports.FieldInfoMessageMessage = "message";
var InfoMessageFailure = exports.InfoMessageFailure = "FAILURE";
var InfoMessageFailureAndProcess = exports.InfoMessageFailureAndProcess = "FAILURE_N_PROCESS";
var InfoMessageMsgWithheld = exports.InfoMessageMsgWithheld = "MSG_WITHHELD";
var InfoMessageWarning = exports.InfoMessageWarning = "WARNING";
var InfoMessageInfo = exports.InfoMessageInfo = "INFO";
var InfoMessageSuccess = exports.InfoMessageSuccess = "SUCCESS";
var driftNoElement = exports.driftNoElement = "No element"; // Returned as an exception message from drift when no row is present in the table
var InfoMessageError = exports.InfoMessageError = "FAILURE";
// export const yes: string = "YES";
var messageServiceType = exports.messageServiceType = "message_service_type";
// Application Metadata Parser Constants
var ApplicationNameAttribute = exports.ApplicationNameAttribute = "name";
var ApplicationDescriptionAttribute = exports.ApplicationDescriptionAttribute = "description";
var ApplicationVersionAttribute = exports.ApplicationVersionAttribute = "version";
var ApplicationNamespaceAttribute = exports.ApplicationNamespaceAttribute = "namespace";
var ApplicationClassNameAttribute = exports.ApplicationClassNameAttribute = "applicationClassName";
// Meta Data
var BeMetaData = exports.BeMetaData = "MetaData";
var BeMetaDataDeleteAttribute = exports.BeMetaDataDeleteAttribute = "delete";
// Business Entity
var BeNode = exports.BeNode = "BusinessEntity";
var Be = exports.Be = "BE";
var BeDescriptionAttribute = exports.BeDescriptionAttribute = "description";
var BeAttachmentsAttribute = exports.BeAttachmentsAttribute = "attachments";
var BeNameAttribute = exports.BeNameAttribute = "name";
var BeFieldTextAttribute = exports.BeFieldTextAttribute = "value";
var BeVersionAttribute = exports.BeVersionAttribute = "version";
var BeAddFunctionAttribute = exports.BeAddFunctionAttribute = "addFunction";
var BeModifyFunctionAttribute = exports.BeModifyFunctionAttribute = "modifyFunction";
var BeDeleteFunctionAttribute = exports.BeDeleteFunctionAttribute = "deleteFunction";
var BeNotificationAttribute = exports.BeNotificationAttribute = "notification";
var BeOnConflictAttribute = exports.BeOnConflictAttribute = "onConflict";
var BeSaveAttribute = exports.BeSaveAttribute = "save";
var BeActionAttribute = exports.BeActionAttribute = "action";
var ConflictModeServerWins = exports.ConflictModeServerWins = "SERVER_WINS";
var ConflictModeDeviceWins = exports.ConflictModeDeviceWins = "DEVICE_WINS";
var ConflictModeAppHandled = exports.ConflictModeAppHandled = "APP_HANDLED";
var BeItemIndex = exports.BeItemIndex = "index";
var BeItemDescriptionAttribute = exports.BeItemDescriptionAttribute = "description";
var BeItemNameAttribute = exports.BeItemNameAttribute = "name";
var BeItemClassNameAttribute = exports.BeItemClassNameAttribute = "className";
var BeItemActionAttribute = exports.BeItemActionAttribute = "action";
var BeItemIsHeader = exports.BeItemIsHeader = "header";
var BeItemIsAttachment = exports.BeItemIsAttachment = "attachment";
var BeJsonFieldNode = exports.BeJsonFieldNode = "field";
var BeJsonFieldNameNode = exports.BeJsonFieldNameNode = "name";
var BeJsonFieldIsGid = exports.BeJsonFieldIsGid = "isGid";
var BeJsonFieldLength = exports.BeJsonFieldLength = "length";
var BeJsonFieldMandatory = exports.BeJsonFieldMandatory = "mandatory";
var BeJsonFieldSqlType = exports.BeJsonFieldSqlType = "sqlType";
var BeJsonFieldDescription = exports.BeJsonFieldDescription = "description";
var IndexNode = exports.IndexNode = "Index";
var IndexName = exports.IndexName = "name";
var IndexFields = exports.IndexFields = "Fields";
var IndexTableName = exports.IndexTableName = "tableName";
/***/ }),
/***/ "./www/attachment/attachmentHelper.ts":
/*!********************************************!*\
!*** ./www/attachment/attachmentHelper.ts ***!
\********************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _unviredAccountManager = __webpack_require__(/*! ../helper/unviredAccountManager */ "./www/helper/unviredAccountManager.ts");
var _frameworkHelper = _interopRequireDefault(__webpack_require__(/*! ../helper/frameworkHelper */ "./www/helper/frameworkHelper.ts"));
var _databaseManager = _interopRequireWildcard(__webpack_require__(/*! ../database/databaseManager */ "./www/database/databaseManager.ts"));
var _utils = __webpack_require__(/*! ../helper/utils */ "./www/helper/utils.ts");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
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); }
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 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 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 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; }
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var fileName = "AttachmentHelper";
var AttachmentHelper = exports["default"] = /*#__PURE__*/function () {
function AttachmentHelper() {
_classCallCheck(this, AttachmentHelper);
}
return _createClass(AttachmentHelper, null, [{
key: "createDirectoriesRecursively",
value: // Helper method to create directories recursively
function () {
var _createDirectoriesRecursively = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(dirPath) {
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
return _context.abrupt("return", new Promise(function (resolve, reject) {
// Split the path into parts
var pathParts = dirPath.split(/[\\\/]/).filter(function (part) {
return part.length > 0;
});
var currentPath = '';
// Handle Windows drive letter
if (pathParts.length > 0 && pathParts[0].includes(':')) {
currentPath = pathParts[0] + '/';
pathParts.shift();
}
var _createNextDirectory = function createNextDirectory(index) {
if (index >= pathParts.length) {
// All directories created, resolve with the final path
resolve(dirPath);
return;
}
currentPath += pathParts[index] + '/';
window.resolveLocalFileSystemURL(currentPath, function (dirEntry) {
// Directory exists, continue to next
Logger.logInfo(fileName, "createDirectoriesRecursively", "Directory exists: " + currentPath);
_createNextDirectory(index + 1);
}, function (error) {
// Directory doesn't exist, create it
Logger.logInfo(fileName, "createDirectoriesRecursively", "Creating directory: " + currentPath);
// Get parent directory
var trimmedPath = currentPath.replace(/\/$/, ''); // Remove trailing slash if present
var parentPath = trimmedPath.substring(0, trimmedPath.lastIndexOf('/'));
window.resolveLocalFileSystemURL(parentPath, function (parentDir) {
parentDir.getDirectory(pathParts[index], {
create: true
}, function (newDir) {
Logger.logInfo(fileName, "createDirectoriesRecursively", "Directory created: " + newDir.fullPath);
_createNextDirectory(index + 1);
}, function (createError) {
Logger.logError(fileName, "createDirectoriesRecursively", "Failed to create directory: " + currentPath + " Error: " + createError);
reject(create