UNPKG

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