UNPKG

@platform/cell.schema

Version:

URI and database schemas for the `cell.os`.

60 lines (59 loc) 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isLocal = exports.isInternalIP = exports.toProtocol = exports.stripSlashEnd = exports.stripSlashStart = exports.stripSlash = exports.stripPort = exports.stripHttp = exports.toPort = void 0; var common_1 = require("../common"); function toPort(input) { var text = common_1.R.pipe(stripHttp, stripSlash)(input || '').split(':')[1]; return text === undefined ? undefined : common_1.value.toNumber(text); } exports.toPort = toPort; function stripHttp(input) { return (input || '') .trim() .replace(/^http:\/\//, '') .replace(/^https:\/\//, ''); } exports.stripHttp = stripHttp; function stripPort(input) { return (input || '').replace(/:\d*$/, ''); } exports.stripPort = stripPort; function stripSlash(input) { return (input || '').replace(/^\/*/, '').replace(/\/*$/, ''); } exports.stripSlash = stripSlash; function stripSlashStart(input) { return (input || '').replace(/^\/*/, ''); } exports.stripSlashStart = stripSlashStart; function stripSlashEnd(input) { return (input || '').replace(/\/*$/, ''); } exports.stripSlashEnd = stripSlashEnd; function toProtocol(input) { input = (input || '').trim(); if (input.startsWith('localhost') && !input.includes('.')) { return 'http'; } if (isInternalIP(input)) { return 'http'; } return 'https'; } exports.toProtocol = toProtocol; function isInternalIP(input) { var host = common_1.R.pipe(stripHttp, stripSlash)(input || '').split('/')[0] || ''; return host.startsWith('192.168.'); } exports.isInternalIP = isInternalIP; function isLocal(input) { if (isInternalIP(input)) { return true; } var host = stripSlash(stripHttp(input)).split('/')[0] || ''; if (host === 'localhost' || host.startsWith('localhost:')) { return true; } return false; } exports.isLocal = isLocal;