@hel-demo/mono-libs
Version:
hel-mono demo libs
2,274 lines • 91.2 kB
JavaScript
(() => {
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __esm = (fn, res) => function __init() {
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
};
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// ../../node_modules/.pnpm/hel-micro-core@4.13.1_hel-types@4.3.10/node_modules/hel-micro-core/es/index.js
var es_exports = {};
__export(es_exports, {
allowLog: () => allowLog,
appReady: () => appReady,
clearPerfMark: () => clearPerfMark,
commonDataUtil: () => commonDataUtil,
commonUtil: () => commonUtil,
evName: () => evName,
getAppMeta: () => getAppMeta2,
getAppPlatform: () => getAppPlatform,
getAppPlatformByAppName: () => getAppPlatformByAppName,
getAppStyleStr: () => getAppStyleStr,
getCommonData: () => getCommonData,
getCustomData: () => getCustomData2,
getGlobalThis: () => getGlobalThis,
getHelDebug: () => getHelDebug,
getHelEventBus: () => getHelEventBus,
getPlatform: () => getPlatform,
getPlatformConfig: () => getPlatformConfig,
getSharedCache: () => getSharedCache,
getUserEventBus: () => getUserEventBus,
getVerApp: () => getVerApp,
getVerExtraCssList: () => getVerExtraCssList,
getVerLib: () => getVerLib,
getVerLoadStatus: () => getVerLoadStatus2,
getVerStyleStrStatus: () => getVerStyleStrStatus,
getVersion: () => getVersion,
helConsts: () => helConsts,
helEvents: () => helEvents,
helLoadStatus: () => helLoadStatus,
inectPlatToMod: () => inectPlatToMod,
initGlobalConfig: () => initGlobalConfig,
initPlatformConfig: () => initPlatformConfig,
isSubApp: () => isSubApp,
libReady: () => libReady,
log: () => log,
originInit: () => originInit,
perfMark: () => perfMark,
perfPeek: () => perfPeek,
resetGlobalThis: () => resetGlobalThis,
setAppMeta: () => setAppMeta,
setAppPlatform: () => setAppPlatform,
setAppPlatformByAppName: () => setAppPlatformByAppName,
setAppStyleStr: () => setAppStyleStr,
setCommonData: () => setCommonData,
setCustomData: () => setCustomData,
setEmitApp: () => setEmitApp,
setEmitLib: () => setEmitLib,
setGlobalThis: () => setGlobalThis,
setVerExtraCssList: () => setVerExtraCssList,
setVerLoadStatus: () => setVerLoadStatus2,
setVerStyleStrStatus: () => setVerStyleStrStatus,
setVersion: () => setVersion,
tryGetAppName: () => tryGetAppName,
tryGetVersion: () => tryGetVersion
});
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 _arrayWithHoles(r) {
if (Array.isArray(r)) return r;
}
function _arrayWithoutHoles(r) {
if (Array.isArray(r)) return _arrayLikeToArray(r);
}
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() {
};
return {
s: F,
n: function() {
return n >= r.length ? {
done: true
} : {
done: false,
value: r[n++]
};
},
e: function(r2) {
throw r2;
},
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 = true, u = false;
return {
s: function() {
t = t.call(r);
},
n: function() {
var r2 = t.next();
return a = r2.done, r2;
},
e: function(r2) {
u = true, o = r2;
},
f: function() {
try {
a || null == t.return || t.return();
} finally {
if (u) throw o;
}
}
};
}
function _defineProperty(e, r, t) {
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
value: t,
enumerable: true,
configurable: true,
writable: true
}) : e[r] = t, e;
}
function _iterableToArray(r) {
if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
}
function _iterableToArrayLimit(r, l) {
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (null != t) {
var e, n, i, u, a = [], f = true, o = false;
try {
if (i = (t = t.call(r)).next, 0 === l) {
if (Object(t) !== t) return;
f = false;
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
} catch (r2) {
o = true, n = r2;
} finally {
try {
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
} finally {
if (o) throw n;
}
}
return a;
}
}
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function ownKeys(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread2(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
_defineProperty(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function _slicedToArray(r, e) {
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
}
function _toConsumableArray(r) {
return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
}
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);
}
function _toPropertyKey(t) {
var i = _toPrimitive(t, "string");
return "symbol" == typeof i ? i : i + "";
}
function _typeof(o) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
return typeof o2;
} : function(o2) {
return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
}, _typeof(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 assignRef() {
if (typeof window !== "undefined") {
globalThisRef = window;
return;
}
if (typeof global !== "undefined") {
globalThisRef = global;
return;
}
throw new Error("unable to locate global object");
}
function getGlobalThis$1() {
if (!globalThisRef) {
assignRef();
}
return globalThisRef;
}
function setGlobalThis$1(specGlobalThis) {
var _globalThisRef;
var merge = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
var prevShared = null;
if ((_globalThisRef = globalThisRef) !== null && _globalThisRef !== void 0 && _globalThisRef.__HEL_MICRO_SHARED__) {
prevShared = globalThisRef.__HEL_MICRO_SHARED__;
}
if (merge) {
globalThisRef = _objectSpread2(_objectSpread2({}, globalThisRef), specGlobalThis);
} else {
globalThisRef = specGlobalThis;
}
if (prevShared) {
globalThisRef.__HEL_MICRO_SHARED__ = prevShared;
}
}
function getHelSingletonHost() {
return getGlobalThis$1();
}
function getOB() {
var gs = getGlobalThis$1();
return gs.MutationObserver || gs.WebKitMutationObserver || gs.MozMutationObserver;
}
function findNode(nodeList, tagName) {
var targetNode = null;
var len = nodeList.length;
for (var i = 0; i < len; i++) {
var node = nodeList[i];
if (node.tagName === tagName) {
targetNode = node;
break;
}
}
return targetNode;
}
function okeys$1(map) {
return Object.keys(map);
}
function getSearch() {
var getLocSearch = function getLocSearch2(location) {
var locVar = location || {};
var search = locVar.search || "";
if (!search) {
var hash = locVar.hash || "";
var hashSearch = hash.split("?")[1] || "";
if (hashSearch) {
search = "?".concat(hashSearch);
}
}
return search;
};
try {
var _getGlobalThis;
return getLocSearch((_getGlobalThis = getGlobalThis$1()) === null || _getGlobalThis === void 0 || (_getGlobalThis = _getGlobalThis.top) === null || _getGlobalThis === void 0 ? void 0 : _getGlobalThis.location);
} catch (err) {
var _getGlobalThis2;
return getLocSearch((_getGlobalThis2 = getGlobalThis$1()) === null || _getGlobalThis2 === void 0 ? void 0 : _getGlobalThis2.location);
}
}
function getLsItem(key) {
var _getGlobalThis3;
var ls = (_getGlobalThis3 = getGlobalThis$1()) === null || _getGlobalThis3 === void 0 ? void 0 : _getGlobalThis3.localStorage;
return ls === null || ls === void 0 ? void 0 : ls.getItem(key);
}
function setLsItem(key, val) {
var _getGlobalThis4;
var ls = (_getGlobalThis4 = getGlobalThis$1()) === null || _getGlobalThis4 === void 0 ? void 0 : _getGlobalThis4.localStorage;
return ls === null || ls === void 0 ? void 0 : ls.setItem(key, val);
}
function getSearchObj() {
var search = getSearch();
var map = {};
if (search !== null && search !== void 0 && search.startsWith("?")) {
var pureSearch = search.substring(1);
var items = pureSearch.split("&");
items.forEach(function(item) {
var _item$split = item.split("="), _item$split2 = _slicedToArray(_item$split, 2), key = _item$split2[0], value = _item$split2[1];
map[key] = value;
});
}
return map;
}
function getJsRunLocation() {
var loc = "";
try {
throw new Error("getJsRunLocation");
} catch (err) {
var stackArr = err.stack.split("\n");
var len = stackArr.length;
loc = stackArr[len - 1] || stackArr[len - 2] || "";
}
return loc;
}
function setSubMapValue(rootObj, key, subKey, subValue) {
var subMap = safeGetMap(rootObj, key);
subMap[subKey] = subValue;
}
function safeGetMap(rootObj, key) {
var defaultMap = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
var subMap = rootObj[key];
if (!subMap) {
subMap = defaultMap;
rootObj[key] = subMap;
}
return subMap;
}
function safeAssign(assignTo, assignFrom) {
Object.keys(assignFrom).forEach(function(key) {
var val = assignFrom[key];
if (![null, void 0, ""].includes(val)) {
assignTo[key] = val;
}
});
}
function noDupPush$1(oriList, toPush) {
if (!oriList.includes(toPush)) oriList.push(toPush);
}
function isNull$1(value) {
var nullDef = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
var _nullDef$nullValues = nullDef.nullValues, nullValues = _nullDef$nullValues === void 0 ? [null, void 0, ""] : _nullDef$nullValues, _nullDef$emptyObjIsNu = nullDef.emptyObjIsNull, emptyObjIsNull = _nullDef$emptyObjIsNu === void 0 ? true : _nullDef$emptyObjIsNu, _nullDef$emptyArrIsNu = nullDef.emptyArrIsNull, emptyArrIsNull = _nullDef$emptyArrIsNu === void 0 ? true : _nullDef$emptyArrIsNu;
var inNullValues = nullValues.includes(value);
if (inNullValues) {
return true;
}
if (Array.isArray(value)) {
if (emptyArrIsNull) return value.length === 0;
return false;
}
if (_typeof(value) === "object") {
var keys = okeys$1(value);
var keyLen = keys.length;
if (emptyObjIsNull) return keyLen === 0;
return false;
}
return false;
}
function noop() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return args;
}
function hasProp(obj, key) {
return Object.prototype.hasOwnProperty.call(obj, key);
}
function isServer() {
var globalThis2 = getGlobalThis$1();
return globalThis2.process && globalThis2.global && !globalThis2.document;
}
function safeParse(jsonStr, defaultValue, errMsg) {
if (jsonStr && typeof jsonStr !== "string") {
return jsonStr;
}
try {
var result = JSON.parse(jsonStr);
return result || defaultValue;
} catch (err) {
if (defaultValue !== void 0) return defaultValue;
if (errMsg) throw new Error(errMsg);
throw err;
}
}
function merge2List(list1, list2) {
var mergedList = [];
list1.forEach(function(v) {
return noDupPush(mergedList, v);
});
list2.forEach(function(v) {
return noDupPush(mergedList, v);
});
return mergedList;
}
function purify(obj, isValueValid) {
var isValidFn = isValueValid || function(value) {
return !isNull(value);
};
var pureObj = {};
okeys(obj).forEach(function(key) {
if (isValidFn(obj[key])) pureObj[key] = obj[key];
});
return pureObj;
}
function getObjsVal(objs, key, backupVal) {
var val = backupVal;
var _iterator = _createForOfIteratorHelper(objs), _step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done; ) {
var item = _step.value;
var mayValidVal = item[key];
if (![null, void 0, ""].includes(mayValidVal)) {
val = mayValidVal;
break;
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
return val;
}
function pfstr(mayLineBreakStr) {
var mode = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "MULTI";
var lines = mayLineBreakStr.split("\n");
var lastIdx = lines.length - 1;
var formatLine = lines.map(function(line, idx) {
var _line$trimStart;
if (!line && (idx === 0 || idx === lastIdx)) {
return "";
}
var replaceBr = function replaceBr2(line2, hasBrStr) {
var noBrStr = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "";
var result2 = line2;
if (line2.endsWith("<br/>")) {
result2 = line2.substring(0, result2.length - 5);
return "".concat(result2).concat(hasBrStr);
}
return "".concat(result2).concat(noBrStr);
};
var result = ((_line$trimStart = line.trimStart) === null || _line$trimStart === void 0 ? void 0 : _line$trimStart.call(line)) || line;
if (mode === "MULTI") {
return "".concat(replaceBr(result, ""), "\n");
}
result = replaceBr(result, "\n", " ");
return result;
}).join("");
return formatLine;
}
function nbstr(mayLineBreakStr) {
return pfstr(mayLineBreakStr, "ONE");
}
function nbalert(mayLineBreakStr) {
var alertInDev = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
var g = getGlobalThis$1();
var str = nbstr(mayLineBreakStr);
var alert = g.alert || noop;
if (alertInDev) {
var _g$location;
((_g$location = g.location) === null || _g$location === void 0 ? void 0 : _g$location.port) && alert(str);
return;
}
alert(str);
}
function setDataset(el, key, val) {
if (el.dataset) {
el.dataset[key] = val;
} else {
el.setAttribute("data-".concat(key), val);
}
}
function disableNode(node) {
setDataset(node, "heldisabled", "1");
node.disabled = true;
}
function injectPlat(platform, injectOptions) {
var _this = this;
var fn = injectOptions.fn, fnName = injectOptions.fnName, arg1PlatObjFnKeys = injectOptions.arg1PlatObjFnKeys;
var handleArg1 = arg1PlatObjFnKeys.includes(fnName);
return function() {
var mergePlatObj = function mergePlatObj2(obj) {
return _objectSpread2({
platform
}, purify(obj || {}));
};
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var arg1 = args[0], arg2 = args[1];
if (handleArg1) {
args[0] = mergePlatObj(arg1);
} else {
args[1] = mergePlatObj(arg2);
}
return fn.apply(_this, args);
};
}
function inectPlatToMod$1(platform, mod, options) {
var _ref = options || {}, _ref$ignoreKeys = _ref.ignoreKeys, ignoreKeys = _ref$ignoreKeys === void 0 ? [] : _ref$ignoreKeys, _ref$arg1PlatObjFnKey = _ref.arg1PlatObjFnKeys, arg1PlatObjFnKeys = _ref$arg1PlatObjFnKey === void 0 ? [] : _ref$arg1PlatObjFnKey;
var newObj = {};
Object.keys(mod).forEach(function(mayFnName) {
var mayFn = mod[mayFnName];
if (ignoreKeys.includes(mayFnName)) {
newObj[mayFnName] = mayFn;
return;
}
var valueType = _typeof(mayFn);
if (valueType && valueType === "object") {
newObj[mayFnName] = inectPlatToMod$1(platform, mayFn, options);
return;
}
if (valueType === "function") {
newObj[mayFnName] = injectPlat(platform, {
arg1PlatObjFnKeys,
fn: mayFn,
fnName: mayFnName
});
return;
}
newObj[mayFnName] = mayFn;
});
return newObj;
}
function initMicroDebug() {
if (getHelMicroDebug().isInit) {
return;
}
getHelMicroDebug().isInit = true;
var searchObj = getSearchObj();
var hellog = searchObj.hellog, hellogf = searchObj.hellogf;
var logMode = hellog || getLsItem(LS_LOG_MODE) || NONE;
inner.setLogMode(logMode, false);
var logFilter = hellogf || getLsItem(LS_LOG_FILTER) || "";
inner.setLogFilter(logFilter, false);
}
function makeHelMicroDebug() {
return {
logMode: NONE,
logFilter: "",
isInit: false
};
}
function ensureHelMicroDebug() {
helMicroDebug = getHelSingletonHost().__HEL_MICRO_DEBUG__;
if (!isNull$1(helMicroDebug)) {
if (helMicroDebug.logMode === void 0) {
helMicroDebug.logMode = NONE;
helMicroDebug.logFilter = "";
}
return;
}
helMicroDebug = makeHelMicroDebug();
getHelSingletonHost().__HEL_MICRO_DEBUG__ = helMicroDebug;
try {
initMicroDebug();
} catch (err) {
}
}
function allowLog$1() {
return inner.getLogMode() !== NONE;
}
function getHelMicroDebug() {
return helMicroDebug;
}
function log$1() {
if (!allowLog$1()) {
return;
}
var logFn = inner.getLogMode() === LOG ? console.log : console.trace || console.log;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var firstArg = args[0], rest = args.slice(1);
if (typeof firstArg !== "string") {
return logFn.apply(void 0, [logPrefix, colorDesc].concat(args));
}
var logFilter = inner.getLogFilter();
var logParams = ["".concat(logPrefix, " ").concat(firstArg), colorDesc].concat(_toConsumableArray(rest));
if (logFilter) {
inner.isIncludeFilter(firstArg, logFilter) && logFn.apply(void 0, _toConsumableArray(logParams));
return;
}
logFn.apply(void 0, _toConsumableArray(logParams));
}
function perfMark$1(label) {
if (!allowLog$1() || labelTimes[label]) {
return;
}
labelTimes[label] = Date.now();
}
function perfPeek$1(label, subLabel, clear) {
if (!allowLog$1() || !labelTimes[label]) {
return;
}
var start = labelTimes[label];
log$1("[[ PerfCheck ]] (".concat(label, "/").concat(subLabel, ") costs ").concat(Date.now() - start, " ms"));
if (clear) {
clearPerfMark$1(label);
}
}
function clearPerfMark$1(label) {
labelTimes[label] = 0;
}
function makeOriginOptions(presetOptions) {
var _ref = presetOptions || {}, apiPrefix = _ref.apiPrefix;
return {
apiMode: "get",
apiPrefix,
apiSuffix: "",
apiPathOfApp: DEFAULT_API_URL,
apiPathOfAppVersion: "",
getSubAppAndItsVersionFn: null,
// 4.13.0 新增 customMetaUrl 和 getMeta
// customMetaUrl 用于配合平台新增的 /openapi/meta 请求
// customMetaJsonpUrl 用于配合平台新增的 /openapi/metajsonp 请求
// getMeta 用于取代 getSubAppAndItsVersionFn 函数
customMetaUrl: "",
customMetaJsonpUrl: "",
getMeta: null,
onFetchMetaFailed: null,
strictMatchVer: true,
getUserName: null,
userLsKey: DEFAULT_USER_LS_KEY,
shouldUseGray: null,
trustAppNames: null,
semverApi: null,
hook: {}
};
}
function makeCacheNode(platform) {
var cacheNode = _objectSpread2(_objectSpread2({
isConfigOverwrite: false,
platform,
appName2Comp: {},
appName2Lib: {},
appName2isLibAssigned: {},
appName2EmitApp: {},
appName2verLoadStatus: {},
appName2verEmitLib: {},
appName2verEmitApp: {},
appName2verStyleStr: {},
appName2verStyleFetched: {},
appName2verExtraCssList: {},
appName2verAppVersion: {},
appName2verCustomData: {},
appName2app: {},
appName2appVersion: {},
appName2styleStr: {},
appGroupName2firstVer: {},
isOriginInitCalled: false
}, makeOriginOptions()), {}, {
origin: makeOriginOptions({
apiPrefix: DEFAULT_API_PREFIX
})
// originInit 写入到此对象下
});
return cacheNode;
}
function makeEventBus() {
var name2listeners = {};
return {
on: function on(eventName, cb) {
var listeners = name2listeners[eventName];
if (!listeners) {
var arr = [];
name2listeners[eventName] = arr;
listeners = arr;
}
listeners.push(cb);
},
emit: function emit(eventName) {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
var listeners = name2listeners[eventName];
if (listeners) {
var listenersCopy = listeners.slice();
listenersCopy.forEach(function(cb) {
return cb.apply(void 0, args);
});
}
},
off: function off(eventName, cb) {
var listeners = name2listeners[eventName];
if (listeners) {
for (var i = 0, len = listeners.length; i < len; i++) {
var cbItem = listeners[i];
if (cbItem === cb) {
listeners.splice(i, 1);
break;
}
}
}
}
};
}
function makeHelMicroShared() {
var unpkgCache = makeCacheNode(PLAT_UNPKG);
var helCache = makeCacheNode(PLAT_HEL);
var cacheRoot = {
/**
* 默认的平台值,这个值在这里已无意义,最新版本的 getPlatform 返回值已固定,不再取此处的值
* 这里刻意设为 PLAT_HEL 是为了让 3.0 和 4.0 版本包共存时
* 例如宿主4子模块3这种情况,子模块的旧版本 hel-micro-core 调用 getPlatform 依然能正常获取到 hel 为默认平台
*/
platform: PLAT_HEL,
platformHint: "the platform value here does not make any sense!",
/** 1.4+ 新增,用于记录 preFetchLib 时显式传递了 platform 值,供 hel-lib-proxy 或其他地方使用,
* 方便多平台共同加载包体场景下, exposeLib 接口如果未显式的传递平台值,能尽量正确推测出应用对应的 platform 值
* 但是这里依然推荐用户 exposeLib 传递具体的平台值,避免推测错误
*/
appName2platform: {},
/**
* 最近一个加载的组名对应的平台名,仅用于兜底推导,出现多平台同组名包时,此推导结果可能是错误的,
* 此时建议用户调用相关接口时都显式的传递平台值
*/
appGroupName2platform: {},
/** @type {Record<string, ReturnType<typeof makeCacheNode>>} */
caches: _defineProperty(_defineProperty({}, PLAT_UNPKG, unpkgCache), PLAT_HEL, helCache),
/** @type {Record<string, Record<string, any>>} 和应用无关的通用缓存池 */
common: {}
};
var innerEventBus = makeEventBus();
var userEventBus = makeEventBus();
return {
ver: CORE_VER,
isStyleObInit: false,
nativeHeadAppend: null,
nativeBodyAppend: null,
/** 记录用户传递的句柄 */
patchedHeadAppend: null,
patchedBodyAppend: null,
createFeature: getJsRunLocation(),
eventBus: innerEventBus,
userEventBus,
cacheRoot,
/** 指向的是 cacheRoot.caches.unpkg ,放第一层仅用于方便控制台查看,实际业务逻辑还是走 caches 去取 */
unpkgCache,
/** 指向的是 cacheRoot.caches.hel ,放第一层仅用于方便控制台查看,实际业务逻辑还是走 caches 去取 */
helCache,
/** 调试相关函数 */
dev: {
setLogMode: inner.setLogMode,
setLogFilter: inner.setLogFilter
}
};
}
function ensureCommonKeys(common) {
var keys = [KEY_CSS_LINK_TAG_ADDED$1, KEY_STYLE_TAG_ADDED$1, KEY_IGNORE_CSS_PREFIX_LIST$1, KEY_IGNORE_STYLE_TAG_KEY$1, KEY_IGNORE_CSS_PREFIX_2_KEYS$1];
var getDefault = function getDefault2(key) {
return key === KEY_IGNORE_CSS_PREFIX_LIST$1 ? [] : {};
};
keys.forEach(function(key) {
return safeGetMap(common, key, getDefault(key));
});
}
function ensureHelMicroShared() {
var helMicroShared = getHelMicroShared();
if (helMicroShared) {
var cacheRoot = helMicroShared.cacheRoot;
safeGetMap(cacheRoot, "appGroupName2platform");
safeGetMap(cacheRoot, "common");
var caches = cacheRoot.caches;
Object.keys(caches).forEach(function(key) {
var cacheNode = caches[key];
safeGetMap(cacheNode, "appGroupName2firstVer");
safeGetMap(cacheNode, "appName2isLibAssigned");
safeGetMap(cacheNode, "appName2verExtraCssList");
safeGetMap(cacheNode, "appName2verCustomData");
safeGetMap(cacheNode, "hook");
safeGetMap(cacheNode, "origin", makeOriginOptions());
safeGetMap(cacheNode.origin, "hook");
});
ensureCommonKeys(cacheRoot.common);
if (!helMicroShared.userEventBus) {
helMicroShared.userEventBus = makeEventBus();
}
return;
}
helMicroShared = makeHelMicroShared();
ensureCommonKeys(helMicroShared.cacheRoot.common);
getHelSingletonHost().__HEL_MICRO_SHARED__ = helMicroShared;
}
function getHelMicroShared() {
var microShared = getHelSingletonHost().__HEL_MICRO_SHARED__;
return microShared;
}
function getPlatform$1() {
return DEFAULT_PLAT;
}
function getSharedCache$1(platform) {
var p = platform || getPlatform$1();
var cacheRoot = getCacheRoot();
var cacheNode = cacheRoot.caches[p];
if (!cacheNode) {
var platType = _typeof(platform);
if (platType !== "string") {
console.error("invalid plaform:", platform);
throw new Error("fatal error: platform only can be a string, now it is ".concat(platType));
}
var platCache = makeCacheNode(platform);
cacheRoot.caches[p] = platCache;
cacheNode = platCache;
}
return cacheNode;
}
function getCacheRoot() {
return getHelMicroShared().cacheRoot;
}
function getVerApp$1(appName, inputOptions) {
var _options$strictMatchV;
var options = inputOptions || {};
var versionId = options.versionId, platform = options.platform;
var _getSharedCache = getSharedCache$1(platform), appName2verEmitApp = _getSharedCache.appName2verEmitApp, appName2Comp = _getSharedCache.appName2Comp, strictMatchVer = _getSharedCache.strictMatchVer, appName2EmitApp = _getSharedCache.appName2EmitApp;
var targetStrictMatchVer = (_options$strictMatchV = options.strictMatchVer) !== null && _options$strictMatchV !== void 0 ? _options$strictMatchV : strictMatchVer;
var verEmitAppMap = safeGetMap(appName2verEmitApp, appName);
innerUtil.ensureOnlineModule(verEmitAppMap, appName, platform);
var versionIdVar = versionId || DEFAULT_ONLINE_VER;
var verApp = verEmitAppMap[versionIdVar];
var Comp = appName2Comp[appName];
var legacyWriteVerApp = Comp ? {
Comp
} : null;
var fallbackApp = targetStrictMatchVer ? null : appName2EmitApp[appName] || legacyWriteVerApp;
var result = verApp || fallbackApp || null;
log$1("[[ core:getVerApp ]] appName,options,result:", appName, options, result);
return result;
}
function setEmitApp$1(appName, emitApp) {
log$1("[[ core:setEmitApp ]] appName,emitApp:", appName, emitApp);
var versionId = emitApp.versionId, platform = emitApp.platform;
var sharedCache = getSharedCache$1(platform);
var appName2verEmitApp = sharedCache.appName2verEmitApp, appName2Comp = sharedCache.appName2Comp, appName2EmitApp = sharedCache.appName2EmitApp;
var verEmitApp = safeGetMap(appName2verEmitApp, appName);
if (!verEmitApp[DEFAULT_ONLINE_VER]) {
appName2Comp[appName] = emitApp.Comp;
appName2EmitApp[appName] = emitApp;
setSubMapValue(appName2verEmitApp, appName, DEFAULT_ONLINE_VER, emitApp);
}
if (versionId) {
setSubMapValue(appName2verEmitApp, appName, versionId, emitApp);
}
}
function getDataMap$1(customKey) {
var _getCacheRoot = getCacheRoot(), common = _getCacheRoot.common;
var dataMap = safeGetMap(common, customKey);
return dataMap;
}
function getDataNode(customKey) {
var _getCacheRoot2 = getCacheRoot(), common = _getCacheRoot2.common;
return common[customKey];
}
function getCommonData$1(customKey, dataKey) {
var dataMap = getDataMap$1(customKey);
var result = dataMap[dataKey];
return result !== void 0 ? result : null;
}
function setCommonData$1(customKey, dataKey, data) {
var dataMap = getDataMap$1(customKey);
dataMap[dataKey] = data;
}
function getPureConfig(mayCache, needOrigin) {
var apiMode = mayCache.apiMode, apiPrefix = mayCache.apiPrefix, apiSuffix = mayCache.apiSuffix, apiPathOfApp = mayCache.apiPathOfApp, apiPathOfAppVersion = mayCache.apiPathOfAppVersion, getSubAppAndItsVersionFn = mayCache.getSubAppAndItsVersionFn, onFetchMetaFailed = mayCache.onFetchMetaFailed, strictMatchVer = mayCache.strictMatchVer, getUserName = mayCache.getUserName, userLsKey = mayCache.userLsKey, shouldUseGray = mayCache.shouldUseGray, getApiPrefix = mayCache.getApiPrefix, trustAppNames = mayCache.trustAppNames, platform = mayCache.platform, origin = mayCache.origin, hook = mayCache.hook, customMetaUrl = mayCache.customMetaUrl, customMetaJsonpUrl = mayCache.customMetaJsonpUrl, getMeta = mayCache.getMeta;
var toReturn = {
apiMode,
apiPrefix,
apiSuffix,
apiPathOfApp,
apiPathOfAppVersion,
getSubAppAndItsVersionFn,
onFetchMetaFailed,
strictMatchVer,
getUserName,
userLsKey,
shouldUseGray,
getApiPrefix,
trustAppNames,
hook,
platform,
customMetaUrl,
customMetaJsonpUrl,
getMeta
};
if (needOrigin) {
toReturn.origin = origin;
}
return toReturn;
}
function getPlatformConfig$1(iPlatform) {
var cache = getSharedCache$1(iPlatform);
return getPureConfig(cache, true);
}
function initGlobalConfig$1(config) {
var shared = getHelMicroShared();
var nativeHeadAppend = shared.nativeHeadAppend, nativeBodyAppend = shared.nativeBodyAppend;
var headAppend = config.headAppend || null;
var bodyAppend = config.bodyAppend || null;
var errTip = function errTip2(label) {
return "pass same ".concat(label, " handle, hel will ignore it for avlid 'Maximum call stack size exceeded'");
};
if (headAppend && headAppend === nativeHeadAppend) {
console.error(errTip("headAppend"));
} else {
shared.patchedHeadAppend = headAppend;
}
if (bodyAppend && bodyAppend === nativeBodyAppend) {
console.error(errTip("bodyAppend"));
} else {
shared.patchedBodyAppend = bodyAppend;
}
}
function initPlatformConfig$1(config, iPlatform) {
var cache = getSharedCache$1(iPlatform);
var pureConfig = getPureConfig(config);
if (cache.isConfigOverwrite) {
return;
}
cache.isConfigOverwrite = true;
safeAssign(cache, pureConfig);
}
function originInit$1(platform, options) {
var cache = getSharedCache$1(platform);
var commonTip = "[[ core:originInit ]] invalid call, it can only been called";
if (cache.isConfigOverwrite) {
log$1("".concat(commonTip, " before init"));
return;
}
if (cache.isOriginInitCalled) {
log$1("".concat(commonTip, " one time"));
return;
}
var pureConfig = getPureConfig(options);
cache.isOriginInitCalled = true;
safeAssign(cache.origin, pureConfig);
}
function getAppPlatform$1(appGroupName) {
return getCacheRoot().appGroupName2platform[appGroupName] || getPlatform$1();
}
function setAppPlatform$1(appGroupName, platform, overwrite) {
var map = getCacheRoot().appGroupName2platform;
if (overwrite || !map[appGroupName]) {
map[appGroupName] = platform;
}
return getAppPlatform$1(appGroupName);
}
function getAppPlatformByAppName$1(appName) {
return getCacheRoot().appName2platform[appName] || getPlatform$1();
}
function setAppPlatformByAppName$1(appName, platform, overwrite) {
var map = getCacheRoot().appName2platform;
if (overwrite || !map[appName]) {
map[appName] = platform;
}
return getAppPlatformByAppName$1(appName);
}
function getDataMap(appName, options) {
var customKey = options.customKey, _options$platform = options.platform, platform = _options$platform === void 0 ? getAppPlatformByAppName$1(appName) : _options$platform;
var _getSharedCache = getSharedCache$1(platform), appName2verCustomData = _getSharedCache.appName2verCustomData;
var customMap = safeGetMap(appName2verCustomData, appName);
var dataMap = safeGetMap(customMap, customKey);
return dataMap;
}
function getCustomData$1(appName, options) {
var dataMap = getDataMap(appName, options);
var result = dataMap[options.versionId || DEFAULT_ONLINE_VER];
return result !== void 0 ? result : null;
}
function setCustomData$1(appName, options) {
var customValue = options.customValue, versionId = options.versionId;
var dataMap = getDataMap(appName, options);
dataMap[versionId || DEFAULT_ONLINE_VER] = customValue;
if (!dataMap[DEFAULT_ONLINE_VER]) {
dataMap[DEFAULT_ONLINE_VER] = customValue;
}
}
function getHelEventBus$1() {
return getHelMicroShared().eventBus;
}
function getUserEventBus$1() {
return getHelMicroShared().userEventBus;
}
function getVerLib$1(appName, inputOptions) {
var _options$strictMatchV;
var options = inputOptions || {};
var versionId = options.versionId, platform = options.platform;
var sharedCache = getSharedCache$1(platform);
var appName2verEmitLib = sharedCache.appName2verEmitLib, appName2Lib = sharedCache.appName2Lib, strictMatchVer = sharedCache.strictMatchVer, appName2isLibAssigned = sharedCache.appName2isLibAssigned;
var targetStrictMatchVer = (_options$strictMatchV = options.strictMatchVer) !== null && _options$strictMatchV !== void 0 ? _options$strictMatchV : strictMatchVer;
var verEmitLibMap = safeGetMap(appName2verEmitLib, appName);
innerUtil.ensureOnlineModule(verEmitLibMap, appName);
var versionIdVar = versionId || DEFAULT_ONLINE_VER;
var verLib = verEmitLibMap[versionIdVar];
var staticLib = appName2isLibAssigned[appName] ? appName2Lib[appName] : null;
var fallbackLib = targetStrictMatchVer ? null : staticLib;
var result = verLib || fallbackLib || null;
log$1("[[ core:getVerLib ]] appName,options,result:", appName, options, result);
return result;
}
function setEmitLib$1(appName, emitApp, options) {
var _ref = options || {}, appGroupName = _ref.appGroupName;
var versionId = emitApp.versionId, appProperties = emitApp.appProperties;
var platform = emitApp.platform || options.platform;
var sharedCache = getSharedCache$1(platform);
var appName2verEmitLib = sharedCache.appName2verEmitLib, appName2Lib = sharedCache.appName2Lib, appName2isLibAssigned = sharedCache.appName2isLibAssigned;
var appMeta = innerUtil.getAppMeta(appName, platform);
var assignLibObj = function assignLibObj2(appName2) {
var libObj = appName2Lib[appName2];
if (!libObj) {
appName2Lib[appName2] = appProperties;
} else if (_typeof(libObj) === "object" && Object.keys(libObj).length === 0) {
Object.assign(libObj, appProperties);
}
appName2isLibAssigned[appName2] = true;
};
assignLibObj(appName);
if (appGroupName) {
assignLibObj(appGroupName);
} else {
appMeta && assignLibObj(appMeta.app_group_name);
}
log$1("[[ core:setEmitLib ]] appMeta:", appMeta);
var verEmitLibMap = safeGetMap(appName2verEmitLib, appName);
if (!verEmitLibMap[DEFAULT_ONLINE_VER]) {
setSubMapValue(appName2verEmitLib, appName, DEFAULT_ONLINE_VER, appProperties);
}
if (versionId) {
setSubMapValue(appName2verEmitLib, appName, versionId, appProperties);
}
}
function getAppMeta$1(appName, platform) {
var _getSharedCache = getSharedCache$1(platform), appName2app = _getSharedCache.appName2app;
return appName2app[appName];
}
function setAppMeta$1(appMeta, platform) {
var _getSharedCache2 = getSharedCache$1(platform), appName2app = _getSharedCache2.appName2app;
appName2app[appMeta.name] = appMeta;
}
function setVerLoadStatus$1(appName, loadStatus, options) {
innerUtil.setVerLoadStatus(appName, loadStatus, "appName2verLoadStatus", options);
}
function getVerLoadStatus$1(appName, options) {
return innerUtil.getVerLoadStatus(appName, "appName2verLoadStatus", options);
}
function setVerStyleStrStatus$1(appName, loadStatus, options) {
innerUtil.setVerLoadStatus(appName, loadStatus, "appName2verStyleFetched", options);
}
function getVerStyleStrStatus$1(appName, options) {
return innerUtil.getVerLoadStatus(appName, "appName2verStyleFetched", options);
}
function getAppStyleStr$1(appName, options) {
var _appName2verStyleStr$;
var _ref = options || {}, platform = _ref.platform, versionId = _ref.versionId;
var _getSharedCache = getSharedCache$1(platform), appName2verStyleStr = _getSharedCache.appName2verStyleStr, appName2styleStr = _getSharedCache.appName2styleStr;
var fallbackStyleStr = appName2styleStr[appName] || "";
if (!versionId) {
return fallbackStyleStr;
}
return ((_appName2verStyleStr$ = appName2verStyleStr[appName]) === null || _appName2verStyleStr$ === void 0 ? void 0 : _appName2verStyleStr$[versionId]) || fallbackStyleStr || "";
}
function setAppStyleStr$1(appName, str, options) {
var _ref2 = options || {}, platform = _ref2.platform, versionId = _ref2.versionId;
var _getSharedCache2 = getSharedCache$1(platform), appName2verStyleStr = _getSharedCache2.appName2verStyleStr, appName2verStyleFetched = _getSharedCache2.appName2verStyleFetched, appName2styleStr = _getSharedCache2.appName2styleStr;
if (!versionId) {
appName2styleStr[appName] = str;
return;
}
setSubMapValue(appName2verStyleStr, appName, versionId, str);
setSubMapValue(appName2verStyleFetched, appName, versionId, helLoadStatus$1.LOADED);
}
function setVerExtraCssList$1(appName, cssList, inputOptions) {
var options = inputOptions || {};
var versionId = options.versionId, platform = options.platform;
var sharedCache = getSharedCache$1(platform);
var appName2verExtraCssList = sharedCache.appName2verExtraCssList;
log$1("[[ core:setVerExtraCssList ]] cssList:", cssList);
var verExtraCssListMap = safeGetMap(appName2verExtraCssList, appName);
if (!verExtraCssListMap[DEFAULT_ONLINE_VER]) {
setSubMapValue(appName2verExtraCssList, appName, DEFAULT_ONLINE_VER, cssList);
}
if (versionId) {
setSubMapValue(appName2verExtraCssList, appName, versionId, cssList);
}
}
function getVerExtraCssList$1(appName, inputOptions) {
var options = inputOptions || {};
var versionId = options.versionId, platform = options.platform;
var sharedCache = getSharedCache$1(platform);
var appName2verExtraCssList = sharedCache.appName2verExtraCssList;
var verExtraCssListMap = safeGetMap(appName2verExtraCssList, appName);
var cssList = verExtraCssListMap[versionId] || verExtraCssListMap[DEFAULT_ONLINE_VER] || [];
log$1("[[ core:getVerExtraCssList ]] options,cssList:", options, cssList);
return cssList;
}
function getVersion$1(appName, options) {
var _appName2verAppVersio;
var _ref = options || {}, platform = _ref.platform, versionId = _ref.versionId;
var _getSharedCache = getSharedCache$1(platform), appName2verAppVersion = _getSharedCache.appName2verAppVersion, appName2appVersion = _getSharedCache.appName2appVersion;
var firstVerData = appName2appVersion[appName] || null;
if (!versionId) {
return firstVerData;
}
return ((_appName2verAppVersio = appName2verAppVersion[appName]) === null || _appName2verAppVersio === void 0 ? void 0 : _appName2verAppVersio[versionId]) || firstVerData;
}
function setVersion$1(appName, versionData, options) {
var _ref2 = options || {}, platform = _ref2.platform;
var _getSharedCache2 = getSharedCache$1(platform), appName2verAppVersion = _getSharedCache2.appName2verAppVersion, appGroupName2firstVer = _getSharedCache2.appGroupName2firstVer, appName2appVersion = _getSharedCache2.appName2appVersion;
var versionId = versionData.version_tag || versionData.sub_app_version;
if (!versionId) {
return;
}
var appMeta = innerUtil.getAppMeta(appName, platform);
var verAppVersion = safeGetMap(appName2verAppVersion, appName);
if (!verAppVersion[DEFAULT_ONLINE_VER]) {
setSubMapValue(appName2verAppVersion, appName, DEFAULT_ONLINE_VER, versionData);
appName2appVersion[appName] = versionData;
}
setSubMapValue(appName2verAppVersion, appName, versionId, versionData);
appGroupName2firstVer[appMeta.app_group_name] = versionData.sub_app_version;
}
function getVerFromAtInMiddle(nameAndVer, callerSpecifiedVer) {
var list = nameAndVer.split("@");
var verList = list.slice(1);
var ver = verList.join("@");
return ver || callerSpecifiedVer || nameAndVer;
}
function isJs(str) {
return str === "js" || str === "mjs";
}
function tryGetVersion$1(appGroupName, platform) {
var loc = getJsRunLocation();
log$1("[[ core:tryGetVersion ]] may include ver source > ".concat(loc));
var _getSharedCache = getSharedCache$1(platform), appGroupName2firstVer = _getSharedCache.appGroupName2firstVer;
var callerSpecifiedVer = appGroupName2firstVer[appGroupName] || "";
if (loc.includes("https://") || loc.includes("http://")) {
var _loc$split = loc.split("//"), _loc$split2 = _slicedToArray(_loc$split, 2), restStr = _loc$split2[1];
var strList = restStr.split("/");
if (callerSpecifiedVer) {
var hasSpecifiedVer = restStr.includes("/".concat(callerSpecifiedVer, "/"));
if (hasSpecifiedVer) {
var isSpecifiedVerHasScope = callerSpecifiedVer.startsWith("@");
if (!isSpecifiedVerHasScope) {
var idx = strList.indexOf(callerSpecifiedVer);
var prevSeg = strList[idx - 1];
var isPrevSegScope = prevSeg.startsWith("@");
if (!isPrevSegScope) {
return getVerFromAtInMiddle(callerSpecifiedVer);
}
} else {
var verSeg = callerSpecifiedVer.split("/")[1] || "";
return getVerFromAtInMiddle(verSeg);
}
}
var str1 = strList[1];
var str2 = strList[2];
if (str1 === "static" && isJs(str2) || isJs(str1)) {
return getVerFromAtInMiddle(callerSpecifiedVer);
}
}
var atSymbolIdx = restStr.indexOf("@");
if (atSymbolIdx >= 0) {
var atSymbolSegs = strList.filter(function(v) {
return v.includes("@");
});
var scopeSegIdx = atSymbolSegs.findIndex(function(v) {
return v.startsWith("@");
});
if (scopeSegIdx >= 0) {
var _verSeg = atSymbolSegs[scopeSegIdx + 1] || "";
return getVerFromAtInMiddle(_verSeg, callerSpecifiedVer);
}
var _verSeg2 = atSymbolSegs[0] || "";
return getVerFromAtInMiddle(_verSeg2, callerSpecifiedVer);
}
var _restStr$split = restStr.split("/".concat(platform, "/")), _restStr$split2 = _slicedToArray(_restStr$split, 2), _restStr$split2$ = _restStr$split2[1], verStartStr = _restStr$split2$ === void 0 ? "" : _restStr$split2$;
var _verStartStr$split = verStartStr.split("/"), _verStartStr$split2 = _slicedToArray(_verStartStr$split, 1), verInUrl = _verStartStr$split2[0];
return verInUrl || callerSpecifiedVer;
}
return callerSpecifiedVer;
}
function tryGetAppName$1(version, appGroupName) {
if (version === DEFAULT_ONLINE_VER) {
return appGroupName || "";
}
if (version.includes("_")) {
var appName = version.substring(0, version.length - 15);
return appName;
}
return appGroupName || "";
}
function tryMarkFlag(clearSignals) {
if (clearSignals) {
isMeMarkTrue = false;
isTryMarkCalled = false;
}
if (isTryMarkCalled) {
return;
}
isTryMarkCalled = true;
var globalThis2 = getGlobalThis$1();
if (globalThis2.__MASTER_APP_LOADED__ === void 0) {
globalThis2.__MASTER_APP_LOADED__ = true;
isMeMarkTrue = true;
}
}
function isSubApp$1() {
var tip = "WARNING: calling isSubApp is unsafe, use hel-iso.isSubApp instead,\n";
tip += "more details see: https://tnfe.github.io/hel/docs/tutorial/attention-is-subapp";
console.log("%c".concat(tip), "color:red;");
if (isMeMarkTrue) {
return false;
}
return true;
}
function markElFeature(el, options) {
var platform = options.platform, groupName2 = options.groupName, name = options.name, ver = options.ver, elName = options.elName;
setDataset(el, "el", elName);
setDataset(el, "plat", platform);
setDataset(el, "gname", groupName2);
setDataset(el, "name", name);
setDataset(el, "ver", ver);
}
function doAppend(nativeAppend, el) {
if (!el || !["LINK", "SCRIPT"].includes(el.tagName)) {
return nativeAppend(el);
}
var href = el.href, tagName = el.tagName, src = el.src;
var url = href || src || "";
var isLink = tagName === "LINK";
var assetCtx = getCommonData$1(KEY_ASSET_CTX, url) || {};
var platform = assetCtx.platform, groupName2 = assetCtx.groupName, name = assetCtx.name, ver = assetCtx.ver, beforeAppend = assetCtx.beforeAppend;
var mayChangedEl = el;
if (beforeAppend) {
var urlKey = isLink ? "href" : "src";
var _url = el.getAttribute(urlKey);
var setAssetUrl = function setAssetUrl2(newUrl) {
return el.setAttribute(urlKey, newUrl);
};
mayChangedEl = beforeAppend({
el,
nativeAppend,
setAssetUrl,
url: _url,
tagName
}) || el;
}
var elName = isLink ? "HelLink" : "HelScript";
platform && markElFeature(mayChangedEl, {
platform,
groupName: groupName2,
name,
ver,
elName
});
return nativeAppend(mayChangedEl);
}
function patchAppendChild() {
var gs = getGlobalThis$1();
if (gs.__POWERED_BY_QIANKUN__ || gs.__DISABLE_HEL_MONKEY_PATCH__) {
return;
}
var helMicroShared = getHelMicroShared();
var doc = gs.document;
var nativeHeadAppend = helMicroShared.nativeHeadAppend;
var nativeBodyAppend = helMicroShared.nativeBodyAppend;
if (nativeHeadAppend || !doc) {
return;
}
var head = doc.head, body = doc.body;
nativeHeadAppend = head.appendChild.bind(head);
helMicroShared.nativeHeadAppend = nativeHeadAppend;
if (body) {
nativeBodyAppend = body.appendChild.bind(body);
helMicroShared.nativeBodyAppend = nativeBodyAppend;
} else {
var MutationObserver = getOB();
var observer = new MutationObserver(function(mutations) {
var body2;
for (var i = 0; i < mutations.length; i++) {
var addedNodes = mutations[i].addedNodes;
body2 = findNode(addedNodes, "BODY");
if (body2) break;
}
if (body2) {
nativeBodyAppend = body2.appendChild.bind(body2);
helMicroShared.nativeBodyAppend = nativeBodyAppend;
body2.appendChild = function(el) {
return doAppend(getAppend(nativeBodyAppend, body2, "body"), el);
};
observer.disconnect();
}
});
var htmlNode = findNode(doc.childNodes, "HTML");
if (htmlNode) {
observer.observe(htmlNode, {
childList: true
});
}
}
var getAppend = function getAppend2(nativeAppend, bindTarget, loc) {
var patchedHeadAppend = helMicroShared.patchedHeadAppend, patchedBodyAppend = helMicroShared.patchedBodyAppend;
var isHead = loc === "head";
if (patchedHeadAppend && isHead) {
return patchedHeadAppend;
}
if (patchedBodyAppend && !isHead) {
return patchedBodyAppend;
}
if (gs.__POWERED_BY_WUJIE__) {
return nativeAppend;
}
var el = gs.Element;
return el ? el.prototype.appendChild.bind(bindTarget) : nativeAppend;
};
head.appendChild = function(el) {
return doAppend(getAppend(nativeHeadAppend, head, "head"), el);
};
if (body) {
body.appendChild = function(el) {
return doAppend(getAppend(nativeBodyAppend, body, "body"), el);
};
}
}
function libReady$1(appGroupName, appProperties) {
var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
var platform = options.platform || getAppPlatform$1(appGroupName);
var versionId = options.versionId || tryGetVersion$1(appGroupName, platform);
var appName = options.appName || tryGetAppName$1(versionId, appGroupName);
log$1("[[ core:libReady ]] appGroupName ".concat(appGroupName, ", appName ").concat(appName, ", versionId ").concat(versionId));
var appMeta = getAppMeta$1(appName, platform);
if (appMeta !== null && appMeta !== void 0 && appMeta.__fromCust) {
versionId = options.versionId || appMeta.online_version;
appName = appMeta.name;
log$1("[[ core:libReady ]] fromCust, appGroupName ".concat(appGroupName, ", appName ").concat(appName, ", versionId ").concat(versionId));
}
var emitLib = {
platform,
appName,
appGroupName,
versionId,
appProperties,
// prettier-ignore
Comp: function EmptyComp() {
},
lifecycle: {}
};
setEmitLib$1(appName, emitLib, {
appGroupName,
platform
});
setVerLoadStatus$1(appName, helLoadStatus$1.LOADED, {
versionId,
platform
});
var eventBus = getHelEventBus$1();
perfPeek$1(pLogic, "libReady");
eventBus.emit(helEvents$1.SUB_LIB_LOADED, emitLib);
}
function appReady$1(appGroupName, Comp) {
var emitOptions = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
var lifecycle = emitOptions.lifecycle;
var platform = emitOptions.platform || getAppPlatform$1(appGroupName);
var versionId = emitOptions.versionId || tryGetVersion$1(appGroupName, platform);
var appName = emitOptions.appName || tryGetAppName$1(versionId, appGroupName);
var emitApp = {
Comp,
appName,
appGroupName,
lifecycle,
platform,
versionId,
isLib: false
};
setEmitApp$1(appName, emitApp);
setVerLoadStatus$1(appName, helLoadStatus$1.LOADED, {
versionId,
platform
});
var eventBus = getHelEventBus$1();
perfPeek$1(pLogic, "appReady");
eventBus.emit(helEvents$1.SUB_APP_LOADED, emitApp);
}
function matchIgnoreCssPrefix(node, url) {
var bus = getHelEventBus$1();
var matchedPrefix = commonDataUtil$1.getMatchedIgnoreCssPrefix(url);
if (matchedPrefix) {
commonDataUtil$1.setIgnoreCssPrefixCssUrl(matchedPrefix, url);
bus.emit(evName$1.cssLinkTagAdded(matchedPrefix), {
nodes: [node]
});
}
return matchedPrefix;
}
function resetStyleText(groupName2) {
var g = getGlobalThis$1();
if (!g) return;
var list = g.document.head.querySelectorAll('style[data-gname="'.concat(groupName2, '"]'));
if (list.length) {
commonDataUtil$1.clearStyleTagText(groupName2);
list.forEach(function(node) {
disableNode(node);
commonDataUtil$1.appendStyleTagText(groupName2, node.innerText);
});
var bus = getHelEventBus$1();
bus.emit(evName$1.styleTagAdded(groupName2), {
nodes: list
});
}
}
function handleStyleAdded(node, ignoreStyleTagMap) {
var tagName = node.tagName, innerText = node.innerText, href = node.href;
if (!["STYLE", "LINK"].includes(tagName)) return;
if (tagName === "STYLE") {
if (!innerText) {
return;
}
var markStart = innerText.indexOf(HEL_CSS_MARK_START);
if (markStart < 0) {
return;
}
var markEnd = innerText.indexOf(HEL_CSS_MARK_END);
if (markEnd < 0) {
return;
}
var helKey = innerText.substring(START_LEN + markStart, markEnd);
if (helKey) {
var trimedStr = helKey.trim();
var plat = "";
var groupName2 = trimedStr;
if (trimedStr.includes("/")) {
var arr = trimedStr.split("/");
plat = arr[0];
groupName2 = arr[1];
}
setDataset(node, "gname", groupName2);
plat && setDataset(node, "plat", plat);
if (ignoreStyleTagMap[trimedStr]) {
disableNode(node);
}
var bus = getHelEventBus$1();
commonDataUtil$1.appendStyleTagText(trimedStr, innerText);
bus.emit(evName$1.styleTagAdded(trimedStr), {
nodes: [node]
});
}
return;
}
var matchedPrefix = matchIgnoreCssPrefix(node, href);
if (matchedPrefix) {
disableNode(node);
}
}
function handleHotUpdate(node, ignoreStyleTagMap) {
var tagName = node.tagName, _node$src = node.src, src = _node$src === void 0 ? "" : _node$src;
if (tagName !== "SCRIPT") return false;
if (!src.endsWith(".hot-update.js")) return false;
var matchedPrefix = commonDataUtil$1.getMatchedIgnoreCssPrefix(src);
if (!matchedPrefix) return false;
var keys = commonDataUtil$1.getIgnoreCssPrefixKeys(matchedPrefix);
if (!keys.length) return false;
var handled = false;
keys.forEach(function(key) {
if (ignoreStyleTagMap[key]) {
resetStyleText(key);
handled = true;
}
});
return handled;
}
function obStyleTagInsert() {
var helMicroShared = getHelMicroShared();
var globalThis2 = getGlobalThis$1();
var isStyleObInit = helMicroShared.isStyleObInit;
var doc = globalThis2.document;
if (isStyleObInit || !doc) {
return;
}
helMicroShared.isStyleObInit = true;
var ignoreStyleTagMap = commonDataUtil$1.getIgnoreStyleTagMap();
var MutationObserver = getOB();
if (!MutationObserver) return;
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
var addedNodes = mutation.addedNodes, removedNodes = mutation.removedNodes;
var len = addedNodes.length;
for (var i = 0; i < len; i++) {
handleStyleAdded(addedNodes[i], ignoreStyleTagMap);
}
var remLen = removedNodes.length;
for (var _i = 0; _i < remLen; _i++) {
if (handleHotUpdate(removedNodes[_i], ignoreStyleTagMap)) {
break;
}
}
});
});
observer.observe(document.head, {
childList: true
});
}
function resetGlobalThis(globalThis2) {
if (globalThis2) {
setGlobalThis(globalThis2);
}
tryMarkFlag(!!globalThis2);
ensureHelMicroShared();
ensureHelMicroDebug();
patchAppendChild();
obStyleTagInsert();
}
var globalThisRef, isNull, noDupPush, okeys, commonUtilMod, PLAT_HEL$1, PLAT_UNPKG$1, logModeEnum, DEFAULT_ONLINE_VER, DEFAULT_PLAT, helConsts$1, helEvents$1, helLoadStatus$1, LS_LOG_FILTER, LS_LOG_MODE, NONE, LOG, TRACE, inner, helMicroDebug, logPrefix, colorDesc, labelTimes, DEFAULT_API_URL, DEFAULT_USER_LS_KEY, PLAT_HEL, PLAT_UNPKG, DEFAULT_API_PREFIX, CORE_VER, KEY_CSS_LINK_TAG_ADDED$1, KEY_STYLE_TAG_ADDED$1, KEY_IGNORE_CSS_PREFIX_LIST$1, KEY_IGNORE_STYLE_TAG_KEY$1, KEY_IGNORE_CSS_PREFIX_2_KEYS$1, innerUtil, KEY_CSS_LINK_TAG_ADDED, KEY_STYLE_TAG_ADDED, KEY_IGNORE_CSS_PREFIX_LIST, KEY_IGNORE_STYLE_TAG_KEY, KEY_IGNORE_CSS_PREFIX_2_KEYS, commonDataUtil$1, STYLE_TAG_ADDED, CSS_LINK_TAG_ADDED, evName$1, isMeMarkTrue, isTryMarkCalled, KEY_ASSET_CTX, pLogic, HEL_CSS_MARK_START, HEL_CSS_MARK_END, START_LEN, helEvents, helLoadStatus, helConsts, inectPlatToMod, commonUtil, isSubApp, getPlatform, getSharedCache, getHelDebug, allowLog, log, perfMark, perfPeek, clearPerfMark, getGlobalThis, setGlobalThis, getVerApp, setEmitApp, getVerLib, setEmitLib, getAppMeta2, setAppMeta, getVersion, setVersion, getCustomData2, setCustomData, getCommonData, setCommonData, commonDataUtil, getVerLoadStatus2, setVerLoadStatus2, getVerStyleStrStatus, setVerStyleStrStatus, getAppStyleStr, setAppStyleStr, getVerExtraCssList, setVerExtraCssList, tryGetVersion, tryGetAppName, getPlatformConfig, getAppPlatform, setAppPlatform, setAppPlatformByAppName, getAppPlatformByAppName, initPlatformConfig, originInit, initGlobalConfig, getHelEventBus, getUserEventBus, evName, libReady, appReady;
var init_es = __esm({
"../../node_modules/.pnpm/hel-micro-core@4.13.1_hel-types@4.3.10/node_modules/hel-micro-core/es/index.js"() {
globalThisRef = null;
isNull = isNull$1;
noDupPush = noDupPush$1;
okeys = okeys$1;
commonUtilMod = /* @__PURE__ */ Object.freeze({
__proto__: null,
noop,
hasProp,
isServer,
safeParse,
isNull,
noDupPush,
okeys,
merge2List,
purify,
getObjsVal,
pfstr,
nbstr,
nbalert,
setDataset,
disableNode
});
PLAT_HEL$1 = "hel";
PLAT_UNPKG$1 = "unpkg";
logModeEnum = {
NONE: 0,
LOG: 1,
TRACE: 2
};
DEFAULT_ONLINE_VER = "__default_online_ver__";
DEFAULT_PLAT = PLAT_UNPKG$1;
helConsts$1 = {
CORE_VER: "4.13.1",
DEFAULT_API_PREFIX: "https://unpkg.com",
DEFAULT_API_URL: "/openapi/v1/app/info",
DEFAULT_ONLINE_VER,
DEFAULT_USER_LS_KEY: "HelUserRtxName",
DEFAULT_PLAT,
LS_LOG_MODE: "HelConfig.logMode",
LS_LOG_FILTER: "HelConfig.logFilter",
PLAT_HEL: PLAT_HEL$1,
PLAT_UNPKG: PLAT_UNPKG$1,
/** commonData.CSS_STR ,存放样式字符串 map */
KEY_CSS_STR: "CSS_STR",
/** commonData.ASSET_CTX ,资源对应的具体上下文 */
KEY_ASSET_CTX: "ASSET_CTX",
/** commonData.STYLE_TAG_ADDED ,对应的样式字符串 { [key: 'app-group-name' ]: string } */
KEY_STYLE_TAG_ADDED: "STYLE_TAG_ADDED",
/** commonData.CSS_LINK_TAG_ADDED ,对应的样式url列表 { [key: 'http://localhost:3000' ]: string[] } */
KEY_CSS_LINK_TAG_ADDED: "CSS_LINK_TAG_ADDED",
/** commonData.IGNORE_CSS_PREFIX_LIST ,忽略样式前缀列表 string[] */
KEY_IGNORE_CSS_PREFIX_LIST: "IGNORE_CSS_PREFIX_LIST",
/** commonData.IGNORE_STYLE_TAG_KEY ,忽略样式前缀列表 { [key: string ]: 1|0 } */
KEY_IGNORE_STYLE_TAG_KEY: "IGNORE_STYLE_TAG_KEY",
/** commonData.IGNORE_CSS_PREFIX_2_KEYS ,忽略样式前缀对应的key { [key: 'http://localhost:3000' ]: string } */
KEY_IGNORE_CSS_PREFIX_2_KEYS: "IGNORE_CSS_PREFIX_2_KEYS"
};
helEvents$1 = {
// renderApp 发射的是 SUB_APP_LOADED
// 此处有个小写开头的瑕疵不再做纠正,
SUB_APP_LOADED: "subAppLoaded",
// libReady 发射的是 SUB_LIB_LOADED
SUB_LIB_LOADED: "SubLibLoaded",
// 3.2+ 新增样式字符串获取完毕事件
STYLE_STR_FETCHED: "StyleStrFetched",
/** 4.2.3+ 用于监听动态添加的 style 标签,方便上层用到 shadowdom 的地方可以接收样式并转移到 shadowdom 内部 */
STYLE_TAG_ADDED: "StyleTagAdded",
/** 4.2.6+ 用于监听动态添加的 link 标签,方便上层用到 shadowdom 的地方可以接收样式并转移到 shadowdom 内部 */
CSS_LINK_TAG_ADDED: "CssLinkTagAdded"
};
helLoadStatus$1 = {
NOT_LOAD: 0,
LOADING: 1,
LOADED: 2
};
LS_LOG_FILTER = helConsts$1.LS_LOG_FILTER;
LS_LOG_MODE = helConsts$1.LS_LOG_MODE;
NONE = logModeEnum.NONE;
LOG = logModeEnum.LOG;
TRACE = logModeEnum.TRACE;
inner = {
isIncludeFilter: function isIncludeFilter(firstArg, logFilter) {
if (!logFilter.includes(",")) {
return firstArg.includes(logFilter);
}
var filterList = logFilter.split(",");
return filterList.some(function(item) {
return firstArg.includes(item);
});
},
getLogFilter: function getLogFilter() {
return getHelMicroDebug().logFilter;
},
setLogFilter: function setLogFilter(value) {
var memVal = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
getHelMicroDebug().logFilter = value;
memVal && setLsItem(LS_LOG_FILTER, value);
},
setLogMode: function setLogMode(value) {
var memVal = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
var modeNum = parseInt(value, 10);
if ([NONE, LOG, TRACE].includes(modeNum)) {
getHelMicroDebug().logMode = modeNum;
memVal && setLsItem(LS_LOG_MODE, modeNum);
}
},
getLogMode: function getLogMode() {
return getHelMicroDebug().logMode;
}
};
helMicroDebug = {};
logPrefix = " %c--> HEL LOG:";
colorDesc = "color:#ad4e00;font-weight:600";
labelTimes = {};
DEFAULT_API_URL = helConsts$1.DEFAULT_API_URL;
DEFAULT_USER_LS_KEY = helConsts$1.DEFAULT_USER_LS_KEY;
PLAT_HEL = helConsts$1.PLAT_HEL;
PLAT_UNPKG = helConsts$1.PLAT_UNPKG;
DEFAULT_API_PREFIX = helConsts$1.DEFAULT_API_PREFIX;
CORE_VER = helConsts$1.CORE_VER;
KEY_CSS_LINK_TAG_ADDED$1 = helConsts$1.KEY_CSS_LINK_TAG_ADDED;
KEY_STYLE_TAG_ADDED$1 = helConsts$1.KEY_STYLE_TAG_ADDED;
KEY_IGNORE_CSS_PREFIX_LIST$1 = helConsts$1.KEY_IGNORE_CSS_PREFIX_LIST;
KEY_IGNORE_STYLE_TAG_KEY$1 = helConsts$1.KEY_IGNORE_STYLE_TAG_KEY;
KEY_IGNORE_CSS_PREFIX_2_KEYS$1 = helConsts$1.KEY_IGNORE_CSS_PREFIX_2_KEYS;
innerUtil = {
getCustomData: function getCustomData(appName, customKey, options) {
var versionId = options.versionId, platform = options.platform;
var _getSharedCache = getSharedCache$1(platform), appName2verCustomData = _getSharedCache.appName2verCustomData;
var customMap = safeGetMap(appName2verCustomData, appName);
var dataMap = safeGetMap(customMap, customKey);
return dataMap[versionId || DEFAULT_ONLINE_VER];
},
getAppMeta: function getAppMeta(appName, platform) {
var _getSharedCache2 = getSharedCache$1(platform), appName2app = _getSharedCache2.appName2app;
return appName2app[appName];
},
setVerLoadStatus: function setVerLoadStatus(appName, loadStatus, statusMapKey, options) {
var _ref = options || {}, versionId = _ref.versionId, platform = _ref.platform;
var appVerLoadStatus = getSharedCache$1(platform)[statusMapKey];
var versionIdVar = versionId || DEFAULT_ONLINE_VER;
setSubMapValue(appVerLoadStatus, appName, versionIdVar, loadStatus);
},
getVerLoadStatus: function getVerLoadStatus(appName, statusMapKey, options) {
var _appVerLoadStatus$app;
var _ref2 = options || {}, versionId = _ref2.versionId, platform = _ref2.platform;
var appVerLoadStatus = getSharedCache$1(platform)[statusMapKey];
var versionIdVar = versionId || DEFAULT_ONLINE_VER;
return ((_appVerLoadStatus$app = appVerLoadStatus[appName]) === null || _appVerLoadStatus$app === void 0 ? void 0 : _appVerLoadStatus$app[versionIdVar]) || helLoadStatus$1.NOT_LOAD;
},
// 预防一些未升级的老模块未写 DEFAULT_ONLINE_VER 的值到 libOrAppMap 里
ensureOnlineModule: function ensureOnlineModule(libOrAppMap, appName, platform) {
if (libOrAppMap[DEFAULT_ONLINE_VER]) {
return;
}
var appMeta = innerUtil.getAppMeta(appName, platform);
var onlineModule = libOrAppMap[appMeta === null || appMeta === void 0 ? void 0 : appMeta.online_version];
if (onlineModule) {
libOrAppMap[DEFAULT_ONLINE_VER] = onlineModule;
}
}
};
KEY_CSS_LINK_TAG_ADDED = helConsts$1.KEY_CSS_LINK_TAG_ADDED;
KEY_STYLE_TAG_ADDED = helConsts$1.KEY_STYLE_TAG_ADDED;
KEY_IGNORE_CSS_PREFIX_LIST = helConsts$1.KEY_IGNORE_CSS_PREFIX_LIST;
KEY_IGNORE_STYLE_TAG_KEY = helConsts$1.KEY_IGNORE_STYLE_TAG_KEY;
KEY_IGNORE_CSS_PREFIX_2_KEYS = helConsts$1.KEY_IGNORE_CSS_PREFIX_2_KEYS;
commonDataUtil$1 = {
setIgnoreCssPrefix: function setIgnoreCssPrefix(cssPrefix) {
var list = getDataNode(KEY_IGNORE_CSS_PREFIX_LIST);
noDupPush$1(list, cssPrefix);
},
setIgnoreStyleTagKey: function setIgnoreStyleTagKey(key) {
var map = commonDataUtil$1.getIgnoreStyleTagMap();
map[key] = 1;
},
getIgnoreStyleTagMap: function getIgnoreStyleTagMap() {
var map = getDataNode(KEY_IGNORE_STYLE_TAG_KEY);
return map;
},
setIgnoreCssPrefixKey: function setIgnoreCssPrefixKey(ignoreCssPrefix, key) {
var list = getCommonData$1(KEY_IGNORE_CSS_PREFIX_2_KEYS, ignoreCssPrefix);
if (!list) {
list = [];
setCommonData$1(KEY_IGNORE_CSS_PREFIX_2_KEYS, ignoreCssPrefix, list);
}
noDupPush$1(list, key);
},
getIgnoreCssPrefixKeys: function getIgnoreCssPrefixKeys(ignoreCssPrefix) {
var map = getDataNode(KEY_IGNORE_CSS_PREFIX_2_KEYS);
return map[ignoreCssPrefix] || [];
},
getMatchedIgnoreCssPrefix: function getMatchedIgnoreCssPrefix(url) {
var ignoreCssPrefixList = getDataNode(KEY_IGNORE_CSS_PREFIX_LIST);
var matchedPrefix = "";
for (var i = 0; i < ignoreCssPrefixList.length; i++) {
var cssPrefix = ignoreCssPrefixList[i];
if (url.startsWith(cssPrefix)) {
matchedPrefix = cssPrefix;
break;
}
}
return matchedPrefix;
},
getIgnoreCssPrefixCssUrlList: function getIgnoreCssPrefixCssUrlList(ignoreCssPrefix) {
var cssUrlList = getCommonData$1(KEY_CSS_LINK_TAG_ADDED, ignoreCssPrefix);
if (!cssUrlList) {
cssUrlList = [];
setCommonData$1(KEY_CSS_LINK_TAG_ADDED, ignoreCssPrefix, cssUrlList);
}
return cssUrlList;
},
setIgnoreCssPrefixCssUrl: function setIgnoreCssPrefixCssUrl(ignoreCssPrefix, url) {
var cssUrlList = commonDataUtil$1.getIgnoreCssPrefixCssUrlList(ignoreCssPrefix);
cssUrlList.push(url);
},
getStyleTagText: function getStyleTagText(key) {
var text = getCommonData$1(KEY_STYLE_TAG_ADDED, key) || "";
return text;
},
clearStyleTagText: function clearStyleTagText(key) {
setCommonData$1(KEY_STYLE_TAG_ADDED, key, "");
},
appendStyleTagText: function appendStyleTagText(key, text) {
var oldText = commonDataUtil$1.getStyleTagText(key);
setCommonData$1(KEY_STYLE_TAG_ADDED, key, "".concat(oldText, " ").concat(text));
}
};
STYLE_TAG_ADDED = helEvents$1.STYLE_TAG_ADDED;
CSS_LINK_TAG_ADDED = helEvents$1.CSS_LINK_TAG_ADDED;
evName$1 = {
styleTagAdded: function styleTagAdded(groupName2) {
return "".concat(STYLE_TAG_ADDED, "/").concat(groupName2);
},
cssLinkTagAdded: function cssLinkTagAdded(host) {
return "".concat(CSS_LINK_TAG_ADDED, "(").concat(host, ")");
}
};
isMeMarkTrue = false;
isTryMarkCalled = false;
KEY_ASSET_CTX = helConsts$1.KEY_ASSET_CTX;
pLogic = "preFetch";
HEL_CSS_MARK_START = "/* @helstart ";
HEL_CSS_MARK_END = " @helend */";
START_LEN = HEL_CSS_MARK_START.length;
resetGlobalThis();
log$1("hel-micro-core ver ".concat(helConsts$1.CORE_VER));
helEvents = helEvents$1;
helLoadStatus = helLoadStatus$1;
helConsts = helConsts$1;
inectPlatToMod = inectPlatToMod$1;
commonUtil = commonUtilMod;
isSubApp = isSubApp$1;
getPlatform = getPlatform$1;
getSharedCache = getSharedCache$1;
getHelDebug = getHelMicroDebug;
allowLog = allowLog$1;
log = log$1;
perfMark = perfMark$1;
perfPeek = perfPeek$1;
clearPerfMark = clearPerfMark$1;
getGlobalThis = getGlobalThis$1;
setGlobalThis = setGlobalThis$1;
getVerApp = getVerApp$1;
setEmitApp = setEmitApp$1;
getVerLib = getVerLib$1;
setEmitLib = setEmitLib$1;
getAppMeta2 = getAppMeta$1;
setAppMeta = setAppMeta$1;
getVersion = getVersion$1;
setVersion = setVersion$1;
getCustomData2 = getCustomData$1;
setCustomData = setCustomData$1;
getCommonData = getCommonData$1;
setCommonData = setCommonData$1;
commonDataUtil = commonDataUtil$1;
getVerLoadStatus2 = getVerLoadStatus$1;
setVerLoadStatus2 = setVerLoadStatus$1;
getVerStyleStrStatus = getVerStyleStrStatus$1;
setVerStyleStrStatus = setVerStyleStrStatus$1;
getAppStyleStr = getAppStyleStr$1;
setAppStyleStr = setAppStyleStr$1;
getVerExtraCssList = getVerExtraCssList$1;
setVerExtraCssList = setVerExtraCssList$1;
tryGetVersion = tryGetVersion$1;
tryGetAppName = tryGetAppName$1;
getPlatformConfig = getPlatformConfig$1;
getAppPlatform = getAppPlatform$1;
setAppPlatform = setAppPlatform$1;
setAppPlatformByAppName = setAppPlatformByAppName$1;
getAppPlatformByAppName = getAppPlatformByAppName$1;
initPlatformConfig = initPlatformConfig$1;
originInit = originInit$1;
initGlobalConfig = initGlobalConfig$1;
getHelEventBus = getHelEventBus$1;
getUserEventBus = getUserEventBus$1;
evName = evName$1;
libReady = libReady$1;
appReady = appReady$1;
}
});
// ../../node_modules/.pnpm/hel-lib-proxy@4.12.1_hel-micro-core@4.13.1_hel-types@4.3.10/node_modules/hel-lib-proxy/dist/hel-lib-proxy.js
var require_hel_lib_proxy = __commonJS({
"../../node_modules/.pnpm/hel-lib-proxy@4.12.1_hel-micro-core@4.13.1_hel-types@4.3.10/node_modules/hel-lib-proxy/dist/hel-lib-proxy.js"(exports, module) {
(function(global2, factory) {
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, (init_es(), __toCommonJS(es_exports))) : typeof define === "function" && define.amd ? define(["exports", "hel-micro-core"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.HelLibProxy = {}, global2.HelMicroCore));
})(exports, (function(exports2, core) {
"use strict";
function _interopNamespace(e) {
if (e && e.__esModule) return e;
var n = /* @__PURE__ */ Object.create(null);
if (e) {
Object.keys(e).forEach(function(k) {
if (k !== "default") {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function() {
return e[k];
}
});
}
});
}
n["default"] = e;
return Object.freeze(n);
}
var core__namespace = /* @__PURE__ */ _interopNamespace(core);
var __assign = function() {
__assign = Object.assign || function __assign2(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var VER$2 = "4.12.1";
function mayBindIns(ins) {
var globalThis2 = core.getGlobalThis();
if (!core.commonUtil.isServer() && !globalThis2.HelLibProxy) {
core.log("auto bind hel-lib-proxy to global.HelLibProxy");
globalThis2.HelLibProxy = ins;
}
}
function getMergedOptions(options) {
var defaultOptions = {
allowDup: false,
platform: core.helConsts.DEFAULT_PLAT
};
return __assign(__assign({}, defaultOptions), options || {});
}
function getLibObj(libName, platform) {
console.log("=-=======>> getLibObj", libName);
var platformVar = platform || (core.getAppPlatform === null || core.getAppPlatform === void 0 ? void 0 : core.getAppPlatform(libName));
var appName2Lib = core.getSharedCache(platformVar).appName2Lib;
if (!appName2Lib[libName]) {
appName2Lib[libName] = {};
}
return appName2Lib[libName];
}
function getLibProxy(libName, libObj, platform) {
return new Proxy(libObj, {
get: function(target, key) {
var strKey = String(key);
core.log("[[getLibProxy]] call lib [".concat(libName, "] method [").concat(strKey, "]"));
if (Object.keys(target).length) {
var val = target[strKey];
if (window.React && window.ReactIs && window.ReactIs.isValidElementType(val) && module.hot) {
const name = val.name;
console.log("name ---> ", name);
return (props = {}) => {
console.log("!!!!!!!!!!!!! ");
return window.React.createElement(val, props, props.children);
};
}
return target[strKey];
}
var safeTarget = getLibObj(libName, platform);
return safeTarget[strKey];
}
});
}
var VER$1 = VER$2;
core__namespace.log("hel-lib-proxy ver ".concat(VER$1));
var getUserEventBus2 = core__namespace.getUserEventBus, helConsts2 = core__namespace.helConsts;
var eventBus$1 = getUserEventBus2();
function getLib$1(libName, getOptions) {
var filledOptions = __assign({}, getOptions || {});
filledOptions.platform = helConsts2.DEFAULT_PLAT;
return core__namespace.getVerLib(libName, filledOptions);
}
function exposeLib$1(libName, options) {
console.log("----------> exposeLib", libName, options);
var _a;
var asProxy = true;
var platform = "";
if (options) {
if (typeof options === "string") {
platform = options;
} else {
platform = options.platform || "";
asProxy = (_a = options.asProxy) !== null && _a !== void 0 ? _a : true;
}
}
platform = platform || core__namespace.getAppPlatform(libName) || helConsts2.DEFAULT_PLAT;
var libObj = getLibObj(libName, platform);
if (typeof Proxy === "function" && asProxy) {
libObj = getLibProxy(libName, libObj, platform);
}
core__namespace.log("[[ exposeLib ]] libName, libObj", libName, libObj);
return libObj;
}
function libReady$12(appGroupName, libProperties, options) {
var mergedOptions = getMergedOptions(options);
core__namespace.libReady(appGroupName, libProperties, mergedOptions);
}
function appReady$12(appGroupName, Comp, options) {
core__namespace.appReady(appGroupName, Comp, options);
}
function exposeApp$1(libName, options) {
var Comp = core__namespace.getVerApp(libName, options);
return Comp;
}
var isSubApp$12 = core__namespace.isSubApp;
function isMasterApp$1() {
return !core__namespace.isSubApp();
}
var apis = /* @__PURE__ */ Object.freeze({
__proto__: null,
VER: VER$1,
eventBus: eventBus$1,
getLib: getLib$1,
exposeLib: exposeLib$1,
libReady: libReady$12,
appReady: appReady$12,
exposeApp: exposeApp$1,
isSubApp: isSubApp$12,
isMasterApp: isMasterApp$1
});
var purify2 = core.commonUtil.purify;
var ignoreKeys = ["isMasterApp", "isSubApp", "eventBus"];
var arg3PlatKeys = ["appReady", "libReady"];
function makePlatObj(platform, arg) {
if (arg && typeof arg === "object") {
var newOptions = __assign({ platform }, purify2(arg));
return newOptions;
}
return arg;
}
function injectArg2Plat(fn, platform, considerStr) {
return function() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var arg1 = args[0], arg2 = args[1];
if (considerStr && (typeof arg2 === "string" || arg2 === void 0)) {
return fn(arg1, arg2 || platform);
}
return fn(arg1, makePlatObj(platform, arg2));
};
}
function injectArg3Plat(fn, platform) {
return function() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var arg1 = args[0], arg2 = args[1], _a = args[2], options = _a === void 0 ? {} : _a;
return fn(arg1, arg2, makePlatObj(platform, options));
};
}
function tryInectPlat(obj, platform) {
var newObj = {};
Object.keys(obj).forEach(function(key) {
var val = obj[key];
if (ignoreKeys.includes(key)) {
newObj[key] = val;
return;
}
if (arg3PlatKeys.includes(key)) {
newObj[key] = injectArg3Plat(val, platform);
return;
}
var considerStr = key === "exposeLib";
newObj[key] = injectArg2Plat(val, platform, considerStr);
});
return newObj;
}
function createInstance$1(platform) {
var newApis = tryInectPlat(apis, platform);
newApis.createInstance = createInstance$1;
return newApis;
}
var createInstance = createInstance$1;
var VER = VER$1, libReady2 = libReady$12, exposeLib2 = exposeLib$1, getLib = getLib$1, isSubApp2 = isSubApp$12, isMasterApp = isMasterApp$1, eventBus = eventBus$1, appReady2 = appReady$12, exposeApp = exposeApp$1;
var toExport = {
VER,
libReady: libReady2,
exposeLib: exposeLib2,
getLib,
isSubApp: isSubApp2,
isMasterApp,
eventBus,
appReady: appReady2,
exposeApp,
createInstance
};
mayBindIns(toExport);
exports2.VER = VER;
exports2.appReady = appReady2;
exports2.createInstance = createInstance;
exports2["default"] = toExport;
exports2.eventBus = eventBus;
exports2.exposeApp = exposeApp;
exports2.exposeLib = exposeLib2;
exports2.getLib = getLib;
exports2.isMasterApp = isMasterApp;
exports2.isSubApp = isSubApp2;
exports2.libReady = libReady2;
Object.defineProperty(exports2, "__esModule", { value: true });
}));
}
});
// ../../node_modules/.pnpm/hel-mono-runtime-helper@1.1.2/node_modules/hel-mono-runtime-helper/src/index.js
var require_src = __commonJS({
"../../node_modules/.pnpm/hel-mono-runtime-helper@1.1.2/node_modules/hel-mono-runtime-helper/src/index.js"(exports, module) {
var START_WITH_REMOTE = "3";
function getWindow() {
if (typeof window !== "undefined") {
return window;
}
return {};
}
function getSpecifiedVer(helModName, platform) {
const vers = getWindow().__HEL_MOD_VERS__ || {};
const key = platform ? `${platform}/${helModName}` : helModName;
return vers[key];
}
function setHelModVers(newVers) {
let vers = getWindow().__HEL_MOD_VERS__;
if (!vers) {
vers = {};
getWindow().__HEL_MOD_VERS__ = vers;
}
Object.assign(vers, newVers);
}
function getHostNode(id = "hel-app-root") {
const { document: document2 } = getWindow();
let node = document2.getElementById(id);
if (!node) {
node = document2.createElement("div");
node.id = id;
document2.body.appendChild(node);
}
return node;
}
var HEL_DEV_KEY_PREFIX = {
devUrl: "hel.dev",
branchId: "hel.branch",
versionId: "hel.ver",
projectId: "hel.proj"
};
function getHelConfKeys(groupName2) {
return {
branchId: `${HEL_DEV_KEY_PREFIX.branchId}:${groupName2}`,
devUrl: `${HEL_DEV_KEY_PREFIX.devUrl}:${groupName2}`,
versionId: `${HEL_DEV_KEY_PREFIX.versionId}:${groupName2}`,
projectId: `${HEL_DEV_KEY_PREFIX.projectId}:${groupName2}`
};
}
function getStorageValue(key) {
const win = getWindow();
if (win.localStorage) {
return win.localStorage.getItem(key) || "";
}
return "";
}
function monoLog2(...args) {
const argv = Array.from(args);
const len = args.length;
const prefix = "[hel-mono]";
if (len === 1) {
return console.log(`%c${prefix} ${args[0]}`, "color:#eaa10f");
}
if (len === 2) {
return console.log(`%c${prefix} ${args[0]} ${args[1]}`, "color:#eaa10f");
}
console.log(`[hel-mono]`, ...argv);
}
function makeRuntimeUtil(options) {
const { DEV_INFO: DEV_INFO2, APP_GROUP_NAME: APP_GROUP_NAME2, DEPLOY_ENV: DEPLOY_ENV2, isDev, startMode } = options;
const defaultDH = DEV_INFO2.devHostname;
return {
/**
* 获取hel模块依赖,根据不同运行环境拉不同hel模块
*/
getHelDeps() {
const { mods } = DEV_INFO2;
const depPkgNames = Object.keys(mods);
const helDeps = [];
const helModNames = [];
depPkgNames.forEach((pkgName) => {
const mod = mods[pkgName];
if (mod.groupName === APP_GROUP_NAME2) return;
const { names: names2 = {}, groupName: groupName2 = "", platform } = mod;
if (groupName2) {
const helModName = names2[DEPLOY_ENV2] || groupName2;
helModNames.push(helModName);
helDeps.push({ helModName, groupName: groupName2, pkgName, platform });
}
});
return { helModNames, helDeps };
},
getPrefetchParams(helModName, mod) {
const { port = 3e3, devHostname = defaultDH, groupName: groupName2, isNm, platform } = mod;
const confKeys = getHelConfKeys(groupName2);
const devUrl = getStorageValue(confKeys.devUrl);
const params = {
versionId: getStorageValue(confKeys.versionId) || getSpecifiedVer(helModName, platform),
branchId: getStorageValue(confKeys.branchId),
projectId: getStorageValue(confKeys.projectId)
};
if (devUrl) {
monoLog2(`found devUrl ${devUrl} for ${groupName2}`);
return __spreadValues({ enable: true, host: devUrl }, params);
}
const isStartWithRemoteDeps = startMode === START_WITH_REMOTE;
if (!isDev || isStartWithRemoteDeps || isNm) {
if (isNm) {
monoLog2(`found node module ${groupName2} compiled with hel mode to run`);
}
return __spreadValues({ enable: false, host: "" }, params);
}
return __spreadValues({ enable: true, host: `${devHostname}:${port}` }, params);
}
};
}
module.exports = {
setHelModVers,
getHostNode,
HEL_DEV_KEY_PREFIX,
getHelConfKeys,
getStorageValue,
monoLog: monoLog2,
makeRuntimeUtil
};
}
});
// src/.hel/entrance/libTypes.ts
var import_hel_lib_proxy = __toESM(require_hel_lib_proxy());
// src/.hel/configs/subApp.ts
var import_hel_mono_runtime_helper = __toESM(require_src());
// src/.hel/configs/deployEnv.ts
var DEPLOY_ENV = "prod";
// src/.hel/configs/devInfo.ts
var DEV_INFO = {
mods: {
"@hel-demo/mono-libs": {
port: 3101,
groupName: "@hel-demo/mono-libs",
names: {}
}
},
devHostname: "http://localhost"
};
// src/.hel/configs/subApp.ts
var { groupName, names } = DEV_INFO.mods["@hel-demo/mono-libs"];
var APP_GROUP_NAME = groupName;
var APP_NAME = names[DEPLOY_ENV] || groupName;
(0, import_hel_mono_runtime_helper.monoLog)(`deployEnv of ${APP_GROUP_NAME}(${APP_NAME}) is ${DEPLOY_ENV}`);
// src/.hel/entrance/libTypes.ts
var lib = (0, import_hel_lib_proxy.exposeLib)(APP_NAME);
var {
hello,
delay,
helloAsync
} = lib;
var libTypes_default = lib;
})();
/*! Bundled license information:
hel-lib-proxy/dist/hel-lib-proxy.js:
(*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** *)
*/
//# sourceMappingURL=libTypes.global.js.map