nestjs-graphql-relay
Version:
@nestjs/graphql + graphql-relay + typeorm
84 lines • 3.48 kB
JavaScript
;
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