Files
DefinitelyTyped/types/cls-hooked/cls-hooked-tests.ts
Leo Liang 66e7e2e2da Add typings for cls-hooked (#20154)
* Add typings for cld-hooks

* Rename NameSpace to Namespace
2017-10-03 11:06:35 -07:00

24 lines
631 B
TypeScript

import * as http from 'http';
import * as cls from 'cls-hooked';
const session = cls.createNamespace('my session');
const user = { id: 'foo' };
session.set('user', user);
session.run((value: number) => {
session.set('value', value);
});
http.createServer((req, res) => {
session.bindEmitter(req);
session.bindEmitter(res);
});
function bindLater(callback: (x: number) => number) {
return session.bind(callback, session.createContext());
}
bindLater((x: number) => {
return x;
})(123); // passing argument 'abc' should get compile error
const session2 = cls.getNamespace('my session');
session2.get('user');