New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

linkify-plugin-ip

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

linkify-plugin-ip - npm Package Compare versions

Comparing version

to
4.1.0

215

dist/linkify-plugin-ip.cjs.js

@@ -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",