Skip to content

Instantly share code, notes, and snippets.

@macabeus
Last active August 30, 2020 01:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save macabeus/b9bdd539c87619b2e99288c8287dec0d to your computer and use it in GitHub Desktop.
Save macabeus/b9bdd539c87619b2e99288c8287dec0d to your computer and use it in GitHub Desktop.
// This file is automatically generated.
// Please do not change this file!
type Message0<T extends MessagesKey0> = {
id: T
value: T
attributes: Record<string, T>
}
type Message1<T extends MessagesKey1> = {
id: T
value: T
attributes: Record<string, T>
}
import { FluentBundle, FluentVariable } from '@fluent/bundle'
declare global {
interface FluentBundleTyped extends FluentBundle {
getMessage<T extends MessagesKey0>(id: T): Message0<T>
formatPattern<T extends MessagesKey0>(...args: PatternArguments0<T>): string
getMessage<T extends MessagesKey1>(id: T): Message1<T>
formatPattern<T extends MessagesKey1>(...args: PatternArguments1<T>): string
}
}
type MessagesKey0 = 'hello' |
'how-are-you' |
'bye' |
'lah1b' |
'lah2b' |
'lah3b' |
'lah4b' |
'lah5b' |
'lah6b' |
'lah7b' |
'lah8b' |
'lah9b' |
'blah10' |
'blah11' |
'blah12' |
'blah13' |
'blah14' |
'blah15' |
'blah16' |
'blah17' |
'blah18' |
'blah19' |
'blah20' |
'blah21' |
'blah22'
type MessagesKey1 = 'blah23' |
'blah24' |
'blah25' |
'blah26' |
'blah27' |
'blah28' |
'blah29'
type PatternArguments0<T extends MessagesKey0> = (
T extends 'hello'
? [T, { 'firstName': FluentVariable,'lastName': FluentVariable }]:
T extends 'how-are-you'
? [T]:
T extends 'bye'
? [T]:
T extends 'lah1b'
? [T]:
T extends 'lah2b'
? [T]:
T extends 'lah3b'
? [T]:
T extends 'lah4b'
? [T]:
T extends 'lah5b'
? [T]:
T extends 'lah6b'
? [T]:
T extends 'lah7b'
? [T]:
T extends 'lah8b'
? [T]:
T extends 'lah9b'
? [T]:
T extends 'blah10'
? [T]:
T extends 'blah11'
? [T]:
T extends 'blah12'
? [T]:
T extends 'blah13'
? [T]:
T extends 'blah14'
? [T, { 'kek': FluentVariable }]:
T extends 'blah15'
? [T]:
T extends 'blah16'
? [T]:
T extends 'blah17'
? [T]:
T extends 'blah18'
? [T]:
T extends 'blah19'
? [T]:
T extends 'blah20'
? [T]:
T extends 'blah21'
? [T]:
T extends 'blah22'
? [T]
: never
)
type PatternArguments1<T extends MessagesKey1> = (
T extends 'blah23'
? [T]:
T extends 'blah24'
? [T]:
T extends 'blah25'
? [T]:
T extends 'blah26'
? [T]:
T extends 'blah27'
? [T]:
T extends 'blah28'
? [T]:
T extends 'blah29'
? [T]
: never
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment