new license file version [CI SKIP]
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('get-intrinsic');
|
||||
|
||||
var $TypeError = GetIntrinsic('%TypeError%');
|
||||
|
||||
var isFinite = require('../../helpers/isFinite');
|
||||
var isNaN = require('../../helpers/isNaN');
|
||||
|
||||
var Type = require('../Type');
|
||||
|
||||
// https://262.ecma-international.org/12.0/#sec-numeric-types-number-add
|
||||
|
||||
module.exports = function NumberAdd(x, y) {
|
||||
if (Type(x) !== 'Number' || Type(y) !== 'Number') {
|
||||
throw new $TypeError('Assertion failed: `x` and `y` arguments must be Numbers');
|
||||
}
|
||||
|
||||
if (isNaN(x) || isNaN(y) || (x === Infinity && y === -Infinity) || (x === -Infinity && y === Infinity)) {
|
||||
return NaN;
|
||||
}
|
||||
|
||||
if (!isFinite(x)) {
|
||||
return x;
|
||||
}
|
||||
if (!isFinite(y)) {
|
||||
return y;
|
||||
}
|
||||
|
||||
if (x === y && x === 0) { // both zeroes
|
||||
return Infinity / x === -Infinity && Infinity / y === -Infinity ? -0 : +0;
|
||||
}
|
||||
|
||||
// shortcut for the actual spec mechanics
|
||||
return x + y;
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"distinct.js","sourceRoot":"","sources":["../../../../src/internal/operators/distinct.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AA2DpD,MAAM,UAAU,QAAQ,CAAO,WAA6B,EAAE,OAA8B;IAC1F,OAAO,OAAO,CAAC,UAAC,MAAM,EAAE,UAAU;QAChC,IAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,MAAM,CAAC,SAAS,CACd,wBAAwB,CAAC,UAAU,EAAE,UAAC,KAAK;YACzC,IAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC1B,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACxB;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,UAAU,EAAE,cAAM,OAAA,YAAY,CAAC,KAAK,EAAE,EAApB,CAAoB,EAAE,IAAI,CAAC,CAAC,CAAC;IAClH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
||||
@@ -0,0 +1,3 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = require('./async').groupBySeries;
|
||||
@@ -0,0 +1,8 @@
|
||||
import shim from './build/lib/platform-shims/node.js'
|
||||
import { y18n as _y18n } from './build/lib/index.js'
|
||||
|
||||
const y18n = (opts) => {
|
||||
return _y18n(opts, shim)
|
||||
}
|
||||
|
||||
export default y18n
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"windowWhen.d.ts","sourceRoot":"","sources":["../../../../src/internal/operators/windowWhen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAK7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAuE7G"}
|
||||
@@ -0,0 +1,4 @@
|
||||
export type RunnerTeamHasRunnersError = {
|
||||
name: string;
|
||||
message: string;
|
||||
};
|
||||
@@ -0,0 +1,176 @@
|
||||
{
|
||||
"es3": true,
|
||||
|
||||
"additionalRules": [],
|
||||
|
||||
"requireSemicolons": true,
|
||||
|
||||
"disallowMultipleSpaces": true,
|
||||
|
||||
"disallowIdentifierNames": [],
|
||||
|
||||
"requireCurlyBraces": {
|
||||
"allExcept": [],
|
||||
"keywords": ["if", "else", "for", "while", "do", "try", "catch"]
|
||||
},
|
||||
|
||||
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
|
||||
|
||||
"disallowSpaceAfterKeywords": [],
|
||||
|
||||
"disallowSpaceBeforeComma": true,
|
||||
"disallowSpaceAfterComma": false,
|
||||
"disallowSpaceBeforeSemicolon": true,
|
||||
|
||||
"disallowNodeTypes": [
|
||||
"DebuggerStatement",
|
||||
"ForInStatement",
|
||||
"LabeledStatement",
|
||||
"SwitchCase",
|
||||
"SwitchStatement",
|
||||
"WithStatement"
|
||||
],
|
||||
|
||||
"requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
|
||||
|
||||
"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
|
||||
"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
|
||||
"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
|
||||
"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
|
||||
"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
|
||||
|
||||
"requireSpaceBetweenArguments": true,
|
||||
|
||||
"disallowSpacesInsideParentheses": true,
|
||||
|
||||
"disallowSpacesInsideArrayBrackets": true,
|
||||
|
||||
"disallowQuotedKeysInObjects": { "allExcept": ["reserved"] },
|
||||
|
||||
"disallowSpaceAfterObjectKeys": true,
|
||||
|
||||
"requireCommaBeforeLineBreak": true,
|
||||
|
||||
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
|
||||
"requireSpaceAfterPrefixUnaryOperators": [],
|
||||
|
||||
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
|
||||
"requireSpaceBeforePostfixUnaryOperators": [],
|
||||
|
||||
"disallowSpaceBeforeBinaryOperators": [],
|
||||
"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
|
||||
|
||||
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
|
||||
"disallowSpaceAfterBinaryOperators": [],
|
||||
|
||||
"disallowImplicitTypeConversion": ["binary", "string"],
|
||||
|
||||
"disallowKeywords": ["with", "eval"],
|
||||
|
||||
"requireKeywordsOnNewLine": [],
|
||||
"disallowKeywordsOnNewLine": ["else"],
|
||||
|
||||
"requireLineFeedAtFileEnd": true,
|
||||
|
||||
"disallowTrailingWhitespace": true,
|
||||
|
||||
"disallowTrailingComma": true,
|
||||
|
||||
"excludeFiles": ["node_modules/**", "vendor/**"],
|
||||
|
||||
"disallowMultipleLineStrings": true,
|
||||
|
||||
"requireDotNotation": { "allExcept": ["keywords"] },
|
||||
|
||||
"requireParenthesesAroundIIFE": true,
|
||||
|
||||
"validateLineBreaks": "LF",
|
||||
|
||||
"validateQuoteMarks": {
|
||||
"escape": true,
|
||||
"mark": "'"
|
||||
},
|
||||
|
||||
"disallowOperatorBeforeLineBreak": [],
|
||||
|
||||
"requireSpaceBeforeKeywords": [
|
||||
"do",
|
||||
"for",
|
||||
"if",
|
||||
"else",
|
||||
"switch",
|
||||
"case",
|
||||
"try",
|
||||
"catch",
|
||||
"finally",
|
||||
"while",
|
||||
"with",
|
||||
"return"
|
||||
],
|
||||
|
||||
"validateAlignedFunctionParameters": {
|
||||
"lineBreakAfterOpeningBraces": true,
|
||||
"lineBreakBeforeClosingBraces": true
|
||||
},
|
||||
|
||||
"requirePaddingNewLinesBeforeExport": true,
|
||||
|
||||
"validateNewlineAfterArrayElements": {
|
||||
"maximum": 8
|
||||
},
|
||||
|
||||
"requirePaddingNewLinesAfterUseStrict": true,
|
||||
|
||||
"disallowArrowFunctions": true,
|
||||
|
||||
"disallowMultiLineTernary": true,
|
||||
|
||||
"validateOrderInObjectKeys": "asc-insensitive",
|
||||
|
||||
"disallowIdenticalDestructuringNames": true,
|
||||
|
||||
"disallowNestedTernaries": { "maxLevel": 1 },
|
||||
|
||||
"requireSpaceAfterComma": { "allExcept": ["trailing"] },
|
||||
"requireAlignedMultilineParams": false,
|
||||
|
||||
"requireSpacesInGenerator": {
|
||||
"afterStar": true
|
||||
},
|
||||
|
||||
"disallowSpacesInGenerator": {
|
||||
"beforeStar": true
|
||||
},
|
||||
|
||||
"disallowVar": false,
|
||||
|
||||
"requireArrayDestructuring": false,
|
||||
|
||||
"requireEnhancedObjectLiterals": false,
|
||||
|
||||
"requireObjectDestructuring": false,
|
||||
|
||||
"requireEarlyReturn": false,
|
||||
|
||||
"requireCapitalizedConstructorsNew": {
|
||||
"allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"]
|
||||
},
|
||||
|
||||
"requireImportAlphabetized": false,
|
||||
|
||||
"requireSpaceBeforeObjectValues": true,
|
||||
"requireSpaceBeforeDestructuredValues": true,
|
||||
|
||||
"disallowSpacesInsideTemplateStringPlaceholders": true,
|
||||
|
||||
"disallowArrayDestructuringReturn": false,
|
||||
|
||||
"requireNewlineBeforeSingleStatementsInIf": false,
|
||||
|
||||
"disallowUnusedVariables": true,
|
||||
|
||||
"requireSpacesInsideImportedObjectBraces": true,
|
||||
|
||||
"requireUseStrict": true
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
var convert = require('./convert'),
|
||||
func = convert('isUndefined', require('../isUndefined'), require('./_falseOptions'));
|
||||
|
||||
func.placeholder = require('./placeholder');
|
||||
module.exports = func;
|
||||
@@ -0,0 +1,29 @@
|
||||
// Credit:
|
||||
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round
|
||||
// #Decimal_rounding
|
||||
|
||||
"use strict";
|
||||
|
||||
var isValue = require("type/object/is")
|
||||
, ensureInteger = require("type/integer/ensure");
|
||||
|
||||
var split = String.prototype.split;
|
||||
|
||||
module.exports = function (type) {
|
||||
return function (value/*, exp*/) {
|
||||
value = Number(value);
|
||||
var exp = arguments[1];
|
||||
if (isValue(exp)) exp = ensureInteger(exp);
|
||||
if (!value) return value;
|
||||
if (!exp) return Math[type](value);
|
||||
if (!isFinite(value)) return value;
|
||||
|
||||
// Shift
|
||||
var tokens = split.call(value, "e");
|
||||
value = Math[type](tokens[0] + "e" + ((tokens[1] || 0) - exp));
|
||||
|
||||
// Shift back
|
||||
tokens = value.toString().split("e");
|
||||
return Number(tokens[0] + "e" + (Number(tokens[1] || 0) + exp));
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,5 @@
|
||||
function isWebSQLValid() {
|
||||
return typeof openDatabase === 'function';
|
||||
}
|
||||
|
||||
export default isWebSQLValid;
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fetch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC"}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ReplaySubject.js","sourceRoot":"","sources":["../../../src/internal/ReplaySubject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAgC1E,MAAM,OAAO,aAAiB,SAAQ,OAAU;IAU9C,YACU,cAAc,QAAQ,EACtB,cAAc,QAAQ,EACtB,qBAAwC,qBAAqB;QAErE,KAAK,EAAE,CAAC;QAJA,gBAAW,GAAX,WAAW,CAAW;QACtB,gBAAW,GAAX,WAAW,CAAW;QACtB,uBAAkB,GAAlB,kBAAkB,CAA2C;QAZ/D,YAAO,GAAmB,EAAE,CAAC;QAC7B,wBAAmB,GAAG,IAAI,CAAC;QAcjC,IAAI,CAAC,mBAAmB,GAAG,WAAW,KAAK,QAAQ,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,KAAQ;QACX,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC1F,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC;SAC9E;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAGS,UAAU,CAAC,UAAyB;QAC5C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAEtD,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAG9C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACvF,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAM,CAAC,CAAC;SAC/B;QAED,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAEzC,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,WAAW;QACjB,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;QAK/E,MAAM,kBAAkB,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;QACvE,WAAW,GAAG,QAAQ,IAAI,kBAAkB,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC;QAIxH,IAAI,CAAC,mBAAmB,EAAE;YACxB,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,CAAC;YACrC,IAAI,IAAI,GAAG,CAAC,CAAC;YAGb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,IAAK,OAAO,CAAC,CAAC,CAAY,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC3E,IAAI,GAAG,CAAC,CAAC;aACV;YACD,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;SACrC;IACH,CAAC;CACF"}
|
||||
@@ -0,0 +1,5 @@
|
||||
var convert = require('./convert'),
|
||||
func = convert('remove', require('../remove'));
|
||||
|
||||
func.placeholder = require('./placeholder');
|
||||
module.exports = func;
|
||||
@@ -0,0 +1 @@
|
||||
{"name":"rechoir","version":"0.6.2","files":{"package.json":{"checkedAt":1678883672450,"integrity":"sha512-amcGFM+Q3TK2I6OlpBtIGMN60j/x10dadY4WAzEPaMKyzqwSYP4KHUWnHAnoV9djU//MyocJlL6jrL21GcPl3Q==","mode":420,"size":1758},".npmignore":{"checkedAt":1678883672450,"integrity":"sha512-Dj51I0q8aPQ3ioaz9LMqGYujAYRbDNblAQbodDRXAMxmY6hsHqEl3F6SvhfJj5oPhcqdX1ldsgEvfMNXGUXBIw==","mode":420,"size":5},"README.md":{"checkedAt":1678883672450,"integrity":"sha512-o+LfOV9XLcRgHVKQaf48JwNwkkCWhZ4xRKWAgWOq7yNHpHUrxr1hZfJHlUu040Uh7xCIYw6ucUTRWHC8jTnw0w==","mode":420,"size":2018},"LICENSE":{"checkedAt":1678883672450,"integrity":"sha512-NLIS+HLzE1Oi1wW5/s0gjBoQVhZwtyc7cl+5JEH9jKOp7+dIFYJsUCkc+7m9vX7bPWAvag7oYbpEUA9fBzICtw==","mode":420,"size":1056},"index.js":{"checkedAt":1678883672450,"integrity":"sha512-uzqoBu2TSJahIxpjv6QWGUpMa64S+rE9NuDKqE2pVYH5AMlubIeD35PctnY16XbCmefGDkBF1BA5PJ2bODFi+w==","mode":420,"size":1382},".travis.yml":{"checkedAt":1678883672450,"integrity":"sha512-qfsEn8bgf50rOYIe7eSQQIgpk/fmcaR+k7LPA4EcioXPdX8t8QDddsR/7DHpu3BJJVmghliW9Skd/Gpt+41hkg==","mode":420,"size":743},"lib/extension.js":{"checkedAt":1678883672450,"integrity":"sha512-oY4yZy+loKbiGM286EmkyNqsYHM/TXbftF5rfLig3jxCYPXCTaDvjBtn1NzesQtTfo6ZfOMTAADspymNEEHqXA==","mode":420,"size":218},"lib/normalize.js":{"checkedAt":1678883672450,"integrity":"sha512-8uVMBHrrKV6D1aEtbSGYIkMsuimFgp7r9p5sBxPIvngH9/qAwOK9/wlgJBnOskBVIzEAZQkPTqkXocoJkIMlcw==","mode":420,"size":271},"CHANGELOG":{"checkedAt":1678883672450,"integrity":"sha512-tojwQtxmf4Qs62Ejb2sYWLQ7xNjJ0n0MuDf6JjkWLU9wIc6NT7sRebuc+OOHbMW6R8K0wm7K1Fd3enNrSJzaEQ==","mode":420,"size":896},"lib/register.js":{"checkedAt":1678883672450,"integrity":"sha512-g2+3PzPW40Yv+RF2RmZB5a5f3njuEyQu0T10Xlqxf0PRGx+0MVMR3HSFyV+FRPj7Q5WapbyD7bFDw6WqOU0jvA==","mode":420,"size":360}}}
|
||||
@@ -0,0 +1,69 @@
|
||||
//implementation
|
||||
var registeredParsers = [];
|
||||
var Parser = require("./parser.js");
|
||||
var defaultParser = require("./defaultParsers");
|
||||
|
||||
function registerParser (parser) {
|
||||
if (parser instanceof Parser && registeredParsers.indexOf(parser) === -1) {
|
||||
registeredParsers.push(parser); // TODO indexOf doesn't work with object references
|
||||
}
|
||||
}
|
||||
|
||||
function getParser(columnTitle, param) {
|
||||
var inst, parser;
|
||||
function getParserByName(parserName) {
|
||||
var parser;
|
||||
registeredParsers.forEach(function(p){
|
||||
if (p.getName() === parserName){
|
||||
parser = p;
|
||||
}
|
||||
});
|
||||
if (parser) {
|
||||
var inst = parser.clone();
|
||||
return inst;
|
||||
}
|
||||
return new Parser(); //TODO remove new
|
||||
}
|
||||
columnTitle = columnTitle ? columnTitle : '';
|
||||
registeredParsers.forEach(function(p) {
|
||||
if (p.test(columnTitle)) {
|
||||
parser=p;
|
||||
}
|
||||
});
|
||||
if (parser) {
|
||||
inst = parser.clone();
|
||||
inst.head = columnTitle;
|
||||
} else {
|
||||
inst = getParserByName("json", columnTitle);
|
||||
}
|
||||
inst.setParam(param);
|
||||
inst.initHead(columnTitle);
|
||||
return inst;
|
||||
}
|
||||
|
||||
function addParser(name, regExp, parseFunc) {
|
||||
var parser = new Parser(name, regExp, parseFunc,false); //TODO remove new
|
||||
registerParser(parser);
|
||||
}
|
||||
|
||||
function addSafeParser(parserPath) {
|
||||
//TODO impl
|
||||
}
|
||||
|
||||
function initParsers(row, param) {
|
||||
var parsers = [];
|
||||
row.forEach(function (columnTitle) {
|
||||
parsers.push(getParser(columnTitle, param));
|
||||
});
|
||||
return parsers;
|
||||
}
|
||||
|
||||
defaultParser.forEach(function (parserCfg){
|
||||
//TODO refactor this
|
||||
addParser(parserCfg.name, parserCfg.regExp, parserCfg.parserFunc, parserCfg.processSafe);
|
||||
});
|
||||
|
||||
//module interfaces
|
||||
module.exports.addParser = addParser;
|
||||
module.exports.initParsers = initParsers;
|
||||
module.exports.getParser = getParser;
|
||||
@@ -0,0 +1,41 @@
|
||||
import { SameValue } from '../262';
|
||||
import { ToRawPrecision } from './ToRawPrecision';
|
||||
import { repeat } from '../utils';
|
||||
import { ToRawFixed } from './ToRawFixed';
|
||||
/**
|
||||
* https://tc39.es/ecma402/#sec-formatnumberstring
|
||||
*/
|
||||
export function FormatNumericToString(intlObject, x) {
|
||||
var isNegative = x < 0 || SameValue(x, -0);
|
||||
if (isNegative) {
|
||||
x = -x;
|
||||
}
|
||||
var result;
|
||||
var rourndingType = intlObject.roundingType;
|
||||
switch (rourndingType) {
|
||||
case 'significantDigits':
|
||||
result = ToRawPrecision(x, intlObject.minimumSignificantDigits, intlObject.maximumSignificantDigits);
|
||||
break;
|
||||
case 'fractionDigits':
|
||||
result = ToRawFixed(x, intlObject.minimumFractionDigits, intlObject.maximumFractionDigits);
|
||||
break;
|
||||
default:
|
||||
result = ToRawPrecision(x, 1, 2);
|
||||
if (result.integerDigitsCount > 1) {
|
||||
result = ToRawFixed(x, 0, 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
x = result.roundedNumber;
|
||||
var string = result.formattedString;
|
||||
var int = result.integerDigitsCount;
|
||||
var minInteger = intlObject.minimumIntegerDigits;
|
||||
if (int < minInteger) {
|
||||
var forwardZeros = repeat('0', minInteger - int);
|
||||
string = forwardZeros + string;
|
||||
}
|
||||
if (isNegative) {
|
||||
x = -x;
|
||||
}
|
||||
return { roundedNumber: x, formattedString: string };
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
import { PipelineProcessor, ProcessorType } from './processor';
|
||||
import { EventEmitter } from '../util/eventEmitter';
|
||||
interface PipelineEvents<T> {
|
||||
/**
|
||||
* Generic updated event. Triggers the callback function when the pipeline
|
||||
* is updated, including when a new processor is registered, a processor's props
|
||||
* get updated, etc.
|
||||
*/
|
||||
updated: (processor: PipelineProcessor<any, any>) => void;
|
||||
/**
|
||||
* Triggers the callback function when a new
|
||||
* processor is registered successfully
|
||||
*/
|
||||
afterRegister: () => void;
|
||||
/**
|
||||
* Triggers the callback when a registered
|
||||
* processor's property is updated
|
||||
*/
|
||||
propsUpdated: () => void;
|
||||
/**
|
||||
* Triggers the callback function when the pipeline
|
||||
* is fully processed, before returning the results
|
||||
*
|
||||
* afterProcess will not be called if there is an
|
||||
* error in the pipeline (i.e a step throw an Error)
|
||||
*/
|
||||
afterProcess: (prev: T) => void;
|
||||
/**
|
||||
* Triggers the callback function when the pipeline
|
||||
* fails to process all steps or at least one step
|
||||
* throws an Error
|
||||
*/
|
||||
error: (prev: T) => void;
|
||||
}
|
||||
declare class Pipeline<T, P = {}> extends EventEmitter<PipelineEvents<T>> {
|
||||
private readonly _steps;
|
||||
private cache;
|
||||
private lastProcessorIndexUpdated;
|
||||
constructor(steps?: PipelineProcessor<any, any>[]);
|
||||
/**
|
||||
* Clears the `cache` array
|
||||
*/
|
||||
clearCache(): void;
|
||||
/**
|
||||
* Registers a new processor
|
||||
*
|
||||
* @param processor
|
||||
* @param priority
|
||||
*/
|
||||
register(processor: PipelineProcessor<any, any>, priority?: number): void;
|
||||
/**
|
||||
* Removes a processor from the list
|
||||
*
|
||||
* @param processor
|
||||
*/
|
||||
unregister(processor: PipelineProcessor<any, any>): void;
|
||||
/**
|
||||
* Registers a new processor
|
||||
*
|
||||
* @param processor
|
||||
* @param priority
|
||||
*/
|
||||
private addProcessorByPriority;
|
||||
/**
|
||||
* Flattens the _steps Map and returns a list of steps with their correct priorities
|
||||
*/
|
||||
get steps(): PipelineProcessor<T, P>[];
|
||||
/**
|
||||
* Accepts ProcessType and returns an array of the registered processes
|
||||
* with the give type
|
||||
*
|
||||
* @param type
|
||||
*/
|
||||
getStepsByType(type: ProcessorType): PipelineProcessor<T, P>[];
|
||||
/**
|
||||
* Returns a list of ProcessorType according to their priority
|
||||
*/
|
||||
private getSortedProcessorTypes;
|
||||
/**
|
||||
* Runs all registered processors based on their correct priority
|
||||
* and returns the final output after running all steps
|
||||
*
|
||||
* @param data
|
||||
*/
|
||||
process(data?: T): Promise<T>;
|
||||
/**
|
||||
* Returns the registered processor's index in _steps array
|
||||
*
|
||||
* @param processorID
|
||||
*/
|
||||
private findProcessorIndexByID;
|
||||
/**
|
||||
* Sets the last updates processors index locally
|
||||
* This is used to invalid or skip a processor in
|
||||
* the process() method
|
||||
*/
|
||||
private setLastProcessorIndex;
|
||||
private processorPropsUpdated;
|
||||
private afterRegistered;
|
||||
}
|
||||
export default Pipeline;
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"J D E F A B CC"},B:{"1":"P","2":"C K L G M N O Q R S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H"},C:{"2":"0 1 2 3 4 DC tB I v J D E F A B C K L G M N O w g x y z vB aB bB cB dB eB fB gB hB iB jB kB h lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H xB yB EC FC","66":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB uB ZB"},D:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB uB ZB vB aB bB cB dB eB fB gB hB iB jB kB h lB mB nB oB pB P","2":"0 I v J D E F A B C K L G M N O w g x y z Q R S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H xB yB GC","33":"1 2 3 4 5 6 7 8 9 AB"},E:{"2":"I v J D E F A B C K L G HC zB IC JC KC LC 0B qB rB 1B MC NC 2B 3B 4B 5B sB 6B 7B 8B 9B OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB","2":"F B C fB gB hB iB jB kB h lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d e PC QC RC SC qB AC TC rB","33":"G M N O w g x"},G:{"2":"E zB UC BC VC WC XC YC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC 2B 3B 4B 5B sB 6B 7B 8B 9B"},H:{"2":"oC"},I:{"2":"tB I f pC qC rC sC BC","33":"tC uC"},J:{"2":"D A"},K:{"2":"A B C h qB AC rB"},L:{"2":"H"},M:{"2":"H"},N:{"2":"A B"},O:{"1":"vC"},P:{"1":"wC xC yC zC 0C 0B 1C 2C","2":"g 3C 4C 5C sB 6C 7C 8C","33":"I"},Q:{"1":"1B"},R:{"2":"9C"},S:{"1":"AD","2":"BD"}},B:7,C:"Shadow DOM (deprecated V0 spec)"};
|
||||
@@ -0,0 +1,118 @@
|
||||
"use strict";
|
||||
module.exports = function(
|
||||
Promise, PromiseArray, tryConvertToPromise, apiRejection) {
|
||||
var util = require("./util");
|
||||
var isObject = util.isObject;
|
||||
var es5 = require("./es5");
|
||||
var Es6Map;
|
||||
if (typeof Map === "function") Es6Map = Map;
|
||||
|
||||
var mapToEntries = (function() {
|
||||
var index = 0;
|
||||
var size = 0;
|
||||
|
||||
function extractEntry(value, key) {
|
||||
this[index] = value;
|
||||
this[index + size] = key;
|
||||
index++;
|
||||
}
|
||||
|
||||
return function mapToEntries(map) {
|
||||
size = map.size;
|
||||
index = 0;
|
||||
var ret = new Array(map.size * 2);
|
||||
map.forEach(extractEntry, ret);
|
||||
return ret;
|
||||
};
|
||||
})();
|
||||
|
||||
var entriesToMap = function(entries) {
|
||||
var ret = new Es6Map();
|
||||
var length = entries.length / 2 | 0;
|
||||
for (var i = 0; i < length; ++i) {
|
||||
var key = entries[length + i];
|
||||
var value = entries[i];
|
||||
ret.set(key, value);
|
||||
}
|
||||
return ret;
|
||||
};
|
||||
|
||||
function PropertiesPromiseArray(obj) {
|
||||
var isMap = false;
|
||||
var entries;
|
||||
if (Es6Map !== undefined && obj instanceof Es6Map) {
|
||||
entries = mapToEntries(obj);
|
||||
isMap = true;
|
||||
} else {
|
||||
var keys = es5.keys(obj);
|
||||
var len = keys.length;
|
||||
entries = new Array(len * 2);
|
||||
for (var i = 0; i < len; ++i) {
|
||||
var key = keys[i];
|
||||
entries[i] = obj[key];
|
||||
entries[i + len] = key;
|
||||
}
|
||||
}
|
||||
this.constructor$(entries);
|
||||
this._isMap = isMap;
|
||||
this._init$(undefined, isMap ? -6 : -3);
|
||||
}
|
||||
util.inherits(PropertiesPromiseArray, PromiseArray);
|
||||
|
||||
PropertiesPromiseArray.prototype._init = function () {};
|
||||
|
||||
PropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) {
|
||||
this._values[index] = value;
|
||||
var totalResolved = ++this._totalResolved;
|
||||
if (totalResolved >= this._length) {
|
||||
var val;
|
||||
if (this._isMap) {
|
||||
val = entriesToMap(this._values);
|
||||
} else {
|
||||
val = {};
|
||||
var keyOffset = this.length();
|
||||
for (var i = 0, len = this.length(); i < len; ++i) {
|
||||
val[this._values[i + keyOffset]] = this._values[i];
|
||||
}
|
||||
}
|
||||
this._resolve(val);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
PropertiesPromiseArray.prototype.shouldCopyValues = function () {
|
||||
return false;
|
||||
};
|
||||
|
||||
PropertiesPromiseArray.prototype.getActualLength = function (len) {
|
||||
return len >> 1;
|
||||
};
|
||||
|
||||
function props(promises) {
|
||||
var ret;
|
||||
var castValue = tryConvertToPromise(promises);
|
||||
|
||||
if (!isObject(castValue)) {
|
||||
return apiRejection("cannot await properties of a non-object\u000a\u000a See http://goo.gl/MqrFmX\u000a");
|
||||
} else if (castValue instanceof Promise) {
|
||||
ret = castValue._then(
|
||||
Promise.props, undefined, undefined, undefined, undefined);
|
||||
} else {
|
||||
ret = new PropertiesPromiseArray(castValue).promise();
|
||||
}
|
||||
|
||||
if (castValue instanceof Promise) {
|
||||
ret._propagateFrom(castValue, 2);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
Promise.prototype.props = function () {
|
||||
return props(this);
|
||||
};
|
||||
|
||||
Promise.props = function (promises) {
|
||||
return props(promises);
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,63 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.timeout = exports.TimeoutError = void 0;
|
||||
var async_1 = require("../scheduler/async");
|
||||
var isDate_1 = require("../util/isDate");
|
||||
var lift_1 = require("../util/lift");
|
||||
var innerFrom_1 = require("../observable/innerFrom");
|
||||
var createErrorClass_1 = require("../util/createErrorClass");
|
||||
var OperatorSubscriber_1 = require("./OperatorSubscriber");
|
||||
var executeSchedule_1 = require("../util/executeSchedule");
|
||||
exports.TimeoutError = createErrorClass_1.createErrorClass(function (_super) {
|
||||
return function TimeoutErrorImpl(info) {
|
||||
if (info === void 0) { info = null; }
|
||||
_super(this);
|
||||
this.message = 'Timeout has occurred';
|
||||
this.name = 'TimeoutError';
|
||||
this.info = info;
|
||||
};
|
||||
});
|
||||
function timeout(config, schedulerArg) {
|
||||
var _a = (isDate_1.isValidDate(config) ? { first: config } : typeof config === 'number' ? { each: config } : config), first = _a.first, each = _a.each, _b = _a.with, _with = _b === void 0 ? timeoutErrorFactory : _b, _c = _a.scheduler, scheduler = _c === void 0 ? schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : async_1.asyncScheduler : _c, _d = _a.meta, meta = _d === void 0 ? null : _d;
|
||||
if (first == null && each == null) {
|
||||
throw new TypeError('No timeout provided.');
|
||||
}
|
||||
return lift_1.operate(function (source, subscriber) {
|
||||
var originalSourceSubscription;
|
||||
var timerSubscription;
|
||||
var lastValue = null;
|
||||
var seen = 0;
|
||||
var startTimer = function (delay) {
|
||||
timerSubscription = executeSchedule_1.executeSchedule(subscriber, scheduler, function () {
|
||||
try {
|
||||
originalSourceSubscription.unsubscribe();
|
||||
innerFrom_1.innerFrom(_with({
|
||||
meta: meta,
|
||||
lastValue: lastValue,
|
||||
seen: seen,
|
||||
})).subscribe(subscriber);
|
||||
}
|
||||
catch (err) {
|
||||
subscriber.error(err);
|
||||
}
|
||||
}, delay);
|
||||
};
|
||||
originalSourceSubscription = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {
|
||||
timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();
|
||||
seen++;
|
||||
subscriber.next((lastValue = value));
|
||||
each > 0 && startTimer(each);
|
||||
}, undefined, undefined, function () {
|
||||
if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {
|
||||
timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();
|
||||
}
|
||||
lastValue = null;
|
||||
}));
|
||||
!seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);
|
||||
});
|
||||
}
|
||||
exports.timeout = timeout;
|
||||
function timeoutErrorFactory(info) {
|
||||
throw new exports.TimeoutError(info);
|
||||
}
|
||||
//# sourceMappingURL=timeout.js.map
|
||||
@@ -0,0 +1,19 @@
|
||||
'use strict';
|
||||
module.exports = (object, propertyName, fn) => {
|
||||
const define = value => Object.defineProperty(object, propertyName, {value, enumerable: true, writable: true});
|
||||
|
||||
Object.defineProperty(object, propertyName, {
|
||||
configurable: true,
|
||||
enumerable: true,
|
||||
get() {
|
||||
const result = fn();
|
||||
define(result);
|
||||
return result;
|
||||
},
|
||||
set(value) {
|
||||
define(value);
|
||||
}
|
||||
});
|
||||
|
||||
return object;
|
||||
};
|
||||
@@ -0,0 +1,86 @@
|
||||
{
|
||||
"name": "semver",
|
||||
"version": "7.3.8",
|
||||
"description": "The semantic version parser used by npm.",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "tap",
|
||||
"snap": "tap",
|
||||
"lint": "eslint \"**/*.js\"",
|
||||
"postlint": "template-oss-check",
|
||||
"lintfix": "npm run lint -- --fix",
|
||||
"posttest": "npm run lint",
|
||||
"template-oss-apply": "template-oss-apply --force"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@npmcli/eslint-config": "^3.0.1",
|
||||
"@npmcli/template-oss": "4.4.4",
|
||||
"tap": "^16.0.0"
|
||||
},
|
||||
"license": "ISC",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/npm/node-semver.git"
|
||||
},
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
},
|
||||
"files": [
|
||||
"bin/",
|
||||
"lib/",
|
||||
"classes/",
|
||||
"functions/",
|
||||
"internal/",
|
||||
"ranges/",
|
||||
"index.js",
|
||||
"preload.js",
|
||||
"range.bnf"
|
||||
],
|
||||
"tap": {
|
||||
"check-coverage": true,
|
||||
"coverage-map": "map.js",
|
||||
"nyc-arg": [
|
||||
"--exclude",
|
||||
"tap-snapshots/**"
|
||||
]
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"dependencies": {
|
||||
"lru-cache": "^6.0.0"
|
||||
},
|
||||
"author": "GitHub Inc.",
|
||||
"templateOSS": {
|
||||
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
|
||||
"version": "4.4.4",
|
||||
"engines": ">=10",
|
||||
"content": "./scripts",
|
||||
"ciVersions": [
|
||||
"10.0.0",
|
||||
"10.x",
|
||||
"12.x",
|
||||
"14.x",
|
||||
"16.x",
|
||||
"18.x"
|
||||
],
|
||||
"distPaths": [
|
||||
"classes/",
|
||||
"functions/",
|
||||
"internal/",
|
||||
"ranges/",
|
||||
"index.js",
|
||||
"preload.js",
|
||||
"range.bnf"
|
||||
],
|
||||
"allowPaths": [
|
||||
"/classes/",
|
||||
"/functions/",
|
||||
"/internal/",
|
||||
"/ranges/",
|
||||
"/index.js",
|
||||
"/preload.js",
|
||||
"/range.bnf"
|
||||
]
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.switchAll = void 0;
|
||||
var switchMap_1 = require("./switchMap");
|
||||
var identity_1 = require("../util/identity");
|
||||
function switchAll() {
|
||||
return switchMap_1.switchMap(identity_1.identity);
|
||||
}
|
||||
exports.switchAll = switchAll;
|
||||
//# sourceMappingURL=switchAll.js.map
|
||||
@@ -0,0 +1,55 @@
|
||||
import { Observable } from '../Observable';
|
||||
import { UnaryFunction } from '../types';
|
||||
/**
|
||||
* Splits the source Observable into two, one with values that satisfy a
|
||||
* predicate, and another with values that don't satisfy the predicate.
|
||||
*
|
||||
* <span class="informal">It's like {@link filter}, but returns two Observables:
|
||||
* one like the output of {@link filter}, and the other with values that did not
|
||||
* pass the condition.</span>
|
||||
*
|
||||
* 
|
||||
*
|
||||
* `partition` outputs an array with two Observables that partition the values
|
||||
* from the source Observable through the given `predicate` function. The first
|
||||
* Observable in that array emits source values for which the predicate argument
|
||||
* returns true. The second Observable emits source values for which the
|
||||
* predicate returns false. The first behaves like {@link filter} and the second
|
||||
* behaves like {@link filter} with the predicate negated.
|
||||
*
|
||||
* ## Example
|
||||
*
|
||||
* Partition click events into those on DIV elements and those elsewhere
|
||||
*
|
||||
* ```ts
|
||||
* import { fromEvent } from 'rxjs';
|
||||
* import { partition } from 'rxjs/operators';
|
||||
*
|
||||
* const div = document.createElement('div');
|
||||
* div.style.cssText = 'width: 200px; height: 200px; background: #09c;';
|
||||
* document.body.appendChild(div);
|
||||
*
|
||||
* const clicks = fromEvent(document, 'click');
|
||||
* const [clicksOnDivs, clicksElsewhere] = clicks.pipe(partition(ev => (<HTMLElement>ev.target).tagName === 'DIV'));
|
||||
*
|
||||
* clicksOnDivs.subscribe(x => console.log('DIV clicked: ', x));
|
||||
* clicksElsewhere.subscribe(x => console.log('Other clicked: ', x));
|
||||
* ```
|
||||
*
|
||||
* @see {@link filter}
|
||||
*
|
||||
* @param {function(value: T, index: number): boolean} predicate A function that
|
||||
* evaluates each value emitted by the source Observable. If it returns `true`,
|
||||
* the value is emitted on the first Observable in the returned array, if
|
||||
* `false` the value is emitted on the second Observable in the array. The
|
||||
* `index` parameter is the number `i` for the i-th source emission that has
|
||||
* happened since the subscription, starting from the number `0`.
|
||||
* @param {any} [thisArg] An optional argument to determine the value of `this`
|
||||
* in the `predicate` function.
|
||||
* @return A function that returns an array with two Observables: one with
|
||||
* values that passed the predicate, and another with values that did not pass
|
||||
* the predicate.
|
||||
* @deprecated Replaced with the `partition` static creation function. Will be removed in v8.
|
||||
*/
|
||||
export declare function partition<T>(predicate: (value: T, index: number) => boolean, thisArg?: any): UnaryFunction<Observable<T>, [Observable<T>, Observable<T>]>;
|
||||
//# sourceMappingURL=partition.d.ts.map
|
||||
@@ -0,0 +1,25 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = toString;
|
||||
|
||||
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
||||
|
||||
function toString(input) {
|
||||
if (_typeof(input) === 'object' && input !== null) {
|
||||
if (typeof input.toString === 'function') {
|
||||
input = input.toString();
|
||||
} else {
|
||||
input = '[object Object]';
|
||||
}
|
||||
} else if (input === null || typeof input === 'undefined' || isNaN(input) && !input.length) {
|
||||
input = '';
|
||||
}
|
||||
|
||||
return String(input);
|
||||
}
|
||||
|
||||
module.exports = exports.default;
|
||||
module.exports.default = exports.default;
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"1":"F A B","2":"J D E CC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB uB ZB vB aB bB cB dB eB fB gB hB iB jB kB h lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H xB yB","2":"DC tB","132":"I v J D E F A B C K L G M N O w g x EC FC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I v J D E F A B C K L G M N O w g x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB uB ZB vB aB bB cB dB eB fB gB hB iB jB kB h lB mB nB oB pB P Q R S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H xB yB GC"},E:{"1":"I v J D E F A B C K L G IC JC KC LC 0B qB rB 1B MC NC 2B 3B 4B 5B sB 6B 7B 8B 9B OC","2":"HC zB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O w g x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB h lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d e","2":"F B C PC QC RC SC qB AC TC rB"},G:{"1":"E UC BC VC WC XC YC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC 2B 3B 4B 5B sB 6B 7B 8B 9B","2":"zB"},H:{"2":"oC"},I:{"1":"tB I f rC sC BC tC uC","2":"pC qC"},J:{"1":"D A"},K:{"1":"B C h qB AC rB","2":"A"},L:{"1":"H"},M:{"1":"H"},N:{"1":"A B"},O:{"1":"vC"},P:{"1":"I g wC xC yC zC 0C 0B 1C 2C 3C 4C 5C sB 6C 7C 8C"},Q:{"1":"1B"},R:{"1":"9C"},S:{"1":"AD BD"}},B:6,C:"MP3 audio format"};
|
||||
@@ -0,0 +1,492 @@
|
||||
'use strict'
|
||||
|
||||
const tape = require('tape')
|
||||
const BufferList = require('../')
|
||||
const { Buffer } = require('buffer')
|
||||
|
||||
tape('indexOf single byte needle', (t) => {
|
||||
const bl = new BufferList(['abcdefg', 'abcdefg', '12345'])
|
||||
|
||||
t.equal(bl.indexOf('e'), 4)
|
||||
t.equal(bl.indexOf('e', 5), 11)
|
||||
t.equal(bl.indexOf('e', 12), -1)
|
||||
t.equal(bl.indexOf('5'), 18)
|
||||
|
||||
t.end()
|
||||
})
|
||||
|
||||
tape('indexOf multiple byte needle', (t) => {
|
||||
const bl = new BufferList(['abcdefg', 'abcdefg'])
|
||||
|
||||
t.equal(bl.indexOf('ef'), 4)
|
||||
t.equal(bl.indexOf('ef', 5), 11)
|
||||
|
||||
t.end()
|
||||
})
|
||||
|
||||
tape('indexOf multiple byte needles across buffer boundaries', (t) => {
|
||||
const bl = new BufferList(['abcdefg', 'abcdefg'])
|
||||
|
||||
t.equal(bl.indexOf('fgabc'), 5)
|
||||
|
||||
t.end()
|
||||
})
|
||||
|
||||
tape('indexOf takes a Uint8Array search', (t) => {
|
||||
const bl = new BufferList(['abcdefg', 'abcdefg'])
|
||||
const search = new Uint8Array([102, 103, 97, 98, 99]) // fgabc
|
||||
|
||||
t.equal(bl.indexOf(search), 5)
|
||||
|
||||
t.end()
|
||||
})
|
||||
|
||||
tape('indexOf takes a buffer list search', (t) => {
|
||||
const bl = new BufferList(['abcdefg', 'abcdefg'])
|
||||
const search = new BufferList('fgabc')
|
||||
|
||||
t.equal(bl.indexOf(search), 5)
|
||||
|
||||
t.end()
|
||||
})
|
||||
|
||||
tape('indexOf a zero byte needle', (t) => {
|
||||
const b = new BufferList('abcdef')
|
||||
const bufEmpty = Buffer.from('')
|
||||
|
||||
t.equal(b.indexOf(''), 0)
|
||||
t.equal(b.indexOf('', 1), 1)
|
||||
t.equal(b.indexOf('', b.length + 1), b.length)
|
||||
t.equal(b.indexOf('', Infinity), b.length)
|
||||
t.equal(b.indexOf(bufEmpty), 0)
|
||||
t.equal(b.indexOf(bufEmpty, 1), 1)
|
||||
t.equal(b.indexOf(bufEmpty, b.length + 1), b.length)
|
||||
t.equal(b.indexOf(bufEmpty, Infinity), b.length)
|
||||
|
||||
t.end()
|
||||
})
|
||||
|
||||
tape('indexOf buffers smaller and larger than the needle', (t) => {
|
||||
const bl = new BufferList(['abcdefg', 'a', 'bcdefg', 'a', 'bcfgab'])
|
||||
|
||||
t.equal(bl.indexOf('fgabc'), 5)
|
||||
t.equal(bl.indexOf('fgabc', 6), 12)
|
||||
t.equal(bl.indexOf('fgabc', 13), -1)
|
||||
|
||||
t.end()
|
||||
})
|
||||
|
||||
// only present in node 6+
|
||||
;(process.version.substr(1).split('.')[0] >= 6) && tape('indexOf latin1 and binary encoding', (t) => {
|
||||
const b = new BufferList('abcdef')
|
||||
|
||||
// test latin1 encoding
|
||||
t.equal(
|
||||
new BufferList(Buffer.from(b.toString('latin1'), 'latin1'))
|
||||
.indexOf('d', 0, 'latin1'),
|
||||
3
|
||||
)
|
||||
t.equal(
|
||||
new BufferList(Buffer.from(b.toString('latin1'), 'latin1'))
|
||||
.indexOf(Buffer.from('d', 'latin1'), 0, 'latin1'),
|
||||
3
|
||||
)
|
||||
t.equal(
|
||||
new BufferList(Buffer.from('aa\u00e8aa', 'latin1'))
|
||||
.indexOf('\u00e8', 'latin1'),
|
||||
2
|
||||
)
|
||||
t.equal(
|
||||
new BufferList(Buffer.from('\u00e8', 'latin1'))
|
||||
.indexOf('\u00e8', 'latin1'),
|
||||
0
|
||||
)
|
||||
t.equal(
|
||||
new BufferList(Buffer.from('\u00e8', 'latin1'))
|
||||
.indexOf(Buffer.from('\u00e8', 'latin1'), 'latin1'),
|
||||
0
|
||||
)
|
||||
|
||||
// test binary encoding
|
||||
t.equal(
|
||||
new BufferList(Buffer.from(b.toString('binary'), 'binary'))
|
||||
.indexOf('d', 0, 'binary'),
|
||||
3
|
||||
)
|
||||
t.equal(
|
||||
new BufferList(Buffer.from(b.toString('binary'), 'binary'))
|
||||
.indexOf(Buffer.from('d', 'binary'), 0, 'binary'),
|
||||
3
|
||||
)
|
||||
t.equal(
|
||||
new BufferList(Buffer.from('aa\u00e8aa', 'binary'))
|
||||
.indexOf('\u00e8', 'binary'),
|
||||
2
|
||||
)
|
||||
t.equal(
|
||||
new BufferList(Buffer.from('\u00e8', 'binary'))
|
||||
.indexOf('\u00e8', 'binary'),
|
||||
0
|
||||
)
|
||||
t.equal(
|
||||
new BufferList(Buffer.from('\u00e8', 'binary'))
|
||||
.indexOf(Buffer.from('\u00e8', 'binary'), 'binary'),
|
||||
0
|
||||
)
|
||||
|
||||
t.end()
|
||||
})
|
||||
|
||||
tape('indexOf the entire nodejs10 buffer test suite', (t) => {
|
||||
const b = new BufferList('abcdef')
|
||||
const bufA = Buffer.from('a')
|
||||
const bufBc = Buffer.from('bc')
|
||||
const bufF = Buffer.from('f')
|
||||
const bufZ = Buffer.from('z')
|
||||
|
||||
const stringComparison = 'abcdef'
|
||||
|
||||
t.equal(b.indexOf('a'), 0)
|
||||
t.equal(b.indexOf('a', 1), -1)
|
||||
t.equal(b.indexOf('a', -1), -1)
|
||||
t.equal(b.indexOf('a', -4), -1)
|
||||
t.equal(b.indexOf('a', -b.length), 0)
|
||||
t.equal(b.indexOf('a', NaN), 0)
|
||||
t.equal(b.indexOf('a', -Infinity), 0)
|
||||
t.equal(b.indexOf('a', Infinity), -1)
|
||||
t.equal(b.indexOf('bc'), 1)
|
||||
t.equal(b.indexOf('bc', 2), -1)
|
||||
t.equal(b.indexOf('bc', -1), -1)
|
||||
t.equal(b.indexOf('bc', -3), -1)
|
||||
t.equal(b.indexOf('bc', -5), 1)
|
||||
t.equal(b.indexOf('bc', NaN), 1)
|
||||
t.equal(b.indexOf('bc', -Infinity), 1)
|
||||
t.equal(b.indexOf('bc', Infinity), -1)
|
||||
t.equal(b.indexOf('f'), b.length - 1)
|
||||
t.equal(b.indexOf('z'), -1)
|
||||
|
||||
// empty search tests
|
||||
t.equal(b.indexOf(bufA), 0)
|
||||
t.equal(b.indexOf(bufA, 1), -1)
|
||||
t.equal(b.indexOf(bufA, -1), -1)
|
||||
t.equal(b.indexOf(bufA, -4), -1)
|
||||
t.equal(b.indexOf(bufA, -b.length), 0)
|
||||
t.equal(b.indexOf(bufA, NaN), 0)
|
||||
t.equal(b.indexOf(bufA, -Infinity), 0)
|
||||
t.equal(b.indexOf(bufA, Infinity), -1)
|
||||
t.equal(b.indexOf(bufBc), 1)
|
||||
t.equal(b.indexOf(bufBc, 2), -1)
|
||||
t.equal(b.indexOf(bufBc, -1), -1)
|
||||
t.equal(b.indexOf(bufBc, -3), -1)
|
||||
t.equal(b.indexOf(bufBc, -5), 1)
|
||||
t.equal(b.indexOf(bufBc, NaN), 1)
|
||||
t.equal(b.indexOf(bufBc, -Infinity), 1)
|
||||
t.equal(b.indexOf(bufBc, Infinity), -1)
|
||||
t.equal(b.indexOf(bufF), b.length - 1)
|
||||
t.equal(b.indexOf(bufZ), -1)
|
||||
t.equal(b.indexOf(0x61), 0)
|
||||
t.equal(b.indexOf(0x61, 1), -1)
|
||||
t.equal(b.indexOf(0x61, -1), -1)
|
||||
t.equal(b.indexOf(0x61, -4), -1)
|
||||
t.equal(b.indexOf(0x61, -b.length), 0)
|
||||
t.equal(b.indexOf(0x61, NaN), 0)
|
||||
t.equal(b.indexOf(0x61, -Infinity), 0)
|
||||
t.equal(b.indexOf(0x61, Infinity), -1)
|
||||
t.equal(b.indexOf(0x0), -1)
|
||||
|
||||
// test offsets
|
||||
t.equal(b.indexOf('d', 2), 3)
|
||||
t.equal(b.indexOf('f', 5), 5)
|
||||
t.equal(b.indexOf('f', -1), 5)
|
||||
t.equal(b.indexOf('f', 6), -1)
|
||||
|
||||
t.equal(b.indexOf(Buffer.from('d'), 2), 3)
|
||||
t.equal(b.indexOf(Buffer.from('f'), 5), 5)
|
||||
t.equal(b.indexOf(Buffer.from('f'), -1), 5)
|
||||
t.equal(b.indexOf(Buffer.from('f'), 6), -1)
|
||||
|
||||
t.equal(Buffer.from('ff').indexOf(Buffer.from('f'), 1, 'ucs2'), -1)
|
||||
|
||||
// test invalid and uppercase encoding
|
||||
t.equal(b.indexOf('b', 'utf8'), 1)
|
||||
t.equal(b.indexOf('b', 'UTF8'), 1)
|
||||
t.equal(b.indexOf('62', 'HEX'), 1)
|
||||
t.throws(() => b.indexOf('bad', 'enc'), TypeError)
|
||||
|
||||
// test hex encoding
|
||||
t.equal(
|
||||
Buffer.from(b.toString('hex'), 'hex')
|
||||
.indexOf('64', 0, 'hex'),
|
||||
3
|
||||
)
|
||||
t.equal(
|
||||
Buffer.from(b.toString('hex'), 'hex')
|
||||
.indexOf(Buffer.from('64', 'hex'), 0, 'hex'),
|
||||
3
|
||||
)
|
||||
|
||||
// test base64 encoding
|
||||
t.equal(
|
||||
Buffer.from(b.toString('base64'), 'base64')
|
||||
.indexOf('ZA==', 0, 'base64'),
|
||||
3
|
||||
)
|
||||
t.equal(
|
||||
Buffer.from(b.toString('base64'), 'base64')
|
||||
.indexOf(Buffer.from('ZA==', 'base64'), 0, 'base64'),
|
||||
3
|
||||
)
|
||||
|
||||
// test ascii encoding
|
||||
t.equal(
|
||||
Buffer.from(b.toString('ascii'), 'ascii')
|
||||
.indexOf('d', 0, 'ascii'),
|
||||
3
|
||||
)
|
||||
t.equal(
|
||||
Buffer.from(b.toString('ascii'), 'ascii')
|
||||
.indexOf(Buffer.from('d', 'ascii'), 0, 'ascii'),
|
||||
3
|
||||
)
|
||||
|
||||
// test optional offset with passed encoding
|
||||
t.equal(Buffer.from('aaaa0').indexOf('30', 'hex'), 4)
|
||||
t.equal(Buffer.from('aaaa00a').indexOf('3030', 'hex'), 4)
|
||||
|
||||
{
|
||||
// test usc2 encoding
|
||||
const twoByteString = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'ucs2')
|
||||
|
||||
t.equal(8, twoByteString.indexOf('\u0395', 4, 'ucs2'))
|
||||
t.equal(6, twoByteString.indexOf('\u03a3', -4, 'ucs2'))
|
||||
t.equal(4, twoByteString.indexOf('\u03a3', -6, 'ucs2'))
|
||||
t.equal(4, twoByteString.indexOf(
|
||||
Buffer.from('\u03a3', 'ucs2'), -6, 'ucs2'))
|
||||
t.equal(-1, twoByteString.indexOf('\u03a3', -2, 'ucs2'))
|
||||
}
|
||||
|
||||
const mixedByteStringUcs2 =
|
||||
Buffer.from('\u039a\u0391abc\u03a3\u03a3\u0395', 'ucs2')
|
||||
|
||||
t.equal(6, mixedByteStringUcs2.indexOf('bc', 0, 'ucs2'))
|
||||
t.equal(10, mixedByteStringUcs2.indexOf('\u03a3', 0, 'ucs2'))
|
||||
t.equal(-1, mixedByteStringUcs2.indexOf('\u0396', 0, 'ucs2'))
|
||||
|
||||
t.equal(
|
||||
6, mixedByteStringUcs2.indexOf(Buffer.from('bc', 'ucs2'), 0, 'ucs2'))
|
||||
t.equal(
|
||||
10, mixedByteStringUcs2.indexOf(Buffer.from('\u03a3', 'ucs2'), 0, 'ucs2'))
|
||||
t.equal(
|
||||
-1, mixedByteStringUcs2.indexOf(Buffer.from('\u0396', 'ucs2'), 0, 'ucs2'))
|
||||
|
||||
{
|
||||
const twoByteString = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'ucs2')
|
||||
|
||||
// Test single char pattern
|
||||
t.equal(0, twoByteString.indexOf('\u039a', 0, 'ucs2'))
|
||||
let index = twoByteString.indexOf('\u0391', 0, 'ucs2')
|
||||
t.equal(2, index, `Alpha - at index ${index}`)
|
||||
index = twoByteString.indexOf('\u03a3', 0, 'ucs2')
|
||||
t.equal(4, index, `First Sigma - at index ${index}`)
|
||||
index = twoByteString.indexOf('\u03a3', 6, 'ucs2')
|
||||
t.equal(6, index, `Second Sigma - at index ${index}`)
|
||||
index = twoByteString.indexOf('\u0395', 0, 'ucs2')
|
||||
t.equal(8, index, `Epsilon - at index ${index}`)
|
||||
index = twoByteString.indexOf('\u0392', 0, 'ucs2')
|
||||
t.equal(-1, index, `Not beta - at index ${index}`)
|
||||
|
||||
// Test multi-char pattern
|
||||
index = twoByteString.indexOf('\u039a\u0391', 0, 'ucs2')
|
||||
t.equal(0, index, `Lambda Alpha - at index ${index}`)
|
||||
index = twoByteString.indexOf('\u0391\u03a3', 0, 'ucs2')
|
||||
t.equal(2, index, `Alpha Sigma - at index ${index}`)
|
||||
index = twoByteString.indexOf('\u03a3\u03a3', 0, 'ucs2')
|
||||
t.equal(4, index, `Sigma Sigma - at index ${index}`)
|
||||
index = twoByteString.indexOf('\u03a3\u0395', 0, 'ucs2')
|
||||
t.equal(6, index, `Sigma Epsilon - at index ${index}`)
|
||||
}
|
||||
|
||||
const mixedByteStringUtf8 = Buffer.from('\u039a\u0391abc\u03a3\u03a3\u0395')
|
||||
|
||||
t.equal(5, mixedByteStringUtf8.indexOf('bc'))
|
||||
t.equal(5, mixedByteStringUtf8.indexOf('bc', 5))
|
||||
t.equal(5, mixedByteStringUtf8.indexOf('bc', -8))
|
||||
t.equal(7, mixedByteStringUtf8.indexOf('\u03a3'))
|
||||
t.equal(-1, mixedByteStringUtf8.indexOf('\u0396'))
|
||||
|
||||
// Test complex string indexOf algorithms. Only trigger for long strings.
|
||||
// Long string that isn't a simple repeat of a shorter string.
|
||||
let longString = 'A'
|
||||
for (let i = 66; i < 76; i++) { // from 'B' to 'K'
|
||||
longString = longString + String.fromCharCode(i) + longString
|
||||
}
|
||||
|
||||
const longBufferString = Buffer.from(longString)
|
||||
|
||||
// pattern of 15 chars, repeated every 16 chars in long
|
||||
let pattern = 'ABACABADABACABA'
|
||||
for (let i = 0; i < longBufferString.length - pattern.length; i += 7) {
|
||||
const index = longBufferString.indexOf(pattern, i)
|
||||
t.equal((i + 15) & ~0xf, index,
|
||||
`Long ABACABA...-string at index ${i}`)
|
||||
}
|
||||
|
||||
let index = longBufferString.indexOf('AJABACA')
|
||||
t.equal(510, index, `Long AJABACA, First J - at index ${index}`)
|
||||
index = longBufferString.indexOf('AJABACA', 511)
|
||||
t.equal(1534, index, `Long AJABACA, Second J - at index ${index}`)
|
||||
|
||||
pattern = 'JABACABADABACABA'
|
||||
index = longBufferString.indexOf(pattern)
|
||||
t.equal(511, index, `Long JABACABA..., First J - at index ${index}`)
|
||||
index = longBufferString.indexOf(pattern, 512)
|
||||
t.equal(
|
||||
1535, index, `Long JABACABA..., Second J - at index ${index}`)
|
||||
|
||||
// Search for a non-ASCII string in a pure ASCII string.
|
||||
const asciiString = Buffer.from(
|
||||
'somethingnotatallsinisterwhichalsoworks')
|
||||
t.equal(-1, asciiString.indexOf('\x2061'))
|
||||
t.equal(3, asciiString.indexOf('eth', 0))
|
||||
|
||||
// Search in string containing many non-ASCII chars.
|
||||
const allCodePoints = []
|
||||
for (let i = 0; i < 65536; i++) {
|
||||
allCodePoints[i] = i
|
||||
}
|
||||
|
||||
const allCharsString = String.fromCharCode.apply(String, allCodePoints)
|
||||
const allCharsBufferUtf8 = Buffer.from(allCharsString)
|
||||
const allCharsBufferUcs2 = Buffer.from(allCharsString, 'ucs2')
|
||||
|
||||
// Search for string long enough to trigger complex search with ASCII pattern
|
||||
// and UC16 subject.
|
||||
t.equal(-1, allCharsBufferUtf8.indexOf('notfound'))
|
||||
t.equal(-1, allCharsBufferUcs2.indexOf('notfound'))
|
||||
|
||||
// Needle is longer than haystack, but only because it's encoded as UTF-16
|
||||
t.equal(Buffer.from('aaaa').indexOf('a'.repeat(4), 'ucs2'), -1)
|
||||
|
||||
t.equal(Buffer.from('aaaa').indexOf('a'.repeat(4), 'utf8'), 0)
|
||||
t.equal(Buffer.from('aaaa').indexOf('你好', 'ucs2'), -1)
|
||||
|
||||
// Haystack has odd length, but the needle is UCS2.
|
||||
t.equal(Buffer.from('aaaaa').indexOf('b', 'ucs2'), -1)
|
||||
|
||||
{
|
||||
// Find substrings in Utf8.
|
||||
const lengths = [1, 3, 15] // Single char, simple and complex.
|
||||
const indices = [0x5, 0x60, 0x400, 0x680, 0x7ee, 0xFF02, 0x16610, 0x2f77b]
|
||||
for (let lengthIndex = 0; lengthIndex < lengths.length; lengthIndex++) {
|
||||
for (let i = 0; i < indices.length; i++) {
|
||||
const index = indices[i]
|
||||
let length = lengths[lengthIndex]
|
||||
|
||||
if (index + length > 0x7F) {
|
||||
length = 2 * length
|
||||
}
|
||||
|
||||
if (index + length > 0x7FF) {
|
||||
length = 3 * length
|
||||
}
|
||||
|
||||
if (index + length > 0xFFFF) {
|
||||
length = 4 * length
|
||||
}
|
||||
|
||||
const patternBufferUtf8 = allCharsBufferUtf8.slice(index, index + length)
|
||||
t.equal(index, allCharsBufferUtf8.indexOf(patternBufferUtf8))
|
||||
|
||||
const patternStringUtf8 = patternBufferUtf8.toString()
|
||||
t.equal(index, allCharsBufferUtf8.indexOf(patternStringUtf8))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
// Find substrings in Usc2.
|
||||
const lengths = [2, 4, 16] // Single char, simple and complex.
|
||||
const indices = [0x5, 0x65, 0x105, 0x205, 0x285, 0x2005, 0x2085, 0xfff0]
|
||||
|
||||
for (let lengthIndex = 0; lengthIndex < lengths.length; lengthIndex++) {
|
||||
for (let i = 0; i < indices.length; i++) {
|
||||
const index = indices[i] * 2
|
||||
const length = lengths[lengthIndex]
|
||||
|
||||
const patternBufferUcs2 =
|
||||
allCharsBufferUcs2.slice(index, index + length)
|
||||
t.equal(
|
||||
index, allCharsBufferUcs2.indexOf(patternBufferUcs2, 0, 'ucs2'))
|
||||
|
||||
const patternStringUcs2 = patternBufferUcs2.toString('ucs2')
|
||||
t.equal(
|
||||
index, allCharsBufferUcs2.indexOf(patternStringUcs2, 0, 'ucs2'))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[
|
||||
() => {},
|
||||
{},
|
||||
[]
|
||||
].forEach((val) => {
|
||||
t.throws(() => b.indexOf(val), TypeError, `"${JSON.stringify(val)}" should throw`)
|
||||
})
|
||||
|
||||
// Test weird offset arguments.
|
||||
// The following offsets coerce to NaN or 0, searching the whole Buffer
|
||||
t.equal(b.indexOf('b', undefined), 1)
|
||||
t.equal(b.indexOf('b', {}), 1)
|
||||
t.equal(b.indexOf('b', 0), 1)
|
||||
t.equal(b.indexOf('b', null), 1)
|
||||
t.equal(b.indexOf('b', []), 1)
|
||||
|
||||
// The following offset coerces to 2, in other words +[2] === 2
|
||||
t.equal(b.indexOf('b', [2]), -1)
|
||||
|
||||
// Behavior should match String.indexOf()
|
||||
t.equal(
|
||||
b.indexOf('b', undefined),
|
||||
stringComparison.indexOf('b', undefined))
|
||||
t.equal(
|
||||
b.indexOf('b', {}),
|
||||
stringComparison.indexOf('b', {}))
|
||||
t.equal(
|
||||
b.indexOf('b', 0),
|
||||
stringComparison.indexOf('b', 0))
|
||||
t.equal(
|
||||
b.indexOf('b', null),
|
||||
stringComparison.indexOf('b', null))
|
||||
t.equal(
|
||||
b.indexOf('b', []),
|
||||
stringComparison.indexOf('b', []))
|
||||
t.equal(
|
||||
b.indexOf('b', [2]),
|
||||
stringComparison.indexOf('b', [2]))
|
||||
|
||||
// test truncation of Number arguments to uint8
|
||||
{
|
||||
const buf = Buffer.from('this is a test')
|
||||
|
||||
t.equal(buf.indexOf(0x6973), 3)
|
||||
t.equal(buf.indexOf(0x697320), 4)
|
||||
t.equal(buf.indexOf(0x69732069), 2)
|
||||
t.equal(buf.indexOf(0x697374657374), 0)
|
||||
t.equal(buf.indexOf(0x69737374), 0)
|
||||
t.equal(buf.indexOf(0x69737465), 11)
|
||||
t.equal(buf.indexOf(0x69737465), 11)
|
||||
t.equal(buf.indexOf(-140), 0)
|
||||
t.equal(buf.indexOf(-152), 1)
|
||||
t.equal(buf.indexOf(0xff), -1)
|
||||
t.equal(buf.indexOf(0xffff), -1)
|
||||
}
|
||||
|
||||
// Test that Uint8Array arguments are okay.
|
||||
{
|
||||
const needle = new Uint8Array([0x66, 0x6f, 0x6f])
|
||||
const haystack = new BufferList(Buffer.from('a foo b foo'))
|
||||
t.equal(haystack.indexOf(needle), 2)
|
||||
}
|
||||
|
||||
t.end()
|
||||
})
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00897,"35":0,"36":0,"37":0,"38":0,"39":0.00449,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00897,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.00449,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00449,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0.00449,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0.00449,"100":0,"101":0,"102":0.02243,"103":0.00449,"104":0.00449,"105":0.00449,"106":0.00449,"107":0.00897,"108":0.01794,"109":0.45309,"110":0.30505,"111":0.00449,"112":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00897,"30":0,"31":0,"32":0,"33":0,"34":0.00897,"35":0,"36":0,"37":0,"38":0.0314,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00449,"48":0,"49":0.01794,"50":0,"51":0,"52":0,"53":0.02692,"54":0,"55":0.02243,"56":0.00449,"57":0,"58":0.00897,"59":0,"60":0,"61":0,"62":0.00449,"63":0,"64":0,"65":0.00449,"66":0,"67":0.00449,"68":0,"69":0.00449,"70":0.00449,"71":0.00449,"72":0.00449,"73":0.00449,"74":0.01346,"75":0.00897,"76":0.00449,"77":0.00449,"78":0.00449,"79":0.15701,"80":0.00449,"81":0.02243,"83":0.01346,"84":0.01346,"85":0.01346,"86":0.02243,"87":0.04037,"88":0.01794,"89":0.00897,"90":0.00897,"91":0.02692,"92":0.13009,"93":0.00449,"94":0.00897,"95":0.00897,"96":0.01346,"97":0.02692,"98":0.02692,"99":0.02243,"100":0.02243,"101":0.01346,"102":0.02692,"103":0.07178,"104":0.02692,"105":0.0314,"106":0.02692,"107":0.09421,"108":0.24673,"109":8.17798,"110":4.78656,"111":0.00897,"112":0.00449,"113":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.02243,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.02243,"37":0.00449,"38":0,"39":0,"40":0.00449,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.0314,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0.00449,"65":0,"66":0.00449,"67":0.04935,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0.01794,"94":0.15252,"95":0.08523,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0.00449,"107":0.00449,"108":0.02243,"109":0.54281,"110":0.65944},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00897,"14":0.04037,"15":0.01346,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00449,"13.1":0.03589,"14.1":0.12112,"15.1":0.02243,"15.2-15.3":0.01794,"15.4":0.05383,"15.5":0.11664,"15.6":0.45757,"16.0":0.03589,"16.1":0.16598,"16.2":0.37234,"16.3":0.20636,"16.4":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01155,"6.0-6.1":0.01155,"7.0-7.1":0.03235,"8.1-8.4":0.04622,"9.0-9.2":0.01618,"9.3":0.25419,"10.0-10.2":0.01618,"10.3":0.59851,"11.0-11.2":0.01849,"11.3-11.4":0.01387,"12.0-12.1":0.03004,"12.2-12.5":0.65859,"13.0-13.1":0.01618,"13.2":0.00924,"13.3":0.03466,"13.4-13.7":0.10861,"14.0-14.4":0.32583,"14.5-14.8":0.56847,"15.0-15.1":0.23108,"15.2-15.3":0.23339,"15.4":0.44137,"15.5":0.6609,"15.6":1.73544,"16.0":2.79611,"16.1":4.24038,"16.2":5.40042,"16.3":3.06648,"16.4":0.00924},P:{"4":0.71184,"20":0.6595,"5.0-5.4":0.0314,"6.2-6.4":0,"7.2-7.4":0.04187,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0.0314,"12.0":0.01047,"13.0":0.01047,"14.0":0.02094,"15.0":0.0314,"16.0":0.04187,"17.0":0.04187,"18.0":0.06281,"19.0":1.0887},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.0065,"4.4":0,"4.4.3-4.4.4":0.07145},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0628,"5.5":0},N:{"10":0,"11":0},S:{"2.5":0,_:"3.0-3.1"},J:{"7":0,"10":0},O:{"0":0.96495},H:{"0":0.53769},L:{"0":53.04331},R:{_:"0"},M:{"0":0.15439},Q:{"13.1":0.00551}};
|
||||
@@ -0,0 +1 @@
|
||||
export declare function camelCase(str: string): string;
|
||||
@@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Returns true iff the domain of hostname matches.
|
||||
*
|
||||
* Examples:
|
||||
*
|
||||
* ``` js
|
||||
* dnsDomainIs("www.netscape.com", ".netscape.com")
|
||||
* // is true.
|
||||
*
|
||||
* dnsDomainIs("www", ".netscape.com")
|
||||
* // is false.
|
||||
*
|
||||
* dnsDomainIs("www.mcom.com", ".netscape.com")
|
||||
* // is false.
|
||||
* ```
|
||||
*
|
||||
*
|
||||
* @param {String} host is the hostname from the URL.
|
||||
* @param {String} domain is the domain name to test the hostname against.
|
||||
* @return {Boolean} true iff the domain of the hostname matches.
|
||||
*/
|
||||
export default function dnsDomainIs(host: string, domain: string): boolean;
|
||||
@@ -0,0 +1,102 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for csv2json/libs/interfaces/cli/index.js</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../../base.css" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1>
|
||||
<a href="../../../../index.html">All files</a> / <a href="index.html">csv2json/libs/interfaces/cli</a> index.js
|
||||
</h1>
|
||||
<div class='clearfix'>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">100% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/0</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">100% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/0</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">0</span>
|
||||
<span class="cline-any cline-no">0</span>
|
||||
<span class="cline-any cline-no">0</span>
|
||||
<span class="cline-any cline-no">0</span>
|
||||
<span class="cline-any cline-no">0</span>
|
||||
<span class="cline-any cline-no">0</span>
|
||||
<span class="cline-any cline-no">0</span>
|
||||
<span class="cline-any cline-no">0</span>
|
||||
<span class="cline-any cline-no">0</span>
|
||||
<span class="cline-any cline-no">0</span>
|
||||
<span class="cline-any cline-no">0</span>
|
||||
<span class="cline-any cline-no">0</span></td><td class="text"><pre class="prettyprint lang-js">Unable to lookup source: /Users/kxiang/work/projects/csv2json/libs/interfaces/cli/index.js(ENOENT: no such file or directory, open '/Users/kxiang/work/projects/csv2json/libs/interfaces/cli/index.js')
|
||||
Error: Unable to lookup source: /Users/kxiang/work/projects/csv2json/libs/interfaces/cli/index.js(ENOENT: no such file or directory, open '/Users/kxiang/work/projects/csv2json/libs/interfaces/cli/index.js')
|
||||
at Context.defaultSourceLookup [as sourceFinder] (/Users/kxiang/work/projects/csv2json/node_modules/nyc/node_modules/istanbul-lib-report/lib/context.js:15:15)
|
||||
at Context.getSource (/Users/kxiang/work/projects/csv2json/node_modules/nyc/node_modules/istanbul-lib-report/lib/context.js:74:17)
|
||||
at Object.annotateSourceCode (/Users/kxiang/work/projects/csv2json/node_modules/nyc/node_modules/istanbul-reports/lib/html/annotator.js:172:38)
|
||||
at HtmlReport.onDetail (/Users/kxiang/work/projects/csv2json/node_modules/nyc/node_modules/istanbul-reports/lib/html/index.js:237:39)
|
||||
at Visitor.(anonymous function) [as onDetail] (/Users/kxiang/work/projects/csv2json/node_modules/nyc/node_modules/istanbul-lib-report/lib/tree.js:34:30)
|
||||
at ReportNode.Node.visit (/Users/kxiang/work/projects/csv2json/node_modules/nyc/node_modules/istanbul-lib-report/lib/tree.js:123:17)
|
||||
at /Users/kxiang/work/projects/csv2json/node_modules/nyc/node_modules/istanbul-lib-report/lib/tree.js:116:23
|
||||
at Array.forEach (native)
|
||||
at visitChildren (/Users/kxiang/work/projects/csv2json/node_modules/nyc/node_modules/istanbul-lib-report/lib/tree.js:115:32)
|
||||
at ReportNode.Node.visit (/Users/kxiang/work/projects/csv2json/node_modules/nyc/node_modules/istanbul-lib-report/lib/tree.js:126:5)</pre></td></tr>
|
||||
</table></pre>
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage
|
||||
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Fri May 11 2018 21:36:07 GMT+0100 (IST)
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../../../sorter.js"></script>
|
||||
<script src="../../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,27 @@
|
||||
import { innerFrom } from '../observable/innerFrom';
|
||||
import { createOperatorSubscriber } from './OperatorSubscriber';
|
||||
import { operate } from '../util/lift';
|
||||
export function catchError(selector) {
|
||||
return operate((source, subscriber) => {
|
||||
let innerSub = null;
|
||||
let syncUnsub = false;
|
||||
let handledResult;
|
||||
innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, (err) => {
|
||||
handledResult = innerFrom(selector(err, catchError(selector)(source)));
|
||||
if (innerSub) {
|
||||
innerSub.unsubscribe();
|
||||
innerSub = null;
|
||||
handledResult.subscribe(subscriber);
|
||||
}
|
||||
else {
|
||||
syncUnsub = true;
|
||||
}
|
||||
}));
|
||||
if (syncUnsub) {
|
||||
innerSub.unsubscribe();
|
||||
innerSub = null;
|
||||
handledResult.subscribe(subscriber);
|
||||
}
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=catchError.js.map
|
||||
@@ -0,0 +1,12 @@
|
||||
let postcss = require('postcss')
|
||||
|
||||
let processResult = require('./process-result')
|
||||
let parse = require('./parser')
|
||||
|
||||
module.exports = function (plugins) {
|
||||
let processor = postcss(plugins)
|
||||
return input => {
|
||||
let result = processor.process(input, { parser: parse, from: undefined })
|
||||
return processResult(result)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"bufferTime.d.ts","sourceRoot":"","sources":["../../../../src/internal/operators/bufferTime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAS3D,wBAAgB,UAAU,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3G,wBAAgB,UAAU,CAAC,CAAC,EAC1B,cAAc,EAAE,MAAM,EACtB,sBAAsB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjD,SAAS,CAAC,EAAE,aAAa,GACxB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5B,wBAAgB,UAAU,CAAC,CAAC,EAC1B,cAAc,EAAE,MAAM,EACtB,sBAAsB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjD,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,aAAa,GACxB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC"}
|
||||
@@ -0,0 +1,133 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.cosmiconfig = cosmiconfig;
|
||||
exports.cosmiconfigSync = cosmiconfigSync;
|
||||
exports.metaSearchPlaces = exports.defaultLoaders = void 0;
|
||||
|
||||
var _os = _interopRequireDefault(require("os"));
|
||||
|
||||
var _Explorer = require("./Explorer");
|
||||
|
||||
var _ExplorerSync = require("./ExplorerSync");
|
||||
|
||||
var _loaders = require("./loaders");
|
||||
|
||||
var _types = require("./types");
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||
// this needs to be hardcoded, as this is intended for end users, who can't supply options at this point
|
||||
const metaSearchPlaces = ['package.json', '.config.json', '.config.yaml', '.config.yml', '.config.js', '.config.cjs']; // do not allow mutation of default loaders. Make sure it is set inside options
|
||||
|
||||
exports.metaSearchPlaces = metaSearchPlaces;
|
||||
const defaultLoaders = Object.freeze({
|
||||
'.cjs': _loaders.loaders.loadJs,
|
||||
'.js': _loaders.loaders.loadJs,
|
||||
'.json': _loaders.loaders.loadJson,
|
||||
'.yaml': _loaders.loaders.loadYaml,
|
||||
'.yml': _loaders.loaders.loadYaml,
|
||||
noExt: _loaders.loaders.loadYaml
|
||||
});
|
||||
exports.defaultLoaders = defaultLoaders;
|
||||
|
||||
const identity = function identity(x) {
|
||||
return x;
|
||||
};
|
||||
|
||||
function replaceMetaPlaceholders(paths, moduleName) {
|
||||
return paths.map(path => path.replace('{name}', moduleName));
|
||||
}
|
||||
|
||||
function getExplorerOptions(moduleName, options) {
|
||||
const metaExplorer = new _ExplorerSync.ExplorerSync({
|
||||
packageProp: 'cosmiconfig',
|
||||
stopDir: process.cwd(),
|
||||
searchPlaces: metaSearchPlaces,
|
||||
ignoreEmptySearchPlaces: false,
|
||||
usePackagePropInConfigFiles: true,
|
||||
loaders: defaultLoaders,
|
||||
transform: identity,
|
||||
cache: true,
|
||||
metaConfigFilePath: null
|
||||
});
|
||||
const metaConfig = metaExplorer.searchSync();
|
||||
|
||||
if (!metaConfig) {
|
||||
return normalizeOptions(moduleName, options);
|
||||
}
|
||||
|
||||
const config = metaConfig.config ?? {};
|
||||
|
||||
if (config.loaders) {
|
||||
throw new Error('Can not specify loaders in meta config file');
|
||||
}
|
||||
|
||||
if (config.searchPlaces) {
|
||||
config.searchPlaces = replaceMetaPlaceholders(config.searchPlaces, moduleName);
|
||||
}
|
||||
|
||||
config.metaConfigFilePath = metaConfig.filepath;
|
||||
return normalizeOptions(moduleName, config, false);
|
||||
}
|
||||
|
||||
function cosmiconfig(moduleName, options = {}) {
|
||||
const normalizedOptions = getExplorerOptions(moduleName, options);
|
||||
const explorer = new _Explorer.Explorer(normalizedOptions);
|
||||
return {
|
||||
search: explorer.search.bind(explorer),
|
||||
load: explorer.load.bind(explorer),
|
||||
clearLoadCache: explorer.clearLoadCache.bind(explorer),
|
||||
clearSearchCache: explorer.clearSearchCache.bind(explorer),
|
||||
clearCaches: explorer.clearCaches.bind(explorer)
|
||||
};
|
||||
} // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
||||
|
||||
|
||||
function cosmiconfigSync(moduleName, options = {}) {
|
||||
const normalizedOptions = getExplorerOptions(moduleName, options);
|
||||
const explorerSync = new _ExplorerSync.ExplorerSync(normalizedOptions);
|
||||
return {
|
||||
search: explorerSync.searchSync.bind(explorerSync),
|
||||
load: explorerSync.loadSync.bind(explorerSync),
|
||||
clearLoadCache: explorerSync.clearLoadCache.bind(explorerSync),
|
||||
clearSearchCache: explorerSync.clearSearchCache.bind(explorerSync),
|
||||
clearCaches: explorerSync.clearCaches.bind(explorerSync)
|
||||
};
|
||||
}
|
||||
|
||||
function normalizeOptions(moduleName, options, mergeLoaders = true) {
|
||||
const defaults = {
|
||||
packageProp: moduleName,
|
||||
searchPlaces: ['package.json', `.${moduleName}rc`, `.${moduleName}rc.json`, `.${moduleName}rc.yaml`, `.${moduleName}rc.yml`, `.${moduleName}rc.js`, `.${moduleName}rc.cjs`, `.config/${moduleName}rc`, `.config/${moduleName}rc.json`, `.config/${moduleName}rc.yaml`, `.config/${moduleName}rc.yml`, `.config/${moduleName}rc.js`, `.config/${moduleName}rc.cjs`, `${moduleName}.config.js`, `${moduleName}.config.cjs`],
|
||||
ignoreEmptySearchPlaces: true,
|
||||
stopDir: _os.default.homedir(),
|
||||
cache: true,
|
||||
transform: identity,
|
||||
loaders: defaultLoaders,
|
||||
metaConfigFilePath: null
|
||||
};
|
||||
let loaders = { ...defaults.loaders
|
||||
};
|
||||
|
||||
if (options.loaders) {
|
||||
// to be used for the upcoming loaders-in-config
|
||||
|
||||
/* istanbul ignore next */
|
||||
if (mergeLoaders) {
|
||||
Object.assign(loaders, options.loaders);
|
||||
} else {
|
||||
loaders = { ...options.loaders
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return { ...defaults,
|
||||
...options,
|
||||
loaders
|
||||
};
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"BestAvailableLocale.d.ts","sourceRoot":"","sources":["../../../../../../../packages/intl-localematcher/abstract/BestAvailableLocale.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,MAAM,EAAE,MAAM,sBAgBf"}
|
||||
@@ -0,0 +1,34 @@
|
||||
import type { PreprocessorGroup, Processed, TransformerArgs, TransformerOptions, Options } from './types';
|
||||
declare type AutoPreprocessGroup = PreprocessorGroup & {
|
||||
defaultLanguages: Readonly<{
|
||||
markup: string;
|
||||
style: string;
|
||||
script: string;
|
||||
}>;
|
||||
};
|
||||
declare type AutoPreprocessOptions = {
|
||||
markupTagName?: string;
|
||||
aliases?: Array<[string, string]>;
|
||||
preserve?: string[];
|
||||
defaults?: {
|
||||
markup?: string;
|
||||
style?: string;
|
||||
script?: string;
|
||||
};
|
||||
sourceMap?: boolean;
|
||||
babel?: TransformerOptions<Options.Babel>;
|
||||
typescript?: TransformerOptions<Options.Typescript>;
|
||||
scss?: TransformerOptions<Options.Sass>;
|
||||
sass?: TransformerOptions<Options.Sass>;
|
||||
less?: TransformerOptions<Options.Less>;
|
||||
stylus?: TransformerOptions<Options.Stylus>;
|
||||
postcss?: TransformerOptions<Options.Postcss>;
|
||||
coffeescript?: TransformerOptions<Options.Coffeescript>;
|
||||
pug?: TransformerOptions<Options.Pug>;
|
||||
globalStyle?: Options.GlobalStyle | boolean;
|
||||
replace?: Options.Replace;
|
||||
[languageName: string]: TransformerOptions;
|
||||
};
|
||||
export declare const transform: (name: string, options: TransformerOptions, { content, map, filename, attributes }: TransformerArgs<any>) => Promise<Processed>;
|
||||
export declare function sveltePreprocess({ aliases, markupTagName, preserve, defaults, sourceMap, ...rest }?: AutoPreprocessOptions): AutoPreprocessGroup;
|
||||
export {};
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"J D E F A B CC"},B:{"1":"P Q R S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O w g x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB uB ZB vB aB bB cB dB eB fB gB hB iB jB kB h lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H xB yB","2":"DC tB I v J D E F A EC FC","33":"B C K L G"},D:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB uB ZB vB aB bB cB dB eB fB gB hB iB jB kB h lB mB nB oB pB P Q R S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H xB yB GC","2":"0 1 2 3 4 5 I v J D E F A B C K L G M N O w g x y z"},E:{"2":"I v J D E F A B C K L G HC zB IC JC KC LC 0B qB rB 1B MC NC 2B 3B 4B 5B sB 6B 7B 8B 9B OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O w g x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB h lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d e","2":"F B C G M PC QC RC SC qB AC TC rB"},G:{"2":"E zB UC BC VC WC XC YC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC 2B 3B 4B 5B sB 6B 7B 8B 9B"},H:{"2":"oC"},I:{"1":"f tC uC","2":"tB I pC qC rC sC BC"},J:{"1":"A","2":"D"},K:{"1":"h","2":"A B C qB AC rB"},L:{"1":"H"},M:{"1":"H"},N:{"2":"A B"},O:{"1":"vC"},P:{"1":"I g wC xC yC zC 0C 0B 1C 2C 3C 4C 5C sB 6C 7C 8C"},Q:{"1":"1B"},R:{"1":"9C"},S:{"1":"AD BD"}},B:2,C:"Vibration API"};
|
||||
@@ -0,0 +1,27 @@
|
||||
var apply = require('./_apply'),
|
||||
arrayMap = require('./_arrayMap'),
|
||||
baseIteratee = require('./_baseIteratee'),
|
||||
baseRest = require('./_baseRest'),
|
||||
baseUnary = require('./_baseUnary'),
|
||||
flatRest = require('./_flatRest');
|
||||
|
||||
/**
|
||||
* Creates a function like `_.over`.
|
||||
*
|
||||
* @private
|
||||
* @param {Function} arrayFunc The function to iterate over iteratees.
|
||||
* @returns {Function} Returns the new over function.
|
||||
*/
|
||||
function createOver(arrayFunc) {
|
||||
return flatRest(function(iteratees) {
|
||||
iteratees = arrayMap(iteratees, baseUnary(baseIteratee));
|
||||
return baseRest(function(args) {
|
||||
var thisArg = this;
|
||||
return arrayFunc(iteratees, function(iteratee) {
|
||||
return apply(iteratee, thisArg, args);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = createOver;
|
||||
@@ -0,0 +1,238 @@
|
||||
import {
|
||||
render as preactRender,
|
||||
hydrate as preactHydrate,
|
||||
options,
|
||||
toChildArray,
|
||||
Component
|
||||
} from 'preact';
|
||||
|
||||
export const REACT_ELEMENT_TYPE =
|
||||
(typeof Symbol != 'undefined' && Symbol.for && Symbol.for('react.element')) ||
|
||||
0xeac7;
|
||||
|
||||
const CAMEL_PROPS = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/;
|
||||
|
||||
const IS_DOM = typeof document !== 'undefined';
|
||||
|
||||
// Input types for which onchange should not be converted to oninput.
|
||||
// type="file|checkbox|radio", plus "range" in IE11.
|
||||
// (IE11 doesn't support Symbol, which we use here to turn `rad` into `ra` which matches "range")
|
||||
const onChangeInputType = type =>
|
||||
(typeof Symbol != 'undefined' && typeof Symbol() == 'symbol'
|
||||
? /fil|che|rad/i
|
||||
: /fil|che|ra/i
|
||||
).test(type);
|
||||
|
||||
// Some libraries like `react-virtualized` explicitly check for this.
|
||||
Component.prototype.isReactComponent = {};
|
||||
|
||||
// `UNSAFE_*` lifecycle hooks
|
||||
// Preact only ever invokes the unprefixed methods.
|
||||
// Here we provide a base "fallback" implementation that calls any defined UNSAFE_ prefixed method.
|
||||
// - If a component defines its own `componentDidMount()` (including via defineProperty), use that.
|
||||
// - If a component defines `UNSAFE_componentDidMount()`, `componentDidMount` is the alias getter/setter.
|
||||
// - If anything assigns to an `UNSAFE_*` property, the assignment is forwarded to the unprefixed property.
|
||||
// See https://github.com/preactjs/preact/issues/1941
|
||||
[
|
||||
'componentWillMount',
|
||||
'componentWillReceiveProps',
|
||||
'componentWillUpdate'
|
||||
].forEach(key => {
|
||||
Object.defineProperty(Component.prototype, key, {
|
||||
configurable: true,
|
||||
get() {
|
||||
return this['UNSAFE_' + key];
|
||||
},
|
||||
set(v) {
|
||||
Object.defineProperty(this, key, {
|
||||
configurable: true,
|
||||
writable: true,
|
||||
value: v
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* Proxy render() since React returns a Component reference.
|
||||
* @param {import('./internal').VNode} vnode VNode tree to render
|
||||
* @param {import('./internal').PreactElement} parent DOM node to render vnode tree into
|
||||
* @param {() => void} [callback] Optional callback that will be called after rendering
|
||||
* @returns {import('./internal').Component | null} The root component reference or null
|
||||
*/
|
||||
export function render(vnode, parent, callback) {
|
||||
// React destroys any existing DOM nodes, see #1727
|
||||
// ...but only on the first render, see #1828
|
||||
if (parent._children == null) {
|
||||
parent.textContent = '';
|
||||
}
|
||||
|
||||
preactRender(vnode, parent);
|
||||
if (typeof callback == 'function') callback();
|
||||
|
||||
return vnode ? vnode._component : null;
|
||||
}
|
||||
|
||||
export function hydrate(vnode, parent, callback) {
|
||||
preactHydrate(vnode, parent);
|
||||
if (typeof callback == 'function') callback();
|
||||
|
||||
return vnode ? vnode._component : null;
|
||||
}
|
||||
|
||||
let oldEventHook = options.event;
|
||||
options.event = e => {
|
||||
if (oldEventHook) e = oldEventHook(e);
|
||||
e.persist = empty;
|
||||
e.isPropagationStopped = isPropagationStopped;
|
||||
e.isDefaultPrevented = isDefaultPrevented;
|
||||
return (e.nativeEvent = e);
|
||||
};
|
||||
|
||||
function empty() {}
|
||||
|
||||
function isPropagationStopped() {
|
||||
return this.cancelBubble;
|
||||
}
|
||||
|
||||
function isDefaultPrevented() {
|
||||
return this.defaultPrevented;
|
||||
}
|
||||
|
||||
let classNameDescriptor = {
|
||||
configurable: true,
|
||||
get() {
|
||||
return this.class;
|
||||
}
|
||||
};
|
||||
|
||||
let oldVNodeHook = options.vnode;
|
||||
options.vnode = vnode => {
|
||||
let type = vnode.type;
|
||||
let props = vnode.props;
|
||||
let normalizedProps = props;
|
||||
|
||||
// only normalize props on Element nodes
|
||||
if (typeof type === 'string') {
|
||||
const nonCustomElement = type.indexOf('-') === -1;
|
||||
normalizedProps = {};
|
||||
|
||||
for (let i in props) {
|
||||
let value = props[i];
|
||||
|
||||
if (IS_DOM && i === 'children' && type === 'noscript') {
|
||||
// Emulate React's behavior of not rendering the contents of noscript tags on the client.
|
||||
continue;
|
||||
} else if (i === 'value' && 'defaultValue' in props && value == null) {
|
||||
// Skip applying value if it is null/undefined and we already set
|
||||
// a default value
|
||||
continue;
|
||||
} else if (
|
||||
i === 'defaultValue' &&
|
||||
'value' in props &&
|
||||
props.value == null
|
||||
) {
|
||||
// `defaultValue` is treated as a fallback `value` when a value prop is present but null/undefined.
|
||||
// `defaultValue` for Elements with no value prop is the same as the DOM defaultValue property.
|
||||
i = 'value';
|
||||
} else if (i === 'download' && value === true) {
|
||||
// Calling `setAttribute` with a truthy value will lead to it being
|
||||
// passed as a stringified value, e.g. `download="true"`. React
|
||||
// converts it to an empty string instead, otherwise the attribute
|
||||
// value will be used as the file name and the file will be called
|
||||
// "true" upon downloading it.
|
||||
value = '';
|
||||
} else if (/ondoubleclick/i.test(i)) {
|
||||
i = 'ondblclick';
|
||||
} else if (
|
||||
/^onchange(textarea|input)/i.test(i + type) &&
|
||||
!onChangeInputType(props.type)
|
||||
) {
|
||||
i = 'oninput';
|
||||
} else if (/^onfocus$/i.test(i)) {
|
||||
i = 'onfocusin';
|
||||
} else if (/^onblur$/i.test(i)) {
|
||||
i = 'onfocusout';
|
||||
} else if (/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(i)) {
|
||||
i = i.toLowerCase();
|
||||
} else if (nonCustomElement && CAMEL_PROPS.test(i)) {
|
||||
i = i.replace(/[A-Z0-9]/g, '-$&').toLowerCase();
|
||||
} else if (value === null) {
|
||||
value = undefined;
|
||||
}
|
||||
|
||||
// Add support for onInput and onChange, see #3561
|
||||
// if we have an oninput prop already change it to oninputCapture
|
||||
if (/^oninput$/i.test(i)) {
|
||||
i = i.toLowerCase();
|
||||
if (normalizedProps[i]) {
|
||||
i = 'oninputCapture';
|
||||
}
|
||||
}
|
||||
|
||||
normalizedProps[i] = value;
|
||||
}
|
||||
|
||||
// Add support for array select values: <select multiple value={[]} />
|
||||
if (
|
||||
type == 'select' &&
|
||||
normalizedProps.multiple &&
|
||||
Array.isArray(normalizedProps.value)
|
||||
) {
|
||||
// forEach() always returns undefined, which we abuse here to unset the value prop.
|
||||
normalizedProps.value = toChildArray(props.children).forEach(child => {
|
||||
child.props.selected =
|
||||
normalizedProps.value.indexOf(child.props.value) != -1;
|
||||
});
|
||||
}
|
||||
|
||||
// Adding support for defaultValue in select tag
|
||||
if (type == 'select' && normalizedProps.defaultValue != null) {
|
||||
normalizedProps.value = toChildArray(props.children).forEach(child => {
|
||||
if (normalizedProps.multiple) {
|
||||
child.props.selected =
|
||||
normalizedProps.defaultValue.indexOf(child.props.value) != -1;
|
||||
} else {
|
||||
child.props.selected =
|
||||
normalizedProps.defaultValue == child.props.value;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
vnode.props = normalizedProps;
|
||||
|
||||
if (props.class != props.className) {
|
||||
classNameDescriptor.enumerable = 'className' in props;
|
||||
if (props.className != null) normalizedProps.class = props.className;
|
||||
Object.defineProperty(normalizedProps, 'className', classNameDescriptor);
|
||||
}
|
||||
}
|
||||
|
||||
vnode.$$typeof = REACT_ELEMENT_TYPE;
|
||||
|
||||
if (oldVNodeHook) oldVNodeHook(vnode);
|
||||
};
|
||||
|
||||
// Only needed for react-relay
|
||||
let currentComponent;
|
||||
const oldBeforeRender = options._render;
|
||||
options._render = function(vnode) {
|
||||
if (oldBeforeRender) {
|
||||
oldBeforeRender(vnode);
|
||||
}
|
||||
currentComponent = vnode._component;
|
||||
};
|
||||
|
||||
// This is a very very private internal function for React it
|
||||
// is used to sort-of do runtime dependency injection. So far
|
||||
// only `react-relay` makes use of it. It uses it to read the
|
||||
// context value.
|
||||
export const __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = {
|
||||
ReactCurrentDispatcher: {
|
||||
current: {
|
||||
readContext(context) {
|
||||
return currentComponent._globalContext[context._id].props.value;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,417 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for csv2json/libs/core/parser.js</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1>
|
||||
<a href="../../../index.html">All files</a> / <a href="index.html">csv2json/libs/core</a> parser.js
|
||||
</h1>
|
||||
<div class='clearfix'>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/72</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/49</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/10</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/72</span>
|
||||
</div>
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a>
|
||||
<a name='L22'></a><a href='#L22'>22</a>
|
||||
<a name='L23'></a><a href='#L23'>23</a>
|
||||
<a name='L24'></a><a href='#L24'>24</a>
|
||||
<a name='L25'></a><a href='#L25'>25</a>
|
||||
<a name='L26'></a><a href='#L26'>26</a>
|
||||
<a name='L27'></a><a href='#L27'>27</a>
|
||||
<a name='L28'></a><a href='#L28'>28</a>
|
||||
<a name='L29'></a><a href='#L29'>29</a>
|
||||
<a name='L30'></a><a href='#L30'>30</a>
|
||||
<a name='L31'></a><a href='#L31'>31</a>
|
||||
<a name='L32'></a><a href='#L32'>32</a>
|
||||
<a name='L33'></a><a href='#L33'>33</a>
|
||||
<a name='L34'></a><a href='#L34'>34</a>
|
||||
<a name='L35'></a><a href='#L35'>35</a>
|
||||
<a name='L36'></a><a href='#L36'>36</a>
|
||||
<a name='L37'></a><a href='#L37'>37</a>
|
||||
<a name='L38'></a><a href='#L38'>38</a>
|
||||
<a name='L39'></a><a href='#L39'>39</a>
|
||||
<a name='L40'></a><a href='#L40'>40</a>
|
||||
<a name='L41'></a><a href='#L41'>41</a>
|
||||
<a name='L42'></a><a href='#L42'>42</a>
|
||||
<a name='L43'></a><a href='#L43'>43</a>
|
||||
<a name='L44'></a><a href='#L44'>44</a>
|
||||
<a name='L45'></a><a href='#L45'>45</a>
|
||||
<a name='L46'></a><a href='#L46'>46</a>
|
||||
<a name='L47'></a><a href='#L47'>47</a>
|
||||
<a name='L48'></a><a href='#L48'>48</a>
|
||||
<a name='L49'></a><a href='#L49'>49</a>
|
||||
<a name='L50'></a><a href='#L50'>50</a>
|
||||
<a name='L51'></a><a href='#L51'>51</a>
|
||||
<a name='L52'></a><a href='#L52'>52</a>
|
||||
<a name='L53'></a><a href='#L53'>53</a>
|
||||
<a name='L54'></a><a href='#L54'>54</a>
|
||||
<a name='L55'></a><a href='#L55'>55</a>
|
||||
<a name='L56'></a><a href='#L56'>56</a>
|
||||
<a name='L57'></a><a href='#L57'>57</a>
|
||||
<a name='L58'></a><a href='#L58'>58</a>
|
||||
<a name='L59'></a><a href='#L59'>59</a>
|
||||
<a name='L60'></a><a href='#L60'>60</a>
|
||||
<a name='L61'></a><a href='#L61'>61</a>
|
||||
<a name='L62'></a><a href='#L62'>62</a>
|
||||
<a name='L63'></a><a href='#L63'>63</a>
|
||||
<a name='L64'></a><a href='#L64'>64</a>
|
||||
<a name='L65'></a><a href='#L65'>65</a>
|
||||
<a name='L66'></a><a href='#L66'>66</a>
|
||||
<a name='L67'></a><a href='#L67'>67</a>
|
||||
<a name='L68'></a><a href='#L68'>68</a>
|
||||
<a name='L69'></a><a href='#L69'>69</a>
|
||||
<a name='L70'></a><a href='#L70'>70</a>
|
||||
<a name='L71'></a><a href='#L71'>71</a>
|
||||
<a name='L72'></a><a href='#L72'>72</a>
|
||||
<a name='L73'></a><a href='#L73'>73</a>
|
||||
<a name='L74'></a><a href='#L74'>74</a>
|
||||
<a name='L75'></a><a href='#L75'>75</a>
|
||||
<a name='L76'></a><a href='#L76'>76</a>
|
||||
<a name='L77'></a><a href='#L77'>77</a>
|
||||
<a name='L78'></a><a href='#L78'>78</a>
|
||||
<a name='L79'></a><a href='#L79'>79</a>
|
||||
<a name='L80'></a><a href='#L80'>80</a>
|
||||
<a name='L81'></a><a href='#L81'>81</a>
|
||||
<a name='L82'></a><a href='#L82'>82</a>
|
||||
<a name='L83'></a><a href='#L83'>83</a>
|
||||
<a name='L84'></a><a href='#L84'>84</a>
|
||||
<a name='L85'></a><a href='#L85'>85</a>
|
||||
<a name='L86'></a><a href='#L86'>86</a>
|
||||
<a name='L87'></a><a href='#L87'>87</a>
|
||||
<a name='L88'></a><a href='#L88'>88</a>
|
||||
<a name='L89'></a><a href='#L89'>89</a>
|
||||
<a name='L90'></a><a href='#L90'>90</a>
|
||||
<a name='L91'></a><a href='#L91'>91</a>
|
||||
<a name='L92'></a><a href='#L92'>92</a>
|
||||
<a name='L93'></a><a href='#L93'>93</a>
|
||||
<a name='L94'></a><a href='#L94'>94</a>
|
||||
<a name='L95'></a><a href='#L95'>95</a>
|
||||
<a name='L96'></a><a href='#L96'>96</a>
|
||||
<a name='L97'></a><a href='#L97'>97</a>
|
||||
<a name='L98'></a><a href='#L98'>98</a>
|
||||
<a name='L99'></a><a href='#L99'>99</a>
|
||||
<a name='L100'></a><a href='#L100'>100</a>
|
||||
<a name='L101'></a><a href='#L101'>101</a>
|
||||
<a name='L102'></a><a href='#L102'>102</a>
|
||||
<a name='L103'></a><a href='#L103'>103</a>
|
||||
<a name='L104'></a><a href='#L104'>104</a>
|
||||
<a name='L105'></a><a href='#L105'>105</a>
|
||||
<a name='L106'></a><a href='#L106'>106</a>
|
||||
<a name='L107'></a><a href='#L107'>107</a>
|
||||
<a name='L108'></a><a href='#L108'>108</a>
|
||||
<a name='L109'></a><a href='#L109'>109</a>
|
||||
<a name='L110'></a><a href='#L110'>110</a>
|
||||
<a name='L111'></a><a href='#L111'>111</a>
|
||||
<a name='L112'></a><a href='#L112'>112</a>
|
||||
<a name='L113'></a><a href='#L113'>113</a>
|
||||
<a name='L114'></a><a href='#L114'>114</a>
|
||||
<a name='L115'></a><a href='#L115'>115</a>
|
||||
<a name='L116'></a><a href='#L116'>116</a>
|
||||
<a name='L117'></a><a href='#L117'>117</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">var explicitTypes = <span class="cstat-no" title="statement not covered" >["number", "string"];</span>
|
||||
|
||||
function <span class="fstat-no" title="function not covered" >Parser(</span>name, regExp, parser, processSafe) {
|
||||
<span class="cstat-no" title="statement not covered" > this.name = typeof name === "undefined" ? "Default" : name;</span>
|
||||
<span class="cstat-no" title="statement not covered" > this.regExp = null;</span>
|
||||
<span class="cstat-no" title="statement not covered" > this.type = "";</span>
|
||||
<span class="cstat-no" title="statement not covered" > this.processSafe = processSafe;</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (typeof regExp !== "undefined") {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (typeof regExp === "string") {</span>
|
||||
<span class="cstat-no" title="statement not covered" > this.regExp = new RegExp(regExp);</span>
|
||||
} else {
|
||||
<span class="cstat-no" title="statement not covered" > this.regExp = regExp;</span>
|
||||
}
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > if (typeof parser !== "undefined") {</span>
|
||||
<span class="cstat-no" title="statement not covered" > this.parse = parser;</span>
|
||||
}
|
||||
}
|
||||
// var numReg = /^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/;
|
||||
<span class="cstat-no" title="statement not covered" >Parser.prototype.convertType = <span class="fstat-no" title="function not covered" >fu</span>nction(item) {</span>
|
||||
var type=<span class="cstat-no" title="statement not covered" >this.type;</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (type === 'number') {</span>
|
||||
var rtn = <span class="cstat-no" title="statement not covered" >parseFloat(item);</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (isNaN(rtn)) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return 0;</span>
|
||||
} else {
|
||||
<span class="cstat-no" title="statement not covered" > return rtn;</span>
|
||||
}
|
||||
} else <span class="cstat-no" title="statement not covered" >if (this.param && this.param.checkType && type === '') {</span>
|
||||
var trimed = <span class="cstat-no" title="statement not covered" >item.trim();</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (trimed === ""){</span>
|
||||
<span class="cstat-no" title="statement not covered" > return trimed;</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > if (!isNaN(trimed)) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return parseFloat(trimed);</span>
|
||||
} else <span class="cstat-no" title="statement not covered" >if (trimed.length === 5 && trimed.toLowerCase() === "false") {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return false;</span>
|
||||
} else <span class="cstat-no" title="statement not covered" >if (trimed.length === 4 && trimed.toLowerCase() === "true") {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return true;</span>
|
||||
} else <span class="cstat-no" title="statement not covered" >if (trimed[0] === "{" && trimed[trimed.length - 1] === "}" || trimed[0] === "[" && trimed[trimed.length - 1]==="]") {</span>
|
||||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return JSON.parse(trimed);</span>
|
||||
} catch (e) {
|
||||
<span class="cstat-no" title="statement not covered" > return item;</span>
|
||||
}
|
||||
} else {
|
||||
<span class="cstat-no" title="statement not covered" > return item;</span>
|
||||
}
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > return item;</span>
|
||||
};
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >Parser.prototype.setParam = <span class="fstat-no" title="function not covered" >fu</span>nction(param) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > this.param = param;</span>
|
||||
};
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >Parser.prototype.test = <span class="fstat-no" title="function not covered" >fu</span>nction(str) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return this.regExp && this.regExp.test(str);</span>
|
||||
};
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >Parser.prototype.parse = <span class="fstat-no" title="function not covered" >fu</span>nction(params) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > params.resultRow[params.head] = params.item;</span>
|
||||
};
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >Parser.prototype.getHeadStr = <span class="fstat-no" title="function not covered" >fu</span>nction() {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (this.headStr) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return this.headStr;</span>
|
||||
} else {
|
||||
var head = <span class="cstat-no" title="statement not covered" >this.head;</span>
|
||||
<span class="cstat-no" title="statement not covered" > this.headStr = head.replace(this.regExp, '');</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (!this.headStr) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > this.headStr = "Unknown Header";</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > return this.getHeadStr();</span>
|
||||
}
|
||||
};
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >Parser.prototype.getHead = <span class="fstat-no" title="function not covered" >fu</span>nction() {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return this.head;</span>
|
||||
};
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >Parser.prototype.initHead = <span class="fstat-no" title="function not covered" >fu</span>nction(columnTitle) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > this.head = columnTitle;</span>
|
||||
var wholeHead = <span class="cstat-no" title="statement not covered" >columnTitle.replace(this.regExp, '');</span>
|
||||
//init type && headStr
|
||||
var splitArr = <span class="cstat-no" title="statement not covered" >wholeHead.split("#!");</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (splitArr.length === 1) { //no explicit type</span>
|
||||
<span class="cstat-no" title="statement not covered" > this.headStr = splitArr[0];</span>
|
||||
} else {
|
||||
var type = <span class="cstat-no" title="statement not covered" >splitArr.shift();</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (explicitTypes.indexOf(type.toLowerCase()) > -1) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > this.type = type;</span>
|
||||
<span class="cstat-no" title="statement not covered" > this.headStr = splitArr.join("#!");</span>
|
||||
} else { //no explicit type
|
||||
<span class="cstat-no" title="statement not covered" > this.headStr = wholeHead;</span>
|
||||
}
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > if (!this.headStr) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > this.headStr = wholeHead ? wholeHead : "Unknown Head";</span>
|
||||
}
|
||||
};
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >Parser.prototype.clone = <span class="fstat-no" title="function not covered" >fu</span>nction() {</span>
|
||||
var obj = <span class="cstat-no" title="statement not covered" >Object.create(this);</span>
|
||||
var newParser = <span class="cstat-no" title="statement not covered" >new Parser();</span>
|
||||
<span class="cstat-no" title="statement not covered" > for (var key in obj) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > newParser[key] = obj[key];</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > return newParser;</span>
|
||||
};
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >Parser.prototype.getName = <span class="fstat-no" title="function not covered" >fu</span>nction() {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return this.name;</span>
|
||||
};
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >module.exports = Parser;</span>
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage
|
||||
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Fri May 11 2018 21:20:20 GMT+0100 (IST)
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Steven Vachon <contact@svachon.com> (svachon.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.
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"publishReplay.d.ts","sourceRoot":"","sources":["../../../../src/internal/operators/publishReplay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3H;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,wBAAwB,CAAC,CAAC,CAAC,CAAC;AAE/B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,EAC7D,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EACtC,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,gBAAgB,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,EAC7D,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,SAAS,EACnB,iBAAiB,EAAE,iBAAiB,GACnC,gBAAgB,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
||||
@@ -0,0 +1,69 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('get-intrinsic');
|
||||
|
||||
var $TypeError = GetIntrinsic('%TypeError%');
|
||||
|
||||
var ArrayCreate = require('./ArrayCreate');
|
||||
var CreateDataPropertyOrThrow = require('./CreateDataPropertyOrThrow');
|
||||
var GetMatchIndexPair = require('./GetMatchIndexPair');
|
||||
var IsArray = require('./IsArray');
|
||||
var OrdinaryObjectCreate = require('./OrdinaryObjectCreate');
|
||||
var ToString = require('./ToString');
|
||||
var Type = require('./Type');
|
||||
|
||||
var every = require('../helpers/every');
|
||||
var isMatchRecord = require('../helpers/isMatchRecord');
|
||||
|
||||
var isStringOrUndefined = function isStringOrUndefined(s) {
|
||||
return typeof s === 'undefined' || typeof s === 'string';
|
||||
};
|
||||
|
||||
var isMatchRecordOrUndefined = function isMatchRecordOrUndefined(m) {
|
||||
return typeof m === 'undefined' || isMatchRecord(m);
|
||||
};
|
||||
|
||||
var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
|
||||
|
||||
// https://262.ecma-international.org/13.0/#sec-getmatchindexpair
|
||||
|
||||
module.exports = function MakeMatchIndicesIndexPairArray(S, indices, groupNames, hasGroups) {
|
||||
if (Type(S) !== 'String') {
|
||||
throw new $TypeError('Assertion failed: `S` must be a String');
|
||||
}
|
||||
if (!IsArray(indices) || !every(indices, isMatchRecordOrUndefined)) {
|
||||
throw new $TypeError('Assertion failed: `indices` must be a List of either Match Records or `undefined`');
|
||||
}
|
||||
if (!IsArray(groupNames) || !every(groupNames, isStringOrUndefined)) {
|
||||
throw new $TypeError('Assertion failed: `groupNames` must be a List of either Strings or `undefined`');
|
||||
}
|
||||
if (Type(hasGroups) !== 'Boolean') {
|
||||
throw new $TypeError('Assertion failed: `hasGroups` must be a Boolean');
|
||||
}
|
||||
|
||||
var n = indices.length; // step 1
|
||||
if (!(n < MAX_ARRAY_LENGTH)) {
|
||||
throw new $TypeError('Assertion failed: `indices` length must be less than the max array size, 2**32 - 1');
|
||||
}
|
||||
if (groupNames.length !== n - 1) {
|
||||
throw new $TypeError('Assertion failed: `groupNames` must have exactly one fewer item than `indices`');
|
||||
}
|
||||
|
||||
var A = ArrayCreate(n); // step 5
|
||||
var groups = hasGroups ? OrdinaryObjectCreate(null) : void undefined; // step 6-7
|
||||
CreateDataPropertyOrThrow(A, 'groups', groups); // step 8
|
||||
|
||||
for (var i = 0; i < n; i += 1) { // step 9
|
||||
var matchIndices = indices[i]; // step 9.a
|
||||
// eslint-disable-next-line no-negated-condition
|
||||
var matchIndexPair = typeof matchIndices !== 'undefined' ? GetMatchIndexPair(S, matchIndices) : void undefined; // step 9.b-9.c
|
||||
CreateDataPropertyOrThrow(A, ToString(i), matchIndexPair); // step 9.d
|
||||
if (i > 0 && typeof groupNames[i - 1] !== 'undefined') { // step 9.e
|
||||
if (!groups) {
|
||||
throw new $TypeError('if `hasGroups` is `false`, `groupNames` can only contain `undefined` values');
|
||||
}
|
||||
CreateDataPropertyOrThrow(groups, groupNames[i - 1], matchIndexPair); // step 9.e.i
|
||||
}
|
||||
}
|
||||
return A; // step 10
|
||||
};
|
||||
@@ -0,0 +1,46 @@
|
||||
'use strict';
|
||||
|
||||
exports.__esModule = true;
|
||||
// istanbul ignore next
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
||||
|
||||
var _utils = require('../utils');
|
||||
|
||||
var _exception = require('../exception');
|
||||
|
||||
var _exception2 = _interopRequireDefault(_exception);
|
||||
|
||||
exports['default'] = function (instance) {
|
||||
instance.registerHelper('if', function (conditional, options) {
|
||||
if (arguments.length != 2) {
|
||||
throw new _exception2['default']('#if requires exactly one argument');
|
||||
}
|
||||
if (_utils.isFunction(conditional)) {
|
||||
conditional = conditional.call(this);
|
||||
}
|
||||
|
||||
// Default behavior is to render the positive path if the value is truthy and not empty.
|
||||
// The `includeZero` option may be set to treat the condtional as purely not empty based on the
|
||||
// behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.
|
||||
if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {
|
||||
return options.inverse(this);
|
||||
} else {
|
||||
return options.fn(this);
|
||||
}
|
||||
});
|
||||
|
||||
instance.registerHelper('unless', function (conditional, options) {
|
||||
if (arguments.length != 2) {
|
||||
throw new _exception2['default']('#unless requires exactly one argument');
|
||||
}
|
||||
return instance.helpers['if'].call(this, conditional, {
|
||||
fn: options.inverse,
|
||||
inverse: options.fn,
|
||||
hash: options.hash
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = exports['default'];
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaWYuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztxQkFBb0MsVUFBVTs7eUJBQ3hCLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVMsV0FBVyxFQUFFLE9BQU8sRUFBRTtBQUMzRCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztLQUMxRDtBQUNELFFBQUksa0JBQVcsV0FBVyxDQUFDLEVBQUU7QUFDM0IsaUJBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RDOzs7OztBQUtELFFBQUksQUFBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxJQUFLLGVBQVEsV0FBVyxDQUFDLEVBQUU7QUFDdkUsYUFBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekI7R0FDRixDQUFDLENBQUM7O0FBRUgsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxXQUFXLEVBQUUsT0FBTyxFQUFFO0FBQy9ELFFBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7QUFDekIsWUFBTSwyQkFBYyx1Q0FBdUMsQ0FBQyxDQUFDO0tBQzlEO0FBQ0QsV0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3BELFFBQUUsRUFBRSxPQUFPLENBQUMsT0FBTztBQUNuQixhQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUU7QUFDbkIsVUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0tBQ25CLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSwgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2lmJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjaWYgcmVxdWlyZXMgZXhhY3RseSBvbmUgYXJndW1lbnQnKTtcbiAgICB9XG4gICAgaWYgKGlzRnVuY3Rpb24oY29uZGl0aW9uYWwpKSB7XG4gICAgICBjb25kaXRpb25hbCA9IGNvbmRpdGlvbmFsLmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgLy8gRGVmYXVsdCBiZWhhdmlvciBpcyB0byByZW5kZXIgdGhlIHBvc2l0aXZlIHBhdGggaWYgdGhlIHZhbHVlIGlzIHRydXRoeSBhbmQgbm90IGVtcHR5LlxuICAgIC8vIFRoZSBgaW5jbHVkZVplcm9gIG9wdGlvbiBtYXkgYmUgc2V0IHRvIHRyZWF0IHRoZSBjb25kdGlvbmFsIGFzIHB1cmVseSBub3QgZW1wdHkgYmFzZWQgb24gdGhlXG4gICAgLy8gYmVoYXZpb3Igb2YgaXNFbXB0eS4gRWZmZWN0aXZlbHkgdGhpcyBkZXRlcm1pbmVzIGlmIDAgaXMgaGFuZGxlZCBieSB0aGUgcG9zaXRpdmUgcGF0aCBvciBuZWdhdGl2ZS5cbiAgICBpZiAoKCFvcHRpb25zLmhhc2guaW5jbHVkZVplcm8gJiYgIWNvbmRpdGlvbmFsKSB8fCBpc0VtcHR5KGNvbmRpdGlvbmFsKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuaW52ZXJzZSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuZm4odGhpcyk7XG4gICAgfVxuICB9KTtcblxuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcigndW5sZXNzJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjdW5sZXNzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZS5oZWxwZXJzWydpZiddLmNhbGwodGhpcywgY29uZGl0aW9uYWwsIHtcbiAgICAgIGZuOiBvcHRpb25zLmludmVyc2UsXG4gICAgICBpbnZlcnNlOiBvcHRpb25zLmZuLFxuICAgICAgaGFzaDogb3B0aW9ucy5oYXNoXG4gICAgfSk7XG4gIH0pO1xufVxuIl19
|
||||
@@ -0,0 +1,37 @@
|
||||
"use strict";
|
||||
|
||||
var isToStringTagSupported = require("../lib/is-to-string-tag-supported")
|
||||
, isPrototype = require("../prototype/is");
|
||||
|
||||
var regExpTest = RegExp.prototype.test
|
||||
, objectToString = Object.prototype.toString
|
||||
, objectTaggedString = objectToString.call(/a/);
|
||||
|
||||
module.exports = function (value) {
|
||||
if (!value) return false;
|
||||
|
||||
// Sanity check (reject objects which do not expose common RegExp interface)
|
||||
if (!hasOwnProperty.call(value, "lastIndex")) return false;
|
||||
try {
|
||||
if (typeof value.lastIndex !== "number") return false;
|
||||
if (typeof value.test !== "function") return false;
|
||||
if (typeof value.exec !== "function") return false;
|
||||
} catch (error) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Ensure its native RegExp object (has [[RegExpMatcher]] slot)
|
||||
if (isToStringTagSupported && typeof value[Symbol.toStringTag] === "string") {
|
||||
// Edge case (possibly a regExp with custom Symbol.toStringTag)
|
||||
try {
|
||||
var lastIndex = value.lastIndex;
|
||||
regExpTest.call(value, "");
|
||||
if (value.lastIndex !== lastIndex) value.lastIndex = lastIndex;
|
||||
return true;
|
||||
} catch (error) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (objectToString.call(value) !== objectTaggedString) return false;
|
||||
return !isPrototype(value);
|
||||
};
|
||||
@@ -0,0 +1,12 @@
|
||||
import { switchMap } from './switchMap';
|
||||
import { operate } from '../util/lift';
|
||||
export function switchScan(accumulator, seed) {
|
||||
return operate(function (source, subscriber) {
|
||||
var state = seed;
|
||||
switchMap(function (value, index) { return accumulator(state, value, index); }, function (_, innerValue) { return ((state = innerValue), innerValue); })(source).subscribe(subscriber);
|
||||
return function () {
|
||||
state = null;
|
||||
};
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=switchScan.js.map
|
||||
@@ -0,0 +1,23 @@
|
||||
"use strict";
|
||||
|
||||
var iteratorSymbol = require("es6-symbol").iterator;
|
||||
|
||||
module.exports = function (T, a) {
|
||||
var it = new T("foobar");
|
||||
|
||||
a(it[iteratorSymbol](), it, "@@iterator");
|
||||
a.deep(it.next(), { done: false, value: "f" }, "#1");
|
||||
a.deep(it.next(), { done: false, value: "o" }, "#2");
|
||||
a.deep(it.next(), { done: false, value: "o" }, "#3");
|
||||
a.deep(it.next(), { done: false, value: "b" }, "#4");
|
||||
a.deep(it.next(), { done: false, value: "a" }, "#5");
|
||||
a.deep(it.next(), { done: false, value: "r" }, "#6");
|
||||
a.deep(it.next(), { done: true, value: undefined }, "End");
|
||||
|
||||
a.h1("Outside of BMP");
|
||||
it = new T("r💩z");
|
||||
a.deep(it.next(), { done: false, value: "r" }, "#1");
|
||||
a.deep(it.next(), { done: false, value: "💩" }, "#2");
|
||||
a.deep(it.next(), { done: false, value: "z" }, "#3");
|
||||
a.deep(it.next(), { done: true, value: undefined }, "End");
|
||||
};
|
||||
@@ -0,0 +1,227 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for All files</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="prettify.css" />
|
||||
<link rel="stylesheet" href="base.css" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1>
|
||||
All files
|
||||
</h1>
|
||||
<div class='clearfix'>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">4.86% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>802/16489</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">2.1% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>278/13264</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">3.36% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>113/3362</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">6.95% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>781/11243</span>
|
||||
</div>
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<div class="pad1">
|
||||
<table class="coverage-summary">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file low" data-value="csv2json"><a href="csv2json/index.html">csv2json</a></td>
|
||||
<td data-value="0" class="pic low"><div class="chart"><div class="cover-fill" style="width: 0%;"></div><div class="cover-empty" style="width:100%;"></div></div></td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="12" class="abs low">0/12</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="2" class="abs low">0/2</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="12" class="abs low">0/12</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="csv2json/bin"><a href="csv2json/bin/index.html">csv2json/bin</a></td>
|
||||
<td data-value="0" class="pic low"><div class="chart"><div class="cover-fill" style="width: 0%;"></div><div class="cover-empty" style="width:100%;"></div></div></td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="148" class="abs low">0/148</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="66" class="abs low">0/66</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="15" class="abs low">0/15</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="148" class="abs low">0/148</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="csv2json/build"><a href="csv2json/build/index.html">csv2json/build</a></td>
|
||||
<td data-value="0" class="pic low"><div class="chart"><div class="cover-fill" style="width: 0%;"></div><div class="cover-empty" style="width:100%;"></div></div></td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="720" class="abs low">0/720</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="445" class="abs low">0/445</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="137" class="abs low">0/137</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="710" class="abs low">0/710</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="csv2json/dist"><a href="csv2json/dist/index.html">csv2json/dist</a></td>
|
||||
<td data-value="0" class="pic low"><div class="chart"><div class="cover-fill" style="width: 0%;"></div><div class="cover-empty" style="width:100%;"></div></div></td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="13762" class="abs low">0/13762</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="11883" class="abs low">0/11883</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="2950" class="abs low">0/2950</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="8549" class="abs low">0/8549</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="csv2json/libs"><a href="csv2json/libs/index.html">csv2json/libs</a></td>
|
||||
<td data-value="0" class="pic low"><div class="chart"><div class="cover-fill" style="width: 0%;"></div><div class="cover-empty" style="width:100%;"></div></div></td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="3" class="abs low">0/3</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">0/0</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">0/0</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="3" class="abs low">0/3</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="csv2json/libs/core"><a href="csv2json/libs/core/index.html">csv2json/libs/core</a></td>
|
||||
<td data-value="0" class="pic low"><div class="chart"><div class="cover-fill" style="width: 0%;"></div><div class="cover-empty" style="width:100%;"></div></div></td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="911" class="abs low">0/911</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="503" class="abs low">0/503</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="125" class="abs low">0/125</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="909" class="abs low">0/909</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="csv2json/libs/core/defaultParsers"><a href="csv2json/libs/core/defaultParsers/index.html">csv2json/libs/core/defaultParsers</a></td>
|
||||
<td data-value="0" class="pic low"><div class="chart"><div class="cover-fill" style="width: 0%;"></div><div class="cover-empty" style="width:100%;"></div></div></td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="63" class="abs low">0/63</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="40" class="abs low">0/40</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="6" class="abs low">0/6</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="63" class="abs low">0/63</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="csv2json/libs/interfaces"><a href="csv2json/libs/interfaces/index.html">csv2json/libs/interfaces</a></td>
|
||||
<td data-value="0" class="pic low"><div class="chart"><div class="cover-fill" style="width: 0%;"></div><div class="cover-empty" style="width:100%;"></div></div></td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">0/0</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">0/0</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="csv2json/libs/interfaces/cli"><a href="csv2json/libs/interfaces/cli/index.html">csv2json/libs/interfaces/cli</a></td>
|
||||
<td data-value="0" class="pic low"><div class="chart"><div class="cover-fill" style="width: 0%;"></div><div class="cover-empty" style="width:100%;"></div></div></td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="24" class="abs low">0/24</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="4" class="abs low">0/4</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="6" class="abs low">0/6</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="24" class="abs low">0/24</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file high" data-value="csv2json/src"><a href="csv2json/src/index.html">csv2json/src</a></td>
|
||||
<td data-value="93.69" class="pic high"><div class="chart"><div class="cover-fill" style="width: 93%;"></div><div class="cover-empty" style="width:7%;"></div></div></td>
|
||||
<td data-value="93.69" class="pct high">93.69%</td>
|
||||
<td data-value="634" class="abs high">594/634</td>
|
||||
<td data-value="86.56" class="pct high">86.56%</td>
|
||||
<td data-value="320" class="abs high">277/320</td>
|
||||
<td data-value="91" class="pct high">91%</td>
|
||||
<td data-value="100" class="abs high">91/100</td>
|
||||
<td data-value="93.47" class="pct high">93.47%</td>
|
||||
<td data-value="613" class="abs high">573/613</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file high" data-value="csv2json/testNew"><a href="csv2json/testNew/index.html">csv2json/testNew</a></td>
|
||||
<td data-value="98.58" class="pic high"><div class="chart"><div class="cover-fill" style="width: 98%;"></div><div class="cover-empty" style="width:2%;"></div></div></td>
|
||||
<td data-value="98.58" class="pct high">98.58%</td>
|
||||
<td data-value="211" class="abs high">208/211</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="1" class="abs high">1/1</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="22" class="abs high">22/22</td>
|
||||
<td data-value="98.58" class="pct high">98.58%</td>
|
||||
<td data-value="211" class="abs high">208/211</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div><div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage
|
||||
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Fri May 11 2018 21:20:20 GMT+0100 (IST)
|
||||
</div>
|
||||
</div>
|
||||
<script src="prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="sorter.js"></script>
|
||||
<script src="block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,57 @@
|
||||
import type {IsEqual} from './internal';
|
||||
|
||||
/**
|
||||
Filter out keys from an object.
|
||||
|
||||
Returns `never` if `Exclude` is strictly equal to `Key`.
|
||||
Returns `never` if `Key` extends `Exclude`.
|
||||
Returns `Key` otherwise.
|
||||
|
||||
@example
|
||||
```
|
||||
type Filtered = Filter<'foo', 'foo'>;
|
||||
//=> never
|
||||
```
|
||||
|
||||
@example
|
||||
```
|
||||
type Filtered = Filter<'bar', string>;
|
||||
//=> never
|
||||
```
|
||||
|
||||
@example
|
||||
```
|
||||
type Filtered = Filter<'bar', 'foo'>;
|
||||
//=> 'bar'
|
||||
```
|
||||
|
||||
@see {Except}
|
||||
*/
|
||||
type Filter<KeyType, ExcludeType> = IsEqual<KeyType, ExcludeType> extends true ? never : (KeyType extends ExcludeType ? never : KeyType);
|
||||
|
||||
/**
|
||||
Create a type from an object type without certain keys.
|
||||
|
||||
This type is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). The `Omit` type does not restrict the omitted keys to be keys present on the given type, while `Except` does. The benefits of a stricter type are avoiding typos and allowing the compiler to pick up on rename refactors automatically.
|
||||
|
||||
This type was proposed to the TypeScript team, which declined it, saying they prefer that libraries implement stricter versions of the built-in types ([microsoft/TypeScript#30825](https://github.com/microsoft/TypeScript/issues/30825#issuecomment-523668235)).
|
||||
|
||||
@example
|
||||
```
|
||||
import type {Except} from 'type-fest';
|
||||
|
||||
type Foo = {
|
||||
a: number;
|
||||
b: string;
|
||||
c: boolean;
|
||||
};
|
||||
|
||||
type FooWithoutA = Except<Foo, 'a' | 'c'>;
|
||||
//=> {b: string};
|
||||
```
|
||||
|
||||
@category Object
|
||||
*/
|
||||
export type Except<ObjectType, KeysType extends keyof ObjectType> = {
|
||||
[KeyType in keyof ObjectType as Filter<KeyType, KeysType>]: ObjectType[KeyType];
|
||||
};
|
||||
@@ -0,0 +1,84 @@
|
||||
import { Subscriber } from './Subscriber';
|
||||
import { ObservableNotification } from './types';
|
||||
|
||||
/**
|
||||
* The {@link GlobalConfig} object for RxJS. It is used to configure things
|
||||
* like how to react on unhandled errors.
|
||||
*/
|
||||
export const config: GlobalConfig = {
|
||||
onUnhandledError: null,
|
||||
onStoppedNotification: null,
|
||||
Promise: undefined,
|
||||
useDeprecatedSynchronousErrorHandling: false,
|
||||
useDeprecatedNextContext: false,
|
||||
};
|
||||
|
||||
/**
|
||||
* The global configuration object for RxJS, used to configure things
|
||||
* like how to react on unhandled errors. Accessible via {@link config}
|
||||
* object.
|
||||
*/
|
||||
export interface GlobalConfig {
|
||||
/**
|
||||
* A registration point for unhandled errors from RxJS. These are errors that
|
||||
* cannot were not handled by consuming code in the usual subscription path. For
|
||||
* example, if you have this configured, and you subscribe to an observable without
|
||||
* providing an error handler, errors from that subscription will end up here. This
|
||||
* will _always_ be called asynchronously on another job in the runtime. This is because
|
||||
* we do not want errors thrown in this user-configured handler to interfere with the
|
||||
* behavior of the library.
|
||||
*/
|
||||
onUnhandledError: ((err: any) => void) | null;
|
||||
|
||||
/**
|
||||
* A registration point for notifications that cannot be sent to subscribers because they
|
||||
* have completed, errored or have been explicitly unsubscribed. By default, next, complete
|
||||
* and error notifications sent to stopped subscribers are noops. However, sometimes callers
|
||||
* might want a different behavior. For example, with sources that attempt to report errors
|
||||
* to stopped subscribers, a caller can configure RxJS to throw an unhandled error instead.
|
||||
* This will _always_ be called asynchronously on another job in the runtime. This is because
|
||||
* we do not want errors thrown in this user-configured handler to interfere with the
|
||||
* behavior of the library.
|
||||
*/
|
||||
onStoppedNotification: ((notification: ObservableNotification<any>, subscriber: Subscriber<any>) => void) | null;
|
||||
|
||||
/**
|
||||
* The promise constructor used by default for {@link Observable#toPromise toPromise} and {@link Observable#forEach forEach}
|
||||
* methods.
|
||||
*
|
||||
* @deprecated As of version 8, RxJS will no longer support this sort of injection of a
|
||||
* Promise constructor. If you need a Promise implementation other than native promises,
|
||||
* please polyfill/patch Promise as you see appropriate. Will be removed in v8.
|
||||
*/
|
||||
Promise?: PromiseConstructorLike;
|
||||
|
||||
/**
|
||||
* If true, turns on synchronous error rethrowing, which is a deprecated behavior
|
||||
* in v6 and higher. This behavior enables bad patterns like wrapping a subscribe
|
||||
* call in a try/catch block. It also enables producer interference, a nasty bug
|
||||
* where a multicast can be broken for all observers by a downstream consumer with
|
||||
* an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BUY TIME
|
||||
* FOR MIGRATION REASONS.
|
||||
*
|
||||
* @deprecated As of version 8, RxJS will no longer support synchronous throwing
|
||||
* of unhandled errors. All errors will be thrown on a separate call stack to prevent bad
|
||||
* behaviors described above. Will be removed in v8.
|
||||
*/
|
||||
useDeprecatedSynchronousErrorHandling: boolean;
|
||||
|
||||
/**
|
||||
* If true, enables an as-of-yet undocumented feature from v5: The ability to access
|
||||
* `unsubscribe()` via `this` context in `next` functions created in observers passed
|
||||
* to `subscribe`.
|
||||
*
|
||||
* This is being removed because the performance was severely problematic, and it could also cause
|
||||
* issues when types other than POJOs are passed to subscribe as subscribers, as they will likely have
|
||||
* their `this` context overwritten.
|
||||
*
|
||||
* @deprecated As of version 8, RxJS will no longer support altering the
|
||||
* context of next functions provided as part of an observer to Subscribe. Instead,
|
||||
* you will have access to a subscription or a signal or token that will allow you to do things like
|
||||
* unsubscribe and test closed status. Will be removed in v8.
|
||||
*/
|
||||
useDeprecatedNextContext: boolean;
|
||||
}
|
||||
Reference in New Issue
Block a user