UNPKG

3.43 kBJavaScriptView Raw
1'use strict';
2
3const { pp } = require('./pp');
4const {
5 camelize, duration, formatBytes, formatNumber, milliseconds, ordinal, precisionRound,
6} = require('./utils');
7
8module.exports = {
9 binary (value) {
10 if (!value) {
11 return '';
12 }
13 return Number(value).toString(2);
14 },
15 bytes (value, options) {
16 if (!value) {
17 return '';
18 }
19 value = Number(value);
20 return formatBytes(value, options);
21 },
22 camelcase (value) {
23 if (!value) {
24 return '';
25 }
26 value = value.toString();
27 return camelize(value);
28 },
29 capitalize (value) {
30 if (!value) {
31 return '';
32 }
33 value = value.toString();
34 return value.charAt(0).toUpperCase() + value.slice(1);
35 },
36 currency (value, symbol = '$') {
37 if (!value) {
38 return '';
39 }
40 return `${ symbol }${ precisionRound(value) }`;
41 },
42 degrees (radians = 0) {
43 return radians * (180 / Math.PI);
44 },
45 duration (value, options) {
46 if (!value) {
47 return '';
48 }
49 return duration(value, options);
50 },
51 hexadecimal (value) {
52 if (!value) {
53 return '';
54 }
55 return Number(value).toString(16);
56 },
57 json (value, indent = 2) {
58 if (value) {
59 return '';
60 }
61 return JSON.stringify(value, null, indent);
62 },
63 kebabcase (value) {
64 if (!value) {
65 return '';
66 }
67 return value.toString().trim().
68 toLowerCase().
69 replace(/\s+/g, '-');
70 },
71 lowercase (value) {
72 if (!value) {
73 return '';
74 }
75 return value.toString().toLowerCase();
76 },
77 milliseconds (value) {
78 if (!value) {
79 return 0;
80 }
81 return milliseconds(value);
82 },
83 number (value, options = { numeral: true }) {
84 return formatNumber(value, options);
85 },
86 octal (value) {
87 if (!value) {
88 return '';
89 }
90 return Number(value).toString(8);
91 },
92 ordinal (value) {
93 if (!value) {
94 return '';
95 }
96 return ordinal(value);
97 },
98 pascalcase (value) {
99 if (!value) {
100 return '';
101 }
102 return value.replace(/\w\S*/g, (word) => word.charAt(0).toUpperCase() + word.substring(1).toLowerCase());
103 },
104 pluralize (word, count, form = '$1s') {
105 if (count === 1) {
106 return word;
107 }
108 return form.replace('$1', word);
109 },
110 pp (value) {
111 if (!value) {
112 return '';
113 }
114 return pp(value, {
115 all: false,
116 color: false,
117 json: false,
118 lineNumbers: false,
119 print: false,
120 showDepth: true,
121 });
122 },
123 radians (degrees = 0) {
124 return degrees * (Math.PI / 180);
125 },
126 reverse (value) {
127 if (!value) {
128 return '';
129 }
130 return value.
131 toString().
132 split('').
133 reverse().
134 join('');
135 },
136 sentencecase (value) {
137 if (!value) {
138 return '';
139 }
140 return value.charAt(0).toUpperCase() + value.substring(1).toLowerCase();
141 },
142 snakecase (value) {
143 if (!value) {
144 return '';
145 }
146 return value.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g).
147 map(word => word.toLowerCase()).
148 join('_');
149 },
150 titlecase (value = '') {
151 return value.split(/[-_.\s]/).
152 map((word) => word.charAt(0).toUpperCase() + word.substring(1).toLowerCase()).
153 join(' ').
154 trim();
155 },
156 trim (value) {
157 if (!value) {
158 return '';
159 }
160 return value.toString().trim();
161 },
162 uppercase (value) {
163 if (!value) {
164 return '';
165 }
166 return value.toString().toUpperCase();
167 },
168};