UNPKG

@z2cf2e/diamond

Version:

diamond

374 lines (364 loc) 17.3 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var get = require('lodash.get'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var get__default = /*#__PURE__*/_interopDefaultLegacy(get); function __awaiter(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()); }); } function __generator(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 }; } } var name = "@z2cf2e/diamond"; var version = "1.1.74"; var settings = { globalProperty: '_conf', globalThis: window, CNDs: { unpkgV: "https://unpkg.com/".concat(name, "@").concat(version, "/index.min.js"), unpkg: "https://unpkg.com/".concat(name, "/index.min.js"), oss: 'https://jkqj-assets-beijing.oss-cn-beijing.aliyuncs.com/diamond/diamond.min.js', }, jsonBaseUr: { unpkgV: function (ver) { if (ver === void 0) { ver = version; } return "https://unpkg.com/".concat(name, "@").concat(ver, "/public"); }, jsdelivrV: function (ver) { if (ver === void 0) { ver = version; } return "https://cdn.jsdelivr.net/npm/".concat(name, "@").concat(ver, "/public"); }, unpkg: "https://unpkg.com/".concat(name, "/public"), jsdelivr: "https://cdn.jsdelivr.net/npm/".concat(name, "/public"), oss: 'https://jkqj-assets-beijing.oss-cn-beijing.aliyuncs.com/diamond', }, }; function loadExternalJsFile(CDNUrl, name) { return new Promise(function (resolve, reject) { // @ts-ignore if (name && settings.globalThis[name]) { resolve(name); return; } var dom = document.createElement('script'); dom.src = CDNUrl; dom.type = 'text/javascript'; dom.onload = function () { resolve(name); }; dom.onerror = function () { reject(); }; document.head.appendChild(dom); setTimeout(function () { if (name && !settings.globalThis[name]) { reject(); } }, 3000); }); } var DiamondClient = /** @class */ (function () { function DiamondClient() { } DiamondClient.init = function (url, refresh, name) { var _this = this; if (refresh === void 0) { refresh = true; } if (name === void 0) { name = settings.globalProperty; } if (this.ready) { return; } this.globalProperty = name; var CDNUrl = refresh ? "".concat(url || settings.CNDs.unpkg, "?").concat(Date.now()) : url || settings.CNDs.unpkg; var done = function () { _this.ready = true; }; var loadOSSJsFile = function () { return loadExternalJsFile(settings.CNDs.oss, name).then(done); }; return loadExternalJsFile(CDNUrl, name).then(done).catch(loadOSSJsFile); }; DiamondClient.get = function (path, defaultValue) { // @ts-ignore return get__default["default"](settings.globalThis[this.globalProperty], path, defaultValue); }; DiamondClient.checkVersion = function (version) { return version && typeof version === 'string' && version.includes('.'); }; DiamondClient.getJSON = function (pathName, version) { return __awaiter(this, void 0, void 0, function () { var getFromOSS, getFromUnpkg_1, getFromJsdelivr_1, content_1, getFromUnpkg, getFromJsdelivr, content; var _this = this; return __generator(this, function (_c) { switch (_c.label) { case 0: getFromOSS = function () { return __awaiter(_this, void 0, void 0, function () { var url, rs; return __generator(this, function (_a) { switch (_a.label) { case 0: url = "".concat(settings.jsonBaseUr.oss, "/").concat(pathName, ".json"); return [4 /*yield*/, fetch(url)]; case 1: rs = _a.sent(); return [4 /*yield*/, rs.json()]; case 2: return [2 /*return*/, (_a.sent())]; } }); }); }; if (!this.checkVersion(version)) return [3 /*break*/, 10]; getFromUnpkg_1 = function () { var url = "".concat(settings.jsonBaseUr.unpkgV(version), "/").concat(pathName, ".json"); return new Promise(function (resolve, reject) { fetch(url) .then(function (rs) { return resolve(rs.json()); }) .catch(reject); setTimeout(reject, 3000); }); }; getFromJsdelivr_1 = function () { var url = "".concat(settings.jsonBaseUr.jsdelivrV(version), "/").concat(pathName, ".json"); return new Promise(function (resolve, reject) { fetch(url) .then(function (rs) { return resolve(rs.json()); }) .catch(reject); setTimeout(reject, 3000); }); }; content_1 = void 0; _c.label = 1; case 1: _c.trys.push([1, 3, , 9]); return [4 /*yield*/, getFromOSS()]; case 2: content_1 = _c.sent(); return [3 /*break*/, 9]; case 3: _c.sent(); _c.label = 4; case 4: _c.trys.push([4, 6, , 8]); return [4 /*yield*/, getFromUnpkg_1()]; case 5: content_1 = _c.sent(); return [3 /*break*/, 8]; case 6: _c.sent(); return [4 /*yield*/, getFromJsdelivr_1()]; case 7: content_1 = _c.sent(); return [3 /*break*/, 8]; case 8: return [3 /*break*/, 9]; case 9: return [2 /*return*/, content_1]; case 10: getFromUnpkg = function () { var url = "".concat(settings.jsonBaseUr.unpkg, "/").concat(pathName, ".json"); return new Promise(function (resolve, reject) { fetch(url) .then(function (rs) { return resolve(rs.json()); }) .catch(reject); setTimeout(reject, 3000); }); }; getFromJsdelivr = function () { var url = "".concat(settings.jsonBaseUr.jsdelivr, "/").concat(pathName, ".json"); return new Promise(function (resolve, reject) { fetch(url) .then(function (rs) { return resolve(rs.json()); }) .catch(reject); setTimeout(reject, 3000); }); }; content = void 0; _c.label = 11; case 11: _c.trys.push([11, 13, , 19]); return [4 /*yield*/, getFromOSS()]; case 12: content = _c.sent(); return [3 /*break*/, 19]; case 13: _c.sent(); _c.label = 14; case 14: _c.trys.push([14, 16, , 18]); return [4 /*yield*/, getFromUnpkg()]; case 15: content = _c.sent(); return [3 /*break*/, 18]; case 16: _c.sent(); return [4 /*yield*/, getFromJsdelivr()]; case 17: content = _c.sent(); return [3 /*break*/, 18]; case 18: return [3 /*break*/, 19]; case 19: return [2 /*return*/, content]; } }); }); }; DiamondClient.getLocales = function (version) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.getJSON('locales/locales', version)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; DiamondClient.getLanguage = function (lang, version) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.getJSON("locales/langs/".concat(lang, "/index"), version)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; DiamondClient.getLanguageCommon = function (lang, version) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.getJSON("locales/langs/".concat(lang, "/common"), version)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; DiamondClient.getScript = function (pathName, name, version) { return __awaiter(this, void 0, void 0, function () { var getFromUnpkg_2, getFromJsdelivr_2, getFromUnpkg, getFromJsdelivr, getFromOSS; return __generator(this, function (_a) { switch (_a.label) { case 0: if (!this.checkVersion(version)) return [3 /*break*/, 6]; getFromUnpkg_2 = function () { var url = "".concat(settings.jsonBaseUr.unpkgV(version), "/").concat(pathName, ".js"); return loadExternalJsFile(url, name); }; getFromJsdelivr_2 = function () { var url = "".concat(settings.jsonBaseUr.jsdelivrV(version), "/").concat(pathName, ".js"); return loadExternalJsFile(url, name); }; _a.label = 1; case 1: _a.trys.push([1, 3, , 5]); return [4 /*yield*/, getFromUnpkg_2()]; case 2: _a.sent(); return [3 /*break*/, 5]; case 3: _a.sent(); return [4 /*yield*/, getFromJsdelivr_2()]; case 4: _a.sent(); return [3 /*break*/, 5]; case 5: return [2 /*return*/]; case 6: getFromUnpkg = function () { var url = "".concat(settings.jsonBaseUr.unpkg, "/").concat(pathName, ".js"); return loadExternalJsFile(url, name); }; getFromJsdelivr = function () { var url = "".concat(settings.jsonBaseUr.jsdelivr, "/").concat(pathName, ".js"); return loadExternalJsFile(url, name); }; getFromOSS = function () { var url = "".concat(settings.jsonBaseUr.oss, "/").concat(pathName, ".js"); return loadExternalJsFile(url, name); }; _a.label = 7; case 7: _a.trys.push([7, 9, , 15]); return [4 /*yield*/, getFromUnpkg()]; case 8: _a.sent(); return [3 /*break*/, 15]; case 9: _a.sent(); _a.label = 10; case 10: _a.trys.push([10, 12, , 14]); return [4 /*yield*/, getFromJsdelivr()]; case 11: _a.sent(); return [3 /*break*/, 14]; case 12: _a.sent(); return [4 /*yield*/, getFromOSS()]; case 13: _a.sent(); return [3 /*break*/, 14]; case 14: return [3 /*break*/, 15]; case 15: return [2 /*return*/]; } }); }); }; DiamondClient.getLocalesScript = function (version) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.getScript('locales/locales.min', 'locales', version)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; DiamondClient.getLanguageScript = function (lang, version) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.getScript("locales/langs/".concat(lang, "/index"), 'lang', version)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; DiamondClient.ready = false; DiamondClient.globalProperty = settings.globalProperty; return DiamondClient; }()); var supportLanguages = { 'zh-cn': '中文 (简体中文)', 'en-gb': 'English (UK)', 'en-us': 'English (US)', 'sv-se': 'Svenska (SE)', 'pt-br': 'Português (BR)', 'es-es': 'Español (ES)', }; exports.DiamondClient = DiamondClient; exports["default"] = DiamondClient; exports.loadExternalJsFile = loadExternalJsFile; exports.supportLanguages = supportLanguages; exports.version = version;