@jsenv/humanize 1.0.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 +35 -0
- package/dist/browser/jsenv_humanize_browser.js +1157 -0
- package/dist/node/jsenv_humanize_node.js +2003 -0
- package/package.json +49 -0
- package/src/.jsenv/jsenv_tests_output.txt +35 -0
- package/src/_tests/byte/file_size.test.js +18 -0
- package/src/_tests/byte/memory_usage.test.js +11 -0
- package/src/_tests/content_frame/content_frame.test.js +156 -0
- package/src/_tests/content_frame/snapshots/10_line_and_column_are_zero.txt +2 -0
- package/src/_tests/content_frame/snapshots/11_line_is_last.txt +3 -0
- package/src/_tests/content_frame/snapshots/1_basic.txt +4 -0
- package/src/_tests/content_frame/snapshots/2_basic_2.txt +6 -0
- package/src/_tests/content_frame/snapshots/3_empty_last_line.txt +7 -0
- package/src/_tests/content_frame/snapshots/4_no_column.txt +3 -0
- package/src/_tests/content_frame/snapshots/5_line_1_and_2_digits.txt +3 -0
- package/src/_tests/content_frame/snapshots/6_line_too_long_column_undefined.txt +3 -0
- package/src/_tests/content_frame/snapshots/7_line_too_long_column_near_start.txt +4 -0
- package/src/_tests/content_frame/snapshots/8_line_too_long_column_near_middle.txt +4 -0
- package/src/_tests/content_frame/snapshots/9_line_too_long_column_near_end.txt +4 -0
- package/src/_tests/js_value/_inspect.test.html +22 -0
- package/src/_tests/js_value/array.test.js +72 -0
- package/src/_tests/js_value/biginit.test.js +36 -0
- package/src/_tests/js_value/boolean.test.js +45 -0
- package/src/_tests/js_value/date.test.js +15 -0
- package/src/_tests/js_value/error.test.js +33 -0
- package/src/_tests/js_value/function.test.js +51 -0
- package/src/_tests/js_value/instance.test.js +12 -0
- package/src/_tests/js_value/null.test.js +6 -0
- package/src/_tests/js_value/number.test.js +182 -0
- package/src/_tests/js_value/object.test.js +173 -0
- package/src/_tests/js_value/regexp.test.js +14 -0
- package/src/_tests/js_value/string.test.js +106 -0
- package/src/_tests/js_value/symbol.test.js +20 -0
- package/src/_tests/js_value/undefined.test.js +6 -0
- package/src/_tests/log/log_long.test.mjs +39 -0
- package/src/_tests/log/log_modified.test.mjs +7 -0
- package/src/_tests/log/logger.test.mjs +91 -0
- package/src/_tests/log/spinner.duration.test_manual.mjs +25 -0
- package/src/_tests/log/spinner.test.mjs +33 -0
- package/src/_tests/log/spinner.test_manual.mjs +15 -0
- package/src/_tests/percentage/percentage_distribution.test.mjs +89 -0
- package/src/_tests/time/decimals.test.js +119 -0
- package/src/_tests/time/duration.test.js +20 -0
- package/src/_tests/time/ellapsed.test.js +10 -0
- package/src/byte/byte.js +44 -0
- package/src/content_frame/content_frame.js +157 -0
- package/src/js_value/array.js +58 -0
- package/src/js_value/bigint.js +3 -0
- package/src/js_value/bigint_object.js +5 -0
- package/src/js_value/boolean.js +1 -0
- package/src/js_value/boolean_object.js +12 -0
- package/src/js_value/constructor.js +10 -0
- package/src/js_value/date.js +8 -0
- package/src/js_value/error.js +34 -0
- package/src/js_value/function.js +20 -0
- package/src/js_value/humanize.js +140 -0
- package/src/js_value/null.js +1 -0
- package/src/js_value/number.js +101 -0
- package/src/js_value/number_object.js +9 -0
- package/src/js_value/object.js +78 -0
- package/src/js_value/regexp.js +1 -0
- package/src/js_value/string.js +141 -0
- package/src/js_value/string_object.js +10 -0
- package/src/js_value/symbol.js +24 -0
- package/src/js_value/undefined.js +1 -0
- package/src/log/LOG_LEVELS.js +9 -0
- package/src/log/ansi.js +37 -0
- package/src/log/detailed_message.js +17 -0
- package/src/log/dynamic_log.js +185 -0
- package/src/log/logger.js +85 -0
- package/src/log/spinner.js +72 -0
- package/src/log/task_log.js +46 -0
- package/src/log/unicode.js +52 -0
- package/src/main_browser.js +10 -0
- package/src/main_node.js +18 -0
- package/src/percentage/distribute_percentages.js +53 -0
- package/src/time/time.js +151 -0
- package/src/utils/decimals.js +95 -0
- package/src/utils/indentation.js +38 -0
package/README.md
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# humanize [](https://www.npmjs.com/package/@jsenv/humanize)
|
|
2
|
+
|
|
3
|
+
`@jsenv/humanize` turns a JavaScript value into a string meant to be read by a human. It is written in ES6 and compatible with browsers and Node.js.
|
|
4
|
+
|
|
5
|
+
```js
|
|
6
|
+
import { humanize } from "@jsenv/humanize";
|
|
7
|
+
|
|
8
|
+
console.log(
|
|
9
|
+
humanize({
|
|
10
|
+
boolean: true,
|
|
11
|
+
number: 10,
|
|
12
|
+
string: "hello world",
|
|
13
|
+
}),
|
|
14
|
+
);
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
```console
|
|
18
|
+
❯ node ./docs/demo.mjs
|
|
19
|
+
{
|
|
20
|
+
"boolean": true,
|
|
21
|
+
"number": 10,
|
|
22
|
+
"string": "hello world"
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
# Comparison with JSON.stringify
|
|
27
|
+
|
|
28
|
+
Table comparing `JSON.stringify` and `@jsenv/humanize` to demonstrates how inspect focuses on readability and accuracy.
|
|
29
|
+
|
|
30
|
+
| value | JSON.stringify | jsenv inspect |
|
|
31
|
+
| --------- | -------------- | ------------- |
|
|
32
|
+
| 123456789 | "123456789" | 123_456_789 |
|
|
33
|
+
| Infinity | "null" | Infinity |
|
|
34
|
+
| -0 | "0" | -0 |
|
|
35
|
+
| '"' | '"\\""' | '"' |
|