INNER CODE UNIT · TypeScript
Loader
slaypni/type-graphql-dataloader · src/decorators/Loader.ts:16
export function Loader<K, V, C = K>(
batchLoadFn: BatchLoadFn<K, V>,
options?: DataLoader.Options<K, V, C>
): MethodAndPropDecorator {
return (
target: Object,
propertyKey: string | symbol,
descriptor?: TypedPropertyDescriptor<any>
) => {
UseMiddleware(async ({ context }, next) => {
const serviceId = `tgd#${
target.constructor.name
}#${propertyKey.toString()}`;
const { requestId } = context._tgdContext as TgdContext;
const container = Container.of(requestId);
if (!container.has(serviceId)) {
container.set(
serviceId,