summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/types/lang-map.d.ts
blob: 6df26d6a00324c4680278d0c11dd2990b923a239 (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
declare module "lang-map" {
  /** Returned by calling `map()` */
  export interface MapReturn {
    /** All extensions keyed by language name */
    extensions: Record<string, string[]>
    /** All languages keyed by file-extension */
    languages: Record<string, string[]>
  }

  /**
   * Calling `map()` gives you the raw lookup tables:
   *
   * ```js
   * const { extensions, languages } = map();
   * ```
   */
  function map(): MapReturn

  /** Static method: get extensions for a given language */
  namespace map {
    function extensions(language: string): string[]
    /** Static method: get languages for a given extension */
    function languages(extension: string): string[]
  }

  export = map
}