From 6499f7a2706269075e9a4eda6ad32f8c8ed9f55a Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Thu, 27 Feb 2025 17:11:47 +0100 Subject: [PATCH] Support empty {{ date }} --- packages/string-templates/scripts/gen-collection-info.ts | 2 +- packages/string-templates/src/helpers/date.ts | 6 ++++-- packages/string-templates/src/manifest.json | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/string-templates/scripts/gen-collection-info.ts b/packages/string-templates/scripts/gen-collection-info.ts index f34d54b2e1..d231908a05 100644 --- a/packages/string-templates/scripts/gen-collection-info.ts +++ b/packages/string-templates/scripts/gen-collection-info.ts @@ -33,7 +33,7 @@ const outputJSON: Manifest = {} const ADDED_HELPERS = { date: { date: { - args: ["datetime", "format", "[options]"], + args: ["[datetime]", "[format]", "[options]"], example: '{{date now "DD-MM-YYYY" "America/New_York" }} -> 21-01-2021', description: "Format a date using moment.js date formatting - the timezone is optional and uses the tz database.", diff --git a/packages/string-templates/src/helpers/date.ts b/packages/string-templates/src/helpers/date.ts index 589cb3d978..8b52fb61e2 100644 --- a/packages/string-templates/src/helpers/date.ts +++ b/packages/string-templates/src/helpers/date.ts @@ -71,7 +71,7 @@ function getContext(thisArg: any, locals: any, options: any) { function initialConfig(str: any, pattern: any, options?: any) { if (isOptions(pattern)) { options = pattern - pattern = null + pattern = DEFAULT_FORMAT } if (isOptions(str)) { @@ -93,13 +93,15 @@ function setLocale(this: any, str: any, pattern: any, options?: any) { dayjs.locale(opts.lang || opts.language) } +const DEFAULT_FORMAT = "MMMM DD, YYYY" + export const date = (str: any, pattern: any, options: any) => { const config = initialConfig(str, pattern, options) // if no args are passed, return a formatted date if (config.str == null && config.pattern == null) { dayjs.locale("en") - return dayjs().format("MMMM DD, YYYY") + return dayjs().format(DEFAULT_FORMAT) } setLocale(config.str, config.pattern, config.options) diff --git a/packages/string-templates/src/manifest.json b/packages/string-templates/src/manifest.json index 931700bf1d..e399dbff94 100644 --- a/packages/string-templates/src/manifest.json +++ b/packages/string-templates/src/manifest.json @@ -1208,8 +1208,8 @@ "date": { "date": { "args": [ - "datetime", - "format", + "[datetime]", + "[format]", "[options]" ], "example": "{{date now \"DD-MM-YYYY\" \"America/New_York\" }} -> 21-01-2021",