UNPKG

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