@accitdg/web-helpers 0.0.13 → 0.0.17

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 CHANGED
@@ -76,6 +76,17 @@ Removes the data URL prefix from a Base64 string, leaving only the encoded data.
76
76
  ```javascript
77
77
  const cleaned = webHelpers.cleanBase64("data:image/png;base64,iVBORw0KG...");
78
78
  // Output: "iVBORw0KG..."
79
+
80
+ ## Supported File Types
81
+
82
+ The `cleanBase64` function supports:
83
+
84
+ - Images: png, jpg, jpeg, gif, webp, etc.
85
+ - PDF documents
86
+ - Word documents (.docx, .dotx)
87
+ - Excel spreadsheets (.xlsx)
88
+
89
+
79
90
  ```
80
91
 
81
92
  ---
@@ -240,14 +251,84 @@ const short = createPayload2({ payload: { x: 1 } });
240
251
  // uses configured applicationId/notificationId unless overridden in the call
241
252
  ```
242
253
 
243
- ## Supported File Types
254
+ ### formatNumberWithCommas(number: number): string
244
255
 
245
- The `cleanBase64` function supports:
256
+ Formats a number with comma separators for thousands, preserving decimal places.
246
257
 
247
- - Images: png, jpg, jpeg, gif, webp, etc.
248
- - PDF documents
249
- - Word documents (.docx, .dotx)
250
- - Excel spreadsheets (.xlsx)
258
+ Parameters:
259
+
260
+ number (number): The number to format
261
+ Returns: Formatted number string with commas as thousand separators
262
+
263
+ Example:
264
+
265
+ ```ts
266
+ webHelpers.formatNumberWithCommas(1000);
267
+ // Output: "1,000"
268
+
269
+ webHelpers.formatNumberWithCommas(1234567.89);
270
+ // Output: "1,234,567.89"
271
+
272
+ webHelpers.formatNumberWithCommas(500);
273
+ // Output: "500"
274
+ ```
275
+
276
+ ### `titleCase(str: string): string`
277
+
278
+ Converts a string to title case, capitalizing the first letter of each word and converting the rest to lowercase.
279
+
280
+ **Parameters:**
281
+
282
+ - `str` (string): The string to convert to title case
283
+
284
+ **Returns:** Title case formatted string, or the original input if not a string
285
+
286
+ **Example:**
287
+
288
+ ````javascript
289
+ webHelpers.titleCase("hello world");
290
+ // Output: "Hello World"
291
+
292
+ webHelpers.titleCase("tHIS IS A TEST");
293
+ // Output: "This Is A Test"
294
+
295
+ webHelpers.titleCase("javascript typescript");
296
+ // Output: "Javascript Typescript"
297
+
298
+ webHelpers.titleCase("single");
299
+ // Output: "Single"
300
+
301
+ webHelpers.titleCase(123);
302
+ // Output: 123 (returns original value if not a string)
303
+
304
+ ### `maskFormatPhilippineNumber(number: string): string`
305
+
306
+ Formats a Philippine phone number string into a standardized mask format (+63 XXXX XXXX XXX). Accepts numbers with various input formats and cleans them before formatting.
307
+
308
+ **Parameters:**
309
+
310
+ - `number` (string): The phone number string to format (can include non-numeric characters)
311
+
312
+ **Returns:** Formatted Philippine phone number in the format "+63 XXXX XXXX XXX", or the original input if invalid
313
+
314
+ **Example:**
315
+
316
+ ```javascript
317
+ webHelpers.maskFormatPhilippineNumber("09171234567");
318
+ // Output: "+63 9171 2345 67"
319
+
320
+ webHelpers.maskFormatPhilippineNumber("+639171234567");
321
+ // Output: "+63 9171 2345 67"
322
+
323
+ webHelpers.maskFormatPhilippineNumber("63 917 123 4567");
324
+ // Output: "+63 9171 2345 67"
325
+
326
+ webHelpers.maskFormatPhilippineNumber("09171234");
327
+ // Output: "09171234" (returns original - invalid length)
328
+
329
+ webHelpers.maskFormatPhilippineNumber("(0917) 123-4567");
330
+ // Output: "+63 9171 2345 67"
331
+ ````
251
332
 
252
333
  ## License
253
334
 
package/dist/index.cjs.js CHANGED
@@ -53,6 +53,18 @@ var convertNumberToCurrency = function convertNumberToCurrency(numberValue) {
53
53
  });
54
54
  return formattedValue;
55
55
  };
56
+ var formatNumberWithCommas = function formatNumberWithCommas(number) {
57
+ var numStr = number.toString();
58
+ var parts = numStr.split(".");
59
+ var integerPart = parts[0];
60
+ var pattern = /(\d)(?=(\d{3})+(?!\d))/g;
61
+ integerPart = integerPart.replace(pattern, "$1,");
62
+ if (parts.length > 1) {
63
+ return integerPart + "." + parts[1];
64
+ } else {
65
+ return integerPart;
66
+ }
67
+ };
56
68
  var restoreBase64 = function restoreBase64(cleanedBase64) {
57
69
  var imageType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "png";
58
70
  return "data:image/".concat(imageType, ";base64,").concat(cleanedBase64);
@@ -151,6 +163,29 @@ var createPayload2 = function createPayload2() {
151
163
  var configureHelpers = function configureHelpers(config) {
152
164
  globalThis.__WEB_HELPERS_CONFIG = _objectSpread2(_objectSpread2({}, globalThis.__WEB_HELPERS_CONFIG || {}), config);
153
165
  };
166
+ var titleCase = function titleCase(str) {
167
+ return typeof str === "string" ? str.split(/\s+/).filter(Boolean).map(function (w) {
168
+ return w.charAt(0).toUpperCase() + w.slice(1).toLowerCase();
169
+ }).join(" ") : str;
170
+ };
171
+ var maskFormatPhilippineNumber = function maskFormatPhilippineNumber(number) {
172
+ var cleanedNumber = number.replace(/[^0-9+]/g, "");
173
+ var formattedNumber;
174
+ if (cleanedNumber.startsWith("+63")) {
175
+ formattedNumber = cleanedNumber.substring(3);
176
+ } else if (cleanedNumber.startsWith("0")) {
177
+ formattedNumber = cleanedNumber.substring(1);
178
+ } else if (cleanedNumber.length === 11) {
179
+ formattedNumber = cleanedNumber;
180
+ } else {
181
+ return number;
182
+ }
183
+ if (formattedNumber.length !== 11) {
184
+ return number;
185
+ }
186
+ formattedNumber = "+63 ".concat(formattedNumber.slice(0, 4), " ").concat(formattedNumber.slice(4, 8), " ").concat(formattedNumber.slice(8));
187
+ return formattedNumber;
188
+ };
154
189
 
155
190
  var index = {
156
191
  convertNumberToCurrency: convertNumberToCurrency,
@@ -161,7 +196,10 @@ var index = {
161
196
  getFileExtensionFromBase64: getFileExtensionFromBase64,
162
197
  configureHelpers: configureHelpers,
163
198
  createPayload: createPayload,
164
- createPayload2: createPayload2
199
+ createPayload2: createPayload2,
200
+ formatNumberWithCommas: formatNumberWithCommas,
201
+ titleCase: titleCase,
202
+ maskFormatPhilippineNumber: maskFormatPhilippineNumber
165
203
  };
166
204
 
167
205
  exports.arrayBufferToBase64 = arrayBufferToBase64;
@@ -172,5 +210,8 @@ exports.createPayload = createPayload;
172
210
  exports.createPayload2 = createPayload2;
173
211
  exports["default"] = index;
174
212
  exports.downloadBase64File = downloadBase64File;
213
+ exports.formatNumberWithCommas = formatNumberWithCommas;
175
214
  exports.getFileExtensionFromBase64 = getFileExtensionFromBase64;
215
+ exports.maskFormatPhilippineNumber = maskFormatPhilippineNumber;
176
216
  exports.restoreBase64 = restoreBase64;
217
+ exports.titleCase = titleCase;
package/dist/index.esm.js CHANGED
@@ -49,6 +49,18 @@ var convertNumberToCurrency = function convertNumberToCurrency(numberValue) {
49
49
  });
50
50
  return formattedValue;
51
51
  };
52
+ var formatNumberWithCommas = function formatNumberWithCommas(number) {
53
+ var numStr = number.toString();
54
+ var parts = numStr.split(".");
55
+ var integerPart = parts[0];
56
+ var pattern = /(\d)(?=(\d{3})+(?!\d))/g;
57
+ integerPart = integerPart.replace(pattern, "$1,");
58
+ if (parts.length > 1) {
59
+ return integerPart + "." + parts[1];
60
+ } else {
61
+ return integerPart;
62
+ }
63
+ };
52
64
  var restoreBase64 = function restoreBase64(cleanedBase64) {
53
65
  var imageType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "png";
54
66
  return "data:image/".concat(imageType, ";base64,").concat(cleanedBase64);
@@ -147,6 +159,29 @@ var createPayload2 = function createPayload2() {
147
159
  var configureHelpers = function configureHelpers(config) {
148
160
  globalThis.__WEB_HELPERS_CONFIG = _objectSpread2(_objectSpread2({}, globalThis.__WEB_HELPERS_CONFIG || {}), config);
149
161
  };
162
+ var titleCase = function titleCase(str) {
163
+ return typeof str === "string" ? str.split(/\s+/).filter(Boolean).map(function (w) {
164
+ return w.charAt(0).toUpperCase() + w.slice(1).toLowerCase();
165
+ }).join(" ") : str;
166
+ };
167
+ var maskFormatPhilippineNumber = function maskFormatPhilippineNumber(number) {
168
+ var cleanedNumber = number.replace(/[^0-9+]/g, "");
169
+ var formattedNumber;
170
+ if (cleanedNumber.startsWith("+63")) {
171
+ formattedNumber = cleanedNumber.substring(3);
172
+ } else if (cleanedNumber.startsWith("0")) {
173
+ formattedNumber = cleanedNumber.substring(1);
174
+ } else if (cleanedNumber.length === 11) {
175
+ formattedNumber = cleanedNumber;
176
+ } else {
177
+ return number;
178
+ }
179
+ if (formattedNumber.length !== 11) {
180
+ return number;
181
+ }
182
+ formattedNumber = "+63 ".concat(formattedNumber.slice(0, 4), " ").concat(formattedNumber.slice(4, 8), " ").concat(formattedNumber.slice(8));
183
+ return formattedNumber;
184
+ };
150
185
 
151
186
  var index = {
152
187
  convertNumberToCurrency: convertNumberToCurrency,
@@ -157,7 +192,10 @@ var index = {
157
192
  getFileExtensionFromBase64: getFileExtensionFromBase64,
158
193
  configureHelpers: configureHelpers,
159
194
  createPayload: createPayload,
160
- createPayload2: createPayload2
195
+ createPayload2: createPayload2,
196
+ formatNumberWithCommas: formatNumberWithCommas,
197
+ titleCase: titleCase,
198
+ maskFormatPhilippineNumber: maskFormatPhilippineNumber
161
199
  };
162
200
 
163
- export { arrayBufferToBase64, cleanBase64, configureHelpers, convertNumberToCurrency, createPayload, createPayload2, index as default, downloadBase64File, getFileExtensionFromBase64, restoreBase64 };
201
+ export { arrayBufferToBase64, cleanBase64, configureHelpers, convertNumberToCurrency, createPayload, createPayload2, index as default, downloadBase64File, formatNumberWithCommas, getFileExtensionFromBase64, maskFormatPhilippineNumber, restoreBase64, titleCase };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@accitdg/web-helpers",
3
- "version": "0.0.13",
3
+ "version": "0.0.17",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",