new license file version [CI SKIP]
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
declare global {
|
||||
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
||||
interface SymbolConstructor {
|
||||
readonly observable: symbol;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@remarks
|
||||
The TC39 observable proposal defines a `closed` property, but some implementations (such as xstream) do not as of 10/08/2021.
|
||||
As well, some guidance on making an `Observable` to not include `closed` property.
|
||||
@see https://github.com/tc39/proposal-observable/blob/master/src/Observable.js#L129-L130
|
||||
@see https://github.com/staltz/xstream/blob/6c22580c1d84d69773ee4b0905df44ad464955b3/src/index.ts#L79-L85
|
||||
@see https://github.com/benlesh/symbol-observable#making-an-object-observable
|
||||
|
||||
@category Observable
|
||||
*/
|
||||
export type Unsubscribable = {
|
||||
unsubscribe(): void;
|
||||
};
|
||||
|
||||
/**
|
||||
@category Observable
|
||||
*/
|
||||
type OnNext<ValueType> = (value: ValueType) => void;
|
||||
/**
|
||||
@category Observable
|
||||
*/
|
||||
type OnError = (error: unknown) => void;
|
||||
/**
|
||||
@category Observable
|
||||
*/
|
||||
type OnComplete = () => void;
|
||||
|
||||
/**
|
||||
@category Observable
|
||||
*/
|
||||
export type Observer<ValueType> = {
|
||||
next: OnNext<ValueType>;
|
||||
error: OnError;
|
||||
complete: OnComplete;
|
||||
};
|
||||
|
||||
/**
|
||||
Matches a value that is like an [Observable](https://github.com/tc39/proposal-observable).
|
||||
|
||||
@remarks
|
||||
The TC39 Observable proposal defines 2 forms of `subscribe()`:
|
||||
1. Three callback arguments: `subscribe(observer: OnNext<ValueType>, onError?: OnError, onComplete?: OnComplete): Unsubscribable;`
|
||||
2. A single `observer` argument: (as defined below)
|
||||
|
||||
But `Observable` implementations have evolved to preferring case 2 and some implementations choose not to implement case 1. Therefore, an `ObservableLike` cannot be trusted to implement the first case. (xstream and hand built observerables often do not implement case 1)
|
||||
|
||||
@see https://github.com/tc39/proposal-observable#observable
|
||||
@see https://github.com/tc39/proposal-observable/blob/master/src/Observable.js#L246-L259
|
||||
@see https://benlesh.com/posts/learning-observable-by-building-observable/
|
||||
|
||||
@category Observable
|
||||
*/
|
||||
export type ObservableLike<ValueType = unknown> = {
|
||||
subscribe(observer?: Partial<Observer<ValueType>>): Unsubscribable;
|
||||
[Symbol.observable](): ObservableLike<ValueType>;
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
{"name":"clone","version":"1.0.4","files":{"package.json":{"checkedAt":1678883671306,"integrity":"sha512-037HXlVXG+FwQonPEJ+pVFEkgjF64dBcSFfsYXvszPDOLRHoVM355hAqNSaMkBRloIDadYVTs36ugSyzbDEwQw==","mode":438,"size":1632},".npmignore":{"checkedAt":1678883671306,"integrity":"sha512-/n7w2Oq+/1xrERcVHeYJ+Y2hAKsVPhYsVSTtPfMT044cCzSmIBvT8Dpvor/F91GfLTTbEiXOwARGPpYVfKKUdw==","mode":438,"size":45},"README.md":{"checkedAt":1678883671306,"integrity":"sha512-juXrYxuNPVJ1KNtcpJSAqz//NrjiTgUKLNO0OWTLxeuiQWn4G54MFSpk/ENrivj+uiUJ/OPRHCN9bL6maIUuYQ==","mode":438,"size":3585},"LICENSE":{"checkedAt":1678883671306,"integrity":"sha512-kg+TXV5r9XgMj6dndqgUtqyN5Ae1w/NuPnV74rxyBXN4Nm8fyT/fdJ63aiRgh5xaEPWegnN8d5o1ekHJO3CoPA==","mode":438,"size":1070},"clone.js":{"checkedAt":1678883671306,"integrity":"sha512-erZ8aZ8FgN93Y/bN/YnR/oa0sLUhooBBhzbZVySnzNAFk7B5KjU+qzLCA6V61SIudA4CWzyYsdvXY4AFCdwtWA==","mode":438,"size":4389},"clone.iml":{"checkedAt":1678883671306,"integrity":"sha512-mS/YO2lo1rKWo1+8XCNq2UkSksa2LoVwBcVeHmX5RUMRejPRQIcyfeSmdkiDZIZwcLfySgIic8BftgE+WZ8Hkw==","mode":438,"size":411}}}
|
||||
@@ -0,0 +1,23 @@
|
||||
import { mergeAll } from '../operators/mergeAll';
|
||||
import { innerFrom } from './innerFrom';
|
||||
import { EMPTY } from './empty';
|
||||
import { popNumber, popScheduler } from '../util/args';
|
||||
import { from } from './from';
|
||||
export function merge() {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i] = arguments[_i];
|
||||
}
|
||||
var scheduler = popScheduler(args);
|
||||
var concurrent = popNumber(args, Infinity);
|
||||
var sources = args;
|
||||
return !sources.length
|
||||
?
|
||||
EMPTY
|
||||
: sources.length === 1
|
||||
?
|
||||
innerFrom(sources[0])
|
||||
:
|
||||
mergeAll(concurrent)(from(sources, scheduler));
|
||||
}
|
||||
//# sourceMappingURL=merge.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/types/number.ts"],"names":[],"mappings":"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"}
|
||||
@@ -0,0 +1,136 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for csv2json/testNew</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> csv2json/testNew
|
||||
</h1>
|
||||
<div class='clearfix'>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">98.58% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>208/211</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">100% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>1/1</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">100% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>22/22</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">98.58% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>208/211</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 high'></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 high" data-value="testCSVConverter.ts"><a href="testCSVConverter.ts.html">testCSVConverter.ts</a></td>
|
||||
<td data-value="98.95" 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.95" class="pct high">98.95%</td>
|
||||
<td data-value="95" class="abs high">94/95</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="5" class="abs high">5/5</td>
|
||||
<td data-value="98.95" class="pct high">98.95%</td>
|
||||
<td data-value="95" class="abs high">94/95</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file high" data-value="testCSVConverter2.ts"><a href="testCSVConverter2.ts.html">testCSVConverter2.ts</a></td>
|
||||
<td data-value="98" 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" class="pct high">98%</td>
|
||||
<td data-value="100" class="abs high">98/100</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="15" class="abs high">15/15</td>
|
||||
<td data-value="98" class="pct high">98%</td>
|
||||
<td data-value="100" class="abs high">98/100</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file high" data-value="testCSVConverter3.ts"><a href="testCSVConverter3.ts.html">testCSVConverter3.ts</a></td>
|
||||
<td data-value="100" class="pic high"><div class="chart"><div class="cover-fill cover-full" style="width: 100%;"></div><div class="cover-empty" style="width:0%;"></div></div></td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="4" class="abs high">4/4</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="100" class="pct high">100%</td>
|
||||
<td data-value="4" class="abs high">4/4</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file high" data-value="testErrorHandle.ts"><a href="testErrorHandle.ts.html">testErrorHandle.ts</a></td>
|
||||
<td data-value="100" class="pic high"><div class="chart"><div class="cover-fill cover-full" style="width: 100%;"></div><div class="cover-empty" style="width:0%;"></div></div></td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="12" class="abs high">12/12</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="2" class="abs high">2/2</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="12" class="abs high">12/12</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: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,162 @@
|
||||
/**
|
||||
* Helpers.
|
||||
*/
|
||||
|
||||
var s = 1000;
|
||||
var m = s * 60;
|
||||
var h = m * 60;
|
||||
var d = h * 24;
|
||||
var w = d * 7;
|
||||
var y = d * 365.25;
|
||||
|
||||
/**
|
||||
* Parse or format the given `val`.
|
||||
*
|
||||
* Options:
|
||||
*
|
||||
* - `long` verbose formatting [false]
|
||||
*
|
||||
* @param {String|Number} val
|
||||
* @param {Object} [options]
|
||||
* @throws {Error} throw an error if val is not a non-empty string or a number
|
||||
* @return {String|Number}
|
||||
* @api public
|
||||
*/
|
||||
|
||||
module.exports = function(val, options) {
|
||||
options = options || {};
|
||||
var type = typeof val;
|
||||
if (type === 'string' && val.length > 0) {
|
||||
return parse(val);
|
||||
} else if (type === 'number' && isFinite(val)) {
|
||||
return options.long ? fmtLong(val) : fmtShort(val);
|
||||
}
|
||||
throw new Error(
|
||||
'val is not a non-empty string or a valid number. val=' +
|
||||
JSON.stringify(val)
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
* Parse the given `str` and return milliseconds.
|
||||
*
|
||||
* @param {String} str
|
||||
* @return {Number}
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function parse(str) {
|
||||
str = String(str);
|
||||
if (str.length > 100) {
|
||||
return;
|
||||
}
|
||||
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
|
||||
str
|
||||
);
|
||||
if (!match) {
|
||||
return;
|
||||
}
|
||||
var n = parseFloat(match[1]);
|
||||
var type = (match[2] || 'ms').toLowerCase();
|
||||
switch (type) {
|
||||
case 'years':
|
||||
case 'year':
|
||||
case 'yrs':
|
||||
case 'yr':
|
||||
case 'y':
|
||||
return n * y;
|
||||
case 'weeks':
|
||||
case 'week':
|
||||
case 'w':
|
||||
return n * w;
|
||||
case 'days':
|
||||
case 'day':
|
||||
case 'd':
|
||||
return n * d;
|
||||
case 'hours':
|
||||
case 'hour':
|
||||
case 'hrs':
|
||||
case 'hr':
|
||||
case 'h':
|
||||
return n * h;
|
||||
case 'minutes':
|
||||
case 'minute':
|
||||
case 'mins':
|
||||
case 'min':
|
||||
case 'm':
|
||||
return n * m;
|
||||
case 'seconds':
|
||||
case 'second':
|
||||
case 'secs':
|
||||
case 'sec':
|
||||
case 's':
|
||||
return n * s;
|
||||
case 'milliseconds':
|
||||
case 'millisecond':
|
||||
case 'msecs':
|
||||
case 'msec':
|
||||
case 'ms':
|
||||
return n;
|
||||
default:
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Short format for `ms`.
|
||||
*
|
||||
* @param {Number} ms
|
||||
* @return {String}
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function fmtShort(ms) {
|
||||
var msAbs = Math.abs(ms);
|
||||
if (msAbs >= d) {
|
||||
return Math.round(ms / d) + 'd';
|
||||
}
|
||||
if (msAbs >= h) {
|
||||
return Math.round(ms / h) + 'h';
|
||||
}
|
||||
if (msAbs >= m) {
|
||||
return Math.round(ms / m) + 'm';
|
||||
}
|
||||
if (msAbs >= s) {
|
||||
return Math.round(ms / s) + 's';
|
||||
}
|
||||
return ms + 'ms';
|
||||
}
|
||||
|
||||
/**
|
||||
* Long format for `ms`.
|
||||
*
|
||||
* @param {Number} ms
|
||||
* @return {String}
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function fmtLong(ms) {
|
||||
var msAbs = Math.abs(ms);
|
||||
if (msAbs >= d) {
|
||||
return plural(ms, msAbs, d, 'day');
|
||||
}
|
||||
if (msAbs >= h) {
|
||||
return plural(ms, msAbs, h, 'hour');
|
||||
}
|
||||
if (msAbs >= m) {
|
||||
return plural(ms, msAbs, m, 'minute');
|
||||
}
|
||||
if (msAbs >= s) {
|
||||
return plural(ms, msAbs, s, 'second');
|
||||
}
|
||||
return ms + ' ms';
|
||||
}
|
||||
|
||||
/**
|
||||
* Pluralization helper.
|
||||
*/
|
||||
|
||||
function plural(ms, msAbs, n, name) {
|
||||
var isPlural = msAbs >= n * 1.5;
|
||||
return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
|
||||
}
|
||||
@@ -0,0 +1,206 @@
|
||||
import assert from './_assert.js';
|
||||
import u64 from './_u64.js';
|
||||
import { Hash, u32, toBytes, wrapConstructor, wrapConstructorWithOpts, } from './utils.js';
|
||||
// Various per round constants calculations
|
||||
const [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];
|
||||
const _0n = BigInt(0);
|
||||
const _1n = BigInt(1);
|
||||
const _2n = BigInt(2);
|
||||
const _7n = BigInt(7);
|
||||
const _256n = BigInt(256);
|
||||
const _0x71n = BigInt(0x71);
|
||||
for (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {
|
||||
// Pi
|
||||
[x, y] = [y, (2 * x + 3 * y) % 5];
|
||||
SHA3_PI.push(2 * (5 * y + x));
|
||||
// Rotational
|
||||
SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);
|
||||
// Iota
|
||||
let t = _0n;
|
||||
for (let j = 0; j < 7; j++) {
|
||||
R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;
|
||||
if (R & _2n)
|
||||
t ^= _1n << ((_1n << BigInt(j)) - _1n);
|
||||
}
|
||||
_SHA3_IOTA.push(t);
|
||||
}
|
||||
const [SHA3_IOTA_H, SHA3_IOTA_L] = u64.split(_SHA3_IOTA, true);
|
||||
// Left rotation (without 0, 32, 64)
|
||||
const rotlH = (h, l, s) => s > 32 ? u64.rotlBH(h, l, s) : u64.rotlSH(h, l, s);
|
||||
const rotlL = (h, l, s) => s > 32 ? u64.rotlBL(h, l, s) : u64.rotlSL(h, l, s);
|
||||
// Same as keccakf1600, but allows to skip some rounds
|
||||
export function keccakP(s, rounds = 24) {
|
||||
const B = new Uint32Array(5 * 2);
|
||||
// NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)
|
||||
for (let round = 24 - rounds; round < 24; round++) {
|
||||
// Theta θ
|
||||
for (let x = 0; x < 10; x++)
|
||||
B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];
|
||||
for (let x = 0; x < 10; x += 2) {
|
||||
const idx1 = (x + 8) % 10;
|
||||
const idx0 = (x + 2) % 10;
|
||||
const B0 = B[idx0];
|
||||
const B1 = B[idx0 + 1];
|
||||
const Th = rotlH(B0, B1, 1) ^ B[idx1];
|
||||
const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];
|
||||
for (let y = 0; y < 50; y += 10) {
|
||||
s[x + y] ^= Th;
|
||||
s[x + y + 1] ^= Tl;
|
||||
}
|
||||
}
|
||||
// Rho (ρ) and Pi (π)
|
||||
let curH = s[2];
|
||||
let curL = s[3];
|
||||
for (let t = 0; t < 24; t++) {
|
||||
const shift = SHA3_ROTL[t];
|
||||
const Th = rotlH(curH, curL, shift);
|
||||
const Tl = rotlL(curH, curL, shift);
|
||||
const PI = SHA3_PI[t];
|
||||
curH = s[PI];
|
||||
curL = s[PI + 1];
|
||||
s[PI] = Th;
|
||||
s[PI + 1] = Tl;
|
||||
}
|
||||
// Chi (χ)
|
||||
for (let y = 0; y < 50; y += 10) {
|
||||
for (let x = 0; x < 10; x++)
|
||||
B[x] = s[y + x];
|
||||
for (let x = 0; x < 10; x++)
|
||||
s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];
|
||||
}
|
||||
// Iota (ι)
|
||||
s[0] ^= SHA3_IOTA_H[round];
|
||||
s[1] ^= SHA3_IOTA_L[round];
|
||||
}
|
||||
B.fill(0);
|
||||
}
|
||||
export class Keccak extends Hash {
|
||||
// NOTE: we accept arguments in bytes instead of bits here.
|
||||
constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {
|
||||
super();
|
||||
this.blockLen = blockLen;
|
||||
this.suffix = suffix;
|
||||
this.outputLen = outputLen;
|
||||
this.enableXOF = enableXOF;
|
||||
this.rounds = rounds;
|
||||
this.pos = 0;
|
||||
this.posOut = 0;
|
||||
this.finished = false;
|
||||
this.destroyed = false;
|
||||
// Can be passed from user as dkLen
|
||||
assert.number(outputLen);
|
||||
// 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes
|
||||
if (0 >= this.blockLen || this.blockLen >= 200)
|
||||
throw new Error('Sha3 supports only keccak-f1600 function');
|
||||
this.state = new Uint8Array(200);
|
||||
this.state32 = u32(this.state);
|
||||
}
|
||||
keccak() {
|
||||
keccakP(this.state32, this.rounds);
|
||||
this.posOut = 0;
|
||||
this.pos = 0;
|
||||
}
|
||||
update(data) {
|
||||
assert.exists(this);
|
||||
const { blockLen, state } = this;
|
||||
data = toBytes(data);
|
||||
const len = data.length;
|
||||
for (let pos = 0; pos < len;) {
|
||||
const take = Math.min(blockLen - this.pos, len - pos);
|
||||
for (let i = 0; i < take; i++)
|
||||
state[this.pos++] ^= data[pos++];
|
||||
if (this.pos === blockLen)
|
||||
this.keccak();
|
||||
}
|
||||
return this;
|
||||
}
|
||||
finish() {
|
||||
if (this.finished)
|
||||
return;
|
||||
this.finished = true;
|
||||
const { state, suffix, pos, blockLen } = this;
|
||||
// Do the padding
|
||||
state[pos] ^= suffix;
|
||||
if ((suffix & 0x80) !== 0 && pos === blockLen - 1)
|
||||
this.keccak();
|
||||
state[blockLen - 1] ^= 0x80;
|
||||
this.keccak();
|
||||
}
|
||||
writeInto(out) {
|
||||
assert.exists(this, false);
|
||||
assert.bytes(out);
|
||||
this.finish();
|
||||
const bufferOut = this.state;
|
||||
const { blockLen } = this;
|
||||
for (let pos = 0, len = out.length; pos < len;) {
|
||||
if (this.posOut >= blockLen)
|
||||
this.keccak();
|
||||
const take = Math.min(blockLen - this.posOut, len - pos);
|
||||
out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);
|
||||
this.posOut += take;
|
||||
pos += take;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
xofInto(out) {
|
||||
// Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF
|
||||
if (!this.enableXOF)
|
||||
throw new Error('XOF is not possible for this instance');
|
||||
return this.writeInto(out);
|
||||
}
|
||||
xof(bytes) {
|
||||
assert.number(bytes);
|
||||
return this.xofInto(new Uint8Array(bytes));
|
||||
}
|
||||
digestInto(out) {
|
||||
assert.output(out, this);
|
||||
if (this.finished)
|
||||
throw new Error('digest() was already called');
|
||||
this.writeInto(out);
|
||||
this.destroy();
|
||||
return out;
|
||||
}
|
||||
digest() {
|
||||
return this.digestInto(new Uint8Array(this.outputLen));
|
||||
}
|
||||
destroy() {
|
||||
this.destroyed = true;
|
||||
this.state.fill(0);
|
||||
}
|
||||
_cloneInto(to) {
|
||||
const { blockLen, suffix, outputLen, rounds, enableXOF } = this;
|
||||
to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));
|
||||
to.state32.set(this.state32);
|
||||
to.pos = this.pos;
|
||||
to.posOut = this.posOut;
|
||||
to.finished = this.finished;
|
||||
to.rounds = rounds;
|
||||
// Suffix can change in cSHAKE
|
||||
to.suffix = suffix;
|
||||
to.outputLen = outputLen;
|
||||
to.enableXOF = enableXOF;
|
||||
to.destroyed = this.destroyed;
|
||||
return to;
|
||||
}
|
||||
}
|
||||
const gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));
|
||||
export const sha3_224 = gen(0x06, 144, 224 / 8);
|
||||
/**
|
||||
* SHA3-256 hash function
|
||||
* @param message - that would be hashed
|
||||
*/
|
||||
export const sha3_256 = gen(0x06, 136, 256 / 8);
|
||||
export const sha3_384 = gen(0x06, 104, 384 / 8);
|
||||
export const sha3_512 = gen(0x06, 72, 512 / 8);
|
||||
export const keccak_224 = gen(0x01, 144, 224 / 8);
|
||||
/**
|
||||
* keccak-256 hash function. Different from SHA3-256.
|
||||
* @param message - that would be hashed
|
||||
*/
|
||||
export const keccak_256 = gen(0x01, 136, 256 / 8);
|
||||
export const keccak_384 = gen(0x01, 104, 384 / 8);
|
||||
export const keccak_512 = gen(0x01, 72, 512 / 8);
|
||||
const genShake = (suffix, blockLen, outputLen) => wrapConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));
|
||||
export const shake128 = genShake(0x1f, 168, 128 / 8);
|
||||
export const shake256 = genShake(0x1f, 136, 256 / 8);
|
||||
//# sourceMappingURL=sha3.js.map
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"name": "cli-cursor",
|
||||
"version": "4.0.0",
|
||||
"description": "Toggle the CLI cursor",
|
||||
"license": "MIT",
|
||||
"repository": "sindresorhus/cli-cursor",
|
||||
"funding": "https://github.com/sponsors/sindresorhus",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "https://sindresorhus.com"
|
||||
},
|
||||
"type": "module",
|
||||
"exports": "./index.js",
|
||||
"engines": {
|
||||
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"keywords": [
|
||||
"cli",
|
||||
"cursor",
|
||||
"ansi",
|
||||
"toggle",
|
||||
"display",
|
||||
"show",
|
||||
"hide",
|
||||
"term",
|
||||
"terminal",
|
||||
"console",
|
||||
"tty",
|
||||
"shell",
|
||||
"command-line"
|
||||
],
|
||||
"dependencies": {
|
||||
"restore-cursor": "^4.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^16.7.1",
|
||||
"ava": "^3.15.0",
|
||||
"tsd": "^0.17.0",
|
||||
"xo": "^0.44.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"testUtils.umd.js","sources":["../src/index.js"],"sourcesContent":["import { options } from 'preact';\n\n/**\n * Setup a rerender function that will drain the queue of pending renders\n * @returns {() => void}\n */\nexport function setupRerender() {\n\toptions.__test__previousDebounce = options.debounceRendering;\n\toptions.debounceRendering = cb => (options.__test__drainQueue = cb);\n\treturn () => options.__test__drainQueue && options.__test__drainQueue();\n}\n\nconst isThenable = value => value != null && typeof value.then == 'function';\n\n/** Depth of nested calls to `act`. */\nlet actDepth = 0;\n\n/**\n * Run a test function, and flush all effects and rerenders after invoking it.\n *\n * Returns a Promise which resolves \"immediately\" if the callback is\n * synchronous or when the callback's result resolves if it is asynchronous.\n *\n * @param {() => void|Promise<void>} cb The function under test. This may be sync or async.\n * @return {Promise<void>}\n */\nexport function act(cb) {\n\tif (++actDepth > 1) {\n\t\t// If calls to `act` are nested, a flush happens only when the\n\t\t// outermost call returns. In the inner call, we just execute the\n\t\t// callback and return since the infrastructure for flushing has already\n\t\t// been set up.\n\t\t//\n\t\t// If an exception occurs, the outermost `act` will handle cleanup.\n\t\tconst result = cb();\n\t\tif (isThenable(result)) {\n\t\t\treturn result.then(() => {\n\t\t\t\t--actDepth;\n\t\t\t});\n\t\t}\n\t\t--actDepth;\n\t\treturn Promise.resolve();\n\t}\n\n\tconst previousRequestAnimationFrame = options.requestAnimationFrame;\n\tconst rerender = setupRerender();\n\n\t/** @type {() => void} */\n\tlet flush, toFlush;\n\n\t// Override requestAnimationFrame so we can flush pending hooks.\n\toptions.requestAnimationFrame = fc => (flush = fc);\n\n\tconst finish = () => {\n\t\ttry {\n\t\t\trerender();\n\t\t\twhile (flush) {\n\t\t\t\ttoFlush = flush;\n\t\t\t\tflush = null;\n\n\t\t\t\ttoFlush();\n\t\t\t\trerender();\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tif (!err) {\n\t\t\t\terr = e;\n\t\t\t}\n\t\t} finally {\n\t\t\tteardown();\n\t\t}\n\n\t\toptions.requestAnimationFrame = previousRequestAnimationFrame;\n\t\t--actDepth;\n\t};\n\n\tlet err;\n\tlet result;\n\n\ttry {\n\t\tresult = cb();\n\t} catch (e) {\n\t\terr = e;\n\t}\n\n\tif (isThenable(result)) {\n\t\treturn result.then(finish, err => {\n\t\t\tfinish();\n\t\t\tthrow err;\n\t\t});\n\t}\n\n\t// nb. If the callback is synchronous, effects must be flushed before\n\t// `act` returns, so that the caller does not have to await the result,\n\t// even though React recommends this.\n\tfinish();\n\tif (err) {\n\t\tthrow err;\n\t}\n\treturn Promise.resolve();\n}\n\n/**\n * Teardown test environment and reset preact's internal state\n */\nexport function teardown() {\n\tif (options.__test__drainQueue) {\n\t\t// Flush any pending updates leftover by test\n\t\toptions.__test__drainQueue();\n\t\tdelete options.__test__drainQueue;\n\t}\n\n\tif (typeof options.__test__previousDebounce != 'undefined') {\n\t\toptions.debounceRendering = options.__test__previousDebounce;\n\t\tdelete options.__test__previousDebounce;\n\t} else {\n\t\toptions.debounceRendering = undefined;\n\t}\n}\n"],"names":["setupRerender","options","__test__previousDebounce","debounceRendering","cb","__test__drainQueue","isThenable","value","then","actDepth","teardown","undefined","result","Promise","resolve","flush","toFlush","previousRequestAnimationFrame","requestAnimationFrame","rerender","fc","err","finish","e"],"mappings":"wRAMgBA,IAGf,OAFAC,EAAOA,QAACC,EAA2BD,EAAAA,QAAQE,kBAC3CF,EAAOA,QAACE,kBAAoB,SAAAC,UAAOH,UAAQI,EAAqBD,CAAlC,EACvB,WAAA,OAAMH,EAAOA,QAACI,GAAsBJ,UAAQI,GAA5C,CACP,CAED,IAAMC,EAAa,SAAAC,GAAK,OAAa,MAATA,GAAsC,mBAAdA,EAAMC,IAAlC,EAGpBC,EAAW,EAyFR,SAASC,IACXT,EAAOA,QAACI,IAEXJ,EAAOA,QAACI,WACDJ,EAAAA,QAAQI,QAG+B,IAApCJ,UAAQC,GAClBD,EAAAA,QAAQE,kBAAoBF,EAAOA,QAACC,SAC7BD,EAAOA,QAACC,GAEfD,EAAAA,QAAQE,uBAAoBQ,CAE7B,OA3FM,SAAaP,GACnB,KAAMK,EAAW,EAAG,CAOnB,IAAMG,EAASR,IACf,OAAIE,EAAWM,GACPA,EAAOJ,KAAK,aAChBC,CACF,MAEAA,EACKI,QAAQC,UACf,CAED,IAIIC,EAAOC,EAJLC,EAAgChB,EAAOA,QAACiB,sBACxCC,EAAWnB,IAMjBC,EAAOA,QAACiB,sBAAwB,SAAAE,GAAOL,OAAAA,EAAQK,CAAb,EAElC,IAsBIC,EACAT,EAvBEU,EAAS,WACd,IAEC,IADAH,IACOJ,GACNC,EAAUD,EACVA,EAAQ,KAERC,IACAG,GAQD,CANC,MAAOI,GACHF,IACJA,EAAME,EAEP,CAbD,QAcCb,GACA,CAEDT,EAAOA,QAACiB,sBAAwBD,IAC9BR,CACF,EAKD,IACCG,EAASR,GAGT,CAFC,MAAOmB,GACRF,EAAME,CACN,CAED,GAAIjB,EAAWM,GACd,OAAOA,EAAOJ,KAAKc,EAAQ,SAAAD,GAE1B,MADAC,IACMD,CACN,GAOF,GADAC,IACID,EACH,MAAMA,EAEP,OAAOR,QAAQC,SACf"}
|
||||
@@ -0,0 +1,3 @@
|
||||
import { Parser } from '../index';
|
||||
import { Node } from 'estree';
|
||||
export default function read_expression(parser: Parser): Node;
|
||||
@@ -0,0 +1,24 @@
|
||||
import { asyncScheduler } from '../scheduler/async';
|
||||
import { operate } from '../util/lift';
|
||||
import { createOperatorSubscriber } from './OperatorSubscriber';
|
||||
export function timeInterval(scheduler) {
|
||||
if (scheduler === void 0) { scheduler = asyncScheduler; }
|
||||
return operate(function (source, subscriber) {
|
||||
var last = scheduler.now();
|
||||
source.subscribe(createOperatorSubscriber(subscriber, function (value) {
|
||||
var now = scheduler.now();
|
||||
var interval = now - last;
|
||||
last = now;
|
||||
subscriber.next(new TimeInterval(value, interval));
|
||||
}));
|
||||
});
|
||||
}
|
||||
var TimeInterval = (function () {
|
||||
function TimeInterval(value, interval) {
|
||||
this.value = value;
|
||||
this.interval = interval;
|
||||
}
|
||||
return TimeInterval;
|
||||
}());
|
||||
export { TimeInterval };
|
||||
//# sourceMappingURL=timeInterval.js.map
|
||||
@@ -0,0 +1,48 @@
|
||||
'use strict';
|
||||
const http = require('http');
|
||||
const https = require('https');
|
||||
const Http2OverHttpX = require('./h2-over-hx.js');
|
||||
const getAuthorizationHeaders = require('./get-auth-headers.js');
|
||||
|
||||
const getStream = request => new Promise((resolve, reject) => {
|
||||
const onConnect = (response, socket, head) => {
|
||||
socket.unshift(head);
|
||||
|
||||
request.off('error', reject);
|
||||
resolve([socket, response.statusCode, response.statusMessage]);
|
||||
};
|
||||
|
||||
request.once('error', reject);
|
||||
request.once('connect', onConnect);
|
||||
});
|
||||
|
||||
class Http2OverHttp extends Http2OverHttpX {
|
||||
async _getProxyStream(authority) {
|
||||
const {proxyOptions} = this;
|
||||
const {url, headers} = this.proxyOptions;
|
||||
|
||||
const network = url.protocol === 'https:' ? https : http;
|
||||
|
||||
// `new URL('https://localhost/httpbin.org:443')` results in
|
||||
// a `/httpbin.org:443` path, which has an invalid leading slash.
|
||||
const request = network.request({
|
||||
...proxyOptions,
|
||||
hostname: url.hostname,
|
||||
port: url.port,
|
||||
path: authority,
|
||||
headers: {
|
||||
...getAuthorizationHeaders(this),
|
||||
...headers,
|
||||
host: authority
|
||||
},
|
||||
method: 'CONNECT'
|
||||
}).end();
|
||||
|
||||
return getStream(request);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
Http2OverHttp,
|
||||
Http2OverHttps: Http2OverHttp
|
||||
};
|
||||
@@ -0,0 +1,14 @@
|
||||
import { TimestampProvider } from '../types';
|
||||
|
||||
interface DateTimestampProvider extends TimestampProvider {
|
||||
delegate: TimestampProvider | undefined;
|
||||
}
|
||||
|
||||
export const dateTimestampProvider: DateTimestampProvider = {
|
||||
now() {
|
||||
// Use the variable rather than `this` so that the function can be called
|
||||
// without being bound to the provider.
|
||||
return (dateTimestampProvider.delegate || Date).now();
|
||||
},
|
||||
delegate: undefined,
|
||||
};
|
||||
@@ -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,"35":0,"36":0,"37":0,"38":0,"39":0,"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,"53":0,"54":0,"55":0.00473,"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,"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.00473,"87":0.00473,"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.00473,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0.01894,"109":0.47813,"110":0.24143,"111":0,"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,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00473,"48":0,"49":0.00473,"50":0,"51":0,"52":0,"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,"73":0,"74":0,"75":0,"76":0.02367,"77":0.04734,"78":0,"79":0.00473,"80":0,"81":0.00473,"83":0.00473,"84":0.00473,"85":0,"86":0.00473,"87":0,"88":0,"89":0,"90":0,"91":0.00473,"92":0.0142,"93":0.56335,"94":0,"95":0,"96":0,"97":0.00947,"98":0.00473,"99":0.00473,"100":0.0142,"101":0,"102":0.02367,"103":0.22723,"104":0.01894,"105":0.0284,"106":0.0284,"107":0.03787,"108":0.34558,"109":6.81223,"110":3.7872,"111":0.00947,"112":0,"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.00947,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"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,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0.04734,"64":0,"65":0,"66":0,"67":0.00947,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00473,"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.0284,"94":0.12308,"95":0.06154,"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.00473,"15":0,"16":0.00473,"17":0,"18":0.00947,"79":0,"80":0,"81":0,"83":0,"84":0.00473,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0.03787,"94":0,"95":0,"96":0.00473,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0.02367,"103":0,"104":0,"105":0.00947,"106":0.00473,"107":0.03314,"108":0.05207,"109":1.97408,"110":1.77525},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01894,"14":0.09941,"15":0.01894,_:"0","3.1":0,"3.2":0,"5.1":0.00473,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.03314,"13.1":0.04734,"14.1":0.13729,"15.1":0.04261,"15.2-15.3":0.01894,"15.4":0.02367,"15.5":0.56808,"15.6":0.56335,"16.0":0.18463,"16.1":0.17042,"16.2":0.44026,"16.3":0.35032,"16.4":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00939,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.34266,"10.0-10.2":0,"10.3":0.05867,"11.0-11.2":0,"11.3-11.4":0.00939,"12.0-12.1":0.00469,"12.2-12.5":0.32623,"13.0-13.1":0.01878,"13.2":0,"13.3":0.01173,"13.4-13.7":0.15959,"14.0-14.4":0.16663,"14.5-14.8":0.33562,"15.0-15.1":0.23939,"15.2-15.3":0.20419,"15.4":0.14317,"15.5":0.47174,"15.6":2.18972,"16.0":2.26013,"16.1":5.48486,"16.2":6.08334,"16.3":3.57209,"16.4":0.02112},P:{"4":0.14792,"20":1.52148,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.23245,"8.2":0,"9.2":0.01057,"10.1":0,"11.1-11.2":0.06339,"12.0":0,"13.0":0.04226,"14.0":0.02113,"15.0":0.0317,"16.0":0.08453,"17.0":0.06339,"18.0":0.16905,"19.0":2.54636},I:{"0":0,"3":0,"4":0.08088,"2.1":0,"2.2":0,"2.3":0,"4.1":0.12131,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":1.45577},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0.0142,"11":0.00947,"5.5":0},N:{"10":0,"11":0},S:{"2.5":0,_:"3.0-3.1"},J:{"7":0,"10":0},O:{"0":0.0316},H:{"0":0.28417},L:{"0":48.21667},R:{_:"0"},M:{"0":0.20537},Q:{"13.1":0}};
|
||||
@@ -0,0 +1 @@
|
||||
{"name":"picomatch","version":"2.3.1","files":{"LICENSE":{"checkedAt":1678883669371,"integrity":"sha512-iQJoeMXWqmJ6+ML4rS5/Uc95niPtI5BGjke8o2hiHatanYndkWcYZ3rCDXtNRPY5ncBKgQsUkvelrGRUZkVoWw==","mode":436,"size":1091},"lib/constants.js":{"checkedAt":1678883669371,"integrity":"sha512-LocLR0IfarQ0orOszKJW3atOKjCyEWNITJjTKoJlIY125hq+AcA73ZUVWB4w3RZBbj2mzgK8X64o1fg0cLB+/Q==","mode":436,"size":4448},"index.js":{"checkedAt":1678883669371,"integrity":"sha512-h8VLaD9UWTQ161k+8WOyXboqJ04n89oyNTYHwqEsw0im6aT9yeHztQxz/XtyLNM/KPCMWJY3MDTC89VKpZfcpA==","mode":436,"size":60},"lib/picomatch.js":{"checkedAt":1678883669374,"integrity":"sha512-rPBSuEe6/LnLYGLmbCCQljx78etUL/8RbtS/qjJkZGNCW3YCN8stlsEYjevV39tseRSChuh0bdg3UBVHG9jZHA==","mode":436,"size":9956},"lib/parse.js":{"checkedAt":1678883669374,"integrity":"sha512-dZaY0Fua0BQnz4IpBVX+Vs/XKHv+JgP1looK/v+XSZ0/iAXewNQbb8Ty2lFhbdc1eXfuvhOV37RUa+AXav6knA==","mode":436,"size":27763},"lib/utils.js":{"checkedAt":1678883669375,"integrity":"sha512-G22tZUwNamRPcFdUiwxLsjYIUhfxbsYOGbDeLLRNONl7gerwFmqpXe+6KAFRRouwwV9blTXrvJC7R5jTcbxWIg==","mode":436,"size":1885},"package.json":{"checkedAt":1678883669375,"integrity":"sha512-0hoGRIfyfmSVrZRbAUabXkVCvxCBjBy9NDOeb/HwtyLEaeICDSNovzayc05ZdM18wSO6Q9HZjBHgEBUiHVFtBA==","mode":436,"size":1912},"lib/scan.js":{"checkedAt":1678883669375,"integrity":"sha512-w6ae9ePRbYvyCBhUhEF8IUNwOb1qJTfTqQwsHHx5Wgis1MoegEaTPMlw3Yx3GDNypYCj5bMS5rQPPBPQHJeBYw==","mode":436,"size":9189},"CHANGELOG.md":{"checkedAt":1678883669376,"integrity":"sha512-3IXNspCf65MwcVQZ24e8ffD6za1n5iq6iGLrKHZhcj8K8W4Ad8Z/FMUUUx6xqcSk2CaQVeQcIN7Qsqe4Xw9ZsQ==","mode":436,"size":6203},"README.md":{"checkedAt":1678883669377,"integrity":"sha512-HglLIqb+/sXfUnrUX5AkLuEnPUhXXig2/nXalqXz45jrVEwt+onwt5JJyXPArlcJu+wiMvVFvdRigCl+Zly/Fw==","mode":436,"size":27445}}}
|
||||
@@ -0,0 +1,21 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createNotification = exports.nextNotification = exports.errorNotification = exports.COMPLETE_NOTIFICATION = void 0;
|
||||
exports.COMPLETE_NOTIFICATION = (function () { return createNotification('C', undefined, undefined); })();
|
||||
function errorNotification(error) {
|
||||
return createNotification('E', undefined, error);
|
||||
}
|
||||
exports.errorNotification = errorNotification;
|
||||
function nextNotification(value) {
|
||||
return createNotification('N', value, undefined);
|
||||
}
|
||||
exports.nextNotification = nextNotification;
|
||||
function createNotification(kind, value, error) {
|
||||
return {
|
||||
kind: kind,
|
||||
value: value,
|
||||
error: error,
|
||||
};
|
||||
}
|
||||
exports.createNotification = createNotification;
|
||||
//# sourceMappingURL=NotificationFactories.js.map
|
||||
@@ -0,0 +1,276 @@
|
||||
"use strict";
|
||||
|
||||
var to_ascii, to_base64;
|
||||
if (typeof Buffer == "undefined") {
|
||||
to_ascii = atob;
|
||||
to_base64 = btoa;
|
||||
} else if (typeof Buffer.alloc == "undefined") {
|
||||
to_ascii = function(b64) {
|
||||
return new Buffer(b64, "base64").toString();
|
||||
};
|
||||
to_base64 = function(str) {
|
||||
return new Buffer(str).toString("base64");
|
||||
};
|
||||
} else {
|
||||
to_ascii = function(b64) {
|
||||
return Buffer.from(b64, "base64").toString();
|
||||
};
|
||||
to_base64 = function(str) {
|
||||
return Buffer.from(str).toString("base64");
|
||||
};
|
||||
}
|
||||
|
||||
function read_source_map(name, toplevel) {
|
||||
var comments = toplevel.end.comments_after;
|
||||
for (var i = comments.length; --i >= 0;) {
|
||||
var comment = comments[i];
|
||||
if (comment.type != "comment1") break;
|
||||
var match = /^# ([^\s=]+)=(\S+)\s*$/.exec(comment.value);
|
||||
if (!match) break;
|
||||
if (match[1] == "sourceMappingURL") {
|
||||
match = /^data:application\/json(;.*?)?;base64,([^,]+)$/.exec(match[2]);
|
||||
if (!match) break;
|
||||
return to_ascii(match[2]);
|
||||
}
|
||||
}
|
||||
AST_Node.warn("inline source map not found: {name}", {
|
||||
name: name,
|
||||
});
|
||||
}
|
||||
|
||||
function parse_source_map(content) {
|
||||
try {
|
||||
return JSON.parse(content);
|
||||
} catch (ex) {
|
||||
throw new Error("invalid input source map: " + content);
|
||||
}
|
||||
}
|
||||
|
||||
function set_shorthand(name, options, keys) {
|
||||
keys.forEach(function(key) {
|
||||
if (options[key]) {
|
||||
if (typeof options[key] != "object") options[key] = {};
|
||||
if (!(name in options[key])) options[key][name] = options[name];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function init_cache(cache) {
|
||||
if (!cache) return;
|
||||
if (!("props" in cache)) {
|
||||
cache.props = new Dictionary();
|
||||
} else if (!(cache.props instanceof Dictionary)) {
|
||||
cache.props = Dictionary.fromObject(cache.props);
|
||||
}
|
||||
}
|
||||
|
||||
function to_json(cache) {
|
||||
return {
|
||||
props: cache.props.toObject()
|
||||
};
|
||||
}
|
||||
|
||||
function minify(files, options) {
|
||||
try {
|
||||
options = defaults(options, {
|
||||
annotations: undefined,
|
||||
compress: {},
|
||||
enclose: false,
|
||||
expression: false,
|
||||
ie: false,
|
||||
ie8: false,
|
||||
keep_fargs: false,
|
||||
keep_fnames: false,
|
||||
mangle: {},
|
||||
module: false,
|
||||
nameCache: null,
|
||||
output: {},
|
||||
parse: {},
|
||||
rename: undefined,
|
||||
sourceMap: false,
|
||||
timings: false,
|
||||
toplevel: !!(options && options["module"]),
|
||||
v8: false,
|
||||
validate: false,
|
||||
warnings: false,
|
||||
webkit: false,
|
||||
wrap: false,
|
||||
}, true);
|
||||
if (options.validate) AST_Node.enable_validation();
|
||||
var timings = options.timings && { start: Date.now() };
|
||||
if (options.annotations !== undefined) set_shorthand("annotations", options, [ "compress", "output" ]);
|
||||
if (options.expression) set_shorthand("expression", options, [ "compress", "parse" ]);
|
||||
if (options.ie8) options.ie = options.ie || options.ie8;
|
||||
if (options.ie) set_shorthand("ie", options, [ "compress", "mangle", "output", "rename" ]);
|
||||
if (options.keep_fargs) set_shorthand("keep_fargs", options, [ "compress", "mangle", "rename" ]);
|
||||
if (options.keep_fnames) set_shorthand("keep_fnames", options, [ "compress", "mangle", "rename" ]);
|
||||
if (options.module) set_shorthand("module", options, [ "compress", "parse" ]);
|
||||
if (options.toplevel) set_shorthand("toplevel", options, [ "compress", "mangle", "rename" ]);
|
||||
if (options.v8) set_shorthand("v8", options, [ "mangle", "output", "rename" ]);
|
||||
if (options.webkit) set_shorthand("webkit", options, [ "compress", "mangle", "output", "rename" ]);
|
||||
var quoted_props;
|
||||
if (options.mangle) {
|
||||
options.mangle = defaults(options.mangle, {
|
||||
cache: options.nameCache && (options.nameCache.vars || {}),
|
||||
eval: false,
|
||||
ie: false,
|
||||
keep_fargs: false,
|
||||
keep_fnames: false,
|
||||
properties: false,
|
||||
reserved: [],
|
||||
toplevel: false,
|
||||
v8: false,
|
||||
webkit: false,
|
||||
}, true);
|
||||
if (options.mangle.properties) {
|
||||
if (typeof options.mangle.properties != "object") {
|
||||
options.mangle.properties = {};
|
||||
}
|
||||
if (options.mangle.properties.keep_quoted) {
|
||||
quoted_props = options.mangle.properties.reserved;
|
||||
if (!Array.isArray(quoted_props)) quoted_props = [];
|
||||
options.mangle.properties.reserved = quoted_props;
|
||||
}
|
||||
if (options.nameCache && !("cache" in options.mangle.properties)) {
|
||||
options.mangle.properties.cache = options.nameCache.props || {};
|
||||
}
|
||||
}
|
||||
init_cache(options.mangle.cache);
|
||||
init_cache(options.mangle.properties.cache);
|
||||
}
|
||||
if (options.rename === undefined) options.rename = options.compress && options.mangle;
|
||||
if (options.sourceMap) {
|
||||
options.sourceMap = defaults(options.sourceMap, {
|
||||
content: null,
|
||||
filename: null,
|
||||
includeSources: false,
|
||||
names: true,
|
||||
root: null,
|
||||
url: null,
|
||||
}, true);
|
||||
}
|
||||
var warnings = [];
|
||||
if (options.warnings) AST_Node.log_function(function(warning) {
|
||||
warnings.push(warning);
|
||||
}, options.warnings == "verbose");
|
||||
if (timings) timings.parse = Date.now();
|
||||
var toplevel;
|
||||
options.parse = options.parse || {};
|
||||
if (files instanceof AST_Node) {
|
||||
toplevel = files;
|
||||
} else {
|
||||
if (typeof files == "string") files = [ files ];
|
||||
options.parse.toplevel = null;
|
||||
var source_map_content = options.sourceMap && options.sourceMap.content;
|
||||
if (typeof source_map_content == "string" && source_map_content != "inline") {
|
||||
source_map_content = parse_source_map(source_map_content);
|
||||
}
|
||||
if (source_map_content) options.sourceMap.orig = Object.create(null);
|
||||
for (var name in files) if (HOP(files, name)) {
|
||||
options.parse.filename = name;
|
||||
options.parse.toplevel = toplevel = parse(files[name], options.parse);
|
||||
if (source_map_content == "inline") {
|
||||
var inlined_content = read_source_map(name, toplevel);
|
||||
if (inlined_content) options.sourceMap.orig[name] = parse_source_map(inlined_content);
|
||||
} else if (source_map_content) {
|
||||
options.sourceMap.orig[name] = source_map_content;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (options.parse.expression) toplevel = toplevel.wrap_expression();
|
||||
if (quoted_props) reserve_quoted_keys(toplevel, quoted_props);
|
||||
[ "enclose", "wrap" ].forEach(function(action) {
|
||||
var option = options[action];
|
||||
if (!option) return;
|
||||
var orig = toplevel.print_to_string().slice(0, -1);
|
||||
toplevel = toplevel[action](option);
|
||||
files[toplevel.start.file] = toplevel.print_to_string().replace(orig, "");
|
||||
});
|
||||
if (options.validate) toplevel.validate_ast();
|
||||
if (timings) timings.rename = Date.now();
|
||||
if (options.rename) {
|
||||
toplevel.figure_out_scope(options.rename);
|
||||
toplevel.expand_names(options.rename);
|
||||
}
|
||||
if (timings) timings.compress = Date.now();
|
||||
if (options.compress) {
|
||||
toplevel = new Compressor(options.compress).compress(toplevel);
|
||||
if (options.validate) toplevel.validate_ast();
|
||||
}
|
||||
if (timings) timings.scope = Date.now();
|
||||
if (options.mangle) toplevel.figure_out_scope(options.mangle);
|
||||
if (timings) timings.mangle = Date.now();
|
||||
if (options.mangle) {
|
||||
toplevel.compute_char_frequency(options.mangle);
|
||||
toplevel.mangle_names(options.mangle);
|
||||
}
|
||||
if (timings) timings.properties = Date.now();
|
||||
if (quoted_props) reserve_quoted_keys(toplevel, quoted_props);
|
||||
if (options.mangle && options.mangle.properties) mangle_properties(toplevel, options.mangle.properties);
|
||||
if (options.parse.expression) toplevel = toplevel.unwrap_expression();
|
||||
if (timings) timings.output = Date.now();
|
||||
var result = {};
|
||||
var output = defaults(options.output, {
|
||||
ast: false,
|
||||
code: true,
|
||||
});
|
||||
if (output.ast) result.ast = toplevel;
|
||||
if (output.code) {
|
||||
if (options.sourceMap) {
|
||||
output.source_map = SourceMap(options.sourceMap);
|
||||
if (options.sourceMap.includeSources) {
|
||||
if (files instanceof AST_Toplevel) {
|
||||
throw new Error("original source content unavailable");
|
||||
} else for (var name in files) if (HOP(files, name)) {
|
||||
output.source_map.setSourceContent(name, files[name]);
|
||||
}
|
||||
}
|
||||
}
|
||||
delete output.ast;
|
||||
delete output.code;
|
||||
var stream = OutputStream(output);
|
||||
toplevel.print(stream);
|
||||
result.code = stream.get();
|
||||
if (options.sourceMap) {
|
||||
result.map = output.source_map.toString();
|
||||
var url = options.sourceMap.url;
|
||||
if (url) {
|
||||
result.code = result.code.replace(/\n\/\/# sourceMappingURL=\S+\s*$/, "");
|
||||
if (url == "inline") {
|
||||
result.code += "\n//# sourceMappingURL=data:application/json;charset=utf-8;base64," + to_base64(result.map);
|
||||
} else {
|
||||
result.code += "\n//# sourceMappingURL=" + url;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (options.nameCache && options.mangle) {
|
||||
if (options.mangle.cache) options.nameCache.vars = to_json(options.mangle.cache);
|
||||
if (options.mangle.properties && options.mangle.properties.cache) {
|
||||
options.nameCache.props = to_json(options.mangle.properties.cache);
|
||||
}
|
||||
}
|
||||
if (timings) {
|
||||
timings.end = Date.now();
|
||||
result.timings = {
|
||||
parse: 1e-3 * (timings.rename - timings.parse),
|
||||
rename: 1e-3 * (timings.compress - timings.rename),
|
||||
compress: 1e-3 * (timings.scope - timings.compress),
|
||||
scope: 1e-3 * (timings.mangle - timings.scope),
|
||||
mangle: 1e-3 * (timings.properties - timings.mangle),
|
||||
properties: 1e-3 * (timings.output - timings.properties),
|
||||
output: 1e-3 * (timings.end - timings.output),
|
||||
total: 1e-3 * (timings.end - timings.start)
|
||||
};
|
||||
}
|
||||
if (warnings.length) {
|
||||
result.warnings = warnings;
|
||||
}
|
||||
return result;
|
||||
} catch (ex) {
|
||||
return { error: ex };
|
||||
} finally {
|
||||
AST_Node.log_function();
|
||||
AST_Node.disable_validation();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for csv2json/libs/interfaces/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</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></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >module.exports.cli=require("./cli");</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,5 @@
|
||||
col1:col2:col3:col4:col5:col6:col7:col8:col9:col10
|
||||
"Mini. Sectt:hisar S.O":125001:S.O:Non-Delivery:Hissar:Ambala HQ:Haryana:Hisar:Hisar:HARYANA
|
||||
#Mini. Sectt:hisar S.O#:125001:S.O:Non-Delivery:Hissar:Ambala HQ:Haryana:Hisar:Hisar:HARYANA
|
||||
#Mini. Sectt:hisar S.O#:125001:S.O:Non-Delivery:Hissar:Ambala HQ:Haryana:Hisar:Hisar:HARYANA
|
||||
#Mini. Sectt:hisar S.O#:#125001:fenvkdsf#:S.O:Non-Delivery:Hissar:Ambala HQ:Haryana:Hisar:Hisar:HARYANA
|
||||
@@ -0,0 +1,20 @@
|
||||
'use strict';
|
||||
|
||||
var implementation = require('../implementation');
|
||||
var callBind = require('call-bind');
|
||||
var test = require('tape');
|
||||
var hasStrictMode = require('has-strict-mode')();
|
||||
var runTests = require('./tests');
|
||||
|
||||
test('as a function', function (t) {
|
||||
t.test('bad array/this value', { skip: !hasStrictMode }, function (st) {
|
||||
/* eslint no-useless-call: 0 */
|
||||
st['throws'](function () { implementation.call(undefined); }, TypeError, 'undefined is not an object');
|
||||
st['throws'](function () { implementation.call(null); }, TypeError, 'null is not an object');
|
||||
st.end();
|
||||
});
|
||||
|
||||
runTests(callBind(implementation), t);
|
||||
|
||||
t.end();
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
{"name":"ini","version":"1.3.8","files":{"LICENSE":{"checkedAt":1678883670198,"integrity":"sha512-P6dI5Z+zrwxSk1MIRPqpYG2ScYNkidLIATQXd50QzBgBh/XmcEd/nsd9NB4O9k6rfc+4dsY5DwJ7xvhpoS0PRg==","mode":420,"size":765},"README.md":{"checkedAt":1678883672614,"integrity":"sha512-Z+0K+MbdSrd5dtuo2UDeoaQ/LHCbj9u2UH57vOWPItmHLGZNPg3tn3S0IZVK5DVqdnVo2U3/S4RHGniIzdF4tQ==","mode":420,"size":2718},"package.json":{"checkedAt":1678883673455,"integrity":"sha512-WzcfA/4QmRUTB7sBxEjg4+k7OtOzntG962YHM+geIW75OsKh/y/vMxFoglqvAi48o+taW/lgaAKlZUpwq+owCQ==","mode":420,"size":845},"ini.js":{"checkedAt":1678883673455,"integrity":"sha512-YVu7gJN6WpI7108LNVUSuqLyyVrB8/+kcUFotf4PaVoleFd0dzuNUbxuEZH7capOsMPGm/Qa74Xubopw2I1lFQ==","mode":420,"size":4976}}}
|
||||
@@ -0,0 +1,37 @@
|
||||
module.exports = {
|
||||
env: {
|
||||
browser: true,
|
||||
es6: true
|
||||
},
|
||||
extends: [
|
||||
'standard'
|
||||
],
|
||||
globals: {
|
||||
Atomics: 'readonly',
|
||||
SharedArrayBuffer: 'readonly'
|
||||
},
|
||||
parserOptions: {
|
||||
ecmaVersion: 2018
|
||||
},
|
||||
rules: {
|
||||
'comma-dangle': ['error', {
|
||||
arrays: 'always-multiline',
|
||||
objects: 'always-multiline',
|
||||
imports: 'always-multiline',
|
||||
exports: 'always-multiline',
|
||||
functions: 'always-multiline',
|
||||
}],
|
||||
},
|
||||
settings: {
|
||||
'import/core-modules': ['svelte'],
|
||||
},
|
||||
plugins: [
|
||||
'svelte3',
|
||||
],
|
||||
overrides: [
|
||||
{
|
||||
files: ['*.svelte'],
|
||||
processor: 'svelte3/svelte3',
|
||||
},
|
||||
],
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
type AnymatchFn = (testString: string) => boolean;
|
||||
type AnymatchPattern = string|RegExp|AnymatchFn;
|
||||
type AnymatchMatcher = AnymatchPattern|AnymatchPattern[]
|
||||
type AnymatchTester = {
|
||||
(testString: string|any[], returnIndex: true): number;
|
||||
(testString: string|any[]): boolean;
|
||||
}
|
||||
|
||||
type PicomatchOptions = {dot: boolean};
|
||||
|
||||
declare const anymatch: {
|
||||
(matchers: AnymatchMatcher): AnymatchTester;
|
||||
(matchers: AnymatchMatcher, testString: null, returnIndex: true | PicomatchOptions): AnymatchTester;
|
||||
(matchers: AnymatchMatcher, testString: string|any[], returnIndex: true | PicomatchOptions): number;
|
||||
(matchers: AnymatchMatcher, testString: string|any[]): boolean;
|
||||
}
|
||||
|
||||
export {AnymatchMatcher as Matcher}
|
||||
export {AnymatchTester as Tester}
|
||||
export default anymatch
|
||||
@@ -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.00472,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"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.00472,"53":0,"54":0,"55":0,"56":0.00943,"57":0,"58":0,"59":0,"60":0.00472,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.00472,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00472,"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.00472,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0.00472,"99":0.00472,"100":0,"101":0,"102":0.02829,"103":0.00472,"104":0.00472,"105":0.00472,"106":0.00472,"107":0.00943,"108":0.02829,"109":0.59409,"110":0.5328,"111":0.02829,"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.00472,"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.00472,"35":0,"36":0,"37":0,"38":0.00472,"39":0,"40":0.00472,"41":0,"42":0,"43":0.00472,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00472,"50":0.00472,"51":0,"52":0,"53":0,"54":0,"55":0.00472,"56":0,"57":0,"58":0.00472,"59":0,"60":0,"61":0.00472,"62":0,"63":0,"64":0.00472,"65":0.01886,"66":0,"67":0.00472,"68":0,"69":0.01415,"70":0,"71":0.00472,"72":0.00472,"73":0,"74":0.01886,"75":0.00472,"76":0,"77":0.00472,"78":0,"79":0.01415,"80":0.03772,"81":0.00472,"83":0.01415,"84":0.03301,"85":0.00472,"86":0.00472,"87":0.01886,"88":0.00472,"89":0.00472,"90":0.00943,"91":0.01886,"92":0.00943,"93":0.01886,"94":0.00472,"95":0.04715,"96":0.00472,"97":0.01415,"98":0.02358,"99":0.01886,"100":0.02358,"101":0.00472,"102":0.02358,"103":0.07073,"104":0.02358,"105":0.04715,"106":0.05187,"107":0.14617,"108":0.44793,"109":8.49643,"110":5.87018,"111":0.01886,"112":0.00943,"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.00472,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.00472,"31":0,"32":0,"33":0.00472,"34":0,"35":0.01415,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00943,"47":0.00472,"48":0,"49":0,"50":0,"51":0.00943,"52":0,"53":0.00943,"54":0,"55":0.00943,"56":0.00943,"57":0,"58":0.00472,"60":0.05658,"62":0,"63":0.25461,"64":0.05658,"65":0.01415,"66":0.23575,"67":0.35363,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.0613,"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.00943,"94":0.16031,"95":0.21689,"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.00472},B:{"12":0.03301,"13":0.04244,"14":0.01415,"15":0.00472,"16":0.00943,"17":0.00472,"18":0.09902,"79":0,"80":0,"81":0,"83":0,"84":0.00943,"85":0.00943,"86":0,"87":0,"88":0,"89":0.02358,"90":0.00472,"91":0,"92":0.04244,"93":0.00472,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0.00472,"101":0,"102":0.00472,"103":0,"104":0.00472,"105":0.00472,"106":0.02358,"107":0.03772,"108":0.04715,"109":0.99487,"110":1.01373},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00943,"14":0.00943,"15":0,_:"0","3.1":0,"3.2":0,"5.1":0.00472,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00472,"13.1":0.01415,"14.1":0.02829,"15.1":0.00943,"15.2-15.3":0,"15.4":0.00472,"15.5":0.00943,"15.6":0.0613,"16.0":0.00472,"16.1":0.03301,"16.2":0.03301,"16.3":0.04715,"16.4":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00833,"6.0-6.1":0,"7.0-7.1":0.06422,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.04401,"10.0-10.2":0.00119,"10.3":0.02498,"11.0-11.2":0.00238,"11.3-11.4":0.00476,"12.0-12.1":0.01427,"12.2-12.5":1.06328,"13.0-13.1":0.0107,"13.2":0.00119,"13.3":0.0226,"13.4-13.7":0.08088,"14.0-14.4":0.27593,"14.5-14.8":0.30804,"15.0-15.1":0.15343,"15.2-15.3":0.28782,"15.4":0.24144,"15.5":0.41627,"15.6":0.7933,"16.0":0.65771,"16.1":1.44506,"16.2":2.89964,"16.3":1.33445,"16.4":0.00238},P:{"4":0.11506,"20":0.23012,"5.0-5.4":0.02092,"6.2-6.4":0,"7.2-7.4":0.09414,"8.2":0,"9.2":0.01046,"10.1":0,"11.1-11.2":0.01046,"12.0":0,"13.0":0.01046,"14.0":0,"15.0":0.01046,"16.0":0.08368,"17.0":0.08368,"18.0":0.03138,"19.0":0.80541},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00524,"4.2-4.3":0.00699,"4.4":0,"4.4.3-4.4.4":0.09606},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.04244,"5.5":0},N:{"10":0,"11":0},S:{"2.5":0.05285,_:"3.0-3.1"},J:{"7":0,"10":0.00529},O:{"0":0.22726},H:{"0":6.76473},L:{"0":55.93957},R:{_:"0"},M:{"0":0.06342},Q:{"13.1":0}};
|
||||
@@ -0,0 +1 @@
|
||||
export * from '../types/runtime/transition/index';
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"findIndex.js","sourceRoot":"","sources":["../../../../src/internal/operators/findIndex.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAuDpC,MAAM,UAAU,SAAS,CACvB,SAAsE,EACtE,OAAa;IAEb,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1D,CAAC"}
|
||||
@@ -0,0 +1,8 @@
|
||||
/**
|
||||
* Pushes all `items` into `array` using `push`, therefore mutating the array.
|
||||
* We do this for memory and perf reasons, and because `array.push(...items)` would
|
||||
* run into a "max call stack size exceeded" error with too many items (~65k).
|
||||
* @param array
|
||||
* @param items
|
||||
*/
|
||||
export declare function push_array<T>(array: T[], items: T[]): void;
|
||||
@@ -0,0 +1,9 @@
|
||||
import { Task } from '../managers/tasks';
|
||||
import { Entry, EntryItem, ReaderOptions } from '../types';
|
||||
import ReaderAsync from '../readers/async';
|
||||
import Provider from './provider';
|
||||
export default class ProviderAsync extends Provider<Promise<EntryItem[]>> {
|
||||
protected _reader: ReaderAsync;
|
||||
read(task: Task): Promise<EntryItem[]>;
|
||||
api(root: string, task: Task, options: ReaderOptions): Promise<Entry[]>;
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
import { isFunction } from './util/isFunction';
|
||||
import { UnsubscriptionError } from './util/UnsubscriptionError';
|
||||
import { arrRemove } from './util/arrRemove';
|
||||
export class Subscription {
|
||||
constructor(initialTeardown) {
|
||||
this.initialTeardown = initialTeardown;
|
||||
this.closed = false;
|
||||
this._parentage = null;
|
||||
this._finalizers = null;
|
||||
}
|
||||
unsubscribe() {
|
||||
let errors;
|
||||
if (!this.closed) {
|
||||
this.closed = true;
|
||||
const { _parentage } = this;
|
||||
if (_parentage) {
|
||||
this._parentage = null;
|
||||
if (Array.isArray(_parentage)) {
|
||||
for (const parent of _parentage) {
|
||||
parent.remove(this);
|
||||
}
|
||||
}
|
||||
else {
|
||||
_parentage.remove(this);
|
||||
}
|
||||
}
|
||||
const { initialTeardown: initialFinalizer } = this;
|
||||
if (isFunction(initialFinalizer)) {
|
||||
try {
|
||||
initialFinalizer();
|
||||
}
|
||||
catch (e) {
|
||||
errors = e instanceof UnsubscriptionError ? e.errors : [e];
|
||||
}
|
||||
}
|
||||
const { _finalizers } = this;
|
||||
if (_finalizers) {
|
||||
this._finalizers = null;
|
||||
for (const finalizer of _finalizers) {
|
||||
try {
|
||||
execFinalizer(finalizer);
|
||||
}
|
||||
catch (err) {
|
||||
errors = errors !== null && errors !== void 0 ? errors : [];
|
||||
if (err instanceof UnsubscriptionError) {
|
||||
errors = [...errors, ...err.errors];
|
||||
}
|
||||
else {
|
||||
errors.push(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (errors) {
|
||||
throw new UnsubscriptionError(errors);
|
||||
}
|
||||
}
|
||||
}
|
||||
add(teardown) {
|
||||
var _a;
|
||||
if (teardown && teardown !== this) {
|
||||
if (this.closed) {
|
||||
execFinalizer(teardown);
|
||||
}
|
||||
else {
|
||||
if (teardown instanceof Subscription) {
|
||||
if (teardown.closed || teardown._hasParent(this)) {
|
||||
return;
|
||||
}
|
||||
teardown._addParent(this);
|
||||
}
|
||||
(this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);
|
||||
}
|
||||
}
|
||||
}
|
||||
_hasParent(parent) {
|
||||
const { _parentage } = this;
|
||||
return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));
|
||||
}
|
||||
_addParent(parent) {
|
||||
const { _parentage } = this;
|
||||
this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;
|
||||
}
|
||||
_removeParent(parent) {
|
||||
const { _parentage } = this;
|
||||
if (_parentage === parent) {
|
||||
this._parentage = null;
|
||||
}
|
||||
else if (Array.isArray(_parentage)) {
|
||||
arrRemove(_parentage, parent);
|
||||
}
|
||||
}
|
||||
remove(teardown) {
|
||||
const { _finalizers } = this;
|
||||
_finalizers && arrRemove(_finalizers, teardown);
|
||||
if (teardown instanceof Subscription) {
|
||||
teardown._removeParent(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
Subscription.EMPTY = (() => {
|
||||
const empty = new Subscription();
|
||||
empty.closed = true;
|
||||
return empty;
|
||||
})();
|
||||
export const EMPTY_SUBSCRIPTION = Subscription.EMPTY;
|
||||
export function isSubscription(value) {
|
||||
return (value instanceof Subscription ||
|
||||
(value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));
|
||||
}
|
||||
function execFinalizer(finalizer) {
|
||||
if (isFunction(finalizer)) {
|
||||
finalizer();
|
||||
}
|
||||
else {
|
||||
finalizer.unsubscribe();
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=Subscription.js.map
|
||||
@@ -0,0 +1,54 @@
|
||||
import stripAnsi from 'strip-ansi';
|
||||
import eastAsianWidth from 'eastasianwidth';
|
||||
import emojiRegex from 'emoji-regex';
|
||||
|
||||
export default function stringWidth(string, options = {}) {
|
||||
if (typeof string !== 'string' || string.length === 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
options = {
|
||||
ambiguousIsNarrow: true,
|
||||
...options
|
||||
};
|
||||
|
||||
string = stripAnsi(string);
|
||||
|
||||
if (string.length === 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
string = string.replace(emojiRegex(), ' ');
|
||||
|
||||
const ambiguousCharacterWidth = options.ambiguousIsNarrow ? 1 : 2;
|
||||
let width = 0;
|
||||
|
||||
for (const character of string) {
|
||||
const codePoint = character.codePointAt(0);
|
||||
|
||||
// Ignore control characters
|
||||
if (codePoint <= 0x1F || (codePoint >= 0x7F && codePoint <= 0x9F)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Ignore combining characters
|
||||
if (codePoint >= 0x300 && codePoint <= 0x36F) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const code = eastAsianWidth.eastAsianWidth(character);
|
||||
switch (code) {
|
||||
case 'F':
|
||||
case 'W':
|
||||
width += 2;
|
||||
break;
|
||||
case 'A':
|
||||
width += ambiguousCharacterWidth;
|
||||
break;
|
||||
default:
|
||||
width += 1;
|
||||
}
|
||||
}
|
||||
|
||||
return width;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
"use strict";
|
||||
|
||||
var isPrototype = require("../prototype/is");
|
||||
|
||||
// In theory we could rely on Symbol.toStringTag directly,
|
||||
// still early native implementation (e.g. in FF) predated symbols
|
||||
var objectToString = Object.prototype.toString, objectTaggedString = objectToString.call(new Set());
|
||||
|
||||
module.exports = function (value) {
|
||||
if (!value) return false;
|
||||
|
||||
// Sanity check (reject objects which do not expose common Set interface)
|
||||
try {
|
||||
if (typeof value.add !== "function") return false;
|
||||
if (typeof value.has !== "function") return false;
|
||||
if (typeof value.clear !== "function") return false;
|
||||
} catch (error) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Ensure its native Set object (has [[SetData]] slot)
|
||||
// Note: it's not 100% precise as string tag may be overriden
|
||||
// and other objects could be hacked to expose it
|
||||
if (objectToString.call(value) !== objectTaggedString) return false;
|
||||
|
||||
return !isPrototype(value);
|
||||
};
|
||||
@@ -0,0 +1,12 @@
|
||||
import Node from './shared/Node';
|
||||
import EventHandler from './EventHandler';
|
||||
import Action from './Action';
|
||||
import Component from '../Component';
|
||||
import TemplateScope from './shared/TemplateScope';
|
||||
import { Element } from '../../interfaces';
|
||||
export default class Body extends Node {
|
||||
type: 'Body';
|
||||
handlers: EventHandler[];
|
||||
actions: Action[];
|
||||
constructor(component: Component, parent: Node, scope: TemplateScope, info: Element);
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"J D E F CC","132":"A B"},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 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 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","260":"A B","388":"J D E F","900":"I v EC FC"},D:{"1":"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","16":"I v J","132":"5 6","388":"0 1 2 3 4 D E F A B C K L G M N O w g x y z"},E:{"1":"E F A B C K L G KC LC 0B qB rB 1B MC NC 2B 3B 4B 5B sB 6B 7B 8B 9B OC","2":"I HC zB","132":"D JC","388":"v J IC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C 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 rB","2":"F B PC QC RC SC qB AC TC","132":"G M N"},G:{"1":"E 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 UC BC","132":"XC","388":"VC WC"},H:{"2":"oC"},I:{"1":"f uC","2":"pC qC rC","388":"tC","900":"tB I sC BC"},J:{"132":"A","388":"D"},K:{"1":"C h rB","2":"A B qB AC"},L:{"1":"H"},M:{"1":"H"},N:{"132":"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:1,C:"XMLHttpRequest advanced features"};
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"J D E F A B CC"},B:{"1":"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","2":"C K L G M","132":"N"},C:{"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 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":"0 1 2 3 4 5 DC tB I v J D E F A B C K L G M N O w g x y z EC FC"},D:{"1":"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 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","132":"QB RB SB TB UB VB WB XB YB uB ZB vB aB bB cB"},E:{"1":"F A B C K L G LC 0B qB rB 1B MC NC 2B 3B 4B 5B sB 6B 7B 8B 9B OC","2":"I v J D E HC zB IC JC KC"},F:{"1":"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":"0 1 2 3 4 5 6 7 8 9 F B C G M N O w g x y z AB BB CB PC QC RC SC qB AC TC rB","132":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},G:{"1":"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":"E zB UC BC VC WC XC YC"},H:{"2":"oC"},I:{"1":"f","2":"tB I pC qC rC sC BC tC uC"},J:{"2":"D A"},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":"g 0C 0B 1C 2C 3C 4C 5C sB 6C 7C 8C","2":"I","132":"wC xC yC zC"},Q:{"1":"1B"},R:{"1":"9C"},S:{"1":"AD BD"}},B:1,C:"relList (DOMTokenList)"};
|
||||
@@ -0,0 +1,55 @@
|
||||
import assertString from './util/assertString';
|
||||
/**
|
||||
11.3. Examples
|
||||
|
||||
The following addresses
|
||||
|
||||
fe80::1234 (on the 1st link of the node)
|
||||
ff02::5678 (on the 5th link of the node)
|
||||
ff08::9abc (on the 10th organization of the node)
|
||||
|
||||
would be represented as follows:
|
||||
|
||||
fe80::1234%1
|
||||
ff02::5678%5
|
||||
ff08::9abc%10
|
||||
|
||||
(Here we assume a natural translation from a zone index to the
|
||||
<zone_id> part, where the Nth zone of any scope is translated into
|
||||
"N".)
|
||||
|
||||
If we use interface names as <zone_id>, those addresses could also be
|
||||
represented as follows:
|
||||
|
||||
fe80::1234%ne0
|
||||
ff02::5678%pvc1.3
|
||||
ff08::9abc%interface10
|
||||
|
||||
where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
|
||||
to the 5th link, and "interface10" belongs to the 10th organization.
|
||||
* * */
|
||||
|
||||
var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
|
||||
var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
|
||||
var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
|
||||
var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
|
||||
var IPv6AddressRegExp = new RegExp('^(' + "(?:".concat(IPv6SegmentFormat, ":){7}(?:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){6}(?:").concat(IPv4AddressFormat, "|:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){5}(?::").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,2}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){4}(?:(:").concat(IPv6SegmentFormat, "){0,1}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,3}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){3}(?:(:").concat(IPv6SegmentFormat, "){0,2}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,4}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){2}(?:(:").concat(IPv6SegmentFormat, "){0,3}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,5}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){1}(?:(:").concat(IPv6SegmentFormat, "){0,4}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,6}|:)|") + "(?::((?::".concat(IPv6SegmentFormat, "){0,5}:").concat(IPv4AddressFormat, "|(?::").concat(IPv6SegmentFormat, "){1,7}|:))") + ')(%[0-9a-zA-Z-.:]{1,})?$');
|
||||
export default function isIP(str) {
|
||||
var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
||||
assertString(str);
|
||||
version = String(version);
|
||||
|
||||
if (!version) {
|
||||
return isIP(str, 4) || isIP(str, 6);
|
||||
}
|
||||
|
||||
if (version === '4') {
|
||||
return IPv4AddressRegExp.test(str);
|
||||
}
|
||||
|
||||
if (version === '6') {
|
||||
return IPv6AddressRegExp.test(str);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = require('./async').forEachOfSeries;
|
||||
@@ -0,0 +1 @@
|
||||
{"name":"@octokit/openapi-types","version":"16.0.0","files":{"LICENSE":{"checkedAt":1678883670448,"integrity":"sha512-/euCVlJY7iwp9BzFzVgC3dur3kRq/g4eflmnSPsHwNzZu6Rq9MJsoWZgt+wUm2g5NW4eDDip9D8yOwxsM7VF4Q==","mode":420,"size":1054},"package.json":{"checkedAt":1678883670448,"integrity":"sha512-7b6UrmEgUyj3kze3FPmX6v/UV5Zvuy6w7S/URhvK5qP5k09WKMJnpVB8YNvm4sq8VxjdHKxQ9vXSmioVbX37Yw==","mode":420,"size":529},"README.md":{"checkedAt":1678883670448,"integrity":"sha512-Do1qcbu2322QaaciUva6TK7LqKITXPKfrw67iNBypc2dYWO5ajvnWTeS6hCcwafZSradX9v4xUszvOW3gSgIxA==","mode":420,"size":383},"types.d.ts":{"checkedAt":1678883670719,"integrity":"sha512-QUPVX6YOU/YBaaxpZVdERUwHy4p+q+qoKpX8yX1LmRVO8qQ2SbVTVDlZnuhKLQ1oKpnJSkKeR1usPj7NQD+lPQ==","mode":420,"size":4520283}}}
|
||||
@@ -0,0 +1,19 @@
|
||||
var baseIndexOf = require('./_baseIndexOf');
|
||||
|
||||
/**
|
||||
* Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol
|
||||
* that is not found in the character symbols.
|
||||
*
|
||||
* @private
|
||||
* @param {Array} strSymbols The string symbols to inspect.
|
||||
* @param {Array} chrSymbols The character symbols to find.
|
||||
* @returns {number} Returns the index of the last unmatched string symbol.
|
||||
*/
|
||||
function charsEndIndex(strSymbols, chrSymbols) {
|
||||
var index = strSymbols.length;
|
||||
|
||||
while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}
|
||||
return index;
|
||||
}
|
||||
|
||||
module.exports = charsEndIndex;
|
||||
@@ -0,0 +1,85 @@
|
||||
# run-parallel [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
|
||||
|
||||
[travis-image]: https://img.shields.io/travis/feross/run-parallel/master.svg
|
||||
[travis-url]: https://travis-ci.org/feross/run-parallel
|
||||
[npm-image]: https://img.shields.io/npm/v/run-parallel.svg
|
||||
[npm-url]: https://npmjs.org/package/run-parallel
|
||||
[downloads-image]: https://img.shields.io/npm/dm/run-parallel.svg
|
||||
[downloads-url]: https://npmjs.org/package/run-parallel
|
||||
[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
|
||||
[standard-url]: https://standardjs.com
|
||||
|
||||
### Run an array of functions in parallel
|
||||
|
||||
 [](https://saucelabs.com/u/run-parallel)
|
||||
|
||||
### install
|
||||
|
||||
```
|
||||
npm install run-parallel
|
||||
```
|
||||
|
||||
### usage
|
||||
|
||||
#### parallel(tasks, [callback])
|
||||
|
||||
Run the `tasks` array of functions in parallel, without waiting until the previous
|
||||
function has completed. If any of the functions pass an error to its callback, the main
|
||||
`callback` is immediately called with the value of the error. Once the `tasks` have
|
||||
completed, the results are passed to the final `callback` as an array.
|
||||
|
||||
It is also possible to use an object instead of an array. Each property will be run as a
|
||||
function and the results will be passed to the final `callback` as an object instead of
|
||||
an array. This can be a more readable way of handling the results.
|
||||
|
||||
##### arguments
|
||||
|
||||
- `tasks` - An array or object containing functions to run. Each function is passed a
|
||||
`callback(err, result)` which it must call on completion with an error `err` (which can
|
||||
be `null`) and an optional `result` value.
|
||||
- `callback(err, results)` - An optional callback to run once all the functions have
|
||||
completed. This function gets a results array (or object) containing all the result
|
||||
arguments passed to the task callbacks.
|
||||
|
||||
##### example
|
||||
|
||||
```js
|
||||
var parallel = require('run-parallel')
|
||||
|
||||
parallel([
|
||||
function (callback) {
|
||||
setTimeout(function () {
|
||||
callback(null, 'one')
|
||||
}, 200)
|
||||
},
|
||||
function (callback) {
|
||||
setTimeout(function () {
|
||||
callback(null, 'two')
|
||||
}, 100)
|
||||
}
|
||||
],
|
||||
// optional callback
|
||||
function (err, results) {
|
||||
// the results array will equal ['one','two'] even though
|
||||
// the second function had a shorter timeout.
|
||||
})
|
||||
```
|
||||
|
||||
This module is basically equavalent to
|
||||
[`async.parallel`](https://github.com/caolan/async#paralleltasks-callback), but it's
|
||||
handy to just have the one function you need instead of the kitchen sink. Modularity!
|
||||
Especially handy if you're serving to the browser and need to reduce your javascript
|
||||
bundle size.
|
||||
|
||||
Works great in the browser with [browserify](http://browserify.org/)!
|
||||
|
||||
### see also
|
||||
|
||||
- [run-auto](https://github.com/feross/run-auto)
|
||||
- [run-parallel-limit](https://github.com/feross/run-parallel-limit)
|
||||
- [run-series](https://github.com/feross/run-series)
|
||||
- [run-waterfall](https://github.com/feross/run-waterfall)
|
||||
|
||||
### license
|
||||
|
||||
MIT. Copyright (c) [Feross Aboukhadijeh](http://feross.org).
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"J D E F A CC","132":"B"},B:{"1":"C K L G M N O","513":"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":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","2":"0 1 2 3 4 5 6 7 8 9 DC tB I v J D E F A B C K L G M N O w g x y z AB BB EC FC","513":"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"},D:{"1":"HB IB JB KB LB MB NB OB PB QB","2":"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","513":"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":"B C K L G qB rB 1B MC NC 2B 3B 4B 5B sB 6B 7B 8B 9B OC","2":"I v J D E HC zB IC JC KC","260":"F A LC 0B"},F:{"1":"4 5 6 7 8 9 AB BB CB DB","2":"0 1 2 3 F B C G M N O w g x y z PC QC RC SC qB AC TC rB","513":"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"},G:{"1":"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":"E zB UC BC VC WC XC YC"},H:{"2":"oC"},I:{"2":"tB I pC qC rC sC BC tC uC","513":"f"},J:{"2":"D A"},K:{"2":"A B C qB AC rB","513":"h"},L:{"513":"H"},M:{"513":"H"},N:{"2":"A B"},O:{"513":"vC"},P:{"1":"I","513":"g wC xC yC zC 0C 0B 1C 2C 3C 4C 5C sB 6C 7C 8C"},Q:{"513":"1B"},R:{"513":"9C"},S:{"1":"AD","513":"BD"}},B:6,C:"HTTP/2 protocol"};
|
||||
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"name": "restore-cursor",
|
||||
"version": "4.0.0",
|
||||
"description": "Gracefully restore the CLI cursor on exit",
|
||||
"license": "MIT",
|
||||
"repository": "sindresorhus/restore-cursor",
|
||||
"funding": "https://github.com/sponsors/sindresorhus",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "https://sindresorhus.com"
|
||||
},
|
||||
"type": "module",
|
||||
"exports": "./index.js",
|
||||
"engines": {
|
||||
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && tsd"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"keywords": [
|
||||
"exit",
|
||||
"quit",
|
||||
"process",
|
||||
"graceful",
|
||||
"shutdown",
|
||||
"sigterm",
|
||||
"sigint",
|
||||
"terminate",
|
||||
"kill",
|
||||
"stop",
|
||||
"cli",
|
||||
"cursor",
|
||||
"ansi",
|
||||
"show",
|
||||
"term",
|
||||
"terminal",
|
||||
"console",
|
||||
"tty",
|
||||
"shell",
|
||||
"command-line"
|
||||
],
|
||||
"dependencies": {
|
||||
"onetime": "^5.1.0",
|
||||
"signal-exit": "^3.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"tsd": "^0.7.2",
|
||||
"xo": "^0.24.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('get-intrinsic');
|
||||
|
||||
var $TypeError = GetIntrinsic('%TypeError%');
|
||||
|
||||
var weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
||||
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
||||
|
||||
var $isNaN = require('../helpers/isNaN');
|
||||
var padTimeComponent = require('../helpers/padTimeComponent');
|
||||
|
||||
var Type = require('./Type');
|
||||
var WeekDay = require('./WeekDay');
|
||||
var MonthFromTime = require('./MonthFromTime');
|
||||
var YearFromTime = require('./YearFromTime');
|
||||
var DateFromTime = require('./DateFromTime');
|
||||
|
||||
// https://262.ecma-international.org/9.0/#sec-datestring
|
||||
|
||||
module.exports = function DateString(tv) {
|
||||
if (Type(tv) !== 'Number' || $isNaN(tv)) {
|
||||
throw new $TypeError('Assertion failed: `tv` must be a non-NaN Number');
|
||||
}
|
||||
var weekday = weekdays[WeekDay(tv)];
|
||||
var month = months[MonthFromTime(tv)];
|
||||
var day = padTimeComponent(DateFromTime(tv));
|
||||
var year = padTimeComponent(YearFromTime(tv), 4);
|
||||
return weekday + '\x20' + month + '\x20' + day + '\x20' + year;
|
||||
};
|
||||
@@ -0,0 +1,3 @@
|
||||
import type { DefaultColors } from './types/generated/colors'
|
||||
declare const colors: DefaultColors
|
||||
export = colors
|
||||
@@ -0,0 +1,5 @@
|
||||
var convert = require('./convert'),
|
||||
func = convert('unionWith', require('../unionWith'));
|
||||
|
||||
func.placeholder = require('./placeholder');
|
||||
module.exports = func;
|
||||
@@ -0,0 +1,39 @@
|
||||
# Nano ID
|
||||
|
||||
<img src="https://ai.github.io/nanoid/logo.svg" align="right"
|
||||
alt="Nano ID logo by Anton Lovchikov" width="180" height="94">
|
||||
|
||||
**English** | [Русский](./README.ru.md) | [简体中文](./README.zh-CN.md) | [Bahasa Indonesia](./README.id-ID.md)
|
||||
|
||||
A tiny, secure, URL-friendly, unique string ID generator for JavaScript.
|
||||
|
||||
> “An amazing level of senseless perfectionism,
|
||||
> which is simply impossible not to respect.”
|
||||
|
||||
* **Small.** 130 bytes (minified and gzipped). No dependencies.
|
||||
[Size Limit] controls the size.
|
||||
* **Fast.** It is 2 times faster than UUID.
|
||||
* **Safe.** It uses hardware random generator. Can be used in clusters.
|
||||
* **Short IDs.** It uses a larger alphabet than UUID (`A-Za-z0-9_-`).
|
||||
So ID size was reduced from 36 to 21 symbols.
|
||||
* **Portable.** Nano ID was ported
|
||||
to [20 programming languages](#other-programming-languages).
|
||||
|
||||
```js
|
||||
import { nanoid } from 'nanoid'
|
||||
model.id = nanoid() //=> "V1StGXR8_Z5jdHi6B-myT"
|
||||
```
|
||||
|
||||
Supports modern browsers, IE [with Babel], Node.js and React Native.
|
||||
|
||||
[online tool]: https://gitpod.io/#https://github.com/ai/nanoid/
|
||||
[with Babel]: https://developer.epages.com/blog/coding/how-to-transpile-node-modules-with-babel-and-webpack-in-a-monorepo/
|
||||
[Size Limit]: https://github.com/ai/size-limit
|
||||
|
||||
<a href="https://evilmartians.com/?utm_source=nanoid">
|
||||
<img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg"
|
||||
alt="Sponsored by Evil Martians" width="236" height="54">
|
||||
</a>
|
||||
|
||||
## Docs
|
||||
Read **[full docs](https://github.com/ai/nanoid#readme)** on GitHub.
|
||||
@@ -0,0 +1,3 @@
|
||||
import { combineLatestAll } from './combineLatestAll';
|
||||
export var combineAll = combineLatestAll;
|
||||
//# sourceMappingURL=combineAll.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../src/internal/operators/filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AA0DhE,MAAM,UAAU,MAAM,CAAI,SAA+C,EAAE,OAAa;IACtF,OAAO,OAAO,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;QAEpC,IAAI,KAAK,GAAG,CAAC,CAAC;QAId,MAAM,CAAC,SAAS,CAId,wBAAwB,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACnH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
||||
@@ -0,0 +1,2 @@
|
||||
import { Parser } from '../index';
|
||||
export default function tag(parser: Parser): void;
|
||||
@@ -0,0 +1,29 @@
|
||||
'use strict';
|
||||
|
||||
require('../auto');
|
||||
|
||||
var test = require('tape');
|
||||
var defineProperties = require('define-properties');
|
||||
var isEnumerable = Object.prototype.propertyIsEnumerable;
|
||||
|
||||
var runTests = require('./tests');
|
||||
|
||||
test('shimmed', function (t) {
|
||||
t.equal(typeof globalThis, 'object', 'globalThis is an object');
|
||||
t.equal('globalThis' in globalThis, true, 'globalThis is in globalThis');
|
||||
|
||||
t.test('enumerability', { skip: !defineProperties.supportsDescriptors }, function (et) {
|
||||
et.equal(false, isEnumerable.call(globalThis, 'globalThis'), 'globalThis.globalThis is not enumerable');
|
||||
et.end();
|
||||
});
|
||||
|
||||
t.test('writability', { skip: !defineProperties.supportsDescriptors }, function (wt) {
|
||||
var desc = Object.getOwnPropertyDescriptor(globalThis, 'globalThis');
|
||||
wt.equal(desc.writable, true, 'globalThis.globalThis is writable');
|
||||
wt.end();
|
||||
});
|
||||
|
||||
runTests(globalThis.globalThis, t);
|
||||
|
||||
t.end();
|
||||
});
|
||||
@@ -0,0 +1,31 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('get-intrinsic');
|
||||
|
||||
var $TypeError = GetIntrinsic('%TypeError%');
|
||||
|
||||
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
|
||||
var HasOwnProperty = require('./HasOwnProperty');
|
||||
var IsExtensible = require('./IsExtensible');
|
||||
var IsInteger = require('./IsInteger');
|
||||
var Type = require('./Type');
|
||||
|
||||
// https://262.ecma-international.org/9.0/#sec-setfunctionlength
|
||||
|
||||
module.exports = function SetFunctionLength(F, length) {
|
||||
if (typeof F !== 'function' || !IsExtensible(F) || HasOwnProperty(F, 'length')) {
|
||||
throw new $TypeError('Assertion failed: `F` must be an extensible function and lack an own `length` property');
|
||||
}
|
||||
if (Type(length) !== 'Number') {
|
||||
throw new $TypeError('Assertion failed: `length` must be a Number');
|
||||
}
|
||||
if (length < 0 || !IsInteger(length)) {
|
||||
throw new $TypeError('Assertion failed: `length` must be an integer >= 0');
|
||||
}
|
||||
return DefinePropertyOrThrow(F, 'length', {
|
||||
'[[Configurable]]': true,
|
||||
'[[Enumerable]]': false,
|
||||
'[[Value]]': length,
|
||||
'[[Writable]]': false
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,81 @@
|
||||
import {
|
||||
Stream,
|
||||
Writable as WritableStream,
|
||||
Readable as ReadableStream,
|
||||
Duplex as DuplexStream,
|
||||
Transform as TransformStream,
|
||||
} from 'node:stream';
|
||||
|
||||
/**
|
||||
@returns Whether `stream` is a [`Stream`](https://nodejs.org/api/stream.html#stream_stream).
|
||||
|
||||
@example
|
||||
```
|
||||
import fs from 'node:fs';
|
||||
import {isStream} from 'is-stream';
|
||||
|
||||
isStream(fs.createReadStream('unicorn.png'));
|
||||
//=> true
|
||||
|
||||
isStream({});
|
||||
//=> false
|
||||
```
|
||||
*/
|
||||
export function isStream(stream: unknown): stream is Stream;
|
||||
|
||||
/**
|
||||
@returns Whether `stream` is a [`stream.Writable`](https://nodejs.org/api/stream.html#stream_class_stream_writable).
|
||||
|
||||
@example
|
||||
```
|
||||
import fs from 'node:fs';
|
||||
import {isWritableStream} from 'is-stream';
|
||||
|
||||
isWritableStream(fs.createWriteStrem('unicorn.txt'));
|
||||
//=> true
|
||||
```
|
||||
*/
|
||||
export function isWritableStream(stream: unknown): stream is WritableStream;
|
||||
|
||||
/**
|
||||
@returns Whether `stream` is a [`stream.Readable`](https://nodejs.org/api/stream.html#stream_class_stream_readable).
|
||||
|
||||
@example
|
||||
```
|
||||
import fs from 'node:fs';
|
||||
import {isReadableStream} from 'is-stream';
|
||||
|
||||
isReadableStream(fs.createReadStream('unicorn.png'));
|
||||
//=> true
|
||||
```
|
||||
*/
|
||||
export function isReadableStream(stream: unknown): stream is ReadableStream;
|
||||
|
||||
/**
|
||||
@returns Whether `stream` is a [`stream.Duplex`](https://nodejs.org/api/stream.html#stream_class_stream_duplex).
|
||||
|
||||
@example
|
||||
```
|
||||
import {Duplex as DuplexStream} from 'node:stream';
|
||||
import {isDuplexStream} from 'is-stream';
|
||||
|
||||
isDuplexStream(new DuplexStream());
|
||||
//=> true
|
||||
```
|
||||
*/
|
||||
export function isDuplexStream(stream: unknown): stream is DuplexStream;
|
||||
|
||||
/**
|
||||
@returns Whether `stream` is a [`stream.Transform`](https://nodejs.org/api/stream.html#stream_class_stream_transform).
|
||||
|
||||
@example
|
||||
```
|
||||
import fs from 'node:fs';
|
||||
import StringifyStream from 'streaming-json-stringify';
|
||||
import {isTransformStream} from 'is-stream';
|
||||
|
||||
isTransformStream(StringifyStream());
|
||||
//=> true
|
||||
```
|
||||
*/
|
||||
export function isTransformStream(stream: unknown): stream is TransformStream;
|
||||
@@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
|
||||
if (!require("./is-implemented")()) {
|
||||
Object.defineProperty(require("ext/global-this"), "Symbol", {
|
||||
value: require("./polyfill"),
|
||||
configurable: true,
|
||||
enumerable: false,
|
||||
writable: true
|
||||
});
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,72 @@
|
||||
<script>export let handler;
|
||||
export let orderBy = null;
|
||||
const identifier = orderBy ? orderBy.toString() : orderBy;
|
||||
const sorted = handler.getSorted();
|
||||
</script>
|
||||
|
||||
|
||||
<th
|
||||
on:click={() => handler.sort(orderBy)}
|
||||
class:sortable={orderBy}
|
||||
class:active={$sorted.identifier === identifier}
|
||||
>
|
||||
<div class="flex">
|
||||
<strong>
|
||||
<slot/>
|
||||
</strong>
|
||||
<span
|
||||
class:asc={$sorted.direction === 'asc'}
|
||||
class:desc={$sorted.direction === 'desc'}
|
||||
/>
|
||||
</div>
|
||||
</th>
|
||||
|
||||
|
||||
<style>
|
||||
th {
|
||||
background:inherit;
|
||||
margin:0;
|
||||
white-space:nowrap;
|
||||
padding:0 4px;
|
||||
user-select: none;
|
||||
border-bottom:1px solid #e0e0e0;
|
||||
}
|
||||
th.sortable {
|
||||
cursor:pointer;
|
||||
}
|
||||
th.sortable div.flex{
|
||||
padding:8px 0 8px 16px;
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
height:100%;
|
||||
}
|
||||
th.sortable span {
|
||||
padding-left:8px;
|
||||
}
|
||||
th.sortable span:before,
|
||||
th.sortable span:after {
|
||||
border:4px solid transparent;
|
||||
content:'';
|
||||
display:block;
|
||||
height:0;
|
||||
width:0;
|
||||
}
|
||||
th.sortable span:before {
|
||||
border-bottom-color:#e0e0e0;
|
||||
margin-top:2px;
|
||||
}
|
||||
th.sortable span:after {
|
||||
border-top-color:#e0e0e0;
|
||||
margin-top:2px;
|
||||
}
|
||||
th.active.sortable span.asc:before {
|
||||
border-bottom-color:#9e9e9e;
|
||||
}
|
||||
th.active.sortable span.desc:after {
|
||||
border-top-color:#9e9e9e;
|
||||
}
|
||||
th:not(.sortable) span{
|
||||
visibility:hidden;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,252 @@
|
||||
import test from 'ava';
|
||||
import sinon from 'sinon';
|
||||
import nock from 'nock';
|
||||
import GitLab from '../lib/plugin/gitlab/GitLab.js';
|
||||
import { factory, runTasks } from './util/index.js';
|
||||
import {
|
||||
interceptUser,
|
||||
interceptCollaborator,
|
||||
interceptPublish,
|
||||
interceptAsset,
|
||||
interceptMilestones
|
||||
} from './stub/gitlab.js';
|
||||
|
||||
const tokenHeader = 'Private-Token';
|
||||
const tokenRef = 'GITLAB_TOKEN';
|
||||
|
||||
test.serial('should validate token', async t => {
|
||||
const tokenRef = 'MY_GITLAB_TOKEN';
|
||||
const pushRepo = 'https://gitlab.com/user/repo';
|
||||
const options = { gitlab: { release: true, tokenRef, tokenHeader, pushRepo } };
|
||||
const gitlab = factory(GitLab, { options });
|
||||
delete process.env[tokenRef];
|
||||
|
||||
await t.throwsAsync(gitlab.init(), {
|
||||
message: /^Environment variable "MY_GITLAB_TOKEN" is required for GitLab releases/
|
||||
});
|
||||
process.env[tokenRef] = '123'; // eslint-disable-line require-atomic-updates
|
||||
|
||||
interceptUser(undefined, { reqheaders: { 'private-token': '123' } });
|
||||
interceptCollaborator(undefined, { reqheaders: { 'private-token': '123' } });
|
||||
await t.notThrowsAsync(gitlab.init());
|
||||
});
|
||||
|
||||
test.serial('should support CI Job token header', async t => {
|
||||
const tokenRef = 'CI_JOB_TOKEN';
|
||||
const tokenHeader = 'Job-Token';
|
||||
process.env[tokenRef] = 'j0b-t0k3n';
|
||||
const pushRepo = 'https://gitlab.com/user/repo';
|
||||
const options = { git: { pushRepo }, gitlab: { release: true, tokenRef, tokenHeader } };
|
||||
const gitlab = factory(GitLab, { options });
|
||||
|
||||
interceptPublish(undefined, { reqheaders: { 'job-token': '1' } });
|
||||
|
||||
await t.notThrowsAsync(gitlab.init());
|
||||
|
||||
delete process.env[tokenRef];
|
||||
});
|
||||
|
||||
test.serial('should upload assets and release', async t => {
|
||||
const pushRepo = 'https://gitlab.com/user/repo';
|
||||
const options = {
|
||||
git: { pushRepo },
|
||||
gitlab: {
|
||||
tokenRef,
|
||||
release: true,
|
||||
releaseName: 'Release ${version}',
|
||||
releaseNotes: 'echo Custom notes',
|
||||
assets: 'test/resources/file-v${version}.txt',
|
||||
milestones: ['${version}', '${latestVersion} UAT']
|
||||
}
|
||||
};
|
||||
const gitlab = factory(GitLab, { options });
|
||||
sinon.stub(gitlab, 'getLatestVersion').resolves('2.0.0');
|
||||
|
||||
interceptUser();
|
||||
interceptCollaborator();
|
||||
interceptMilestones({
|
||||
query: { title: '2.0.1' },
|
||||
milestones: [
|
||||
{
|
||||
id: 17,
|
||||
iid: 3,
|
||||
title: '2.0.1'
|
||||
}
|
||||
]
|
||||
});
|
||||
interceptMilestones({
|
||||
query: { title: '2.0.0 UAT' },
|
||||
milestones: [
|
||||
{
|
||||
id: 42,
|
||||
iid: 4,
|
||||
title: '2.0.0 UAT'
|
||||
}
|
||||
]
|
||||
});
|
||||
interceptAsset();
|
||||
interceptPublish({
|
||||
body: {
|
||||
name: 'Release 2.0.1',
|
||||
tag_name: '2.0.1',
|
||||
description: 'Custom notes',
|
||||
assets: {
|
||||
links: [
|
||||
{
|
||||
name: 'file-v2.0.1.txt',
|
||||
url: `${pushRepo}/uploads/7e8bec1fe27cc46a4bc6a91b9e82a07c/file-v2.0.1.txt`
|
||||
}
|
||||
]
|
||||
},
|
||||
milestones: ['2.0.1', '2.0.0 UAT']
|
||||
}
|
||||
});
|
||||
|
||||
await runTasks(gitlab);
|
||||
|
||||
t.is(gitlab.assets[0].url, `${pushRepo}/uploads/7e8bec1fe27cc46a4bc6a91b9e82a07c/file-v2.0.1.txt`);
|
||||
const { isReleased, releaseUrl } = gitlab.getContext();
|
||||
t.true(isReleased);
|
||||
t.is(releaseUrl, `${pushRepo}/-/releases`);
|
||||
});
|
||||
|
||||
test.serial('should throw when release milestone is missing', async t => {
|
||||
const pushRepo = 'https://gitlab.com/user/repo';
|
||||
const options = {
|
||||
git: { pushRepo },
|
||||
gitlab: {
|
||||
tokenRef,
|
||||
release: true,
|
||||
milestones: ['${version}', '${latestVersion} UAT']
|
||||
}
|
||||
};
|
||||
const gitlab = factory(GitLab, { options });
|
||||
sinon.stub(gitlab, 'getLatestVersion').resolves('2.0.0');
|
||||
|
||||
interceptUser();
|
||||
interceptCollaborator();
|
||||
interceptMilestones({
|
||||
query: { title: '2.0.1' },
|
||||
milestones: [
|
||||
{
|
||||
id: 17,
|
||||
iid: 3,
|
||||
title: '2.0.1'
|
||||
}
|
||||
]
|
||||
});
|
||||
interceptMilestones({
|
||||
query: { title: '2.0.0 UAT' },
|
||||
milestones: []
|
||||
});
|
||||
|
||||
await t.throwsAsync(runTasks(gitlab), {
|
||||
message: /^Missing one or more milestones in GitLab. Creating a GitLab release will fail./
|
||||
});
|
||||
});
|
||||
|
||||
test.serial('should release to self-managed host', async t => {
|
||||
const host = 'https://gitlab.example.org';
|
||||
const scope = nock(host);
|
||||
scope.post('/api/v4/projects/user%2Frepo/releases').reply(200, {});
|
||||
const options = {
|
||||
git: { pushRepo: `${host}/user/repo` },
|
||||
gitlab: { releaseName: 'Release ${version}', releaseNotes: 'echo readme', tokenRef }
|
||||
};
|
||||
const gitlab = factory(GitLab, { options });
|
||||
sinon.stub(gitlab, 'getLatestVersion').resolves('1.0.0');
|
||||
|
||||
interceptUser({ host });
|
||||
interceptCollaborator({ host });
|
||||
|
||||
await runTasks(gitlab);
|
||||
|
||||
const { origin, baseUrl } = gitlab.getContext();
|
||||
t.is(origin, host);
|
||||
t.is(baseUrl, `${host}/api/v4`);
|
||||
});
|
||||
|
||||
test.serial('should release to sub-grouped repo', async t => {
|
||||
const scope = nock('https://gitlab.com');
|
||||
scope.post('/api/v4/projects/group%2Fsub-group%2Frepo/releases').reply(200, {});
|
||||
const options = { gitlab: { tokenRef }, git: { pushRepo: 'git@gitlab.com:group/sub-group/repo.git' } };
|
||||
const gitlab = factory(GitLab, { options });
|
||||
|
||||
interceptUser({ owner: 'sub-group' });
|
||||
interceptCollaborator({ owner: 'sub-group', group: 'group' });
|
||||
|
||||
await runTasks(gitlab);
|
||||
|
||||
const { isReleased, releaseUrl } = gitlab.getContext();
|
||||
t.true(isReleased);
|
||||
t.is(releaseUrl, 'https://gitlab.com/group/sub-group/repo/-/releases');
|
||||
});
|
||||
|
||||
test.serial('should throw for unauthenticated user', async t => {
|
||||
const host = 'https://gitlab.com';
|
||||
const pushRepo = `${host}/user/repo`;
|
||||
const options = { gitlab: { tokenRef, pushRepo, host } };
|
||||
const gitlab = factory(GitLab, { options });
|
||||
const scope = nock(host);
|
||||
scope.get(`/api/v4/user`).reply(401);
|
||||
|
||||
await t.throwsAsync(runTasks(gitlab), {
|
||||
message: /^Could not authenticate with GitLab using environment variable "GITLAB_TOKEN"/
|
||||
});
|
||||
});
|
||||
|
||||
test.serial('should throw for non-collaborator', async t => {
|
||||
const host = 'https://gitlab.com';
|
||||
const pushRepo = `${host}/john/repo`;
|
||||
const options = { gitlab: { tokenRef, pushRepo, host } };
|
||||
const gitlab = factory(GitLab, { options });
|
||||
const scope = nock(host);
|
||||
scope.get(`/api/v4/projects/john%2Frepo/members/all/1`).reply(200, { username: 'emma' });
|
||||
interceptUser({ owner: 'john' });
|
||||
|
||||
await t.throwsAsync(runTasks(gitlab), { message: /^User john is not a collaborator for john\/repo/ });
|
||||
});
|
||||
|
||||
test.serial('should throw for insufficient access level', async t => {
|
||||
const host = 'https://gitlab.com';
|
||||
const pushRepo = `${host}/john/repo`;
|
||||
const options = { gitlab: { tokenRef, pushRepo, host } };
|
||||
const gitlab = factory(GitLab, { options });
|
||||
const scope = nock(host);
|
||||
scope.get(`/api/v4/projects/john%2Frepo/members/all/1`).reply(200, { username: 'john', access_level: 10 });
|
||||
interceptUser({ owner: 'john' });
|
||||
|
||||
await t.throwsAsync(runTasks(gitlab), { message: /^User john is not a collaborator for john\/repo/ });
|
||||
});
|
||||
|
||||
test('should not make requests in dry run', async t => {
|
||||
const [host, owner, repo] = ['https://gitlab.example.org', 'user', 'repo'];
|
||||
const pushRepo = `${host}/${owner}/${repo}`;
|
||||
const options = { 'dry-run': true, git: { pushRepo }, gitlab: { releaseName: 'R', tokenRef } };
|
||||
const gitlab = factory(GitLab, { options });
|
||||
sinon.stub(gitlab, 'getLatestVersion').resolves('1.0.0');
|
||||
const spy = sinon.spy(gitlab, 'client', ['get']);
|
||||
|
||||
await runTasks(gitlab);
|
||||
|
||||
const { isReleased, releaseUrl } = gitlab.getContext();
|
||||
t.is(spy.get.callCount, 0);
|
||||
t.is(gitlab.log.exec.args[2][0], 'gitlab releases#uploadAssets');
|
||||
t.is(gitlab.log.exec.args[3][0], 'gitlab releases#createRelease "R" (1.0.1)');
|
||||
t.true(isReleased);
|
||||
t.is(releaseUrl, `${pushRepo}/-/releases`);
|
||||
spy.get.restore();
|
||||
});
|
||||
|
||||
test('should skip checks', async t => {
|
||||
const options = { gitlab: { tokenRef, skipChecks: true, release: true, milestones: ['v1.0.0'] } };
|
||||
const gitlab = factory(GitLab, { options });
|
||||
const spy = sinon.spy(gitlab, 'client', ['get']);
|
||||
|
||||
await t.notThrowsAsync(gitlab.init());
|
||||
await t.notThrowsAsync(gitlab.beforeRelease());
|
||||
|
||||
t.is(spy.get.callCount, 0);
|
||||
|
||||
t.is(gitlab.log.exec.args.filter(entry => /checkReleaseMilestones/.test(entry[0])).length, 0);
|
||||
});
|
||||
@@ -0,0 +1,5 @@
|
||||
var convert = require('./convert'),
|
||||
func = convert('matchesProperty', require('../matchesProperty'));
|
||||
|
||||
func.placeholder = require('./placeholder');
|
||||
module.exports = func;
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user