UNPKG

@etsoo/appscript

Version:

Applications shared TypeScript framework

52 lines (51 loc) 1.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Culture = void 0; const shared_1 = require("@etsoo/shared"); /** * Culture namespace */ var Culture; (function (Culture) { /** * Make culture * @param cultureMaker Culture maker * @param resources Resources * @returns Culture */ function make(cultureMaker, ...resources) { return cultureMaker(async () => { const rs = await Promise.all(resources.map((resource) => new Promise((resolve) => { if (typeof resource === "object") { resolve(resource); } else { resource().then((result) => resolve(result)); } }))); return rs.reduce((prev, curr) => ({ ...prev, ...curr })); }); } Culture.make = make; /** * Get en neutral culture * @param localResources Local resources * @returns Full culture */ Culture.en = (...resources) => make(shared_1.DomUtils.en, import("./en.json"), ...resources); /** * Get zh-Hans neutral cultrue * @param localResources Local resources * @returns Full culture */ Culture.zhHans = (...resources) => make(shared_1.DomUtils.zhHans, import("./zh-Hans.json"), ...resources); /** * Get zh-Hant neutral cultrue * @param localResources Local resources * @returns Full culture */ Culture.zhHant = (...resources) => make(shared_1.DomUtils.zhHant, import("./zh-Hant.json"), ...resources); })(Culture || (exports.Culture = Culture = {}));