ember-intl
Version:
Internationalization for Ember projects
28 lines (22 loc) • 709 B
text/typescript
import Helper from '@ember/component/helper';
import service from '../-private/utils/service';
import type IntlService from '../services/intl';
type FormatParameters = Parameters<IntlService['formatMessage']>;
type Value = FormatParameters[0];
type Options = FormatParameters[1];
interface FormatMessageSignature {
Args: {
Named?: Options;
Positional: [Value];
};
Return: string;
}
export default class FormatMessageHelper extends Helper<FormatMessageSignature> {
declare intl: IntlService;
compute(
[value]: FormatMessageSignature['Args']['Positional'],
options: FormatMessageSignature['Args']['Named'],
) {
return this.intl.formatMessage(value, options);
}
}