UNPKG

@singleton-i18n/js-core-sdk

Version:

A JavaScript Singleton client library for internationalization and localization that leverage data from Singleton service. The library works both for the browser and as a Node.js module.

51 lines (50 loc) 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultResponseParser = exports.ResponseParser = void 0; /* * Copyright 2019-2021 VMware, Inc. * SPDX-License-Identifier: EPL-2.0 */ const logger_1 = require("./logger"); class ResponseParser { } exports.ResponseParser = ResponseParser; class VIPResponseParser { constructor() { this.logger = logger_1.basedLogger.create('VIPResponseParser'); } validateResponse(res) { if (!res || !res.response) { return null; } const response = res.response; // response code is bussiness code from VIP backend. if (response.code !== 200) { this.logger.error(response.message); } return res.data; } getPatterns(res) { const data = this.validateResponse(res); const pattern = data && data.pattern && data.pattern.categories ? data.pattern.categories : null; return pattern; } getTranslations(res) { const data = this.validateResponse(res); const translations = data && data.messages ? data.messages : data && data.components && data.components[0].messages ? data.components[0].messages : null; return translations; } getSupportedLanguages(res) { const data = this.validateResponse(res); const languages = data && data.languages ? data.languages : null; return languages; } getSupportedRegions(res) { const data = this.validateResponse(res); const regions = data && data[0] && data[0].territories ? data[0].territories : null; return regions; } } exports.defaultResponseParser = new VIPResponseParser();