UNPKG

@mando75/typeorm-graphql-loader

Version:

A dataloader which intelligently selects/joins the fields/relations from your TypeORM entities needed to resolve a GraphQL query

59 lines 3.81 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSQLJoinAliases = exports.resolvePredicate = exports.getGraphQLFieldNames = exports.getLoaderIgnoredFields = exports.getLoaderRequiredFields = exports.ConfigureLoader = void 0; require("reflect-metadata"); var keys = { IGNORE_FIELD: Symbol("gqlLoader:ignoreField"), REQUIRED_FIELD: Symbol("gqlLoader:requiredField"), GRAPHQL_NAME: Symbol("gqlLoader:graphQLName"), SQL_JOIN_ALIAS: Symbol("gqlLoader:sqlJoinAlias"), }; var defaultLoaderFieldConfiguration = { ignore: false, required: false, }; var ConfigureLoader = function (options) { var _a = __assign(__assign({}, defaultLoaderFieldConfiguration), options), required = _a.required, ignore = _a.ignore, graphQLName = _a.graphQLName, sqlJoinAlias = _a.sqlJoinAlias; return function (target, propertyKey) { var _a, _b, _c, _d; var ignoreSettings = (_a = Reflect.getMetadata(keys.IGNORE_FIELD, target.constructor)) !== null && _a !== void 0 ? _a : new Map(); ignoreSettings.set(propertyKey, ignore); Reflect.defineMetadata(keys.IGNORE_FIELD, ignoreSettings, target.constructor); var requiredSettings = (_b = Reflect.getMetadata(keys.REQUIRED_FIELD, target.constructor)) !== null && _b !== void 0 ? _b : new Map(); requiredSettings.set(propertyKey, required); Reflect.defineMetadata(keys.REQUIRED_FIELD, requiredSettings, target.constructor); var graphQLFieldNames = (_c = Reflect.getMetadata(keys.GRAPHQL_NAME, target.constructor)) !== null && _c !== void 0 ? _c : new Map(); graphQLFieldNames.set(propertyKey, graphQLName !== null && graphQLName !== void 0 ? graphQLName : propertyKey); Reflect.defineMetadata(keys.GRAPHQL_NAME, graphQLFieldNames, target.constructor); var sqlJoinAliases = (_d = Reflect.getMetadata(keys.SQL_JOIN_ALIAS, target.constructor)) !== null && _d !== void 0 ? _d : new Map(); sqlJoinAliases.set(propertyKey, sqlJoinAlias); Reflect.defineMetadata(keys.SQL_JOIN_ALIAS, sqlJoinAliases, target.constructor); }; }; exports.ConfigureLoader = ConfigureLoader; var getLoaderRequiredFields = function (target) { var _a; return (_a = Reflect.getMetadata(keys.REQUIRED_FIELD, target)) !== null && _a !== void 0 ? _a : new Map(); }; exports.getLoaderRequiredFields = getLoaderRequiredFields; var getLoaderIgnoredFields = function (target) { var _a; return (_a = Reflect.getMetadata(keys.IGNORE_FIELD, target)) !== null && _a !== void 0 ? _a : new Map(); }; exports.getLoaderIgnoredFields = getLoaderIgnoredFields; var getGraphQLFieldNames = function (target) { var _a; return (_a = Reflect.getMetadata(keys.GRAPHQL_NAME, target)) !== null && _a !== void 0 ? _a : new Map(); }; exports.getGraphQLFieldNames = getGraphQLFieldNames; var resolvePredicate = function (predicate, context, selection) { return typeof predicate === "function" ? predicate(context, Object.getOwnPropertyNames(selection !== null && selection !== void 0 ? selection : {}), selection !== null && selection !== void 0 ? selection : {}) : predicate; }; exports.resolvePredicate = resolvePredicate; var getSQLJoinAliases = function (target) { var _a; return (_a = Reflect.getMetadata(keys.SQL_JOIN_ALIAS, target)) !== null && _a !== void 0 ? _a : new Map(); }; exports.getSQLJoinAliases = getSQLJoinAliases; //# sourceMappingURL=ConfigureLoader.js.map