@softkit/i18n
Version:
This library is a simple wrapper based on [nestjs-i18n](https://nestjs-i18n.com/)
99 lines • 4.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CatResolver = void 0;
const tslib_1 = require("tslib");
const graphql_1 = require("@nestjs/graphql");
const cat_service_1 = require("./cat.service");
const common_1 = require("@nestjs/common");
const graphql_subscriptions_1 = require("graphql-subscriptions");
const cat_input_1 = require("./cat.input");
const i18n_context_1 = require("../../../i18n.context");
const decorators_1 = require("../../../decorators");
const i18n_validation_exception_filter_1 = require("../../../filters/i18n-validation-exception.filter");
let CatResolver = class CatResolver {
constructor(catService, pubSub) {
this.catService = catService;
this.pubSub = pubSub;
}
async getCats() {
return await this.catService.findAll();
}
async getCat(id) {
return await this.catService.findById(id);
}
async getCatUsingContext(id, i18n) {
const cat = await this.catService.findById(id);
// we manually overwrite this property to indicate a value that is translated!
cat.description = i18n.translate('test.cat');
return cat;
}
async create(args) {
await this.pubSub.publish('catAdded', { catAdded: args.name });
return args;
}
catAdded() {
return this.pubSub.asyncIterator('catAdded');
}
validation(_) {
return;
}
};
exports.CatResolver = CatResolver;
tslib_1.__decorate([
(0, graphql_1.Query)('cats'),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", []),
tslib_1.__metadata("design:returntype", Promise)
], CatResolver.prototype, "getCats", null);
tslib_1.__decorate([
(0, graphql_1.Query)('cat'),
tslib_1.__param(0, (0, graphql_1.Args)('id')),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [Number]),
tslib_1.__metadata("design:returntype", Promise)
], CatResolver.prototype, "getCat", null);
tslib_1.__decorate([
(0, graphql_1.Query)('catUsingContext'),
tslib_1.__param(0, (0, graphql_1.Args)('id')),
tslib_1.__param(1, (0, decorators_1.I18n)()),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [Number, i18n_context_1.I18nContext]),
tslib_1.__metadata("design:returntype", Promise)
], CatResolver.prototype, "getCatUsingContext", null);
tslib_1.__decorate([
(0, graphql_1.Mutation)('createCat'),
tslib_1.__param(0, (0, graphql_1.Args)('createCatInput')),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [cat_input_1.CreateCatInput]),
tslib_1.__metadata("design:returntype", Promise)
], CatResolver.prototype, "create", null);
tslib_1.__decorate([
(0, graphql_1.Subscription)('catAdded', {
resolve: async (payload, _, ctx) => {
const { catAdded } = payload;
const i18nService = ctx.i18nService;
return i18nService.translate('test.cat_name', {
lang: ctx.i18nLang,
args: { name: catAdded },
});
},
}),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", []),
tslib_1.__metadata("design:returntype", void 0)
], CatResolver.prototype, "catAdded", null);
tslib_1.__decorate([
(0, graphql_1.Mutation)('validation'),
(0, common_1.UseFilters)(new i18n_validation_exception_filter_1.I18nValidationExceptionFilter()),
tslib_1.__param(0, (0, graphql_1.Args)('createCatInput')),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [cat_input_1.CreateCatInput]),
tslib_1.__metadata("design:returntype", void 0)
], CatResolver.prototype, "validation", null);
exports.CatResolver = CatResolver = tslib_1.__decorate([
(0, graphql_1.Resolver)('Cat'),
tslib_1.__param(1, (0, common_1.Inject)('PUB_SUB')),
tslib_1.__metadata("design:paramtypes", [cat_service_1.CatService,
graphql_subscriptions_1.PubSub])
], CatResolver);
//# sourceMappingURL=cat.resolver.js.map