czon 0.2.7 → 0.2.9
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/dist/ssg/RootPage.d.ts +6 -0
- package/dist/ssg/RootPage.d.ts.map +1 -0
- package/dist/ssg/RootPage.js +53 -0
- package/dist/ssg/RootPage.js.map +1 -0
- package/dist/ssg/app.d.ts.map +1 -1
- package/dist/ssg/app.js +2 -1
- package/dist/ssg/app.js.map +1 -1
- package/dist/ssg/components/Navigator.d.ts.map +1 -1
- package/dist/ssg/components/Navigator.js +9 -1
- package/dist/ssg/components/Navigator.js.map +1 -1
- package/dist/utils/sortBy.d.ts +8 -0
- package/dist/utils/sortBy.d.ts.map +1 -0
- package/dist/utils/sortBy.js +35 -0
- package/dist/utils/sortBy.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RootPage.d.ts","sourceRoot":"","sources":["../../src/ssg/RootPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK1C,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,CAwDtD,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RootPage = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const languages_1 = require("../languages");
|
|
9
|
+
// /index.html 的根页面
|
|
10
|
+
// 需要实现多语言选择,自动重定向到用户浏览器语言对应的首页
|
|
11
|
+
// 需要对 SEO 友好,提供适当的 meta 标签
|
|
12
|
+
const RootPage = props => {
|
|
13
|
+
const mapUserLangToSupported = {};
|
|
14
|
+
for (const lang of props.ctx.site.options.langs || []) {
|
|
15
|
+
mapUserLangToSupported[lang] = lang;
|
|
16
|
+
const langPrefix = lang.split('-')[0];
|
|
17
|
+
if (!mapUserLangToSupported[langPrefix]) {
|
|
18
|
+
mapUserLangToSupported[langPrefix] = lang;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return (react_1.default.createElement("html", { lang: "en" },
|
|
22
|
+
react_1.default.createElement("head", null,
|
|
23
|
+
react_1.default.createElement("meta", { charSet: "UTF-8" }),
|
|
24
|
+
react_1.default.createElement("meta", { name: "viewport", content: "width=device-width, initial-scale=1.0" }),
|
|
25
|
+
react_1.default.createElement("title", null, "CZON Multilingual Site Navigator"),
|
|
26
|
+
react_1.default.createElement("meta", { name: "description", content: "Select your preferred language to explore our content." }),
|
|
27
|
+
props.ctx.site.options.langs.map(lang => (react_1.default.createElement("link", { rel: "alternate", hrefLang: lang, href: `${lang}/index.html` }))),
|
|
28
|
+
react_1.default.createElement("link", { rel: "alternate", hrefLang: "x-default", href: `${props.ctx.site.options.langs[0]}/index.html` })),
|
|
29
|
+
react_1.default.createElement("body", null,
|
|
30
|
+
react_1.default.createElement("h1", null, "Welcome to CZON Multilingual Site"),
|
|
31
|
+
react_1.default.createElement("p", null, "Please select your preferred language if automatic redirection does not work:"),
|
|
32
|
+
react_1.default.createElement("ul", null, props.ctx.site.options.langs?.map(lang => (react_1.default.createElement("li", { key: lang },
|
|
33
|
+
react_1.default.createElement("a", { href: `/${lang}/index.html` },
|
|
34
|
+
"(",
|
|
35
|
+
languages_1.LANGUAGE_NAMES[lang] || lang,
|
|
36
|
+
")"))))),
|
|
37
|
+
react_1.default.createElement("script", null, `
|
|
38
|
+
// 自动重定向到用户浏览器语言对应的首页
|
|
39
|
+
(function() {
|
|
40
|
+
const mapUserLangToSupported = ${JSON.stringify(mapUserLangToSupported)};
|
|
41
|
+
for (const lang of navigator.languages) {
|
|
42
|
+
if (mapUserLangToSupported[lang]) {
|
|
43
|
+
window.location.href = mapUserLangToSupported[lang] + '/index.html';
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
window.location.href = '${props.ctx.site.options.langs[0]}/index.html'; // 默认语言
|
|
48
|
+
})();
|
|
49
|
+
|
|
50
|
+
`))));
|
|
51
|
+
};
|
|
52
|
+
exports.RootPage = RootPage;
|
|
53
|
+
//# sourceMappingURL=RootPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RootPage.js","sourceRoot":"","sources":["../../src/ssg/RootPage.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4CAA8C;AAG9C,mBAAmB;AACnB,+BAA+B;AAC/B,2BAA2B;AACpB,MAAM,QAAQ,GAAsC,KAAK,CAAC,EAAE;IACjE,MAAM,sBAAsB,GAA2B,EAAE,CAAC;IAE1D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACtD,sBAAsB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,sBAAsB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,CACL,wCAAM,IAAI,EAAC,IAAI;QACb;YACE,wCAAM,OAAO,EAAC,OAAO,GAAG;YACxB,wCAAM,IAAI,EAAC,UAAU,EAAC,OAAO,EAAC,uCAAuC,GAAG;YACxE,gFAA+C;YAC/C,wCAAM,IAAI,EAAC,aAAa,EAAC,OAAO,EAAC,wDAAwD,GAAG;YAC3F,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACzC,wCAAM,GAAG,EAAC,WAAW,EAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,aAAa,GAAI,CACrE,CAAC;YACF,wCACE,GAAG,EAAC,WAAW,EACf,QAAQ,EAAC,WAAW,EACpB,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAM,CAAC,CAAC,CAAC,aAAa,GACtD,CACG;QACP;YACE,8EAA0C;YAC1C,yHAAoF;YACpF,0CACG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACzC,sCAAI,GAAG,EAAE,IAAI;gBACX,qCAAG,IAAI,EAAE,IAAI,IAAI,aAAa;;oBAAI,0BAAc,CAAC,IAAI,CAAC,IAAI,IAAI;wBAAM,CACjE,CACN,CAAC,CACC;YACL,8CACG;;;6CAGkC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;;;;;;;sCAO7C,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAM,CAAC,CAAC,CAAC;;;WAG3D,CACM,CACJ,CACF,CACR,CAAC;AACJ,CAAC,CAAC;AAxDW,QAAA,QAAQ,YAwDnB"}
|
package/dist/ssg/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/ssg/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/ssg/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK1C,eAAO,MAAM,GAAG,GAAI,OAAO,cAAc,sBAkCxC,CAAC"}
|
package/dist/ssg/app.js
CHANGED
|
@@ -7,9 +7,10 @@ exports.App = void 0;
|
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const ContentPage_1 = require("./ContentPage");
|
|
9
9
|
const RedirectPage_1 = require("./RedirectPage");
|
|
10
|
+
const RootPage_1 = require("./RootPage");
|
|
10
11
|
const App = (props) => {
|
|
11
12
|
if (props.path === '/index.html') {
|
|
12
|
-
return react_1.default.createElement(
|
|
13
|
+
return react_1.default.createElement(RootPage_1.RootPage, { ctx: props });
|
|
13
14
|
}
|
|
14
15
|
// 每个语言的首页
|
|
15
16
|
for (const lang of props.site.options.langs || []) {
|
package/dist/ssg/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/ssg/app.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,+CAA4C;AAC5C,iDAA8C;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/ssg/app.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,+CAA4C;AAC5C,iDAA8C;AAC9C,yCAAsC;AAE/B,MAAM,GAAG,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,OAAO,8BAAC,mBAAQ,IAAC,GAAG,EAAE,KAAK,GAAI,CAAC;IAClC,CAAC;IAED,UAAU;IACV,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC/D,OAAO,8BAAC,2BAAY,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI,SAAU,CAAC,QAAS,CAAC,IAAI,OAAO,GAAI,CAAC;YAC5F,kBAAkB;YAClB,WAAW;YACX,UAAU;YACV,sCAAsC;YACtC,wCAAwC;YACxC,0CAA0C;YAC1C,gDAAgD;YAChD,2DAA2D;YAC3D,eAAe;YACf,UAAU;YACV,WAAW;YACX,KAAK;QACP,CAAC;QACD,SAAS;QACT,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,OAAO,EAAE,CAAC;gBAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrF,IAAI,CAAC,UAAU;oBAAE,OAAO,8BAAC,2BAAY,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,aAAa,GAAI,CAAC;gBAC9E,OAAO,8BAAC,yBAAW,IAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,UAAW,GAAI,CAAC;YACnF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,8BAAC,2BAAY,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,aAAa,GAAI,CAAC;AAC/D,CAAC,CAAC;AAlCW,QAAA,GAAG,OAkCd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigator.d.ts","sourceRoot":"","sources":["../../../src/ssg/components/Navigator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Navigator.d.ts","sourceRoot":"","sources":["../../../src/ssg/components/Navigator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,GAAG,EAAE,cAAc,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;CACd,CA6CA,CAAC"}
|
|
@@ -5,11 +5,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Navigator = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const sortBy_1 = require("../../utils/sortBy");
|
|
8
9
|
const Navigator = props => {
|
|
9
10
|
const categories = [...new Set(props.ctx.site.files.map(f => f.category))];
|
|
10
11
|
return (react_1.default.createElement("ul", { className: "nav-list" }, categories.map(category => {
|
|
11
12
|
const categoryKey = category || 'NO_CATEGORY';
|
|
12
|
-
const filesInCategory = props.ctx.site.files.filter(f => f.category === category && f.metadata)
|
|
13
|
+
const filesInCategory = (0, sortBy_1.toSortedBy)(props.ctx.site.files.filter(f => f.category === category && f.metadata), [
|
|
14
|
+
// 无日期的排前面
|
|
15
|
+
[x => (x.metadata?.inferred_date ? 1 : 0), 'asc'],
|
|
16
|
+
// 日期降序
|
|
17
|
+
[x => x.metadata?.inferred_date || '', 'desc'],
|
|
18
|
+
]);
|
|
19
|
+
if (filesInCategory.length === 0)
|
|
20
|
+
return null;
|
|
13
21
|
return (react_1.default.createElement("div", { key: categoryKey },
|
|
14
22
|
react_1.default.createElement("li", { className: "nav-item font-bold", key: categoryKey }, category || '--'),
|
|
15
23
|
filesInCategory.map(file => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../../src/ssg/components/Navigator.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../../src/ssg/components/Navigator.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,+CAAgD;AAEzC,MAAM,SAAS,GAIjB,KAAK,CAAC,EAAE;IACX,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3E,OAAO,CACL,sCAAI,SAAS,EAAC,UAAU,IACrB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACzB,MAAM,WAAW,GAAG,QAAQ,IAAI,aAAa,CAAC;QAC9C,MAAM,eAAe,GAAG,IAAA,mBAAU,EAChC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,EACvE;YACE,UAAU;YACV,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YACjD,OAAO;YACP,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,EAAE,MAAM,CAAC;SAC/C,CACF,CAAC;QAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9C,OAAO,CACL,uCAAK,GAAG,EAAE,WAAW;YACnB,sCAAI,SAAS,EAAC,oBAAoB,EAAC,GAAG,EAAE,WAAW,IAChD,QAAQ,IAAI,IAAI,CACd;YACJ,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAS,CAAC,IAAI,GAAG,OAAO,CAAC;gBAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CACnD,CAAC;gBACF,MAAM,QAAQ,GACZ,UAAU,EAAE,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC,QAAS,CAAC,KAAK,IAAI,YAAY,CAAC;gBAEzE,OAAO,CACL,sCAAI,SAAS,EAAC,UAAU,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI;oBACrC,qCAAG,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,IAC7D,QAAQ,CACP,CACD,CACN,CAAC;YACJ,CAAC,CAAC,CACE,CACP,CAAC;IACJ,CAAC,CAAC,CACC,CACN,CAAC;AACJ,CAAC,CAAC;AAjDW,QAAA,SAAS,aAiDpB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sort an array by multiple key functions.
|
|
3
|
+
* @param arr - The array to sort.
|
|
4
|
+
* @param keyFns - An array of functions to extract the sort keys.
|
|
5
|
+
* @returns - The sorted array (new array).
|
|
6
|
+
*/
|
|
7
|
+
export declare const toSortedBy: <T>(arr: T[], keyFns: Array<[func: (item: T) => any, order: "asc" | "desc"]>) => T[];
|
|
8
|
+
//# sourceMappingURL=sortBy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortBy.d.ts","sourceRoot":"","sources":["../../src/utils/sortBy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAC1B,KAAK,CAAC,EAAE,EACR,QAAQ,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,KAC7D,CAAC,EAsBH,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toSortedBy = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Sort an array by multiple key functions.
|
|
6
|
+
* @param arr - The array to sort.
|
|
7
|
+
* @param keyFns - An array of functions to extract the sort keys.
|
|
8
|
+
* @returns - The sorted array (new array).
|
|
9
|
+
*/
|
|
10
|
+
const toSortedBy = (arr, keyFns) => {
|
|
11
|
+
return arr
|
|
12
|
+
.map(item => ({ item, keys: keyFns.map(([fn]) => fn(item)) }))
|
|
13
|
+
.sort((a, b) => {
|
|
14
|
+
for (let i = 0; i < a.keys.length; i++) {
|
|
15
|
+
const order = keyFns[i][1];
|
|
16
|
+
const vA = a.keys[i];
|
|
17
|
+
const vB = b.keys[i];
|
|
18
|
+
if (vA !== vB) {
|
|
19
|
+
if (typeof vA === 'number' && typeof vB === 'number') {
|
|
20
|
+
return order === 'asc' ? vA - vB : vB - vA;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
// some of the values are strings
|
|
24
|
+
return order === 'asc'
|
|
25
|
+
? String(vA).localeCompare(String(vB))
|
|
26
|
+
: String(vB).localeCompare(String(vA));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return 0;
|
|
31
|
+
})
|
|
32
|
+
.map(({ item }) => item);
|
|
33
|
+
};
|
|
34
|
+
exports.toSortedBy = toSortedBy;
|
|
35
|
+
//# sourceMappingURL=sortBy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortBy.js","sourceRoot":"","sources":["../../src/utils/sortBy.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACI,MAAM,UAAU,GAAG,CACxB,GAAQ,EACR,MAA8D,EACzD,EAAE;IACP,OAAO,GAAG;SACP,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;SAC7D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACd,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;oBACrD,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,iCAAiC;oBACjC,OAAO,KAAK,KAAK,KAAK;wBACpB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACtC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAC;AAzBW,QAAA,UAAU,cAyBrB"}
|