@maddimathon/utility-typescript
Version:
TypeScript utilities (types, functions, classes) to use in various projects.
107 lines • 3.29 kB
TypeScript
/**
* @since 0.1.0
*
* @packageDocumentation
*/
/*!
* @maddimathon/utility-typescript@2.0.0-beta
* @license MIT
*/
import type { LangLocaleCode } from '../../types/string-literals/index.js';
/**
* Formats a date in a predictable way.
*
* Meant for human-readable timestamps, not ISO or Unix, etc.
*
* @category Formatters
*
* @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString | Date.toLocaleString()} Used to format the string.
*
* @param date Optional. Date object to format. Defaults to now.
* @param _args Optional.
*
* @return Formatted date string.
*
* @since 0.1.0
*/
export declare function timestamp(date?: Date | null, _args?: timestamp.Args_Input): string;
/**
* Used only for {@link timestamp | timestamp()}.
*
* @since 0.1.0
*/
export declare namespace timestamp {
/**
* Optional configuation for {@link timestamp | timestamp()}.
*
* @since 0.1.0
*/
type Args = {
/**
* Whether to inlude the date in the timestamp.
*
* If both date and time are false, the time will be included anyway.
*
* @default false
*/
date: boolean;
/**
* Outputs some var dumps to the console.
*
* @internal
*
* @default false
*/
debug: boolean;
/**
* Whether to inlude the time in the timestamp.
*
* If both date and time are false, the time will be included anyway.
*
* @default false
*/
time: boolean;
/**
* Formatting options for the date and time portions of the timestamp.
*
* @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#options | DateTimeFormatOptions} Options for JS date formats.
*/
format: {
/**
* @default
* { year: 'numeric', month: '2-digit', day: '2-digit' }
*/
date: Intl.DateTimeFormatOptions;
/**
* @default { hour12: false, hour: '2-digit', minute: '2-digit' }
*/
time: Intl.DateTimeFormatOptions;
};
/**
* Language code used to localize the formatted date.
*
* Passed to {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString | Date.toLocaleString()}.
*
* @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#locales | MDN} for allowed values.
*
* @default 'en-CA'
*/
lang: LangLocaleCode;
/**
* String that joins the date and time stamps, if applicable.
*
* @default ' @ '
*/
separator: string;
};
/**
* A partial-ized version of {@link timestamp.Args}. Used for the
* {@link timestamp | timestamp()} optional input args.
*
* @since 0.1.0
*/
type Args_Input = Partial<Omit<Args, "format">> & {
format?: Partial<Args['format']>;
};
}
//# sourceMappingURL=timestamp.d.ts.map