lcd-i18n-core 9.2.9 → 9.2.11-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/storage.d.ts +4 -0
- package/lib/storage.d.ts.map +1 -1
- package/lib/storage.js +15 -5
- package/lib/storage.js.map +1 -1
- package/package.json +2 -2
- package/src/storage.ts +22 -9
package/lib/storage.d.ts
CHANGED
|
@@ -30,6 +30,8 @@ export interface ConfigurationBBLOptions {
|
|
|
30
30
|
initialTransData?: {
|
|
31
31
|
[name: string]: any;
|
|
32
32
|
};
|
|
33
|
+
/** 对初始化错误进行拦截 */
|
|
34
|
+
onError?: (error: Error) => void;
|
|
33
35
|
}
|
|
34
36
|
/** 默认存储键的前缀 */
|
|
35
37
|
export declare const DEFAULT_STORAGE_KEY = "@@SESSION/TRANSLATIONS";
|
|
@@ -39,6 +41,7 @@ export interface FetchBBLDictionaryRequest {
|
|
|
39
41
|
npid: number;
|
|
40
42
|
url?: string;
|
|
41
43
|
callback: (data: PlainObject) => void;
|
|
44
|
+
onError?: (error: Error) => void;
|
|
42
45
|
}
|
|
43
46
|
export interface PersistBBLDomain {
|
|
44
47
|
transData: PlainObject | null | undefined;
|
|
@@ -55,6 +58,7 @@ export interface SynchronizeRequest {
|
|
|
55
58
|
url: string;
|
|
56
59
|
persistBBL: (data: PlainObject) => Promise<void>;
|
|
57
60
|
callback?: (domainData: PlainObject) => void;
|
|
61
|
+
onError?: (error: Error) => void;
|
|
58
62
|
}
|
|
59
63
|
export interface CreateCloudSettingOptions {
|
|
60
64
|
projectName: string;
|
package/lib/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,GAAG;IAChC,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY;IACZ,gBAAgB,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,GAAG;IAChC,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY;IACZ,gBAAgB,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC3C,iBAAiB;IACjB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AACD,eAAe;AACf,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAC5D,aAAa;AACb,eAAO,MAAM,eAAe,QAAS,CAAC;AAEtC,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAyBD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAiBD,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AA4CD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,SAAS,CAAC,EAAE,MAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,gBAAgB,OAsDxF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB;iBAiD3C,GAAG,EAAE;mBAIR,MAAM,eAGF,GAAG,EAAE;0CApBkC,WAAW,KAAK,IAAI;;EAyBjF;AACD,eAAO,MAAM,UAAU,YAAY,MAAM,gBAGxC,CAAC"}
|
package/lib/storage.js
CHANGED
|
@@ -52,6 +52,13 @@ function _fetchBBLDictionary() {
|
|
|
52
52
|
}).then(x => x.text()).then(x => {
|
|
53
53
|
var sum = new Function(`${x}`);
|
|
54
54
|
sum();
|
|
55
|
+
}).catch(error => {
|
|
56
|
+
if (request.onError) {
|
|
57
|
+
var _request$onError;
|
|
58
|
+
(_request$onError = request.onError) === null || _request$onError === void 0 ? void 0 : _request$onError.call(request, error);
|
|
59
|
+
} else {
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
55
62
|
});
|
|
56
63
|
case 3:
|
|
57
64
|
case "end":
|
|
@@ -66,11 +73,11 @@ function synchronizeBBL(_x2) {
|
|
|
66
73
|
}
|
|
67
74
|
function _synchronizeBBL() {
|
|
68
75
|
_synchronizeBBL = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(request) {
|
|
69
|
-
var npid, url, persistBBL, ms, _callback;
|
|
76
|
+
var npid, url, persistBBL, ms, _callback, onError;
|
|
70
77
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
71
78
|
while (1) switch (_context4.prev = _context4.next) {
|
|
72
79
|
case 0:
|
|
73
|
-
npid = request.npid, url = request.url, persistBBL = request.persistBBL, ms = request.ms, _callback = request.callback;
|
|
80
|
+
npid = request.npid, url = request.url, persistBBL = request.persistBBL, ms = request.ms, _callback = request.callback, onError = request.onError;
|
|
74
81
|
fetchBBLDictionary({
|
|
75
82
|
npid,
|
|
76
83
|
url,
|
|
@@ -81,7 +88,8 @@ function _synchronizeBBL() {
|
|
|
81
88
|
_callback === null || _callback === void 0 ? void 0 : _callback({
|
|
82
89
|
transData: data
|
|
83
90
|
});
|
|
84
|
-
}
|
|
91
|
+
},
|
|
92
|
+
onError
|
|
85
93
|
});
|
|
86
94
|
setTimeout(() => synchronizeBBL(request), ms);
|
|
87
95
|
case 3:
|
|
@@ -205,7 +213,8 @@ export function configurationBBL(options) {
|
|
|
205
213
|
loc = options.locale,
|
|
206
214
|
fallback = options.fallback,
|
|
207
215
|
projectName = options.projectName,
|
|
208
|
-
initialTransData = options.initialTransData
|
|
216
|
+
initialTransData = options.initialTransData,
|
|
217
|
+
onError = options.onError;
|
|
209
218
|
if (!npid) {
|
|
210
219
|
throw new Error('i18n: 缺少npid!');
|
|
211
220
|
}
|
|
@@ -261,7 +270,8 @@ export function configurationBBL(options) {
|
|
|
261
270
|
persistBBL,
|
|
262
271
|
npid,
|
|
263
272
|
url,
|
|
264
|
-
callback
|
|
273
|
+
callback,
|
|
274
|
+
onError
|
|
265
275
|
});
|
|
266
276
|
case 1:
|
|
267
277
|
case "end":
|
package/lib/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","names":["_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","undefined","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","_catch","thrown","delegateYield","_toArray","arr","_arrayWithHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","Array","from","test","len","arr2","isArray","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","apply","_objectSpread","target","arguments","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","format","debounce","localforage","React","config","driver","WEBSQL","LOCALSTORAGE","storeName","translateStorage","enableMissingReport","enableUsedReport","cloudSetting","missingSet","Set","usedMap","Map","DEFAULT_STORAGE_KEY","DEFAULT_LOOP_MS","fetchBBLDictionary","_x","_fetchBBLDictionary","_callee3","request","_request$url","npid","_callee3$","_context3","window","callback","fetch","url","mode","credentials","x","text","sum","Function","synchronizeBBL","_x2","_synchronizeBBL","_callee4","persistBBL","ms","_callback","_callee4$","_context4","data","transData","setTimeout","createCloudSetting","options","projectName","createFetcher","headers","body","JSON","stringify","appKey","selfUpdate","uid","category","missingFetch","usedFetch","sendMissing","clear","sendUsed","map","qty","String","transformLocale","locale","translate","_ref","_translateStorage$per","_ref$uniqId","uniqId","$locale","peristKey","toUpperCase","fallback","_keys$map","isValidElement","_keys$map2","template","_params","textMeta","_cloudSetting","_cloudSetting$sendMis","add","localeText","_cloudSetting2","_cloudSetting2$sendUs","nid","has","get","set","id","configurationBBL","_options$enableMissin","_options$enableUsedRe","_options$uniqId","seconds","initialTransData","_x3","_persistBBL","_callee2","domainData","_callee2$","_context2","setItem","getItem","synchronize","_ref2","_callee","_callee$","_context","_x4","getDictionary","_translateStorage$per2","t","_len","_key","getT","_len2","_key2","getStorage"],"sources":["../storage.ts"],"sourcesContent":["import { format } from './string-format';\nimport debounce from 'lodash.debounce';\nimport localforage from 'localforage';\nimport React from 'react';\n\nlocalforage.config({\n driver: [localforage.WEBSQL, localforage.LOCALSTORAGE],\n name: 'rrcTranslation',\n storeName: 'rrcTranslationStore',\n});\n\nconst translateStorage: TranslateStorage = {};\n\nlet enableMissingReport = true;\nlet enableUsedReport = false;\n\nlet cloudSetting;\n\n/** 缺失词条存储 */\nconst missingSet = new Set();\n/** 已使用词条存储 */\nconst usedMap = new Map();\n\nexport interface Ref<T extends any> {\n current: T;\n}\n\nexport interface PlainObject {\n [name: string]: any;\n}\n\nexport interface TranslateStorage {\n [name: string]: PlainObject;\n}\n\nexport interface ConfigurationBBLOptions {\n /** 本地化语种 */\n locale?: string;\n /** 没有找到对应翻译信息的情况下采用的语种 */\n fallback?: string;\n /** 系统标识 */\n npid: number;\n /** bbl数据词典请求地址 */\n url?: string;\n /** 支持多词典策略 */\n uniqId?: string;\n /** 系统名称 */\n projectName: string;\n /** 轮询时间间隔,秒为单位 */\n seconds?: number;\n /** 是否开启字条缺失上报功能 */\n enableMissingReport?: boolean;\n /** 是否开启字条是否已使用功能 */\n enableUsedReport?: boolean;\n /** 初始化词条 */\n initialTransData?: { [name: string]: any };\n}\n/** 默认存储键的前缀 */\nexport const DEFAULT_STORAGE_KEY = '@@SESSION/TRANSLATIONS';\n/** 默认轮询间隔 */\nexport const DEFAULT_LOOP_MS = 5 * 60;\n\nexport interface FetchBBLDictionaryRequest {\n npid: number;\n url?: string;\n callback: (data: PlainObject) => void;\n}\n\nasync function fetchBBLDictionary(request: FetchBBLDictionaryRequest) {\n const { npid } = request;\n window['i18n_callback'] = request.callback;\n // 内网地址 : 'https://bbl.biz.sheincorp.cn/api/translation'}?npid=${npid}&callback=i18n_callback`\n fetch(`${request.url ?? 'https://cloud-now.sheincorp.cn/trans/api/translation'}?npid=${npid}&callback=i18n_callback`, {\n method: 'GET',\n mode: 'cors',\n credentials: 'omit',\n })\n .then(x => x.text())\n .then(x => {\n const sum = new Function(`${x}`);\n sum();\n });\n}\n\nexport interface PersistBBLDomain {\n transData: PlainObject | null | undefined;\n locale: string;\n fallback: string;\n projectName: string;\n}\n\nexport interface PersistBBLRequest {\n domainData: PlainObject;\n}\n\nexport interface SynchronizeRequest {\n ms: number;\n npid: number;\n url: string;\n persistBBL: (data: PlainObject) => Promise<void>;\n callback?: (domainData: PlainObject) => void;\n}\n\nasync function synchronizeBBL(request: SynchronizeRequest) {\n const { npid, url, persistBBL, ms, callback } = request;\n\n fetchBBLDictionary({\n npid,\n url,\n callback: data => {\n persistBBL({ transData: data });\n callback?.({ transData: data });\n },\n });\n setTimeout(() => synchronizeBBL(request), ms);\n}\n\nexport interface CreateCloudSettingOptions {\n projectName: string;\n}\n\n/** 创建于云配置交互的对象 */\nfunction createCloudSetting(options: CreateCloudSettingOptions) {\n const { projectName } = options;\n function createFetcher(key: 'used' | 'warn') {\n return <T>(value: T) =>\n fetch(`https://cloud-now.sheincorp.cn/api/options`, {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify({\n appKey: 'e72abef04a9d3cf488ce0156',\n selfUpdate: true,\n uid: 'lcd',\n category: `i18n-${key}-key__${projectName}`,\n key: `i18n-${key}-key__${projectName}`,\n value: value,\n }),\n });\n }\n\n const missingFetch = createFetcher('warn');\n const usedFetch = createFetcher('used');\n\n const sendMissing = debounce((value: Set<any>) => {\n missingFetch(Array.from(value));\n value.clear();\n }, 5000);\n\n const sendUsed = debounce((value: Map<number, { id: number; qty: number }>) => {\n usedFetch(Array.from(value.values()).map(x => ({ ...x, qty: String(x.qty) })));\n value.clear();\n }, 5000);\n\n return {\n sendMissing,\n sendUsed,\n };\n}\n\nfunction transformLocale(locale) {\n return locale === 'EN' ? 'US' : locale;\n}\n\nexport interface TranslateOptions {\n uniqId?: string;\n keys: any[];\n locale?: string;\n}\n\nexport function translate({ uniqId = 'default', keys, locale: $locale }: TranslateOptions) {\n const peristKey = `${DEFAULT_STORAGE_KEY}/${uniqId.toUpperCase()}`;\n\n const data = translateStorage[peristKey] ?? {};\n\n const { transData, locale, fallback } = data;\n const [template, ..._params] = keys?.map(x => {\n if (React.isValidElement(x)) {\n return x;\n }\n return String(x);\n });\n\n /** 模板异常,直接返回空字符串 */\n if (!template) {\n return '';\n }\n\n /** 词典不存在,直接返回模板 */\n if (!transData) {\n return format(template, _params);\n }\n /** 词条元数据不存在,直接返回模板 */\n const textMeta = transData[template as never];\n\n if (!textMeta) {\n /** 缺失词条 */\n if (enableMissingReport) {\n missingSet.add(template);\n cloudSetting?.sendMissing?.(missingSet);\n }\n /** 缺失词条 */\n return format(template, _params);\n }\n\n const localeText = textMeta[$locale ?? locale] || textMeta[fallback];\n /** 如果对应的语种不存在,并且降级语种也不存在,那么直接返回模板 */\n if (!localeText) {\n return format(template, _params);\n }\n\n /** 词条使用量统计 */\n if (enableUsedReport) {\n const nid = textMeta.nid;\n if (usedMap.has(nid)) {\n usedMap.get(nid).qty += 1;\n } else {\n usedMap.set(nid, { id: nid, qty: 1 });\n }\n cloudSetting?.sendUsed?.(usedMap);\n }\n /** 词条使用量统计 */\n\n return format(localeText, _params);\n}\n\nexport function configurationBBL(options: ConfigurationBBLOptions) {\n const { npid, url, seconds, locale: loc, fallback, projectName, initialTransData } = options;\n if (!npid) {\n throw new Error('i18n: 缺少npid!');\n }\n\n enableMissingReport = options?.enableMissingReport ?? true;\n enableUsedReport = options?.enableUsedReport ?? false;\n const locale = transformLocale(loc);\n const peristKey = `${DEFAULT_STORAGE_KEY}/${(options.uniqId ?? 'default').toUpperCase()}`;\n translateStorage[peristKey] = {\n fallback,\n locale,\n projectName,\n transData: initialTransData,\n };\n cloudSetting = createCloudSetting({\n projectName: projectName,\n });\n\n /** 持久化bbl */\n async function persistBBL(domainData: PlainObject) {\n const data = {\n locale,\n fallback,\n projectName,\n ...domainData,\n };\n translateStorage[peristKey] = data;\n localforage.setItem(peristKey, data);\n }\n\n localforage.getItem(peristKey).then(x => {\n translateStorage[peristKey] = x;\n });\n\n const synchronize = async function(callback?: (domainData: PlainObject) => void) {\n synchronizeBBL({\n ms: (seconds ?? DEFAULT_LOOP_MS) * 1000,\n persistBBL,\n npid,\n url,\n callback,\n });\n };\n\n const getDictionary = () => translateStorage[peristKey]?.['transData'];\n\n const t = (...keys: any[]) => translate({ uniqId: options.uniqId, keys });\n\n return {\n t,\n getT: (locale: string) => {\n translateStorage[peristKey] && (translateStorage[peristKey].locale = locale);\n\n return (...keys: any[]) => translate({ uniqId: options.uniqId, keys, locale });\n },\n synchronize,\n getDictionary,\n };\n}\nexport const getStorage = (uniqId: string = 'default') => {\n const peristKey = `${DEFAULT_STORAGE_KEY}/${uniqId.toUpperCase()}`;\n return translateStorage[peristKey];\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage.js","names":["_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","undefined","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","_catch","thrown","delegateYield","_toArray","arr","_arrayWithHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","Array","from","test","len","arr2","isArray","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","apply","_objectSpread","target","arguments","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","format","debounce","localforage","React","config","driver","WEBSQL","LOCALSTORAGE","storeName","translateStorage","enableMissingReport","enableUsedReport","cloudSetting","missingSet","Set","usedMap","Map","DEFAULT_STORAGE_KEY","DEFAULT_LOOP_MS","fetchBBLDictionary","_x","_fetchBBLDictionary","_callee3","request","_request$url","npid","_callee3$","_context3","window","callback","fetch","url","mode","credentials","x","text","sum","Function","onError","_request$onError","synchronizeBBL","_x2","_synchronizeBBL","_callee4","persistBBL","ms","_callback","_callee4$","_context4","data","transData","setTimeout","createCloudSetting","options","projectName","createFetcher","headers","body","JSON","stringify","appKey","selfUpdate","uid","category","missingFetch","usedFetch","sendMissing","clear","sendUsed","map","qty","String","transformLocale","locale","translate","_ref","_translateStorage$per","_ref$uniqId","uniqId","$locale","peristKey","toUpperCase","fallback","_keys$map","isValidElement","_keys$map2","template","_params","textMeta","_cloudSetting","_cloudSetting$sendMis","add","localeText","_cloudSetting2","_cloudSetting2$sendUs","nid","has","get","set","id","configurationBBL","_options$enableMissin","_options$enableUsedRe","_options$uniqId","seconds","initialTransData","_x3","_persistBBL","_callee2","domainData","_callee2$","_context2","setItem","getItem","synchronize","_ref2","_callee","_callee$","_context","_x4","getDictionary","_translateStorage$per2","t","_len","_key","getT","_len2","_key2","getStorage"],"sources":["../storage.ts"],"sourcesContent":["import { format } from './string-format';\nimport debounce from 'lodash.debounce';\nimport localforage from 'localforage';\nimport React from 'react';\n\nlocalforage.config({\n driver: [localforage.WEBSQL, localforage.LOCALSTORAGE],\n name: 'rrcTranslation',\n storeName: 'rrcTranslationStore',\n});\n\nconst translateStorage: TranslateStorage = {};\n\nlet enableMissingReport = true;\nlet enableUsedReport = false;\n\nlet cloudSetting;\n\n/** 缺失词条存储 */\nconst missingSet = new Set();\n/** 已使用词条存储 */\nconst usedMap = new Map();\n\nexport interface Ref<T extends any> {\n current: T;\n}\n\nexport interface PlainObject {\n [name: string]: any;\n}\n\nexport interface TranslateStorage {\n [name: string]: PlainObject;\n}\n\nexport interface ConfigurationBBLOptions {\n /** 本地化语种 */\n locale?: string;\n /** 没有找到对应翻译信息的情况下采用的语种 */\n fallback?: string;\n /** 系统标识 */\n npid: number;\n /** bbl数据词典请求地址 */\n url?: string;\n /** 支持多词典策略 */\n uniqId?: string;\n /** 系统名称 */\n projectName: string;\n /** 轮询时间间隔,秒为单位 */\n seconds?: number;\n /** 是否开启字条缺失上报功能 */\n enableMissingReport?: boolean;\n /** 是否开启字条是否已使用功能 */\n enableUsedReport?: boolean;\n /** 初始化词条 */\n initialTransData?: { [name: string]: any };\n /** 对初始化错误进行拦截 */\n onError?: (error: Error) => void;\n}\n/** 默认存储键的前缀 */\nexport const DEFAULT_STORAGE_KEY = '@@SESSION/TRANSLATIONS';\n/** 默认轮询间隔 */\nexport const DEFAULT_LOOP_MS = 5 * 60;\n\nexport interface FetchBBLDictionaryRequest {\n npid: number;\n url?: string;\n callback: (data: PlainObject) => void;\n onError?: (error: Error) => void;\n}\n\nasync function fetchBBLDictionary(request: FetchBBLDictionaryRequest) {\n const { npid } = request;\n window['i18n_callback'] = request.callback;\n // 内网地址 : 'https://bbl.biz.sheincorp.cn/api/translation'}?npid=${npid}&callback=i18n_callback`\n fetch(`${request.url ?? 'https://cloud-now.sheincorp.cn/trans/api/translation'}?npid=${npid}&callback=i18n_callback`, {\n method: 'GET',\n mode: 'cors',\n credentials: 'omit',\n })\n .then((x) => x.text())\n .then((x) => {\n const sum = new Function(`${x}`);\n sum();\n })\n .catch((error) => {\n if (request.onError) {\n request.onError?.(error);\n } else {\n throw error;\n }\n });\n}\n\nexport interface PersistBBLDomain {\n transData: PlainObject | null | undefined;\n locale: string;\n fallback: string;\n projectName: string;\n}\n\nexport interface PersistBBLRequest {\n domainData: PlainObject;\n}\n\nexport interface SynchronizeRequest {\n ms: number;\n npid: number;\n url: string;\n persistBBL: (data: PlainObject) => Promise<void>;\n callback?: (domainData: PlainObject) => void;\n onError?: (error: Error) => void;\n}\n\nasync function synchronizeBBL(request: SynchronizeRequest) {\n const { npid, url, persistBBL, ms, callback, onError } = request;\n\n fetchBBLDictionary({\n npid,\n url,\n callback: (data) => {\n persistBBL({ transData: data });\n callback?.({ transData: data });\n },\n onError,\n });\n setTimeout(() => synchronizeBBL(request), ms);\n}\n\nexport interface CreateCloudSettingOptions {\n projectName: string;\n}\n\n/** 创建于云配置交互的对象 */\nfunction createCloudSetting(options: CreateCloudSettingOptions) {\n const { projectName } = options;\n function createFetcher(key: 'used' | 'warn') {\n return <T>(value: T) =>\n fetch(`https://cloud-now.sheincorp.cn/api/options`, {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify({\n appKey: 'e72abef04a9d3cf488ce0156',\n selfUpdate: true,\n uid: 'lcd',\n category: `i18n-${key}-key__${projectName}`,\n key: `i18n-${key}-key__${projectName}`,\n value: value,\n }),\n });\n }\n\n const missingFetch = createFetcher('warn');\n const usedFetch = createFetcher('used');\n\n const sendMissing = debounce((value: Set<any>) => {\n missingFetch(Array.from(value));\n value.clear();\n }, 5000);\n\n const sendUsed = debounce((value: Map<number, { id: number; qty: number }>) => {\n usedFetch(Array.from(value.values()).map((x) => ({ ...x, qty: String(x.qty) })));\n value.clear();\n }, 5000);\n\n return {\n sendMissing,\n sendUsed,\n };\n}\n\nfunction transformLocale(locale) {\n return locale === 'EN' ? 'US' : locale;\n}\n\nexport interface TranslateOptions {\n uniqId?: string;\n keys: any[];\n locale?: string;\n}\n\nexport function translate({ uniqId = 'default', keys, locale: $locale }: TranslateOptions) {\n const peristKey = `${DEFAULT_STORAGE_KEY}/${uniqId.toUpperCase()}`;\n\n const data = translateStorage[peristKey] ?? {};\n\n const { transData, locale, fallback } = data;\n const [template, ..._params] = keys?.map((x) => {\n if (React.isValidElement(x)) {\n return x;\n }\n return String(x);\n });\n\n /** 模板异常,直接返回空字符串 */\n if (!template) {\n return '';\n }\n\n /** 词典不存在,直接返回模板 */\n if (!transData) {\n return format(template, _params);\n }\n /** 词条元数据不存在,直接返回模板 */\n const textMeta = transData[template as never];\n\n if (!textMeta) {\n /** 缺失词条 */\n if (enableMissingReport) {\n missingSet.add(template);\n cloudSetting?.sendMissing?.(missingSet);\n }\n /** 缺失词条 */\n return format(template, _params);\n }\n\n const localeText = textMeta[$locale ?? locale] || textMeta[fallback];\n /** 如果对应的语种不存在,并且降级语种也不存在,那么直接返回模板 */\n if (!localeText) {\n return format(template, _params);\n }\n\n /** 词条使用量统计 */\n if (enableUsedReport) {\n const nid = textMeta.nid;\n if (usedMap.has(nid)) {\n usedMap.get(nid).qty += 1;\n } else {\n usedMap.set(nid, { id: nid, qty: 1 });\n }\n cloudSetting?.sendUsed?.(usedMap);\n }\n /** 词条使用量统计 */\n\n return format(localeText, _params);\n}\n\nexport function configurationBBL(options: ConfigurationBBLOptions) {\n const { npid, url, seconds, locale: loc, fallback, projectName, initialTransData, onError } = options;\n if (!npid) {\n throw new Error('i18n: 缺少npid!');\n }\n\n enableMissingReport = options?.enableMissingReport ?? true;\n enableUsedReport = options?.enableUsedReport ?? false;\n const locale = transformLocale(loc);\n const peristKey = `${DEFAULT_STORAGE_KEY}/${(options.uniqId ?? 'default').toUpperCase()}`;\n translateStorage[peristKey] = {\n fallback,\n locale,\n projectName,\n transData: initialTransData,\n };\n cloudSetting = createCloudSetting({\n projectName: projectName,\n });\n\n /** 持久化bbl */\n async function persistBBL(domainData: PlainObject) {\n const data = {\n locale,\n fallback,\n projectName,\n ...domainData,\n };\n translateStorage[peristKey] = data;\n localforage.setItem(peristKey, data);\n }\n\n localforage.getItem(peristKey).then((x) => {\n translateStorage[peristKey] = x;\n });\n\n const synchronize = async function (callback?: (domainData: PlainObject) => void) {\n synchronizeBBL({\n ms: (seconds ?? DEFAULT_LOOP_MS) * 1000,\n persistBBL,\n npid,\n url,\n callback,\n onError,\n });\n };\n\n const getDictionary = () => translateStorage[peristKey]?.['transData'];\n\n const t = (...keys: any[]) => translate({ uniqId: options.uniqId, keys });\n\n return {\n t,\n getT: (locale: string) => {\n translateStorage[peristKey] && (translateStorage[peristKey].locale = locale);\n\n return (...keys: any[]) => translate({ uniqId: options.uniqId, keys, locale });\n },\n synchronize,\n getDictionary,\n };\n}\nexport const getStorage = (uniqId: string = 'default') => {\n const peristKey = `${DEFAULT_STORAGE_KEY}/${uniqId.toUpperCase()}`;\n return translateStorage[peristKey];\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lcd-i18n-core",
|
|
3
|
-
"version": "9.2.
|
|
3
|
+
"version": "9.2.11-alpha.0",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"author": "10015448 <519495771@qq.com>",
|
|
6
6
|
"homepage": "",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"localforage": "^1.9.0",
|
|
22
22
|
"lodash.debounce": "^4.0.8",
|
|
23
23
|
"query-string": "^6.13.8",
|
|
24
|
-
"@vve/create-react-context": "9.2.
|
|
24
|
+
"@vve/create-react-context": "9.2.11-alpha.0"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
27
|
"react": ">=15",
|
package/src/storage.ts
CHANGED
|
@@ -54,6 +54,8 @@ export interface ConfigurationBBLOptions {
|
|
|
54
54
|
enableUsedReport?: boolean;
|
|
55
55
|
/** 初始化词条 */
|
|
56
56
|
initialTransData?: { [name: string]: any };
|
|
57
|
+
/** 对初始化错误进行拦截 */
|
|
58
|
+
onError?: (error: Error) => void;
|
|
57
59
|
}
|
|
58
60
|
/** 默认存储键的前缀 */
|
|
59
61
|
export const DEFAULT_STORAGE_KEY = '@@SESSION/TRANSLATIONS';
|
|
@@ -64,6 +66,7 @@ export interface FetchBBLDictionaryRequest {
|
|
|
64
66
|
npid: number;
|
|
65
67
|
url?: string;
|
|
66
68
|
callback: (data: PlainObject) => void;
|
|
69
|
+
onError?: (error: Error) => void;
|
|
67
70
|
}
|
|
68
71
|
|
|
69
72
|
async function fetchBBLDictionary(request: FetchBBLDictionaryRequest) {
|
|
@@ -75,10 +78,17 @@ async function fetchBBLDictionary(request: FetchBBLDictionaryRequest) {
|
|
|
75
78
|
mode: 'cors',
|
|
76
79
|
credentials: 'omit',
|
|
77
80
|
})
|
|
78
|
-
.then(x => x.text())
|
|
79
|
-
.then(x => {
|
|
81
|
+
.then((x) => x.text())
|
|
82
|
+
.then((x) => {
|
|
80
83
|
const sum = new Function(`${x}`);
|
|
81
84
|
sum();
|
|
85
|
+
})
|
|
86
|
+
.catch((error) => {
|
|
87
|
+
if (request.onError) {
|
|
88
|
+
request.onError?.(error);
|
|
89
|
+
} else {
|
|
90
|
+
throw error;
|
|
91
|
+
}
|
|
82
92
|
});
|
|
83
93
|
}
|
|
84
94
|
|
|
@@ -99,18 +109,20 @@ export interface SynchronizeRequest {
|
|
|
99
109
|
url: string;
|
|
100
110
|
persistBBL: (data: PlainObject) => Promise<void>;
|
|
101
111
|
callback?: (domainData: PlainObject) => void;
|
|
112
|
+
onError?: (error: Error) => void;
|
|
102
113
|
}
|
|
103
114
|
|
|
104
115
|
async function synchronizeBBL(request: SynchronizeRequest) {
|
|
105
|
-
const { npid, url, persistBBL, ms, callback } = request;
|
|
116
|
+
const { npid, url, persistBBL, ms, callback, onError } = request;
|
|
106
117
|
|
|
107
118
|
fetchBBLDictionary({
|
|
108
119
|
npid,
|
|
109
120
|
url,
|
|
110
|
-
callback: data => {
|
|
121
|
+
callback: (data) => {
|
|
111
122
|
persistBBL({ transData: data });
|
|
112
123
|
callback?.({ transData: data });
|
|
113
124
|
},
|
|
125
|
+
onError,
|
|
114
126
|
});
|
|
115
127
|
setTimeout(() => synchronizeBBL(request), ms);
|
|
116
128
|
}
|
|
@@ -147,7 +159,7 @@ function createCloudSetting(options: CreateCloudSettingOptions) {
|
|
|
147
159
|
}, 5000);
|
|
148
160
|
|
|
149
161
|
const sendUsed = debounce((value: Map<number, { id: number; qty: number }>) => {
|
|
150
|
-
usedFetch(Array.from(value.values()).map(x => ({ ...x, qty: String(x.qty) })));
|
|
162
|
+
usedFetch(Array.from(value.values()).map((x) => ({ ...x, qty: String(x.qty) })));
|
|
151
163
|
value.clear();
|
|
152
164
|
}, 5000);
|
|
153
165
|
|
|
@@ -173,7 +185,7 @@ export function translate({ uniqId = 'default', keys, locale: $locale }: Transla
|
|
|
173
185
|
const data = translateStorage[peristKey] ?? {};
|
|
174
186
|
|
|
175
187
|
const { transData, locale, fallback } = data;
|
|
176
|
-
const [template, ..._params] = keys?.map(x => {
|
|
188
|
+
const [template, ..._params] = keys?.map((x) => {
|
|
177
189
|
if (React.isValidElement(x)) {
|
|
178
190
|
return x;
|
|
179
191
|
}
|
|
@@ -224,7 +236,7 @@ export function translate({ uniqId = 'default', keys, locale: $locale }: Transla
|
|
|
224
236
|
}
|
|
225
237
|
|
|
226
238
|
export function configurationBBL(options: ConfigurationBBLOptions) {
|
|
227
|
-
const { npid, url, seconds, locale: loc, fallback, projectName, initialTransData } = options;
|
|
239
|
+
const { npid, url, seconds, locale: loc, fallback, projectName, initialTransData, onError } = options;
|
|
228
240
|
if (!npid) {
|
|
229
241
|
throw new Error('i18n: 缺少npid!');
|
|
230
242
|
}
|
|
@@ -255,17 +267,18 @@ export function configurationBBL(options: ConfigurationBBLOptions) {
|
|
|
255
267
|
localforage.setItem(peristKey, data);
|
|
256
268
|
}
|
|
257
269
|
|
|
258
|
-
localforage.getItem(peristKey).then(x => {
|
|
270
|
+
localforage.getItem(peristKey).then((x) => {
|
|
259
271
|
translateStorage[peristKey] = x;
|
|
260
272
|
});
|
|
261
273
|
|
|
262
|
-
const synchronize = async function(callback?: (domainData: PlainObject) => void) {
|
|
274
|
+
const synchronize = async function (callback?: (domainData: PlainObject) => void) {
|
|
263
275
|
synchronizeBBL({
|
|
264
276
|
ms: (seconds ?? DEFAULT_LOOP_MS) * 1000,
|
|
265
277
|
persistBBL,
|
|
266
278
|
npid,
|
|
267
279
|
url,
|
|
268
280
|
callback,
|
|
281
|
+
onError,
|
|
269
282
|
});
|
|
270
283
|
};
|
|
271
284
|
|