UNPKG

@bracketed/logger

Version:

An alternative to your run-of-the-mill node console logging functions!

1 lines 21.2 kB
{"version":3,"sources":["../../../src/Timestamper/Timestamp.ts"],"names":["tokenResolvers","Map","time","String","getFullYear","slice","getMonth","padStart","months","getDate","Math","floor","getTime","Date","Time","Day","day","endsWith","days","getDay","valueOf","Second","getHours","getMinutes","getSeconds","getMilliseconds","getTimezoneOffset","unsigned","offset","absolute","abs","Timestamp","pattern","template","parse","display","displayUTC","utc","edit","toString","displayUTCArbitrary","resolveDate","parsedTime","content","type","output","get","i","length","currentChar","tokenMax","tokens","current","push","has"],"mappings":"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","file":"Timestamp.cjs","sourcesContent":["import { days, months, Time, tokens } from './Constants';\n\ninterface TokenResolver {\n\t(time: Date): string;\n}\n\nconst tokenResolvers = new Map<string, TokenResolver>([\n\t// Dates\n\t['Y', (time) => String(time.getFullYear()).slice(2)],\n\t['YY', (time) => String(time.getFullYear()).slice(2)],\n\t['YYY', (time) => String(time.getFullYear())],\n\t['YYYY', (time) => String(time.getFullYear())],\n\t['Q', (time) => String((time.getMonth() + 1) / 3)],\n\t['M', (time) => String(time.getMonth() + 1)],\n\t['MM', (time) => String(time.getMonth() + 1).padStart(2, '0')],\n\t['MMM', (time) => months[time.getMonth()]],\n\t['MMMM', (time) => months[time.getMonth()]],\n\t['D', (time) => String(time.getDate())],\n\t['DD', (time) => String(time.getDate()).padStart(2, '0')],\n\t['DDD', (time) => String(Math.floor((time.getTime() - new Date(time.getFullYear(), 0, 0).getTime()) / Time.Day))],\n\t['DDDD', (time) => String(Math.floor((time.getTime() - new Date(time.getFullYear(), 0, 0).getTime()) / Time.Day))],\n\t[\n\t\t'd',\n\t\t(time) => {\n\t\t\tconst day = String(time.getDate());\n\t\t\tif (day !== '11' && day.endsWith('1')) return `${day}st`;\n\t\t\tif (day !== '12' && day.endsWith('2')) return `${day}nd`;\n\t\t\tif (day !== '13' && day.endsWith('3')) return `${day}rd`;\n\t\t\treturn `${day}th`;\n\t\t},\n\t],\n\t['dd', (time) => days[time.getDay()].slice(0, 2)],\n\t['ddd', (time) => days[time.getDay()].slice(0, 3)],\n\t['dddd', (time) => days[time.getDay()]],\n\t['X', (time) => String(time.valueOf() / Time.Second)],\n\t['x', (time) => String(time.valueOf())],\n\n\t// Locales\n\t['H', (time) => String(time.getHours())],\n\t['HH', (time) => String(time.getHours()).padStart(2, '0')],\n\t['h', (time) => String(time.getHours() % 12 || 12)],\n\t['hh', (time) => String(time.getHours() % 12 || 12).padStart(2, '0')],\n\t['a', (time) => (time.getHours() < 12 ? 'am' : 'pm')],\n\t['A', (time) => (time.getHours() < 12 ? 'AM' : 'PM')],\n\t['m', (time) => String(time.getMinutes())],\n\t['mm', (time) => String(time.getMinutes()).padStart(2, '0')],\n\t['s', (time) => String(time.getSeconds())],\n\t['ss', (time) => String(time.getSeconds()).padStart(2, '0')],\n\t['S', (time) => String(time.getMilliseconds())],\n\t['SS', (time) => String(time.getMilliseconds()).padStart(2, '0')],\n\t['SSS', (time) => String(time.getMilliseconds()).padStart(3, '0')],\n\t[\n\t\t'T',\n\t\t(time) =>\n\t\t\t`${String(time.getHours() % 12 || 12)}:${String(time.getMinutes()).padStart(2, '0')} ${time.getHours() < 12 ? 'AM' : 'PM'}`,\n\t],\n\t[\n\t\t't',\n\t\t(time) =>\n\t\t\t`${String(time.getHours() % 12 || 12)}:${String(time.getMinutes()).padStart(2, '0')}:${String(time.getSeconds()).padStart(2, '0')} ${\n\t\t\t\ttime.getHours() < 12 ? 'am' : 'pm'\n\t\t\t}`,\n\t],\n\t[\n\t\t'L',\n\t\t(time) =>\n\t\t\t`${String(time.getMonth() + 1).padStart(2, '0')}/${String(time.getDate()).padStart(2, '0')}/${String(time.getFullYear())}`,\n\t],\n\t[\n\t\t'l',\n\t\t(time) =>\n\t\t\t`${String(time.getMonth() + 1)}/${String(time.getDate()).padStart(2, '0')}/${String(time.getFullYear())}`,\n\t],\n\t[\n\t\t'LL',\n\t\t(time) =>\n\t\t\t`${months[time.getMonth()]} ${String(time.getDate()).padStart(2, '0')}, ${String(time.getFullYear())}`,\n\t],\n\t[\n\t\t'll',\n\t\t(time) =>\n\t\t\t`${months[time.getMonth()].slice(0, 3)} ${String(time.getDate()).padStart(2, '0')}, ${String(time.getFullYear())}`,\n\t],\n\t[\n\t\t'LLL',\n\t\t(time) =>\n\t\t\t`${months[time.getMonth()]} ${String(time.getDate()).padStart(2, '0')}, ${String(time.getFullYear())} ${String(\n\t\t\t\ttime.getHours() % 12 || 12\n\t\t\t)}:${String(time.getMinutes()).padStart(2, '0')} ${time.getHours() < 12 ? 'AM' : 'PM'}`,\n\t],\n\t[\n\t\t'lll',\n\t\t(time) =>\n\t\t\t`${months[time.getMonth()].slice(0, 3)} ${String(time.getDate()).padStart(2, '0')}, ${String(time.getFullYear())} ${String(\n\t\t\t\ttime.getHours() % 12 || 12\n\t\t\t)}:${String(time.getMinutes()).padStart(2, '0')} ${time.getHours() < 12 ? 'AM' : 'PM'}`,\n\t],\n\t[\n\t\t'LLLL',\n\t\t(time) =>\n\t\t\t`${days[time.getDay()]}, ${months[time.getMonth()]} ${String(time.getDate()).padStart(2, '0')}, ${String(time.getFullYear())} ${String(\n\t\t\t\ttime.getHours() % 12 || 12\n\t\t\t)}:${String(time.getMinutes()).padStart(2, '0')} ${time.getHours() < 12 ? 'AM' : 'PM'}`,\n\t],\n\t[\n\t\t'llll',\n\t\t(time) =>\n\t\t\t`${days[time.getDay()].slice(0, 3)} ${months[time.getMonth()].slice(0, 3)} ${String(time.getDate()).padStart(2, '0')}, ${String(\n\t\t\t\ttime.getFullYear()\n\t\t\t)} ${String(time.getHours() % 12 || 12)}:${String(time.getMinutes()).padStart(2, '0')} ${time.getHours() < 12 ? 'AM' : 'PM'}`,\n\t],\n\t[\n\t\t'Z',\n\t\t(time) => {\n\t\t\tconst offset = time.getTimezoneOffset();\n\t\t\tconst unsigned = offset >= 0;\n\t\t\tconst absolute = Math.abs(offset);\n\t\t\t/* istanbul ignore next: whether it's signed or unsigned, depends on where the machine is, I cannot control this. */\n\t\t\treturn `${unsigned ? '+' : '-'}${String(Math.floor(absolute / 60)).padStart(2, '0')}:${String(absolute % 60).padStart(2, '0')}`;\n\t\t},\n\t],\n\t[\n\t\t'ZZ',\n\t\t(time) => {\n\t\t\tconst offset = time.getTimezoneOffset();\n\t\t\tconst unsigned = offset >= 0;\n\t\t\tconst absolute = Math.abs(offset);\n\t\t\t/* istanbul ignore next: whether it's signed or unsigned, depends on where the machine is, I cannot control this. */\n\t\t\treturn `${unsigned ? '+' : '-'}${String(Math.floor(absolute / 60)).padStart(2, '0')}:${String(absolute % 60).padStart(2, '0')}`;\n\t\t},\n\t],\n]);\n/* eslint-enable max-len */\n\nexport type TimeResolvable = Date | number | string;\n\nexport interface TimestampTemplateEntry {\n\ttype: string;\n\tcontent: string | null;\n}\n\n/**\n * Timestamp class, parses the pattern once, displays the desired Date or UNIX timestamp with the selected pattern.\n */\nexport class Timestamp {\n\t/**\n\t * The raw pattern\n\t * @since 1.0.0\n\t */\n\tpublic pattern: string;\n\n\t/**\n\t * @since 1.0.0\n\t */\n\tprivate template: TimestampTemplateEntry[];\n\n\t/**\n\t * Starts a new Timestamp and parses the pattern.\n\t * @since 1.0.0\n\t * @param pattern The pattern to parse\n\t */\n\tpublic constructor(pattern: string) {\n\t\tthis.pattern = pattern;\n\t\tthis.template = Timestamp.parse(pattern);\n\t}\n\n\t/**\n\t * Display the current date with the current pattern.\n\t * @since 1.0.0\n\t * @param time The time to display\n\t */\n\tpublic display(time: TimeResolvable = new Date()): string {\n\t\treturn Timestamp.display(this.template, time);\n\t}\n\n\t/**\n\t * Display the current date utc with the current pattern.\n\t * @since 1.0.0\n\t * @param time The time to display in utc\n\t */\n\tpublic displayUTC(time?: TimeResolvable): string {\n\t\treturn Timestamp.display(this.template, Timestamp.utc(time));\n\t}\n\n\t/**\n\t * Edits the current pattern.\n\t * @since 1.0.0\n\t * @param pattern The new pattern for this instance\n\t * @chainable\n\t */\n\tpublic edit(pattern: string): this {\n\t\tthis.pattern = pattern;\n\t\tthis.template = Timestamp.parse(pattern);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Defines the toString behavior of Timestamp.\n\t */\n\tpublic toString(): string {\n\t\treturn this.display();\n\t}\n\n\t/**\n\t * Display the current date with the current pattern.\n\t * @since 1.0.0\n\t * @param pattern The pattern to parse\n\t * @param time The time to display\n\t */\n\tpublic static displayArbitrary(pattern: string, time: TimeResolvable = new Date()): string {\n\t\treturn Timestamp.display(Timestamp.parse(pattern), time);\n\t}\n\n\t/**\n\t * Display the current date utc with the current pattern.\n\t * @since 1.0.0\n\t * @param pattern The pattern to parse\n\t * @param time The time to display\n\t */\n\tpublic static displayUTCArbitrary(pattern: string, time: TimeResolvable = new Date()): string {\n\t\treturn Timestamp.display(Timestamp.parse(pattern), Timestamp.utc(time));\n\t}\n\n\t/**\n\t * Creates a UTC Date object to work with.\n\t * @since 1.0.0\n\t * @param time The date to convert to utc\n\t */\n\tpublic static utc(time: Date | number | string = new Date()): Date {\n\t\ttime = Timestamp.resolveDate(time);\n\t\treturn new Date(time.valueOf() + time.getTimezoneOffset() * 60000);\n\t}\n\n\t/**\n\t * Display the current date with the current pattern.\n\t * @since 1.0.0\n\t * @param template The pattern to parse\n\t * @param time The time to display\n\t */\n\tprivate static display(template: TimestampTemplateEntry[], time: Date | number | string): string {\n\t\tlet output = '';\n\t\tconst parsedTime = Timestamp.resolveDate(time);\n\t\tfor (const { content, type } of template) output += content || tokenResolvers.get(type)!(parsedTime);\n\t\treturn output;\n\t}\n\n\t/**\n\t * Parses the pattern.\n\t * @since 1.0.0\n\t * @param pattern The pattern to parse\n\t */\n\tprivate static parse(pattern: string): TimestampTemplateEntry[] {\n\t\tconst template: TimestampTemplateEntry[] = [];\n\t\tfor (let i = 0; i < pattern.length; i++) {\n\t\t\tlet current = '';\n\t\t\tconst currentChar = pattern[i];\n\t\t\tconst tokenMax = tokens.get(currentChar);\n\t\t\tif (typeof tokenMax === 'number') {\n\t\t\t\tcurrent += currentChar;\n\t\t\t\twhile (pattern[i + 1] === currentChar && current.length < tokenMax) current += pattern[++i];\n\t\t\t\ttemplate.push({ type: current, content: null });\n\t\t\t} else if (currentChar === '[') {\n\t\t\t\twhile (i + 1 < pattern.length && pattern[i + 1] !== ']') current += pattern[++i];\n\t\t\t\ti++;\n\t\t\t\ttemplate.push({ type: 'literal', content: current || '[' });\n\t\t\t} else {\n\t\t\t\tcurrent += currentChar;\n\t\t\t\twhile (i + 1 < pattern.length && !tokens.has(pattern[i + 1]) && pattern[i + 1] !== '[')\n\t\t\t\t\tcurrent += pattern[++i];\n\t\t\t\ttemplate.push({ type: 'literal', content: current });\n\t\t\t}\n\t\t}\n\n\t\treturn template;\n\t}\n\n\t/**\n\t * Resolves a date.\n\t * @since 1.0.0\n\t * @param time The time to parse\n\t */\n\tprivate static resolveDate(time: TimeResolvable): Date {\n\t\treturn time instanceof Date ? time : new Date(time);\n\t}\n}\n"]}