UNPKG

includejs

Version:
1,495 lines (1,408 loc) 169 kB
// source ./browser/eval.js function __eval(source, include) { "use strict"; try { return eval.call(window, source); } catch (error) { error.url = include && include.url; console.error(error); } } // end:source ./browser/eval.js // source ./umd/umd.js (function (root, factory) { 'use strict'; var _global, _module; _global = typeof window === 'undefined' ? global : window; if (root != null && root !== _global && root.exports) { _module = root; } if (_module == null) { _module = typeof module === 'undefined' ? { exports: {} } : module; } factory(_global, _module, _module.exports, _global.document); if (typeof include !== 'undefined' && typeof include.js === 'function') { include.exports = _module.exports; // allow only one `include` per application return; } _global.include = _module.exports.include; _global.includeLib = _module.exports.includeLib; }(this, function (global, module, exports, document) { 'use strict'; var CURRENT_MODULE = module; var _src_Bin = {}; var _src_Config = {}; var _src_CustomLoader = {}; var _src_Events = {}; var _src_Helper = {}; var _src_Include = {}; var _src_IncludeDeferred = {}; var _src_LazyModule = {}; var _src_PathResolver = {}; var _src_Resource = {}; var _src_Routing = {}; var _src_ScriptStack = {}; var _src_browser_init = {}; var _src_global = {}; var _src_loader_json = {}; var _src_loader_load = {}; var _src_loader_mask = {}; var _src_models_State = {}; var _src_models_Type = {}; var _src_modules_amd = {}; var _src_modules_common = {}; var _src_utils_array = {}; var _src_utils_class_Dfr = {}; var _src_utils_fn = {}; var _src_utils_object = {}; var _src_utils_path = {}; var _src_utils_res = {}; var _src_utils_tree = {}; var _src_worker_WorkerClient = {}; var _src_worker_WorkerLoader = {}; // source ./ModuleSimplified.js var _src_global; (function () { // ensure AMD is not active for the model, so that any UMD exports as commonjs var define = null; var exports = _src_global != null ? _src_global : {}; var module = { exports: exports }; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.noConflict = exports.include = exports.document = exports.module = exports.global = exports.handler = exports.refs = exports.isWeb = exports.isNode = exports.isBrowser = exports.__require = exports.emptyResponse = exports.IncludeLib = exports.loadBags = void 0; var _global = typeof global === 'undefined' ? null : global; exports.global = _global; var _module = typeof module === 'undefined' ? null : module; exports.module = _module; var _document = typeof document === 'undefined' ? null : document; exports.document = _document; var _require = typeof require === 'undefined' ? null : require; var _include = global === null || global === void 0 ? void 0 : global.include; exports.include = _include; exports.loadBags = [ _document ]; exports.IncludeLib = { loadBags: exports.loadBags, }; exports.emptyResponse = { load: {} }; exports.__require = { nativeRequire: _require, includeRequire: null }; var _isBrowser = false, _isNode = false; //#if (BROWSER) _isBrowser = true; _isNode = false; //#endif exports.isBrowser = _isBrowser; exports.isNode = _isNode; exports.isWeb = !!(typeof location !== 'undefined' && location.protocol && /^https?:/.test(location.protocol)); exports.refs = { XMLHttpRequest: global.XMLHttpRequest, evaluate: typeof __eval !== 'undefined' ? __eval : null }; exports.handler = { onerror: null }; var __noConflict = { require: _global.require, module: _global.module, include: _global.include, exports: _global.exports }; function noConflict() { for (var key in __noConflict) { try { _global[key] = __noConflict[key]; } catch (error) { } } } exports.noConflict = noConflict; ; function __isObj(x) { return x != null && typeof x === 'object' && x.constructor === Object; } if (_src_global === module.exports) { // do nothing if } else if (__isObj(_src_global) && __isObj(module.exports)) { Object.assign(_src_global, module.exports); } else { _src_global = module.exports; } ; }()); // end:source ./ModuleSimplified.js // source ./ModuleSimplified.js var _src_models_Type; (function () { // ensure AMD is not active for the model, so that any UMD exports as commonjs var define = null; var exports = _src_models_Type != null ? _src_models_Type : {}; var module = { exports: exports }; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ResourceType = void 0; var ResourceType; (function (ResourceType) { ResourceType["Js"] = "js"; ResourceType["Css"] = "css"; ResourceType["Load"] = "load"; ResourceType["Ajax"] = "ajax"; ResourceType["Embed"] = "embed"; ResourceType["Lazy"] = "lazy"; ResourceType["Mask"] = "mask"; })(ResourceType = exports.ResourceType || (exports.ResourceType = {})); ; function __isObj(x) { return x != null && typeof x === 'object' && x.constructor === Object; } if (_src_models_Type === module.exports) { // do nothing if } else if (__isObj(_src_models_Type) && __isObj(module.exports)) { Object.assign(_src_models_Type, module.exports); } else { _src_models_Type = module.exports; } ; }()); // end:source ./ModuleSimplified.js // source ./ModuleSimplified.js var _src_utils_array; (function () { // ensure AMD is not active for the model, so that any UMD exports as commonjs var define = null; var exports = _src_utils_array != null ? _src_utils_array : {}; var module = { exports: exports }; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.arr_indexOf = exports.arr_ensure = exports.arr_invoke = void 0; function arr_invoke(arr, args, ctx) { if (arr == null || arr instanceof Array === false) { return; } for (var i = 0, length = arr.length; i < length; i++) { if (typeof arr[i] !== 'function') { continue; } if (args == null) { arr[i].call(ctx); } else { arr[i].apply(ctx, args); } } } exports.arr_invoke = arr_invoke; function arr_ensure(obj, xpath) { if (!xpath) { return obj; } var arr = xpath.split('.'), imax = arr.length - 1, i = 0, key; for (; i < imax; i++) { key = arr[i]; obj = obj[key] || (obj[key] = {}); } key = arr[imax]; return obj[key] || (obj[key] = []); } exports.arr_ensure = arr_ensure; function arr_indexOf(arr, fn) { if (arr == null) return -1; var imax = arr.length, i = -1; while (++i < imax) { if (fn(arr[i], i)) return i; } return -1; } exports.arr_indexOf = arr_indexOf; ; function __isObj(x) { return x != null && typeof x === 'object' && x.constructor === Object; } if (_src_utils_array === module.exports) { // do nothing if } else if (__isObj(_src_utils_array) && __isObj(module.exports)) { Object.assign(_src_utils_array, module.exports); } else { _src_utils_array = module.exports; } ; }()); // end:source ./ModuleSimplified.js // source ./ModuleSimplified.js var _src_utils_fn; (function () { // ensure AMD is not active for the model, so that any UMD exports as commonjs var define = null; var exports = _src_utils_fn != null ? _src_utils_fn : {}; var module = { exports: exports }; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fn_doNothing = exports.fn_proxy = void 0; function fn_proxy(fn, ctx) { return function () { fn.apply(ctx, arguments); }; } exports.fn_proxy = fn_proxy; function fn_doNothing(fn) { typeof fn === 'function' && fn(); } exports.fn_doNothing = fn_doNothing; ; function __isObj(x) { return x != null && typeof x === 'object' && x.constructor === Object; } if (_src_utils_fn === module.exports) { // do nothing if } else if (__isObj(_src_utils_fn) && __isObj(module.exports)) { Object.assign(_src_utils_fn, module.exports); } else { _src_utils_fn = module.exports; } ; }()); // end:source ./ModuleSimplified.js // source ./ModuleSimplified.js var _src_Events; (function () { // ensure AMD is not active for the model, so that any UMD exports as commonjs var define = null; var exports = _src_Events != null ? _src_Events : {}; var module = { exports: exports }; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Events = void 0; var array_1 = _src_utils_array; var fn_1 = _src_utils_fn; var readycollection = []; var supports = typeof document !== 'undefined' && typeof window !== 'undefined'; function onReady() { exports.Events.ready = fn_1.fn_doNothing; if (readycollection.length === 0) { return; } (0, array_1.arr_invoke)(readycollection); readycollection.length = 0; } function bind() { if ('onreadystatechange' in document) { document.onreadystatechange = function () { if (/complete|interactive/g.test(document.readyState) === false) { return; } onReady(); }; } else if (document.addEventListener) { document.addEventListener('DOMContentLoaded', onReady); } else { window.onload = onReady; } } if (supports) { bind(); } exports.Events = { ready: function (callback) { if (supports === false) { callback(); return; } readycollection.unshift(callback); } }; ; function __isObj(x) { return x != null && typeof x === 'object' && x.constructor === Object; } if (_src_Events === module.exports) { // do nothing if } else if (__isObj(_src_Events) && __isObj(module.exports)) { Object.assign(_src_Events, module.exports); } else { _src_Events = module.exports; } ; }()); // end:source ./ModuleSimplified.js // source ./ModuleSimplified.js var _src_utils_object; (function () { // ensure AMD is not active for the model, so that any UMD exports as commonjs var define = null; var exports = _src_utils_object != null ? _src_utils_object : {}; var module = { exports: exports }; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.obj_setProperty = exports.obj_getProperty = exports.obj_inherit = void 0; function obj_inherit(target /* source, ..*/) { if (typeof target === 'function') { target = target.prototype; } var i = 1, imax = arguments.length, source, key; for (; i < imax; i++) { source = typeof arguments[i] === 'function' ? arguments[i].prototype : arguments[i]; for (key in source) { target[key] = source[key]; } } return target; } exports.obj_inherit = obj_inherit; ; function obj_getProperty(obj, property) { var chain = property.split('.'), length = chain.length, i = 0; for (; i < length; i++) { if (obj == null) return null; obj = obj[chain[i]]; } return obj; } exports.obj_getProperty = obj_getProperty; ; function obj_setProperty(obj, property, value) { var chain = property.split('.'), imax = chain.length - 1, i = -1, key; while (++i < imax) { key = chain[i]; if (obj[key] == null) obj[key] = {}; obj = obj[key]; } obj[chain[i]] = value; } exports.obj_setProperty = obj_setProperty; ; ; function __isObj(x) { return x != null && typeof x === 'object' && x.constructor === Object; } if (_src_utils_object === module.exports) { // do nothing if } else if (__isObj(_src_utils_object) && __isObj(module.exports)) { Object.assign(_src_utils_object, module.exports); } else { _src_utils_object = module.exports; } ; }()); // end:source ./ModuleSimplified.js // source ./ModuleSimplified.js var _src_utils_tree; (function () { // ensure AMD is not active for the model, so that any UMD exports as commonjs var define = null; var exports = _src_utils_tree != null ? _src_utils_tree : {}; var module = { exports: exports }; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.tree_resolveUsage = void 0; var object_1 = _src_utils_object; var Routing_1 = _src_Routing; function tree_resolveUsage(resource, usage, next) { var use = [], imax = usage.length, i = -1, obj, path, name, index, parent; while (++i < imax) { name = path = usage[i]; index = path.indexOf('.'); if (index !== -1) { name = path.substring(0, index); path = path.substring(index + 1); } parent = use_resolveParent(name, resource.parent, resource); if (parent == null) return null; if (parent.state !== 4) { resource.state = 3; parent.on(4, next, parent, 'push'); return null; } obj = parent.exports; if (name !== path) obj = (0, object_1.obj_getProperty)(obj, path); // if DEBUG (typeof obj === 'object' && obj == null) && console.warn('<include:use> Used resource has no exports', name, resource.url); // endif use[i] = obj; } return use; } exports.tree_resolveUsage = tree_resolveUsage; ; function use_resolveParent(name, resource, initiator) { if (resource == null) { // if DEBUG console.warn('<include> Usage Not Found:', name); console.warn('- Ensure to have it included before with the correct alias'); console.warn('- Initiator Stacktrace:'); var arr = [], res = initiator; while (res != null) { arr.push(res.url); res = res.parent; } console.warn(arr.join('\n')); // endif return null; } var includes = resource.includes, i = -1, imax = includes.length, include, exports, alias; while (++i < imax) { include = includes[i]; alias = include.route.alias || Routing_1.Routes.parseAlias(include.route); if (alias === name) return include.resource; } return use_resolveParent(name, resource.parent, initiator); } ; function __isObj(x) { return x != null && typeof x === 'object' && x.constructor === Object; } if (_src_utils_tree === module.exports) { // do nothing if } else if (__isObj(_src_utils_tree) && __isObj(module.exports)) { Object.assign(_src_utils_tree, module.exports); } else { _src_utils_tree = module.exports; } ; }()); // end:source ./ModuleSimplified.js // source ./ModuleSimplified.js var _src_models_State; (function () { // ensure AMD is not active for the model, so that any UMD exports as commonjs var define = null; var exports = _src_models_State != null ? _src_models_State : {}; var module = { exports: exports }; "use strict"; /** * STATES: * 0: Resource Created * 1: Loading * 2: Loaded - Evaluating * 2.5: Paused - Evaluating paused * 3: Evaluated - Childs Loading * 4: Childs Loaded - Completed */ Object.defineProperty(exports, "__esModule", { value: true }); exports.State = void 0; var State; (function (State) { State[State["Unknown"] = -1] = "Unknown"; State[State["Created"] = 0] = "Created"; State[State["Loading"] = 1] = "Loading"; State[State["Evaluating"] = 2] = "Evaluating"; State[State["Paused"] = 2.5] = "Paused"; State[State["Evaluated"] = 3] = "Evaluated"; State[State["AllCompleted"] = 4] = "AllCompleted"; })(State = exports.State || (exports.State = {})); ; function __isObj(x) { return x != null && typeof x === 'object' && x.constructor === Object; } if (_src_models_State === module.exports) { // do nothing if } else if (__isObj(_src_models_State) && __isObj(module.exports)) { Object.assign(_src_models_State, module.exports); } else { _src_models_State = module.exports; } ; }()); // end:source ./ModuleSimplified.js // source ./ModuleSimplified.js var _src_utils_class_Dfr; (function () { // ensure AMD is not active for the model, so that any UMD exports as commonjs var define = null; var exports = _src_utils_class_Dfr != null ? _src_utils_class_Dfr : {}; var module = { exports: exports }; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isDeferred = exports.class_Dfr = void 0; var class_Dfr = /** @class */ (function () { function class_Dfr() { this._isAsync = true; this._done = null; this._fail = null; this._always = null; this._resolved = null; this._rejected = null; } class_Dfr.prototype.defer = function () { this._rejected = null; this._resolved = null; return this; }; class_Dfr.prototype.isResolved = function () { return this._resolved != null; }; class_Dfr.prototype.isRejected = function () { return this._rejected != null; }; class_Dfr.prototype.isBusy = function () { return this._resolved == null && this._rejected == null; }; class_Dfr.prototype.resolve = function (value) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } var done = this._done, always = this._always; this._resolved = arguments; dfr_clearListeners(this); arr_callOnce(done, this, arguments); arr_callOnce(always, this, [this]); return this; }; class_Dfr.prototype.reject = function (error) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } var fail = this._fail, always = this._always; this._rejected = arguments; dfr_clearListeners(this); arr_callOnce(fail, this, arguments); arr_callOnce(always, this, [this]); return this; }; class_Dfr.prototype.then = function (filterSuccess, filterError) { var dfr = new class_Dfr(); var done_ = filterSuccess, fail_ = filterError; this .done(delegate(dfr, 'resolve', done_)) .fail(delegate(dfr, 'reject', fail_)); return dfr; }; class_Dfr.prototype.done = function (callback) { if (this._rejected != null) { return this; } return dfr_bind(this, this._resolved, this._done || (this._done = []), callback); }; class_Dfr.prototype.fail = function (callback) { if (this._resolved != null) { return this; } return dfr_bind(this, this._rejected, this._fail || (this._fail = []), callback); }; class_Dfr.prototype.always = function (callback) { return dfr_bind(this, this._rejected || this._resolved, this._always || (this._always = []), callback); }; class_Dfr.prototype.pipe = function (mix /* ..methods */) { var dfr; if (typeof mix === 'function') { dfr = new class_Dfr(); var done_ = mix, fail_ = arguments.length > 1 ? arguments[1] : null; this .done(delegate(dfr, 'resolve', done_)) .fail(delegate(dfr, 'reject', fail_)); return dfr; } dfr = mix; var imax = arguments.length, done = imax === 1, fail = imax === 1, i = 0, x; while (++i < imax) { x = arguments[i]; switch (x) { case 'done': done = true; break; case 'fail': fail = true; break; default: console.error('Unsupported pipe channel', arguments[i]); break; } } done && this.done(delegate(dfr, 'resolve')); fail && this.fail(delegate(dfr, 'reject')); function pipe(dfr, method) { return function () { dfr[method].apply(dfr, arguments); }; } return this; }; class_Dfr.prototype.pipeCallback = function () { var self = this; return function (error) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } if (error != null) { self.reject(error); return; } self.resolve.apply(self, args); }; }; class_Dfr.prototype.catch = function (cb) { return this.fail(cb); }; class_Dfr.prototype.finally = function (cb) { return this.always(cb); }; class_Dfr.resolve = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var dfr = new class_Dfr(); return dfr.resolve.apply(dfr, args); }; class_Dfr.reject = function (error) { var dfr = new class_Dfr(); return dfr.reject(error); }; return class_Dfr; }()); exports.class_Dfr = class_Dfr; ; // PRIVATE function delegate(dfr, name, fn) { return function () { if (fn != null) { var override = fn.apply(this, arguments); if (override != null && override !== dfr) { if (isDeferred(override)) { override.then(delegate(dfr, 'resolve'), delegate(dfr, 'reject')); return; } dfr[name](override); return; } } dfr[name].apply(dfr, arguments); }; } function dfr_bind(dfr, arguments_, listeners, callback) { if (callback == null) return dfr; if (arguments_ != null) callback.apply(dfr, arguments_); else listeners.push(callback); return dfr; } function dfr_clearListeners(dfr) { dfr._done = null; dfr._fail = null; dfr._always = null; } function arr_callOnce(arr, ctx, args) { if (arr == null) return; var imax = arr.length, i = -1, fn; while (++i < imax) { fn = arr[i]; if (fn) { fn.apply(ctx, args); } } arr.length = 0; } function isDeferred(x) { return x != null && typeof x === 'object' && typeof x.then === 'function'; } exports.isDeferred = isDeferred; ; function __isObj(x) { return x != null && typeof x === 'object' && x.constructor === Object; } if (_src_utils_class_Dfr === module.exports) { // do nothing if } else if (__isObj(_src_utils_class_Dfr) && __isObj(module.exports)) { Object.assign(_src_utils_class_Dfr, module.exports); } else { _src_utils_class_Dfr = module.exports; } ; }()); // end:source ./ModuleSimplified.js // source ./ModuleSimplified.js var _src_IncludeDeferred; (function () { // ensure AMD is not active for the model, so that any UMD exports as commonjs var define = null; var exports = _src_IncludeDeferred != null ? _src_IncludeDeferred : {}; var module = { exports: exports }; "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); exports.IncludeDeferred = void 0; var Events_1 = _src_Events; var Routing_1 = _src_Routing; var Config_1 = _src_Config; var global_1 = _src_global; var tree_1 = _src_utils_tree; var State_1 = _src_models_State; var Type_1 = _src_models_Type; var class_Dfr_1 = _src_utils_class_Dfr; var IncludeDeferred = /** @class */ (function () { function IncludeDeferred() { this.callbacks = []; this.state = State_1.State.Unknown; this.response = null; this.includes = []; // Array: exports this._use = null; // Array: names this._usage = null; } IncludeDeferred.prototype.on = function (state, callback, sender, mutator) { if (sender === void 0) { sender = null; } if (this === sender && this.state === State_1.State.Unknown) { callback(this); return this; } // this === sender in case when script loads additional // resources and there are already parents listeners if (mutator == null) { mutator = (this.state < State_1.State.Evaluated || this === sender) ? 'unshift' : 'push'; } state <= this.state ? callback(this) : this.callbacks[mutator]({ state: state, callback: callback }); return this; }; IncludeDeferred.prototype.hasPendingChildren = function () { return false; }; IncludeDeferred.prototype.readystatechanged = function (state) { if (this.state < state) { this.state = state; } if (this.state === State_1.State.Evaluated) { if (this.hasPendingChildren()) { return; } this.state = State_1.State.AllCompleted; } var currentState = this.state, cbs = this.callbacks, imax = cbs.length, i = -1; if (imax === 0) { return; } while (++i < imax) { var x = cbs[i]; if (x == null || x.state > this.state) { continue; } cbs.splice(i, 1); imax--; i--; x.callback(this); if (this.state < currentState) { break; } } }; /** assets loaded and DomContentLoaded */ IncludeDeferred.prototype.ready = function (callback) { var _this = this; return this.on(State_1.State.AllCompleted, function () { Events_1.Events.ready(function () { return _this.resolve(callback); }); }, this); }; /** assets loaded */ IncludeDeferred.prototype.done = function (callback) { var _this = this; return this.on(State_1.State.AllCompleted, function () { return _this.resolve(callback); }, this); }; IncludeDeferred.prototype.then = function (onComplete, onError) { this.done(onComplete); }; IncludeDeferred.prototype.resolve = function (callback) { return __awaiter(this, void 0, void 0, function () { var includes, length, i, x, resource, route, type, _a, alias, responseObj, exp, response, before; var _this = this; return __generator(this, function (_b) { switch (_b.label) { case 0: includes = this.includes; length = includes == null ? 0 : includes.length; if (!(length > 0)) return [3 /*break*/, 7]; i = 0; _b.label = 1; case 1: if (!(i < length)) return [3 /*break*/, 7]; x = includes[i]; resource = x.resource; route = x.route; type = resource.type; _a = type; switch (_a) { case 'js': return [3 /*break*/, 2]; case 'load': return [3 /*break*/, 2]; case 'ajax': return [3 /*break*/, 2]; case 'mask': return [3 /*break*/, 2]; case 'embed': return [3 /*break*/, 2]; } return [3 /*break*/, 6]; case 2: alias = route.alias || Routing_1.Routes.parseAlias(route); responseObj = type === 'js' ? (this.response) : (this.response[type] || (this.response[type] = {})); if (!(alias != null)) return [3 /*break*/, 5]; exp = resource.exports; if (Config_1.cfg.es6Exports && (exp != null && typeof exp === 'object')) { exp = exp.default || exp; } if (!(0, class_Dfr_1.isDeferred)(exp)) return [3 /*break*/, 4]; return [4 /*yield*/, exp]; case 3: exp = _b.sent(); _b.label = 4; case 4: responseObj[alias] = exp; return [3 /*break*/, 6]; case 5: console.warn('<includejs> Alias is undefined', resource); return [3 /*break*/, 6]; case 6: i++; return [3 /*break*/, 1]; case 7: response = this.response || global_1.emptyResponse; if (this._use == null && this._usage != null) { this._use = (0, tree_1.tree_resolveUsage)(this, this._usage, function () { _this.state = State_1.State.AllCompleted; _this.resolve(callback); _this.readystatechanged(State_1.State.AllCompleted); }); if (this.state < State_1.State.AllCompleted) return [2 /*return*/]; } if (this._use) { callback.apply(null, [response].concat(this._use)); return [2 /*return*/]; } before = null; if (this.type === Type_1.ResourceType.Js) { before = global.include; global.include = this; } callback(response); if (before != null && global.include === this) { global.include = before; } return [2 /*return*/]; } }); }); }; return IncludeDeferred; }()); exports.IncludeDeferred = IncludeDeferred; ; ; function __isObj(x) { return x != null && typeof x === 'object' && x.constructor === Object; } if (_src_IncludeDeferred === module.exports) { // do nothing if } else if (__isObj(_src_IncludeDeferred) && __isObj(module.exports)) { Object.assign(_src_IncludeDeferred, module.exports); } else { _src_IncludeDeferred = module.exports; } ; }()); // end:source ./ModuleSimplified.js // source ./ModuleSimplified.js var _src_Bin; (function () { // ensure AMD is not active for the model, so that any UMD exports as commonjs var define = null; var exports = _src_Bin != null ? _src_Bin : {}; var module = { exports: exports }; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.bin_tryReload = exports.bin_remove = exports.bin_removeDelegate = exports.bin = exports.Bin = void 0; var path_1 = _src_utils_path; var Config_1 = _src_Config; exports.Bin = { add: function (type, id, resource) { exports.bin[type][normalize(id)] = resource; }, find: function (url) { var x = find(exports.bin, url); return x && x.resource || null; }, remove: function (url) { while (true) { // clear if has multiple types var x = find(exports.bin, url); if (x == null) break; exports.bin[x.type][x.id] = null; } }, get: function (type, url) { var x = findInType(exports.bin, type, url); if (x == null) { x = find(exports.bin, url); } return x && x.resource || null; } }; exports.bin = { js: {}, css: {}, load: {}, ajax: {}, embed: {}, mask: {} }; function bin_removeDelegate(url) { // use timeout as sys-file-change event is called twice var timeout; return function () { if (timeout) { clearTimeout(timeout); } timeout = setTimeout(function () { bin_tryReload(url, function () { Config_1.cfg.autoreload && Config_1.cfg.autoreload.fileChanged(url, 'include'); }); }, 150); }; } exports.bin_removeDelegate = bin_removeDelegate; ; function bin_remove(url) { var x = find(exports.bin, url); if (x == null) { console.warn('<include:res:remove> Resource is not in cache', url); return null; } var type = x.type, id = x.id, resource = x.resource; if (resource == null) { return null; } if (global.io && global.io.File) { global.io.File.clearCache(resource.url); } exports.bin[type][id] = null; var roots = clearParents(exports.bin, resource); return { resource: resource, parents: roots }; } exports.bin_remove = bin_remove; ; function bin_tryReload(path, callback) { var result = bin_remove(path); if (result == null) { callback(false); return; } var resource = result.resource, parents = result.parents; if (parents == null || parents.length === 0) { callback(true); return; } var count = parents.length, imax = count, i = -1; while (++i < imax) { bin_load(resource, parents[i]).done(function () { if (--count === 0) { callback(true); } }); } } exports.bin_tryReload = bin_tryReload; // PRIVATE function bin_load(resource, parent) { parent.exports = null; return parent .create(resource.type, resource.route, resource.namespace, resource.xpath) .resource .on(4, parent.childLoaded); } function normalize(url) { var id = (0, path_1.path_normalize)(url); var q = id.indexOf('?'); if (q !== -1) id = id.substring(0, q); return id.toLowerCase(); } function find(bins, url) { if (url == null) { return null; } url = normalize(url); for (var type in bins) { var x = findInType(bins, type, url); if (x != null) { return x; } } return null; } function findInType(bins, type, url) { if (url == null || type == null) { return null; } var bin = bins[type]; if (url in bin) { return { type: type, id: url, resource: bin[url] }; } url = normalize(url); for (var id in bin) { if (endsWith(id, url) || endsWith(url, id)) { var resource = bin[id]; if (resource == null) { continue; } return { type: type, id: id, resource: resource }; } } } function endsWith(str, end) { var sL = str.length; var eL = end.length; return sL >= eL && str.indexOf(end) === str.length - end.length; } function findParents(bins, resource) { var arr = []; for (var type in bins) { var bin_1 = bins[type]; for (var id in bin_1) { var res = bin_1[id]; if (res == null) { continue; } var children = res.includes; if (children == null) { continue; } for (var i = 0; i < children.length; i++) { var child = children[i]; if (child.resource.url === resource.url) { arr.push({ resource: res, id: id, type: type }); break; } } } } return arr; } function clearParents(bins, resource, roots, handled) { if (roots === void 0) { roots = []; } if (handled === void 0) { handled = []; } if (handled.indexOf(resource.url) > -1) { return roots; } var parents = findParents(bins, resource); if (parents.length === 0) { roots.push(resource); return roots; } parents.forEach(function (x) { bins[x.type][x.id] = null; clearParents(bins, x.resource, roots, handled); handled.push(x.resource.url); }); } ; function __isObj(x) { return x != null && typeof x === 'object' && x.constructor === Object; } if (_src_Bin === module.exports) { // do nothing if } else if (__isObj(_src_Bin) && __isObj(module.exports)) { Object.assign(_src_Bin, module.exports); } else { _src_Bin = module.exports; } ; }()); // end:source ./ModuleSimplified.js // source ./ModuleSimplified.js var _src_Helper; (function () { // ensure AMD is not active for the model, so that any UMD exports as commonjs var define = null; var exports = _src_Helper != null ? _src_Helper : {}; var module = { exports: exports }; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Helper = void 0; var Config_1 = _src_Config; var global_1 = _src_global; var class_Dfr_1 = _src_utils_class_Dfr; exports.Helper = { reportError: function (e) { console.error('IncludeJS Error:', e, e.message, e.url); global_1.handler.onerror && global_1.handler.onerror(e); }, XHR: function (resource, callback) { var xhr = new global_1.refs.XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { callback === null || callback === void 0 ? void 0 : callback(resource, xhr.responseText); } }; var url = typeof resource === 'object' ? resource.url : resource; var async = Config_1.cfg.sync === true ? false : true; if (global_1.isBrowser && Config_1.cfg.version) { url += (url.indexOf('?') === -1 ? '?' : '&') + 'v=' + Config_1.cfg.version; } if (url[0] === '/' && Config_1.cfg.lockedToFolder === true) { url = url.substring(1); } xhr.addEventListener('error', function (err) { if (typeof resource !== 'string') { resource.error = err; } }); xhr.open('GET', url, async); xhr.send(); }, XHR_LOAD: function (url, callback) { var xhr = new global_1.refs.XMLHttpRequest(); var dfr = callback == null ? new class_Dfr_1.class_Dfr() : null; xhr.onreadystatechange = function () { if (xhr.readyState !== 4) { return; } var body = xhr.responseText; var headers = xhr.getAllResponseHeaders(); var status = xhr.status; if (status !== 200) { dfr === null || dfr === void 0 ? void 0 : dfr.resolve({ body: body, status: status, headers: headers, }); callback === null || callback === void 0 ? void 0 : callback(status); return; } dfr === null || dfr === void 0 ? void 0 : dfr.resolve({ body: body, status: status, headers: headers, }); callback === null || callback === void 0 ? void 0 : callback(null, body); }; xhr.open('GET', url, Config_1.cfg.sync === true ? false : true); xhr.send(); return dfr; } }; ; function __isObj(x) { return x != null && typeof x === 'object' && x.constructor === Object; } if (_src_Helper === module.exports) { // do nothing if } else if (__isObj(_src_Helper) && __isObj(module.exports)) { Object.assign(_src_Helper, module.exports); } else { _src_Helper = module.exports; } ; }()); // end:source ./ModuleSimplified.js // source ./ModuleSimplified.js var _src_PathResolver; (function () { // ensure AMD is not active for the model, so that any UMD exports as commonjs var define = null; var exports = _src_PathResolver != null ? _src_PathResolver : {}; var module = { exports: exports }; "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); exports.NodeModulePaths = exports.PathResolver = void 0; var path_1 = _src_utils_path; var Helper_1 = _src_Helper; var Type_1 = _src_models_Type; var Routing_1 = _src_Routing; var global_1 = _src_global; exports.PathResolver = { configMap: function (map) { for (var key in map) { var value = map[key]; _map[key] = typeof value === 'string' ? { path: value } : value; } }, configRewrites: function (rewrites) { for (var key in rewrites) { _rewrites[key] = rewrites[key]; } }, configNpm: function (modules) { modules.forEach(function (name) { return _npm[name] = 1; }); }, configExt: function (config) { var def = config.def; var types = config.types; for (var key in def) { _ext[key] = def[key]; } for (var key in types) { _extTypes[key] = types[key]; } }, resolveBasic: function (path_, type, parent) { var path = map(path_).path; if (type === 'js' && isNodeModuleResolution(path) || path.includes('!')) { return path; } var i = path.indexOf('/'); var namespace = path.substring(0, i); if (Routing_1.Routes.has(namespace)) { var template = path.substring(i + 1); var info = Routing_1.Routes.resolve(namespace, template); path = info.path; } path = (0, path_1.path_resolveUrl)(path, parent); var rewritten = rewrite(path); if (rewritten != null) { path = exports.PathResolver.resolveBasic(rewritten, type, parent); } return ensureExtension(path, type); }, resolveBasicWithData: function (path_, type, parent) { var _a, _b; var mapped1 = map(path_); var path = exports.PathResolver.resolveBasic(path_, type, parent); var mapped2 = map(path); var data = { path: path, module: (_b = (_a = mapped1 === null || mapped1 === void 0 ? void 0 : mapped1.module) !== null && _a !== void 0 ? _a : mapped2 === null || mapped2 === void 0 ? void 0 : mapped2.module) !== null && _b !== void 0 ? _b : (path.includes('/esm/') ? 'import' : null) }; return data; }, isNpm: isNodeModuleResolution, getType: getTypeForPath, resolveNpm: function (path_, type, parent, cb) { var path = map(path_).path; if ((0, path_1.path_hasExtension)(path)) { cb(null, path); return; } if (type === 'js') { if (isNodeModuleResolution(path)) { var parentsPath = parent && parent.location; if (!parentsPath || parentsPath === '/') { parentsPath = (0, path_1.path_resolveCurrent)(); } nodeModuleResolve(parentsPath, path, cb); return; } } if ((0, path_1.path_hasExtension)(path) === false) { path += '.' + _ext[type]; } cb(null, path); }, isNodeNative: function