DefinitelyTyped/types/string-template/string-template-tests.ts
2018-02-06 10:31:25 -08:00

48 lines
1.5 KiB
TypeScript

import format = require("string-template");
import compile = require("string-template/compile");
// Format tests
{
let greeting: string;
// Format using an object hash with keys matching [0-9a-zA-Z]+
greeting = format("Hello {name}, you have {count} unread messages", { name: "Robert", count: 12 })
// greeting -> "Hello Robert, you have 12 unread messages"
// Format using a number indexed array
greeting = format("Hello {0}, you have {1} unread messages", ["Robert", 12])
// greeting -> "Hello Robert, you have 12 unread messages"
// Format using optional arguments
greeting = format("Hello {0}, you have {1} unread messages", "Robert", 12)
// greeting -> "Hello Robert, you have 12 unread messages"
// Escape {} pairs by using double {{}}
let text: string = format("{{0}}")
// text -> "{0}"
}
// Compile tests
{
{
let greetingTemplate = compile("Hello {0}, you have {1} unread messages", true)
// -> greetingTemplate generated using new Function
let greeting = greetingTemplate("Robert", 12)
// -> "Hello Robert, you have 12 unread messages"
}
{
let greetingTemplate = compile("Hello {0}, you have {1} unread messages", true)
// -> greetingTemplate generated using new Function
let greeting = greetingTemplate(["Robert", 12])
// -> "Hello Robert, you have 12 unread messages"
}
{
let template = compile("{likes} people have liked this")
let result = template({ likes: 123 })
}
}