UNPKG

@corellia/ngx-translation-io

Version:

Add this package to localize your Angular application.<br />

121 lines 5 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.delay = exports.getUniqueSegmentFromPull = exports.httpCall = exports.getXMLElementToString = void 0; const xmldom_1 = __importDefault(require("@xmldom/xmldom")); const axios_1 = __importDefault(require("axios")); const https_proxy_agent_1 = require("https-proxy-agent"); const xmlSerializer = new xmldom_1.default.XMLSerializer(); function getXMLElementToString(nodeName, xmlElement) { const regexNode = new RegExp('<' + nodeName + ' .*?>'); return xmlSerializer.serializeToString(xmlElement) .replace(regexNode, '') .replace('</' + nodeName + '>', '') .replace(/\t/g, '') .replace(/\s+/g, ' ').trim(); } exports.getXMLElementToString = getXMLElementToString; function httpCall(request, url, value, proxy) { return __awaiter(this, void 0, void 0, function* () { let httpAxios = axios_1.default.create(); if (proxy) { const agent = new https_proxy_agent_1.HttpsProxyAgent(proxy); httpAxios = axios_1.default.create({ httpsAgent: agent }); } if (request === 'POST') { const headers = { 'Content-Type': 'application/json', }; return httpAxios.post(url, value, { headers: headers }).then((res) => { console.log(res.data); console.log('{ status: ' + res.status + ' }'); return res.data; }, error => { return logErrors(request, error); }); } else { return httpAxios.get(url + value) .then((res) => { console.log(res.data); console.log('{ status: ' + res.status + ' }'); return res.data; }, error => { return logErrors(request, error); }); } }); } exports.httpCall = httpCall; function getUniqueSegmentFromPull(array) { const groupedSegments = []; // On groupe les segment par "key" array.forEach((response) => { const index = groupedSegments.findIndex((item) => { return item.key === response.key; }); if (index !== -1) { groupedSegments[index].segments.push(response); } else { const data = { key: response.key, segments: [response] }; groupedSegments.push(data); } }); // On récupère la dernière valeur et on l'ajoute au tableau const data = []; groupedSegments.forEach(element => { element.segments = element.segments.sort((varA, varB) => varB.created_at - varA.created_at).slice(); data.push(element.segments[0]); }); return data.slice(); } exports.getUniqueSegmentFromPull = getUniqueSegmentFromPull; function logErrors(request, error) { console.error('HTTP ' + request + ' error : '); if (error.response) { console.error('{ error.response }'); // The request was made and the server responded with a status code // that falls out of the range of 2xx console.error(error.response.data); console.error(error.response.headers); console.error('{ status: ' + error.response.status + ' }'); } else if (error.request) { console.error('{ error.request }'); // The request was made but no response was received // `error.request` is an instance of XMLHttpRequest in the browser and an instance of // http.ClientRequest in node.js console.error(error.request); } else { // Something happened in setting up the request that triggered an Error console.error('{ other error }'); console.error(error.message); } console.error(error.config); return Promise.reject(); } function delay(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } exports.delay = delay; //# sourceMappingURL=utils.js.map