UNPKG

nestjs-graphql-relay

Version:
84 lines 3.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConnectionArgs = exports.CannotUseWith = exports.CannotUseWithout = void 0; const tslib_1 = require("tslib"); const graphql_1 = require("@nestjs/graphql"); const class_validator_1 = require("class-validator"); const Relay = tslib_1.__importStar(require("graphql-relay")); require("reflect-metadata"); let CannotUseWithout = class CannotUseWithout { validate(_, args) { const object = args.object; const required = args.constraints[0]; return object[required] !== undefined; } defaultMessage(args) { return `Cannot be used without \`${args.constraints[0]}\`.`; } }; exports.CannotUseWithout = CannotUseWithout; exports.CannotUseWithout = CannotUseWithout = tslib_1.__decorate([ (0, class_validator_1.ValidatorConstraint)({ async: false }) ], CannotUseWithout); let CannotUseWith = class CannotUseWith { validate(_, args) { const object = args.object; const result = args.constraints.every((propertyName) => { return object[propertyName] === undefined; }); return result; } defaultMessage(args) { return `Cannot be used with \`${args.constraints.join("` , `")}\`.`; } }; exports.CannotUseWith = CannotUseWith; exports.CannotUseWith = CannotUseWith = tslib_1.__decorate([ (0, class_validator_1.ValidatorConstraint)({ async: false }) ], CannotUseWith); let ConnectionArgs = class ConnectionArgs { before; after; first; last; }; exports.ConnectionArgs = ConnectionArgs; tslib_1.__decorate([ (0, graphql_1.Field)(() => String, { nullable: true, description: "Paginate before opaque cursor", }), (0, class_validator_1.ValidateIf)((o) => o.before !== undefined), (0, class_validator_1.Validate)(CannotUseWithout, ["last"]), (0, class_validator_1.Validate)(CannotUseWith, ["after", "first"]), tslib_1.__metadata("design:type", String) ], ConnectionArgs.prototype, "before", void 0); tslib_1.__decorate([ (0, graphql_1.Field)(() => String, { nullable: true, description: "Paginate after opaque cursor", }), (0, class_validator_1.ValidateIf)((o) => o.after !== undefined), (0, class_validator_1.Validate)(CannotUseWithout, ["first"]), (0, class_validator_1.Validate)(CannotUseWith, ["before", "last"]), tslib_1.__metadata("design:type", String) ], ConnectionArgs.prototype, "after", void 0); tslib_1.__decorate([ (0, graphql_1.Field)(() => graphql_1.Int, { nullable: true, description: "Paginate first" }), (0, class_validator_1.ValidateIf)((o) => o.first !== undefined), (0, class_validator_1.Min)(1), (0, class_validator_1.Validate)(CannotUseWith, ["before", "last"]), tslib_1.__metadata("design:type", Number) ], ConnectionArgs.prototype, "first", void 0); tslib_1.__decorate([ (0, graphql_1.Field)(() => graphql_1.Int, { nullable: true, description: "Paginate last" }), (0, class_validator_1.ValidateIf)((o) => o.last !== undefined), (0, class_validator_1.Validate)(CannotUseWithout, ["before"]), (0, class_validator_1.Validate)(CannotUseWith, ["after", "first"]), (0, class_validator_1.Min)(1), tslib_1.__metadata("design:type", Number) ], ConnectionArgs.prototype, "last", void 0); exports.ConnectionArgs = ConnectionArgs = tslib_1.__decorate([ (0, graphql_1.ArgsType)() ], ConnectionArgs); //# sourceMappingURL=connectionArgs.js.map