mirror of
https://github.com/quartz-community/utils.git
synced 2026-07-22 02:50:27 +00:00
fix: safely handle undefined getDate in byDateAndAlphabetical
This commit is contained in:
parent
fbc9d6e9cb
commit
cf1450b6f7
5 changed files with 20 additions and 20 deletions
12
dist/index.js
vendored
12
dist/index.js
vendored
|
|
@ -394,13 +394,13 @@ function getDate(data) {
|
|||
}
|
||||
function byDateAndAlphabetical() {
|
||||
return (f1, f2) => {
|
||||
const f1Dates = f1.dates;
|
||||
const f2Dates = f2.dates;
|
||||
if (f1Dates && f2Dates) {
|
||||
return getDate(f2).getTime() - getDate(f1).getTime();
|
||||
} else if (f1Dates && !f2Dates) {
|
||||
const f1Date = getDate(f1);
|
||||
const f2Date = getDate(f2);
|
||||
if (f1Date && f2Date) {
|
||||
return f2Date.getTime() - f1Date.getTime();
|
||||
} else if (f1Date && !f2Date) {
|
||||
return -1;
|
||||
} else if (!f1Dates && f2Dates) {
|
||||
} else if (!f1Date && f2Date) {
|
||||
return 1;
|
||||
}
|
||||
const f1Title = (f1.frontmatter?.title ?? "").toLowerCase();
|
||||
|
|
|
|||
2
dist/index.js.map
vendored
2
dist/index.js.map
vendored
File diff suppressed because one or more lines are too long
12
dist/sort.js
vendored
12
dist/sort.js
vendored
|
|
@ -9,13 +9,13 @@ function getDate(data) {
|
|||
}
|
||||
function byDateAndAlphabetical() {
|
||||
return (f1, f2) => {
|
||||
const f1Dates = f1.dates;
|
||||
const f2Dates = f2.dates;
|
||||
if (f1Dates && f2Dates) {
|
||||
return getDate(f2).getTime() - getDate(f1).getTime();
|
||||
} else if (f1Dates && !f2Dates) {
|
||||
const f1Date = getDate(f1);
|
||||
const f2Date = getDate(f2);
|
||||
if (f1Date && f2Date) {
|
||||
return f2Date.getTime() - f1Date.getTime();
|
||||
} else if (f1Date && !f2Date) {
|
||||
return -1;
|
||||
} else if (!f1Dates && f2Dates) {
|
||||
} else if (!f1Date && f2Date) {
|
||||
return 1;
|
||||
}
|
||||
const f1Title = (f1.frontmatter?.title ?? "").toLowerCase();
|
||||
|
|
|
|||
2
dist/sort.js.map
vendored
2
dist/sort.js.map
vendored
|
|
@ -1 +1 @@
|
|||
{"version":3,"sources":["../src/sort.ts"],"names":[],"mappings":";AAEO,SAAS,QAAQ,IAAA,EAA0C;AAChE,EAAA,MAAM,kBAAkB,IAAA,CAAK,eAAA;AAC7B,EAAA,IAAI,CAAC,eAAA,EAAiB;AACpB,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,MAAM,QAAQ,IAAA,CAAK,KAAA;AACnB,EAAA,OAAO,QAAQ,eAAe,CAAA;AAChC;AAEO,SAAS,qBAAA,GAAgC;AAC9C,EAAA,OAAO,CAAC,IAAI,EAAA,KAAO;AACjB,IAAA,MAAM,UAAU,EAAA,CAAG,KAAA;AACnB,IAAA,MAAM,UAAU,EAAA,CAAG,KAAA;AACnB,IAAA,IAAI,WAAW,OAAA,EAAS;AACtB,MAAA,OAAO,OAAA,CAAQ,EAAE,CAAA,CAAG,OAAA,KAAY,OAAA,CAAQ,EAAE,EAAG,OAAA,EAAQ;AAAA,IACvD,CAAA,MAAA,IAAW,OAAA,IAAW,CAAC,OAAA,EAAS;AAC9B,MAAA,OAAO,EAAA;AAAA,IACT,CAAA,MAAA,IAAW,CAAC,OAAA,IAAW,OAAA,EAAS;AAC9B,MAAA,OAAO,CAAA;AAAA,IACT;AAEA,IAAA,MAAM,OAAA,GAAA,CACF,EAAA,CAAG,WAAA,EAAyC,KAAA,IAAoB,IAClE,WAAA,EAAY;AACd,IAAA,MAAM,OAAA,GAAA,CACF,EAAA,CAAG,WAAA,EAAyC,KAAA,IAAoB,IAClE,WAAA,EAAY;AACd,IAAA,OAAO,OAAA,CAAQ,cAAc,OAAO,CAAA;AAAA,EACtC,CAAA;AACF","file":"sort.js","sourcesContent":["import type { QuartzPluginData, ValidDateType, SortFn } from \"@quartz-community/types\";\n\nexport function getDate(data: QuartzPluginData): Date | undefined {\n const defaultDateType = data.defaultDateType as ValidDateType | undefined;\n if (!defaultDateType) {\n return undefined;\n }\n const dates = data.dates as Record<ValidDateType, Date> | undefined;\n return dates?.[defaultDateType];\n}\n\nexport function byDateAndAlphabetical(): SortFn {\n return (f1, f2) => {\n const f1Dates = f1.dates as Record<string, Date> | undefined;\n const f2Dates = f2.dates as Record<string, Date> | undefined;\n if (f1Dates && f2Dates) {\n return getDate(f2)!.getTime() - getDate(f1)!.getTime();\n } else if (f1Dates && !f2Dates) {\n return -1;\n } else if (!f1Dates && f2Dates) {\n return 1;\n }\n\n const f1Title = (\n ((f1.frontmatter as Record<string, unknown>)?.title as string) ?? \"\"\n ).toLowerCase();\n const f2Title = (\n ((f2.frontmatter as Record<string, unknown>)?.title as string) ?? \"\"\n ).toLowerCase();\n return f1Title.localeCompare(f2Title);\n };\n}\n"]}
|
||||
{"version":3,"sources":["../src/sort.ts"],"names":[],"mappings":";AAEO,SAAS,QAAQ,IAAA,EAA0C;AAChE,EAAA,MAAM,kBAAkB,IAAA,CAAK,eAAA;AAC7B,EAAA,IAAI,CAAC,eAAA,EAAiB;AACpB,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,MAAM,QAAQ,IAAA,CAAK,KAAA;AACnB,EAAA,OAAO,QAAQ,eAAe,CAAA;AAChC;AAEO,SAAS,qBAAA,GAAgC;AAC9C,EAAA,OAAO,CAAC,IAAI,EAAA,KAAO;AACjB,IAAA,MAAM,MAAA,GAAS,QAAQ,EAAE,CAAA;AACzB,IAAA,MAAM,MAAA,GAAS,QAAQ,EAAE,CAAA;AACzB,IAAA,IAAI,UAAU,MAAA,EAAQ;AACpB,MAAA,OAAO,MAAA,CAAO,OAAA,EAAQ,GAAI,MAAA,CAAO,OAAA,EAAQ;AAAA,IAC3C,CAAA,MAAA,IAAW,MAAA,IAAU,CAAC,MAAA,EAAQ;AAC5B,MAAA,OAAO,EAAA;AAAA,IACT,CAAA,MAAA,IAAW,CAAC,MAAA,IAAU,MAAA,EAAQ;AAC5B,MAAA,OAAO,CAAA;AAAA,IACT;AAEA,IAAA,MAAM,OAAA,GAAA,CACF,EAAA,CAAG,WAAA,EAAyC,KAAA,IAAoB,IAClE,WAAA,EAAY;AACd,IAAA,MAAM,OAAA,GAAA,CACF,EAAA,CAAG,WAAA,EAAyC,KAAA,IAAoB,IAClE,WAAA,EAAY;AACd,IAAA,OAAO,OAAA,CAAQ,cAAc,OAAO,CAAA;AAAA,EACtC,CAAA;AACF","file":"sort.js","sourcesContent":["import type { QuartzPluginData, ValidDateType, SortFn } from \"@quartz-community/types\";\n\nexport function getDate(data: QuartzPluginData): Date | undefined {\n const defaultDateType = data.defaultDateType as ValidDateType | undefined;\n if (!defaultDateType) {\n return undefined;\n }\n const dates = data.dates as Record<ValidDateType, Date> | undefined;\n return dates?.[defaultDateType];\n}\n\nexport function byDateAndAlphabetical(): SortFn {\n return (f1, f2) => {\n const f1Date = getDate(f1);\n const f2Date = getDate(f2);\n if (f1Date && f2Date) {\n return f2Date.getTime() - f1Date.getTime();\n } else if (f1Date && !f2Date) {\n return -1;\n } else if (!f1Date && f2Date) {\n return 1;\n }\n\n const f1Title = (\n ((f1.frontmatter as Record<string, unknown>)?.title as string) ?? \"\"\n ).toLowerCase();\n const f2Title = (\n ((f2.frontmatter as Record<string, unknown>)?.title as string) ?? \"\"\n ).toLowerCase();\n return f1Title.localeCompare(f2Title);\n };\n}\n"]}
|
||||
12
src/sort.ts
12
src/sort.ts
|
|
@ -11,13 +11,13 @@ export function getDate(data: QuartzPluginData): Date | undefined {
|
|||
|
||||
export function byDateAndAlphabetical(): SortFn {
|
||||
return (f1, f2) => {
|
||||
const f1Dates = f1.dates as Record<string, Date> | undefined;
|
||||
const f2Dates = f2.dates as Record<string, Date> | undefined;
|
||||
if (f1Dates && f2Dates) {
|
||||
return getDate(f2)!.getTime() - getDate(f1)!.getTime();
|
||||
} else if (f1Dates && !f2Dates) {
|
||||
const f1Date = getDate(f1);
|
||||
const f2Date = getDate(f2);
|
||||
if (f1Date && f2Date) {
|
||||
return f2Date.getTime() - f1Date.getTime();
|
||||
} else if (f1Date && !f2Date) {
|
||||
return -1;
|
||||
} else if (!f1Dates && f2Dates) {
|
||||
} else if (!f1Date && f2Date) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue