ng-tiny-url
Version:
Angular 6+ library to shorten url
31 lines • 3.53 kB
JavaScript
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { map } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
export class NgTinyUrlService {
constructor(http) {
this.http = http;
this.headers = new HttpHeaders({ 'Content-Type': 'application/json' });
}
shorten(url, alias) {
let extras = '';
if (alias) {
extras = `&alias=${encodeURIComponent(alias)}`;
}
return this.http.get('https://tinyurl.com/api-create.php?url=' + encodeURIComponent(url) + extras, {
headers: this.headers,
responseType: 'text'
}).pipe(map(res => res.toString()));
}
}
NgTinyUrlService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NgTinyUrlService_Factory() { return new NgTinyUrlService(i0.ɵɵinject(i1.HttpClient)); }, token: NgTinyUrlService, providedIn: "root" });
NgTinyUrlService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] }
];
NgTinyUrlService.ctorParameters = () => [
{ type: HttpClient }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdGlueS11cmwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWN0cy9MaWJyYXJ5L2FuZ3VsYXItdGlueS11cmwvcHJvamVjdHMvbmctdGlueS11cmwvc3JjLyIsInNvdXJjZXMiOlsibGliL25nLXRpbnktdXJsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBS25DLE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUY1QixZQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDO0lBR3hFLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVyxFQUFFLEtBQWM7UUFDakMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxHQUFHLFVBQVUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUNoRDtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMseUNBQXlDLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFQUFFO1lBQ2pHLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUMzQixDQUFDO0lBQ0osQ0FBQzs7OztZQXBCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQU5PLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwSGVhZGVyc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5nVGlueVVybFNlcnZpY2Uge1xuICBwcml2YXRlIGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoeydDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbid9KTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgfVxuXG4gIHNob3J0ZW4odXJsOiBzdHJpbmcsIGFsaWFzPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBsZXQgZXh0cmFzID0gJyc7XG4gICAgaWYgKGFsaWFzKSB7XG4gICAgICBleHRyYXMgPSBgJmFsaWFzPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGFsaWFzKX1gO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCgnaHR0cHM6Ly90aW55dXJsLmNvbS9hcGktY3JlYXRlLnBocD91cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudCh1cmwpICsgZXh0cmFzLCB7XG4gICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsXG4gICAgICByZXNwb25zZVR5cGU6ICd0ZXh0J1xuICAgIH0pLnBpcGUoXG4gICAgICBtYXAocmVzID0+IHJlcy50b1N0cmluZygpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==