本文整理汇总了TypeScript中@tsed/core.Store.decorate方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Store.decorate方法的具体用法?TypeScript Store.decorate怎么用?TypeScript Store.decorate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@tsed/core.Store
的用法示例。
在下文中一共展示了Store.decorate方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: AcceptMime
export function AcceptMime(...mimes: string[]): Function {
return Store.decorate((store: Store, parameters: DecoratorParameters) => {
store.set(AcceptMimesMiddleware, mimes);
return UseBefore(AcceptMimesMiddleware);
});
}
示例2: ResponseView
export function ResponseView(viewPath: string, viewOptions?: Object): Function {
return Store.decorate((store: Store) => {
store.set(ResponseViewMiddleware, {viewPath, viewOptions});
return UseAfter(ResponseViewMiddleware);
});
}
示例3: SocketService
export function SocketService(namespace = "/") {
return Store.decorate((store: Store, parameters) => {
store.merge("socketIO", {namespace, type: SocketProviderTypes.SERVICE});
registerSocketService(parameters[0]);
});
}
示例4: ReturnsArray
export function ReturnsArray(...args: any[]) {
const configuration: any = {};
args.forEach((value: any) => {
configuration[typeof value] = value;
});
const {number: code, object: options = {} as any, function: type} = configuration;
if (type) {
options.type = type;
}
options.collection = Array;
return Store.decorate((store: Store) => {
const response = mapReturnedResponse(options);
if (code !== undefined) {
store.merge("responses", {
[code]: response
});
} else {
store.merge("response", response);
}
});
}
示例5: switch
return <T>(...args: DecoratorParameters): TypedPropertyDescriptor<T> | void => {
switch (getDecoratorType(args, true)) {
case "method":
return Store.decorate((store: Store) => {
store.set(guardAuth, options);
if (options.responses) {
const {responses} = options;
store.merge("responses", responses);
}
if (options.security) {
const {security} = options;
store.merge("operation", {security});
}
return UseBefore(guardAuth);
})(...args);
case "class":
decorateMethodsOf(args[0], UseAuth(guardAuth, options));
break;
default:
throw new UnsupportedDecoratorType(UseAuth, args);
}
};
示例6: ContentType
export function ContentType(type: string) {
return Store.decorate((store: Store) => {
store.merge("produces", [type]);
return UseAfter((request: any, response: any, next: any) => {
response.type(type);
next();
});
});
}
示例7: Status
export function Status(code: number, options: IResponseOptions = {}) {
return Store.decorate((store: Store, parameters: DecoratorParameters) => {
store.set("statusCode", code);
const response = mapReturnedResponse(options);
store.merge("response", response);
store.merge("responses", {[code]: response});
return UseAfter((request: any, response: any, next: any) => {
if (response.statusCode === 200) {
response.status(code);
}
next();
});
});
}
示例8: return
return (...args: DecoratorParameters) => {
const type = getDecoratorType(args, true);
switch (type) {
case "method":
return Store.decorate((store: Store) => {
store.merge("responses", {[status]: response});
})(...args);
case "class":
decorateMethodsOf(args[0], Responses(status, response));
break;
default:
throw new UnsupportedDecoratorType(Responses, args);
}
};
示例9: return
return (...args: DecoratorParameters) => {
const type = getDecoratorType(args, true);
switch (type) {
case "method":
return Store.decorate((store: Store) => {
store.merge("operation", operation);
})(...args);
case "class":
decorateMethodsOf(args[0], Operation(operation));
break;
default:
throw new UnsupportedDecoratorType(Operation, args);
}
};
示例10: Hidden
export function Hidden() {
return Store.decorate(store => {
store.set("hidden", true);
});
}