@ezez/utils 2.0.0 → 2.1.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/CHANGELOG.md +5 -1
- package/README.md +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/round.d.ts +3 -0
- package/dist/round.d.ts.map +1 -0
- package/dist/round.js +9 -0
- package/dist/round.js.map +1 -0
- package/docs/assets/search.js +1 -1
- package/docs/functions/cap.html +6 -5
- package/docs/functions/capitalize.html +6 -5
- package/docs/functions/coalesce.html +6 -5
- package/docs/functions/compareArrays.html +6 -5
- package/docs/functions/compareProps.html +6 -5
- package/docs/functions/deserialize.html +6 -5
- package/docs/functions/ensureArray.html +6 -5
- package/docs/functions/ensureDate.html +6 -5
- package/docs/functions/ensureError.html +6 -5
- package/docs/functions/ensurePrefix.html +6 -5
- package/docs/functions/ensureSuffix.html +6 -5
- package/docs/functions/ensureTimestamp.html +6 -5
- package/docs/functions/escapeRegExp.html +6 -5
- package/docs/functions/formatDate.html +6 -5
- package/docs/functions/get.html +6 -5
- package/docs/functions/getMultiple.html +6 -5
- package/docs/functions/insertSeparator.html +6 -5
- package/docs/functions/isEmpty.html +6 -5
- package/docs/functions/isNumericString.html +6 -5
- package/docs/functions/isPlainObject.html +6 -5
- package/docs/functions/last.html +6 -5
- package/docs/functions/later-1.html +6 -5
- package/docs/functions/mapAsync.html +6 -5
- package/docs/functions/mapValues.html +6 -5
- package/docs/functions/match.html +6 -5
- package/docs/functions/merge.html +14 -13
- package/docs/functions/mostFrequent.html +6 -5
- package/docs/functions/noop.html +6 -5
- package/docs/functions/occurrences.html +6 -5
- package/docs/functions/omit.html +6 -5
- package/docs/functions/pick.html +6 -5
- package/docs/functions/pull.html +6 -5
- package/docs/functions/remove.html +6 -5
- package/docs/functions/removeCommonProperties.html +6 -5
- package/docs/functions/replace.html +6 -5
- package/docs/functions/replaceDeep.html +6 -5
- package/docs/functions/rethrow.html +6 -5
- package/docs/functions/round.html +144 -0
- package/docs/functions/safe.html +7 -6
- package/docs/functions/scale.html +6 -5
- package/docs/functions/seq.html +6 -5
- package/docs/functions/seqEarlyBreak.html +6 -5
- package/docs/functions/serialize.html +6 -5
- package/docs/functions/set.html +6 -5
- package/docs/functions/setImmutable.html +6 -5
- package/docs/functions/sortBy.html +6 -5
- package/docs/functions/sortProps.html +6 -5
- package/docs/functions/stripPrefix.html +6 -5
- package/docs/functions/stripSuffix.html +6 -5
- package/docs/functions/throttle.html +6 -5
- package/docs/functions/truthy.html +6 -5
- package/docs/functions/unique.html +6 -5
- package/docs/functions/wait.html +6 -5
- package/docs/functions/waitFor.html +6 -5
- package/docs/functions/waitSync.html +6 -5
- package/docs/index.html +6 -4
- package/docs/interfaces/ComparePropsOptions.html +6 -6
- package/docs/interfaces/GetMultipleSource.html +6 -5
- package/docs/interfaces/GetSource.html +6 -5
- package/docs/interfaces/IsNumericStringOptions.html +9 -9
- package/docs/interfaces/OccurencesOptions.html +6 -6
- package/docs/interfaces/SetImmutableSource.html +6 -5
- package/docs/interfaces/SetSource.html +6 -5
- package/docs/interfaces/ThrottleOptions.html +7 -7
- package/docs/interfaces/ThrottledFunctionExtras.html +7 -7
- package/docs/modules.html +6 -4
- package/docs/pages/CHANGELOG.html +49 -37
- package/docs/pages/Introduction.html +5 -4
- package/docs/types/CustomDeserializers.html +6 -5
- package/docs/types/CustomSerializers.html +6 -5
- package/docs/types/Later.html +6 -5
- package/docs/types/MapValuesFn.html +6 -5
- package/docs/types/MatchCallback.html +6 -5
- package/docs/types/SeqEarlyBreaker.html +6 -5
- package/docs/types/SeqFn.html +6 -5
- package/docs/types/SeqFunctions.html +6 -5
- package/docs/types/SetImmutablePath.html +6 -5
- package/docs/types/ThrottledFunction.html +6 -5
- package/docs/variables/mapValuesUNSET.html +6 -5
- package/docs/variables/mergeUNSET.html +6 -5
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/round.d.ts +3 -0
- package/esm/round.d.ts.map +1 -0
- package/esm/round.js +6 -0
- package/esm/round.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/round.spec.ts +27 -0
- package/src/round.ts +21 -0
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
package/esm/index.js
CHANGED
|
@@ -35,6 +35,7 @@ export * from "./removeCommonProperties.js";
|
|
|
35
35
|
export * from "./replace.js";
|
|
36
36
|
export * from "./replaceDeep.js";
|
|
37
37
|
export * from "./rethrow.js";
|
|
38
|
+
export * from "./round.js";
|
|
38
39
|
export * from "./safe.js";
|
|
39
40
|
export * from "./scale.js";
|
|
40
41
|
export * from "./seq.js";
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
package/esm/round.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"round.d.ts","sourceRoot":"","sources":["../src/round.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,KAAK,UAAW,MAAM,cAAc,MAAM,WAI/C,CAAC;AAEF,OAAO,EACH,KAAK,GACR,CAAC"}
|
package/esm/round.js
ADDED
package/esm/round.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"round.js","sourceRoot":"","sources":["../src/round.ts"],"names":[],"mappings":"AAYA,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,SAAkB,EAAE,EAAE;IAEhD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;AACvD,CAAC,CAAC;AAEF,OAAO,EACH,KAAK,GACR,CAAC"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -36,6 +36,7 @@ export * from "./removeCommonProperties.js";
|
|
|
36
36
|
export * from "./replace.js";
|
|
37
37
|
export * from "./replaceDeep.js";
|
|
38
38
|
export * from "./rethrow.js";
|
|
39
|
+
export * from "./round.js";
|
|
39
40
|
export * from "./safe.js";
|
|
40
41
|
export * from "./scale.js";
|
|
41
42
|
export * from "./seq.js";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { round } from "./round";
|
|
2
|
+
|
|
3
|
+
describe("round", () => {
|
|
4
|
+
it("rounds the values without precision", async () => {
|
|
5
|
+
round(1.23).must.equal(1);
|
|
6
|
+
round(1.55).must.equal(2);
|
|
7
|
+
round(1.5).must.equal(2);
|
|
8
|
+
round(1.49999).must.equal(1);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
it("rounds the values with precision", async () => {
|
|
12
|
+
round(1.23, 1).must.equal(1.2);
|
|
13
|
+
round(1.55, 1).must.equal(1.6);
|
|
14
|
+
round(1.5, 1).must.equal(1.5);
|
|
15
|
+
round(1.49999, 1).must.equal(1.5);
|
|
16
|
+
|
|
17
|
+
round(1.5, 2).must.equal(1.5);
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it("rounds the tricky values", async () => {
|
|
21
|
+
round(0.1 + 0.2, 1).must.equal(0.3);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it("rounds with higher precision", async () => {
|
|
25
|
+
round(1.2, 6).must.equal(1.2);
|
|
26
|
+
});
|
|
27
|
+
});
|
package/src/round.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rounds a number to a given precision
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* round(1.23) // 1
|
|
6
|
+
* round(1.55) // 2
|
|
7
|
+
* round(1.333, 2) // 1.33
|
|
8
|
+
* round(1.2345, 3) // 1.234
|
|
9
|
+
*
|
|
10
|
+
* @param value - value to round
|
|
11
|
+
* @param precision - precision to round to
|
|
12
|
+
*/
|
|
13
|
+
const round = (value: number, precision?: number) => {
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-magic-numbers
|
|
15
|
+
const multiplier = Math.pow(10, precision || 0);
|
|
16
|
+
return Math.round(value * multiplier) / multiplier;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export {
|
|
20
|
+
round,
|
|
21
|
+
};
|