linkify-plugin-ip
Advanced tools
Comparing version
@@ -5,110 +5,106 @@ 'use strict'; | ||
var B_IPV6_B = 'B_IPV6_B'; // 'bracket [', IPV6, '] bracket' | ||
const B_IPV6_B = 'B_IPV6_B'; // 'bracket [', IPV6, '] bracket' | ||
var IPv4Token = linkifyjs.createTokenClass('ipv4', { | ||
const IPv4Token = linkifyjs.createTokenClass('ipv4', { | ||
isLink: true, | ||
toHref: function toHref(scheme) { | ||
toHref(scheme) { | ||
if (scheme === void 0) { | ||
scheme = linkifyjs.options.defaults.defaultProtocol; | ||
} | ||
return scheme + "://" + this.v; | ||
return `${scheme}://${this.v}`; | ||
} | ||
}); | ||
/** | ||
* @type {import('linkifyjs').TokenPlugin} | ||
*/ | ||
function ipv4Tokens(_ref) { | ||
var scanner = _ref.scanner; | ||
var start = scanner.start; | ||
var flags = { | ||
let { | ||
scanner | ||
} = _ref; | ||
const { | ||
start | ||
} = scanner; | ||
const flags = { | ||
byte: true, | ||
numeric: true | ||
}; // States for [0, 9] | ||
}; | ||
var Digits = []; | ||
for (var i = 0; i < 10; i++) { | ||
var x = start.tt("" + i, "" + i, flags); | ||
// States for [0, 9] | ||
const Digits = []; | ||
for (let i = 0; i < 10; i++) { | ||
const x = start.tt(`${i}`, `${i}`, flags); | ||
Digits.push(x); | ||
} // States [10, 99] | ||
} | ||
for (var _i = 1; _i < 10; _i++) { | ||
var _x = Digits[_i]; | ||
for (var j = 0; j < 10; j++) { | ||
_x.tt("" + j, "" + _i + j, flags); | ||
// States [10, 99] | ||
for (let i = 1; i < 10; i++) { | ||
const x = Digits[i]; | ||
for (let j = 0; j < 10; j++) { | ||
x.tt(`${j}`, `${i}${j}`, flags); | ||
} | ||
} // States for [100, 199] | ||
} | ||
for (var _i2 = 0; _i2 < 10; _i2++) { | ||
var _xx = Digits[1].tt("" + _i2); | ||
for (var _j = 0; _j < 10; _j++) { | ||
_xx.tt("" + _j, "1" + _i2 + _j, flags); | ||
// States for [100, 199] | ||
for (let i = 0; i < 10; i++) { | ||
let xx = Digits[1].tt(`${i}`); | ||
for (let j = 0; j < 10; j++) { | ||
xx.tt(`${j}`, `1${i}${j}`, flags); | ||
} | ||
} // States for [200, 249] | ||
} | ||
for (var _i3 = 0; _i3 < 5; _i3++) { | ||
var _xx2 = Digits[2].tt("" + _i3); | ||
for (var _j2 = 0; _j2 < 10; _j2++) { | ||
_xx2.tt("" + _j2, "2" + _i3 + _j2, flags); | ||
// States for [200, 249] | ||
for (let i = 0; i < 5; i++) { | ||
let xx = Digits[2].tt(`${i}`); | ||
for (let j = 0; j < 10; j++) { | ||
xx.tt(`${j}`, `2${i}${j}`, flags); | ||
} | ||
} // States for [250, 255] | ||
} | ||
var xx = Digits[2].tt('5'); | ||
for (var _i4 = 0; _i4 < 6; _i4++) { | ||
xx.tt("" + _i4, "25" + _i4, flags); | ||
// States for [250, 255] | ||
let xx = Digits[2].tt('5'); | ||
for (let i = 0; i < 6; i++) { | ||
xx.tt(`${i}`, `25${i}`, flags); | ||
} | ||
} | ||
/** | ||
* @type {import('linkifyjs').TokenPlugin} | ||
*/ | ||
const ipv6Tokens = _ref2 => { | ||
let { | ||
scanner | ||
} = _ref2; | ||
const { | ||
start | ||
} = scanner; | ||
const HEX = /[0-9a-f]/; | ||
let z = start.tt('['); // [ | ||
let _ = z.tt(':'); // [: | ||
var ipv6Tokens = function ipv6Tokens(_ref2) { | ||
var scanner = _ref2.scanner; | ||
var start = scanner.start; | ||
var HEX = /[0-9a-f]/; | ||
var z = start.tt('['); // [ | ||
let x = z.tr(HEX); | ||
let x_ = x.tt(':'); | ||
let x_x = x_.tr(HEX); | ||
let x_x_ = x_x.tt(':'); | ||
let x_x_x = x_x_.tr(HEX); | ||
let x_x_x_ = x_x_x.tt(':'); | ||
let x_x_x_x = x_x_x_.tr(HEX); | ||
let x_x_x_x_ = x_x_x_x.tt(':'); | ||
let x_x_x_x_x = x_x_x_x_.tr(HEX); | ||
let x_x_x_x_x_ = x_x_x_x_x.tt(':'); | ||
let x_x_x_x_x_x = x_x_x_x_x_.tr(HEX); | ||
let x_x_x_x_x_x_ = x_x_x_x_x_x.tt(':'); | ||
let x_x_x_x_x_x_x = x_x_x_x_x_x_.tr(HEX); | ||
let x_x_x_x_x_x_x_ = x_x_x_x_x_x_x.tt(':'); | ||
let x_x_x_x_x_x_x_x = x_x_x_x_x_x_x_.tr(HEX); | ||
let BIpv6B = x_x_x_x_x_x_x_x.tt(']', B_IPV6_B); | ||
x_x_x_x_x_x_x_.tt(']', BIpv6B); | ||
var _ = z.tt(':'); // [: | ||
var x = z.tr(HEX); | ||
var x_ = x.tt(':'); | ||
var x_x = x_.tr(HEX); | ||
var x_x_ = x_x.tt(':'); | ||
var x_x_x = x_x_.tr(HEX); | ||
var x_x_x_ = x_x_x.tt(':'); | ||
var x_x_x_x = x_x_x_.tr(HEX); | ||
var x_x_x_x_ = x_x_x_x.tt(':'); | ||
var x_x_x_x_x = x_x_x_x_.tr(HEX); | ||
var x_x_x_x_x_ = x_x_x_x_x.tt(':'); | ||
var x_x_x_x_x_x = x_x_x_x_x_.tr(HEX); | ||
var x_x_x_x_x_x_ = x_x_x_x_x_x.tt(':'); | ||
var x_x_x_x_x_x_x = x_x_x_x_x_x_.tr(HEX); | ||
var x_x_x_x_x_x_x_ = x_x_x_x_x_x_x.tt(':'); | ||
var x_x_x_x_x_x_x_x = x_x_x_x_x_x_x_.tr(HEX); | ||
var BIpv6B = x_x_x_x_x_x_x_x.tt(']', B_IPV6_B); | ||
x_x_x_x_x_x_x_.tt(']', BIpv6B); // Note: This isn't quite right because it allows unlimited components but | ||
// Note: This isn't quite right because it allows unlimited components but | ||
// it's proved difficult to come up with a correct implementation. | ||
var __ = _.tt(':'); // [:: | ||
var __x = __.tr(HEX); | ||
var __x_ = __x.tt(':'); | ||
let __ = _.tt(':'); // [:: | ||
let __x = __.tr(HEX); | ||
let __x_ = __x.tt(':'); | ||
__x_.tt(':', __); | ||
__x_.tr(HEX, __x); | ||
x_.tt(':', __); | ||
@@ -120,13 +116,9 @@ x_x_.tt(':', __); | ||
x_x_x_x_x_x_.tt(':', __); | ||
_.tr(HEX, x_x); | ||
__.tt(']', BIpv6B); | ||
__x.tt(']', BIpv6B); | ||
__x_.tt(']', BIpv6B); | ||
__x_.tt(']', BIpv6B); // Ensures max of 4 items per component are allowed | ||
for (var i = 1; i < 4; i++) { | ||
// Ensures max of 4 items per component are allowed | ||
for (let i = 1; i < 4; i++) { | ||
x = x.tr(HEX); | ||
@@ -149,47 +141,48 @@ x_x = x_x.tr(HEX); | ||
__x = __x.tr(HEX); | ||
__x.tt(':', __x_); | ||
__x.tt(']', BIpv6B); | ||
} | ||
}; | ||
/** | ||
* @type {import('linkifyjs').Plugin} | ||
*/ | ||
function ip(_ref3) { | ||
var scanner = _ref3.scanner, | ||
parser = _ref3.parser; | ||
var _scanner$tokens = scanner.tokens, | ||
COLON = _scanner$tokens.COLON, | ||
DOT = _scanner$tokens.DOT, | ||
SLASH = _scanner$tokens.SLASH, | ||
LOCALHOST = _scanner$tokens.LOCALHOST, | ||
SLASH_SCHEME = _scanner$tokens.SLASH_SCHEME, | ||
groups = _scanner$tokens.groups; | ||
var ByteDot = new linkifyjs.State(); | ||
var ByteDotByte = new linkifyjs.State(); | ||
var ByteDotByteDotByte = new linkifyjs.State(); | ||
var IPv4 = new linkifyjs.State(IPv4Token); | ||
for (var i = 0; i < groups.byte.length; i++) { | ||
let { | ||
scanner, | ||
parser | ||
} = _ref3; | ||
const { | ||
COLON, | ||
DOT, | ||
SLASH, | ||
LOCALHOST, | ||
SLASH_SCHEME, | ||
groups | ||
} = scanner.tokens; | ||
const ByteDot = new linkifyjs.State(); | ||
const ByteDotByte = new linkifyjs.State(); | ||
const ByteDotByteDotByte = new linkifyjs.State(); | ||
const IPv4 = new linkifyjs.State(IPv4Token); | ||
for (let i = 0; i < groups.byte.length; i++) { | ||
parser.start.tt(groups.byte[i]).tt(DOT, ByteDot); | ||
} | ||
ByteDot.ta(groups.byte, ByteDotByte); | ||
ByteDotByte.tt(DOT).ta(groups.byte, ByteDotByteDotByte); | ||
ByteDotByteDotByte.tt(DOT).ta(groups.byte, IPv4); // If IP followed by port or slash, make URL. Get existing URL state | ||
ByteDotByteDotByte.tt(DOT).ta(groups.byte, IPv4); | ||
var Url = parser.start.go(LOCALHOST).go(SLASH); | ||
// If IP followed by port or slash, make URL. Get existing URL state | ||
const Url = parser.start.go(LOCALHOST).go(SLASH); | ||
IPv4.tt(SLASH, Url); | ||
var IPv4Colon = IPv4.tt(COLON); | ||
var IPv4ColonPort = new linkifyjs.State(linkifyjs.multi.Url); | ||
const IPv4Colon = IPv4.tt(COLON); | ||
const IPv4ColonPort = new linkifyjs.State(linkifyjs.multi.Url); | ||
IPv4Colon.ta(groups.numeric, IPv4ColonPort); | ||
IPv4ColonPort.tt(SLASH, Url); // Detect IPv6 when followed by URL prefix | ||
IPv4ColonPort.tt(SLASH, Url); | ||
var UriPrefix = parser.start.go(SLASH_SCHEME).go(COLON).go(SLASH).go(SLASH); | ||
var UriPrefixIPv6 = UriPrefix.tt(B_IPV6_B, linkifyjs.multi.Url); | ||
// Detect IPv6 when followed by URL prefix | ||
const UriPrefix = parser.start.go(SLASH_SCHEME).go(COLON).go(SLASH).go(SLASH); | ||
const UriPrefixIPv6 = UriPrefix.tt(B_IPV6_B, linkifyjs.multi.Url); | ||
UriPrefixIPv6.tt(SLASH, Url); | ||
var UriPrefixIPv6Colon = UriPrefixIPv6.tt(COLON); | ||
var UriPrefixIPv6ColonPort = new linkifyjs.State(linkifyjs.multi.Url); | ||
const UriPrefixIPv6Colon = UriPrefixIPv6.tt(COLON); | ||
const UriPrefixIPv6ColonPort = new linkifyjs.State(linkifyjs.multi.Url); | ||
UriPrefixIPv6Colon.ta(groups.numeric, UriPrefixIPv6ColonPort); | ||
@@ -196,0 +189,0 @@ UriPrefixIPv6ColonPort.tt(SLASH, Url); |
import { createTokenClass, options, State, multi, registerTokenPlugin, registerPlugin } from 'linkifyjs'; | ||
var B_IPV6_B = 'B_IPV6_B'; // 'bracket [', IPV6, '] bracket' | ||
const B_IPV6_B = 'B_IPV6_B'; // 'bracket [', IPV6, '] bracket' | ||
var IPv4Token = createTokenClass('ipv4', { | ||
const IPv4Token = createTokenClass('ipv4', { | ||
isLink: true, | ||
toHref: function toHref(scheme) { | ||
toHref(scheme) { | ||
if (scheme === void 0) { | ||
scheme = options.defaults.defaultProtocol; | ||
} | ||
return scheme + "://" + this.v; | ||
return `${scheme}://${this.v}`; | ||
} | ||
}); | ||
/** | ||
* @type {import('linkifyjs').TokenPlugin} | ||
*/ | ||
function ipv4Tokens(_ref) { | ||
var scanner = _ref.scanner; | ||
var start = scanner.start; | ||
var flags = { | ||
let { | ||
scanner | ||
} = _ref; | ||
const { | ||
start | ||
} = scanner; | ||
const flags = { | ||
byte: true, | ||
numeric: true | ||
}; // States for [0, 9] | ||
}; | ||
var Digits = []; | ||
for (var i = 0; i < 10; i++) { | ||
var x = start.tt("" + i, "" + i, flags); | ||
// States for [0, 9] | ||
const Digits = []; | ||
for (let i = 0; i < 10; i++) { | ||
const x = start.tt(`${i}`, `${i}`, flags); | ||
Digits.push(x); | ||
} // States [10, 99] | ||
} | ||
for (var _i = 1; _i < 10; _i++) { | ||
var _x = Digits[_i]; | ||
for (var j = 0; j < 10; j++) { | ||
_x.tt("" + j, "" + _i + j, flags); | ||
// States [10, 99] | ||
for (let i = 1; i < 10; i++) { | ||
const x = Digits[i]; | ||
for (let j = 0; j < 10; j++) { | ||
x.tt(`${j}`, `${i}${j}`, flags); | ||
} | ||
} // States for [100, 199] | ||
} | ||
for (var _i2 = 0; _i2 < 10; _i2++) { | ||
var _xx = Digits[1].tt("" + _i2); | ||
for (var _j = 0; _j < 10; _j++) { | ||
_xx.tt("" + _j, "1" + _i2 + _j, flags); | ||
// States for [100, 199] | ||
for (let i = 0; i < 10; i++) { | ||
let xx = Digits[1].tt(`${i}`); | ||
for (let j = 0; j < 10; j++) { | ||
xx.tt(`${j}`, `1${i}${j}`, flags); | ||
} | ||
} // States for [200, 249] | ||
} | ||
for (var _i3 = 0; _i3 < 5; _i3++) { | ||
var _xx2 = Digits[2].tt("" + _i3); | ||
for (var _j2 = 0; _j2 < 10; _j2++) { | ||
_xx2.tt("" + _j2, "2" + _i3 + _j2, flags); | ||
// States for [200, 249] | ||
for (let i = 0; i < 5; i++) { | ||
let xx = Digits[2].tt(`${i}`); | ||
for (let j = 0; j < 10; j++) { | ||
xx.tt(`${j}`, `2${i}${j}`, flags); | ||
} | ||
} // States for [250, 255] | ||
} | ||
var xx = Digits[2].tt('5'); | ||
for (var _i4 = 0; _i4 < 6; _i4++) { | ||
xx.tt("" + _i4, "25" + _i4, flags); | ||
// States for [250, 255] | ||
let xx = Digits[2].tt('5'); | ||
for (let i = 0; i < 6; i++) { | ||
xx.tt(`${i}`, `25${i}`, flags); | ||
} | ||
} | ||
/** | ||
* @type {import('linkifyjs').TokenPlugin} | ||
*/ | ||
const ipv6Tokens = _ref2 => { | ||
let { | ||
scanner | ||
} = _ref2; | ||
const { | ||
start | ||
} = scanner; | ||
const HEX = /[0-9a-f]/; | ||
let z = start.tt('['); // [ | ||
let _ = z.tt(':'); // [: | ||
var ipv6Tokens = function ipv6Tokens(_ref2) { | ||
var scanner = _ref2.scanner; | ||
var start = scanner.start; | ||
var HEX = /[0-9a-f]/; | ||
var z = start.tt('['); // [ | ||
let x = z.tr(HEX); | ||
let x_ = x.tt(':'); | ||
let x_x = x_.tr(HEX); | ||
let x_x_ = x_x.tt(':'); | ||
let x_x_x = x_x_.tr(HEX); | ||
let x_x_x_ = x_x_x.tt(':'); | ||
let x_x_x_x = x_x_x_.tr(HEX); | ||
let x_x_x_x_ = x_x_x_x.tt(':'); | ||
let x_x_x_x_x = x_x_x_x_.tr(HEX); | ||
let x_x_x_x_x_ = x_x_x_x_x.tt(':'); | ||
let x_x_x_x_x_x = x_x_x_x_x_.tr(HEX); | ||
let x_x_x_x_x_x_ = x_x_x_x_x_x.tt(':'); | ||
let x_x_x_x_x_x_x = x_x_x_x_x_x_.tr(HEX); | ||
let x_x_x_x_x_x_x_ = x_x_x_x_x_x_x.tt(':'); | ||
let x_x_x_x_x_x_x_x = x_x_x_x_x_x_x_.tr(HEX); | ||
let BIpv6B = x_x_x_x_x_x_x_x.tt(']', B_IPV6_B); | ||
x_x_x_x_x_x_x_.tt(']', BIpv6B); | ||
var _ = z.tt(':'); // [: | ||
var x = z.tr(HEX); | ||
var x_ = x.tt(':'); | ||
var x_x = x_.tr(HEX); | ||
var x_x_ = x_x.tt(':'); | ||
var x_x_x = x_x_.tr(HEX); | ||
var x_x_x_ = x_x_x.tt(':'); | ||
var x_x_x_x = x_x_x_.tr(HEX); | ||
var x_x_x_x_ = x_x_x_x.tt(':'); | ||
var x_x_x_x_x = x_x_x_x_.tr(HEX); | ||
var x_x_x_x_x_ = x_x_x_x_x.tt(':'); | ||
var x_x_x_x_x_x = x_x_x_x_x_.tr(HEX); | ||
var x_x_x_x_x_x_ = x_x_x_x_x_x.tt(':'); | ||
var x_x_x_x_x_x_x = x_x_x_x_x_x_.tr(HEX); | ||
var x_x_x_x_x_x_x_ = x_x_x_x_x_x_x.tt(':'); | ||
var x_x_x_x_x_x_x_x = x_x_x_x_x_x_x_.tr(HEX); | ||
var BIpv6B = x_x_x_x_x_x_x_x.tt(']', B_IPV6_B); | ||
x_x_x_x_x_x_x_.tt(']', BIpv6B); // Note: This isn't quite right because it allows unlimited components but | ||
// Note: This isn't quite right because it allows unlimited components but | ||
// it's proved difficult to come up with a correct implementation. | ||
var __ = _.tt(':'); // [:: | ||
var __x = __.tr(HEX); | ||
var __x_ = __x.tt(':'); | ||
let __ = _.tt(':'); // [:: | ||
let __x = __.tr(HEX); | ||
let __x_ = __x.tt(':'); | ||
__x_.tt(':', __); | ||
__x_.tr(HEX, __x); | ||
x_.tt(':', __); | ||
@@ -117,13 +113,9 @@ x_x_.tt(':', __); | ||
x_x_x_x_x_x_.tt(':', __); | ||
_.tr(HEX, x_x); | ||
__.tt(']', BIpv6B); | ||
__x.tt(']', BIpv6B); | ||
__x_.tt(']', BIpv6B); | ||
__x_.tt(']', BIpv6B); // Ensures max of 4 items per component are allowed | ||
for (var i = 1; i < 4; i++) { | ||
// Ensures max of 4 items per component are allowed | ||
for (let i = 1; i < 4; i++) { | ||
x = x.tr(HEX); | ||
@@ -146,47 +138,48 @@ x_x = x_x.tr(HEX); | ||
__x = __x.tr(HEX); | ||
__x.tt(':', __x_); | ||
__x.tt(']', BIpv6B); | ||
} | ||
}; | ||
/** | ||
* @type {import('linkifyjs').Plugin} | ||
*/ | ||
function ip(_ref3) { | ||
var scanner = _ref3.scanner, | ||
parser = _ref3.parser; | ||
var _scanner$tokens = scanner.tokens, | ||
COLON = _scanner$tokens.COLON, | ||
DOT = _scanner$tokens.DOT, | ||
SLASH = _scanner$tokens.SLASH, | ||
LOCALHOST = _scanner$tokens.LOCALHOST, | ||
SLASH_SCHEME = _scanner$tokens.SLASH_SCHEME, | ||
groups = _scanner$tokens.groups; | ||
var ByteDot = new State(); | ||
var ByteDotByte = new State(); | ||
var ByteDotByteDotByte = new State(); | ||
var IPv4 = new State(IPv4Token); | ||
for (var i = 0; i < groups.byte.length; i++) { | ||
let { | ||
scanner, | ||
parser | ||
} = _ref3; | ||
const { | ||
COLON, | ||
DOT, | ||
SLASH, | ||
LOCALHOST, | ||
SLASH_SCHEME, | ||
groups | ||
} = scanner.tokens; | ||
const ByteDot = new State(); | ||
const ByteDotByte = new State(); | ||
const ByteDotByteDotByte = new State(); | ||
const IPv4 = new State(IPv4Token); | ||
for (let i = 0; i < groups.byte.length; i++) { | ||
parser.start.tt(groups.byte[i]).tt(DOT, ByteDot); | ||
} | ||
ByteDot.ta(groups.byte, ByteDotByte); | ||
ByteDotByte.tt(DOT).ta(groups.byte, ByteDotByteDotByte); | ||
ByteDotByteDotByte.tt(DOT).ta(groups.byte, IPv4); // If IP followed by port or slash, make URL. Get existing URL state | ||
ByteDotByteDotByte.tt(DOT).ta(groups.byte, IPv4); | ||
var Url = parser.start.go(LOCALHOST).go(SLASH); | ||
// If IP followed by port or slash, make URL. Get existing URL state | ||
const Url = parser.start.go(LOCALHOST).go(SLASH); | ||
IPv4.tt(SLASH, Url); | ||
var IPv4Colon = IPv4.tt(COLON); | ||
var IPv4ColonPort = new State(multi.Url); | ||
const IPv4Colon = IPv4.tt(COLON); | ||
const IPv4ColonPort = new State(multi.Url); | ||
IPv4Colon.ta(groups.numeric, IPv4ColonPort); | ||
IPv4ColonPort.tt(SLASH, Url); // Detect IPv6 when followed by URL prefix | ||
IPv4ColonPort.tt(SLASH, Url); | ||
var UriPrefix = parser.start.go(SLASH_SCHEME).go(COLON).go(SLASH).go(SLASH); | ||
var UriPrefixIPv6 = UriPrefix.tt(B_IPV6_B, multi.Url); | ||
// Detect IPv6 when followed by URL prefix | ||
const UriPrefix = parser.start.go(SLASH_SCHEME).go(COLON).go(SLASH).go(SLASH); | ||
const UriPrefixIPv6 = UriPrefix.tt(B_IPV6_B, multi.Url); | ||
UriPrefixIPv6.tt(SLASH, Url); | ||
var UriPrefixIPv6Colon = UriPrefixIPv6.tt(COLON); | ||
var UriPrefixIPv6ColonPort = new State(multi.Url); | ||
const UriPrefixIPv6Colon = UriPrefixIPv6.tt(COLON); | ||
const UriPrefixIPv6ColonPort = new State(multi.Url); | ||
UriPrefixIPv6Colon.ta(groups.numeric, UriPrefixIPv6ColonPort); | ||
@@ -193,0 +186,0 @@ UriPrefixIPv6ColonPort.tt(SLASH, Url); |
(function (linkifyjs) { | ||
'use strict'; | ||
var B_IPV6_B = 'B_IPV6_B'; // 'bracket [', IPV6, '] bracket' | ||
const B_IPV6_B = 'B_IPV6_B'; // 'bracket [', IPV6, '] bracket' | ||
var IPv4Token = linkifyjs.createTokenClass('ipv4', { | ||
const IPv4Token = linkifyjs.createTokenClass('ipv4', { | ||
isLink: true, | ||
toHref: function toHref(scheme) { | ||
toHref(scheme) { | ||
if (scheme === void 0) { | ||
scheme = linkifyjs.options.defaults.defaultProtocol; | ||
} | ||
return scheme + "://" + this.v; | ||
return `${scheme}://${this.v}`; | ||
} | ||
}); | ||
/** | ||
* @type {import('linkifyjs').TokenPlugin} | ||
*/ | ||
function ipv4Tokens(_ref) { | ||
var scanner = _ref.scanner; | ||
var start = scanner.start; | ||
var flags = { | ||
let { | ||
scanner | ||
} = _ref; | ||
const { | ||
start | ||
} = scanner; | ||
const flags = { | ||
byte: true, | ||
numeric: true | ||
}; // States for [0, 9] | ||
}; | ||
var Digits = []; | ||
for (var i = 0; i < 10; i++) { | ||
var x = start.tt("" + i, "" + i, flags); | ||
// States for [0, 9] | ||
const Digits = []; | ||
for (let i = 0; i < 10; i++) { | ||
const x = start.tt(`${i}`, `${i}`, flags); | ||
Digits.push(x); | ||
} // States [10, 99] | ||
} | ||
for (var _i = 1; _i < 10; _i++) { | ||
var _x = Digits[_i]; | ||
for (var j = 0; j < 10; j++) { | ||
_x.tt("" + j, "" + _i + j, flags); | ||
// States [10, 99] | ||
for (let i = 1; i < 10; i++) { | ||
const x = Digits[i]; | ||
for (let j = 0; j < 10; j++) { | ||
x.tt(`${j}`, `${i}${j}`, flags); | ||
} | ||
} // States for [100, 199] | ||
} | ||
for (var _i2 = 0; _i2 < 10; _i2++) { | ||
var _xx = Digits[1].tt("" + _i2); | ||
for (var _j = 0; _j < 10; _j++) { | ||
_xx.tt("" + _j, "1" + _i2 + _j, flags); | ||
// States for [100, 199] | ||
for (let i = 0; i < 10; i++) { | ||
let xx = Digits[1].tt(`${i}`); | ||
for (let j = 0; j < 10; j++) { | ||
xx.tt(`${j}`, `1${i}${j}`, flags); | ||
} | ||
} // States for [200, 249] | ||
} | ||
for (var _i3 = 0; _i3 < 5; _i3++) { | ||
var _xx2 = Digits[2].tt("" + _i3); | ||
for (var _j2 = 0; _j2 < 10; _j2++) { | ||
_xx2.tt("" + _j2, "2" + _i3 + _j2, flags); | ||
// States for [200, 249] | ||
for (let i = 0; i < 5; i++) { | ||
let xx = Digits[2].tt(`${i}`); | ||
for (let j = 0; j < 10; j++) { | ||
xx.tt(`${j}`, `2${i}${j}`, flags); | ||
} | ||
} // States for [250, 255] | ||
} | ||
var xx = Digits[2].tt('5'); | ||
for (var _i4 = 0; _i4 < 6; _i4++) { | ||
xx.tt("" + _i4, "25" + _i4, flags); | ||
// States for [250, 255] | ||
let xx = Digits[2].tt('5'); | ||
for (let i = 0; i < 6; i++) { | ||
xx.tt(`${i}`, `25${i}`, flags); | ||
} | ||
} | ||
/** | ||
* @type {import('linkifyjs').TokenPlugin} | ||
*/ | ||
const ipv6Tokens = _ref2 => { | ||
let { | ||
scanner | ||
} = _ref2; | ||
const { | ||
start | ||
} = scanner; | ||
const HEX = /[0-9a-f]/; | ||
let z = start.tt('['); // [ | ||
let _ = z.tt(':'); // [: | ||
var ipv6Tokens = function ipv6Tokens(_ref2) { | ||
var scanner = _ref2.scanner; | ||
var start = scanner.start; | ||
var HEX = /[0-9a-f]/; | ||
var z = start.tt('['); // [ | ||
let x = z.tr(HEX); | ||
let x_ = x.tt(':'); | ||
let x_x = x_.tr(HEX); | ||
let x_x_ = x_x.tt(':'); | ||
let x_x_x = x_x_.tr(HEX); | ||
let x_x_x_ = x_x_x.tt(':'); | ||
let x_x_x_x = x_x_x_.tr(HEX); | ||
let x_x_x_x_ = x_x_x_x.tt(':'); | ||
let x_x_x_x_x = x_x_x_x_.tr(HEX); | ||
let x_x_x_x_x_ = x_x_x_x_x.tt(':'); | ||
let x_x_x_x_x_x = x_x_x_x_x_.tr(HEX); | ||
let x_x_x_x_x_x_ = x_x_x_x_x_x.tt(':'); | ||
let x_x_x_x_x_x_x = x_x_x_x_x_x_.tr(HEX); | ||
let x_x_x_x_x_x_x_ = x_x_x_x_x_x_x.tt(':'); | ||
let x_x_x_x_x_x_x_x = x_x_x_x_x_x_x_.tr(HEX); | ||
let BIpv6B = x_x_x_x_x_x_x_x.tt(']', B_IPV6_B); | ||
x_x_x_x_x_x_x_.tt(']', BIpv6B); | ||
var _ = z.tt(':'); // [: | ||
var x = z.tr(HEX); | ||
var x_ = x.tt(':'); | ||
var x_x = x_.tr(HEX); | ||
var x_x_ = x_x.tt(':'); | ||
var x_x_x = x_x_.tr(HEX); | ||
var x_x_x_ = x_x_x.tt(':'); | ||
var x_x_x_x = x_x_x_.tr(HEX); | ||
var x_x_x_x_ = x_x_x_x.tt(':'); | ||
var x_x_x_x_x = x_x_x_x_.tr(HEX); | ||
var x_x_x_x_x_ = x_x_x_x_x.tt(':'); | ||
var x_x_x_x_x_x = x_x_x_x_x_.tr(HEX); | ||
var x_x_x_x_x_x_ = x_x_x_x_x_x.tt(':'); | ||
var x_x_x_x_x_x_x = x_x_x_x_x_x_.tr(HEX); | ||
var x_x_x_x_x_x_x_ = x_x_x_x_x_x_x.tt(':'); | ||
var x_x_x_x_x_x_x_x = x_x_x_x_x_x_x_.tr(HEX); | ||
var BIpv6B = x_x_x_x_x_x_x_x.tt(']', B_IPV6_B); | ||
x_x_x_x_x_x_x_.tt(']', BIpv6B); // Note: This isn't quite right because it allows unlimited components but | ||
// Note: This isn't quite right because it allows unlimited components but | ||
// it's proved difficult to come up with a correct implementation. | ||
var __ = _.tt(':'); // [:: | ||
var __x = __.tr(HEX); | ||
var __x_ = __x.tt(':'); | ||
let __ = _.tt(':'); // [:: | ||
let __x = __.tr(HEX); | ||
let __x_ = __x.tt(':'); | ||
__x_.tt(':', __); | ||
__x_.tr(HEX, __x); | ||
x_.tt(':', __); | ||
@@ -118,13 +114,9 @@ x_x_.tt(':', __); | ||
x_x_x_x_x_x_.tt(':', __); | ||
_.tr(HEX, x_x); | ||
__.tt(']', BIpv6B); | ||
__x.tt(']', BIpv6B); | ||
__x_.tt(']', BIpv6B); | ||
__x_.tt(']', BIpv6B); // Ensures max of 4 items per component are allowed | ||
for (var i = 1; i < 4; i++) { | ||
// Ensures max of 4 items per component are allowed | ||
for (let i = 1; i < 4; i++) { | ||
x = x.tr(HEX); | ||
@@ -147,47 +139,48 @@ x_x = x_x.tr(HEX); | ||
__x = __x.tr(HEX); | ||
__x.tt(':', __x_); | ||
__x.tt(']', BIpv6B); | ||
} | ||
}; | ||
/** | ||
* @type {import('linkifyjs').Plugin} | ||
*/ | ||
function ip(_ref3) { | ||
var scanner = _ref3.scanner, | ||
parser = _ref3.parser; | ||
var _scanner$tokens = scanner.tokens, | ||
COLON = _scanner$tokens.COLON, | ||
DOT = _scanner$tokens.DOT, | ||
SLASH = _scanner$tokens.SLASH, | ||
LOCALHOST = _scanner$tokens.LOCALHOST, | ||
SLASH_SCHEME = _scanner$tokens.SLASH_SCHEME, | ||
groups = _scanner$tokens.groups; | ||
var ByteDot = new linkifyjs.State(); | ||
var ByteDotByte = new linkifyjs.State(); | ||
var ByteDotByteDotByte = new linkifyjs.State(); | ||
var IPv4 = new linkifyjs.State(IPv4Token); | ||
for (var i = 0; i < groups.byte.length; i++) { | ||
let { | ||
scanner, | ||
parser | ||
} = _ref3; | ||
const { | ||
COLON, | ||
DOT, | ||
SLASH, | ||
LOCALHOST, | ||
SLASH_SCHEME, | ||
groups | ||
} = scanner.tokens; | ||
const ByteDot = new linkifyjs.State(); | ||
const ByteDotByte = new linkifyjs.State(); | ||
const ByteDotByteDotByte = new linkifyjs.State(); | ||
const IPv4 = new linkifyjs.State(IPv4Token); | ||
for (let i = 0; i < groups.byte.length; i++) { | ||
parser.start.tt(groups.byte[i]).tt(DOT, ByteDot); | ||
} | ||
ByteDot.ta(groups.byte, ByteDotByte); | ||
ByteDotByte.tt(DOT).ta(groups.byte, ByteDotByteDotByte); | ||
ByteDotByteDotByte.tt(DOT).ta(groups.byte, IPv4); // If IP followed by port or slash, make URL. Get existing URL state | ||
ByteDotByteDotByte.tt(DOT).ta(groups.byte, IPv4); | ||
var Url = parser.start.go(LOCALHOST).go(SLASH); | ||
// If IP followed by port or slash, make URL. Get existing URL state | ||
const Url = parser.start.go(LOCALHOST).go(SLASH); | ||
IPv4.tt(SLASH, Url); | ||
var IPv4Colon = IPv4.tt(COLON); | ||
var IPv4ColonPort = new linkifyjs.State(linkifyjs.multi.Url); | ||
const IPv4Colon = IPv4.tt(COLON); | ||
const IPv4ColonPort = new linkifyjs.State(linkifyjs.multi.Url); | ||
IPv4Colon.ta(groups.numeric, IPv4ColonPort); | ||
IPv4ColonPort.tt(SLASH, Url); // Detect IPv6 when followed by URL prefix | ||
IPv4ColonPort.tt(SLASH, Url); | ||
var UriPrefix = parser.start.go(SLASH_SCHEME).go(COLON).go(SLASH).go(SLASH); | ||
var UriPrefixIPv6 = UriPrefix.tt(B_IPV6_B, linkifyjs.multi.Url); | ||
// Detect IPv6 when followed by URL prefix | ||
const UriPrefix = parser.start.go(SLASH_SCHEME).go(COLON).go(SLASH).go(SLASH); | ||
const UriPrefixIPv6 = UriPrefix.tt(B_IPV6_B, linkifyjs.multi.Url); | ||
UriPrefixIPv6.tt(SLASH, Url); | ||
var UriPrefixIPv6Colon = UriPrefixIPv6.tt(COLON); | ||
var UriPrefixIPv6ColonPort = new linkifyjs.State(linkifyjs.multi.Url); | ||
const UriPrefixIPv6Colon = UriPrefixIPv6.tt(COLON); | ||
const UriPrefixIPv6ColonPort = new linkifyjs.State(linkifyjs.multi.Url); | ||
UriPrefixIPv6Colon.ta(groups.numeric, UriPrefixIPv6ColonPort); | ||
@@ -194,0 +187,0 @@ UriPrefixIPv6ColonPort.tt(SLASH, Url); |
@@ -1,1 +0,1 @@ | ||
!function(t){"use strict";var r="B_IPV6_B",a=t.createTokenClass("ipv4",{isLink:!0,toHref:function(r){return void 0===r&&(r=t.options.defaults.defaultProtocol),r+"://"+this.v}});t.registerTokenPlugin("ipv4",(function(t){for(var r=t.scanner.start,a={byte:!0,numeric:!0},e=[],n=0;n<10;n++){var o=r.tt(""+n,""+n,a);e.push(o)}for(var i=1;i<10;i++)for(var s=e[i],v=0;v<10;v++)s.tt(""+v,""+i+v,a);for(var f=0;f<10;f++)for(var u=e[1].tt(""+f),l=0;l<10;l++)u.tt(""+l,"1"+f+l,a);for(var c=0;c<5;c++)for(var g=e[2].tt(""+c),S=0;S<10;S++)g.tt(""+S,"2"+c+S,a);for(var p=e[2].tt("5"),y=0;y<6;y++)p.tt(""+y,"25"+y,a)})),t.registerTokenPlugin("ipv6",(function(t){var a=/[0-9a-f]/,e=t.scanner.start.tt("["),n=e.tt(":"),o=e.tr(a),i=o.tt(":"),s=i.tr(a),v=s.tt(":"),f=v.tr(a),u=f.tt(":"),l=u.tr(a),c=l.tt(":"),g=c.tr(a),S=g.tt(":"),p=S.tr(a),y=p.tt(":"),b=y.tr(a),k=b.tt(":"),m=k.tr(a),w=m.tt("]",r);k.tt("]",w);var L=n.tt(":"),H=L.tr(a),O=H.tt(":");O.tt(":",L),O.tr(a,H),i.tt(":",L),v.tt(":",L),u.tt(":",L),c.tt(":",L),S.tt(":",L),y.tt(":",L),n.tr(a,s),L.tt("]",w),H.tt("]",w),O.tt("]",w);for(var P=1;P<4;P++)o=o.tr(a),s=s.tr(a),f=f.tr(a),l=l.tr(a),g=g.tr(a),p=p.tr(a),b=b.tr(a),m=m.tr(a),o.tt(":",i),s.tt(":",v),f.tt(":",u),l.tt(":",c),g.tt(":",S),p.tt(":",y),b.tt(":",k),m.tt("]",w),(H=H.tr(a)).tt(":",O),H.tt("]",w)})),t.registerPlugin("ip",(function(e){for(var n=e.scanner,o=e.parser,i=n.tokens,s=i.COLON,v=i.DOT,f=i.SLASH,u=i.LOCALHOST,l=i.SLASH_SCHEME,c=i.groups,g=new t.State,S=new t.State,p=new t.State,y=new t.State(a),b=0;b<c.byte.length;b++)o.start.tt(c.byte[b]).tt(v,g);g.ta(c.byte,S),S.tt(v).ta(c.byte,p),p.tt(v).ta(c.byte,y);var k=o.start.go(u).go(f);y.tt(f,k);var m=y.tt(s),w=new t.State(t.multi.Url);m.ta(c.numeric,w),w.tt(f,k);var L=o.start.go(l).go(s).go(f).go(f).tt(r,t.multi.Url);L.tt(f,k);var H=L.tt(s),O=new t.State(t.multi.Url);H.ta(c.numeric,O),O.tt(f,k)}))}(linkify); | ||
!function(t){"use strict";const e="B_IPV6_B",r=t.createTokenClass("ipv4",{isLink:!0,toHref(e){return void 0===e&&(e=t.options.defaults.defaultProtocol),`${e}://${this.v}`}});t.registerTokenPlugin("ipv4",(function(t){let{scanner:e}=t;const{start:r}=e,n={byte:!0,numeric:!0},o=[];for(let t=0;t<10;t++){const e=r.tt(`${t}`,`${t}`,n);o.push(e)}for(let t=1;t<10;t++){const e=o[t];for(let r=0;r<10;r++)e.tt(`${r}`,`${t}${r}`,n)}for(let t=0;t<10;t++){let e=o[1].tt(`${t}`);for(let r=0;r<10;r++)e.tt(`${r}`,`1${t}${r}`,n)}for(let t=0;t<5;t++){let e=o[2].tt(`${t}`);for(let r=0;r<10;r++)e.tt(`${r}`,`2${t}${r}`,n)}let l=o[2].tt("5");for(let t=0;t<6;t++)l.tt(`${t}`,`25${t}`,n)})),t.registerTokenPlugin("ipv6",(t=>{let{scanner:r}=t;const{start:n}=r,o=/[0-9a-f]/;let l=n.tt("["),s=l.tt(":"),i=l.tr(o),a=i.tt(":"),c=a.tr(o),f=c.tt(":"),u=f.tr(o),$=u.tt(":"),g=$.tr(o),S=g.tt(":"),p=S.tr(o),y=p.tt(":"),b=y.tr(o),k=b.tt(":"),m=k.tr(o),w=m.tt(":"),L=w.tr(o),v=L.tt("]",e);w.tt("]",v);let H=s.tt(":"),O=H.tr(o),P=O.tt(":");P.tt(":",H),P.tr(o,O),a.tt(":",H),f.tt(":",H),$.tt(":",H),S.tt(":",H),y.tt(":",H),k.tt(":",H),s.tr(o,c),H.tt("]",v),O.tt("]",v),P.tt("]",v);for(let t=1;t<4;t++)i=i.tr(o),c=c.tr(o),u=u.tr(o),g=g.tr(o),p=p.tr(o),b=b.tr(o),m=m.tr(o),L=L.tr(o),i.tt(":",a),c.tt(":",f),u.tt(":",$),g.tt(":",S),p.tt(":",y),b.tt(":",k),m.tt(":",w),L.tt("]",v),O=O.tr(o),O.tt(":",P),O.tt("]",v)})),t.registerPlugin("ip",(function(n){let{scanner:o,parser:l}=n;const{COLON:s,DOT:i,SLASH:a,LOCALHOST:c,SLASH_SCHEME:f,groups:u}=o.tokens,$=new t.State,g=new t.State,S=new t.State,p=new t.State(r);for(let t=0;t<u.byte.length;t++)l.start.tt(u.byte[t]).tt(i,$);$.ta(u.byte,g),g.tt(i).ta(u.byte,S),S.tt(i).ta(u.byte,p);const y=l.start.go(c).go(a);p.tt(a,y);const b=p.tt(s),k=new t.State(t.multi.Url);b.ta(u.numeric,k),k.tt(a,y);const m=l.start.go(f).go(s).go(a).go(a).tt(e,t.multi.Url);m.tt(a,y);const w=m.tt(s),L=new t.State(t.multi.Url);w.ta(u.numeric,L),L.tt(a,y)}))}(linkify); |
{ | ||
"name": "linkify-plugin-ip", | ||
"version": "4.0.2", | ||
"version": "4.1.0", | ||
"description": "IP address plugin for linkifyjs", | ||
@@ -5,0 +5,0 @@ "main": "dist/linkify-plugin-ip.cjs.js", |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
532
12.71%19570
-3.03%1
Infinity%