aboutsummaryrefslogtreecommitdiff
path: root/src/definitions/date.ts
blob: 2738bdb5e8484f48ce836bf266f60e4447729173 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import { allOf } from './utils';

/**
 * The possible definitions related to dates.
 */
export interface DateDefinitions {
  /**
   * The translations for months (January - December).
   */
  month: DateEntryDefinition;
  /**
   * The translations for weekdays (Sunday - Saturday).
   */
  weekday: DateEntryDefinition;
}

/**
 * The possible definitions related to date entries.
 */
export interface DateEntryDefinition {
  /**
   * The long name of the entry.
   */
  wide: string[];
  /**
   * The short name/abbreviation of the entry.
   */
  abbr: string[];
  /**
   * The wide name of the entry when used in context. If absent wide will be used instead.
   * It is used to specify a word in context, which may differ from a stand-alone word.
   */
  wide_context?: string[];
  /**
   * The short name/abbreviation name of the entry when used in context. If absent abbr will be used instead.
   * It is used to specify a word in context, which may differ from a stand-alone word.
   */
  abbr_context?: string[];
}

/**
 * Internal: A list of all keys for the DateDefinitions.
 */
export const DATE = allOf<keyof DateDefinitions>()('month', 'weekday');