mirror of
https://github.com/idanoo/GoScrobble
synced 2025-07-25 00:49:15 +00:00
0.2.0 - Mid migration
This commit is contained in:
parent
139e6a915e
commit
7e38fdbd7d
42393 changed files with 5358157 additions and 62 deletions
19
web/node_modules/nth-check/lib/compile.d.ts
generated
vendored
Normal file
19
web/node_modules/nth-check/lib/compile.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
/**
|
||||
* Returns a function that checks if an elements index matches the given rule
|
||||
* highly optimized to return the fastest solution.
|
||||
*
|
||||
* @param parsed A tuple [a, b], as returned by `parse`.
|
||||
* @returns A highly optimized function that returns whether an index matches the nth-check.
|
||||
* @example
|
||||
* const check = nthCheck.compile([2, 3]);
|
||||
*
|
||||
* check(0); // `false`
|
||||
* check(1); // `false`
|
||||
* check(2); // `true`
|
||||
* check(3); // `false`
|
||||
* check(4); // `true`
|
||||
* check(5); // `false`
|
||||
* check(6); // `true`
|
||||
*/
|
||||
export declare function compile(parsed: [a: number, b: number]): (index: number) => boolean;
|
||||
//# sourceMappingURL=compile.d.ts.map
|
1
web/node_modules/nth-check/lib/compile.d.ts.map
generated
vendored
Normal file
1
web/node_modules/nth-check/lib/compile.d.ts.map
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CACnB,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,GAC/B,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAgC5B"}
|
55
web/node_modules/nth-check/lib/compile.js
generated
vendored
Normal file
55
web/node_modules/nth-check/lib/compile.js
generated
vendored
Normal file
|
@ -0,0 +1,55 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.compile = void 0;
|
||||
var boolbase_1 = require("boolbase");
|
||||
/**
|
||||
* Returns a function that checks if an elements index matches the given rule
|
||||
* highly optimized to return the fastest solution.
|
||||
*
|
||||
* @param parsed A tuple [a, b], as returned by `parse`.
|
||||
* @returns A highly optimized function that returns whether an index matches the nth-check.
|
||||
* @example
|
||||
* const check = nthCheck.compile([2, 3]);
|
||||
*
|
||||
* check(0); // `false`
|
||||
* check(1); // `false`
|
||||
* check(2); // `true`
|
||||
* check(3); // `false`
|
||||
* check(4); // `true`
|
||||
* check(5); // `false`
|
||||
* check(6); // `true`
|
||||
*/
|
||||
function compile(parsed) {
|
||||
var a = parsed[0];
|
||||
// Subtract 1 from `b`, to convert from one- to zero-indexed.
|
||||
var b = parsed[1] - 1;
|
||||
/*
|
||||
* When `b <= 0`, `a * n` won't be lead to any matches for `a < 0`.
|
||||
* Besides, the specification states that no elements are
|
||||
* matched when `a` and `b` are 0.
|
||||
*
|
||||
* `b < 0` here as we subtracted 1 from `b` above.
|
||||
*/
|
||||
if (b < 0 && a <= 0)
|
||||
return boolbase_1.falseFunc;
|
||||
// When `a` is in the range -1..1, it matches any element (so only `b` is checked).
|
||||
if (a === -1)
|
||||
return function (index) { return index <= b; };
|
||||
if (a === 0)
|
||||
return function (index) { return index === b; };
|
||||
// When `b <= 0` and `a === 1`, they match any element.
|
||||
if (a === 1)
|
||||
return b < 0 ? boolbase_1.trueFunc : function (index) { return index >= b; };
|
||||
/*
|
||||
* Otherwise, modulo can be used to check if there is a match.
|
||||
*
|
||||
* Modulo doesn't care about the sign, so let's use `a`s absolute value.
|
||||
*/
|
||||
var absA = Math.abs(a);
|
||||
// Get `b mod a`, + a if this is negative.
|
||||
var bMod = ((b % absA) + absA) % absA;
|
||||
return a > 1
|
||||
? function (index) { return index >= b && index % absA === bMod; }
|
||||
: function (index) { return index <= b && index % absA === bMod; };
|
||||
}
|
||||
exports.compile = compile;
|
28
web/node_modules/nth-check/lib/index.d.ts
generated
vendored
Normal file
28
web/node_modules/nth-check/lib/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
import { parse } from "./parse";
|
||||
import { compile } from "./compile";
|
||||
export { parse, compile };
|
||||
/**
|
||||
* Parses and compiles a formula to a highly optimized function.
|
||||
* Combination of `parse` and `compile`.
|
||||
*
|
||||
* If the formula doesn't match any elements,
|
||||
* it returns [`boolbase`](https://github.com/fb55/boolbase)'s `falseFunc`.
|
||||
* Otherwise, a function accepting an _index_ is returned, which returns
|
||||
* whether or not the passed _index_ matches the formula.
|
||||
*
|
||||
* Note: The nth-rule starts counting at `1`, the returned function at `0`.
|
||||
*
|
||||
* @param formula The formula to compile.
|
||||
* @example
|
||||
* const check = nthCheck("2n+3");
|
||||
*
|
||||
* check(0); // `false`
|
||||
* check(1); // `false`
|
||||
* check(2); // `true`
|
||||
* check(3); // `false`
|
||||
* check(4); // `true`
|
||||
* check(5); // `false`
|
||||
* check(6); // `true`
|
||||
*/
|
||||
export default function nthCheck(formula: string): (index: number) => boolean;
|
||||
//# sourceMappingURL=index.d.ts.map
|
1
web/node_modules/nth-check/lib/index.d.ts.map
generated
vendored
Normal file
1
web/node_modules/nth-check/lib/index.d.ts.map
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAE5E"}
|
34
web/node_modules/nth-check/lib/index.js
generated
vendored
Normal file
34
web/node_modules/nth-check/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,34 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.compile = exports.parse = void 0;
|
||||
var parse_1 = require("./parse");
|
||||
Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parse_1.parse; } });
|
||||
var compile_1 = require("./compile");
|
||||
Object.defineProperty(exports, "compile", { enumerable: true, get: function () { return compile_1.compile; } });
|
||||
/**
|
||||
* Parses and compiles a formula to a highly optimized function.
|
||||
* Combination of `parse` and `compile`.
|
||||
*
|
||||
* If the formula doesn't match any elements,
|
||||
* it returns [`boolbase`](https://github.com/fb55/boolbase)'s `falseFunc`.
|
||||
* Otherwise, a function accepting an _index_ is returned, which returns
|
||||
* whether or not the passed _index_ matches the formula.
|
||||
*
|
||||
* Note: The nth-rule starts counting at `1`, the returned function at `0`.
|
||||
*
|
||||
* @param formula The formula to compile.
|
||||
* @example
|
||||
* const check = nthCheck("2n+3");
|
||||
*
|
||||
* check(0); // `false`
|
||||
* check(1); // `false`
|
||||
* check(2); // `true`
|
||||
* check(3); // `false`
|
||||
* check(4); // `true`
|
||||
* check(5); // `false`
|
||||
* check(6); // `true`
|
||||
*/
|
||||
function nthCheck(formula) {
|
||||
return compile_1.compile(parse_1.parse(formula));
|
||||
}
|
||||
exports.default = nthCheck;
|
9
web/node_modules/nth-check/lib/parse.d.ts
generated
vendored
Normal file
9
web/node_modules/nth-check/lib/parse.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
/**
|
||||
* Parses an expression.
|
||||
*
|
||||
* @throws An `Error` if parsing fails.
|
||||
* @returns An array containing the integer step size and the integer offset of the nth rule.
|
||||
* @example nthCheck.parse("2n+3"); // returns [2, 3]
|
||||
*/
|
||||
export declare function parse(formula: string): [a: number, b: number];
|
||||
//# sourceMappingURL=parse.d.ts.map
|
1
web/node_modules/nth-check/lib/parse.d.ts.map
generated
vendored
Normal file
1
web/node_modules/nth-check/lib/parse.d.ts.map
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CA6B7D"}
|
39
web/node_modules/nth-check/lib/parse.js
generated
vendored
Normal file
39
web/node_modules/nth-check/lib/parse.js
generated
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
"use strict";
|
||||
// Following http://www.w3.org/TR/css3-selectors/#nth-child-pseudo
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.parse = void 0;
|
||||
// [ ['-'|'+']? INTEGER? {N} [ S* ['-'|'+'] S* INTEGER ]?
|
||||
var RE_NTH_ELEMENT = /^([+-]?\d*n)?\s*(?:([+-]?)\s*(\d+))?$/;
|
||||
/**
|
||||
* Parses an expression.
|
||||
*
|
||||
* @throws An `Error` if parsing fails.
|
||||
* @returns An array containing the integer step size and the integer offset of the nth rule.
|
||||
* @example nthCheck.parse("2n+3"); // returns [2, 3]
|
||||
*/
|
||||
function parse(formula) {
|
||||
formula = formula.trim().toLowerCase();
|
||||
if (formula === "even") {
|
||||
return [2, 0];
|
||||
}
|
||||
else if (formula === "odd") {
|
||||
return [2, 1];
|
||||
}
|
||||
var parsed = formula.match(RE_NTH_ELEMENT);
|
||||
if (!parsed) {
|
||||
throw new Error("n-th rule couldn't be parsed ('" + formula + "')");
|
||||
}
|
||||
var a;
|
||||
if (parsed[1]) {
|
||||
a = parseInt(parsed[1], 10);
|
||||
if (isNaN(a)) {
|
||||
a = parsed[1].startsWith("-") ? -1 : 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
a = 0;
|
||||
var b = (parsed[2] === "-" ? -1 : 1) *
|
||||
(parsed[3] ? parseInt(parsed[3], 10) : 0);
|
||||
return [a, b];
|
||||
}
|
||||
exports.parse = parse;
|
Loading…
Add table
Add a link
Reference in a new issue