@raindrops-on-roses/number 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/package.json +33 -0
package/README.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# @raindrops-on-roses/number
|
|
2
|
+
|
|
3
|
+
Aggregate package for the `number` module tree in [raindrops-on-roses](https://www.npmjs.com/package/raindrops-on-roses).
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npm install @raindrops-on-roses/number
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { /* utilities */ } from "@raindrops-on-roses/number";
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Included packages
|
|
18
|
+
|
|
19
|
+
- `@raindrops-on-roses/number-clamp`
|
|
20
|
+
- `@raindrops-on-roses/number-lttb`
|
|
21
|
+
- `@raindrops-on-roses/number-nice-number`
|
|
22
|
+
- `@raindrops-on-roses/number-numbers-from-seed`
|
|
23
|
+
|
|
24
|
+
## Complete library
|
|
25
|
+
|
|
26
|
+
You can also install the complete library:
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
npm install raindrops-on-roses
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Repository
|
|
33
|
+
|
|
34
|
+
[graphieros/raindrops-on-roses](https://github.com/graphieros/raindrops-on-roses)
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,8CAA8C,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
//#region ../number-clamp/dist/index.js
|
|
2
|
+
function e(e, t, n) {
|
|
3
|
+
return Math.min(Math.max(e, t), n);
|
|
4
|
+
}
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region ../number-lttb/dist/index.js
|
|
7
|
+
function t({ data: e, threshold: t }) {
|
|
8
|
+
if (t >= e.length || t < 3) return e;
|
|
9
|
+
let n = [], r = (e.length - 2) / (t - 2), i = 0;
|
|
10
|
+
n.push(e[i]);
|
|
11
|
+
for (let a = 0; a < t - 2; a += 1) {
|
|
12
|
+
let t = Math.floor((a + 1) * r) + 1, o = Math.min(Math.floor((a + 2) * r) + 1, e.length), s = e.slice(t, o), c = s.reduce((e, t) => e + t, 0) / s.length, l = -1, u = i;
|
|
13
|
+
for (let n = t; n < o; n += 1) {
|
|
14
|
+
let t = Math.abs((e[i] - c) * (n - i));
|
|
15
|
+
t > l && (l = t, u = n);
|
|
16
|
+
}
|
|
17
|
+
n.push(e[u]), i = u;
|
|
18
|
+
}
|
|
19
|
+
return n.push(e[e.length - 1]), n;
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region ../number-nice-number/dist/index.js
|
|
23
|
+
function n(e, t = !1) {
|
|
24
|
+
let n = 10 ** Math.floor(Math.log10(e)), r = e / n, i = 2 ** -52 * Math.max(1, Math.abs(r)), a;
|
|
25
|
+
return a = t ? r < 1.5 - i ? 1 : r < 3 - i ? 2 : r < 7 - i ? 5 : 10 : r <= 1 + i ? 1 : r <= 2 + i ? 2 : r <= 5 + i ? 5 : 10, a * n;
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region ../number-numbers-from-seed/dist/index.js
|
|
29
|
+
function r({ count: e, seed: t, trend: n = null, multiplicator: r = 1, rounded: i = !0 }) {
|
|
30
|
+
let a = String(t), o = 2166136261;
|
|
31
|
+
for (let e = 0; e < a.length; e += 1) o ^= a.charCodeAt(e), o = Math.imul(o, 16777619);
|
|
32
|
+
let s = o >>> 0, c = Array.from({ length: e }, () => {
|
|
33
|
+
s += 1831565813;
|
|
34
|
+
let e = s;
|
|
35
|
+
e = Math.imul(e ^ e >>> 15, e | 1), e ^= e + Math.imul(e ^ e >>> 7, e | 61);
|
|
36
|
+
let t = ((e ^ e >>> 14) >>> 0) / 4294967296 * r;
|
|
37
|
+
return i ? Math.round(t) : t;
|
|
38
|
+
});
|
|
39
|
+
return n === "up" ? c.sort((e, t) => e - t) : n === "down" ? c.sort((e, t) => t - e) : c;
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
export { e as clamp, t as lttb, n as niceNumber, r as numbersFromSeed };
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["e","e","e"],"sources":["../../number-clamp/dist/index.js","../../number-lttb/dist/index.js","../../number-nice-number/dist/index.js","../../number-numbers-from-seed/dist/index.js"],"sourcesContent":["//#region src/index.ts\nfunction e(e, t, n) {\n\treturn Math.min(Math.max(e, t), n);\n}\n//#endregion\nexport { e as clamp };\n\n//# sourceMappingURL=index.js.map","//#region src/index.ts\nfunction e({ data: e, threshold: t }) {\n\tif (t >= e.length || t < 3) return e;\n\tlet n = [], r = (e.length - 2) / (t - 2), i = 0;\n\tn.push(e[i]);\n\tfor (let a = 0; a < t - 2; a += 1) {\n\t\tlet t = Math.floor((a + 1) * r) + 1, o = Math.min(Math.floor((a + 2) * r) + 1, e.length), s = e.slice(t, o), c = s.reduce((e, t) => e + t, 0) / s.length, l = -1, u = i;\n\t\tfor (let n = t; n < o; n += 1) {\n\t\t\tlet t = Math.abs((e[i] - c) * (n - i));\n\t\t\tt > l && (l = t, u = n);\n\t\t}\n\t\tn.push(e[u]), i = u;\n\t}\n\treturn n.push(e[e.length - 1]), n;\n}\n//#endregion\nexport { e as lttb };\n\n//# sourceMappingURL=index.js.map","//#region src/index.ts\nfunction e(e, t = !1) {\n\tlet n = 10 ** Math.floor(Math.log10(e)), r = e / n, i = 2 ** -52 * Math.max(1, Math.abs(r)), a;\n\treturn a = t ? r < 1.5 - i ? 1 : r < 3 - i ? 2 : r < 7 - i ? 5 : 10 : r <= 1 + i ? 1 : r <= 2 + i ? 2 : r <= 5 + i ? 5 : 10, a * n;\n}\n//#endregion\nexport { e as niceNumber };\n\n//# sourceMappingURL=index.js.map","//#region src/index.ts\nfunction e({ count: e, seed: t, trend: n = null, multiplicator: r = 1, rounded: i = !0 }) {\n\tlet a = String(t), o = 2166136261;\n\tfor (let e = 0; e < a.length; e += 1) o ^= a.charCodeAt(e), o = Math.imul(o, 16777619);\n\tlet s = o >>> 0, c = Array.from({ length: e }, () => {\n\t\ts += 1831565813;\n\t\tlet e = s;\n\t\te = Math.imul(e ^ e >>> 15, e | 1), e ^= e + Math.imul(e ^ e >>> 7, e | 61);\n\t\tlet t = ((e ^ e >>> 14) >>> 0) / 4294967296 * r;\n\t\treturn i ? Math.round(t) : t;\n\t});\n\treturn n === \"up\" ? c.sort((e, t) => e - t) : n === \"down\" ? c.sort((e, t) => t - e) : c;\n}\n//#endregion\nexport { e as numbersFromSeed };\n\n//# sourceMappingURL=index.js.map"],"mappings":";AACA,SAAS,EAAE,GAAG,GAAG,GAAG;CACnB,OAAO,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC;AAClC;;;ACFA,SAASA,EAAE,EAAE,MAAM,GAAG,WAAW,KAAK;CACrC,IAAI,KAAK,EAAE,UAAU,IAAI,GAAG,OAAO;CACnC,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,SAAS,MAAM,IAAI,IAAI,IAAI;CAC9C,EAAE,KAAK,EAAE,EAAE;CACX,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,KAAK,GAAG;EAClC,IAAI,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,QAAQ,GAAG,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,IAAI;EACtK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG;GAC9B,IAAI,IAAI,KAAK,KAAK,EAAE,KAAK,MAAM,IAAI,EAAE;GACrC,IAAI,MAAM,IAAI,GAAG,IAAI;EACtB;EACA,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI;CACnB;CACA,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG;AACjC;;;ACbA,SAASC,EAAE,GAAG,IAAI,CAAC,GAAG;CACrB,IAAI,IAAI,MAAM,KAAK,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,GAAG;CAC7F,OAAO,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI;AAClI;;;ACHA,SAASC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,IAAI,MAAM,eAAe,IAAI,GAAG,SAAS,IAAI,CAAC,KAAK;CACzF,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI;CACvB,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,GAAG,KAAK,EAAE,WAAW,CAAC,GAAG,IAAI,KAAK,KAAK,GAAG,QAAQ;CACrF,IAAI,IAAI,MAAM,GAAG,IAAI,MAAM,KAAK,EAAE,QAAQ,EAAE,SAAS;EACpD,KAAK;EACL,IAAI,IAAI;EACR,IAAI,KAAK,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,KAAK,KAAK,IAAI,MAAM,GAAG,IAAI,EAAE;EAC1E,IAAI,MAAM,IAAI,MAAM,QAAQ,KAAK,aAAa;EAC9C,OAAO,IAAI,KAAK,MAAM,CAAC,IAAI;CAC5B,CAAC;CACD,OAAO,MAAM,OAAO,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,MAAM,SAAS,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI;AACxF"}
|
package/package.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@raindrops-on-roses/number",
|
|
3
|
+
"version": "0.0.2",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"sideEffects": false,
|
|
6
|
+
"files": [
|
|
7
|
+
"dist"
|
|
8
|
+
],
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "vite build && tsc -p tsconfig.json"
|
|
17
|
+
},
|
|
18
|
+
"publishConfig": {
|
|
19
|
+
"access": "public"
|
|
20
|
+
},
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/graphieros/raindrops-on-roses.git",
|
|
25
|
+
"directory": "packages/number"
|
|
26
|
+
},
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@raindrops-on-roses/number-clamp": "0.0.1",
|
|
29
|
+
"@raindrops-on-roses/number-lttb": "0.0.1",
|
|
30
|
+
"@raindrops-on-roses/number-nice-number": "0.0.1",
|
|
31
|
+
"@raindrops-on-roses/number-numbers-from-seed": "0.0.1"
|
|
32
|
+
}
|
|
33
|
+
}
|