mirror of
https://github.com/a-sync/game-server-watcher.git
synced 2026-08-02 10:29:31 -04:00
upd. deps (5.7 MB)
This commit is contained in:
585
node_modules/@sindresorhus/is/dist/index.js
generated
vendored
585
node_modules/@sindresorhus/is/dist/index.js
generated
vendored
@@ -1,54 +1,113 @@
|
||||
"use strict";
|
||||
/// <reference lib="es2016"/>
|
||||
/// <reference lib="es2017.sharedmemory"/>
|
||||
/// <reference lib="esnext.asynciterable"/>
|
||||
/// <reference lib="es2018"/>
|
||||
/// <reference lib="dom"/>
|
||||
/// <reference types="node"/>
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
// TODO: Use the `URL` global when targeting Node.js 10
|
||||
// tslint:disable-next-line
|
||||
const URLGlobal = typeof URL === 'undefined' ? require('url').URL : URL;
|
||||
const toString = Object.prototype.toString;
|
||||
const isOfType = (type) => (value) => typeof value === type;
|
||||
const isBuffer = (input) => !is.nullOrUndefined(input) && !is.nullOrUndefined(input.constructor) && is.function_(input.constructor.isBuffer) && input.constructor.isBuffer(input);
|
||||
const typedArrayTypeNames = [
|
||||
'Int8Array',
|
||||
'Uint8Array',
|
||||
'Uint8ClampedArray',
|
||||
'Int16Array',
|
||||
'Uint16Array',
|
||||
'Int32Array',
|
||||
'Uint32Array',
|
||||
'Float32Array',
|
||||
'Float64Array',
|
||||
'BigInt64Array',
|
||||
'BigUint64Array'
|
||||
];
|
||||
function isTypedArrayName(name) {
|
||||
return typedArrayTypeNames.includes(name);
|
||||
}
|
||||
const objectTypeNames = [
|
||||
'Function',
|
||||
'Generator',
|
||||
'AsyncGenerator',
|
||||
'GeneratorFunction',
|
||||
'AsyncGeneratorFunction',
|
||||
'AsyncFunction',
|
||||
'Observable',
|
||||
'Array',
|
||||
'Buffer',
|
||||
'Blob',
|
||||
'Object',
|
||||
'RegExp',
|
||||
'Date',
|
||||
'Error',
|
||||
'Map',
|
||||
'Set',
|
||||
'WeakMap',
|
||||
'WeakSet',
|
||||
'ArrayBuffer',
|
||||
'SharedArrayBuffer',
|
||||
'DataView',
|
||||
'Promise',
|
||||
'URL',
|
||||
'FormData',
|
||||
'URLSearchParams',
|
||||
'HTMLElement',
|
||||
...typedArrayTypeNames
|
||||
];
|
||||
function isObjectTypeName(name) {
|
||||
return objectTypeNames.includes(name);
|
||||
}
|
||||
const primitiveTypeNames = [
|
||||
'null',
|
||||
'undefined',
|
||||
'string',
|
||||
'number',
|
||||
'bigint',
|
||||
'boolean',
|
||||
'symbol'
|
||||
];
|
||||
function isPrimitiveTypeName(name) {
|
||||
return primitiveTypeNames.includes(name);
|
||||
}
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
function isOfType(type) {
|
||||
return (value) => typeof value === type;
|
||||
}
|
||||
const { toString } = Object.prototype;
|
||||
const getObjectType = (value) => {
|
||||
const objectName = toString.call(value).slice(8, -1);
|
||||
if (objectName) {
|
||||
return objectName;
|
||||
const objectTypeName = toString.call(value).slice(8, -1);
|
||||
if (/HTML\w+Element/.test(objectTypeName) && is.domElement(value)) {
|
||||
return 'HTMLElement';
|
||||
}
|
||||
return null;
|
||||
if (isObjectTypeName(objectTypeName)) {
|
||||
return objectTypeName;
|
||||
}
|
||||
return undefined;
|
||||
};
|
||||
const isObjectOfType = (type) => (value) => getObjectType(value) === type;
|
||||
function is(value) {
|
||||
switch (value) {
|
||||
case null:
|
||||
return "null" /* null */;
|
||||
case true:
|
||||
case false:
|
||||
return "boolean" /* boolean */;
|
||||
default:
|
||||
if (value === null) {
|
||||
return 'null';
|
||||
}
|
||||
switch (typeof value) {
|
||||
case 'undefined':
|
||||
return "undefined" /* undefined */;
|
||||
return 'undefined';
|
||||
case 'string':
|
||||
return "string" /* string */;
|
||||
return 'string';
|
||||
case 'number':
|
||||
return "number" /* number */;
|
||||
return 'number';
|
||||
case 'boolean':
|
||||
return 'boolean';
|
||||
case 'function':
|
||||
return 'Function';
|
||||
case 'bigint':
|
||||
return 'bigint';
|
||||
case 'symbol':
|
||||
return "symbol" /* symbol */;
|
||||
return 'symbol';
|
||||
default:
|
||||
}
|
||||
if (is.function_(value)) {
|
||||
return "Function" /* Function */;
|
||||
}
|
||||
if (is.observable(value)) {
|
||||
return "Observable" /* Observable */;
|
||||
return 'Observable';
|
||||
}
|
||||
if (Array.isArray(value)) {
|
||||
return "Array" /* Array */;
|
||||
if (is.array(value)) {
|
||||
return 'Array';
|
||||
}
|
||||
if (isBuffer(value)) {
|
||||
return "Buffer" /* Buffer */;
|
||||
if (is.buffer(value)) {
|
||||
return 'Buffer';
|
||||
}
|
||||
const tagType = getObjectType(value);
|
||||
if (tagType) {
|
||||
@@ -57,174 +116,293 @@ function is(value) {
|
||||
if (value instanceof String || value instanceof Boolean || value instanceof Number) {
|
||||
throw new TypeError('Please don\'t use object wrappers for primitive types');
|
||||
}
|
||||
return "Object" /* Object */;
|
||||
return 'Object';
|
||||
}
|
||||
(function (is) {
|
||||
// tslint:disable-next-line:strict-type-predicates
|
||||
const isObject = (value) => typeof value === 'object';
|
||||
// tslint:disable:variable-name
|
||||
is.undefined = isOfType('undefined');
|
||||
is.string = isOfType('string');
|
||||
is.number = isOfType('number');
|
||||
is.function_ = isOfType('function');
|
||||
// tslint:disable-next-line:strict-type-predicates
|
||||
is.null_ = (value) => value === null;
|
||||
is.class_ = (value) => is.function_(value) && value.toString().startsWith('class ');
|
||||
is.boolean = (value) => value === true || value === false;
|
||||
is.symbol = isOfType('symbol');
|
||||
// tslint:enable:variable-name
|
||||
is.numericString = (value) => is.string(value) && value.length > 0 && !Number.isNaN(Number(value));
|
||||
is.array = Array.isArray;
|
||||
is.buffer = isBuffer;
|
||||
is.nullOrUndefined = (value) => is.null_(value) || is.undefined(value);
|
||||
is.object = (value) => !is.nullOrUndefined(value) && (is.function_(value) || isObject(value));
|
||||
is.iterable = (value) => !is.nullOrUndefined(value) && is.function_(value[Symbol.iterator]);
|
||||
is.asyncIterable = (value) => !is.nullOrUndefined(value) && is.function_(value[Symbol.asyncIterator]);
|
||||
is.generator = (value) => is.iterable(value) && is.function_(value.next) && is.function_(value.throw);
|
||||
is.nativePromise = (value) => isObjectOfType("Promise" /* Promise */)(value);
|
||||
const hasPromiseAPI = (value) => !is.null_(value) &&
|
||||
isObject(value) &&
|
||||
is.function_(value.then) &&
|
||||
is.function_(value.catch);
|
||||
is.promise = (value) => is.nativePromise(value) || hasPromiseAPI(value);
|
||||
is.generatorFunction = isObjectOfType("GeneratorFunction" /* GeneratorFunction */);
|
||||
is.asyncFunction = isObjectOfType("AsyncFunction" /* AsyncFunction */);
|
||||
is.boundFunction = (value) => is.function_(value) && !value.hasOwnProperty('prototype');
|
||||
is.regExp = isObjectOfType("RegExp" /* RegExp */);
|
||||
is.date = isObjectOfType("Date" /* Date */);
|
||||
is.error = isObjectOfType("Error" /* Error */);
|
||||
is.map = (value) => isObjectOfType("Map" /* Map */)(value);
|
||||
is.set = (value) => isObjectOfType("Set" /* Set */)(value);
|
||||
is.weakMap = (value) => isObjectOfType("WeakMap" /* WeakMap */)(value);
|
||||
is.weakSet = (value) => isObjectOfType("WeakSet" /* WeakSet */)(value);
|
||||
is.int8Array = isObjectOfType("Int8Array" /* Int8Array */);
|
||||
is.uint8Array = isObjectOfType("Uint8Array" /* Uint8Array */);
|
||||
is.uint8ClampedArray = isObjectOfType("Uint8ClampedArray" /* Uint8ClampedArray */);
|
||||
is.int16Array = isObjectOfType("Int16Array" /* Int16Array */);
|
||||
is.uint16Array = isObjectOfType("Uint16Array" /* Uint16Array */);
|
||||
is.int32Array = isObjectOfType("Int32Array" /* Int32Array */);
|
||||
is.uint32Array = isObjectOfType("Uint32Array" /* Uint32Array */);
|
||||
is.float32Array = isObjectOfType("Float32Array" /* Float32Array */);
|
||||
is.float64Array = isObjectOfType("Float64Array" /* Float64Array */);
|
||||
is.arrayBuffer = isObjectOfType("ArrayBuffer" /* ArrayBuffer */);
|
||||
is.sharedArrayBuffer = isObjectOfType("SharedArrayBuffer" /* SharedArrayBuffer */);
|
||||
is.dataView = isObjectOfType("DataView" /* DataView */);
|
||||
is.directInstanceOf = (instance, klass) => Object.getPrototypeOf(instance) === klass.prototype;
|
||||
is.urlInstance = (value) => isObjectOfType("URL" /* URL */)(value);
|
||||
is.urlString = (value) => {
|
||||
if (!is.string(value)) {
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
new URLGlobal(value); // tslint:disable-line no-unused-expression
|
||||
return true;
|
||||
}
|
||||
catch (_a) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
is.truthy = (value) => Boolean(value);
|
||||
is.falsy = (value) => !value;
|
||||
is.nan = (value) => Number.isNaN(value);
|
||||
const primitiveTypes = new Set([
|
||||
'undefined',
|
||||
'string',
|
||||
'number',
|
||||
'boolean',
|
||||
'symbol'
|
||||
]);
|
||||
is.primitive = (value) => is.null_(value) || primitiveTypes.has(typeof value);
|
||||
is.integer = (value) => Number.isInteger(value);
|
||||
is.safeInteger = (value) => Number.isSafeInteger(value);
|
||||
is.plainObject = (value) => {
|
||||
// From: https://github.com/sindresorhus/is-plain-obj/blob/master/index.js
|
||||
let prototype;
|
||||
return getObjectType(value) === "Object" /* Object */ &&
|
||||
(prototype = Object.getPrototypeOf(value), prototype === null || // tslint:disable-line:ban-comma-operator
|
||||
prototype === Object.getPrototypeOf({}));
|
||||
};
|
||||
const typedArrayTypes = new Set([
|
||||
"Int8Array" /* Int8Array */,
|
||||
"Uint8Array" /* Uint8Array */,
|
||||
"Uint8ClampedArray" /* Uint8ClampedArray */,
|
||||
"Int16Array" /* Int16Array */,
|
||||
"Uint16Array" /* Uint16Array */,
|
||||
"Int32Array" /* Int32Array */,
|
||||
"Uint32Array" /* Uint32Array */,
|
||||
"Float32Array" /* Float32Array */,
|
||||
"Float64Array" /* Float64Array */
|
||||
]);
|
||||
is.typedArray = (value) => {
|
||||
const objectType = getObjectType(value);
|
||||
if (objectType === null) {
|
||||
return false;
|
||||
}
|
||||
return typedArrayTypes.has(objectType);
|
||||
};
|
||||
const isValidLength = (value) => is.safeInteger(value) && value > -1;
|
||||
is.arrayLike = (value) => !is.nullOrUndefined(value) && !is.function_(value) && isValidLength(value.length);
|
||||
is.inRange = (value, range) => {
|
||||
if (is.number(range)) {
|
||||
return value >= Math.min(0, range) && value <= Math.max(range, 0);
|
||||
}
|
||||
if (is.array(range) && range.length === 2) {
|
||||
return value >= Math.min(...range) && value <= Math.max(...range);
|
||||
}
|
||||
throw new TypeError(`Invalid range: ${JSON.stringify(range)}`);
|
||||
};
|
||||
const NODE_TYPE_ELEMENT = 1;
|
||||
const DOM_PROPERTIES_TO_CHECK = [
|
||||
'innerHTML',
|
||||
'ownerDocument',
|
||||
'style',
|
||||
'attributes',
|
||||
'nodeValue'
|
||||
];
|
||||
is.domElement = (value) => is.object(value) && value.nodeType === NODE_TYPE_ELEMENT && is.string(value.nodeName) &&
|
||||
!is.plainObject(value) && DOM_PROPERTIES_TO_CHECK.every(property => property in value);
|
||||
is.observable = (value) => {
|
||||
if (!value) {
|
||||
return false;
|
||||
}
|
||||
if (value[Symbol.observable] && value === value[Symbol.observable]()) {
|
||||
return true;
|
||||
}
|
||||
if (value['@@observable'] && value === value['@@observable']()) {
|
||||
return true;
|
||||
}
|
||||
is.undefined = isOfType('undefined');
|
||||
is.string = isOfType('string');
|
||||
const isNumberType = isOfType('number');
|
||||
is.number = (value) => isNumberType(value) && !is.nan(value);
|
||||
is.bigint = isOfType('bigint');
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
is.function_ = isOfType('function');
|
||||
is.null_ = (value) => value === null;
|
||||
is.class_ = (value) => is.function_(value) && value.toString().startsWith('class ');
|
||||
is.boolean = (value) => value === true || value === false;
|
||||
is.symbol = isOfType('symbol');
|
||||
is.numericString = (value) => is.string(value) && !is.emptyStringOrWhitespace(value) && !Number.isNaN(Number(value));
|
||||
is.array = (value, assertion) => {
|
||||
if (!Array.isArray(value)) {
|
||||
return false;
|
||||
};
|
||||
is.nodeStream = (value) => !is.nullOrUndefined(value) && isObject(value) && is.function_(value.pipe) && !is.observable(value);
|
||||
is.infinite = (value) => value === Infinity || value === -Infinity;
|
||||
const isAbsoluteMod2 = (rem) => (value) => is.integer(value) && Math.abs(value % 2) === rem;
|
||||
is.even = isAbsoluteMod2(0);
|
||||
is.odd = isAbsoluteMod2(1);
|
||||
const isWhiteSpaceString = (value) => is.string(value) && /\S/.test(value) === false;
|
||||
is.emptyArray = (value) => is.array(value) && value.length === 0;
|
||||
is.nonEmptyArray = (value) => is.array(value) && value.length > 0;
|
||||
is.emptyString = (value) => is.string(value) && value.length === 0;
|
||||
is.nonEmptyString = (value) => is.string(value) && value.length > 0;
|
||||
is.emptyStringOrWhitespace = (value) => is.emptyString(value) || isWhiteSpaceString(value);
|
||||
is.emptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length === 0;
|
||||
is.nonEmptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length > 0;
|
||||
is.emptySet = (value) => is.set(value) && value.size === 0;
|
||||
is.nonEmptySet = (value) => is.set(value) && value.size > 0;
|
||||
is.emptyMap = (value) => is.map(value) && value.size === 0;
|
||||
is.nonEmptyMap = (value) => is.map(value) && value.size > 0;
|
||||
const predicateOnArray = (method, predicate, values) => {
|
||||
if (is.function_(predicate) === false) {
|
||||
throw new TypeError(`Invalid predicate: ${JSON.stringify(predicate)}`);
|
||||
}
|
||||
if (!is.function_(assertion)) {
|
||||
return true;
|
||||
}
|
||||
return value.every(assertion);
|
||||
};
|
||||
is.buffer = (value) => { var _a, _b, _c, _d; return (_d = (_c = (_b = (_a = value) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.isBuffer) === null || _c === void 0 ? void 0 : _c.call(_b, value)) !== null && _d !== void 0 ? _d : false; };
|
||||
is.blob = (value) => isObjectOfType('Blob')(value);
|
||||
is.nullOrUndefined = (value) => is.null_(value) || is.undefined(value);
|
||||
is.object = (value) => !is.null_(value) && (typeof value === 'object' || is.function_(value));
|
||||
is.iterable = (value) => { var _a; return is.function_((_a = value) === null || _a === void 0 ? void 0 : _a[Symbol.iterator]); };
|
||||
is.asyncIterable = (value) => { var _a; return is.function_((_a = value) === null || _a === void 0 ? void 0 : _a[Symbol.asyncIterator]); };
|
||||
is.generator = (value) => { var _a, _b; return is.iterable(value) && is.function_((_a = value) === null || _a === void 0 ? void 0 : _a.next) && is.function_((_b = value) === null || _b === void 0 ? void 0 : _b.throw); };
|
||||
is.asyncGenerator = (value) => is.asyncIterable(value) && is.function_(value.next) && is.function_(value.throw);
|
||||
is.nativePromise = (value) => isObjectOfType('Promise')(value);
|
||||
const hasPromiseAPI = (value) => {
|
||||
var _a, _b;
|
||||
return is.function_((_a = value) === null || _a === void 0 ? void 0 : _a.then) &&
|
||||
is.function_((_b = value) === null || _b === void 0 ? void 0 : _b.catch);
|
||||
};
|
||||
is.promise = (value) => is.nativePromise(value) || hasPromiseAPI(value);
|
||||
is.generatorFunction = isObjectOfType('GeneratorFunction');
|
||||
is.asyncGeneratorFunction = (value) => getObjectType(value) === 'AsyncGeneratorFunction';
|
||||
is.asyncFunction = (value) => getObjectType(value) === 'AsyncFunction';
|
||||
// eslint-disable-next-line no-prototype-builtins, @typescript-eslint/ban-types
|
||||
is.boundFunction = (value) => is.function_(value) && !value.hasOwnProperty('prototype');
|
||||
is.regExp = isObjectOfType('RegExp');
|
||||
is.date = isObjectOfType('Date');
|
||||
is.error = isObjectOfType('Error');
|
||||
is.map = (value) => isObjectOfType('Map')(value);
|
||||
is.set = (value) => isObjectOfType('Set')(value);
|
||||
is.weakMap = (value) => isObjectOfType('WeakMap')(value);
|
||||
is.weakSet = (value) => isObjectOfType('WeakSet')(value);
|
||||
is.int8Array = isObjectOfType('Int8Array');
|
||||
is.uint8Array = isObjectOfType('Uint8Array');
|
||||
is.uint8ClampedArray = isObjectOfType('Uint8ClampedArray');
|
||||
is.int16Array = isObjectOfType('Int16Array');
|
||||
is.uint16Array = isObjectOfType('Uint16Array');
|
||||
is.int32Array = isObjectOfType('Int32Array');
|
||||
is.uint32Array = isObjectOfType('Uint32Array');
|
||||
is.float32Array = isObjectOfType('Float32Array');
|
||||
is.float64Array = isObjectOfType('Float64Array');
|
||||
is.bigInt64Array = isObjectOfType('BigInt64Array');
|
||||
is.bigUint64Array = isObjectOfType('BigUint64Array');
|
||||
is.arrayBuffer = isObjectOfType('ArrayBuffer');
|
||||
is.sharedArrayBuffer = isObjectOfType('SharedArrayBuffer');
|
||||
is.dataView = isObjectOfType('DataView');
|
||||
is.enumCase = (value, targetEnum) => Object.values(targetEnum).includes(value);
|
||||
is.directInstanceOf = (instance, class_) => Object.getPrototypeOf(instance) === class_.prototype;
|
||||
is.urlInstance = (value) => isObjectOfType('URL')(value);
|
||||
is.urlString = (value) => {
|
||||
if (!is.string(value)) {
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
new URL(value); // eslint-disable-line no-new
|
||||
return true;
|
||||
}
|
||||
catch (_a) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
// Example: `is.truthy = (value: unknown): value is (not false | not 0 | not '' | not undefined | not null) => Boolean(value);`
|
||||
is.truthy = (value) => Boolean(value);
|
||||
// Example: `is.falsy = (value: unknown): value is (not true | 0 | '' | undefined | null) => Boolean(value);`
|
||||
is.falsy = (value) => !value;
|
||||
is.nan = (value) => Number.isNaN(value);
|
||||
is.primitive = (value) => is.null_(value) || isPrimitiveTypeName(typeof value);
|
||||
is.integer = (value) => Number.isInteger(value);
|
||||
is.safeInteger = (value) => Number.isSafeInteger(value);
|
||||
is.plainObject = (value) => {
|
||||
// From: https://github.com/sindresorhus/is-plain-obj/blob/main/index.js
|
||||
if (toString.call(value) !== '[object Object]') {
|
||||
return false;
|
||||
}
|
||||
const prototype = Object.getPrototypeOf(value);
|
||||
return prototype === null || prototype === Object.getPrototypeOf({});
|
||||
};
|
||||
is.typedArray = (value) => isTypedArrayName(getObjectType(value));
|
||||
const isValidLength = (value) => is.safeInteger(value) && value >= 0;
|
||||
is.arrayLike = (value) => !is.nullOrUndefined(value) && !is.function_(value) && isValidLength(value.length);
|
||||
is.inRange = (value, range) => {
|
||||
if (is.number(range)) {
|
||||
return value >= Math.min(0, range) && value <= Math.max(range, 0);
|
||||
}
|
||||
if (is.array(range) && range.length === 2) {
|
||||
return value >= Math.min(...range) && value <= Math.max(...range);
|
||||
}
|
||||
throw new TypeError(`Invalid range: ${JSON.stringify(range)}`);
|
||||
};
|
||||
const NODE_TYPE_ELEMENT = 1;
|
||||
const DOM_PROPERTIES_TO_CHECK = [
|
||||
'innerHTML',
|
||||
'ownerDocument',
|
||||
'style',
|
||||
'attributes',
|
||||
'nodeValue'
|
||||
];
|
||||
is.domElement = (value) => {
|
||||
return is.object(value) &&
|
||||
value.nodeType === NODE_TYPE_ELEMENT &&
|
||||
is.string(value.nodeName) &&
|
||||
!is.plainObject(value) &&
|
||||
DOM_PROPERTIES_TO_CHECK.every(property => property in value);
|
||||
};
|
||||
is.observable = (value) => {
|
||||
var _a, _b, _c, _d;
|
||||
if (!value) {
|
||||
return false;
|
||||
}
|
||||
// eslint-disable-next-line no-use-extend-native/no-use-extend-native
|
||||
if (value === ((_b = (_a = value)[Symbol.observable]) === null || _b === void 0 ? void 0 : _b.call(_a))) {
|
||||
return true;
|
||||
}
|
||||
if (value === ((_d = (_c = value)['@@observable']) === null || _d === void 0 ? void 0 : _d.call(_c))) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
is.nodeStream = (value) => is.object(value) && is.function_(value.pipe) && !is.observable(value);
|
||||
is.infinite = (value) => value === Infinity || value === -Infinity;
|
||||
const isAbsoluteMod2 = (remainder) => (value) => is.integer(value) && Math.abs(value % 2) === remainder;
|
||||
is.evenInteger = isAbsoluteMod2(0);
|
||||
is.oddInteger = isAbsoluteMod2(1);
|
||||
is.emptyArray = (value) => is.array(value) && value.length === 0;
|
||||
is.nonEmptyArray = (value) => is.array(value) && value.length > 0;
|
||||
is.emptyString = (value) => is.string(value) && value.length === 0;
|
||||
const isWhiteSpaceString = (value) => is.string(value) && !/\S/.test(value);
|
||||
is.emptyStringOrWhitespace = (value) => is.emptyString(value) || isWhiteSpaceString(value);
|
||||
// TODO: Use `not ''` when the `not` operator is available.
|
||||
is.nonEmptyString = (value) => is.string(value) && value.length > 0;
|
||||
// TODO: Use `not ''` when the `not` operator is available.
|
||||
is.nonEmptyStringAndNotWhitespace = (value) => is.string(value) && !is.emptyStringOrWhitespace(value);
|
||||
is.emptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length === 0;
|
||||
// TODO: Use `not` operator here to remove `Map` and `Set` from type guard:
|
||||
// - https://github.com/Microsoft/TypeScript/pull/29317
|
||||
is.nonEmptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length > 0;
|
||||
is.emptySet = (value) => is.set(value) && value.size === 0;
|
||||
is.nonEmptySet = (value) => is.set(value) && value.size > 0;
|
||||
is.emptyMap = (value) => is.map(value) && value.size === 0;
|
||||
is.nonEmptyMap = (value) => is.map(value) && value.size > 0;
|
||||
// `PropertyKey` is any value that can be used as an object key (string, number, or symbol)
|
||||
is.propertyKey = (value) => is.any([is.string, is.number, is.symbol], value);
|
||||
is.formData = (value) => isObjectOfType('FormData')(value);
|
||||
is.urlSearchParams = (value) => isObjectOfType('URLSearchParams')(value);
|
||||
const predicateOnArray = (method, predicate, values) => {
|
||||
if (!is.function_(predicate)) {
|
||||
throw new TypeError(`Invalid predicate: ${JSON.stringify(predicate)}`);
|
||||
}
|
||||
if (values.length === 0) {
|
||||
throw new TypeError('Invalid number of values');
|
||||
}
|
||||
return method.call(values, predicate);
|
||||
};
|
||||
is.any = (predicate, ...values) => {
|
||||
const predicates = is.array(predicate) ? predicate : [predicate];
|
||||
return predicates.some(singlePredicate => predicateOnArray(Array.prototype.some, singlePredicate, values));
|
||||
};
|
||||
is.all = (predicate, ...values) => predicateOnArray(Array.prototype.every, predicate, values);
|
||||
const assertType = (condition, description, value, options = {}) => {
|
||||
if (!condition) {
|
||||
const { multipleValues } = options;
|
||||
const valuesMessage = multipleValues ?
|
||||
`received values of types ${[
|
||||
...new Set(value.map(singleValue => `\`${is(singleValue)}\``))
|
||||
].join(', ')}` :
|
||||
`received value of type \`${is(value)}\``;
|
||||
throw new TypeError(`Expected value which is \`${description}\`, ${valuesMessage}.`);
|
||||
}
|
||||
};
|
||||
exports.assert = {
|
||||
// Unknowns.
|
||||
undefined: (value) => assertType(is.undefined(value), 'undefined', value),
|
||||
string: (value) => assertType(is.string(value), 'string', value),
|
||||
number: (value) => assertType(is.number(value), 'number', value),
|
||||
bigint: (value) => assertType(is.bigint(value), 'bigint', value),
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
function_: (value) => assertType(is.function_(value), 'Function', value),
|
||||
null_: (value) => assertType(is.null_(value), 'null', value),
|
||||
class_: (value) => assertType(is.class_(value), "Class" /* class_ */, value),
|
||||
boolean: (value) => assertType(is.boolean(value), 'boolean', value),
|
||||
symbol: (value) => assertType(is.symbol(value), 'symbol', value),
|
||||
numericString: (value) => assertType(is.numericString(value), "string with a number" /* numericString */, value),
|
||||
array: (value, assertion) => {
|
||||
const assert = assertType;
|
||||
assert(is.array(value), 'Array', value);
|
||||
if (assertion) {
|
||||
value.forEach(assertion);
|
||||
}
|
||||
if (values.length === 0) {
|
||||
throw new TypeError('Invalid number of values');
|
||||
}
|
||||
return method.call(values, predicate);
|
||||
};
|
||||
// tslint:disable variable-name
|
||||
is.any = (predicate, ...values) => predicateOnArray(Array.prototype.some, predicate, values);
|
||||
is.all = (predicate, ...values) => predicateOnArray(Array.prototype.every, predicate, values);
|
||||
// tslint:enable variable-name
|
||||
})(is || (is = {}));
|
||||
},
|
||||
buffer: (value) => assertType(is.buffer(value), 'Buffer', value),
|
||||
blob: (value) => assertType(is.blob(value), 'Blob', value),
|
||||
nullOrUndefined: (value) => assertType(is.nullOrUndefined(value), "null or undefined" /* nullOrUndefined */, value),
|
||||
object: (value) => assertType(is.object(value), 'Object', value),
|
||||
iterable: (value) => assertType(is.iterable(value), "Iterable" /* iterable */, value),
|
||||
asyncIterable: (value) => assertType(is.asyncIterable(value), "AsyncIterable" /* asyncIterable */, value),
|
||||
generator: (value) => assertType(is.generator(value), 'Generator', value),
|
||||
asyncGenerator: (value) => assertType(is.asyncGenerator(value), 'AsyncGenerator', value),
|
||||
nativePromise: (value) => assertType(is.nativePromise(value), "native Promise" /* nativePromise */, value),
|
||||
promise: (value) => assertType(is.promise(value), 'Promise', value),
|
||||
generatorFunction: (value) => assertType(is.generatorFunction(value), 'GeneratorFunction', value),
|
||||
asyncGeneratorFunction: (value) => assertType(is.asyncGeneratorFunction(value), 'AsyncGeneratorFunction', value),
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
asyncFunction: (value) => assertType(is.asyncFunction(value), 'AsyncFunction', value),
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
boundFunction: (value) => assertType(is.boundFunction(value), 'Function', value),
|
||||
regExp: (value) => assertType(is.regExp(value), 'RegExp', value),
|
||||
date: (value) => assertType(is.date(value), 'Date', value),
|
||||
error: (value) => assertType(is.error(value), 'Error', value),
|
||||
map: (value) => assertType(is.map(value), 'Map', value),
|
||||
set: (value) => assertType(is.set(value), 'Set', value),
|
||||
weakMap: (value) => assertType(is.weakMap(value), 'WeakMap', value),
|
||||
weakSet: (value) => assertType(is.weakSet(value), 'WeakSet', value),
|
||||
int8Array: (value) => assertType(is.int8Array(value), 'Int8Array', value),
|
||||
uint8Array: (value) => assertType(is.uint8Array(value), 'Uint8Array', value),
|
||||
uint8ClampedArray: (value) => assertType(is.uint8ClampedArray(value), 'Uint8ClampedArray', value),
|
||||
int16Array: (value) => assertType(is.int16Array(value), 'Int16Array', value),
|
||||
uint16Array: (value) => assertType(is.uint16Array(value), 'Uint16Array', value),
|
||||
int32Array: (value) => assertType(is.int32Array(value), 'Int32Array', value),
|
||||
uint32Array: (value) => assertType(is.uint32Array(value), 'Uint32Array', value),
|
||||
float32Array: (value) => assertType(is.float32Array(value), 'Float32Array', value),
|
||||
float64Array: (value) => assertType(is.float64Array(value), 'Float64Array', value),
|
||||
bigInt64Array: (value) => assertType(is.bigInt64Array(value), 'BigInt64Array', value),
|
||||
bigUint64Array: (value) => assertType(is.bigUint64Array(value), 'BigUint64Array', value),
|
||||
arrayBuffer: (value) => assertType(is.arrayBuffer(value), 'ArrayBuffer', value),
|
||||
sharedArrayBuffer: (value) => assertType(is.sharedArrayBuffer(value), 'SharedArrayBuffer', value),
|
||||
dataView: (value) => assertType(is.dataView(value), 'DataView', value),
|
||||
enumCase: (value, targetEnum) => assertType(is.enumCase(value, targetEnum), 'EnumCase', value),
|
||||
urlInstance: (value) => assertType(is.urlInstance(value), 'URL', value),
|
||||
urlString: (value) => assertType(is.urlString(value), "string with a URL" /* urlString */, value),
|
||||
truthy: (value) => assertType(is.truthy(value), "truthy" /* truthy */, value),
|
||||
falsy: (value) => assertType(is.falsy(value), "falsy" /* falsy */, value),
|
||||
nan: (value) => assertType(is.nan(value), "NaN" /* nan */, value),
|
||||
primitive: (value) => assertType(is.primitive(value), "primitive" /* primitive */, value),
|
||||
integer: (value) => assertType(is.integer(value), "integer" /* integer */, value),
|
||||
safeInteger: (value) => assertType(is.safeInteger(value), "integer" /* safeInteger */, value),
|
||||
plainObject: (value) => assertType(is.plainObject(value), "plain object" /* plainObject */, value),
|
||||
typedArray: (value) => assertType(is.typedArray(value), "TypedArray" /* typedArray */, value),
|
||||
arrayLike: (value) => assertType(is.arrayLike(value), "array-like" /* arrayLike */, value),
|
||||
domElement: (value) => assertType(is.domElement(value), "HTMLElement" /* domElement */, value),
|
||||
observable: (value) => assertType(is.observable(value), 'Observable', value),
|
||||
nodeStream: (value) => assertType(is.nodeStream(value), "Node.js Stream" /* nodeStream */, value),
|
||||
infinite: (value) => assertType(is.infinite(value), "infinite number" /* infinite */, value),
|
||||
emptyArray: (value) => assertType(is.emptyArray(value), "empty array" /* emptyArray */, value),
|
||||
nonEmptyArray: (value) => assertType(is.nonEmptyArray(value), "non-empty array" /* nonEmptyArray */, value),
|
||||
emptyString: (value) => assertType(is.emptyString(value), "empty string" /* emptyString */, value),
|
||||
emptyStringOrWhitespace: (value) => assertType(is.emptyStringOrWhitespace(value), "empty string or whitespace" /* emptyStringOrWhitespace */, value),
|
||||
nonEmptyString: (value) => assertType(is.nonEmptyString(value), "non-empty string" /* nonEmptyString */, value),
|
||||
nonEmptyStringAndNotWhitespace: (value) => assertType(is.nonEmptyStringAndNotWhitespace(value), "non-empty string and not whitespace" /* nonEmptyStringAndNotWhitespace */, value),
|
||||
emptyObject: (value) => assertType(is.emptyObject(value), "empty object" /* emptyObject */, value),
|
||||
nonEmptyObject: (value) => assertType(is.nonEmptyObject(value), "non-empty object" /* nonEmptyObject */, value),
|
||||
emptySet: (value) => assertType(is.emptySet(value), "empty set" /* emptySet */, value),
|
||||
nonEmptySet: (value) => assertType(is.nonEmptySet(value), "non-empty set" /* nonEmptySet */, value),
|
||||
emptyMap: (value) => assertType(is.emptyMap(value), "empty map" /* emptyMap */, value),
|
||||
nonEmptyMap: (value) => assertType(is.nonEmptyMap(value), "non-empty map" /* nonEmptyMap */, value),
|
||||
propertyKey: (value) => assertType(is.propertyKey(value), 'PropertyKey', value),
|
||||
formData: (value) => assertType(is.formData(value), 'FormData', value),
|
||||
urlSearchParams: (value) => assertType(is.urlSearchParams(value), 'URLSearchParams', value),
|
||||
// Numbers.
|
||||
evenInteger: (value) => assertType(is.evenInteger(value), "even integer" /* evenInteger */, value),
|
||||
oddInteger: (value) => assertType(is.oddInteger(value), "odd integer" /* oddInteger */, value),
|
||||
// Two arguments.
|
||||
directInstanceOf: (instance, class_) => assertType(is.directInstanceOf(instance, class_), "T" /* directInstanceOf */, instance),
|
||||
inRange: (value, range) => assertType(is.inRange(value, range), "in range" /* inRange */, value),
|
||||
// Variadic functions.
|
||||
any: (predicate, ...values) => {
|
||||
return assertType(is.any(predicate, ...values), "predicate returns truthy for any value" /* any */, values, { multipleValues: true });
|
||||
},
|
||||
all: (predicate, ...values) => assertType(is.all(predicate, ...values), "predicate returns truthy for all values" /* all */, values, { multipleValues: true })
|
||||
};
|
||||
// Some few keywords are reserved, but we'll populate them for Node.js users
|
||||
// See https://github.com/Microsoft/TypeScript/issues/2536
|
||||
Object.defineProperties(is, {
|
||||
@@ -238,8 +416,19 @@ Object.defineProperties(is, {
|
||||
value: is.null_
|
||||
}
|
||||
});
|
||||
Object.defineProperties(exports.assert, {
|
||||
class: {
|
||||
value: exports.assert.class_
|
||||
},
|
||||
function: {
|
||||
value: exports.assert.function_
|
||||
},
|
||||
null: {
|
||||
value: exports.assert.null_
|
||||
}
|
||||
});
|
||||
exports.default = is;
|
||||
// For CommonJS default export support
|
||||
module.exports = is;
|
||||
module.exports.default = is;
|
||||
//# sourceMappingURL=index.js.map
|
||||
module.exports.assert = exports.assert;
|
||||
|
||||
2
node_modules/@sindresorhus/is/license
generated
vendored
2
node_modules/@sindresorhus/is/license
generated
vendored
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
|
||||
94
node_modules/@sindresorhus/is/package.json
generated
vendored
94
node_modules/@sindresorhus/is/package.json
generated
vendored
@@ -1,65 +1,75 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"@sindresorhus/is@0.14.0",
|
||||
"@sindresorhus/is@4.6.0",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "@sindresorhus/is@0.14.0",
|
||||
"_id": "@sindresorhus/is@0.14.0",
|
||||
"_from": "@sindresorhus/is@4.6.0",
|
||||
"_id": "@sindresorhus/is@4.6.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
|
||||
"_integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
|
||||
"_location": "/@sindresorhus/is",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@sindresorhus/is@0.14.0",
|
||||
"raw": "@sindresorhus/is@4.6.0",
|
||||
"name": "@sindresorhus/is",
|
||||
"escapedName": "@sindresorhus%2fis",
|
||||
"scope": "@sindresorhus",
|
||||
"rawSpec": "0.14.0",
|
||||
"rawSpec": "4.6.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "0.14.0"
|
||||
"fetchSpec": "4.6.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/gamedig/got",
|
||||
"/package-json/got"
|
||||
"/got"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
|
||||
"_spec": "0.14.0",
|
||||
"_resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
|
||||
"_spec": "4.6.0",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
"url": "https://sindresorhus.com"
|
||||
},
|
||||
"ava": {
|
||||
"extensions": [
|
||||
"ts"
|
||||
],
|
||||
"require": [
|
||||
"ts-node/register"
|
||||
]
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/is/issues"
|
||||
},
|
||||
"description": "Type check values: `is.string('🦄') //=> true`",
|
||||
"description": "Type check values",
|
||||
"devDependencies": {
|
||||
"@sindresorhus/tsconfig": "^0.1.0",
|
||||
"@types/jsdom": "^11.12.0",
|
||||
"@types/node": "^10.12.10",
|
||||
"@types/tempy": "^0.2.0",
|
||||
"@sindresorhus/tsconfig": "^0.7.0",
|
||||
"@types/jsdom": "^16.1.0",
|
||||
"@types/node": "^14.0.13",
|
||||
"@types/zen-observable": "^0.8.0",
|
||||
"ava": "^0.25.0",
|
||||
"del-cli": "^1.1.0",
|
||||
"jsdom": "^11.6.2",
|
||||
"rxjs": "^6.3.3",
|
||||
"tempy": "^0.2.1",
|
||||
"tslint": "^5.9.1",
|
||||
"tslint-xo": "^0.10.0",
|
||||
"typescript": "^3.2.1",
|
||||
"@typescript-eslint/eslint-plugin": "^2.20.0",
|
||||
"@typescript-eslint/parser": "^2.20.0",
|
||||
"ava": "^3.3.0",
|
||||
"del-cli": "^2.0.0",
|
||||
"eslint-config-xo-typescript": "^0.26.0",
|
||||
"jsdom": "^16.0.1",
|
||||
"rxjs": "^6.4.0",
|
||||
"tempy": "^0.4.0",
|
||||
"ts-node": "^8.3.0",
|
||||
"typescript": "~3.8.2",
|
||||
"xo": "^0.26.1",
|
||||
"zen-observable": "^0.8.8"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
"node": ">=10"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"funding": "https://github.com/sindresorhus/is?sponsor=1",
|
||||
"homepage": "https://github.com/sindresorhus/is#readme",
|
||||
"keywords": [
|
||||
"type",
|
||||
@@ -80,7 +90,10 @@
|
||||
"kind",
|
||||
"primitive",
|
||||
"verify",
|
||||
"compare"
|
||||
"compare",
|
||||
"typescript",
|
||||
"typeguards",
|
||||
"types"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "dist/index.js",
|
||||
@@ -91,10 +104,29 @@
|
||||
},
|
||||
"scripts": {
|
||||
"build": "del dist && tsc",
|
||||
"lint": "tslint --format stylish --project .",
|
||||
"prepublish": "npm run build && del dist/tests",
|
||||
"test": "npm run lint && npm run build && ava dist/tests"
|
||||
"prepare": "npm run build",
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"types": "dist/index.d.ts",
|
||||
"version": "0.14.0"
|
||||
"version": "4.6.0",
|
||||
"xo": {
|
||||
"extends": "xo-typescript",
|
||||
"extensions": [
|
||||
"ts"
|
||||
],
|
||||
"parserOptions": {
|
||||
"project": "./tsconfig.xo.json"
|
||||
},
|
||||
"globals": [
|
||||
"BigInt",
|
||||
"BigInt64Array",
|
||||
"BigUint64Array"
|
||||
],
|
||||
"rules": {
|
||||
"@typescript-eslint/promise-function-async": "off",
|
||||
"@typescript-eslint/no-empty-function": "off",
|
||||
"@typescript-eslint/explicit-function-return-type": "off"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
70
node_modules/@szmarczak/http-timer/package.json
generated
vendored
70
node_modules/@szmarczak/http-timer/package.json
generated
vendored
@@ -1,56 +1,69 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"@szmarczak/http-timer@1.1.2",
|
||||
"@szmarczak/http-timer@4.0.6",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "@szmarczak/http-timer@1.1.2",
|
||||
"_id": "@szmarczak/http-timer@1.1.2",
|
||||
"_from": "@szmarczak/http-timer@4.0.6",
|
||||
"_id": "@szmarczak/http-timer@4.0.6",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
|
||||
"_integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
|
||||
"_location": "/@szmarczak/http-timer",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@szmarczak/http-timer@1.1.2",
|
||||
"raw": "@szmarczak/http-timer@4.0.6",
|
||||
"name": "@szmarczak/http-timer",
|
||||
"escapedName": "@szmarczak%2fhttp-timer",
|
||||
"scope": "@szmarczak",
|
||||
"rawSpec": "1.1.2",
|
||||
"rawSpec": "4.0.6",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.1.2"
|
||||
"fetchSpec": "4.0.6"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/gamedig/got",
|
||||
"/package-json/got"
|
||||
"/got"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
|
||||
"_spec": "1.1.2",
|
||||
"_resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
|
||||
"_spec": "4.0.6",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Szymon Marczak"
|
||||
},
|
||||
"ava": {
|
||||
"typescript": {
|
||||
"compile": false,
|
||||
"rewritePaths": {
|
||||
"tests/": "dist/tests/"
|
||||
}
|
||||
}
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/szmarczak/http-timer/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"defer-to-connect": "^1.0.1"
|
||||
"defer-to-connect": "^2.0.0"
|
||||
},
|
||||
"description": "Timings for HTTP requests",
|
||||
"devDependencies": {
|
||||
"ava": "^0.25.0",
|
||||
"coveralls": "^3.0.2",
|
||||
"nyc": "^12.0.2",
|
||||
"p-event": "^2.1.0",
|
||||
"xo": "^0.22.0"
|
||||
"@ava/typescript": "^2.0.0",
|
||||
"@sindresorhus/tsconfig": "^1.0.2",
|
||||
"@types/node": "^16.3.1",
|
||||
"ava": "^3.15.0",
|
||||
"coveralls": "^3.1.1",
|
||||
"del-cli": "^3.0.1",
|
||||
"http2-wrapper": "^2.0.7",
|
||||
"nyc": "^15.1.0",
|
||||
"p-event": "^4.2.0",
|
||||
"typescript": "^4.3.5",
|
||||
"xo": "^0.39.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
"node": ">=10"
|
||||
},
|
||||
"files": [
|
||||
"source"
|
||||
"dist/source"
|
||||
],
|
||||
"homepage": "https://github.com/szmarczak/http-timer#readme",
|
||||
"keywords": [
|
||||
@@ -60,20 +73,31 @@
|
||||
"timings"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "source",
|
||||
"main": "dist/source",
|
||||
"name": "@szmarczak/http-timer",
|
||||
"nyc": {
|
||||
"extension": [
|
||||
".ts"
|
||||
],
|
||||
"exclude": [
|
||||
"**/tests/**"
|
||||
]
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/szmarczak/http-timer.git"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "del-cli dist && tsc",
|
||||
"coveralls": "nyc report --reporter=text-lcov | coveralls",
|
||||
"test": "xo && nyc ava"
|
||||
"prepare": "npm run build",
|
||||
"test": "xo && tsc --noEmit && nyc ava"
|
||||
},
|
||||
"version": "1.1.2",
|
||||
"types": "dist/source",
|
||||
"version": "4.0.6",
|
||||
"xo": {
|
||||
"rules": {
|
||||
"unicorn/filename-case": "camelCase"
|
||||
"@typescript-eslint/no-non-null-assertion": "off"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
33
node_modules/cacheable-request/package.json
generated
vendored
33
node_modules/cacheable-request/package.json
generated
vendored
@@ -1,34 +1,31 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"cacheable-request@6.1.0",
|
||||
"cacheable-request@7.0.2",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "cacheable-request@6.1.0",
|
||||
"_id": "cacheable-request@6.1.0",
|
||||
"_from": "cacheable-request@7.0.2",
|
||||
"_id": "cacheable-request@7.0.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
|
||||
"_integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
|
||||
"_location": "/cacheable-request",
|
||||
"_phantomChildren": {
|
||||
"pump": "3.0.0"
|
||||
},
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "cacheable-request@6.1.0",
|
||||
"raw": "cacheable-request@7.0.2",
|
||||
"name": "cacheable-request",
|
||||
"escapedName": "cacheable-request",
|
||||
"rawSpec": "6.1.0",
|
||||
"rawSpec": "7.0.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "6.1.0"
|
||||
"fetchSpec": "7.0.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/gamedig/got",
|
||||
"/package-json/got"
|
||||
"/got"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
|
||||
"_spec": "6.1.0",
|
||||
"_resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
|
||||
"_spec": "7.0.2",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Luke Childs",
|
||||
@@ -42,10 +39,10 @@
|
||||
"clone-response": "^1.0.2",
|
||||
"get-stream": "^5.1.0",
|
||||
"http-cache-semantics": "^4.0.0",
|
||||
"keyv": "^3.0.0",
|
||||
"keyv": "^4.0.0",
|
||||
"lowercase-keys": "^2.0.0",
|
||||
"normalize-url": "^4.1.0",
|
||||
"responselike": "^1.0.2"
|
||||
"normalize-url": "^6.0.1",
|
||||
"responselike": "^2.0.0"
|
||||
},
|
||||
"description": "Wrap native HTTP requests with RFC compliant cache support",
|
||||
"devDependencies": {
|
||||
@@ -91,7 +88,7 @@
|
||||
"coverage": "nyc report --reporter=text-lcov | coveralls",
|
||||
"test": "xo && nyc ava"
|
||||
},
|
||||
"version": "6.1.0",
|
||||
"version": "7.0.2",
|
||||
"xo": {
|
||||
"extends": "xo-lukechilds"
|
||||
}
|
||||
|
||||
29
node_modules/clone-response/package.json
generated
vendored
29
node_modules/clone-response/package.json
generated
vendored
@@ -1,32 +1,32 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"clone-response@1.0.2",
|
||||
"clone-response@1.0.3",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "clone-response@1.0.2",
|
||||
"_id": "clone-response@1.0.2",
|
||||
"_from": "clone-response@1.0.3",
|
||||
"_id": "clone-response@1.0.3",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==",
|
||||
"_integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
|
||||
"_location": "/clone-response",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "clone-response@1.0.2",
|
||||
"raw": "clone-response@1.0.3",
|
||||
"name": "clone-response",
|
||||
"escapedName": "clone-response",
|
||||
"rawSpec": "1.0.2",
|
||||
"rawSpec": "1.0.3",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.0.2"
|
||||
"fetchSpec": "1.0.3"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/cacheable-request",
|
||||
"/got/cacheable-request"
|
||||
"/node8-gamedig/cacheable-request"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
|
||||
"_spec": "1.0.2",
|
||||
"_resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
|
||||
"_spec": "1.0.3",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Luke Childs",
|
||||
@@ -34,7 +34,7 @@
|
||||
"url": "http://lukechilds.co.uk"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/lukechilds/clone-response/issues"
|
||||
"url": "https://github.com/sindresorhus/clone-response/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"mimic-response": "^1.0.0"
|
||||
@@ -50,7 +50,8 @@
|
||||
"pify": "^3.0.0",
|
||||
"xo": "^0.19.0"
|
||||
},
|
||||
"homepage": "https://github.com/lukechilds/clone-response",
|
||||
"funding": "https://github.com/sponsors/sindresorhus",
|
||||
"homepage": "https://github.com/sindresorhus/clone-response#readme",
|
||||
"keywords": [
|
||||
"clone",
|
||||
"duplicate",
|
||||
@@ -64,13 +65,13 @@
|
||||
"name": "clone-response",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/lukechilds/clone-response.git"
|
||||
"url": "git+https://github.com/sindresorhus/clone-response.git"
|
||||
},
|
||||
"scripts": {
|
||||
"coverage": "nyc report --reporter=text-lcov | coveralls",
|
||||
"test": "xo && nyc ava"
|
||||
},
|
||||
"version": "1.0.2",
|
||||
"version": "1.0.3",
|
||||
"xo": {
|
||||
"extends": "xo-lukechilds"
|
||||
}
|
||||
|
||||
58
node_modules/compress-brotli/node_modules/json-buffer/index.js
generated
vendored
58
node_modules/compress-brotli/node_modules/json-buffer/index.js
generated
vendored
@@ -1,58 +0,0 @@
|
||||
//TODO: handle reviver/dehydrate function like normal
|
||||
//and handle indentation, like normal.
|
||||
//if anyone needs this... please send pull request.
|
||||
|
||||
exports.stringify = function stringify (o) {
|
||||
if('undefined' == typeof o) return o
|
||||
|
||||
if(o && Buffer.isBuffer(o))
|
||||
return JSON.stringify(':base64:' + o.toString('base64'))
|
||||
|
||||
if(o && o.toJSON)
|
||||
o = o.toJSON()
|
||||
|
||||
if(o && 'object' === typeof o) {
|
||||
var s = ''
|
||||
var array = Array.isArray(o)
|
||||
s = array ? '[' : '{'
|
||||
var first = true
|
||||
|
||||
for(var k in o) {
|
||||
var ignore = 'function' == typeof o[k] || (!array && 'undefined' === typeof o[k])
|
||||
if(Object.hasOwnProperty.call(o, k) && !ignore) {
|
||||
if(!first)
|
||||
s += ','
|
||||
first = false
|
||||
if (array) {
|
||||
if(o[k] == undefined)
|
||||
s += 'null'
|
||||
else
|
||||
s += stringify(o[k])
|
||||
} else if (o[k] !== void(0)) {
|
||||
s += stringify(k) + ':' + stringify(o[k])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s += array ? ']' : '}'
|
||||
|
||||
return s
|
||||
} else if ('string' === typeof o) {
|
||||
return JSON.stringify(/^:/.test(o) ? ':' + o : o)
|
||||
} else if ('undefined' === typeof o) {
|
||||
return 'null';
|
||||
} else
|
||||
return JSON.stringify(o)
|
||||
}
|
||||
|
||||
exports.parse = function (s) {
|
||||
return JSON.parse(s, function (key, value) {
|
||||
if('string' === typeof value) {
|
||||
if(/^:base64:/.test(value))
|
||||
return Buffer.from(value.substring(8), 'base64')
|
||||
else
|
||||
return /^:/.test(value) ? value.substring(1) : value
|
||||
}
|
||||
return value
|
||||
})
|
||||
}
|
||||
69
node_modules/compress-brotli/node_modules/json-buffer/package.json
generated
vendored
69
node_modules/compress-brotli/node_modules/json-buffer/package.json
generated
vendored
@@ -1,69 +0,0 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"json-buffer@3.0.1",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "json-buffer@3.0.1",
|
||||
"_id": "json-buffer@3.0.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
|
||||
"_location": "/compress-brotli/json-buffer",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "json-buffer@3.0.1",
|
||||
"name": "json-buffer",
|
||||
"escapedName": "json-buffer",
|
||||
"rawSpec": "3.0.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "3.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/compress-brotli"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
||||
"_spec": "3.0.1",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Dominic Tarr",
|
||||
"email": "dominic.tarr@gmail.com",
|
||||
"url": "http://dominictarr.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/dominictarr/json-buffer/issues"
|
||||
},
|
||||
"description": "JSON parse & stringify that supports binary via bops & base64",
|
||||
"devDependencies": {
|
||||
"tape": "^4.6.3"
|
||||
},
|
||||
"homepage": "https://github.com/dominictarr/json-buffer",
|
||||
"license": "MIT",
|
||||
"name": "json-buffer",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/dominictarr/json-buffer.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "set -e; for t in test/*.js; do node $t; done"
|
||||
},
|
||||
"testling": {
|
||||
"files": "test/*.js",
|
||||
"browsers": [
|
||||
"ie/8..latest",
|
||||
"firefox/17..latest",
|
||||
"firefox/nightly",
|
||||
"chrome/22..latest",
|
||||
"chrome/canary",
|
||||
"opera/12..latest",
|
||||
"opera/next",
|
||||
"safari/5.1..latest",
|
||||
"ipad/6.0..latest",
|
||||
"iphone/6.0..latest",
|
||||
"android-browser/4.2..latest"
|
||||
]
|
||||
},
|
||||
"version": "3.0.1"
|
||||
}
|
||||
53
node_modules/decompress-response/index.js
generated
vendored
53
node_modules/decompress-response/index.js
generated
vendored
@@ -1,29 +1,58 @@
|
||||
'use strict';
|
||||
const PassThrough = require('stream').PassThrough;
|
||||
const {Transform, PassThrough} = require('stream');
|
||||
const zlib = require('zlib');
|
||||
const mimicResponse = require('mimic-response');
|
||||
|
||||
module.exports = response => {
|
||||
// TODO: Use Array#includes when targeting Node.js 6
|
||||
if (['gzip', 'deflate'].indexOf(response.headers['content-encoding']) === -1) {
|
||||
const contentEncoding = (response.headers['content-encoding'] || '').toLowerCase();
|
||||
|
||||
if (!['gzip', 'deflate', 'br'].includes(contentEncoding)) {
|
||||
return response;
|
||||
}
|
||||
|
||||
const unzip = zlib.createUnzip();
|
||||
const stream = new PassThrough();
|
||||
// TODO: Remove this when targeting Node.js 12.
|
||||
const isBrotli = contentEncoding === 'br';
|
||||
if (isBrotli && typeof zlib.createBrotliDecompress !== 'function') {
|
||||
response.destroy(new Error('Brotli is not supported on Node.js < 12'));
|
||||
return response;
|
||||
}
|
||||
|
||||
mimicResponse(response, stream);
|
||||
let isEmpty = true;
|
||||
|
||||
unzip.on('error', err => {
|
||||
if (err.code === 'Z_BUF_ERROR') {
|
||||
stream.end();
|
||||
const checker = new Transform({
|
||||
transform(data, _encoding, callback) {
|
||||
isEmpty = false;
|
||||
|
||||
callback(null, data);
|
||||
},
|
||||
|
||||
flush(callback) {
|
||||
callback();
|
||||
}
|
||||
});
|
||||
|
||||
const finalStream = new PassThrough({
|
||||
autoDestroy: false,
|
||||
destroy(error, callback) {
|
||||
response.destroy();
|
||||
|
||||
callback(error);
|
||||
}
|
||||
});
|
||||
|
||||
const decompressStream = isBrotli ? zlib.createBrotliDecompress() : zlib.createUnzip();
|
||||
|
||||
decompressStream.once('error', error => {
|
||||
if (isEmpty && !response.readable) {
|
||||
finalStream.end();
|
||||
return;
|
||||
}
|
||||
|
||||
stream.emit('error', err);
|
||||
finalStream.destroy(error);
|
||||
});
|
||||
|
||||
response.pipe(unzip).pipe(stream);
|
||||
mimicResponse(response, finalStream);
|
||||
response.pipe(checker).pipe(decompressStream).pipe(finalStream);
|
||||
|
||||
return stream;
|
||||
return finalStream;
|
||||
};
|
||||
|
||||
22
node_modules/decompress-response/license
generated
vendored
22
node_modules/decompress-response/license
generated
vendored
@@ -1,21 +1,9 @@
|
||||
`The MIT License (MIT)
|
||||
MIT License
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"_id": "mimic-response@3.1.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
|
||||
"_location": "/got/mimic-response",
|
||||
"_location": "/decompress-response/mimic-response",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
@@ -22,7 +22,7 @@
|
||||
"fetchSpec": "3.1.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/got/decompress-response"
|
||||
"/decompress-response"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
|
||||
"_spec": "3.1.0",
|
||||
68
node_modules/decompress-response/package.json
generated
vendored
68
node_modules/decompress-response/package.json
generated
vendored
@@ -1,52 +1,60 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"decompress-response@3.3.0",
|
||||
"decompress-response@6.0.0",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "decompress-response@3.3.0",
|
||||
"_id": "decompress-response@3.3.0",
|
||||
"_from": "decompress-response@6.0.0",
|
||||
"_id": "decompress-response@6.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
|
||||
"_integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
|
||||
"_location": "/decompress-response",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "decompress-response@3.3.0",
|
||||
"raw": "decompress-response@6.0.0",
|
||||
"name": "decompress-response",
|
||||
"escapedName": "decompress-response",
|
||||
"rawSpec": "3.3.0",
|
||||
"rawSpec": "6.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "3.3.0"
|
||||
"fetchSpec": "6.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/gamedig/got",
|
||||
"/package-json/got"
|
||||
"/got"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
|
||||
"_spec": "3.3.0",
|
||||
"_resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
|
||||
"_spec": "6.0.0",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "https://sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/decompress-response/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"mimic-response": "^1.0.0"
|
||||
"mimic-response": "^3.1.0"
|
||||
},
|
||||
"description": "Decompress a HTTP response if needed",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"get-stream": "^3.0.0",
|
||||
"pify": "^3.0.0",
|
||||
"xo": "*"
|
||||
"@types/node": "^14.0.1",
|
||||
"ava": "^2.2.0",
|
||||
"get-stream": "^5.0.0",
|
||||
"pify": "^5.0.0",
|
||||
"tsd": "^0.11.0",
|
||||
"xo": "^0.30.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
"node": ">=10"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"funding": "https://github.com/sponsors/sindresorhus",
|
||||
"homepage": "https://github.com/sindresorhus/decompress-response#readme",
|
||||
"keywords": [
|
||||
"decompress",
|
||||
@@ -62,28 +70,22 @@
|
||||
"incoming",
|
||||
"message",
|
||||
"stream",
|
||||
"compressed"
|
||||
"compressed",
|
||||
"brotli"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
{
|
||||
"name": "Vsevolod Strukchinsky",
|
||||
"email": "floatdrop@gmail.com",
|
||||
"url": "github.com/floatdrop"
|
||||
}
|
||||
],
|
||||
"name": "decompress-response",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/decompress-response.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
"test": "xo && ava && tsd"
|
||||
},
|
||||
"version": "3.3.0"
|
||||
"version": "6.0.0",
|
||||
"xo": {
|
||||
"rules": {
|
||||
"@typescript-eslint/prefer-readonly-parameter-types": "off"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
77
node_modules/defer-to-connect/package.json
generated
vendored
77
node_modules/defer-to-connect/package.json
generated
vendored
@@ -1,70 +1,67 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"defer-to-connect@1.1.3",
|
||||
"defer-to-connect@2.0.1",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "defer-to-connect@1.1.3",
|
||||
"_id": "defer-to-connect@1.1.3",
|
||||
"_from": "defer-to-connect@2.0.1",
|
||||
"_id": "defer-to-connect@2.0.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
|
||||
"_integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
|
||||
"_location": "/defer-to-connect",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "defer-to-connect@1.1.3",
|
||||
"raw": "defer-to-connect@2.0.1",
|
||||
"name": "defer-to-connect",
|
||||
"escapedName": "defer-to-connect",
|
||||
"rawSpec": "1.1.3",
|
||||
"rawSpec": "2.0.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.1.3"
|
||||
"fetchSpec": "2.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@szmarczak/http-timer"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
|
||||
"_spec": "1.1.3",
|
||||
"_resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
|
||||
"_spec": "2.0.1",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Szymon Marczak"
|
||||
},
|
||||
"ava": {
|
||||
"babel": false,
|
||||
"compileEnhancements": false,
|
||||
"extensions": [
|
||||
"ts"
|
||||
],
|
||||
"require": [
|
||||
"ts-node/register"
|
||||
],
|
||||
"files": [
|
||||
"!dist/tests/test.d.ts"
|
||||
]
|
||||
"typescript": {
|
||||
"rewritePaths": {
|
||||
"tests/": "dist/tests/"
|
||||
}
|
||||
}
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/szmarczak/defer-to-connect/issues"
|
||||
},
|
||||
"description": "The safe way to handle the `connect` socket event",
|
||||
"devDependencies": {
|
||||
"@sindresorhus/tsconfig": "^0.5.0",
|
||||
"@types/node": "^12.12.4",
|
||||
"@typescript-eslint/eslint-plugin": "^1.11.0",
|
||||
"@typescript-eslint/parser": "^1.11.0",
|
||||
"ava": "^2.1.0",
|
||||
"coveralls": "^3.0.7",
|
||||
"@ava/typescript": "^1.1.0",
|
||||
"@sindresorhus/tsconfig": "^0.7.0",
|
||||
"@types/node": "^13.5.0",
|
||||
"@typescript-eslint/eslint-plugin": "^2.18.0",
|
||||
"@typescript-eslint/parser": "^2.18.0",
|
||||
"ava": "^3.2.0",
|
||||
"coveralls": "^3.0.9",
|
||||
"create-cert": "^1.0.6",
|
||||
"del-cli": "^3.0.0",
|
||||
"eslint-config-xo-typescript": "^0.15.0",
|
||||
"nyc": "^14.0.0",
|
||||
"eslint-config-xo-typescript": "^0.24.1",
|
||||
"nyc": "^15.0.0",
|
||||
"p-event": "^4.1.0",
|
||||
"ts-node": "^8.1.0",
|
||||
"typescript": "^3.6.4",
|
||||
"typescript": "^3.7.5",
|
||||
"xo": "^0.25.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
"dist/source"
|
||||
],
|
||||
"homepage": "https://github.com/szmarczak/defer-to-connect#readme",
|
||||
"keywords": [
|
||||
@@ -73,9 +70,12 @@
|
||||
"event"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "dist",
|
||||
"main": "dist/source",
|
||||
"name": "defer-to-connect",
|
||||
"nyc": {
|
||||
"include": [
|
||||
"dist/source"
|
||||
],
|
||||
"extension": [
|
||||
".ts"
|
||||
]
|
||||
@@ -87,18 +87,15 @@
|
||||
"scripts": {
|
||||
"build": "del-cli dist && tsc",
|
||||
"coveralls": "nyc report --reporter=text-lcov | coveralls",
|
||||
"prepublishOnly": "npm run build",
|
||||
"test": "xo && nyc ava"
|
||||
"prepare": "npm run build",
|
||||
"test": "xo && tsc --noEmit && nyc ava"
|
||||
},
|
||||
"types": "dist",
|
||||
"version": "1.1.3",
|
||||
"types": "dist/source/index.d.ts",
|
||||
"version": "2.0.1",
|
||||
"xo": {
|
||||
"extends": "xo-typescript",
|
||||
"extensions": [
|
||||
"ts"
|
||||
],
|
||||
"rules": {
|
||||
"ava/no-ignored-test-files": "off"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
10
node_modules/duplexer3/license
generated
vendored
Normal file
10
node_modules/duplexer3/license
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
Copyright (c) 2022, Sindre Sorhus.
|
||||
Copyright (c) 2020, Vsevolod Strukchinsky.
|
||||
Copyright (c) 2013, Deoxxa Development.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
34
node_modules/duplexer3/package.json
generated
vendored
34
node_modules/duplexer3/package.json
generated
vendored
@@ -1,40 +1,34 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"duplexer3@0.1.4",
|
||||
"duplexer3@0.1.5",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "duplexer3@0.1.4",
|
||||
"_id": "duplexer3@0.1.4",
|
||||
"_from": "duplexer3@0.1.5",
|
||||
"_id": "duplexer3@0.1.5",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==",
|
||||
"_integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==",
|
||||
"_location": "/duplexer3",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "duplexer3@0.1.4",
|
||||
"raw": "duplexer3@0.1.5",
|
||||
"name": "duplexer3",
|
||||
"escapedName": "duplexer3",
|
||||
"rawSpec": "0.1.4",
|
||||
"rawSpec": "0.1.5",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "0.1.4"
|
||||
"fetchSpec": "0.1.5"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/gamedig/got",
|
||||
"/package-json/got"
|
||||
"/node8-gamedig/got"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
|
||||
"_spec": "0.1.4",
|
||||
"_resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz",
|
||||
"_spec": "0.1.5",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Conrad Pankoff",
|
||||
"email": "deoxxa@fknsrs.biz",
|
||||
"url": "http://www.fknsrs.biz/"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/floatdrop/duplexer3/issues"
|
||||
"url": "https://github.com/sindresorhus/duplexer3/issues"
|
||||
},
|
||||
"description": "Like duplexer but using streams3",
|
||||
"devDependencies": {
|
||||
@@ -46,7 +40,7 @@
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/floatdrop/duplexer3#readme",
|
||||
"homepage": "https://github.com/sindresorhus/duplexer3#readme",
|
||||
"keywords": [
|
||||
"duplex",
|
||||
"duplexer",
|
||||
@@ -59,10 +53,10 @@
|
||||
"name": "duplexer3",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/floatdrop/duplexer3.git"
|
||||
"url": "git+https://github.com/sindresorhus/duplexer3.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha -R tap"
|
||||
},
|
||||
"version": "0.1.4"
|
||||
"version": "0.1.5"
|
||||
}
|
||||
|
||||
29
node_modules/get-stream/buffer-stream.js
generated
vendored
29
node_modules/get-stream/buffer-stream.js
generated
vendored
@@ -1,51 +1,52 @@
|
||||
'use strict';
|
||||
const {PassThrough} = require('stream');
|
||||
const {PassThrough: PassThroughStream} = require('stream');
|
||||
|
||||
module.exports = options => {
|
||||
options = Object.assign({}, options);
|
||||
options = {...options};
|
||||
|
||||
const {array} = options;
|
||||
let {encoding} = options;
|
||||
const buffer = encoding === 'buffer';
|
||||
const isBuffer = encoding === 'buffer';
|
||||
let objectMode = false;
|
||||
|
||||
if (array) {
|
||||
objectMode = !(encoding || buffer);
|
||||
objectMode = !(encoding || isBuffer);
|
||||
} else {
|
||||
encoding = encoding || 'utf8';
|
||||
}
|
||||
|
||||
if (buffer) {
|
||||
if (isBuffer) {
|
||||
encoding = null;
|
||||
}
|
||||
|
||||
let len = 0;
|
||||
const ret = [];
|
||||
const stream = new PassThrough({objectMode});
|
||||
const stream = new PassThroughStream({objectMode});
|
||||
|
||||
if (encoding) {
|
||||
stream.setEncoding(encoding);
|
||||
}
|
||||
|
||||
let length = 0;
|
||||
const chunks = [];
|
||||
|
||||
stream.on('data', chunk => {
|
||||
ret.push(chunk);
|
||||
chunks.push(chunk);
|
||||
|
||||
if (objectMode) {
|
||||
len = ret.length;
|
||||
length = chunks.length;
|
||||
} else {
|
||||
len += chunk.length;
|
||||
length += chunk.length;
|
||||
}
|
||||
});
|
||||
|
||||
stream.getBufferedValue = () => {
|
||||
if (array) {
|
||||
return ret;
|
||||
return chunks;
|
||||
}
|
||||
|
||||
return buffer ? Buffer.concat(ret, len) : ret.join('');
|
||||
return isBuffer ? Buffer.concat(chunks, length) : chunks.join('');
|
||||
};
|
||||
|
||||
stream.getBufferedLength = () => len;
|
||||
stream.getBufferedLength = () => length;
|
||||
|
||||
return stream;
|
||||
};
|
||||
|
||||
24
node_modules/get-stream/index.js
generated
vendored
24
node_modules/get-stream/index.js
generated
vendored
@@ -1,4 +1,5 @@
|
||||
'use strict';
|
||||
const {constants: BufferConstants} = require('buffer');
|
||||
const pump = require('pump');
|
||||
const bufferStream = require('./buffer-stream');
|
||||
|
||||
@@ -9,21 +10,26 @@ class MaxBufferError extends Error {
|
||||
}
|
||||
}
|
||||
|
||||
function getStream(inputStream, options) {
|
||||
async function getStream(inputStream, options) {
|
||||
if (!inputStream) {
|
||||
return Promise.reject(new Error('Expected a stream'));
|
||||
}
|
||||
|
||||
options = Object.assign({maxBuffer: Infinity}, options);
|
||||
options = {
|
||||
maxBuffer: Infinity,
|
||||
...options
|
||||
};
|
||||
|
||||
const {maxBuffer} = options;
|
||||
|
||||
let stream;
|
||||
return new Promise((resolve, reject) => {
|
||||
await new Promise((resolve, reject) => {
|
||||
const rejectPromise = error => {
|
||||
if (error) { // A null check
|
||||
// Don't retrieve an oversized buffer.
|
||||
if (error && stream.getBufferedLength() <= BufferConstants.MAX_LENGTH) {
|
||||
error.bufferedData = stream.getBufferedValue();
|
||||
}
|
||||
|
||||
reject(error);
|
||||
};
|
||||
|
||||
@@ -41,10 +47,14 @@ function getStream(inputStream, options) {
|
||||
rejectPromise(new MaxBufferError());
|
||||
}
|
||||
});
|
||||
}).then(() => stream.getBufferedValue());
|
||||
});
|
||||
|
||||
return stream.getBufferedValue();
|
||||
}
|
||||
|
||||
module.exports = getStream;
|
||||
module.exports.buffer = (stream, options) => getStream(stream, Object.assign({}, options, {encoding: 'buffer'}));
|
||||
module.exports.array = (stream, options) => getStream(stream, Object.assign({}, options, {array: true}));
|
||||
// TODO: Remove this for the next major release
|
||||
module.exports.default = getStream;
|
||||
module.exports.buffer = (stream, options) => getStream(stream, {...options, encoding: 'buffer'});
|
||||
module.exports.array = (stream, options) => getStream(stream, {...options, array: true});
|
||||
module.exports.MaxBufferError = MaxBufferError;
|
||||
|
||||
2
node_modules/get-stream/license
generated
vendored
2
node_modules/get-stream/license
generated
vendored
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
|
||||
39
node_modules/get-stream/package.json
generated
vendored
39
node_modules/get-stream/package.json
generated
vendored
@@ -1,37 +1,36 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"get-stream@4.1.0",
|
||||
"get-stream@5.2.0",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "get-stream@4.1.0",
|
||||
"_id": "get-stream@4.1.0",
|
||||
"_from": "get-stream@5.2.0",
|
||||
"_id": "get-stream@5.2.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
|
||||
"_integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
|
||||
"_location": "/get-stream",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "get-stream@4.1.0",
|
||||
"raw": "get-stream@5.2.0",
|
||||
"name": "get-stream",
|
||||
"escapedName": "get-stream",
|
||||
"rawSpec": "4.1.0",
|
||||
"rawSpec": "5.2.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "4.1.0"
|
||||
"fetchSpec": "5.2.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/gamedig/got",
|
||||
"/package-json/got"
|
||||
"/cacheable-request"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
|
||||
"_spec": "4.1.0",
|
||||
"_resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
|
||||
"_spec": "5.2.0",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
"url": "https://sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/get-stream/issues"
|
||||
@@ -41,17 +40,21 @@
|
||||
},
|
||||
"description": "Get a stream as a string, buffer, or array",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"into-stream": "^3.0.0",
|
||||
"xo": "*"
|
||||
"@types/node": "^12.0.7",
|
||||
"ava": "^2.0.0",
|
||||
"into-stream": "^5.0.0",
|
||||
"tsd": "^0.7.2",
|
||||
"xo": "^0.24.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
"node": ">=8"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts",
|
||||
"buffer-stream.js"
|
||||
],
|
||||
"funding": "https://github.com/sponsors/sindresorhus",
|
||||
"homepage": "https://github.com/sindresorhus/get-stream#readme",
|
||||
"keywords": [
|
||||
"get",
|
||||
@@ -76,7 +79,7 @@
|
||||
"url": "git+https://github.com/sindresorhus/get-stream.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
"test": "xo && ava && tsd"
|
||||
},
|
||||
"version": "4.1.0"
|
||||
"version": "5.2.0"
|
||||
}
|
||||
|
||||
434
node_modules/got/node_modules/@sindresorhus/is/dist/index.js
generated
vendored
434
node_modules/got/node_modules/@sindresorhus/is/dist/index.js
generated
vendored
@@ -1,434 +0,0 @@
|
||||
"use strict";
|
||||
/// <reference lib="es2018"/>
|
||||
/// <reference lib="dom"/>
|
||||
/// <reference types="node"/>
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const typedArrayTypeNames = [
|
||||
'Int8Array',
|
||||
'Uint8Array',
|
||||
'Uint8ClampedArray',
|
||||
'Int16Array',
|
||||
'Uint16Array',
|
||||
'Int32Array',
|
||||
'Uint32Array',
|
||||
'Float32Array',
|
||||
'Float64Array',
|
||||
'BigInt64Array',
|
||||
'BigUint64Array'
|
||||
];
|
||||
function isTypedArrayName(name) {
|
||||
return typedArrayTypeNames.includes(name);
|
||||
}
|
||||
const objectTypeNames = [
|
||||
'Function',
|
||||
'Generator',
|
||||
'AsyncGenerator',
|
||||
'GeneratorFunction',
|
||||
'AsyncGeneratorFunction',
|
||||
'AsyncFunction',
|
||||
'Observable',
|
||||
'Array',
|
||||
'Buffer',
|
||||
'Blob',
|
||||
'Object',
|
||||
'RegExp',
|
||||
'Date',
|
||||
'Error',
|
||||
'Map',
|
||||
'Set',
|
||||
'WeakMap',
|
||||
'WeakSet',
|
||||
'ArrayBuffer',
|
||||
'SharedArrayBuffer',
|
||||
'DataView',
|
||||
'Promise',
|
||||
'URL',
|
||||
'FormData',
|
||||
'URLSearchParams',
|
||||
'HTMLElement',
|
||||
...typedArrayTypeNames
|
||||
];
|
||||
function isObjectTypeName(name) {
|
||||
return objectTypeNames.includes(name);
|
||||
}
|
||||
const primitiveTypeNames = [
|
||||
'null',
|
||||
'undefined',
|
||||
'string',
|
||||
'number',
|
||||
'bigint',
|
||||
'boolean',
|
||||
'symbol'
|
||||
];
|
||||
function isPrimitiveTypeName(name) {
|
||||
return primitiveTypeNames.includes(name);
|
||||
}
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
function isOfType(type) {
|
||||
return (value) => typeof value === type;
|
||||
}
|
||||
const { toString } = Object.prototype;
|
||||
const getObjectType = (value) => {
|
||||
const objectTypeName = toString.call(value).slice(8, -1);
|
||||
if (/HTML\w+Element/.test(objectTypeName) && is.domElement(value)) {
|
||||
return 'HTMLElement';
|
||||
}
|
||||
if (isObjectTypeName(objectTypeName)) {
|
||||
return objectTypeName;
|
||||
}
|
||||
return undefined;
|
||||
};
|
||||
const isObjectOfType = (type) => (value) => getObjectType(value) === type;
|
||||
function is(value) {
|
||||
if (value === null) {
|
||||
return 'null';
|
||||
}
|
||||
switch (typeof value) {
|
||||
case 'undefined':
|
||||
return 'undefined';
|
||||
case 'string':
|
||||
return 'string';
|
||||
case 'number':
|
||||
return 'number';
|
||||
case 'boolean':
|
||||
return 'boolean';
|
||||
case 'function':
|
||||
return 'Function';
|
||||
case 'bigint':
|
||||
return 'bigint';
|
||||
case 'symbol':
|
||||
return 'symbol';
|
||||
default:
|
||||
}
|
||||
if (is.observable(value)) {
|
||||
return 'Observable';
|
||||
}
|
||||
if (is.array(value)) {
|
||||
return 'Array';
|
||||
}
|
||||
if (is.buffer(value)) {
|
||||
return 'Buffer';
|
||||
}
|
||||
const tagType = getObjectType(value);
|
||||
if (tagType) {
|
||||
return tagType;
|
||||
}
|
||||
if (value instanceof String || value instanceof Boolean || value instanceof Number) {
|
||||
throw new TypeError('Please don\'t use object wrappers for primitive types');
|
||||
}
|
||||
return 'Object';
|
||||
}
|
||||
is.undefined = isOfType('undefined');
|
||||
is.string = isOfType('string');
|
||||
const isNumberType = isOfType('number');
|
||||
is.number = (value) => isNumberType(value) && !is.nan(value);
|
||||
is.bigint = isOfType('bigint');
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
is.function_ = isOfType('function');
|
||||
is.null_ = (value) => value === null;
|
||||
is.class_ = (value) => is.function_(value) && value.toString().startsWith('class ');
|
||||
is.boolean = (value) => value === true || value === false;
|
||||
is.symbol = isOfType('symbol');
|
||||
is.numericString = (value) => is.string(value) && !is.emptyStringOrWhitespace(value) && !Number.isNaN(Number(value));
|
||||
is.array = (value, assertion) => {
|
||||
if (!Array.isArray(value)) {
|
||||
return false;
|
||||
}
|
||||
if (!is.function_(assertion)) {
|
||||
return true;
|
||||
}
|
||||
return value.every(assertion);
|
||||
};
|
||||
is.buffer = (value) => { var _a, _b, _c, _d; return (_d = (_c = (_b = (_a = value) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.isBuffer) === null || _c === void 0 ? void 0 : _c.call(_b, value)) !== null && _d !== void 0 ? _d : false; };
|
||||
is.blob = (value) => isObjectOfType('Blob')(value);
|
||||
is.nullOrUndefined = (value) => is.null_(value) || is.undefined(value);
|
||||
is.object = (value) => !is.null_(value) && (typeof value === 'object' || is.function_(value));
|
||||
is.iterable = (value) => { var _a; return is.function_((_a = value) === null || _a === void 0 ? void 0 : _a[Symbol.iterator]); };
|
||||
is.asyncIterable = (value) => { var _a; return is.function_((_a = value) === null || _a === void 0 ? void 0 : _a[Symbol.asyncIterator]); };
|
||||
is.generator = (value) => { var _a, _b; return is.iterable(value) && is.function_((_a = value) === null || _a === void 0 ? void 0 : _a.next) && is.function_((_b = value) === null || _b === void 0 ? void 0 : _b.throw); };
|
||||
is.asyncGenerator = (value) => is.asyncIterable(value) && is.function_(value.next) && is.function_(value.throw);
|
||||
is.nativePromise = (value) => isObjectOfType('Promise')(value);
|
||||
const hasPromiseAPI = (value) => {
|
||||
var _a, _b;
|
||||
return is.function_((_a = value) === null || _a === void 0 ? void 0 : _a.then) &&
|
||||
is.function_((_b = value) === null || _b === void 0 ? void 0 : _b.catch);
|
||||
};
|
||||
is.promise = (value) => is.nativePromise(value) || hasPromiseAPI(value);
|
||||
is.generatorFunction = isObjectOfType('GeneratorFunction');
|
||||
is.asyncGeneratorFunction = (value) => getObjectType(value) === 'AsyncGeneratorFunction';
|
||||
is.asyncFunction = (value) => getObjectType(value) === 'AsyncFunction';
|
||||
// eslint-disable-next-line no-prototype-builtins, @typescript-eslint/ban-types
|
||||
is.boundFunction = (value) => is.function_(value) && !value.hasOwnProperty('prototype');
|
||||
is.regExp = isObjectOfType('RegExp');
|
||||
is.date = isObjectOfType('Date');
|
||||
is.error = isObjectOfType('Error');
|
||||
is.map = (value) => isObjectOfType('Map')(value);
|
||||
is.set = (value) => isObjectOfType('Set')(value);
|
||||
is.weakMap = (value) => isObjectOfType('WeakMap')(value);
|
||||
is.weakSet = (value) => isObjectOfType('WeakSet')(value);
|
||||
is.int8Array = isObjectOfType('Int8Array');
|
||||
is.uint8Array = isObjectOfType('Uint8Array');
|
||||
is.uint8ClampedArray = isObjectOfType('Uint8ClampedArray');
|
||||
is.int16Array = isObjectOfType('Int16Array');
|
||||
is.uint16Array = isObjectOfType('Uint16Array');
|
||||
is.int32Array = isObjectOfType('Int32Array');
|
||||
is.uint32Array = isObjectOfType('Uint32Array');
|
||||
is.float32Array = isObjectOfType('Float32Array');
|
||||
is.float64Array = isObjectOfType('Float64Array');
|
||||
is.bigInt64Array = isObjectOfType('BigInt64Array');
|
||||
is.bigUint64Array = isObjectOfType('BigUint64Array');
|
||||
is.arrayBuffer = isObjectOfType('ArrayBuffer');
|
||||
is.sharedArrayBuffer = isObjectOfType('SharedArrayBuffer');
|
||||
is.dataView = isObjectOfType('DataView');
|
||||
is.enumCase = (value, targetEnum) => Object.values(targetEnum).includes(value);
|
||||
is.directInstanceOf = (instance, class_) => Object.getPrototypeOf(instance) === class_.prototype;
|
||||
is.urlInstance = (value) => isObjectOfType('URL')(value);
|
||||
is.urlString = (value) => {
|
||||
if (!is.string(value)) {
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
new URL(value); // eslint-disable-line no-new
|
||||
return true;
|
||||
}
|
||||
catch (_a) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
// Example: `is.truthy = (value: unknown): value is (not false | not 0 | not '' | not undefined | not null) => Boolean(value);`
|
||||
is.truthy = (value) => Boolean(value);
|
||||
// Example: `is.falsy = (value: unknown): value is (not true | 0 | '' | undefined | null) => Boolean(value);`
|
||||
is.falsy = (value) => !value;
|
||||
is.nan = (value) => Number.isNaN(value);
|
||||
is.primitive = (value) => is.null_(value) || isPrimitiveTypeName(typeof value);
|
||||
is.integer = (value) => Number.isInteger(value);
|
||||
is.safeInteger = (value) => Number.isSafeInteger(value);
|
||||
is.plainObject = (value) => {
|
||||
// From: https://github.com/sindresorhus/is-plain-obj/blob/main/index.js
|
||||
if (toString.call(value) !== '[object Object]') {
|
||||
return false;
|
||||
}
|
||||
const prototype = Object.getPrototypeOf(value);
|
||||
return prototype === null || prototype === Object.getPrototypeOf({});
|
||||
};
|
||||
is.typedArray = (value) => isTypedArrayName(getObjectType(value));
|
||||
const isValidLength = (value) => is.safeInteger(value) && value >= 0;
|
||||
is.arrayLike = (value) => !is.nullOrUndefined(value) && !is.function_(value) && isValidLength(value.length);
|
||||
is.inRange = (value, range) => {
|
||||
if (is.number(range)) {
|
||||
return value >= Math.min(0, range) && value <= Math.max(range, 0);
|
||||
}
|
||||
if (is.array(range) && range.length === 2) {
|
||||
return value >= Math.min(...range) && value <= Math.max(...range);
|
||||
}
|
||||
throw new TypeError(`Invalid range: ${JSON.stringify(range)}`);
|
||||
};
|
||||
const NODE_TYPE_ELEMENT = 1;
|
||||
const DOM_PROPERTIES_TO_CHECK = [
|
||||
'innerHTML',
|
||||
'ownerDocument',
|
||||
'style',
|
||||
'attributes',
|
||||
'nodeValue'
|
||||
];
|
||||
is.domElement = (value) => {
|
||||
return is.object(value) &&
|
||||
value.nodeType === NODE_TYPE_ELEMENT &&
|
||||
is.string(value.nodeName) &&
|
||||
!is.plainObject(value) &&
|
||||
DOM_PROPERTIES_TO_CHECK.every(property => property in value);
|
||||
};
|
||||
is.observable = (value) => {
|
||||
var _a, _b, _c, _d;
|
||||
if (!value) {
|
||||
return false;
|
||||
}
|
||||
// eslint-disable-next-line no-use-extend-native/no-use-extend-native
|
||||
if (value === ((_b = (_a = value)[Symbol.observable]) === null || _b === void 0 ? void 0 : _b.call(_a))) {
|
||||
return true;
|
||||
}
|
||||
if (value === ((_d = (_c = value)['@@observable']) === null || _d === void 0 ? void 0 : _d.call(_c))) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
is.nodeStream = (value) => is.object(value) && is.function_(value.pipe) && !is.observable(value);
|
||||
is.infinite = (value) => value === Infinity || value === -Infinity;
|
||||
const isAbsoluteMod2 = (remainder) => (value) => is.integer(value) && Math.abs(value % 2) === remainder;
|
||||
is.evenInteger = isAbsoluteMod2(0);
|
||||
is.oddInteger = isAbsoluteMod2(1);
|
||||
is.emptyArray = (value) => is.array(value) && value.length === 0;
|
||||
is.nonEmptyArray = (value) => is.array(value) && value.length > 0;
|
||||
is.emptyString = (value) => is.string(value) && value.length === 0;
|
||||
const isWhiteSpaceString = (value) => is.string(value) && !/\S/.test(value);
|
||||
is.emptyStringOrWhitespace = (value) => is.emptyString(value) || isWhiteSpaceString(value);
|
||||
// TODO: Use `not ''` when the `not` operator is available.
|
||||
is.nonEmptyString = (value) => is.string(value) && value.length > 0;
|
||||
// TODO: Use `not ''` when the `not` operator is available.
|
||||
is.nonEmptyStringAndNotWhitespace = (value) => is.string(value) && !is.emptyStringOrWhitespace(value);
|
||||
is.emptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length === 0;
|
||||
// TODO: Use `not` operator here to remove `Map` and `Set` from type guard:
|
||||
// - https://github.com/Microsoft/TypeScript/pull/29317
|
||||
is.nonEmptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length > 0;
|
||||
is.emptySet = (value) => is.set(value) && value.size === 0;
|
||||
is.nonEmptySet = (value) => is.set(value) && value.size > 0;
|
||||
is.emptyMap = (value) => is.map(value) && value.size === 0;
|
||||
is.nonEmptyMap = (value) => is.map(value) && value.size > 0;
|
||||
// `PropertyKey` is any value that can be used as an object key (string, number, or symbol)
|
||||
is.propertyKey = (value) => is.any([is.string, is.number, is.symbol], value);
|
||||
is.formData = (value) => isObjectOfType('FormData')(value);
|
||||
is.urlSearchParams = (value) => isObjectOfType('URLSearchParams')(value);
|
||||
const predicateOnArray = (method, predicate, values) => {
|
||||
if (!is.function_(predicate)) {
|
||||
throw new TypeError(`Invalid predicate: ${JSON.stringify(predicate)}`);
|
||||
}
|
||||
if (values.length === 0) {
|
||||
throw new TypeError('Invalid number of values');
|
||||
}
|
||||
return method.call(values, predicate);
|
||||
};
|
||||
is.any = (predicate, ...values) => {
|
||||
const predicates = is.array(predicate) ? predicate : [predicate];
|
||||
return predicates.some(singlePredicate => predicateOnArray(Array.prototype.some, singlePredicate, values));
|
||||
};
|
||||
is.all = (predicate, ...values) => predicateOnArray(Array.prototype.every, predicate, values);
|
||||
const assertType = (condition, description, value, options = {}) => {
|
||||
if (!condition) {
|
||||
const { multipleValues } = options;
|
||||
const valuesMessage = multipleValues ?
|
||||
`received values of types ${[
|
||||
...new Set(value.map(singleValue => `\`${is(singleValue)}\``))
|
||||
].join(', ')}` :
|
||||
`received value of type \`${is(value)}\``;
|
||||
throw new TypeError(`Expected value which is \`${description}\`, ${valuesMessage}.`);
|
||||
}
|
||||
};
|
||||
exports.assert = {
|
||||
// Unknowns.
|
||||
undefined: (value) => assertType(is.undefined(value), 'undefined', value),
|
||||
string: (value) => assertType(is.string(value), 'string', value),
|
||||
number: (value) => assertType(is.number(value), 'number', value),
|
||||
bigint: (value) => assertType(is.bigint(value), 'bigint', value),
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
function_: (value) => assertType(is.function_(value), 'Function', value),
|
||||
null_: (value) => assertType(is.null_(value), 'null', value),
|
||||
class_: (value) => assertType(is.class_(value), "Class" /* class_ */, value),
|
||||
boolean: (value) => assertType(is.boolean(value), 'boolean', value),
|
||||
symbol: (value) => assertType(is.symbol(value), 'symbol', value),
|
||||
numericString: (value) => assertType(is.numericString(value), "string with a number" /* numericString */, value),
|
||||
array: (value, assertion) => {
|
||||
const assert = assertType;
|
||||
assert(is.array(value), 'Array', value);
|
||||
if (assertion) {
|
||||
value.forEach(assertion);
|
||||
}
|
||||
},
|
||||
buffer: (value) => assertType(is.buffer(value), 'Buffer', value),
|
||||
blob: (value) => assertType(is.blob(value), 'Blob', value),
|
||||
nullOrUndefined: (value) => assertType(is.nullOrUndefined(value), "null or undefined" /* nullOrUndefined */, value),
|
||||
object: (value) => assertType(is.object(value), 'Object', value),
|
||||
iterable: (value) => assertType(is.iterable(value), "Iterable" /* iterable */, value),
|
||||
asyncIterable: (value) => assertType(is.asyncIterable(value), "AsyncIterable" /* asyncIterable */, value),
|
||||
generator: (value) => assertType(is.generator(value), 'Generator', value),
|
||||
asyncGenerator: (value) => assertType(is.asyncGenerator(value), 'AsyncGenerator', value),
|
||||
nativePromise: (value) => assertType(is.nativePromise(value), "native Promise" /* nativePromise */, value),
|
||||
promise: (value) => assertType(is.promise(value), 'Promise', value),
|
||||
generatorFunction: (value) => assertType(is.generatorFunction(value), 'GeneratorFunction', value),
|
||||
asyncGeneratorFunction: (value) => assertType(is.asyncGeneratorFunction(value), 'AsyncGeneratorFunction', value),
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
asyncFunction: (value) => assertType(is.asyncFunction(value), 'AsyncFunction', value),
|
||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||
boundFunction: (value) => assertType(is.boundFunction(value), 'Function', value),
|
||||
regExp: (value) => assertType(is.regExp(value), 'RegExp', value),
|
||||
date: (value) => assertType(is.date(value), 'Date', value),
|
||||
error: (value) => assertType(is.error(value), 'Error', value),
|
||||
map: (value) => assertType(is.map(value), 'Map', value),
|
||||
set: (value) => assertType(is.set(value), 'Set', value),
|
||||
weakMap: (value) => assertType(is.weakMap(value), 'WeakMap', value),
|
||||
weakSet: (value) => assertType(is.weakSet(value), 'WeakSet', value),
|
||||
int8Array: (value) => assertType(is.int8Array(value), 'Int8Array', value),
|
||||
uint8Array: (value) => assertType(is.uint8Array(value), 'Uint8Array', value),
|
||||
uint8ClampedArray: (value) => assertType(is.uint8ClampedArray(value), 'Uint8ClampedArray', value),
|
||||
int16Array: (value) => assertType(is.int16Array(value), 'Int16Array', value),
|
||||
uint16Array: (value) => assertType(is.uint16Array(value), 'Uint16Array', value),
|
||||
int32Array: (value) => assertType(is.int32Array(value), 'Int32Array', value),
|
||||
uint32Array: (value) => assertType(is.uint32Array(value), 'Uint32Array', value),
|
||||
float32Array: (value) => assertType(is.float32Array(value), 'Float32Array', value),
|
||||
float64Array: (value) => assertType(is.float64Array(value), 'Float64Array', value),
|
||||
bigInt64Array: (value) => assertType(is.bigInt64Array(value), 'BigInt64Array', value),
|
||||
bigUint64Array: (value) => assertType(is.bigUint64Array(value), 'BigUint64Array', value),
|
||||
arrayBuffer: (value) => assertType(is.arrayBuffer(value), 'ArrayBuffer', value),
|
||||
sharedArrayBuffer: (value) => assertType(is.sharedArrayBuffer(value), 'SharedArrayBuffer', value),
|
||||
dataView: (value) => assertType(is.dataView(value), 'DataView', value),
|
||||
enumCase: (value, targetEnum) => assertType(is.enumCase(value, targetEnum), 'EnumCase', value),
|
||||
urlInstance: (value) => assertType(is.urlInstance(value), 'URL', value),
|
||||
urlString: (value) => assertType(is.urlString(value), "string with a URL" /* urlString */, value),
|
||||
truthy: (value) => assertType(is.truthy(value), "truthy" /* truthy */, value),
|
||||
falsy: (value) => assertType(is.falsy(value), "falsy" /* falsy */, value),
|
||||
nan: (value) => assertType(is.nan(value), "NaN" /* nan */, value),
|
||||
primitive: (value) => assertType(is.primitive(value), "primitive" /* primitive */, value),
|
||||
integer: (value) => assertType(is.integer(value), "integer" /* integer */, value),
|
||||
safeInteger: (value) => assertType(is.safeInteger(value), "integer" /* safeInteger */, value),
|
||||
plainObject: (value) => assertType(is.plainObject(value), "plain object" /* plainObject */, value),
|
||||
typedArray: (value) => assertType(is.typedArray(value), "TypedArray" /* typedArray */, value),
|
||||
arrayLike: (value) => assertType(is.arrayLike(value), "array-like" /* arrayLike */, value),
|
||||
domElement: (value) => assertType(is.domElement(value), "HTMLElement" /* domElement */, value),
|
||||
observable: (value) => assertType(is.observable(value), 'Observable', value),
|
||||
nodeStream: (value) => assertType(is.nodeStream(value), "Node.js Stream" /* nodeStream */, value),
|
||||
infinite: (value) => assertType(is.infinite(value), "infinite number" /* infinite */, value),
|
||||
emptyArray: (value) => assertType(is.emptyArray(value), "empty array" /* emptyArray */, value),
|
||||
nonEmptyArray: (value) => assertType(is.nonEmptyArray(value), "non-empty array" /* nonEmptyArray */, value),
|
||||
emptyString: (value) => assertType(is.emptyString(value), "empty string" /* emptyString */, value),
|
||||
emptyStringOrWhitespace: (value) => assertType(is.emptyStringOrWhitespace(value), "empty string or whitespace" /* emptyStringOrWhitespace */, value),
|
||||
nonEmptyString: (value) => assertType(is.nonEmptyString(value), "non-empty string" /* nonEmptyString */, value),
|
||||
nonEmptyStringAndNotWhitespace: (value) => assertType(is.nonEmptyStringAndNotWhitespace(value), "non-empty string and not whitespace" /* nonEmptyStringAndNotWhitespace */, value),
|
||||
emptyObject: (value) => assertType(is.emptyObject(value), "empty object" /* emptyObject */, value),
|
||||
nonEmptyObject: (value) => assertType(is.nonEmptyObject(value), "non-empty object" /* nonEmptyObject */, value),
|
||||
emptySet: (value) => assertType(is.emptySet(value), "empty set" /* emptySet */, value),
|
||||
nonEmptySet: (value) => assertType(is.nonEmptySet(value), "non-empty set" /* nonEmptySet */, value),
|
||||
emptyMap: (value) => assertType(is.emptyMap(value), "empty map" /* emptyMap */, value),
|
||||
nonEmptyMap: (value) => assertType(is.nonEmptyMap(value), "non-empty map" /* nonEmptyMap */, value),
|
||||
propertyKey: (value) => assertType(is.propertyKey(value), 'PropertyKey', value),
|
||||
formData: (value) => assertType(is.formData(value), 'FormData', value),
|
||||
urlSearchParams: (value) => assertType(is.urlSearchParams(value), 'URLSearchParams', value),
|
||||
// Numbers.
|
||||
evenInteger: (value) => assertType(is.evenInteger(value), "even integer" /* evenInteger */, value),
|
||||
oddInteger: (value) => assertType(is.oddInteger(value), "odd integer" /* oddInteger */, value),
|
||||
// Two arguments.
|
||||
directInstanceOf: (instance, class_) => assertType(is.directInstanceOf(instance, class_), "T" /* directInstanceOf */, instance),
|
||||
inRange: (value, range) => assertType(is.inRange(value, range), "in range" /* inRange */, value),
|
||||
// Variadic functions.
|
||||
any: (predicate, ...values) => {
|
||||
return assertType(is.any(predicate, ...values), "predicate returns truthy for any value" /* any */, values, { multipleValues: true });
|
||||
},
|
||||
all: (predicate, ...values) => assertType(is.all(predicate, ...values), "predicate returns truthy for all values" /* all */, values, { multipleValues: true })
|
||||
};
|
||||
// Some few keywords are reserved, but we'll populate them for Node.js users
|
||||
// See https://github.com/Microsoft/TypeScript/issues/2536
|
||||
Object.defineProperties(is, {
|
||||
class: {
|
||||
value: is.class_
|
||||
},
|
||||
function: {
|
||||
value: is.function_
|
||||
},
|
||||
null: {
|
||||
value: is.null_
|
||||
}
|
||||
});
|
||||
Object.defineProperties(exports.assert, {
|
||||
class: {
|
||||
value: exports.assert.class_
|
||||
},
|
||||
function: {
|
||||
value: exports.assert.function_
|
||||
},
|
||||
null: {
|
||||
value: exports.assert.null_
|
||||
}
|
||||
});
|
||||
exports.default = is;
|
||||
// For CommonJS default export support
|
||||
module.exports = is;
|
||||
module.exports.default = is;
|
||||
module.exports.assert = exports.assert;
|
||||
132
node_modules/got/node_modules/@sindresorhus/is/package.json
generated
vendored
132
node_modules/got/node_modules/@sindresorhus/is/package.json
generated
vendored
@@ -1,132 +0,0 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"@sindresorhus/is@4.6.0",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "@sindresorhus/is@4.6.0",
|
||||
"_id": "@sindresorhus/is@4.6.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
|
||||
"_location": "/got/@sindresorhus/is",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@sindresorhus/is@4.6.0",
|
||||
"name": "@sindresorhus/is",
|
||||
"escapedName": "@sindresorhus%2fis",
|
||||
"scope": "@sindresorhus",
|
||||
"rawSpec": "4.6.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "4.6.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/got"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
|
||||
"_spec": "4.6.0",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "https://sindresorhus.com"
|
||||
},
|
||||
"ava": {
|
||||
"extensions": [
|
||||
"ts"
|
||||
],
|
||||
"require": [
|
||||
"ts-node/register"
|
||||
]
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/is/issues"
|
||||
},
|
||||
"description": "Type check values",
|
||||
"devDependencies": {
|
||||
"@sindresorhus/tsconfig": "^0.7.0",
|
||||
"@types/jsdom": "^16.1.0",
|
||||
"@types/node": "^14.0.13",
|
||||
"@types/zen-observable": "^0.8.0",
|
||||
"@typescript-eslint/eslint-plugin": "^2.20.0",
|
||||
"@typescript-eslint/parser": "^2.20.0",
|
||||
"ava": "^3.3.0",
|
||||
"del-cli": "^2.0.0",
|
||||
"eslint-config-xo-typescript": "^0.26.0",
|
||||
"jsdom": "^16.0.1",
|
||||
"rxjs": "^6.4.0",
|
||||
"tempy": "^0.4.0",
|
||||
"ts-node": "^8.3.0",
|
||||
"typescript": "~3.8.2",
|
||||
"xo": "^0.26.1",
|
||||
"zen-observable": "^0.8.8"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"funding": "https://github.com/sindresorhus/is?sponsor=1",
|
||||
"homepage": "https://github.com/sindresorhus/is#readme",
|
||||
"keywords": [
|
||||
"type",
|
||||
"types",
|
||||
"is",
|
||||
"check",
|
||||
"checking",
|
||||
"validate",
|
||||
"validation",
|
||||
"utility",
|
||||
"util",
|
||||
"typeof",
|
||||
"instanceof",
|
||||
"object",
|
||||
"assert",
|
||||
"assertion",
|
||||
"test",
|
||||
"kind",
|
||||
"primitive",
|
||||
"verify",
|
||||
"compare",
|
||||
"typescript",
|
||||
"typeguards",
|
||||
"types"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "dist/index.js",
|
||||
"name": "@sindresorhus/is",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/is.git"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "del dist && tsc",
|
||||
"prepare": "npm run build",
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"types": "dist/index.d.ts",
|
||||
"version": "4.6.0",
|
||||
"xo": {
|
||||
"extends": "xo-typescript",
|
||||
"extensions": [
|
||||
"ts"
|
||||
],
|
||||
"parserOptions": {
|
||||
"project": "./tsconfig.xo.json"
|
||||
},
|
||||
"globals": [
|
||||
"BigInt",
|
||||
"BigInt64Array",
|
||||
"BigUint64Array"
|
||||
],
|
||||
"rules": {
|
||||
"@typescript-eslint/promise-function-async": "off",
|
||||
"@typescript-eslint/no-empty-function": "off",
|
||||
"@typescript-eslint/explicit-function-return-type": "off"
|
||||
}
|
||||
}
|
||||
}
|
||||
103
node_modules/got/node_modules/@szmarczak/http-timer/package.json
generated
vendored
103
node_modules/got/node_modules/@szmarczak/http-timer/package.json
generated
vendored
@@ -1,103 +0,0 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"@szmarczak/http-timer@4.0.6",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "@szmarczak/http-timer@4.0.6",
|
||||
"_id": "@szmarczak/http-timer@4.0.6",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
|
||||
"_location": "/got/@szmarczak/http-timer",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@szmarczak/http-timer@4.0.6",
|
||||
"name": "@szmarczak/http-timer",
|
||||
"escapedName": "@szmarczak%2fhttp-timer",
|
||||
"scope": "@szmarczak",
|
||||
"rawSpec": "4.0.6",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "4.0.6"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/got"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
|
||||
"_spec": "4.0.6",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Szymon Marczak"
|
||||
},
|
||||
"ava": {
|
||||
"typescript": {
|
||||
"compile": false,
|
||||
"rewritePaths": {
|
||||
"tests/": "dist/tests/"
|
||||
}
|
||||
}
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/szmarczak/http-timer/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"defer-to-connect": "^2.0.0"
|
||||
},
|
||||
"description": "Timings for HTTP requests",
|
||||
"devDependencies": {
|
||||
"@ava/typescript": "^2.0.0",
|
||||
"@sindresorhus/tsconfig": "^1.0.2",
|
||||
"@types/node": "^16.3.1",
|
||||
"ava": "^3.15.0",
|
||||
"coveralls": "^3.1.1",
|
||||
"del-cli": "^3.0.1",
|
||||
"http2-wrapper": "^2.0.7",
|
||||
"nyc": "^15.1.0",
|
||||
"p-event": "^4.2.0",
|
||||
"typescript": "^4.3.5",
|
||||
"xo": "^0.39.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"files": [
|
||||
"dist/source"
|
||||
],
|
||||
"homepage": "https://github.com/szmarczak/http-timer#readme",
|
||||
"keywords": [
|
||||
"http",
|
||||
"https",
|
||||
"timer",
|
||||
"timings"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "dist/source",
|
||||
"name": "@szmarczak/http-timer",
|
||||
"nyc": {
|
||||
"extension": [
|
||||
".ts"
|
||||
],
|
||||
"exclude": [
|
||||
"**/tests/**"
|
||||
]
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/szmarczak/http-timer.git"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "del-cli dist && tsc",
|
||||
"coveralls": "nyc report --reporter=text-lcov | coveralls",
|
||||
"prepare": "npm run build",
|
||||
"test": "xo && tsc --noEmit && nyc ava"
|
||||
},
|
||||
"types": "dist/source",
|
||||
"version": "4.0.6",
|
||||
"xo": {
|
||||
"rules": {
|
||||
"@typescript-eslint/no-non-null-assertion": "off"
|
||||
}
|
||||
}
|
||||
}
|
||||
58
node_modules/got/node_modules/decompress-response/index.js
generated
vendored
58
node_modules/got/node_modules/decompress-response/index.js
generated
vendored
@@ -1,58 +0,0 @@
|
||||
'use strict';
|
||||
const {Transform, PassThrough} = require('stream');
|
||||
const zlib = require('zlib');
|
||||
const mimicResponse = require('mimic-response');
|
||||
|
||||
module.exports = response => {
|
||||
const contentEncoding = (response.headers['content-encoding'] || '').toLowerCase();
|
||||
|
||||
if (!['gzip', 'deflate', 'br'].includes(contentEncoding)) {
|
||||
return response;
|
||||
}
|
||||
|
||||
// TODO: Remove this when targeting Node.js 12.
|
||||
const isBrotli = contentEncoding === 'br';
|
||||
if (isBrotli && typeof zlib.createBrotliDecompress !== 'function') {
|
||||
response.destroy(new Error('Brotli is not supported on Node.js < 12'));
|
||||
return response;
|
||||
}
|
||||
|
||||
let isEmpty = true;
|
||||
|
||||
const checker = new Transform({
|
||||
transform(data, _encoding, callback) {
|
||||
isEmpty = false;
|
||||
|
||||
callback(null, data);
|
||||
},
|
||||
|
||||
flush(callback) {
|
||||
callback();
|
||||
}
|
||||
});
|
||||
|
||||
const finalStream = new PassThrough({
|
||||
autoDestroy: false,
|
||||
destroy(error, callback) {
|
||||
response.destroy();
|
||||
|
||||
callback(error);
|
||||
}
|
||||
});
|
||||
|
||||
const decompressStream = isBrotli ? zlib.createBrotliDecompress() : zlib.createUnzip();
|
||||
|
||||
decompressStream.once('error', error => {
|
||||
if (isEmpty && !response.readable) {
|
||||
finalStream.end();
|
||||
return;
|
||||
}
|
||||
|
||||
finalStream.destroy(error);
|
||||
});
|
||||
|
||||
mimicResponse(response, finalStream);
|
||||
response.pipe(checker).pipe(decompressStream).pipe(finalStream);
|
||||
|
||||
return finalStream;
|
||||
};
|
||||
9
node_modules/got/node_modules/decompress-response/license
generated
vendored
9
node_modules/got/node_modules/decompress-response/license
generated
vendored
@@ -1,9 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
52
node_modules/got/node_modules/get-stream/buffer-stream.js
generated
vendored
52
node_modules/got/node_modules/get-stream/buffer-stream.js
generated
vendored
@@ -1,52 +0,0 @@
|
||||
'use strict';
|
||||
const {PassThrough: PassThroughStream} = require('stream');
|
||||
|
||||
module.exports = options => {
|
||||
options = {...options};
|
||||
|
||||
const {array} = options;
|
||||
let {encoding} = options;
|
||||
const isBuffer = encoding === 'buffer';
|
||||
let objectMode = false;
|
||||
|
||||
if (array) {
|
||||
objectMode = !(encoding || isBuffer);
|
||||
} else {
|
||||
encoding = encoding || 'utf8';
|
||||
}
|
||||
|
||||
if (isBuffer) {
|
||||
encoding = null;
|
||||
}
|
||||
|
||||
const stream = new PassThroughStream({objectMode});
|
||||
|
||||
if (encoding) {
|
||||
stream.setEncoding(encoding);
|
||||
}
|
||||
|
||||
let length = 0;
|
||||
const chunks = [];
|
||||
|
||||
stream.on('data', chunk => {
|
||||
chunks.push(chunk);
|
||||
|
||||
if (objectMode) {
|
||||
length = chunks.length;
|
||||
} else {
|
||||
length += chunk.length;
|
||||
}
|
||||
});
|
||||
|
||||
stream.getBufferedValue = () => {
|
||||
if (array) {
|
||||
return chunks;
|
||||
}
|
||||
|
||||
return isBuffer ? Buffer.concat(chunks, length) : chunks.join('');
|
||||
};
|
||||
|
||||
stream.getBufferedLength = () => length;
|
||||
|
||||
return stream;
|
||||
};
|
||||
3
node_modules/got/node_modules/json-buffer/.travis.yml
generated
vendored
3
node_modules/got/node_modules/json-buffer/.travis.yml
generated
vendored
@@ -1,3 +0,0 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- '0.10'
|
||||
22
node_modules/got/node_modules/json-buffer/LICENSE
generated
vendored
22
node_modules/got/node_modules/json-buffer/LICENSE
generated
vendored
@@ -1,22 +0,0 @@
|
||||
Copyright (c) 2013 Dominic Tarr
|
||||
|
||||
Permission is hereby granted, free of charge,
|
||||
to any person obtaining a copy of this software and
|
||||
associated documentation files (the "Software"), to
|
||||
deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify,
|
||||
merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom
|
||||
the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice
|
||||
shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
|
||||
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
63
node_modules/got/node_modules/json-buffer/test/index.js
generated
vendored
63
node_modules/got/node_modules/json-buffer/test/index.js
generated
vendored
@@ -1,63 +0,0 @@
|
||||
|
||||
var test = require('tape')
|
||||
var _JSON = require('../')
|
||||
|
||||
function clone (o) {
|
||||
return JSON.parse(JSON.stringify(o))
|
||||
}
|
||||
|
||||
var examples = {
|
||||
simple: { foo: [], bar: {}, baz: Buffer.from('some binary data') },
|
||||
just_buffer: Buffer.from('JUST A BUFFER'),
|
||||
all_types: {
|
||||
string:'hello',
|
||||
number: 3145,
|
||||
null: null,
|
||||
object: {},
|
||||
array: [],
|
||||
boolean: true,
|
||||
boolean2: false
|
||||
},
|
||||
foo: Buffer.from('foo'),
|
||||
foo2: Buffer.from('foo2'),
|
||||
escape: {
|
||||
buffer: Buffer.from('x'),
|
||||
string: _JSON.stringify(Buffer.from('x'))
|
||||
},
|
||||
escape2: {
|
||||
buffer: Buffer.from('x'),
|
||||
string: ':base64:'+ Buffer.from('x').toString('base64')
|
||||
},
|
||||
undefined: {
|
||||
empty: undefined, test: true
|
||||
},
|
||||
undefined2: {
|
||||
first: 1, empty: undefined, test: true
|
||||
},
|
||||
undefinedArray: {
|
||||
array: [undefined, 1, 'two']
|
||||
},
|
||||
fn: {
|
||||
fn: function () {}
|
||||
},
|
||||
undefined: undefined
|
||||
}
|
||||
|
||||
for(k in examples)
|
||||
(function (value, k) {
|
||||
test(k, function (t) {
|
||||
var s = _JSON.stringify(value)
|
||||
console.log('parse', s)
|
||||
if(JSON.stringify(value) !== undefined) {
|
||||
console.log(s)
|
||||
var _value = _JSON.parse(s)
|
||||
t.deepEqual(clone(_value), clone(value))
|
||||
}
|
||||
else
|
||||
t.equal(s, undefined)
|
||||
t.end()
|
||||
})
|
||||
})(examples[k], k)
|
||||
|
||||
|
||||
|
||||
89
node_modules/got/node_modules/keyv/package.json
generated
vendored
89
node_modules/got/node_modules/keyv/package.json
generated
vendored
@@ -1,89 +0,0 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"keyv@4.3.2",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "keyv@4.3.2",
|
||||
"_id": "keyv@4.3.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-kn8WmodVBe12lmHpA6W8OY7SNh6wVR+Z+wZESF4iF5FCazaVXGWOtnbnvX0tMQ1bO+/TmOD9LziuYMvrIIs0xw==",
|
||||
"_location": "/got/keyv",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "keyv@4.3.2",
|
||||
"name": "keyv",
|
||||
"escapedName": "keyv",
|
||||
"rawSpec": "4.3.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "4.3.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/got/cacheable-request"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/keyv/-/keyv-4.3.2.tgz",
|
||||
"_spec": "4.3.2",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Jared Wray",
|
||||
"email": "me@jaredwray.com",
|
||||
"url": "http://jaredwray.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/jaredwray/keyv/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"compress-brotli": "^1.3.8",
|
||||
"json-buffer": "3.0.1"
|
||||
},
|
||||
"description": "Simple key-value storage with support for multiple backends",
|
||||
"devDependencies": {
|
||||
"@keyv/test-suite": "*",
|
||||
"ava": "^4.3.0",
|
||||
"eslint-plugin-promise": "^6.0.0",
|
||||
"nyc": "^15.1.0",
|
||||
"pify": "5.0.0",
|
||||
"this": "^1.1.0",
|
||||
"timekeeper": "^2.2.0",
|
||||
"tsd": "^0.21.0",
|
||||
"typescript": "^4.7.4",
|
||||
"xo": "^0.50.0"
|
||||
},
|
||||
"files": [
|
||||
"src"
|
||||
],
|
||||
"homepage": "https://github.com/jaredwray/keyv",
|
||||
"keywords": [
|
||||
"key",
|
||||
"value",
|
||||
"store",
|
||||
"cache",
|
||||
"ttl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "src/index.js",
|
||||
"name": "keyv",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/jaredwray/keyv.git"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rm -rf node_modules && rm -rf .nyc_output && rm -rf coverage.lcov && rm -rf ./test/testdb.sqlite",
|
||||
"coverage": "nyc report --reporter=text-lcov > coverage.lcov",
|
||||
"test": "xo && nyc ava --serial"
|
||||
},
|
||||
"tsd": {
|
||||
"directory": "test"
|
||||
},
|
||||
"types": "./src/index.d.ts",
|
||||
"version": "4.3.2",
|
||||
"xo": {
|
||||
"rules": {
|
||||
"unicorn/prefer-module": 0,
|
||||
"unicorn/prefer-node-protocol": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
272
node_modules/got/node_modules/keyv/src/index.js
generated
vendored
272
node_modules/got/node_modules/keyv/src/index.js
generated
vendored
@@ -1,272 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
const EventEmitter = require('events');
|
||||
const JSONB = require('json-buffer');
|
||||
const compressBrotli = require('compress-brotli');
|
||||
|
||||
const loadStore = options => {
|
||||
const adapters = {
|
||||
redis: '@keyv/redis',
|
||||
rediss: '@keyv/redis',
|
||||
mongodb: '@keyv/mongo',
|
||||
mongo: '@keyv/mongo',
|
||||
sqlite: '@keyv/sqlite',
|
||||
postgresql: '@keyv/postgres',
|
||||
postgres: '@keyv/postgres',
|
||||
mysql: '@keyv/mysql',
|
||||
etcd: '@keyv/etcd',
|
||||
offline: '@keyv/offline',
|
||||
tiered: '@keyv/tiered',
|
||||
};
|
||||
if (options.adapter || options.uri) {
|
||||
const adapter = options.adapter || /^[^:+]*/.exec(options.uri)[0];
|
||||
return new (require(adapters[adapter]))(options);
|
||||
}
|
||||
|
||||
return new Map();
|
||||
};
|
||||
|
||||
const iterableAdapters = [
|
||||
'sqlite',
|
||||
'postgres',
|
||||
'mysql',
|
||||
'mongo',
|
||||
'redis',
|
||||
'tiered',
|
||||
];
|
||||
|
||||
class Keyv extends EventEmitter {
|
||||
constructor(uri, {emitErrors = true, ...options} = {}) {
|
||||
super();
|
||||
this.opts = {
|
||||
namespace: 'keyv',
|
||||
serialize: JSONB.stringify,
|
||||
deserialize: JSONB.parse,
|
||||
...((typeof uri === 'string') ? {uri} : uri),
|
||||
...options,
|
||||
};
|
||||
|
||||
if (!this.opts.store) {
|
||||
const adapterOptions = {...this.opts};
|
||||
this.opts.store = loadStore(adapterOptions);
|
||||
}
|
||||
|
||||
if (this.opts.compress) {
|
||||
const brotli = compressBrotli(this.opts.compress.opts);
|
||||
this.opts.serialize = async ({value, expires}) => brotli.serialize({value: await brotli.compress(value), expires});
|
||||
this.opts.deserialize = async data => {
|
||||
const {value, expires} = brotli.deserialize(data);
|
||||
return {value: await brotli.decompress(value), expires};
|
||||
};
|
||||
}
|
||||
|
||||
if (typeof this.opts.store.on === 'function' && emitErrors) {
|
||||
this.opts.store.on('error', error => this.emit('error', error));
|
||||
}
|
||||
|
||||
this.opts.store.namespace = this.opts.namespace;
|
||||
|
||||
const generateIterator = iterator => async function * () {
|
||||
for await (const [key, raw] of typeof iterator === 'function'
|
||||
? iterator(this.opts.store.namespace)
|
||||
: iterator) {
|
||||
const data = this.opts.deserialize(raw);
|
||||
if (this.opts.store.namespace && !key.includes(this.opts.store.namespace)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (typeof data.expires === 'number' && Date.now() > data.expires) {
|
||||
this.delete(key);
|
||||
continue;
|
||||
}
|
||||
|
||||
yield [this._getKeyUnprefix(key), data.value];
|
||||
}
|
||||
};
|
||||
|
||||
// Attach iterators
|
||||
if (typeof this.opts.store[Symbol.iterator] === 'function' && this.opts.store instanceof Map) {
|
||||
this.iterator = generateIterator(this.opts.store);
|
||||
} else if (typeof this.opts.store.iterator === 'function' && this.opts.store.opts
|
||||
&& this._checkIterableAdaptar()) {
|
||||
this.iterator = generateIterator(this.opts.store.iterator.bind(this.opts.store));
|
||||
}
|
||||
}
|
||||
|
||||
_checkIterableAdaptar() {
|
||||
return iterableAdapters.includes(this.opts.store.opts.dialect)
|
||||
|| iterableAdapters.findIndex(element => this.opts.store.opts.url.includes(element)) >= 0;
|
||||
}
|
||||
|
||||
_getKeyPrefix(key) {
|
||||
return `${this.opts.namespace}:${key}`;
|
||||
}
|
||||
|
||||
_getKeyPrefixArray(keys) {
|
||||
return keys.map(key => `${this.opts.namespace}:${key}`);
|
||||
}
|
||||
|
||||
_getKeyUnprefix(key) {
|
||||
return key
|
||||
.split(':')
|
||||
.splice(1)
|
||||
.join(':');
|
||||
}
|
||||
|
||||
get(key, options) {
|
||||
const {store} = this.opts;
|
||||
const isArray = Array.isArray(key);
|
||||
const keyPrefixed = isArray ? this._getKeyPrefixArray(key) : this._getKeyPrefix(key);
|
||||
if (isArray && store.getMany === undefined) {
|
||||
const promises = [];
|
||||
for (const key of keyPrefixed) {
|
||||
promises.push(Promise.resolve()
|
||||
.then(() => store.get(key))
|
||||
.then(data => (typeof data === 'string') ? this.opts.deserialize(data) : data)
|
||||
.then(data => {
|
||||
if (data === undefined || data === null) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if (typeof data.expires === 'number' && Date.now() > data.expires) {
|
||||
return this.delete(key).then(() => undefined);
|
||||
}
|
||||
|
||||
return (options && options.raw) ? data : data.value;
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
return Promise.allSettled(promises)
|
||||
.then(values => {
|
||||
const data = [];
|
||||
for (const value of values) {
|
||||
data.push(value.value);
|
||||
}
|
||||
|
||||
return data.every(x => x === undefined) ? [] : data;
|
||||
});
|
||||
}
|
||||
|
||||
return Promise.resolve()
|
||||
.then(() => isArray ? store.getMany(keyPrefixed) : store.get(keyPrefixed))
|
||||
.then(data => (typeof data === 'string') ? this.opts.deserialize(data) : data)
|
||||
.then(data => {
|
||||
if (data === undefined || data === null) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if (isArray) {
|
||||
const result = [];
|
||||
|
||||
if (data.length === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
for (let row of data) {
|
||||
if ((typeof row === 'string')) {
|
||||
row = this.opts.deserialize(row);
|
||||
}
|
||||
|
||||
if (row === undefined || row === null) {
|
||||
result.push(undefined);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (typeof row.expires === 'number' && Date.now() > row.expires) {
|
||||
this.delete(key).then(() => undefined);
|
||||
result.push(undefined);
|
||||
} else {
|
||||
result.push((options && options.raw) ? row : row.value);
|
||||
}
|
||||
}
|
||||
|
||||
return result.every(x => x === undefined) ? [] : result;
|
||||
}
|
||||
|
||||
if (typeof data.expires === 'number' && Date.now() > data.expires) {
|
||||
return this.delete(key).then(() => undefined);
|
||||
}
|
||||
|
||||
return (options && options.raw) ? data : data.value;
|
||||
});
|
||||
}
|
||||
|
||||
set(key, value, ttl) {
|
||||
const keyPrefixed = this._getKeyPrefix(key);
|
||||
if (typeof ttl === 'undefined') {
|
||||
ttl = this.opts.ttl;
|
||||
}
|
||||
|
||||
if (ttl === 0) {
|
||||
ttl = undefined;
|
||||
}
|
||||
|
||||
const {store} = this.opts;
|
||||
|
||||
return Promise.resolve()
|
||||
.then(() => {
|
||||
const expires = (typeof ttl === 'number') ? (Date.now() + ttl) : null;
|
||||
if (typeof value === 'symbol') {
|
||||
this.emit('error', 'symbol cannot be serialized');
|
||||
}
|
||||
|
||||
value = {value, expires};
|
||||
return this.opts.serialize(value);
|
||||
})
|
||||
.then(value => store.set(keyPrefixed, value, ttl))
|
||||
.then(() => true);
|
||||
}
|
||||
|
||||
delete(key) {
|
||||
const {store} = this.opts;
|
||||
if (Array.isArray(key)) {
|
||||
const keyPrefixed = this._getKeyPrefixArray(key);
|
||||
if (store.deleteMany === undefined) {
|
||||
const promises = [];
|
||||
for (const key of keyPrefixed) {
|
||||
promises.push(store.delete(key));
|
||||
}
|
||||
|
||||
return Promise.allSettled(promises)
|
||||
.then(values => values.every(x => x.value === true));
|
||||
}
|
||||
|
||||
return Promise.resolve()
|
||||
.then(() => store.deleteMany(keyPrefixed));
|
||||
}
|
||||
|
||||
const keyPrefixed = this._getKeyPrefix(key);
|
||||
return Promise.resolve()
|
||||
.then(() => store.delete(keyPrefixed));
|
||||
}
|
||||
|
||||
clear() {
|
||||
const {store} = this.opts;
|
||||
return Promise.resolve()
|
||||
.then(() => store.clear());
|
||||
}
|
||||
|
||||
has(key) {
|
||||
const keyPrefixed = this._getKeyPrefix(key);
|
||||
const {store} = this.opts;
|
||||
return Promise.resolve()
|
||||
.then(async () => {
|
||||
if (typeof store.has === 'function') {
|
||||
return store.has(keyPrefixed);
|
||||
}
|
||||
|
||||
const value = await store.get(keyPrefixed);
|
||||
return value !== undefined;
|
||||
});
|
||||
}
|
||||
|
||||
disconnect() {
|
||||
const {store} = this.opts;
|
||||
if (typeof store.disconnect === 'function') {
|
||||
return store.disconnect();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Keyv;
|
||||
10
node_modules/got/node_modules/lowercase-keys/index.js
generated
vendored
10
node_modules/got/node_modules/lowercase-keys/index.js
generated
vendored
@@ -1,10 +0,0 @@
|
||||
'use strict';
|
||||
module.exports = object => {
|
||||
const result = {};
|
||||
|
||||
for (const [key, value] of Object.entries(object)) {
|
||||
result[key.toLowerCase()] = value;
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
9
node_modules/got/node_modules/mimic-response/license
generated
vendored
9
node_modules/got/node_modules/mimic-response/license
generated
vendored
@@ -1,9 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
37
node_modules/grammy/out/convenience/frameworks.node.js
generated
vendored
37
node_modules/grammy/out/convenience/frameworks.node.js
generated
vendored
@@ -3,19 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.defaultAdapter = exports.adapters = void 0;
|
||||
const SECRET_HEADER = "X-Telegram-Bot-Api-Secret-Token";
|
||||
/** Node.js native 'http' and 'https' modules */
|
||||
const http = (req, res) => ({
|
||||
update: new Promise((resolve, reject) => {
|
||||
const chunks = [];
|
||||
req.on("data", (chunk) => chunks.push(chunk)).once("end", () => {
|
||||
const raw = Buffer.concat(chunks).toString("utf-8");
|
||||
resolve(JSON.parse(raw));
|
||||
}).once("error", reject);
|
||||
}),
|
||||
header: String(req.headers[SECRET_HEADER.toLowerCase()]),
|
||||
end: () => res.end(),
|
||||
respond: (json) => res.writeHead(200, { "Content-Type": "application/json" }).end(json),
|
||||
unauthorized: () => res.writeHead(401).end("secret token is wrong"),
|
||||
});
|
||||
const http = (req, res) => {
|
||||
const secretHeaderFromRequest = req.headers[SECRET_HEADER.toLowerCase()];
|
||||
return {
|
||||
update: new Promise((resolve, reject) => {
|
||||
const chunks = [];
|
||||
req.on("data", (chunk) => chunks.push(chunk))
|
||||
.once("end", () => {
|
||||
const raw = Buffer.concat(chunks).toString("utf-8");
|
||||
resolve(JSON.parse(raw));
|
||||
})
|
||||
.once("error", reject);
|
||||
}),
|
||||
header: Array.isArray(secretHeaderFromRequest)
|
||||
? secretHeaderFromRequest[0]
|
||||
: secretHeaderFromRequest,
|
||||
end: () => res.end(),
|
||||
respond: (json) => res
|
||||
.writeHead(200, { "Content-Type": "application/json" })
|
||||
.end(json),
|
||||
unauthorized: () => res.writeHead(401).end("secret token is wrong"),
|
||||
};
|
||||
};
|
||||
/** express web framework */
|
||||
const express = (req, res) => ({
|
||||
update: Promise.resolve(req.body),
|
||||
@@ -47,7 +56,7 @@ const koa = (ctx) => ({
|
||||
/** fastify web framework */
|
||||
const fastify = (req, reply) => ({
|
||||
update: Promise.resolve(req.body),
|
||||
header: req.headers[SECRET_HEADER],
|
||||
header: req.headers[SECRET_HEADER.toLowerCase()],
|
||||
end: () => reply.status(200).send(),
|
||||
respond: (json) => reply.send(json),
|
||||
unauthorized: () => reply.code(401).send("secret token is wrong"),
|
||||
|
||||
2
node_modules/grammy/out/mod.js
generated
vendored
2
node_modules/grammy/out/mod.js
generated
vendored
@@ -23,7 +23,7 @@ var platform_node_js_1 = require("./platform.node.js");
|
||||
Object.defineProperty(exports, "InputFile", { enumerable: true, get: function () { return platform_node_js_1.InputFile; } });
|
||||
var context_js_1 = require("./context.js");
|
||||
Object.defineProperty(exports, "Context", { enumerable: true, get: function () { return context_js_1.Context; } });
|
||||
// Convenience stuff and helpers
|
||||
// Convenience stuff, built-in plugins, and helpers
|
||||
__exportStar(require("./convenience/keyboard.js"), exports);
|
||||
__exportStar(require("./convenience/session.js"), exports);
|
||||
__exportStar(require("./convenience/webhook.js"), exports);
|
||||
|
||||
24
node_modules/grammy/package.json
generated
vendored
24
node_modules/grammy/package.json
generated
vendored
@@ -1,31 +1,31 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"grammy@1.9.0",
|
||||
"grammy@1.9.2",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "grammy@1.9.0",
|
||||
"_id": "grammy@1.9.0",
|
||||
"_from": "grammy@1.9.2",
|
||||
"_id": "grammy@1.9.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-aIUONCSbUtHVw+YuVB0kQEgoKXbYspihk2a0xFeWa7hk76PbRSBP/n3q3gHq+O4MHy6DsIjP3WrezsA1qyuQ4w==",
|
||||
"_integrity": "sha512-3u73ov2dJZeUiWKN/N7jgF3XtMFCOcBYsRB+/YjOGVPnk2CDo8n7VLnhH+jznhrqJEgeRB/CqKsP+PIPOUpizA==",
|
||||
"_location": "/grammy",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "grammy@1.9.0",
|
||||
"raw": "grammy@1.9.2",
|
||||
"name": "grammy",
|
||||
"escapedName": "grammy",
|
||||
"rawSpec": "1.9.0",
|
||||
"rawSpec": "1.9.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.9.0"
|
||||
"fetchSpec": "1.9.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/grammy/-/grammy-1.9.0.tgz",
|
||||
"_spec": "1.9.0",
|
||||
"_resolved": "https://registry.npmjs.org/grammy/-/grammy-1.9.2.tgz",
|
||||
"_spec": "1.9.2",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "KnorpelSenf"
|
||||
@@ -34,7 +34,7 @@
|
||||
"url": "https://github.com/grammyjs/grammY/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"@grammyjs/types": "^2.8.0",
|
||||
"@grammyjs/types": "^2.8.1",
|
||||
"abort-controller": "^3.0.0",
|
||||
"debug": "^4.3.4",
|
||||
"node-fetch": "^2.6.7"
|
||||
@@ -45,7 +45,7 @@
|
||||
"@types/node": "^12.20.50",
|
||||
"@types/node-fetch": "^2.6.2",
|
||||
"all-contributors-cli": "^6.20.0",
|
||||
"deno2node": "^1.3.0"
|
||||
"deno2node": "^1.4.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.20.0 || >=14.13.1"
|
||||
@@ -76,5 +76,5 @@
|
||||
"prepare": "npm run backport"
|
||||
},
|
||||
"types": "./out/mod.d.ts",
|
||||
"version": "1.9.0"
|
||||
"version": "1.9.2"
|
||||
}
|
||||
|
||||
2
node_modules/json-buffer/index.js
generated
vendored
2
node_modules/json-buffer/index.js
generated
vendored
@@ -49,7 +49,7 @@ exports.parse = function (s) {
|
||||
return JSON.parse(s, function (key, value) {
|
||||
if('string' === typeof value) {
|
||||
if(/^:base64:/.test(value))
|
||||
return new Buffer(value.substring(8), 'base64')
|
||||
return Buffer.from(value.substring(8), 'base64')
|
||||
else
|
||||
return /^:/.test(value) ? value.substring(1) : value
|
||||
}
|
||||
|
||||
21
node_modules/json-buffer/package.json
generated
vendored
21
node_modules/json-buffer/package.json
generated
vendored
@@ -1,31 +1,32 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"json-buffer@3.0.0",
|
||||
"json-buffer@3.0.1",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "json-buffer@3.0.0",
|
||||
"_id": "json-buffer@3.0.0",
|
||||
"_from": "json-buffer@3.0.1",
|
||||
"_id": "json-buffer@3.0.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==",
|
||||
"_integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
|
||||
"_location": "/json-buffer",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "json-buffer@3.0.0",
|
||||
"raw": "json-buffer@3.0.1",
|
||||
"name": "json-buffer",
|
||||
"escapedName": "json-buffer",
|
||||
"rawSpec": "3.0.0",
|
||||
"rawSpec": "3.0.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "3.0.0"
|
||||
"fetchSpec": "3.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/compress-brotli",
|
||||
"/keyv"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
|
||||
"_spec": "3.0.0",
|
||||
"_resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
||||
"_spec": "3.0.1",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Dominic Tarr",
|
||||
@@ -65,5 +66,5 @@
|
||||
"android-browser/4.2..latest"
|
||||
]
|
||||
},
|
||||
"version": "3.0.0"
|
||||
"version": "3.0.1"
|
||||
}
|
||||
|
||||
75
node_modules/keyv/package.json
generated
vendored
75
node_modules/keyv/package.json
generated
vendored
@@ -1,60 +1,62 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"keyv@3.1.0",
|
||||
"keyv@4.3.3",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "keyv@3.1.0",
|
||||
"_id": "keyv@3.1.0",
|
||||
"_from": "keyv@4.3.3",
|
||||
"_id": "keyv@4.3.3",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
|
||||
"_integrity": "sha512-AcysI17RvakTh8ir03+a3zJr5r0ovnAH/XTXei/4HIv3bL2K/jzvgivLK9UuI/JbU1aJjM3NSAnVvVVd3n+4DQ==",
|
||||
"_location": "/keyv",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "keyv@3.1.0",
|
||||
"raw": "keyv@4.3.3",
|
||||
"name": "keyv",
|
||||
"escapedName": "keyv",
|
||||
"rawSpec": "3.1.0",
|
||||
"rawSpec": "4.3.3",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "3.1.0"
|
||||
"fetchSpec": "4.3.3"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/cacheable-request"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
|
||||
"_spec": "3.1.0",
|
||||
"_resolved": "https://registry.npmjs.org/keyv/-/keyv-4.3.3.tgz",
|
||||
"_spec": "4.3.3",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Luke Childs",
|
||||
"email": "lukechilds123@gmail.com",
|
||||
"url": "http://lukechilds.co.uk"
|
||||
"name": "Jared Wray",
|
||||
"email": "me@jaredwray.com",
|
||||
"url": "http://jaredwray.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/lukechilds/keyv/issues"
|
||||
"url": "https://github.com/jaredwray/keyv/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"json-buffer": "3.0.0"
|
||||
"compress-brotli": "^1.3.8",
|
||||
"json-buffer": "3.0.1"
|
||||
},
|
||||
"description": "Simple key-value storage with support for multiple backends",
|
||||
"devDependencies": {
|
||||
"@keyv/mongo": "*",
|
||||
"@keyv/mysql": "*",
|
||||
"@keyv/postgres": "*",
|
||||
"@keyv/redis": "*",
|
||||
"@keyv/sqlite": "*",
|
||||
"@keyv/test-suite": "*",
|
||||
"ava": "^0.25.0",
|
||||
"coveralls": "^3.0.0",
|
||||
"eslint-config-xo-lukechilds": "^1.0.0",
|
||||
"nyc": "^11.0.3",
|
||||
"this": "^1.0.2",
|
||||
"timekeeper": "^2.0.0",
|
||||
"xo": "^0.20.1"
|
||||
"ava": "^4.3.0",
|
||||
"eslint": "^8.19.0",
|
||||
"eslint-plugin-promise": "^6.0.0",
|
||||
"nyc": "^15.1.0",
|
||||
"pify": "5.0.0",
|
||||
"this": "^1.1.0",
|
||||
"timekeeper": "^2.2.0",
|
||||
"tsd": "^0.22.0",
|
||||
"typescript": "^4.7.4",
|
||||
"xo": "^0.50.0"
|
||||
},
|
||||
"homepage": "https://github.com/lukechilds/keyv",
|
||||
"files": [
|
||||
"src"
|
||||
],
|
||||
"homepage": "https://github.com/jaredwray/keyv",
|
||||
"keywords": [
|
||||
"key",
|
||||
"value",
|
||||
@@ -67,15 +69,22 @@
|
||||
"name": "keyv",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/lukechilds/keyv.git"
|
||||
"url": "git+https://github.com/jaredwray/keyv.git"
|
||||
},
|
||||
"scripts": {
|
||||
"coverage": "nyc report --reporter=text-lcov | coveralls",
|
||||
"test": "xo && nyc ava test/keyv.js",
|
||||
"test:full": "xo && nyc ava --serial"
|
||||
"clean": "rm -rf node_modules && rm -rf .nyc_output && rm -rf coverage.lcov && rm -rf ./test/testdb.sqlite",
|
||||
"coverage": "nyc report --reporter=text-lcov > coverage.lcov",
|
||||
"test": "xo && nyc ava --serial"
|
||||
},
|
||||
"version": "3.1.0",
|
||||
"tsd": {
|
||||
"directory": "test"
|
||||
},
|
||||
"types": "./src/index.d.ts",
|
||||
"version": "4.3.3",
|
||||
"xo": {
|
||||
"extends": "xo-lukechilds"
|
||||
"rules": {
|
||||
"unicorn/prefer-module": 0,
|
||||
"unicorn/prefer-node-protocol": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
241
node_modules/keyv/src/index.js
generated
vendored
241
node_modules/keyv/src/index.js
generated
vendored
@@ -2,102 +2,271 @@
|
||||
|
||||
const EventEmitter = require('events');
|
||||
const JSONB = require('json-buffer');
|
||||
const compressBrotli = require('compress-brotli');
|
||||
|
||||
const loadStore = opts => {
|
||||
const loadStore = options => {
|
||||
const adapters = {
|
||||
redis: '@keyv/redis',
|
||||
rediss: '@keyv/redis',
|
||||
mongodb: '@keyv/mongo',
|
||||
mongo: '@keyv/mongo',
|
||||
sqlite: '@keyv/sqlite',
|
||||
postgresql: '@keyv/postgres',
|
||||
postgres: '@keyv/postgres',
|
||||
mysql: '@keyv/mysql'
|
||||
mysql: '@keyv/mysql',
|
||||
etcd: '@keyv/etcd',
|
||||
offline: '@keyv/offline',
|
||||
tiered: '@keyv/tiered',
|
||||
};
|
||||
if (opts.adapter || opts.uri) {
|
||||
const adapter = opts.adapter || /^[^:]*/.exec(opts.uri)[0];
|
||||
return new (require(adapters[adapter]))(opts);
|
||||
if (options.adapter || options.uri) {
|
||||
const adapter = options.adapter || /^[^:+]*/.exec(options.uri)[0];
|
||||
return new (require(adapters[adapter]))(options);
|
||||
}
|
||||
|
||||
return new Map();
|
||||
};
|
||||
|
||||
const iterableAdapters = [
|
||||
'sqlite',
|
||||
'postgres',
|
||||
'mysql',
|
||||
'mongo',
|
||||
'redis',
|
||||
'tiered',
|
||||
];
|
||||
|
||||
class Keyv extends EventEmitter {
|
||||
constructor(uri, opts) {
|
||||
constructor(uri, {emitErrors = true, ...options} = {}) {
|
||||
super();
|
||||
this.opts = Object.assign(
|
||||
{
|
||||
namespace: 'keyv',
|
||||
serialize: JSONB.stringify,
|
||||
deserialize: JSONB.parse
|
||||
},
|
||||
(typeof uri === 'string') ? { uri } : uri,
|
||||
opts
|
||||
);
|
||||
this.opts = {
|
||||
namespace: 'keyv',
|
||||
serialize: JSONB.stringify,
|
||||
deserialize: JSONB.parse,
|
||||
...((typeof uri === 'string') ? {uri} : uri),
|
||||
...options,
|
||||
};
|
||||
|
||||
if (!this.opts.store) {
|
||||
const adapterOpts = Object.assign({}, this.opts);
|
||||
this.opts.store = loadStore(adapterOpts);
|
||||
const adapterOptions = {...this.opts};
|
||||
this.opts.store = loadStore(adapterOptions);
|
||||
}
|
||||
|
||||
if (typeof this.opts.store.on === 'function') {
|
||||
this.opts.store.on('error', err => this.emit('error', err));
|
||||
if (this.opts.compress) {
|
||||
const brotli = compressBrotli(this.opts.compress.opts);
|
||||
this.opts.serialize = async ({value, expires}) => brotli.serialize({value: await brotli.compress(value), expires});
|
||||
this.opts.deserialize = async data => {
|
||||
const {value, expires} = brotli.deserialize(data);
|
||||
return {value: await brotli.decompress(value), expires};
|
||||
};
|
||||
}
|
||||
|
||||
if (typeof this.opts.store.on === 'function' && emitErrors) {
|
||||
this.opts.store.on('error', error => this.emit('error', error));
|
||||
}
|
||||
|
||||
this.opts.store.namespace = this.opts.namespace;
|
||||
|
||||
const generateIterator = iterator => async function * () {
|
||||
for await (const [key, raw] of typeof iterator === 'function'
|
||||
? iterator(this.opts.store.namespace)
|
||||
: iterator) {
|
||||
const data = this.opts.deserialize(raw);
|
||||
if (this.opts.store.namespace && !key.includes(this.opts.store.namespace)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (typeof data.expires === 'number' && Date.now() > data.expires) {
|
||||
this.delete(key);
|
||||
continue;
|
||||
}
|
||||
|
||||
yield [this._getKeyUnprefix(key), data.value];
|
||||
}
|
||||
};
|
||||
|
||||
// Attach iterators
|
||||
if (typeof this.opts.store[Symbol.iterator] === 'function' && this.opts.store instanceof Map) {
|
||||
this.iterator = generateIterator(this.opts.store);
|
||||
} else if (typeof this.opts.store.iterator === 'function' && this.opts.store.opts
|
||||
&& this._checkIterableAdaptar()) {
|
||||
this.iterator = generateIterator(this.opts.store.iterator.bind(this.opts.store));
|
||||
}
|
||||
}
|
||||
|
||||
_checkIterableAdaptar() {
|
||||
return iterableAdapters.includes(this.opts.store.opts.dialect)
|
||||
|| iterableAdapters.findIndex(element => this.opts.store.opts.url.includes(element)) >= 0;
|
||||
}
|
||||
|
||||
_getKeyPrefix(key) {
|
||||
return `${this.opts.namespace}:${key}`;
|
||||
}
|
||||
|
||||
get(key) {
|
||||
key = this._getKeyPrefix(key);
|
||||
const store = this.opts.store;
|
||||
_getKeyPrefixArray(keys) {
|
||||
return keys.map(key => `${this.opts.namespace}:${key}`);
|
||||
}
|
||||
|
||||
_getKeyUnprefix(key) {
|
||||
return key
|
||||
.split(':')
|
||||
.splice(1)
|
||||
.join(':');
|
||||
}
|
||||
|
||||
get(key, options) {
|
||||
const {store} = this.opts;
|
||||
const isArray = Array.isArray(key);
|
||||
const keyPrefixed = isArray ? this._getKeyPrefixArray(key) : this._getKeyPrefix(key);
|
||||
if (isArray && store.getMany === undefined) {
|
||||
const promises = [];
|
||||
for (const key of keyPrefixed) {
|
||||
promises.push(Promise.resolve()
|
||||
.then(() => store.get(key))
|
||||
.then(data => (typeof data === 'string') ? this.opts.deserialize(data) : data)
|
||||
.then(data => {
|
||||
if (data === undefined || data === null) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if (typeof data.expires === 'number' && Date.now() > data.expires) {
|
||||
return this.delete(key).then(() => undefined);
|
||||
}
|
||||
|
||||
return (options && options.raw) ? data : data.value;
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
return Promise.allSettled(promises)
|
||||
.then(values => {
|
||||
const data = [];
|
||||
for (const value of values) {
|
||||
data.push(value.value);
|
||||
}
|
||||
|
||||
return data.every(x => x === undefined) ? [] : data;
|
||||
});
|
||||
}
|
||||
|
||||
return Promise.resolve()
|
||||
.then(() => store.get(key))
|
||||
.then(() => isArray ? store.getMany(keyPrefixed) : store.get(keyPrefixed))
|
||||
.then(data => (typeof data === 'string') ? this.opts.deserialize(data) : data)
|
||||
.then(data => {
|
||||
data = (typeof data === 'string') ? this.opts.deserialize(data) : data;
|
||||
if (data === undefined) {
|
||||
if (data === undefined || data === null) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if (isArray) {
|
||||
const result = [];
|
||||
|
||||
if (data.length === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
for (let row of data) {
|
||||
if ((typeof row === 'string')) {
|
||||
row = this.opts.deserialize(row);
|
||||
}
|
||||
|
||||
if (row === undefined || row === null) {
|
||||
result.push(undefined);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (typeof row.expires === 'number' && Date.now() > row.expires) {
|
||||
this.delete(key).then(() => undefined);
|
||||
result.push(undefined);
|
||||
} else {
|
||||
result.push((options && options.raw) ? row : row.value);
|
||||
}
|
||||
}
|
||||
|
||||
return result.every(x => x === undefined) ? [] : result;
|
||||
}
|
||||
|
||||
if (typeof data.expires === 'number' && Date.now() > data.expires) {
|
||||
this.delete(key);
|
||||
return undefined;
|
||||
return this.delete(key).then(() => undefined);
|
||||
}
|
||||
return data.value;
|
||||
|
||||
return (options && options.raw) ? data : data.value;
|
||||
});
|
||||
}
|
||||
|
||||
set(key, value, ttl) {
|
||||
key = this._getKeyPrefix(key);
|
||||
const keyPrefixed = this._getKeyPrefix(key);
|
||||
if (typeof ttl === 'undefined') {
|
||||
ttl = this.opts.ttl;
|
||||
}
|
||||
|
||||
if (ttl === 0) {
|
||||
ttl = undefined;
|
||||
}
|
||||
const store = this.opts.store;
|
||||
|
||||
const {store} = this.opts;
|
||||
|
||||
return Promise.resolve()
|
||||
.then(() => {
|
||||
const expires = (typeof ttl === 'number') ? (Date.now() + ttl) : null;
|
||||
value = { value, expires };
|
||||
return store.set(key, this.opts.serialize(value), ttl);
|
||||
if (typeof value === 'symbol') {
|
||||
this.emit('error', 'symbol cannot be serialized');
|
||||
}
|
||||
|
||||
value = {value, expires};
|
||||
return this.opts.serialize(value);
|
||||
})
|
||||
.then(value => store.set(keyPrefixed, value, ttl))
|
||||
.then(() => true);
|
||||
}
|
||||
|
||||
delete(key) {
|
||||
key = this._getKeyPrefix(key);
|
||||
const store = this.opts.store;
|
||||
const {store} = this.opts;
|
||||
if (Array.isArray(key)) {
|
||||
const keyPrefixed = this._getKeyPrefixArray(key);
|
||||
if (store.deleteMany === undefined) {
|
||||
const promises = [];
|
||||
for (const key of keyPrefixed) {
|
||||
promises.push(store.delete(key));
|
||||
}
|
||||
|
||||
return Promise.allSettled(promises)
|
||||
.then(values => values.every(x => x.value === true));
|
||||
}
|
||||
|
||||
return Promise.resolve()
|
||||
.then(() => store.deleteMany(keyPrefixed));
|
||||
}
|
||||
|
||||
const keyPrefixed = this._getKeyPrefix(key);
|
||||
return Promise.resolve()
|
||||
.then(() => store.delete(key));
|
||||
.then(() => store.delete(keyPrefixed));
|
||||
}
|
||||
|
||||
clear() {
|
||||
const store = this.opts.store;
|
||||
const {store} = this.opts;
|
||||
return Promise.resolve()
|
||||
.then(() => store.clear());
|
||||
}
|
||||
|
||||
has(key) {
|
||||
const keyPrefixed = this._getKeyPrefix(key);
|
||||
const {store} = this.opts;
|
||||
return Promise.resolve()
|
||||
.then(async () => {
|
||||
if (typeof store.has === 'function') {
|
||||
return store.has(keyPrefixed);
|
||||
}
|
||||
|
||||
const value = await store.get(keyPrefixed);
|
||||
return value !== undefined;
|
||||
});
|
||||
}
|
||||
|
||||
disconnect() {
|
||||
const {store} = this.opts;
|
||||
if (typeof store.disconnect === 'function') {
|
||||
return store.disconnect();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Keyv;
|
||||
|
||||
11
node_modules/lowercase-keys/index.js
generated
vendored
11
node_modules/lowercase-keys/index.js
generated
vendored
@@ -1,11 +1,10 @@
|
||||
'use strict';
|
||||
module.exports = function (obj) {
|
||||
var ret = {};
|
||||
var keys = Object.keys(Object(obj));
|
||||
module.exports = object => {
|
||||
const result = {};
|
||||
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
ret[keys[i].toLowerCase()] = obj[keys[i]];
|
||||
for (const [key, value] of Object.entries(object)) {
|
||||
result[key.toLowerCase()] = value;
|
||||
}
|
||||
|
||||
return ret;
|
||||
return result;
|
||||
};
|
||||
|
||||
20
node_modules/lowercase-keys/license
generated
vendored
20
node_modules/lowercase-keys/license
generated
vendored
@@ -1,21 +1,9 @@
|
||||
The MIT License (MIT)
|
||||
MIT License
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
35
node_modules/lowercase-keys/package.json
generated
vendored
35
node_modules/lowercase-keys/package.json
generated
vendored
@@ -1,33 +1,33 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"lowercase-keys@1.0.1",
|
||||
"lowercase-keys@2.0.0",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "lowercase-keys@1.0.1",
|
||||
"_id": "lowercase-keys@1.0.1",
|
||||
"_from": "lowercase-keys@2.0.0",
|
||||
"_id": "lowercase-keys@2.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
|
||||
"_integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
|
||||
"_location": "/lowercase-keys",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "lowercase-keys@1.0.1",
|
||||
"raw": "lowercase-keys@2.0.0",
|
||||
"name": "lowercase-keys",
|
||||
"escapedName": "lowercase-keys",
|
||||
"rawSpec": "1.0.1",
|
||||
"rawSpec": "2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.0.1"
|
||||
"fetchSpec": "2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/gamedig/got",
|
||||
"/package-json/got",
|
||||
"/cacheable-request",
|
||||
"/got",
|
||||
"/responselike"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
|
||||
"_spec": "1.0.1",
|
||||
"_resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
|
||||
"_spec": "2.0.0",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
@@ -39,13 +39,16 @@
|
||||
},
|
||||
"description": "Lowercase the keys of an object",
|
||||
"devDependencies": {
|
||||
"ava": "*"
|
||||
"ava": "^1.4.1",
|
||||
"tsd": "^0.7.2",
|
||||
"xo": "^0.24.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
"node": ">=8"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/lowercase-keys#readme",
|
||||
"keywords": [
|
||||
@@ -66,7 +69,7 @@
|
||||
"url": "git+https://github.com/sindresorhus/lowercase-keys.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "ava"
|
||||
"test": "xo && ava && tsd"
|
||||
},
|
||||
"version": "1.0.1"
|
||||
"version": "2.0.0"
|
||||
}
|
||||
|
||||
245
node_modules/node8-gamedig/node_modules/@sindresorhus/is/dist/index.js
generated
vendored
Normal file
245
node_modules/node8-gamedig/node_modules/@sindresorhus/is/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,245 @@
|
||||
"use strict";
|
||||
/// <reference lib="es2016"/>
|
||||
/// <reference lib="es2017.sharedmemory"/>
|
||||
/// <reference lib="esnext.asynciterable"/>
|
||||
/// <reference lib="dom"/>
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
// TODO: Use the `URL` global when targeting Node.js 10
|
||||
// tslint:disable-next-line
|
||||
const URLGlobal = typeof URL === 'undefined' ? require('url').URL : URL;
|
||||
const toString = Object.prototype.toString;
|
||||
const isOfType = (type) => (value) => typeof value === type;
|
||||
const isBuffer = (input) => !is.nullOrUndefined(input) && !is.nullOrUndefined(input.constructor) && is.function_(input.constructor.isBuffer) && input.constructor.isBuffer(input);
|
||||
const getObjectType = (value) => {
|
||||
const objectName = toString.call(value).slice(8, -1);
|
||||
if (objectName) {
|
||||
return objectName;
|
||||
}
|
||||
return null;
|
||||
};
|
||||
const isObjectOfType = (type) => (value) => getObjectType(value) === type;
|
||||
function is(value) {
|
||||
switch (value) {
|
||||
case null:
|
||||
return "null" /* null */;
|
||||
case true:
|
||||
case false:
|
||||
return "boolean" /* boolean */;
|
||||
default:
|
||||
}
|
||||
switch (typeof value) {
|
||||
case 'undefined':
|
||||
return "undefined" /* undefined */;
|
||||
case 'string':
|
||||
return "string" /* string */;
|
||||
case 'number':
|
||||
return "number" /* number */;
|
||||
case 'symbol':
|
||||
return "symbol" /* symbol */;
|
||||
default:
|
||||
}
|
||||
if (is.function_(value)) {
|
||||
return "Function" /* Function */;
|
||||
}
|
||||
if (is.observable(value)) {
|
||||
return "Observable" /* Observable */;
|
||||
}
|
||||
if (Array.isArray(value)) {
|
||||
return "Array" /* Array */;
|
||||
}
|
||||
if (isBuffer(value)) {
|
||||
return "Buffer" /* Buffer */;
|
||||
}
|
||||
const tagType = getObjectType(value);
|
||||
if (tagType) {
|
||||
return tagType;
|
||||
}
|
||||
if (value instanceof String || value instanceof Boolean || value instanceof Number) {
|
||||
throw new TypeError('Please don\'t use object wrappers for primitive types');
|
||||
}
|
||||
return "Object" /* Object */;
|
||||
}
|
||||
(function (is) {
|
||||
// tslint:disable-next-line:strict-type-predicates
|
||||
const isObject = (value) => typeof value === 'object';
|
||||
// tslint:disable:variable-name
|
||||
is.undefined = isOfType('undefined');
|
||||
is.string = isOfType('string');
|
||||
is.number = isOfType('number');
|
||||
is.function_ = isOfType('function');
|
||||
// tslint:disable-next-line:strict-type-predicates
|
||||
is.null_ = (value) => value === null;
|
||||
is.class_ = (value) => is.function_(value) && value.toString().startsWith('class ');
|
||||
is.boolean = (value) => value === true || value === false;
|
||||
is.symbol = isOfType('symbol');
|
||||
// tslint:enable:variable-name
|
||||
is.numericString = (value) => is.string(value) && value.length > 0 && !Number.isNaN(Number(value));
|
||||
is.array = Array.isArray;
|
||||
is.buffer = isBuffer;
|
||||
is.nullOrUndefined = (value) => is.null_(value) || is.undefined(value);
|
||||
is.object = (value) => !is.nullOrUndefined(value) && (is.function_(value) || isObject(value));
|
||||
is.iterable = (value) => !is.nullOrUndefined(value) && is.function_(value[Symbol.iterator]);
|
||||
is.asyncIterable = (value) => !is.nullOrUndefined(value) && is.function_(value[Symbol.asyncIterator]);
|
||||
is.generator = (value) => is.iterable(value) && is.function_(value.next) && is.function_(value.throw);
|
||||
is.nativePromise = (value) => isObjectOfType("Promise" /* Promise */)(value);
|
||||
const hasPromiseAPI = (value) => !is.null_(value) &&
|
||||
isObject(value) &&
|
||||
is.function_(value.then) &&
|
||||
is.function_(value.catch);
|
||||
is.promise = (value) => is.nativePromise(value) || hasPromiseAPI(value);
|
||||
is.generatorFunction = isObjectOfType("GeneratorFunction" /* GeneratorFunction */);
|
||||
is.asyncFunction = isObjectOfType("AsyncFunction" /* AsyncFunction */);
|
||||
is.boundFunction = (value) => is.function_(value) && !value.hasOwnProperty('prototype');
|
||||
is.regExp = isObjectOfType("RegExp" /* RegExp */);
|
||||
is.date = isObjectOfType("Date" /* Date */);
|
||||
is.error = isObjectOfType("Error" /* Error */);
|
||||
is.map = (value) => isObjectOfType("Map" /* Map */)(value);
|
||||
is.set = (value) => isObjectOfType("Set" /* Set */)(value);
|
||||
is.weakMap = (value) => isObjectOfType("WeakMap" /* WeakMap */)(value);
|
||||
is.weakSet = (value) => isObjectOfType("WeakSet" /* WeakSet */)(value);
|
||||
is.int8Array = isObjectOfType("Int8Array" /* Int8Array */);
|
||||
is.uint8Array = isObjectOfType("Uint8Array" /* Uint8Array */);
|
||||
is.uint8ClampedArray = isObjectOfType("Uint8ClampedArray" /* Uint8ClampedArray */);
|
||||
is.int16Array = isObjectOfType("Int16Array" /* Int16Array */);
|
||||
is.uint16Array = isObjectOfType("Uint16Array" /* Uint16Array */);
|
||||
is.int32Array = isObjectOfType("Int32Array" /* Int32Array */);
|
||||
is.uint32Array = isObjectOfType("Uint32Array" /* Uint32Array */);
|
||||
is.float32Array = isObjectOfType("Float32Array" /* Float32Array */);
|
||||
is.float64Array = isObjectOfType("Float64Array" /* Float64Array */);
|
||||
is.arrayBuffer = isObjectOfType("ArrayBuffer" /* ArrayBuffer */);
|
||||
is.sharedArrayBuffer = isObjectOfType("SharedArrayBuffer" /* SharedArrayBuffer */);
|
||||
is.dataView = isObjectOfType("DataView" /* DataView */);
|
||||
is.directInstanceOf = (instance, klass) => Object.getPrototypeOf(instance) === klass.prototype;
|
||||
is.urlInstance = (value) => isObjectOfType("URL" /* URL */)(value);
|
||||
is.urlString = (value) => {
|
||||
if (!is.string(value)) {
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
new URLGlobal(value); // tslint:disable-line no-unused-expression
|
||||
return true;
|
||||
}
|
||||
catch (_a) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
is.truthy = (value) => Boolean(value);
|
||||
is.falsy = (value) => !value;
|
||||
is.nan = (value) => Number.isNaN(value);
|
||||
const primitiveTypes = new Set([
|
||||
'undefined',
|
||||
'string',
|
||||
'number',
|
||||
'boolean',
|
||||
'symbol'
|
||||
]);
|
||||
is.primitive = (value) => is.null_(value) || primitiveTypes.has(typeof value);
|
||||
is.integer = (value) => Number.isInteger(value);
|
||||
is.safeInteger = (value) => Number.isSafeInteger(value);
|
||||
is.plainObject = (value) => {
|
||||
// From: https://github.com/sindresorhus/is-plain-obj/blob/master/index.js
|
||||
let prototype;
|
||||
return getObjectType(value) === "Object" /* Object */ &&
|
||||
(prototype = Object.getPrototypeOf(value), prototype === null || // tslint:disable-line:ban-comma-operator
|
||||
prototype === Object.getPrototypeOf({}));
|
||||
};
|
||||
const typedArrayTypes = new Set([
|
||||
"Int8Array" /* Int8Array */,
|
||||
"Uint8Array" /* Uint8Array */,
|
||||
"Uint8ClampedArray" /* Uint8ClampedArray */,
|
||||
"Int16Array" /* Int16Array */,
|
||||
"Uint16Array" /* Uint16Array */,
|
||||
"Int32Array" /* Int32Array */,
|
||||
"Uint32Array" /* Uint32Array */,
|
||||
"Float32Array" /* Float32Array */,
|
||||
"Float64Array" /* Float64Array */
|
||||
]);
|
||||
is.typedArray = (value) => {
|
||||
const objectType = getObjectType(value);
|
||||
if (objectType === null) {
|
||||
return false;
|
||||
}
|
||||
return typedArrayTypes.has(objectType);
|
||||
};
|
||||
const isValidLength = (value) => is.safeInteger(value) && value > -1;
|
||||
is.arrayLike = (value) => !is.nullOrUndefined(value) && !is.function_(value) && isValidLength(value.length);
|
||||
is.inRange = (value, range) => {
|
||||
if (is.number(range)) {
|
||||
return value >= Math.min(0, range) && value <= Math.max(range, 0);
|
||||
}
|
||||
if (is.array(range) && range.length === 2) {
|
||||
return value >= Math.min(...range) && value <= Math.max(...range);
|
||||
}
|
||||
throw new TypeError(`Invalid range: ${JSON.stringify(range)}`);
|
||||
};
|
||||
const NODE_TYPE_ELEMENT = 1;
|
||||
const DOM_PROPERTIES_TO_CHECK = [
|
||||
'innerHTML',
|
||||
'ownerDocument',
|
||||
'style',
|
||||
'attributes',
|
||||
'nodeValue'
|
||||
];
|
||||
is.domElement = (value) => is.object(value) && value.nodeType === NODE_TYPE_ELEMENT && is.string(value.nodeName) &&
|
||||
!is.plainObject(value) && DOM_PROPERTIES_TO_CHECK.every(property => property in value);
|
||||
is.observable = (value) => {
|
||||
if (!value) {
|
||||
return false;
|
||||
}
|
||||
if (value[Symbol.observable] && value === value[Symbol.observable]()) {
|
||||
return true;
|
||||
}
|
||||
if (value['@@observable'] && value === value['@@observable']()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
is.nodeStream = (value) => !is.nullOrUndefined(value) && isObject(value) && is.function_(value.pipe) && !is.observable(value);
|
||||
is.infinite = (value) => value === Infinity || value === -Infinity;
|
||||
const isAbsoluteMod2 = (rem) => (value) => is.integer(value) && Math.abs(value % 2) === rem;
|
||||
is.even = isAbsoluteMod2(0);
|
||||
is.odd = isAbsoluteMod2(1);
|
||||
const isWhiteSpaceString = (value) => is.string(value) && /\S/.test(value) === false;
|
||||
is.emptyArray = (value) => is.array(value) && value.length === 0;
|
||||
is.nonEmptyArray = (value) => is.array(value) && value.length > 0;
|
||||
is.emptyString = (value) => is.string(value) && value.length === 0;
|
||||
is.nonEmptyString = (value) => is.string(value) && value.length > 0;
|
||||
is.emptyStringOrWhitespace = (value) => is.emptyString(value) || isWhiteSpaceString(value);
|
||||
is.emptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length === 0;
|
||||
is.nonEmptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length > 0;
|
||||
is.emptySet = (value) => is.set(value) && value.size === 0;
|
||||
is.nonEmptySet = (value) => is.set(value) && value.size > 0;
|
||||
is.emptyMap = (value) => is.map(value) && value.size === 0;
|
||||
is.nonEmptyMap = (value) => is.map(value) && value.size > 0;
|
||||
const predicateOnArray = (method, predicate, values) => {
|
||||
if (is.function_(predicate) === false) {
|
||||
throw new TypeError(`Invalid predicate: ${JSON.stringify(predicate)}`);
|
||||
}
|
||||
if (values.length === 0) {
|
||||
throw new TypeError('Invalid number of values');
|
||||
}
|
||||
return method.call(values, predicate);
|
||||
};
|
||||
// tslint:disable variable-name
|
||||
is.any = (predicate, ...values) => predicateOnArray(Array.prototype.some, predicate, values);
|
||||
is.all = (predicate, ...values) => predicateOnArray(Array.prototype.every, predicate, values);
|
||||
// tslint:enable variable-name
|
||||
})(is || (is = {}));
|
||||
// Some few keywords are reserved, but we'll populate them for Node.js users
|
||||
// See https://github.com/Microsoft/TypeScript/issues/2536
|
||||
Object.defineProperties(is, {
|
||||
class: {
|
||||
value: is.class_
|
||||
},
|
||||
function: {
|
||||
value: is.function_
|
||||
},
|
||||
null: {
|
||||
value: is.null_
|
||||
}
|
||||
});
|
||||
exports.default = is;
|
||||
// For CommonJS default export support
|
||||
module.exports = is;
|
||||
module.exports.default = is;
|
||||
//# sourceMappingURL=index.js.map
|
||||
99
node_modules/node8-gamedig/node_modules/@sindresorhus/is/package.json
generated
vendored
Normal file
99
node_modules/node8-gamedig/node_modules/@sindresorhus/is/package.json
generated
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"@sindresorhus/is@0.14.0",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "@sindresorhus/is@0.14.0",
|
||||
"_id": "@sindresorhus/is@0.14.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
|
||||
"_location": "/node8-gamedig/@sindresorhus/is",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@sindresorhus/is@0.14.0",
|
||||
"name": "@sindresorhus/is",
|
||||
"escapedName": "@sindresorhus%2fis",
|
||||
"scope": "@sindresorhus",
|
||||
"rawSpec": "0.14.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "0.14.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/node8-gamedig/got"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
|
||||
"_spec": "0.14.0",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/is/issues"
|
||||
},
|
||||
"description": "Type check values: `is.string('🦄') //=> true`",
|
||||
"devDependencies": {
|
||||
"@sindresorhus/tsconfig": "^0.1.0",
|
||||
"@types/jsdom": "^11.12.0",
|
||||
"@types/node": "^10.12.10",
|
||||
"@types/tempy": "^0.2.0",
|
||||
"@types/zen-observable": "^0.8.0",
|
||||
"ava": "^0.25.0",
|
||||
"del-cli": "^1.1.0",
|
||||
"jsdom": "^11.6.2",
|
||||
"rxjs": "^6.3.3",
|
||||
"tempy": "^0.2.1",
|
||||
"tslint": "^5.9.1",
|
||||
"tslint-xo": "^0.10.0",
|
||||
"typescript": "^3.2.1",
|
||||
"zen-observable": "^0.8.8"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/is#readme",
|
||||
"keywords": [
|
||||
"type",
|
||||
"types",
|
||||
"is",
|
||||
"check",
|
||||
"checking",
|
||||
"validate",
|
||||
"validation",
|
||||
"utility",
|
||||
"util",
|
||||
"typeof",
|
||||
"instanceof",
|
||||
"object",
|
||||
"assert",
|
||||
"assertion",
|
||||
"test",
|
||||
"kind",
|
||||
"primitive",
|
||||
"verify",
|
||||
"compare"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "dist/index.js",
|
||||
"name": "@sindresorhus/is",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/is.git"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "del dist && tsc",
|
||||
"lint": "tslint --format stylish --project .",
|
||||
"prepublish": "npm run build && del dist/tests",
|
||||
"test": "npm run lint && npm run build && ava dist/tests"
|
||||
},
|
||||
"types": "dist/index.d.ts",
|
||||
"version": "0.14.0"
|
||||
}
|
||||
78
node_modules/node8-gamedig/node_modules/@szmarczak/http-timer/package.json
generated
vendored
Normal file
78
node_modules/node8-gamedig/node_modules/@szmarczak/http-timer/package.json
generated
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"@szmarczak/http-timer@1.1.2",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "@szmarczak/http-timer@1.1.2",
|
||||
"_id": "@szmarczak/http-timer@1.1.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
|
||||
"_location": "/node8-gamedig/@szmarczak/http-timer",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@szmarczak/http-timer@1.1.2",
|
||||
"name": "@szmarczak/http-timer",
|
||||
"escapedName": "@szmarczak%2fhttp-timer",
|
||||
"scope": "@szmarczak",
|
||||
"rawSpec": "1.1.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.1.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/node8-gamedig/got"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
|
||||
"_spec": "1.1.2",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Szymon Marczak"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/szmarczak/http-timer/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"defer-to-connect": "^1.0.1"
|
||||
},
|
||||
"description": "Timings for HTTP requests",
|
||||
"devDependencies": {
|
||||
"ava": "^0.25.0",
|
||||
"coveralls": "^3.0.2",
|
||||
"nyc": "^12.0.2",
|
||||
"p-event": "^2.1.0",
|
||||
"xo": "^0.22.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"files": [
|
||||
"source"
|
||||
],
|
||||
"homepage": "https://github.com/szmarczak/http-timer#readme",
|
||||
"keywords": [
|
||||
"http",
|
||||
"https",
|
||||
"timer",
|
||||
"timings"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "source",
|
||||
"name": "@szmarczak/http-timer",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/szmarczak/http-timer.git"
|
||||
},
|
||||
"scripts": {
|
||||
"coveralls": "nyc report --reporter=text-lcov | coveralls",
|
||||
"test": "xo && nyc ava"
|
||||
},
|
||||
"version": "1.1.2",
|
||||
"xo": {
|
||||
"rules": {
|
||||
"unicorn/filename-case": "camelCase"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,7 @@
|
||||
"_id": "get-stream@5.2.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
|
||||
"_location": "/cacheable-request/get-stream",
|
||||
"_location": "/node8-gamedig/cacheable-request/get-stream",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
@@ -22,7 +22,7 @@
|
||||
"fetchSpec": "5.2.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/cacheable-request"
|
||||
"/node8-gamedig/cacheable-request"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
|
||||
"_spec": "5.2.0",
|
||||
@@ -9,7 +9,7 @@
|
||||
"_id": "lowercase-keys@2.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
|
||||
"_location": "/cacheable-request/lowercase-keys",
|
||||
"_location": "/node8-gamedig/cacheable-request/lowercase-keys",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
@@ -22,7 +22,7 @@
|
||||
"fetchSpec": "2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/cacheable-request"
|
||||
"/node8-gamedig/cacheable-request"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
|
||||
"_spec": "2.0.0",
|
||||
@@ -1,31 +1,33 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"cacheable-request@7.0.2",
|
||||
"cacheable-request@6.1.0",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "cacheable-request@7.0.2",
|
||||
"_id": "cacheable-request@7.0.2",
|
||||
"_from": "cacheable-request@6.1.0",
|
||||
"_id": "cacheable-request@6.1.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
|
||||
"_location": "/got/cacheable-request",
|
||||
"_phantomChildren": {},
|
||||
"_integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
|
||||
"_location": "/node8-gamedig/cacheable-request",
|
||||
"_phantomChildren": {
|
||||
"pump": "3.0.0"
|
||||
},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "cacheable-request@7.0.2",
|
||||
"raw": "cacheable-request@6.1.0",
|
||||
"name": "cacheable-request",
|
||||
"escapedName": "cacheable-request",
|
||||
"rawSpec": "7.0.2",
|
||||
"rawSpec": "6.1.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "7.0.2"
|
||||
"fetchSpec": "6.1.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/got"
|
||||
"/node8-gamedig/got"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
|
||||
"_spec": "7.0.2",
|
||||
"_resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
|
||||
"_spec": "6.1.0",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Luke Childs",
|
||||
@@ -39,10 +41,10 @@
|
||||
"clone-response": "^1.0.2",
|
||||
"get-stream": "^5.1.0",
|
||||
"http-cache-semantics": "^4.0.0",
|
||||
"keyv": "^4.0.0",
|
||||
"keyv": "^3.0.0",
|
||||
"lowercase-keys": "^2.0.0",
|
||||
"normalize-url": "^6.0.1",
|
||||
"responselike": "^2.0.0"
|
||||
"normalize-url": "^4.1.0",
|
||||
"responselike": "^1.0.2"
|
||||
},
|
||||
"description": "Wrap native HTTP requests with RFC compliant cache support",
|
||||
"devDependencies": {
|
||||
@@ -88,7 +90,7 @@
|
||||
"coverage": "nyc report --reporter=text-lcov | coveralls",
|
||||
"test": "xo && nyc ava"
|
||||
},
|
||||
"version": "7.0.2",
|
||||
"version": "6.1.0",
|
||||
"xo": {
|
||||
"extends": "xo-lukechilds"
|
||||
}
|
||||
29
node_modules/node8-gamedig/node_modules/decompress-response/index.js
generated
vendored
Normal file
29
node_modules/node8-gamedig/node_modules/decompress-response/index.js
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
'use strict';
|
||||
const PassThrough = require('stream').PassThrough;
|
||||
const zlib = require('zlib');
|
||||
const mimicResponse = require('mimic-response');
|
||||
|
||||
module.exports = response => {
|
||||
// TODO: Use Array#includes when targeting Node.js 6
|
||||
if (['gzip', 'deflate'].indexOf(response.headers['content-encoding']) === -1) {
|
||||
return response;
|
||||
}
|
||||
|
||||
const unzip = zlib.createUnzip();
|
||||
const stream = new PassThrough();
|
||||
|
||||
mimicResponse(response, stream);
|
||||
|
||||
unzip.on('error', err => {
|
||||
if (err.code === 'Z_BUF_ERROR') {
|
||||
stream.end();
|
||||
return;
|
||||
}
|
||||
|
||||
stream.emit('error', err);
|
||||
});
|
||||
|
||||
response.pipe(unzip).pipe(stream);
|
||||
|
||||
return stream;
|
||||
};
|
||||
21
node_modules/node8-gamedig/node_modules/decompress-response/license
generated
vendored
Normal file
21
node_modules/node8-gamedig/node_modules/decompress-response/license
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
`The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
@@ -1,60 +1,51 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"decompress-response@6.0.0",
|
||||
"decompress-response@3.3.0",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "decompress-response@6.0.0",
|
||||
"_id": "decompress-response@6.0.0",
|
||||
"_from": "decompress-response@3.3.0",
|
||||
"_id": "decompress-response@3.3.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
|
||||
"_location": "/got/decompress-response",
|
||||
"_integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
|
||||
"_location": "/node8-gamedig/decompress-response",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "decompress-response@6.0.0",
|
||||
"raw": "decompress-response@3.3.0",
|
||||
"name": "decompress-response",
|
||||
"escapedName": "decompress-response",
|
||||
"rawSpec": "6.0.0",
|
||||
"rawSpec": "3.3.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "6.0.0"
|
||||
"fetchSpec": "3.3.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/got"
|
||||
"/node8-gamedig/got"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
|
||||
"_spec": "6.0.0",
|
||||
"_resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
|
||||
"_spec": "3.3.0",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "https://sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/decompress-response/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"mimic-response": "^3.1.0"
|
||||
"mimic-response": "^1.0.0"
|
||||
},
|
||||
"description": "Decompress a HTTP response if needed",
|
||||
"devDependencies": {
|
||||
"@types/node": "^14.0.1",
|
||||
"ava": "^2.2.0",
|
||||
"get-stream": "^5.0.0",
|
||||
"pify": "^5.0.0",
|
||||
"tsd": "^0.11.0",
|
||||
"xo": "^0.30.0"
|
||||
"ava": "*",
|
||||
"get-stream": "^3.0.0",
|
||||
"pify": "^3.0.0",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
"index.js"
|
||||
],
|
||||
"funding": "https://github.com/sponsors/sindresorhus",
|
||||
"homepage": "https://github.com/sindresorhus/decompress-response#readme",
|
||||
"keywords": [
|
||||
"decompress",
|
||||
@@ -70,22 +61,28 @@
|
||||
"incoming",
|
||||
"message",
|
||||
"stream",
|
||||
"compressed",
|
||||
"brotli"
|
||||
"compressed"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
{
|
||||
"name": "Vsevolod Strukchinsky",
|
||||
"email": "floatdrop@gmail.com",
|
||||
"url": "github.com/floatdrop"
|
||||
}
|
||||
],
|
||||
"name": "decompress-response",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/decompress-response.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd"
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "6.0.0",
|
||||
"xo": {
|
||||
"rules": {
|
||||
"@typescript-eslint/prefer-readonly-parameter-types": "off"
|
||||
}
|
||||
}
|
||||
"version": "3.3.0"
|
||||
}
|
||||
@@ -1,67 +1,70 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"defer-to-connect@2.0.1",
|
||||
"defer-to-connect@1.1.3",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "defer-to-connect@2.0.1",
|
||||
"_id": "defer-to-connect@2.0.1",
|
||||
"_from": "defer-to-connect@1.1.3",
|
||||
"_id": "defer-to-connect@1.1.3",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
|
||||
"_location": "/got/defer-to-connect",
|
||||
"_integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
|
||||
"_location": "/node8-gamedig/defer-to-connect",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "defer-to-connect@2.0.1",
|
||||
"raw": "defer-to-connect@1.1.3",
|
||||
"name": "defer-to-connect",
|
||||
"escapedName": "defer-to-connect",
|
||||
"rawSpec": "2.0.1",
|
||||
"rawSpec": "1.1.3",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "2.0.1"
|
||||
"fetchSpec": "1.1.3"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/got/@szmarczak/http-timer"
|
||||
"/node8-gamedig/@szmarczak/http-timer"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
|
||||
"_spec": "2.0.1",
|
||||
"_resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
|
||||
"_spec": "1.1.3",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Szymon Marczak"
|
||||
},
|
||||
"ava": {
|
||||
"typescript": {
|
||||
"rewritePaths": {
|
||||
"tests/": "dist/tests/"
|
||||
}
|
||||
}
|
||||
"babel": false,
|
||||
"compileEnhancements": false,
|
||||
"extensions": [
|
||||
"ts"
|
||||
],
|
||||
"require": [
|
||||
"ts-node/register"
|
||||
],
|
||||
"files": [
|
||||
"!dist/tests/test.d.ts"
|
||||
]
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/szmarczak/defer-to-connect/issues"
|
||||
},
|
||||
"description": "The safe way to handle the `connect` socket event",
|
||||
"devDependencies": {
|
||||
"@ava/typescript": "^1.1.0",
|
||||
"@sindresorhus/tsconfig": "^0.7.0",
|
||||
"@types/node": "^13.5.0",
|
||||
"@typescript-eslint/eslint-plugin": "^2.18.0",
|
||||
"@typescript-eslint/parser": "^2.18.0",
|
||||
"ava": "^3.2.0",
|
||||
"coveralls": "^3.0.9",
|
||||
"@sindresorhus/tsconfig": "^0.5.0",
|
||||
"@types/node": "^12.12.4",
|
||||
"@typescript-eslint/eslint-plugin": "^1.11.0",
|
||||
"@typescript-eslint/parser": "^1.11.0",
|
||||
"ava": "^2.1.0",
|
||||
"coveralls": "^3.0.7",
|
||||
"create-cert": "^1.0.6",
|
||||
"del-cli": "^3.0.0",
|
||||
"eslint-config-xo-typescript": "^0.24.1",
|
||||
"nyc": "^15.0.0",
|
||||
"eslint-config-xo-typescript": "^0.15.0",
|
||||
"nyc": "^14.0.0",
|
||||
"p-event": "^4.1.0",
|
||||
"typescript": "^3.7.5",
|
||||
"ts-node": "^8.1.0",
|
||||
"typescript": "^3.6.4",
|
||||
"xo": "^0.25.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"files": [
|
||||
"dist/source"
|
||||
"dist"
|
||||
],
|
||||
"homepage": "https://github.com/szmarczak/defer-to-connect#readme",
|
||||
"keywords": [
|
||||
@@ -70,12 +73,9 @@
|
||||
"event"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "dist/source",
|
||||
"main": "dist",
|
||||
"name": "defer-to-connect",
|
||||
"nyc": {
|
||||
"include": [
|
||||
"dist/source"
|
||||
],
|
||||
"extension": [
|
||||
".ts"
|
||||
]
|
||||
@@ -87,15 +87,18 @@
|
||||
"scripts": {
|
||||
"build": "del-cli dist && tsc",
|
||||
"coveralls": "nyc report --reporter=text-lcov | coveralls",
|
||||
"prepare": "npm run build",
|
||||
"test": "xo && tsc --noEmit && nyc ava"
|
||||
"prepublishOnly": "npm run build",
|
||||
"test": "xo && nyc ava"
|
||||
},
|
||||
"types": "dist/source/index.d.ts",
|
||||
"version": "2.0.1",
|
||||
"types": "dist",
|
||||
"version": "1.1.3",
|
||||
"xo": {
|
||||
"extends": "xo-typescript",
|
||||
"extensions": [
|
||||
"ts"
|
||||
]
|
||||
],
|
||||
"rules": {
|
||||
"ava/no-ignored-test-files": "off"
|
||||
}
|
||||
}
|
||||
}
|
||||
51
node_modules/node8-gamedig/node_modules/get-stream/buffer-stream.js
generated
vendored
Normal file
51
node_modules/node8-gamedig/node_modules/get-stream/buffer-stream.js
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
'use strict';
|
||||
const {PassThrough} = require('stream');
|
||||
|
||||
module.exports = options => {
|
||||
options = Object.assign({}, options);
|
||||
|
||||
const {array} = options;
|
||||
let {encoding} = options;
|
||||
const buffer = encoding === 'buffer';
|
||||
let objectMode = false;
|
||||
|
||||
if (array) {
|
||||
objectMode = !(encoding || buffer);
|
||||
} else {
|
||||
encoding = encoding || 'utf8';
|
||||
}
|
||||
|
||||
if (buffer) {
|
||||
encoding = null;
|
||||
}
|
||||
|
||||
let len = 0;
|
||||
const ret = [];
|
||||
const stream = new PassThrough({objectMode});
|
||||
|
||||
if (encoding) {
|
||||
stream.setEncoding(encoding);
|
||||
}
|
||||
|
||||
stream.on('data', chunk => {
|
||||
ret.push(chunk);
|
||||
|
||||
if (objectMode) {
|
||||
len = ret.length;
|
||||
} else {
|
||||
len += chunk.length;
|
||||
}
|
||||
});
|
||||
|
||||
stream.getBufferedValue = () => {
|
||||
if (array) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
return buffer ? Buffer.concat(ret, len) : ret.join('');
|
||||
};
|
||||
|
||||
stream.getBufferedLength = () => len;
|
||||
|
||||
return stream;
|
||||
};
|
||||
@@ -1,5 +1,4 @@
|
||||
'use strict';
|
||||
const {constants: BufferConstants} = require('buffer');
|
||||
const pump = require('pump');
|
||||
const bufferStream = require('./buffer-stream');
|
||||
|
||||
@@ -10,26 +9,21 @@ class MaxBufferError extends Error {
|
||||
}
|
||||
}
|
||||
|
||||
async function getStream(inputStream, options) {
|
||||
function getStream(inputStream, options) {
|
||||
if (!inputStream) {
|
||||
return Promise.reject(new Error('Expected a stream'));
|
||||
}
|
||||
|
||||
options = {
|
||||
maxBuffer: Infinity,
|
||||
...options
|
||||
};
|
||||
options = Object.assign({maxBuffer: Infinity}, options);
|
||||
|
||||
const {maxBuffer} = options;
|
||||
|
||||
let stream;
|
||||
await new Promise((resolve, reject) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const rejectPromise = error => {
|
||||
// Don't retrieve an oversized buffer.
|
||||
if (error && stream.getBufferedLength() <= BufferConstants.MAX_LENGTH) {
|
||||
if (error) { // A null check
|
||||
error.bufferedData = stream.getBufferedValue();
|
||||
}
|
||||
|
||||
reject(error);
|
||||
};
|
||||
|
||||
@@ -47,14 +41,10 @@ async function getStream(inputStream, options) {
|
||||
rejectPromise(new MaxBufferError());
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
return stream.getBufferedValue();
|
||||
}).then(() => stream.getBufferedValue());
|
||||
}
|
||||
|
||||
module.exports = getStream;
|
||||
// TODO: Remove this for the next major release
|
||||
module.exports.default = getStream;
|
||||
module.exports.buffer = (stream, options) => getStream(stream, {...options, encoding: 'buffer'});
|
||||
module.exports.array = (stream, options) => getStream(stream, {...options, array: true});
|
||||
module.exports.buffer = (stream, options) => getStream(stream, Object.assign({}, options, {encoding: 'buffer'}));
|
||||
module.exports.array = (stream, options) => getStream(stream, Object.assign({}, options, {array: true}));
|
||||
module.exports.MaxBufferError = MaxBufferError;
|
||||
@@ -1,36 +1,36 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"get-stream@5.2.0",
|
||||
"get-stream@4.1.0",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "get-stream@5.2.0",
|
||||
"_id": "get-stream@5.2.0",
|
||||
"_from": "get-stream@4.1.0",
|
||||
"_id": "get-stream@4.1.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
|
||||
"_location": "/got/get-stream",
|
||||
"_integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
|
||||
"_location": "/node8-gamedig/get-stream",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "get-stream@5.2.0",
|
||||
"raw": "get-stream@4.1.0",
|
||||
"name": "get-stream",
|
||||
"escapedName": "get-stream",
|
||||
"rawSpec": "5.2.0",
|
||||
"rawSpec": "4.1.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "5.2.0"
|
||||
"fetchSpec": "4.1.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/got/cacheable-request"
|
||||
"/node8-gamedig/got"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
|
||||
"_spec": "5.2.0",
|
||||
"_resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
|
||||
"_spec": "4.1.0",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "https://sindresorhus.com"
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/get-stream/issues"
|
||||
@@ -40,21 +40,17 @@
|
||||
},
|
||||
"description": "Get a stream as a string, buffer, or array",
|
||||
"devDependencies": {
|
||||
"@types/node": "^12.0.7",
|
||||
"ava": "^2.0.0",
|
||||
"into-stream": "^5.0.0",
|
||||
"tsd": "^0.7.2",
|
||||
"xo": "^0.24.0"
|
||||
"ava": "*",
|
||||
"into-stream": "^3.0.0",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
"node": ">=6"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts",
|
||||
"buffer-stream.js"
|
||||
],
|
||||
"funding": "https://github.com/sponsors/sindresorhus",
|
||||
"homepage": "https://github.com/sindresorhus/get-stream#readme",
|
||||
"keywords": [
|
||||
"get",
|
||||
@@ -79,7 +75,7 @@
|
||||
"url": "git+https://github.com/sindresorhus/get-stream.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd"
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "5.2.0"
|
||||
"version": "4.1.0"
|
||||
}
|
||||
@@ -49,7 +49,7 @@ exports.parse = function (s) {
|
||||
return JSON.parse(s, function (key, value) {
|
||||
if('string' === typeof value) {
|
||||
if(/^:base64:/.test(value))
|
||||
return Buffer.from(value.substring(8), 'base64')
|
||||
return new Buffer(value.substring(8), 'base64')
|
||||
else
|
||||
return /^:/.test(value) ? value.substring(1) : value
|
||||
}
|
||||
@@ -1,31 +1,31 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"json-buffer@3.0.1",
|
||||
"json-buffer@3.0.0",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "json-buffer@3.0.1",
|
||||
"_id": "json-buffer@3.0.1",
|
||||
"_from": "json-buffer@3.0.0",
|
||||
"_id": "json-buffer@3.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
|
||||
"_location": "/got/json-buffer",
|
||||
"_integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==",
|
||||
"_location": "/node8-gamedig/json-buffer",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "json-buffer@3.0.1",
|
||||
"raw": "json-buffer@3.0.0",
|
||||
"name": "json-buffer",
|
||||
"escapedName": "json-buffer",
|
||||
"rawSpec": "3.0.1",
|
||||
"rawSpec": "3.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "3.0.1"
|
||||
"fetchSpec": "3.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/got/keyv"
|
||||
"/node8-gamedig/keyv"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
||||
"_spec": "3.0.1",
|
||||
"_resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
|
||||
"_spec": "3.0.0",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Dominic Tarr",
|
||||
@@ -65,5 +65,5 @@
|
||||
"android-browser/4.2..latest"
|
||||
]
|
||||
},
|
||||
"version": "3.0.1"
|
||||
"version": "3.0.0"
|
||||
}
|
||||
@@ -7,8 +7,8 @@ function clone (o) {
|
||||
}
|
||||
|
||||
var examples = {
|
||||
simple: { foo: [], bar: {}, baz: Buffer.from('some binary data') },
|
||||
just_buffer: Buffer.from('JUST A BUFFER'),
|
||||
simple: { foo: [], bar: {}, baz: new Buffer('some binary data') },
|
||||
just_buffer: new Buffer('JUST A BUFFER'),
|
||||
all_types: {
|
||||
string:'hello',
|
||||
number: 3145,
|
||||
@@ -18,15 +18,15 @@ var examples = {
|
||||
boolean: true,
|
||||
boolean2: false
|
||||
},
|
||||
foo: Buffer.from('foo'),
|
||||
foo2: Buffer.from('foo2'),
|
||||
foo: new Buffer('foo'),
|
||||
foo2: new Buffer('foo2'),
|
||||
escape: {
|
||||
buffer: Buffer.from('x'),
|
||||
string: _JSON.stringify(Buffer.from('x'))
|
||||
buffer: new Buffer('x'),
|
||||
string: _JSON.stringify(new Buffer('x'))
|
||||
},
|
||||
escape2: {
|
||||
buffer: Buffer.from('x'),
|
||||
string: ':base64:'+ Buffer.from('x').toString('base64')
|
||||
buffer: new Buffer('x'),
|
||||
string: ':base64:'+ new Buffer('x').toString('base64')
|
||||
},
|
||||
undefined: {
|
||||
empty: undefined, test: true
|
||||
0
node_modules/keyv/LICENSE → node_modules/node8-gamedig/node_modules/keyv/LICENSE
generated
vendored
0
node_modules/keyv/LICENSE → node_modules/node8-gamedig/node_modules/keyv/LICENSE
generated
vendored
81
node_modules/node8-gamedig/node_modules/keyv/package.json
generated
vendored
Normal file
81
node_modules/node8-gamedig/node_modules/keyv/package.json
generated
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"keyv@3.1.0",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "keyv@3.1.0",
|
||||
"_id": "keyv@3.1.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
|
||||
"_location": "/node8-gamedig/keyv",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "keyv@3.1.0",
|
||||
"name": "keyv",
|
||||
"escapedName": "keyv",
|
||||
"rawSpec": "3.1.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "3.1.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/node8-gamedig/cacheable-request"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
|
||||
"_spec": "3.1.0",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Luke Childs",
|
||||
"email": "lukechilds123@gmail.com",
|
||||
"url": "http://lukechilds.co.uk"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/lukechilds/keyv/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"json-buffer": "3.0.0"
|
||||
},
|
||||
"description": "Simple key-value storage with support for multiple backends",
|
||||
"devDependencies": {
|
||||
"@keyv/mongo": "*",
|
||||
"@keyv/mysql": "*",
|
||||
"@keyv/postgres": "*",
|
||||
"@keyv/redis": "*",
|
||||
"@keyv/sqlite": "*",
|
||||
"@keyv/test-suite": "*",
|
||||
"ava": "^0.25.0",
|
||||
"coveralls": "^3.0.0",
|
||||
"eslint-config-xo-lukechilds": "^1.0.0",
|
||||
"nyc": "^11.0.3",
|
||||
"this": "^1.0.2",
|
||||
"timekeeper": "^2.0.0",
|
||||
"xo": "^0.20.1"
|
||||
},
|
||||
"homepage": "https://github.com/lukechilds/keyv",
|
||||
"keywords": [
|
||||
"key",
|
||||
"value",
|
||||
"store",
|
||||
"cache",
|
||||
"ttl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "src/index.js",
|
||||
"name": "keyv",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/lukechilds/keyv.git"
|
||||
},
|
||||
"scripts": {
|
||||
"coverage": "nyc report --reporter=text-lcov | coveralls",
|
||||
"test": "xo && nyc ava test/keyv.js",
|
||||
"test:full": "xo && nyc ava --serial"
|
||||
},
|
||||
"version": "3.1.0",
|
||||
"xo": {
|
||||
"extends": "xo-lukechilds"
|
||||
}
|
||||
}
|
||||
103
node_modules/node8-gamedig/node_modules/keyv/src/index.js
generated
vendored
Normal file
103
node_modules/node8-gamedig/node_modules/keyv/src/index.js
generated
vendored
Normal file
@@ -0,0 +1,103 @@
|
||||
'use strict';
|
||||
|
||||
const EventEmitter = require('events');
|
||||
const JSONB = require('json-buffer');
|
||||
|
||||
const loadStore = opts => {
|
||||
const adapters = {
|
||||
redis: '@keyv/redis',
|
||||
mongodb: '@keyv/mongo',
|
||||
mongo: '@keyv/mongo',
|
||||
sqlite: '@keyv/sqlite',
|
||||
postgresql: '@keyv/postgres',
|
||||
postgres: '@keyv/postgres',
|
||||
mysql: '@keyv/mysql'
|
||||
};
|
||||
if (opts.adapter || opts.uri) {
|
||||
const adapter = opts.adapter || /^[^:]*/.exec(opts.uri)[0];
|
||||
return new (require(adapters[adapter]))(opts);
|
||||
}
|
||||
return new Map();
|
||||
};
|
||||
|
||||
class Keyv extends EventEmitter {
|
||||
constructor(uri, opts) {
|
||||
super();
|
||||
this.opts = Object.assign(
|
||||
{
|
||||
namespace: 'keyv',
|
||||
serialize: JSONB.stringify,
|
||||
deserialize: JSONB.parse
|
||||
},
|
||||
(typeof uri === 'string') ? { uri } : uri,
|
||||
opts
|
||||
);
|
||||
|
||||
if (!this.opts.store) {
|
||||
const adapterOpts = Object.assign({}, this.opts);
|
||||
this.opts.store = loadStore(adapterOpts);
|
||||
}
|
||||
|
||||
if (typeof this.opts.store.on === 'function') {
|
||||
this.opts.store.on('error', err => this.emit('error', err));
|
||||
}
|
||||
|
||||
this.opts.store.namespace = this.opts.namespace;
|
||||
}
|
||||
|
||||
_getKeyPrefix(key) {
|
||||
return `${this.opts.namespace}:${key}`;
|
||||
}
|
||||
|
||||
get(key) {
|
||||
key = this._getKeyPrefix(key);
|
||||
const store = this.opts.store;
|
||||
return Promise.resolve()
|
||||
.then(() => store.get(key))
|
||||
.then(data => {
|
||||
data = (typeof data === 'string') ? this.opts.deserialize(data) : data;
|
||||
if (data === undefined) {
|
||||
return undefined;
|
||||
}
|
||||
if (typeof data.expires === 'number' && Date.now() > data.expires) {
|
||||
this.delete(key);
|
||||
return undefined;
|
||||
}
|
||||
return data.value;
|
||||
});
|
||||
}
|
||||
|
||||
set(key, value, ttl) {
|
||||
key = this._getKeyPrefix(key);
|
||||
if (typeof ttl === 'undefined') {
|
||||
ttl = this.opts.ttl;
|
||||
}
|
||||
if (ttl === 0) {
|
||||
ttl = undefined;
|
||||
}
|
||||
const store = this.opts.store;
|
||||
|
||||
return Promise.resolve()
|
||||
.then(() => {
|
||||
const expires = (typeof ttl === 'number') ? (Date.now() + ttl) : null;
|
||||
value = { value, expires };
|
||||
return store.set(key, this.opts.serialize(value), ttl);
|
||||
})
|
||||
.then(() => true);
|
||||
}
|
||||
|
||||
delete(key) {
|
||||
key = this._getKeyPrefix(key);
|
||||
const store = this.opts.store;
|
||||
return Promise.resolve()
|
||||
.then(() => store.delete(key));
|
||||
}
|
||||
|
||||
clear() {
|
||||
const store = this.opts.store;
|
||||
return Promise.resolve()
|
||||
.then(() => store.clear());
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Keyv;
|
||||
11
node_modules/node8-gamedig/node_modules/lowercase-keys/index.js
generated
vendored
Normal file
11
node_modules/node8-gamedig/node_modules/lowercase-keys/index.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
'use strict';
|
||||
module.exports = function (obj) {
|
||||
var ret = {};
|
||||
var keys = Object.keys(Object(obj));
|
||||
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
ret[keys[i].toLowerCase()] = obj[keys[i]];
|
||||
}
|
||||
|
||||
return ret;
|
||||
};
|
||||
21
node_modules/node8-gamedig/node_modules/lowercase-keys/license
generated
vendored
Normal file
21
node_modules/node8-gamedig/node_modules/lowercase-keys/license
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
@@ -1,33 +1,32 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"lowercase-keys@2.0.0",
|
||||
"lowercase-keys@1.0.1",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "lowercase-keys@2.0.0",
|
||||
"_id": "lowercase-keys@2.0.0",
|
||||
"_from": "lowercase-keys@1.0.1",
|
||||
"_id": "lowercase-keys@1.0.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
|
||||
"_location": "/got/lowercase-keys",
|
||||
"_integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
|
||||
"_location": "/node8-gamedig/lowercase-keys",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "lowercase-keys@2.0.0",
|
||||
"raw": "lowercase-keys@1.0.1",
|
||||
"name": "lowercase-keys",
|
||||
"escapedName": "lowercase-keys",
|
||||
"rawSpec": "2.0.0",
|
||||
"rawSpec": "1.0.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "2.0.0"
|
||||
"fetchSpec": "1.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/got",
|
||||
"/got/cacheable-request",
|
||||
"/got/responselike"
|
||||
"/node8-gamedig/got",
|
||||
"/node8-gamedig/responselike"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
|
||||
"_spec": "2.0.0",
|
||||
"_resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
|
||||
"_spec": "1.0.1",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
@@ -39,16 +38,13 @@
|
||||
},
|
||||
"description": "Lowercase the keys of an object",
|
||||
"devDependencies": {
|
||||
"ava": "^1.4.1",
|
||||
"tsd": "^0.7.2",
|
||||
"xo": "^0.24.0"
|
||||
"ava": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/lowercase-keys#readme",
|
||||
"keywords": [
|
||||
@@ -69,7 +65,7 @@
|
||||
"url": "git+https://github.com/sindresorhus/lowercase-keys.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd"
|
||||
"test": "ava"
|
||||
},
|
||||
"version": "2.0.0"
|
||||
"version": "1.0.1"
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
'use strict';
|
||||
// TODO: Use the `URL` global when targeting Node.js 10
|
||||
const URLParser = typeof URL === 'undefined' ? require('url').URL : URL;
|
||||
|
||||
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
|
||||
const DATA_URL_DEFAULT_MIME_TYPE = 'text/plain';
|
||||
@@ -9,20 +11,21 @@ const testParameter = (name, filters) => {
|
||||
};
|
||||
|
||||
const normalizeDataURL = (urlString, {stripHash}) => {
|
||||
const match = /^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(urlString);
|
||||
const parts = urlString.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);
|
||||
|
||||
if (!match) {
|
||||
if (!parts) {
|
||||
throw new Error(`Invalid URL: ${urlString}`);
|
||||
}
|
||||
|
||||
let {type, data, hash} = match.groups;
|
||||
const mediaType = type.split(';');
|
||||
hash = stripHash ? '' : hash;
|
||||
const mediaType = parts[1].split(';');
|
||||
const body = parts[2];
|
||||
const hash = stripHash ? '' : parts[3];
|
||||
|
||||
let base64 = false;
|
||||
|
||||
let isBase64 = false;
|
||||
if (mediaType[mediaType.length - 1] === 'base64') {
|
||||
mediaType.pop();
|
||||
isBase64 = true;
|
||||
base64 = true;
|
||||
}
|
||||
|
||||
// Lowercase MIME type
|
||||
@@ -48,7 +51,7 @@ const normalizeDataURL = (urlString, {stripHash}) => {
|
||||
...attributes
|
||||
];
|
||||
|
||||
if (isBase64) {
|
||||
if (base64) {
|
||||
normalizedMediaType.push('base64');
|
||||
}
|
||||
|
||||
@@ -56,7 +59,7 @@ const normalizeDataURL = (urlString, {stripHash}) => {
|
||||
normalizedMediaType.unshift(mimeType);
|
||||
}
|
||||
|
||||
return `data:${normalizedMediaType.join(';')},${isBase64 ? data.trim() : data}${hash ? `#${hash}` : ''}`;
|
||||
return `data:${normalizedMediaType.join(';')},${base64 ? body.trim() : body}${hash ? `#${hash}` : ''}`;
|
||||
};
|
||||
|
||||
const normalizeUrl = (urlString, options) => {
|
||||
@@ -67,16 +70,27 @@ const normalizeUrl = (urlString, options) => {
|
||||
forceHttps: false,
|
||||
stripAuthentication: true,
|
||||
stripHash: false,
|
||||
stripTextFragment: true,
|
||||
stripWWW: true,
|
||||
removeQueryParameters: [/^utm_\w+/i],
|
||||
removeTrailingSlash: true,
|
||||
removeSingleSlash: true,
|
||||
removeDirectoryIndex: false,
|
||||
sortQueryParameters: true,
|
||||
...options
|
||||
};
|
||||
|
||||
// TODO: Remove this at some point in the future
|
||||
if (Reflect.has(options, 'normalizeHttps')) {
|
||||
throw new Error('options.normalizeHttps is renamed to options.forceHttp');
|
||||
}
|
||||
|
||||
if (Reflect.has(options, 'normalizeHttp')) {
|
||||
throw new Error('options.normalizeHttp is renamed to options.forceHttps');
|
||||
}
|
||||
|
||||
if (Reflect.has(options, 'stripFragment')) {
|
||||
throw new Error('options.stripFragment is renamed to options.stripHash');
|
||||
}
|
||||
|
||||
urlString = urlString.trim();
|
||||
|
||||
// Data URL
|
||||
@@ -84,10 +98,6 @@ const normalizeUrl = (urlString, options) => {
|
||||
return normalizeDataURL(urlString, options);
|
||||
}
|
||||
|
||||
if (/^view-source:/i.test(urlString)) {
|
||||
throw new Error('`view-source:` is not supported as it is a non-standard protocol');
|
||||
}
|
||||
|
||||
const hasRelativeProtocol = urlString.startsWith('//');
|
||||
const isRelativeUrl = !hasRelativeProtocol && /^\.*\//.test(urlString);
|
||||
|
||||
@@ -96,7 +106,7 @@ const normalizeUrl = (urlString, options) => {
|
||||
urlString = urlString.replace(/^(?!(?:\w+:)?\/\/)|^\/\//, options.defaultProtocol);
|
||||
}
|
||||
|
||||
const urlObj = new URL(urlString);
|
||||
const urlObj = new URLParser(urlString);
|
||||
|
||||
if (options.forceHttp && options.forceHttps) {
|
||||
throw new Error('The `forceHttp` and `forceHttps` options cannot be used together');
|
||||
@@ -119,20 +129,24 @@ const normalizeUrl = (urlString, options) => {
|
||||
// Remove hash
|
||||
if (options.stripHash) {
|
||||
urlObj.hash = '';
|
||||
} else if (options.stripTextFragment) {
|
||||
urlObj.hash = urlObj.hash.replace(/#?:~:text.*?$/i, '');
|
||||
}
|
||||
|
||||
// Remove duplicate slashes if not preceded by a protocol
|
||||
if (urlObj.pathname) {
|
||||
urlObj.pathname = urlObj.pathname.replace(/(?<!\b(?:[a-z][a-z\d+\-.]{1,50}:))\/{2,}/g, '/');
|
||||
// TODO: Use the following instead when targeting Node.js 10
|
||||
// `urlObj.pathname = urlObj.pathname.replace(/(?<!https?:)\/{2,}/g, '/');`
|
||||
urlObj.pathname = urlObj.pathname.replace(/((?!:).|^)\/{2,}/g, (_, p1) => {
|
||||
if (/^(?!\/)/g.test(p1)) {
|
||||
return `${p1}/`;
|
||||
}
|
||||
|
||||
return '/';
|
||||
});
|
||||
}
|
||||
|
||||
// Decode URI octets
|
||||
if (urlObj.pathname) {
|
||||
try {
|
||||
urlObj.pathname = decodeURI(urlObj.pathname);
|
||||
} catch (_) {}
|
||||
urlObj.pathname = decodeURI(urlObj.pathname);
|
||||
}
|
||||
|
||||
// Remove directory index
|
||||
@@ -155,11 +169,10 @@ const normalizeUrl = (urlString, options) => {
|
||||
urlObj.hostname = urlObj.hostname.replace(/\.$/, '');
|
||||
|
||||
// Remove `www.`
|
||||
if (options.stripWWW && /^www\.(?!www\.)(?:[a-z\-\d]{1,63})\.(?:[a-z.\-\d]{2,63})$/.test(urlObj.hostname)) {
|
||||
// Each label should be max 63 at length (min: 1).
|
||||
if (options.stripWWW && /^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(urlObj.hostname)) {
|
||||
// Each label should be max 63 at length (min: 2).
|
||||
// The extension should be max 5 at length (min: 2).
|
||||
// Source: https://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names
|
||||
// Each TLD should be up to 63 characters long (min: 2).
|
||||
// It is technically possible to have a single character TLD, but none currently exist.
|
||||
urlObj.hostname = urlObj.hostname.replace(/^www\./, '');
|
||||
}
|
||||
}
|
||||
@@ -173,10 +186,6 @@ const normalizeUrl = (urlString, options) => {
|
||||
}
|
||||
}
|
||||
|
||||
if (options.removeQueryParameters === true) {
|
||||
urlObj.search = '';
|
||||
}
|
||||
|
||||
// Sort query parameters
|
||||
if (options.sortQueryParameters) {
|
||||
urlObj.searchParams.sort();
|
||||
@@ -186,17 +195,11 @@ const normalizeUrl = (urlString, options) => {
|
||||
urlObj.pathname = urlObj.pathname.replace(/\/$/, '');
|
||||
}
|
||||
|
||||
const oldUrlString = urlString;
|
||||
|
||||
// Take advantage of many of the Node `url` normalizations
|
||||
urlString = urlObj.toString();
|
||||
|
||||
if (!options.removeSingleSlash && urlObj.pathname === '/' && !oldUrlString.endsWith('/') && urlObj.hash === '') {
|
||||
urlString = urlString.replace(/\/$/, '');
|
||||
}
|
||||
|
||||
// Remove ending `/` unless removeSingleSlash is false
|
||||
if ((options.removeTrailingSlash || urlObj.pathname === '/') && urlObj.hash === '' && options.removeSingleSlash) {
|
||||
// Remove ending `/`
|
||||
if ((options.removeTrailingSlash || urlObj.pathname === '/') && urlObj.hash === '') {
|
||||
urlString = urlString.replace(/\/$/, '');
|
||||
}
|
||||
|
||||
@@ -214,3 +217,5 @@ const normalizeUrl = (urlString, options) => {
|
||||
};
|
||||
|
||||
module.exports = normalizeUrl;
|
||||
// TODO: Remove this for the next major release
|
||||
module.exports.default = normalizeUrl;
|
||||
@@ -1,36 +1,36 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"normalize-url@6.1.0",
|
||||
"normalize-url@4.5.1",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "normalize-url@6.1.0",
|
||||
"_id": "normalize-url@6.1.0",
|
||||
"_from": "normalize-url@4.5.1",
|
||||
"_id": "normalize-url@4.5.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
|
||||
"_location": "/got/normalize-url",
|
||||
"_integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
|
||||
"_location": "/node8-gamedig/normalize-url",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "normalize-url@6.1.0",
|
||||
"raw": "normalize-url@4.5.1",
|
||||
"name": "normalize-url",
|
||||
"escapedName": "normalize-url",
|
||||
"rawSpec": "6.1.0",
|
||||
"rawSpec": "4.5.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "6.1.0"
|
||||
"fetchSpec": "4.5.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/got/cacheable-request"
|
||||
"/node8-gamedig/cacheable-request"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
|
||||
"_spec": "6.1.0",
|
||||
"_resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
|
||||
"_spec": "4.5.1",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "https://sindresorhus.com"
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/normalize-url/issues"
|
||||
@@ -38,18 +38,18 @@
|
||||
"description": "Normalize a URL",
|
||||
"devDependencies": {
|
||||
"ava": "^2.4.0",
|
||||
"nyc": "^15.0.0",
|
||||
"tsd": "^0.11.0",
|
||||
"xo": "^0.25.3"
|
||||
"coveralls": "^3.0.6",
|
||||
"nyc": "^14.1.1",
|
||||
"tsd": "^0.8.0",
|
||||
"xo": "^0.24.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
"node": ">=8"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"funding": "https://github.com/sponsors/sindresorhus",
|
||||
"homepage": "https://github.com/sindresorhus/normalize-url#readme",
|
||||
"keywords": [
|
||||
"normalize",
|
||||
@@ -68,12 +68,6 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "normalize-url",
|
||||
"nyc": {
|
||||
"reporter": [
|
||||
"text",
|
||||
"lcov"
|
||||
]
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/normalize-url.git"
|
||||
@@ -81,5 +75,5 @@
|
||||
"scripts": {
|
||||
"test": "xo && nyc ava && tsd"
|
||||
},
|
||||
"version": "6.1.0"
|
||||
"version": "4.5.1"
|
||||
}
|
||||
@@ -13,11 +13,10 @@ class CancelError extends Error {
|
||||
|
||||
class PCancelable {
|
||||
static fn(userFn) {
|
||||
return (...arguments_) => {
|
||||
return (...args) => {
|
||||
return new PCancelable((resolve, reject, onCancel) => {
|
||||
arguments_.push(onCancel);
|
||||
// eslint-disable-next-line promise/prefer-await-to-then
|
||||
userFn(...arguments_).then(resolve, reject);
|
||||
args.push(onCancel);
|
||||
userFn(...args).then(resolve, reject);
|
||||
});
|
||||
};
|
||||
}
|
||||
@@ -32,10 +31,8 @@ class PCancelable {
|
||||
this._reject = reject;
|
||||
|
||||
const onResolve = value => {
|
||||
if (!this._isCanceled || !onCancel.shouldReject) {
|
||||
this._isPending = false;
|
||||
resolve(value);
|
||||
}
|
||||
this._isPending = false;
|
||||
resolve(value);
|
||||
};
|
||||
|
||||
const onReject = error => {
|
||||
@@ -44,18 +41,14 @@ class PCancelable {
|
||||
};
|
||||
|
||||
const onCancel = handler => {
|
||||
if (!this._isPending) {
|
||||
throw new Error('The `onCancel` handler was attached after the promise settled.');
|
||||
}
|
||||
|
||||
this._cancelHandlers.push(handler);
|
||||
};
|
||||
|
||||
Object.defineProperties(onCancel, {
|
||||
shouldReject: {
|
||||
get: () => this._rejectOnCancel,
|
||||
set: boolean => {
|
||||
this._rejectOnCancel = boolean;
|
||||
set: bool => {
|
||||
this._rejectOnCancel = bool;
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -65,7 +58,6 @@ class PCancelable {
|
||||
}
|
||||
|
||||
then(onFulfilled, onRejected) {
|
||||
// eslint-disable-next-line promise/prefer-await-to-then
|
||||
return this._promise.then(onFulfilled, onRejected);
|
||||
}
|
||||
|
||||
@@ -82,8 +74,6 @@ class PCancelable {
|
||||
return;
|
||||
}
|
||||
|
||||
this._isCanceled = true;
|
||||
|
||||
if (this._cancelHandlers.length > 0) {
|
||||
try {
|
||||
for (const handler of this._cancelHandlers) {
|
||||
@@ -91,10 +81,10 @@ class PCancelable {
|
||||
}
|
||||
} catch (error) {
|
||||
this._reject(error);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this._isCanceled = true;
|
||||
if (this._rejectOnCancel) {
|
||||
this._reject(new CancelError(reason));
|
||||
}
|
||||
@@ -108,4 +98,6 @@ class PCancelable {
|
||||
Object.setPrototypeOf(PCancelable.prototype, Promise.prototype);
|
||||
|
||||
module.exports = PCancelable;
|
||||
module.exports.default = PCancelable;
|
||||
|
||||
module.exports.CancelError = CancelError;
|
||||
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"p-cancelable@2.1.1",
|
||||
"p-cancelable@1.1.0",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "p-cancelable@2.1.1",
|
||||
"_id": "p-cancelable@2.1.1",
|
||||
"_from": "p-cancelable@1.1.0",
|
||||
"_id": "p-cancelable@1.1.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
|
||||
"_location": "/got/p-cancelable",
|
||||
"_integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
|
||||
"_location": "/node8-gamedig/p-cancelable",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "p-cancelable@2.1.1",
|
||||
"raw": "p-cancelable@1.1.0",
|
||||
"name": "p-cancelable",
|
||||
"escapedName": "p-cancelable",
|
||||
"rawSpec": "2.1.1",
|
||||
"rawSpec": "1.1.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "2.1.1"
|
||||
"fetchSpec": "1.1.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/got"
|
||||
"/node8-gamedig/got"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
|
||||
"_spec": "2.1.1",
|
||||
"_resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
|
||||
"_spec": "1.1.0",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
@@ -37,14 +37,14 @@
|
||||
},
|
||||
"description": "Create a promise that can be canceled",
|
||||
"devDependencies": {
|
||||
"ava": "^1.4.1",
|
||||
"ava": "^1.3.1",
|
||||
"delay": "^4.1.0",
|
||||
"promise.prototype.finally": "^3.1.0",
|
||||
"tsd": "^0.7.1",
|
||||
"tsd-check": "^0.3.0",
|
||||
"xo": "^0.24.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
"node": ">=6"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
@@ -78,7 +78,7 @@
|
||||
"url": "git+https://github.com/sindresorhus/p-cancelable.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd"
|
||||
"test": "xo && ava && tsd-check"
|
||||
},
|
||||
"version": "2.1.1"
|
||||
"version": "1.1.0"
|
||||
}
|
||||
@@ -1,32 +1,31 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"responselike@2.0.0",
|
||||
"responselike@1.0.2",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "responselike@2.0.0",
|
||||
"_id": "responselike@2.0.0",
|
||||
"_from": "responselike@1.0.2",
|
||||
"_id": "responselike@1.0.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
|
||||
"_location": "/got/responselike",
|
||||
"_integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
|
||||
"_location": "/node8-gamedig/responselike",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "responselike@2.0.0",
|
||||
"raw": "responselike@1.0.2",
|
||||
"name": "responselike",
|
||||
"escapedName": "responselike",
|
||||
"rawSpec": "2.0.0",
|
||||
"rawSpec": "1.0.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "2.0.0"
|
||||
"fetchSpec": "1.0.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/got",
|
||||
"/got/cacheable-request"
|
||||
"/node8-gamedig/cacheable-request"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
|
||||
"_spec": "2.0.0",
|
||||
"_resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
|
||||
"_spec": "1.0.2",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "lukechilds"
|
||||
@@ -35,15 +34,15 @@
|
||||
"url": "https://github.com/lukechilds/responselike/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"lowercase-keys": "^2.0.0"
|
||||
"lowercase-keys": "^1.0.0"
|
||||
},
|
||||
"description": "A response-like object for mocking a Node.js HTTP response stream",
|
||||
"devDependencies": {
|
||||
"ava": "^0.25.0",
|
||||
"coveralls": "^3.0.0",
|
||||
"ava": "^0.22.0",
|
||||
"coveralls": "^2.13.1",
|
||||
"eslint-config-xo-lukechilds": "^1.0.0",
|
||||
"get-stream": "^3.0.0",
|
||||
"nyc": "^11.8.0",
|
||||
"nyc": "^11.1.0",
|
||||
"xo": "^0.19.0"
|
||||
},
|
||||
"homepage": "https://github.com/lukechilds/responselike#readme",
|
||||
@@ -66,7 +65,7 @@
|
||||
"coverage": "nyc report --reporter=text-lcov | coveralls",
|
||||
"test": "xo && nyc ava"
|
||||
},
|
||||
"version": "2.0.0",
|
||||
"version": "1.0.2",
|
||||
"xo": {
|
||||
"extends": "xo-lukechilds"
|
||||
}
|
||||
32
node_modules/node8-gamedig/package.json
generated
vendored
32
node_modules/node8-gamedig/package.json
generated
vendored
@@ -1,43 +1,39 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"node8-gamedig@4.0.4",
|
||||
"node8-gamedig@4.0.5",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "node8-gamedig@4.0.4",
|
||||
"_id": "node8-gamedig@4.0.4",
|
||||
"_from": "node8-gamedig@4.0.5",
|
||||
"_id": "node8-gamedig@4.0.5",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-Wjnahdz7WyY+9dm3ikUNM1L3VydhM0/3Fu1cv/gqpTCT5yLuHkS4LzcQhW6wk7RgBJ52itluWSFane3iqCpW9Q==",
|
||||
"_integrity": "sha512-A+hNow0xg3gvY/IlB/lDitbpd50EKVDITEmGS78ZmuG3pHgu74GjMfSSpLXdfQ8e0C7AVMKdfKMF8AdSKGmwfw==",
|
||||
"_location": "/node8-gamedig",
|
||||
"_phantomChildren": {
|
||||
"@sindresorhus/is": "0.14.0",
|
||||
"@szmarczak/http-timer": "1.1.2",
|
||||
"cacheable-request": "6.1.0",
|
||||
"decompress-response": "3.3.0",
|
||||
"duplexer3": "0.1.4",
|
||||
"get-stream": "4.1.0",
|
||||
"lowercase-keys": "1.0.1",
|
||||
"clone-response": "1.0.3",
|
||||
"duplexer3": "0.1.5",
|
||||
"http-cache-semantics": "4.1.0",
|
||||
"mimic-response": "1.0.1",
|
||||
"p-cancelable": "1.1.0",
|
||||
"pump": "3.0.0",
|
||||
"to-readable-stream": "1.0.0",
|
||||
"url-parse-lax": "3.0.0"
|
||||
},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "node8-gamedig@4.0.4",
|
||||
"raw": "node8-gamedig@4.0.5",
|
||||
"name": "node8-gamedig",
|
||||
"escapedName": "node8-gamedig",
|
||||
"rawSpec": "4.0.4",
|
||||
"rawSpec": "4.0.5",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "4.0.4"
|
||||
"fetchSpec": "4.0.5"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/node8-gamedig/-/node8-gamedig-4.0.4.tgz",
|
||||
"_spec": "4.0.4",
|
||||
"_resolved": "https://registry.npmjs.org/node8-gamedig/-/node8-gamedig-4.0.5.tgz",
|
||||
"_spec": "4.0.5",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "GameDig Contributors"
|
||||
@@ -104,5 +100,5 @@
|
||||
"csgo",
|
||||
"minecraft"
|
||||
],
|
||||
"version": "4.0.4"
|
||||
"version": "4.0.5"
|
||||
}
|
||||
|
||||
2
node_modules/node8-gamedig/protocols/openttd.js
generated
vendored
2
node_modules/node8-gamedig/protocols/openttd.js
generated
vendored
@@ -115,7 +115,7 @@ class OpenTtd extends Core {
|
||||
const temp = new Date(0,0,1);
|
||||
temp.setFullYear(0);
|
||||
temp.setDate(daysSinceZero+1);
|
||||
return date.toISOString().split('T')[0];
|
||||
return temp.toISOString().split('T')[0];
|
||||
}
|
||||
|
||||
decode(num,arr) {
|
||||
|
||||
17
node_modules/node8-gamedig/protocols/valve.js
generated
vendored
17
node_modules/node8-gamedig/protocols/valve.js
generated
vendored
@@ -8,7 +8,12 @@ const AppId = {
|
||||
Bat1944: 489940,
|
||||
Ship: 2400,
|
||||
DayZ: 221100,
|
||||
Rust: 252490
|
||||
Rust: 252490,
|
||||
CSGO: 730,
|
||||
CS_Source: 240,
|
||||
EternalSilence: 17550,
|
||||
Insurgency_MIC: 17700,
|
||||
Source_SDK_Base_2006: 215
|
||||
};
|
||||
|
||||
class Valve extends Core {
|
||||
@@ -114,10 +119,10 @@ class Valve extends Core {
|
||||
// from https://developer.valvesoftware.com/wiki/Server_queries
|
||||
if(
|
||||
state.raw.protocol === 7 && (
|
||||
state.raw.appId === 215
|
||||
|| state.raw.appId === 17550
|
||||
|| state.raw.appId === 17700
|
||||
|| state.raw.appId === 240
|
||||
state.raw.appId === AppId.Source_SDK_Base_2006
|
||||
|| state.raw.appId === AppId.EternalSilence
|
||||
|| state.raw.appId === AppId.Insurgency_MIC
|
||||
|| state.raw.appId === AppId.CS_Source
|
||||
)
|
||||
) {
|
||||
this._skipSizeInSplitHeader = true;
|
||||
@@ -226,7 +231,7 @@ class Valve extends Core {
|
||||
if(!name) continue;
|
||||
|
||||
// CSGO sometimes adds a bot named 'Max Players' if host_players_show is not 2
|
||||
if (state.raw.steamappid === 730 && name === 'Max Players') continue;
|
||||
if (state.raw.appId === AppId.CSGO && name === 'Max Players') continue;
|
||||
|
||||
state.raw.players.push({
|
||||
name:name, score:score, time:time
|
||||
|
||||
81
node_modules/normalize-url/index.js
generated
vendored
81
node_modules/normalize-url/index.js
generated
vendored
@@ -1,6 +1,4 @@
|
||||
'use strict';
|
||||
// TODO: Use the `URL` global when targeting Node.js 10
|
||||
const URLParser = typeof URL === 'undefined' ? require('url').URL : URL;
|
||||
|
||||
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
|
||||
const DATA_URL_DEFAULT_MIME_TYPE = 'text/plain';
|
||||
@@ -11,21 +9,20 @@ const testParameter = (name, filters) => {
|
||||
};
|
||||
|
||||
const normalizeDataURL = (urlString, {stripHash}) => {
|
||||
const parts = urlString.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);
|
||||
const match = /^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(urlString);
|
||||
|
||||
if (!parts) {
|
||||
if (!match) {
|
||||
throw new Error(`Invalid URL: ${urlString}`);
|
||||
}
|
||||
|
||||
const mediaType = parts[1].split(';');
|
||||
const body = parts[2];
|
||||
const hash = stripHash ? '' : parts[3];
|
||||
|
||||
let base64 = false;
|
||||
let {type, data, hash} = match.groups;
|
||||
const mediaType = type.split(';');
|
||||
hash = stripHash ? '' : hash;
|
||||
|
||||
let isBase64 = false;
|
||||
if (mediaType[mediaType.length - 1] === 'base64') {
|
||||
mediaType.pop();
|
||||
base64 = true;
|
||||
isBase64 = true;
|
||||
}
|
||||
|
||||
// Lowercase MIME type
|
||||
@@ -51,7 +48,7 @@ const normalizeDataURL = (urlString, {stripHash}) => {
|
||||
...attributes
|
||||
];
|
||||
|
||||
if (base64) {
|
||||
if (isBase64) {
|
||||
normalizedMediaType.push('base64');
|
||||
}
|
||||
|
||||
@@ -59,7 +56,7 @@ const normalizeDataURL = (urlString, {stripHash}) => {
|
||||
normalizedMediaType.unshift(mimeType);
|
||||
}
|
||||
|
||||
return `data:${normalizedMediaType.join(';')},${base64 ? body.trim() : body}${hash ? `#${hash}` : ''}`;
|
||||
return `data:${normalizedMediaType.join(';')},${isBase64 ? data.trim() : data}${hash ? `#${hash}` : ''}`;
|
||||
};
|
||||
|
||||
const normalizeUrl = (urlString, options) => {
|
||||
@@ -70,27 +67,16 @@ const normalizeUrl = (urlString, options) => {
|
||||
forceHttps: false,
|
||||
stripAuthentication: true,
|
||||
stripHash: false,
|
||||
stripTextFragment: true,
|
||||
stripWWW: true,
|
||||
removeQueryParameters: [/^utm_\w+/i],
|
||||
removeTrailingSlash: true,
|
||||
removeSingleSlash: true,
|
||||
removeDirectoryIndex: false,
|
||||
sortQueryParameters: true,
|
||||
...options
|
||||
};
|
||||
|
||||
// TODO: Remove this at some point in the future
|
||||
if (Reflect.has(options, 'normalizeHttps')) {
|
||||
throw new Error('options.normalizeHttps is renamed to options.forceHttp');
|
||||
}
|
||||
|
||||
if (Reflect.has(options, 'normalizeHttp')) {
|
||||
throw new Error('options.normalizeHttp is renamed to options.forceHttps');
|
||||
}
|
||||
|
||||
if (Reflect.has(options, 'stripFragment')) {
|
||||
throw new Error('options.stripFragment is renamed to options.stripHash');
|
||||
}
|
||||
|
||||
urlString = urlString.trim();
|
||||
|
||||
// Data URL
|
||||
@@ -98,6 +84,10 @@ const normalizeUrl = (urlString, options) => {
|
||||
return normalizeDataURL(urlString, options);
|
||||
}
|
||||
|
||||
if (/^view-source:/i.test(urlString)) {
|
||||
throw new Error('`view-source:` is not supported as it is a non-standard protocol');
|
||||
}
|
||||
|
||||
const hasRelativeProtocol = urlString.startsWith('//');
|
||||
const isRelativeUrl = !hasRelativeProtocol && /^\.*\//.test(urlString);
|
||||
|
||||
@@ -106,7 +96,7 @@ const normalizeUrl = (urlString, options) => {
|
||||
urlString = urlString.replace(/^(?!(?:\w+:)?\/\/)|^\/\//, options.defaultProtocol);
|
||||
}
|
||||
|
||||
const urlObj = new URLParser(urlString);
|
||||
const urlObj = new URL(urlString);
|
||||
|
||||
if (options.forceHttp && options.forceHttps) {
|
||||
throw new Error('The `forceHttp` and `forceHttps` options cannot be used together');
|
||||
@@ -129,24 +119,20 @@ const normalizeUrl = (urlString, options) => {
|
||||
// Remove hash
|
||||
if (options.stripHash) {
|
||||
urlObj.hash = '';
|
||||
} else if (options.stripTextFragment) {
|
||||
urlObj.hash = urlObj.hash.replace(/#?:~:text.*?$/i, '');
|
||||
}
|
||||
|
||||
// Remove duplicate slashes if not preceded by a protocol
|
||||
if (urlObj.pathname) {
|
||||
// TODO: Use the following instead when targeting Node.js 10
|
||||
// `urlObj.pathname = urlObj.pathname.replace(/(?<!https?:)\/{2,}/g, '/');`
|
||||
urlObj.pathname = urlObj.pathname.replace(/((?!:).|^)\/{2,}/g, (_, p1) => {
|
||||
if (/^(?!\/)/g.test(p1)) {
|
||||
return `${p1}/`;
|
||||
}
|
||||
|
||||
return '/';
|
||||
});
|
||||
urlObj.pathname = urlObj.pathname.replace(/(?<!\b(?:[a-z][a-z\d+\-.]{1,50}:))\/{2,}/g, '/');
|
||||
}
|
||||
|
||||
// Decode URI octets
|
||||
if (urlObj.pathname) {
|
||||
urlObj.pathname = decodeURI(urlObj.pathname);
|
||||
try {
|
||||
urlObj.pathname = decodeURI(urlObj.pathname);
|
||||
} catch (_) {}
|
||||
}
|
||||
|
||||
// Remove directory index
|
||||
@@ -169,10 +155,11 @@ const normalizeUrl = (urlString, options) => {
|
||||
urlObj.hostname = urlObj.hostname.replace(/\.$/, '');
|
||||
|
||||
// Remove `www.`
|
||||
if (options.stripWWW && /^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(urlObj.hostname)) {
|
||||
// Each label should be max 63 at length (min: 2).
|
||||
// The extension should be max 5 at length (min: 2).
|
||||
if (options.stripWWW && /^www\.(?!www\.)(?:[a-z\-\d]{1,63})\.(?:[a-z.\-\d]{2,63})$/.test(urlObj.hostname)) {
|
||||
// Each label should be max 63 at length (min: 1).
|
||||
// Source: https://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names
|
||||
// Each TLD should be up to 63 characters long (min: 2).
|
||||
// It is technically possible to have a single character TLD, but none currently exist.
|
||||
urlObj.hostname = urlObj.hostname.replace(/^www\./, '');
|
||||
}
|
||||
}
|
||||
@@ -186,6 +173,10 @@ const normalizeUrl = (urlString, options) => {
|
||||
}
|
||||
}
|
||||
|
||||
if (options.removeQueryParameters === true) {
|
||||
urlObj.search = '';
|
||||
}
|
||||
|
||||
// Sort query parameters
|
||||
if (options.sortQueryParameters) {
|
||||
urlObj.searchParams.sort();
|
||||
@@ -195,11 +186,17 @@ const normalizeUrl = (urlString, options) => {
|
||||
urlObj.pathname = urlObj.pathname.replace(/\/$/, '');
|
||||
}
|
||||
|
||||
const oldUrlString = urlString;
|
||||
|
||||
// Take advantage of many of the Node `url` normalizations
|
||||
urlString = urlObj.toString();
|
||||
|
||||
// Remove ending `/`
|
||||
if ((options.removeTrailingSlash || urlObj.pathname === '/') && urlObj.hash === '') {
|
||||
if (!options.removeSingleSlash && urlObj.pathname === '/' && !oldUrlString.endsWith('/') && urlObj.hash === '') {
|
||||
urlString = urlString.replace(/\/$/, '');
|
||||
}
|
||||
|
||||
// Remove ending `/` unless removeSingleSlash is false
|
||||
if ((options.removeTrailingSlash || urlObj.pathname === '/') && urlObj.hash === '' && options.removeSingleSlash) {
|
||||
urlString = urlString.replace(/\/$/, '');
|
||||
}
|
||||
|
||||
@@ -217,5 +214,3 @@ const normalizeUrl = (urlString, options) => {
|
||||
};
|
||||
|
||||
module.exports = normalizeUrl;
|
||||
// TODO: Remove this for the next major release
|
||||
module.exports.default = normalizeUrl;
|
||||
|
||||
38
node_modules/normalize-url/package.json
generated
vendored
38
node_modules/normalize-url/package.json
generated
vendored
@@ -1,36 +1,36 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"normalize-url@4.5.1",
|
||||
"normalize-url@6.1.0",
|
||||
"C:\\Users\\Smith\\repos\\game-server-watcher"
|
||||
]
|
||||
],
|
||||
"_from": "normalize-url@4.5.1",
|
||||
"_id": "normalize-url@4.5.1",
|
||||
"_from": "normalize-url@6.1.0",
|
||||
"_id": "normalize-url@6.1.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
|
||||
"_integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
|
||||
"_location": "/normalize-url",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "normalize-url@4.5.1",
|
||||
"raw": "normalize-url@6.1.0",
|
||||
"name": "normalize-url",
|
||||
"escapedName": "normalize-url",
|
||||
"rawSpec": "4.5.1",
|
||||
"rawSpec": "6.1.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "4.5.1"
|
||||
"fetchSpec": "6.1.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/cacheable-request"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
|
||||
"_spec": "4.5.1",
|
||||
"_resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
|
||||
"_spec": "6.1.0",
|
||||
"_where": "C:\\Users\\Smith\\repos\\game-server-watcher",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
"url": "https://sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/normalize-url/issues"
|
||||
@@ -38,18 +38,18 @@
|
||||
"description": "Normalize a URL",
|
||||
"devDependencies": {
|
||||
"ava": "^2.4.0",
|
||||
"coveralls": "^3.0.6",
|
||||
"nyc": "^14.1.1",
|
||||
"tsd": "^0.8.0",
|
||||
"xo": "^0.24.0"
|
||||
"nyc": "^15.0.0",
|
||||
"tsd": "^0.11.0",
|
||||
"xo": "^0.25.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
"node": ">=10"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"funding": "https://github.com/sponsors/sindresorhus",
|
||||
"homepage": "https://github.com/sindresorhus/normalize-url#readme",
|
||||
"keywords": [
|
||||
"normalize",
|
||||
@@ -68,6 +68,12 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "normalize-url",
|
||||
"nyc": {
|
||||
"reporter": [
|
||||
"text",
|
||||
"lcov"
|
||||
]
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/normalize-url.git"
|
||||
@@ -75,5 +81,5 @@
|
||||
"scripts": {
|
||||
"test": "xo && nyc ava && tsd"
|
||||
},
|
||||
"version": "4.5.1"
|
||||
"version": "6.1.0"
|
||||
}
|
||||
|
||||
28
node_modules/p-cancelable/index.js
generated
vendored
28
node_modules/p-cancelable/index.js
generated
vendored
@@ -13,10 +13,11 @@ class CancelError extends Error {
|
||||
|
||||
class PCancelable {
|
||||
static fn(userFn) {
|
||||
return (...args) => {
|
||||
return (...arguments_) => {
|
||||
return new PCancelable((resolve, reject, onCancel) => {
|
||||
args.push(onCancel);
|
||||
userFn(...args).then(resolve, reject);
|
||||
arguments_.push(onCancel);
|
||||
// eslint-disable-next-line promise/prefer-await-to-then
|
||||
userFn(...arguments_).then(resolve, reject);
|
||||
});
|
||||
};
|
||||
}
|
||||
@@ -31,8 +32,10 @@ class PCancelable {
|
||||
this._reject = reject;
|
||||
|
||||
const onResolve = value => {
|
||||
this._isPending = false;
|
||||
resolve(value);
|
||||
if (!this._isCanceled || !onCancel.shouldReject) {
|
||||
this._isPending = false;
|
||||
resolve(value);
|
||||
}
|
||||
};
|
||||
|
||||
const onReject = error => {
|
||||
@@ -41,14 +44,18 @@ class PCancelable {
|
||||
};
|
||||
|
||||
const onCancel = handler => {
|
||||
if (!this._isPending) {
|
||||
throw new Error('The `onCancel` handler was attached after the promise settled.');
|
||||
}
|
||||
|
||||
this._cancelHandlers.push(handler);
|
||||
};
|
||||
|
||||
Object.defineProperties(onCancel, {
|
||||
shouldReject: {
|
||||
get: () => this._rejectOnCancel,
|
||||
set: bool => {
|
||||
this._rejectOnCancel = bool;
|
||||
set: boolean => {
|
||||
this._rejectOnCancel = boolean;
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -58,6 +65,7 @@ class PCancelable {
|
||||
}
|
||||
|
||||
then(onFulfilled, onRejected) {
|
||||
// eslint-disable-next-line promise/prefer-await-to-then
|
||||
return this._promise.then(onFulfilled, onRejected);
|
||||
}
|
||||
|
||||
@@ -74,6 +82,8 @@ class PCancelable {
|
||||
return;
|
||||
}
|
||||
|
||||
this._isCanceled = true;
|
||||
|
||||
if (this._cancelHandlers.length > 0) {
|
||||
try {
|
||||
for (const handler of this._cancelHandlers) {
|
||||
@@ -81,10 +91,10 @@ class PCancelable {
|
||||
}
|
||||
} catch (error) {
|
||||
this._reject(error);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this._isCanceled = true;
|
||||
if (this._rejectOnCancel) {
|
||||
this._reject(new CancelError(reason));
|
||||
}
|
||||
@@ -98,6 +108,4 @@ class PCancelable {
|
||||
Object.setPrototypeOf(PCancelable.prototype, Promise.prototype);
|
||||
|
||||
module.exports = PCancelable;
|
||||
module.exports.default = PCancelable;
|
||||
|
||||
module.exports.CancelError = CancelError;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user