@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 4.35 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/libs/formatters/index.ts"],"sourcesContent":["import type { BooleanInt } from \"../db/types.js\";\n\nexport { default as aiUsageFormatter } from \"./ai-usage.js\";\nexport { default as clientIntegrationsFormatter } from \"./client-integrations.js\";\nexport { default as collectionsFormatter } from \"./collections.js\";\nexport { default as documentBricksFormatter } from \"./document-bricks.js\";\nexport { default as documentFieldsFormatter } from \"./document-fields.js\";\nexport { default as documentPublishOperationsFormatter } from \"./document-publish-operations.js\";\nexport { default as documentVersionsFormatter } from \"./document-versions.js\";\nexport { default as documentWorkflowsFormatter } from \"./document-workflows.js\";\nexport { default as documentsFormatter } from \"./documents.js\";\nexport { default as emailsFormatter } from \"./emails.js\";\nexport { default as jobsFormatter } from \"./jobs.js\";\nexport { default as licenseFormatter } from \"./license.js\";\nexport { default as localesFormatter } from \"./locales.js\";\nexport { default as mediaFormatter } from \"./media.js\";\nexport { default as mediaFoldersFormatter } from \"./media-folders.js\";\nexport { default as mediaShareLinksFormatter } from \"./media-share-links.js\";\nexport { default as optionsFormatter } from \"./options.js\";\nexport { default as permissionsFormatter } from \"./permissions.js\";\nexport { default as previewSessionsFormatter } from \"./preview-sessions.js\";\nexport { default as rolesFormatter } from \"./roles.js\";\nexport { default as settingsFormatter } from \"./settings.js\";\nexport { default as userLoginsFormatter } from \"./user-logins.js\";\nexport { default as userPermissionsFormatter } from \"./user-permissions.js\";\n// formatters\nexport { default as usersFormatter } from \"./users.js\";\n\nconst formatDate = (date: Date | string | null | undefined): string | null => {\n\tif (typeof date === \"string\") {\n\t\treturn date;\n\t}\n\treturn date ? date.toISOString() : null;\n};\n\nconst parseJSON = <T>(json: string | null | undefined): T | null => {\n\tif (typeof json === \"object\") return json;\n\tif (!json) return null;\n\ttry {\n\t\treturn JSON.parse(json);\n\t} catch (_error) {\n\t\treturn null;\n\t}\n};\n\nconst stringifyJSON = (json: Record<string, unknown> | null): string | null => {\n\ttry {\n\t\tif (!json) return null;\n\t\treturn JSON.stringify(json);\n\t} catch (_error) {\n\t\treturn null;\n\t}\n};\n\nconst parseCount = (count: string | number | undefined) => {\n\tif (typeof count === \"number\") return count;\n\treturn Number.parseInt(count || \"0\", 10) || 0;\n};\n\n/** Used to normalize user input date to a ISO string */\nconst normalizeDate = (date: Date | string | null | undefined) => {\n\tif (date === null) return null;\n\tif (date === undefined) return undefined;\n\n\tconst dateObject = typeof date === \"string\" ? new Date(date) : date;\n\n\tif (Number.isNaN(dateObject.getTime())) {\n\t\treturn null;\n\t}\n\n\treturn dateObject.toISOString();\n};\n\n/**\n * Handles formatting a BooleanInt response from the DB to a boolean\n */\nfunction formatBoolean(bool: BooleanInt): boolean;\nfunction formatBoolean(bool: BooleanInt | null | undefined): boolean | null;\nfunction formatBoolean(bool: BooleanInt | null | undefined): boolean | null {\n\tif (bool === null || bool === undefined) return null;\n\tif (typeof bool === \"boolean\") return bool;\n\treturn bool === 1;\n}\n\nexport default {\n\tformatDate,\n\tparseJSON,\n\tstringifyJSON,\n\tparseCount,\n\tnormalizeDate,\n\tformatBoolean,\n};\n"],"mappings":"qyBA4BA,MAAM,EAAc,GACf,OAAO,GAAS,SACZ,EAED,EAAO,EAAK,YAAY,EAAI,KAG9B,EAAgB,GAA8C,CACnE,GAAI,OAAO,GAAS,SAAU,OAAO,EACrC,GAAI,CAAC,EAAM,OAAO,KAClB,GAAI,CACH,OAAO,KAAK,MAAM,CAAI,CACvB,MAAiB,CAChB,OAAO,IACR,CACD,EAEM,EAAiB,GAAwD,CAC9E,GAAI,CAEH,OADK,EACE,KAAK,UAAU,CAAI,EADR,IAEnB,MAAiB,CAChB,OAAO,IACR,CACD,EAEM,EAAc,GACf,OAAO,GAAU,SAAiB,EAC/B,OAAO,SAAS,GAAS,IAAK,EAAE,GAAK,EAIvC,EAAiB,GAA2C,CACjE,GAAI,IAAS,KAAM,OAAO,KAC1B,GAAI,IAAS,IAAA,GAAW,OAExB,IAAM,EAAa,OAAO,GAAS,SAAW,IAAI,KAAK,CAAI,EAAI,EAM/D,OAJI,OAAO,MAAM,EAAW,QAAQ,CAAC,EAC7B,KAGD,EAAW,YAAY,CAC/B,EAOA,SAAS,EAAc,EAAqD,CAG3E,OAFI,GAAS,KAAmC,KAC5C,OAAO,GAAS,UAAkB,EAC/B,IAAS,CACjB,CAEA,IAAA,EAAe,CACd,aACA,YACA,gBACA,aACA,gBACA,eACD"}