DefinitelyTyped/string-template/string-template-tests.ts
Andy d2150a603f Even more 2.0 (#12503)
* Always use forceConsistentCasingInFileNames

* Rename files

* Convert more packages to `types-2.0` style
2016-11-05 13:34:11 -07:00

48 lines
1.5 KiB
TypeScript

import * as format from "string-template";
import * as compile from "string-template/compile";
namespace 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}"
}
namespace 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 })
}
}