animejs 4.1.4 → 4.2.0
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 +17 -8
- package/{lib → dist/bundles}/anime.esm.js +6476 -6106
- package/dist/bundles/anime.esm.min.js +7 -0
- package/dist/bundles/anime.umd.js +8809 -0
- package/dist/bundles/anime.umd.min.js +7 -0
- package/dist/modules/animatable/animatable.cjs +150 -0
- package/dist/modules/animatable/animatable.d.ts +28 -0
- package/dist/modules/animatable/animatable.js +147 -0
- package/dist/modules/animatable/index.cjs +15 -0
- package/dist/modules/animatable/index.d.ts +1 -0
- package/dist/modules/animatable/index.js +8 -0
- package/dist/modules/animation/additive.cjs +82 -0
- package/dist/modules/animation/additive.d.ts +15 -0
- package/dist/modules/animation/additive.js +79 -0
- package/dist/modules/animation/animation.cjs +667 -0
- package/dist/modules/animation/animation.d.ts +45 -0
- package/dist/modules/animation/animation.js +664 -0
- package/dist/modules/animation/composition.cjs +383 -0
- package/dist/modules/animation/composition.d.ts +10 -0
- package/dist/modules/animation/composition.js +377 -0
- package/dist/modules/animation/index.cjs +15 -0
- package/dist/modules/animation/index.d.ts +1 -0
- package/dist/modules/animation/index.js +8 -0
- package/dist/modules/core/clock.cjs +110 -0
- package/dist/modules/core/clock.d.ts +51 -0
- package/dist/modules/core/clock.js +108 -0
- package/dist/modules/core/colors.cjs +102 -0
- package/dist/modules/core/colors.d.ts +2 -0
- package/dist/modules/core/colors.js +100 -0
- package/dist/modules/core/consts.cjs +159 -0
- package/dist/modules/core/consts.d.ts +61 -0
- package/dist/modules/core/consts.js +124 -0
- package/dist/modules/core/globals.cjs +78 -0
- package/dist/modules/core/globals.d.ts +29 -0
- package/dist/modules/core/globals.js +73 -0
- package/dist/modules/core/helpers.cjs +304 -0
- package/dist/modules/core/helpers.d.ts +43 -0
- package/dist/modules/core/helpers.js +261 -0
- package/dist/modules/core/render.cjs +391 -0
- package/dist/modules/core/render.d.ts +4 -0
- package/dist/modules/core/render.js +388 -0
- package/dist/modules/core/styles.cjs +116 -0
- package/dist/modules/core/styles.d.ts +5 -0
- package/dist/modules/core/styles.js +113 -0
- package/dist/modules/core/targets.cjs +136 -0
- package/dist/modules/core/targets.d.ts +118 -0
- package/dist/modules/core/targets.js +132 -0
- package/dist/modules/core/transforms.cjs +49 -0
- package/dist/modules/core/transforms.d.ts +2 -0
- package/dist/modules/core/transforms.js +47 -0
- package/dist/modules/core/units.cjs +67 -0
- package/dist/modules/core/units.d.ts +3 -0
- package/dist/modules/core/units.js +65 -0
- package/dist/modules/core/values.cjs +226 -0
- package/dist/modules/core/values.d.ts +14 -0
- package/dist/modules/core/values.js +216 -0
- package/dist/modules/draggable/draggable.cjs +1226 -0
- package/dist/modules/draggable/draggable.d.ts +272 -0
- package/dist/modules/draggable/draggable.js +1223 -0
- package/dist/modules/draggable/index.cjs +15 -0
- package/dist/modules/draggable/index.d.ts +1 -0
- package/dist/modules/draggable/index.js +8 -0
- package/dist/modules/easings/cubic-bezier/index.cjs +64 -0
- package/dist/modules/easings/cubic-bezier/index.d.ts +2 -0
- package/dist/modules/easings/cubic-bezier/index.js +62 -0
- package/dist/modules/easings/eases/index.cjs +14 -0
- package/dist/modules/easings/eases/index.d.ts +1 -0
- package/dist/modules/easings/eases/index.js +8 -0
- package/dist/modules/easings/eases/parser.cjs +191 -0
- package/dist/modules/easings/eases/parser.d.ts +125 -0
- package/dist/modules/easings/eases/parser.js +185 -0
- package/dist/modules/easings/index.cjs +26 -0
- package/dist/modules/easings/index.d.ts +6 -0
- package/dist/modules/easings/index.js +13 -0
- package/dist/modules/easings/irregular/index.cjs +41 -0
- package/dist/modules/easings/irregular/index.d.ts +2 -0
- package/dist/modules/easings/irregular/index.js +39 -0
- package/dist/modules/easings/linear/index.cjs +59 -0
- package/dist/modules/easings/linear/index.d.ts +2 -0
- package/dist/modules/easings/linear/index.js +57 -0
- package/dist/modules/easings/none.cjs +19 -0
- package/dist/modules/easings/none.d.ts +8 -0
- package/dist/modules/easings/none.js +17 -0
- package/dist/modules/easings/spring/index.cjs +255 -0
- package/dist/modules/easings/spring/index.d.ts +53 -0
- package/dist/modules/easings/spring/index.js +251 -0
- package/dist/modules/easings/steps/index.cjs +30 -0
- package/dist/modules/easings/steps/index.d.ts +2 -0
- package/dist/modules/easings/steps/index.js +28 -0
- package/dist/modules/engine/engine.cjs +168 -0
- package/dist/modules/engine/engine.d.ts +21 -0
- package/dist/modules/engine/engine.js +166 -0
- package/dist/modules/engine/index.cjs +14 -0
- package/dist/modules/engine/index.d.ts +1 -0
- package/dist/modules/engine/index.js +8 -0
- package/dist/modules/events/index.cjs +16 -0
- package/dist/modules/events/index.d.ts +1 -0
- package/dist/modules/events/index.js +8 -0
- package/dist/modules/events/scroll.cjs +940 -0
- package/dist/modules/events/scroll.d.ts +191 -0
- package/dist/modules/events/scroll.js +936 -0
- package/dist/modules/index.cjs +102 -0
- package/dist/modules/index.d.ts +18 -0
- package/dist/modules/index.js +41 -0
- package/dist/modules/scope/index.cjs +15 -0
- package/dist/modules/scope/index.d.ts +1 -0
- package/dist/modules/scope/index.js +8 -0
- package/dist/modules/scope/scope.cjs +254 -0
- package/dist/modules/scope/scope.d.ts +115 -0
- package/dist/modules/scope/scope.js +251 -0
- package/dist/modules/svg/drawable.cjs +119 -0
- package/dist/modules/svg/drawable.d.ts +3 -0
- package/dist/modules/svg/drawable.js +117 -0
- package/dist/modules/svg/helpers.cjs +30 -0
- package/dist/modules/svg/helpers.d.ts +2 -0
- package/dist/modules/svg/helpers.js +28 -0
- package/dist/modules/svg/index.cjs +18 -0
- package/dist/modules/svg/index.d.ts +3 -0
- package/dist/modules/svg/index.js +10 -0
- package/dist/modules/svg/morphto.cjs +58 -0
- package/dist/modules/svg/morphto.d.ts +3 -0
- package/dist/modules/svg/morphto.js +56 -0
- package/dist/modules/svg/motionpath.cjs +79 -0
- package/dist/modules/svg/motionpath.d.ts +7 -0
- package/dist/modules/svg/motionpath.js +77 -0
- package/dist/modules/text/index.cjs +16 -0
- package/dist/modules/text/index.d.ts +1 -0
- package/dist/modules/text/index.js +8 -0
- package/dist/modules/text/split.cjs +488 -0
- package/dist/modules/text/split.d.ts +62 -0
- package/dist/modules/text/split.js +484 -0
- package/dist/modules/timeline/index.cjs +15 -0
- package/dist/modules/timeline/index.d.ts +1 -0
- package/dist/modules/timeline/index.js +8 -0
- package/dist/modules/timeline/position.cjs +72 -0
- package/dist/modules/timeline/position.d.ts +3 -0
- package/dist/modules/timeline/position.js +70 -0
- package/dist/modules/timeline/timeline.cjs +312 -0
- package/dist/modules/timeline/timeline.d.ts +163 -0
- package/dist/modules/timeline/timeline.js +309 -0
- package/dist/modules/timer/index.cjs +15 -0
- package/dist/modules/timer/index.d.ts +1 -0
- package/dist/modules/timer/index.js +8 -0
- package/dist/modules/timer/timer.cjs +491 -0
- package/dist/modules/timer/timer.d.ts +141 -0
- package/dist/modules/timer/timer.js +488 -0
- package/dist/modules/types/index.d.ts +404 -0
- package/dist/modules/utils/chainable.cjs +190 -0
- package/dist/modules/utils/chainable.d.ts +135 -0
- package/dist/modules/utils/chainable.js +177 -0
- package/dist/modules/utils/index.cjs +43 -0
- package/dist/modules/utils/index.d.ts +5 -0
- package/dist/modules/utils/index.js +14 -0
- package/dist/modules/utils/number.cjs +97 -0
- package/dist/modules/utils/number.d.ts +9 -0
- package/dist/modules/utils/number.js +85 -0
- package/dist/modules/utils/random.cjs +77 -0
- package/dist/modules/utils/random.d.ts +22 -0
- package/dist/modules/utils/random.js +72 -0
- package/dist/modules/utils/stagger.cjs +122 -0
- package/dist/modules/utils/stagger.d.ts +30 -0
- package/dist/modules/utils/stagger.js +120 -0
- package/dist/modules/utils/target.cjs +130 -0
- package/dist/modules/utils/target.d.ts +126 -0
- package/dist/modules/utils/target.js +125 -0
- package/dist/modules/utils/time.cjs +57 -0
- package/dist/modules/utils/time.d.ts +5 -0
- package/dist/modules/utils/time.js +54 -0
- package/dist/modules/waapi/composition.cjs +95 -0
- package/dist/modules/waapi/composition.d.ts +4 -0
- package/dist/modules/waapi/composition.js +92 -0
- package/dist/modules/waapi/index.cjs +15 -0
- package/dist/modules/waapi/index.d.ts +1 -0
- package/dist/modules/waapi/index.js +8 -0
- package/dist/modules/waapi/waapi.cjs +492 -0
- package/dist/modules/waapi/waapi.d.ts +116 -0
- package/dist/modules/waapi/waapi.js +489 -0
- package/package.json +166 -33
- package/lib/anime.cjs +0 -9
- package/lib/anime.esm.min.js +0 -9
- package/lib/anime.iife.js +0 -9
- package/lib/anime.iife.min.js +0 -9
- package/lib/anime.min.cjs +0 -9
- package/lib/anime.umd.js +0 -9
- package/lib/anime.umd.min.js +0 -9
- package/lib/gui/index.js +0 -6341
- package/types/index.d.ts +0 -1127
- package/types/index.js +0 -7395
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {Object} ChainablesMap
|
|
3
|
+
* @property {ChainedClamp} clamp
|
|
4
|
+
* @property {ChainedRound} round
|
|
5
|
+
* @property {ChainedSnap} snap
|
|
6
|
+
* @property {ChainedWrap} wrap
|
|
7
|
+
* @property {ChainedLerp} lerp
|
|
8
|
+
* @property {ChainedDamp} damp
|
|
9
|
+
* @property {ChainedMapRange} mapRange
|
|
10
|
+
* @property {ChainedRoundPad} roundPad
|
|
11
|
+
* @property {ChainedPadStart} padStart
|
|
12
|
+
* @property {ChainedPadEnd} padEnd
|
|
13
|
+
* @property {ChainedDegToRad} degToRad
|
|
14
|
+
* @property {ChainedRadToDeg} radToDeg
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* @callback ChainedUtilsResult
|
|
18
|
+
* @param {Number} value - The value to process through the chained operations
|
|
19
|
+
* @return {Number} The processed result
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* @typedef {ChainablesMap & ChainedUtilsResult} ChainableUtil
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* @callback ChainedRoundPad
|
|
26
|
+
* @param {Number} decimalLength - Number of decimal places
|
|
27
|
+
* @return {ChainableUtil}
|
|
28
|
+
*/
|
|
29
|
+
export const roundPad: typeof numberUtils.roundPad & ChainedRoundPad;
|
|
30
|
+
/**
|
|
31
|
+
* @callback ChainedPadStart
|
|
32
|
+
* @param {Number} totalLength - Target length
|
|
33
|
+
* @param {String} padString - String to pad with
|
|
34
|
+
* @return {ChainableUtil}
|
|
35
|
+
*/
|
|
36
|
+
export const padStart: typeof numberUtils.padStart & ChainedPadStart;
|
|
37
|
+
/**
|
|
38
|
+
* @callback ChainedPadEnd
|
|
39
|
+
* @param {Number} totalLength - Target length
|
|
40
|
+
* @param {String} padString - String to pad with
|
|
41
|
+
* @return {ChainableUtil}
|
|
42
|
+
*/
|
|
43
|
+
export const padEnd: typeof numberUtils.padEnd & ChainedPadEnd;
|
|
44
|
+
/**
|
|
45
|
+
* @callback ChainedWrap
|
|
46
|
+
* @param {Number} min - Minimum boundary
|
|
47
|
+
* @param {Number} max - Maximum boundary
|
|
48
|
+
* @return {ChainableUtil}
|
|
49
|
+
*/
|
|
50
|
+
export const wrap: typeof numberUtils.wrap & ChainedWrap;
|
|
51
|
+
/**
|
|
52
|
+
* @callback ChainedMapRange
|
|
53
|
+
* @param {Number} inLow - Input range minimum
|
|
54
|
+
* @param {Number} inHigh - Input range maximum
|
|
55
|
+
* @param {Number} outLow - Output range minimum
|
|
56
|
+
* @param {Number} outHigh - Output range maximum
|
|
57
|
+
* @return {ChainableUtil}
|
|
58
|
+
*/
|
|
59
|
+
export const mapRange: typeof numberUtils.mapRange & ChainedMapRange;
|
|
60
|
+
/**
|
|
61
|
+
* @callback ChainedDegToRad
|
|
62
|
+
* @return {ChainableUtil}
|
|
63
|
+
*/
|
|
64
|
+
export const degToRad: typeof numberUtils.degToRad & ChainedDegToRad;
|
|
65
|
+
/**
|
|
66
|
+
* @callback ChainedRadToDeg
|
|
67
|
+
* @return {ChainableUtil}
|
|
68
|
+
*/
|
|
69
|
+
export const radToDeg: typeof numberUtils.radToDeg & ChainedRadToDeg;
|
|
70
|
+
/**
|
|
71
|
+
* @callback ChainedSnap
|
|
72
|
+
* @param {Number|Array<Number>} increment - Step size or array of snap points
|
|
73
|
+
* @return {ChainableUtil}
|
|
74
|
+
*/
|
|
75
|
+
export const snap: typeof numberUtils.snap & ChainedSnap;
|
|
76
|
+
/**
|
|
77
|
+
* @callback ChainedClamp
|
|
78
|
+
* @param {Number} min - Minimum boundary
|
|
79
|
+
* @param {Number} max - Maximum boundary
|
|
80
|
+
* @return {ChainableUtil}
|
|
81
|
+
*/
|
|
82
|
+
export const clamp: typeof numberUtils.clamp & ChainedClamp;
|
|
83
|
+
/**
|
|
84
|
+
* @callback ChainedRound
|
|
85
|
+
* @param {Number} decimalLength - Number of decimal places
|
|
86
|
+
* @return {ChainableUtil}
|
|
87
|
+
*/
|
|
88
|
+
export const round: typeof numberUtils.round & ChainedRound;
|
|
89
|
+
/**
|
|
90
|
+
* @callback ChainedLerp
|
|
91
|
+
* @param {Number} start - Starting value
|
|
92
|
+
* @param {Number} end - Ending value
|
|
93
|
+
* @return {ChainableUtil}
|
|
94
|
+
*/
|
|
95
|
+
export const lerp: typeof numberUtils.lerp & ChainedLerp;
|
|
96
|
+
/**
|
|
97
|
+
* @callback ChainedDamp
|
|
98
|
+
* @param {Number} start - Starting value
|
|
99
|
+
* @param {Number} end - Target value
|
|
100
|
+
* @param {Number} deltaTime - Delta time in ms
|
|
101
|
+
* @return {ChainableUtil}
|
|
102
|
+
*/
|
|
103
|
+
export const damp: typeof numberUtils.damp & ChainedDamp;
|
|
104
|
+
export type UtilityFunction = (...args: any[]) => number | string;
|
|
105
|
+
export type ChainablesMap = {
|
|
106
|
+
clamp: ChainedClamp;
|
|
107
|
+
round: ChainedRound;
|
|
108
|
+
snap: ChainedSnap;
|
|
109
|
+
wrap: ChainedWrap;
|
|
110
|
+
lerp: ChainedLerp;
|
|
111
|
+
damp: ChainedDamp;
|
|
112
|
+
mapRange: ChainedMapRange;
|
|
113
|
+
roundPad: ChainedRoundPad;
|
|
114
|
+
padStart: ChainedPadStart;
|
|
115
|
+
padEnd: ChainedPadEnd;
|
|
116
|
+
degToRad: ChainedDegToRad;
|
|
117
|
+
radToDeg: ChainedRadToDeg;
|
|
118
|
+
};
|
|
119
|
+
export type ChainedUtilsResult = (value: number) => number;
|
|
120
|
+
export type ChainableUtil = ChainablesMap & ChainedUtilsResult;
|
|
121
|
+
export type ChainedRoundPad = (decimalLength: number) => ChainableUtil;
|
|
122
|
+
export type ChainedPadStart = (totalLength: number, padString: string) => ChainableUtil;
|
|
123
|
+
export type ChainedPadEnd = (totalLength: number, padString: string) => ChainableUtil;
|
|
124
|
+
export type ChainedWrap = (min: number, max: number) => ChainableUtil;
|
|
125
|
+
export type ChainedMapRange = (inLow: number, inHigh: number, outLow: number, outHigh: number) => ChainableUtil;
|
|
126
|
+
export type ChainedDegToRad = () => ChainableUtil;
|
|
127
|
+
export type ChainedRadToDeg = () => ChainableUtil;
|
|
128
|
+
export type ChainedSnap = (increment: number | Array<number>) => ChainableUtil;
|
|
129
|
+
export type ChainedClamp = (min: number, max: number) => ChainableUtil;
|
|
130
|
+
export type ChainedRound = (decimalLength: number) => ChainableUtil;
|
|
131
|
+
export type ChainedLerp = (start: number, end: number) => ChainableUtil;
|
|
132
|
+
export type ChainedDamp = (start: number, end: number, deltaTime: number) => ChainableUtil;
|
|
133
|
+
declare const numberUtils: typeof numberImports;
|
|
134
|
+
import * as numberImports from './number.js';
|
|
135
|
+
export {};
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anime.js - utils - ESM
|
|
3
|
+
* @version v4.2.0
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright 2025 - Julian Garnier
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { noop } from '../core/consts.js';
|
|
9
|
+
import * as number from './number.js';
|
|
10
|
+
|
|
11
|
+
// Chain-able utilities
|
|
12
|
+
|
|
13
|
+
const numberUtils = number; // Needed to keep the import when bundling
|
|
14
|
+
|
|
15
|
+
const chainables = {};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @callback UtilityFunction
|
|
19
|
+
* @param {...*} args
|
|
20
|
+
* @return {Number|String}
|
|
21
|
+
*
|
|
22
|
+
* @param {UtilityFunction} fn
|
|
23
|
+
* @param {Number} [last=0]
|
|
24
|
+
* @return {function(...(Number|String)): function(Number|String): (Number|String)}
|
|
25
|
+
*/
|
|
26
|
+
const curry = (fn, last = 0) => (...args) => last ? v => fn(...args, v) : v => fn(v, ...args);
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @param {Function} fn
|
|
30
|
+
* @return {function(...(Number|String))}
|
|
31
|
+
*/
|
|
32
|
+
const chain = fn => {
|
|
33
|
+
return (...args) => {
|
|
34
|
+
const result = fn(...args);
|
|
35
|
+
return new Proxy(noop, {
|
|
36
|
+
apply: (_, __, [v]) => result(v),
|
|
37
|
+
get: (_, prop) => chain(/**@param {...Number|String} nextArgs */(...nextArgs) => {
|
|
38
|
+
const nextResult = chainables[prop](...nextArgs);
|
|
39
|
+
return (/**@type {Number|String} */v) => nextResult(result(v));
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* @param {UtilityFunction} fn
|
|
47
|
+
* @param {String} name
|
|
48
|
+
* @param {Number} [right]
|
|
49
|
+
* @return {function(...(Number|String)): UtilityFunction}
|
|
50
|
+
*/
|
|
51
|
+
const makeChainable = (name, fn, right = 0) => {
|
|
52
|
+
const chained = (...args) => (args.length < fn.length ? chain(curry(fn, right)) : fn)(...args);
|
|
53
|
+
if (!chainables[name]) chainables[name] = chained;
|
|
54
|
+
return chained;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @typedef {Object} ChainablesMap
|
|
59
|
+
* @property {ChainedClamp} clamp
|
|
60
|
+
* @property {ChainedRound} round
|
|
61
|
+
* @property {ChainedSnap} snap
|
|
62
|
+
* @property {ChainedWrap} wrap
|
|
63
|
+
* @property {ChainedLerp} lerp
|
|
64
|
+
* @property {ChainedDamp} damp
|
|
65
|
+
* @property {ChainedMapRange} mapRange
|
|
66
|
+
* @property {ChainedRoundPad} roundPad
|
|
67
|
+
* @property {ChainedPadStart} padStart
|
|
68
|
+
* @property {ChainedPadEnd} padEnd
|
|
69
|
+
* @property {ChainedDegToRad} degToRad
|
|
70
|
+
* @property {ChainedRadToDeg} radToDeg
|
|
71
|
+
*/
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* @callback ChainedUtilsResult
|
|
75
|
+
* @param {Number} value - The value to process through the chained operations
|
|
76
|
+
* @return {Number} The processed result
|
|
77
|
+
*/
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @typedef {ChainablesMap & ChainedUtilsResult} ChainableUtil
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
// Chainable
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* @callback ChainedRoundPad
|
|
87
|
+
* @param {Number} decimalLength - Number of decimal places
|
|
88
|
+
* @return {ChainableUtil}
|
|
89
|
+
*/
|
|
90
|
+
const roundPad = /** @type {typeof numberUtils.roundPad & ChainedRoundPad} */(makeChainable('roundPad', numberUtils.roundPad));
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* @callback ChainedPadStart
|
|
94
|
+
* @param {Number} totalLength - Target length
|
|
95
|
+
* @param {String} padString - String to pad with
|
|
96
|
+
* @return {ChainableUtil}
|
|
97
|
+
*/
|
|
98
|
+
const padStart = /** @type {typeof numberUtils.padStart & ChainedPadStart} */(makeChainable('padStart', numberUtils.padStart));
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* @callback ChainedPadEnd
|
|
102
|
+
* @param {Number} totalLength - Target length
|
|
103
|
+
* @param {String} padString - String to pad with
|
|
104
|
+
* @return {ChainableUtil}
|
|
105
|
+
*/
|
|
106
|
+
const padEnd = /** @type {typeof numberUtils.padEnd & ChainedPadEnd} */(makeChainable('padEnd', numberUtils.padEnd));
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* @callback ChainedWrap
|
|
110
|
+
* @param {Number} min - Minimum boundary
|
|
111
|
+
* @param {Number} max - Maximum boundary
|
|
112
|
+
* @return {ChainableUtil}
|
|
113
|
+
*/
|
|
114
|
+
const wrap = /** @type {typeof numberUtils.wrap & ChainedWrap} */(makeChainable('wrap', numberUtils.wrap));
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* @callback ChainedMapRange
|
|
118
|
+
* @param {Number} inLow - Input range minimum
|
|
119
|
+
* @param {Number} inHigh - Input range maximum
|
|
120
|
+
* @param {Number} outLow - Output range minimum
|
|
121
|
+
* @param {Number} outHigh - Output range maximum
|
|
122
|
+
* @return {ChainableUtil}
|
|
123
|
+
*/
|
|
124
|
+
const mapRange = /** @type {typeof numberUtils.mapRange & ChainedMapRange} */(makeChainable('mapRange', numberUtils.mapRange));
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* @callback ChainedDegToRad
|
|
128
|
+
* @return {ChainableUtil}
|
|
129
|
+
*/
|
|
130
|
+
const degToRad = /** @type {typeof numberUtils.degToRad & ChainedDegToRad} */(makeChainable('degToRad', numberUtils.degToRad));
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* @callback ChainedRadToDeg
|
|
134
|
+
* @return {ChainableUtil}
|
|
135
|
+
*/
|
|
136
|
+
const radToDeg = /** @type {typeof numberUtils.radToDeg & ChainedRadToDeg} */(makeChainable('radToDeg', numberUtils.radToDeg));
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* @callback ChainedSnap
|
|
140
|
+
* @param {Number|Array<Number>} increment - Step size or array of snap points
|
|
141
|
+
* @return {ChainableUtil}
|
|
142
|
+
*/
|
|
143
|
+
const snap = /** @type {typeof numberUtils.snap & ChainedSnap} */(makeChainable('snap', numberUtils.snap));
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* @callback ChainedClamp
|
|
147
|
+
* @param {Number} min - Minimum boundary
|
|
148
|
+
* @param {Number} max - Maximum boundary
|
|
149
|
+
* @return {ChainableUtil}
|
|
150
|
+
*/
|
|
151
|
+
const clamp = /** @type {typeof numberUtils.clamp & ChainedClamp} */(makeChainable('clamp', numberUtils.clamp));
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* @callback ChainedRound
|
|
155
|
+
* @param {Number} decimalLength - Number of decimal places
|
|
156
|
+
* @return {ChainableUtil}
|
|
157
|
+
*/
|
|
158
|
+
const round = /** @type {typeof numberUtils.round & ChainedRound} */(makeChainable('round', numberUtils.round));
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* @callback ChainedLerp
|
|
162
|
+
* @param {Number} start - Starting value
|
|
163
|
+
* @param {Number} end - Ending value
|
|
164
|
+
* @return {ChainableUtil}
|
|
165
|
+
*/
|
|
166
|
+
const lerp = /** @type {typeof numberUtils.lerp & ChainedLerp} */(makeChainable('lerp', numberUtils.lerp, 1));
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* @callback ChainedDamp
|
|
170
|
+
* @param {Number} start - Starting value
|
|
171
|
+
* @param {Number} end - Target value
|
|
172
|
+
* @param {Number} deltaTime - Delta time in ms
|
|
173
|
+
* @return {ChainableUtil}
|
|
174
|
+
*/
|
|
175
|
+
const damp = /** @type {typeof numberUtils.damp & ChainedDamp} */(makeChainable('damp', numberUtils.damp, 1));
|
|
176
|
+
|
|
177
|
+
export { clamp, damp, degToRad, lerp, mapRange, padEnd, padStart, radToDeg, round, roundPad, snap, wrap };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anime.js - utils - CJS
|
|
3
|
+
* @version v4.2.0
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright 2025 - Julian Garnier
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
'use strict';
|
|
9
|
+
|
|
10
|
+
var chainable = require('./chainable.cjs');
|
|
11
|
+
var random = require('./random.cjs');
|
|
12
|
+
var time = require('./time.cjs');
|
|
13
|
+
var target = require('./target.cjs');
|
|
14
|
+
var stagger = require('./stagger.cjs');
|
|
15
|
+
var styles = require('../core/styles.cjs');
|
|
16
|
+
var targets = require('../core/targets.cjs');
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
exports.clamp = chainable.clamp;
|
|
21
|
+
exports.damp = chainable.damp;
|
|
22
|
+
exports.degToRad = chainable.degToRad;
|
|
23
|
+
exports.lerp = chainable.lerp;
|
|
24
|
+
exports.mapRange = chainable.mapRange;
|
|
25
|
+
exports.padEnd = chainable.padEnd;
|
|
26
|
+
exports.padStart = chainable.padStart;
|
|
27
|
+
exports.radToDeg = chainable.radToDeg;
|
|
28
|
+
exports.round = chainable.round;
|
|
29
|
+
exports.roundPad = chainable.roundPad;
|
|
30
|
+
exports.snap = chainable.snap;
|
|
31
|
+
exports.wrap = chainable.wrap;
|
|
32
|
+
exports.createSeededRandom = random.createSeededRandom;
|
|
33
|
+
exports.random = random.random;
|
|
34
|
+
exports.randomPick = random.randomPick;
|
|
35
|
+
exports.shuffle = random.shuffle;
|
|
36
|
+
exports.keepTime = time.keepTime;
|
|
37
|
+
exports.sync = time.sync;
|
|
38
|
+
exports.get = target.get;
|
|
39
|
+
exports.remove = target.remove;
|
|
40
|
+
exports.set = target.set;
|
|
41
|
+
exports.stagger = stagger.stagger;
|
|
42
|
+
exports.cleanInlineStyles = styles.cleanInlineStyles;
|
|
43
|
+
exports.$ = targets.registerTargets;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anime.js - utils - ESM
|
|
3
|
+
* @version v4.2.0
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright 2025 - Julian Garnier
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export { clamp, damp, degToRad, lerp, mapRange, padEnd, padStart, radToDeg, round, roundPad, snap, wrap } from './chainable.js';
|
|
9
|
+
export { createSeededRandom, random, randomPick, shuffle } from './random.js';
|
|
10
|
+
export { keepTime, sync } from './time.js';
|
|
11
|
+
export { get, remove, set } from './target.js';
|
|
12
|
+
export { stagger } from './stagger.js';
|
|
13
|
+
export { cleanInlineStyles } from '../core/styles.js';
|
|
14
|
+
export { registerTargets as $ } from '../core/targets.js';
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anime.js - utils - CJS
|
|
3
|
+
* @version v4.2.0
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright 2025 - Julian Garnier
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
'use strict';
|
|
9
|
+
|
|
10
|
+
var helpers = require('../core/helpers.cjs');
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Rounds a number to fixed decimal places
|
|
14
|
+
* @param {Number|String} v - Value to round
|
|
15
|
+
* @param {Number} decimalLength - Number of decimal places
|
|
16
|
+
* @return {String}
|
|
17
|
+
*/
|
|
18
|
+
const roundPad = (v, decimalLength) => (+v).toFixed(decimalLength);
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Pads the start of a value with a string
|
|
22
|
+
* @param {Number} v - Value to pad
|
|
23
|
+
* @param {Number} totalLength - Target length
|
|
24
|
+
* @param {String} padString - String to pad with
|
|
25
|
+
* @return {String}
|
|
26
|
+
*/
|
|
27
|
+
const padStart = (v, totalLength, padString) => `${v}`.padStart(totalLength, padString);
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Pads the end of a value with a string
|
|
31
|
+
* @param {Number} v - Value to pad
|
|
32
|
+
* @param {Number} totalLength - Target length
|
|
33
|
+
* @param {String} padString - String to pad with
|
|
34
|
+
* @return {String}
|
|
35
|
+
*/
|
|
36
|
+
const padEnd = (v, totalLength, padString) => `${v}`.padEnd(totalLength, padString);
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Wraps a value within a range
|
|
40
|
+
* @param {Number} v - Value to wrap
|
|
41
|
+
* @param {Number} min - Minimum boundary
|
|
42
|
+
* @param {Number} max - Maximum boundary
|
|
43
|
+
* @return {Number}
|
|
44
|
+
*/
|
|
45
|
+
const wrap = (v, min, max) => (((v - min) % (max - min) + (max - min)) % (max - min)) + min;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Maps a value from one range to another
|
|
49
|
+
* @param {Number} value - Input value
|
|
50
|
+
* @param {Number} inLow - Input range minimum
|
|
51
|
+
* @param {Number} inHigh - Input range maximum
|
|
52
|
+
* @param {Number} outLow - Output range minimum
|
|
53
|
+
* @param {Number} outHigh - Output range maximum
|
|
54
|
+
* @return {Number}
|
|
55
|
+
*/
|
|
56
|
+
const mapRange = (value, inLow, inHigh, outLow, outHigh) => outLow + ((value - inLow) / (inHigh - inLow)) * (outHigh - outLow);
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Converts degrees to radians
|
|
60
|
+
* @param {Number} degrees - Angle in degrees
|
|
61
|
+
* @return {Number}
|
|
62
|
+
*/
|
|
63
|
+
const degToRad = degrees => degrees * Math.PI / 180;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Converts radians to degrees
|
|
67
|
+
* @param {Number} radians - Angle in radians
|
|
68
|
+
* @return {Number}
|
|
69
|
+
*/
|
|
70
|
+
const radToDeg = radians => radians * 180 / Math.PI;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Frame rate independent damped lerp
|
|
74
|
+
* Based on: https://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/
|
|
75
|
+
*
|
|
76
|
+
* @param {Number} start - Starting value
|
|
77
|
+
* @param {Number} end - Target value
|
|
78
|
+
* @param {Number} deltaTime - Delta time in ms
|
|
79
|
+
* @param {Number} factor - Interpolation factor in the range [0, 1]
|
|
80
|
+
* @return {Number} The interpolated value
|
|
81
|
+
*/
|
|
82
|
+
const damp = (start, end, deltaTime, factor) => {
|
|
83
|
+
return !factor ? start : factor === 1 ? end : helpers.lerp(start, end, 1 - Math.exp(-factor * deltaTime * .1));
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
exports.clamp = helpers.clamp;
|
|
87
|
+
exports.lerp = helpers.lerp;
|
|
88
|
+
exports.round = helpers.round;
|
|
89
|
+
exports.snap = helpers.snap;
|
|
90
|
+
exports.damp = damp;
|
|
91
|
+
exports.degToRad = degToRad;
|
|
92
|
+
exports.mapRange = mapRange;
|
|
93
|
+
exports.padEnd = padEnd;
|
|
94
|
+
exports.padStart = padStart;
|
|
95
|
+
exports.radToDeg = radToDeg;
|
|
96
|
+
exports.roundPad = roundPad;
|
|
97
|
+
exports.wrap = wrap;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function roundPad(v: number | string, decimalLength: number): string;
|
|
2
|
+
export function padStart(v: number, totalLength: number, padString: string): string;
|
|
3
|
+
export function padEnd(v: number, totalLength: number, padString: string): string;
|
|
4
|
+
export function wrap(v: number, min: number, max: number): number;
|
|
5
|
+
export function mapRange(value: number, inLow: number, inHigh: number, outLow: number, outHigh: number): number;
|
|
6
|
+
export function degToRad(degrees: number): number;
|
|
7
|
+
export function radToDeg(radians: number): number;
|
|
8
|
+
export function damp(start: number, end: number, deltaTime: number, factor: number): number;
|
|
9
|
+
export { snap, clamp, round, lerp } from "../core/helpers.js";
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anime.js - utils - ESM
|
|
3
|
+
* @version v4.2.0
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright 2025 - Julian Garnier
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { lerp } from '../core/helpers.js';
|
|
9
|
+
export { clamp, round, snap } from '../core/helpers.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Rounds a number to fixed decimal places
|
|
13
|
+
* @param {Number|String} v - Value to round
|
|
14
|
+
* @param {Number} decimalLength - Number of decimal places
|
|
15
|
+
* @return {String}
|
|
16
|
+
*/
|
|
17
|
+
const roundPad = (v, decimalLength) => (+v).toFixed(decimalLength);
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Pads the start of a value with a string
|
|
21
|
+
* @param {Number} v - Value to pad
|
|
22
|
+
* @param {Number} totalLength - Target length
|
|
23
|
+
* @param {String} padString - String to pad with
|
|
24
|
+
* @return {String}
|
|
25
|
+
*/
|
|
26
|
+
const padStart = (v, totalLength, padString) => `${v}`.padStart(totalLength, padString);
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Pads the end of a value with a string
|
|
30
|
+
* @param {Number} v - Value to pad
|
|
31
|
+
* @param {Number} totalLength - Target length
|
|
32
|
+
* @param {String} padString - String to pad with
|
|
33
|
+
* @return {String}
|
|
34
|
+
*/
|
|
35
|
+
const padEnd = (v, totalLength, padString) => `${v}`.padEnd(totalLength, padString);
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Wraps a value within a range
|
|
39
|
+
* @param {Number} v - Value to wrap
|
|
40
|
+
* @param {Number} min - Minimum boundary
|
|
41
|
+
* @param {Number} max - Maximum boundary
|
|
42
|
+
* @return {Number}
|
|
43
|
+
*/
|
|
44
|
+
const wrap = (v, min, max) => (((v - min) % (max - min) + (max - min)) % (max - min)) + min;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Maps a value from one range to another
|
|
48
|
+
* @param {Number} value - Input value
|
|
49
|
+
* @param {Number} inLow - Input range minimum
|
|
50
|
+
* @param {Number} inHigh - Input range maximum
|
|
51
|
+
* @param {Number} outLow - Output range minimum
|
|
52
|
+
* @param {Number} outHigh - Output range maximum
|
|
53
|
+
* @return {Number}
|
|
54
|
+
*/
|
|
55
|
+
const mapRange = (value, inLow, inHigh, outLow, outHigh) => outLow + ((value - inLow) / (inHigh - inLow)) * (outHigh - outLow);
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Converts degrees to radians
|
|
59
|
+
* @param {Number} degrees - Angle in degrees
|
|
60
|
+
* @return {Number}
|
|
61
|
+
*/
|
|
62
|
+
const degToRad = degrees => degrees * Math.PI / 180;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Converts radians to degrees
|
|
66
|
+
* @param {Number} radians - Angle in radians
|
|
67
|
+
* @return {Number}
|
|
68
|
+
*/
|
|
69
|
+
const radToDeg = radians => radians * 180 / Math.PI;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Frame rate independent damped lerp
|
|
73
|
+
* Based on: https://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/
|
|
74
|
+
*
|
|
75
|
+
* @param {Number} start - Starting value
|
|
76
|
+
* @param {Number} end - Target value
|
|
77
|
+
* @param {Number} deltaTime - Delta time in ms
|
|
78
|
+
* @param {Number} factor - Interpolation factor in the range [0, 1]
|
|
79
|
+
* @return {Number} The interpolated value
|
|
80
|
+
*/
|
|
81
|
+
const damp = (start, end, deltaTime, factor) => {
|
|
82
|
+
return !factor ? start : factor === 1 ? end : lerp(start, end, 1 - Math.exp(-factor * deltaTime * .1));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export { damp, degToRad, lerp, mapRange, padEnd, padStart, radToDeg, roundPad, wrap };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anime.js - utils - CJS
|
|
3
|
+
* @version v4.2.0
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright 2025 - Julian Garnier
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
'use strict';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Generate a random number between optional min and max (inclusive) and decimal precision
|
|
12
|
+
*
|
|
13
|
+
* @callback RandomNumberGenerator
|
|
14
|
+
* @param {Number} [min=0] - The minimum value (inclusive)
|
|
15
|
+
* @param {Number} [max=1] - The maximum value (inclusive)
|
|
16
|
+
* @param {Number} [decimalLength=0] - Number of decimal places to round to
|
|
17
|
+
* @return {Number} A random number between min and max
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Generates a random number between min and max (inclusive) with optional decimal precision
|
|
22
|
+
*
|
|
23
|
+
* @type {RandomNumberGenerator}
|
|
24
|
+
*/
|
|
25
|
+
const random = (min = 0, max = 1, decimalLength = 0) => {
|
|
26
|
+
const m = 10 ** decimalLength;
|
|
27
|
+
return Math.floor((Math.random() * (max - min + (1 / m)) + min) * m) / m;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
let _seed = 0;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Creates a seeded pseudorandom number generator function
|
|
34
|
+
*
|
|
35
|
+
* @param {Number} [seed] - The seed value for the random number generator
|
|
36
|
+
* @param {Number} [seededMin=0] - The minimum default value (inclusive) of the returned function
|
|
37
|
+
* @param {Number} [seededMax=1] - The maximum default value (inclusive) of the returned function
|
|
38
|
+
* @param {Number} [seededDecimalLength=0] - Default number of decimal places to round to of the returned function
|
|
39
|
+
* @return {RandomNumberGenerator} A function to generate a random number between optional min and max (inclusive) and decimal precision
|
|
40
|
+
*/
|
|
41
|
+
const createSeededRandom = (seed, seededMin = 0, seededMax = 1, seededDecimalLength = 0) => {
|
|
42
|
+
let t = seed === undefined ? _seed++ : seed;
|
|
43
|
+
return (min = seededMin, max = seededMax, decimalLength = seededDecimalLength) => {
|
|
44
|
+
t += 0x6D2B79F5;
|
|
45
|
+
t = Math.imul(t ^ t >>> 15, t | 1);
|
|
46
|
+
t ^= t + Math.imul(t ^ t >>> 7, t | 61);
|
|
47
|
+
const m = 10 ** decimalLength;
|
|
48
|
+
return Math.floor(((((t ^ t >>> 14) >>> 0) / 4294967296) * (max - min + (1 / m)) + min) * m) / m;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Picks a random element from an array or a string
|
|
54
|
+
*
|
|
55
|
+
* @template T
|
|
56
|
+
* @param {String|Array<T>} items - The array or string to pick from
|
|
57
|
+
* @return {String|T} A random element from the array or character from the string
|
|
58
|
+
*/
|
|
59
|
+
const randomPick = items => items[random(0, items.length - 1)];
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Shuffles an array in-place using the Fisher-Yates algorithm
|
|
63
|
+
* Adapted from https://bost.ocks.org/mike/shuffle/
|
|
64
|
+
*
|
|
65
|
+
* @param {Array} items - The array to shuffle (will be modified in-place)
|
|
66
|
+
* @return {Array} The same array reference, now shuffled
|
|
67
|
+
*/
|
|
68
|
+
const shuffle = items => {
|
|
69
|
+
let m = items.length, t, i;
|
|
70
|
+
while (m) { i = random(0, --m); t = items[m]; items[m] = items[i]; items[i] = t; }
|
|
71
|
+
return items;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
exports.createSeededRandom = createSeededRandom;
|
|
75
|
+
exports.random = random;
|
|
76
|
+
exports.randomPick = randomPick;
|
|
77
|
+
exports.shuffle = shuffle;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a random number between optional min and max (inclusive) and decimal precision
|
|
3
|
+
*
|
|
4
|
+
* @callback RandomNumberGenerator
|
|
5
|
+
* @param {Number} [min=0] - The minimum value (inclusive)
|
|
6
|
+
* @param {Number} [max=1] - The maximum value (inclusive)
|
|
7
|
+
* @param {Number} [decimalLength=0] - Number of decimal places to round to
|
|
8
|
+
* @return {Number} A random number between min and max
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Generates a random number between min and max (inclusive) with optional decimal precision
|
|
12
|
+
*
|
|
13
|
+
* @type {RandomNumberGenerator}
|
|
14
|
+
*/
|
|
15
|
+
export const random: RandomNumberGenerator;
|
|
16
|
+
export function createSeededRandom(seed?: number, seededMin?: number, seededMax?: number, seededDecimalLength?: number): RandomNumberGenerator;
|
|
17
|
+
export function randomPick<T>(items: string | Array<T>): string | T;
|
|
18
|
+
export function shuffle(items: any[]): any[];
|
|
19
|
+
/**
|
|
20
|
+
* Generate a random number between optional min and max (inclusive) and decimal precision
|
|
21
|
+
*/
|
|
22
|
+
export type RandomNumberGenerator = (min?: number, max?: number, decimalLength?: number) => number;
|