Files
DefinitelyTyped/types/undertaker-registry/undertaker-registry-tests.ts
Giedrius Grabauskas 94f553150d Types for undertaker-registry@1.0 (#16146)
* undertaker-registry initial commit.

* Created index.d.ts for undertaker-registry

* Created tslint.json for undertaker-registry

* Created tests for undertaker-registry.
2017-04-26 12:13:40 -07:00

38 lines
945 B
TypeScript

import * as UndertakerRegistry from "undertaker-registry";
const ArgTask = (firstArg: string, secondArg: number) => {
// Task
};
const NoArgTask = () => {
// Task without arguments
};
const registryInstance = new UndertakerRegistry();
const setTask = registryInstance.set("task", ArgTask);
setTask("string", 123);
const getTask = registryInstance.get<typeof ArgTask>("taskName");
getTask("string", 123);
const tasks = registryInstance.tasks();
const taskFromTasks = tasks["task"] as typeof ArgTask;
taskFromTasks("string", 123);
class MyRegistry extends UndertakerRegistry { }
registryInstance.init(MyRegistry);
const myRegistryInstance = new MyRegistry();
const setTask2 = registryInstance.set("task", NoArgTask);
setTask2();
const getTask2 = registryInstance.get<typeof NoArgTask>("taskName");
getTask2();
const tasks2 = registryInstance.tasks();
const taskFromTasks2 = tasks["task"] as typeof NoArgTask;
taskFromTasks2();