@spartacus/storefront
Version:
Spartacus Storefront is a package that you can include in your application, which allows you to add default storefront features.
36 lines • 3.86 kB
JavaScript
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
export class GenericLinkComponentService {
constructor() {
/**
* Pattern matching string starting with `http://` or `https://`.
*/
this.HTTP_PROTOCOL_REGEX = /^https?:\/\//i;
/**
* Pattern matching string starting with `mailto:`.
*/
this.MAILTO_PROTOCOL_REGEX = /^mailto:/i;
/**
* Pattern matching string starting with `tel:`.
*/
this.TEL_PROTOCOL_REGEX = /^tel:/i;
}
/**
* Returns true when the @Input `url` is a string starting with `http://`, `https://`, `mailto:`, `tel:`.
*/
isExternalUrl(url) {
return (typeof url === 'string' &&
(this.HTTP_PROTOCOL_REGEX.test(url) ||
this.MAILTO_PROTOCOL_REGEX.test(url) ||
this.TEL_PROTOCOL_REGEX.test(url)));
}
}
GenericLinkComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericLinkComponentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
GenericLinkComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericLinkComponentService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericLinkComponentService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1saW5rLWNvbXBvbmVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RvcmVmcm9udGxpYi9zaGFyZWQvY29tcG9uZW50cy9nZW5lcmljLWxpbmsvZ2VuZXJpYy1saW5rLWNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTywyQkFBMkI7SUFIeEM7UUFJRTs7V0FFRztRQUNPLHdCQUFtQixHQUFXLGVBQWUsQ0FBQztRQUV4RDs7V0FFRztRQUNPLDBCQUFxQixHQUFXLFdBQVcsQ0FBQztRQUV0RDs7V0FFRztRQUNPLHVCQUFrQixHQUFXLFFBQVEsQ0FBQztLQWFqRDtJQVhDOztPQUVHO0lBQ0gsYUFBYSxDQUFDLEdBQW1CO1FBQy9CLE9BQU8sQ0FDTCxPQUFPLEdBQUcsS0FBSyxRQUFRO1lBQ3ZCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3JDLENBQUM7SUFDSixDQUFDOzt3SEExQlUsMkJBQTJCOzRIQUEzQiwyQkFBMkIsY0FGMUIsTUFBTTsyRkFFUCwyQkFBMkI7a0JBSHZDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR2VuZXJpY0xpbmtDb21wb25lbnRTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFBhdHRlcm4gbWF0Y2hpbmcgc3RyaW5nIHN0YXJ0aW5nIHdpdGggYGh0dHA6Ly9gIG9yIGBodHRwczovL2AuXG4gICAqL1xuICBwcm90ZWN0ZWQgSFRUUF9QUk9UT0NPTF9SRUdFWDogUmVnRXhwID0gL15odHRwcz86XFwvXFwvL2k7XG5cbiAgLyoqXG4gICAqIFBhdHRlcm4gbWF0Y2hpbmcgc3RyaW5nIHN0YXJ0aW5nIHdpdGggYG1haWx0bzpgLlxuICAgKi9cbiAgcHJvdGVjdGVkIE1BSUxUT19QUk9UT0NPTF9SRUdFWDogUmVnRXhwID0gL15tYWlsdG86L2k7XG5cbiAgLyoqXG4gICAqIFBhdHRlcm4gbWF0Y2hpbmcgc3RyaW5nIHN0YXJ0aW5nIHdpdGggYHRlbDpgLlxuICAgKi9cbiAgcHJvdGVjdGVkIFRFTF9QUk9UT0NPTF9SRUdFWDogUmVnRXhwID0gL150ZWw6L2k7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSB3aGVuIHRoZSBASW5wdXQgYHVybGAgaXMgYSBzdHJpbmcgc3RhcnRpbmcgd2l0aCBgaHR0cDovL2AsIGBodHRwczovL2AsIGBtYWlsdG86YCwgYHRlbDpgLlxuICAgKi9cbiAgaXNFeHRlcm5hbFVybCh1cmw6IHN0cmluZyB8IGFueVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB1cmwgPT09ICdzdHJpbmcnICYmXG4gICAgICAodGhpcy5IVFRQX1BST1RPQ09MX1JFR0VYLnRlc3QodXJsKSB8fFxuICAgICAgICB0aGlzLk1BSUxUT19QUk9UT0NPTF9SRUdFWC50ZXN0KHVybCkgfHxcbiAgICAgICAgdGhpcy5URUxfUFJPVE9DT0xfUkVHRVgudGVzdCh1cmwpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==