dbweb-common
Version:
用`yarn add dbweb-common`安装,不要忘记修改`angular.json`里的 `architect\build\options\assets`,加上
58 lines • 4.41 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as pinyin_ from 'pinyin';
/** @type {?} */
const pinyin = pinyin_;
/**
* @param {?} v
* @return {?}
*/
export function map2WithLetter(v) {
/** @type {?} */
const mapList = new Map();
v.forEach((/**
* @param {?} vv
* @return {?}
*/
vv => {
/** @type {?} */
let headerLetter;
// 增加对英文字段的支持
if (vv.match('^[a-zA-Z].*')) {
headerLetter = vv[0].toUpperCase();
}
else {
headerLetter = pinyin(vv, { style: pinyin.STYLE_FIRST_LETTER }).map((/**
* @param {?} s
* @return {?}
*/
s => s[0]))[0];
}
if (mapList.has(headerLetter)) {
mapList.get(headerLetter).push(vv);
}
else {
mapList.set(headerLetter, [vv]);
}
}));
// 排序
/** @type {?} */
const rev = (/** @type {?} */ ([]));
mapList.forEach((/**
* @param {?} columns
* @param {?} letter
* @return {?}
*/
(columns, letter) => {
rev.push((/** @type {?} */ ({ Letter: letter, Columns: columns })));
}));
return rev.sort((/**
* @param {?} a
* @param {?} b
* @return {?}
*/
(a, b) => a.Letter.localeCompare(b.Letter)));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwbGV0dGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZGJ3ZWItY29tbW9uLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2VsZXZpZXcvbWFwbGV0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQzs7TUFDNUIsTUFBTSxHQUFHLE9BQU87Ozs7O0FBQ3RCLE1BQU0sVUFBVSxjQUFjLENBQUMsQ0FBVzs7VUFDbkMsT0FBTyxHQUFHLElBQUksR0FBRyxFQUFvQjtJQUMzQyxDQUFDLENBQUMsT0FBTzs7OztJQUFDLEVBQUUsQ0FBQyxFQUFFOztZQUNWLFlBQW9CO1FBQ3hCLGFBQWE7UUFDYixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDNUIsWUFBWSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNuQzthQUFNO1lBQ04sWUFBWSxHQUFHLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxHQUFHOzs7O1lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsRjtRQUNELElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUM5QixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0YsQ0FBQyxFQUFDLENBQUM7OztVQUdHLEdBQUcsR0FBRyxtQkFBQSxFQUFFLEVBQXVCO0lBQ3JDLE9BQU8sQ0FBQyxPQUFPOzs7OztJQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ25DLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQUEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBcUIsQ0FBQyxDQUFDO0lBQ3JFLENBQUMsRUFBQyxDQUFDO0lBQ0gsT0FBTyxHQUFHLENBQUMsSUFBSTs7Ozs7SUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDO0FBQzdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2x1bW5zV2l0aExldHRlciB9IGZyb20gJy4vdHlwZXMvbW9kZWwnO1xyXG5pbXBvcnQgKiBhcyBwaW55aW5fIGZyb20gJ3Bpbnlpbic7XHJcbmNvbnN0IHBpbnlpbiA9IHBpbnlpbl87XHJcbmV4cG9ydCBmdW5jdGlvbiBtYXAyV2l0aExldHRlcih2OiBzdHJpbmdbXSkge1xyXG5cdGNvbnN0IG1hcExpc3QgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nW10+KCk7XHJcblx0di5mb3JFYWNoKHZ2ID0+IHtcclxuXHRcdGxldCBoZWFkZXJMZXR0ZXI6IHN0cmluZztcclxuXHRcdC8vIOWinuWKoOWvueiLseaWh+Wtl+auteeahOaUr+aMgVxyXG5cdFx0aWYgKHZ2Lm1hdGNoKCdeW2EtekEtWl0uKicpKSB7XHJcblx0XHRcdGhlYWRlckxldHRlciA9IHZ2WzBdLnRvVXBwZXJDYXNlKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRoZWFkZXJMZXR0ZXIgPSBwaW55aW4odnYsIHsgc3R5bGU6IHBpbnlpbi5TVFlMRV9GSVJTVF9MRVRURVIgfSkubWFwKHMgPT4gc1swXSlbMF07XHJcblx0XHR9XHJcblx0XHRpZiAobWFwTGlzdC5oYXMoaGVhZGVyTGV0dGVyKSkge1xyXG5cdFx0XHRtYXBMaXN0LmdldChoZWFkZXJMZXR0ZXIpLnB1c2godnYpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0bWFwTGlzdC5zZXQoaGVhZGVyTGV0dGVyLCBbdnZdKTtcclxuXHRcdH1cclxuXHR9KTtcclxuXHQvLyDmjpLluo9cclxuXHJcblx0Y29uc3QgcmV2ID0gW10gYXMgQ29sdW1uc1dpdGhMZXR0ZXJbXTtcclxuXHRtYXBMaXN0LmZvckVhY2goKGNvbHVtbnMsIGxldHRlcikgPT4ge1xyXG5cdFx0cmV2LnB1c2goeyBMZXR0ZXI6IGxldHRlciwgQ29sdW1uczogY29sdW1ucyB9IGFzIENvbHVtbnNXaXRoTGV0dGVyKTtcclxuXHR9KTtcclxuXHRyZXR1cm4gcmV2LnNvcnQoKGEsIGIpID0+IGEuTGV0dGVyLmxvY2FsZUNvbXBhcmUoYi5MZXR0ZXIpKTtcclxufVxyXG4iXX0=