import { DateFormatter , DateFormattingContext , createVerboseFormattingArg , VerboseFormattingArg } from './DateFormatter' ; import { ZonedMarker } from './zoned-marker' ; export type FuncFormatterFunc = ( arg : VerboseFormattingArg ) => string ; export class FuncFormatter implements DateFormatter { func : FuncFormatterFunc ; constructor ( func ) { this . func = func ; } format ( date , context , betterDefaultSeparator ? ) { return this . func ( createVerboseFormattingArg ( date , null , context , betterDefaultSeparator ) ) ; } formatRange ( start , end , context , betterDefaultSeparator ? ) { return this . func ( createVerboseFormattingArg ( start , end , context , betterDefaultSeparator ) ) ; } }