Skip to main content
Deno 2 is finally here 🎉️
Learn more
method FluentBundle.prototype.formatPattern
import { FluentBundle } from "https://deno.land/x/fluent@0.0.1/bundle/bundle.ts";

Format a Pattern to a string.

Format a raw Pattern into a string. args will be used to resolve references to variables passed as arguments to the translation.

In case of errors formatPattern will try to salvage as much of the translation as possible and will still return a string. For performance reasons, the encountered errors are not returned but instead are appended to the errors array passed as the third argument.

If errors is omitted, the first encountered error will be thrown.

Examples

Example 1

let errors = [];
bundle.addResource(
    new FluentResource("hello = Hello, {$name}!"));

let hello = bundle.getMessage("hello");
if (hello.value) {
    bundle.formatPattern(hello.value, {name: "Jane"}, errors);
    // Returns "Hello, Jane!" and `errors` is empty.

    bundle.formatPattern(hello.value, undefined, errors);
    // Returns "Hello, {$name}!" and `errors` is now:
    // [<ReferenceError: Unknown variable: name>]
}

Parameters

pattern: Pattern
optional
args: Record<string, FluentVariable> | null = [UNSUPPORTED]
optional
errors: Array<Error> | null = [UNSUPPORTED]

Returns

string