Helper Utils often used in websites
npm install waelio-utils    
_calculateClockDrift | |||
In terminal:
Pick your flavor, types included
``bash`
npm i -S waelio-utils
pnpm add -S waelio-utils
yarn add -S waelio-utils
OR
In browser:
`html`
Or in terminal add indvidual packagees
`javascript
// ES6
import { _snakeToCamel, _notifyMe } from 'waelio-utils';
// NodeJS
const { _snakeToCamel, _notifyMe } = require('waelio-utils');
`
#
Function that converts a JSON to URL Query String{}
@param JSON payloadString
_Returns_ .js
#### Example: In your or .ts file:
`javascript`
import { _jsonToQueryString } from 'waelio-utils';
const payload = { first: 'John', last: 'Smith' };
const Result = jsonToQueryString(payload);
#### Result:
`javascript`
'name=John&last=smith';
#
#
Function that converts a URL Query String to JSON
@param payload Type @param {string} as StringJSON || Object
_Returns_
#### Example: In your .js or .ts file:
`javascript`
import { _queryStringToJson } from 'waelio-utils';
const query = (name = 'John&last=smith');
const Result = queryStringToJson(query);
#### Result:
`javascript`
{ first: 'John', last: 'Smith' }
#
#
`javascript
import { _resetString } from 'waelio-utils';
const payload = 'https%3A%2F%2Fwaelio.com';
const Result = resetString(payload);
Result === 'https://waelio.com';
`
#
#
Function that converts snake_case or snake-case to camelCase "snakeCase"
@name snakeToCamel
@param {string} payload QueryString
_Returns_ {string}
#### Example: In your .js or .ts file:
`javascript`
import { _snakeToCamel } from 'waelio-utils';
const payload = 'north-west_meta';
const Result = snakeToCamel(payload);
#### Result:
`javascript`
'northWestMeta';
#
#
Function that converts camelCase to snake_case or snake-case "snake-case"
@param {string} payload
@param {boolean} hyphenated controls the delimiter: true = "-" / false = "\_"
_Returns_ {string}
#### Example: In your .js or .ts file:
`javascript`
import { _camelToSnake } from 'waelio-utils';
const payload = 'northWestMeta';
const Result = camelToSnake(payload);
#### Result 1- camelToSnake( payload )
`javascript`
'north_west_meta';
#### Result 2- camelToSnake( payload, true )
`javascript`
'north-west-meta';
#
#
Converts a string to Base64
#### Example: In your .js or .ts file:
`javascript`
import { _toBase64 } from 'waelio-utils';
const payload = 'north-west_meta';
const Result = Base64(payload);
#### Result:
`javascript`
'bm9ydGgtd2VzdF9tZXRh';
#
#
Simple object Standardization
OR object Deep Cloning <- _Not best practice_
_Warning_: Watchout for nulls, undefined, NaN and dates
_Returns_ JSON.parse(JSON.stringify(payload))
#### Example: In your .js or .ts file:
`javascript
import { _reParseString } from 'waelio-utils';
// No magic here, use wisely
`
#
#
Generate random string/id
@param {number} start 2 _OPTIONAL_
@param {number} len 9 _OPTIONAL_
_Returns_ {string}
#### Example: In your .js or .ts file:
`javascript`
import { _generateId } from 'waelio-utils';
const result = generateId();
#### Result: (random)
`javascript`
// result === '3uqi11wg9'
#
#
#### Perfect when Using Quasar Framework
`javascript`
// quasar.conf.js
return {
framework: {
plugins: ['Meta'],
},
};
#### In a .vue file
`javascript`
#
#
#### Send PWA Notifications to Site
#### Works only in Browser
#### @param {string} to send
#### Example: In your .js or .ts file:
`javascript`
import { _notifyMe } from 'waelio-utils';
notifyMe('Hello World!');
#
#
Example:
`javascript`
var response = { _id: 1234, name: 'John' };
var newId = sniffId(response);
// newId === 1234
#
#
``
@params array
@params difficulty = 3
@params replacement = ''
Example:
`javascript
import { _hideRandom } from 'waelio-utils';
const arr = [
[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
];
const test = _hideRandom(arr, 3);
/* random
[1, 2, ""]
["", 2, ""]
["", "", 3]
*/
`
#
#
`js
import { _rotateArray } from 'waelio-utils';
const testArray = [
[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
];
const test1 = _rotateArray(testArray);
/*
[1, 1, 1],
[2, 2, 2],
[3, 3, 3]
*/
`
#
#
`javascript
import { _repeat } from 'waelio-utils';
let counter = 0;
const f1 = () => counter++;
_repeat(5)(f1);
// counter === 5
`
#
#
`javascript
import { _equals } from 'waelio-utils';
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [1, 2, 3, 4, 5];
const arr3 = [1, 2, 3, 4, 5, 6];
_equals(arr1, arr2); // true
_equals(arr1, arr3); // false
`
#
#
`js
import { _cleanResponse } from 'waelio-utils';
const demoRes = {
total: 1,
limit: 10,
skip: 0,
data: [
{
_id: '650937936xc8b143d8c575d2a',
name: 'Some Data',
user: '679363c6dc8b123d8c575d29',
createdAt: '2021-05-06T06:14:09.209Z',
updatedAt: '2021-05-06T06:14:09.209Z',
__v: 0,
},
],
};
const cleanRes = _cleanResponse(demoRes);
/* [
{
"_id": "650937936xc8b143d8c575d2a",
"name": "Some Data",
"user": "679363c6dc8b123d8c575d29",
"createdAt": "2021-05-06T06:14:09.209Z",
"updatedAt": "2021-05-06T06:14:09.209Z",
"__v": 0
}
]
*/
`
#
#
Turn any function to Promise
`javascript`
[null, resolve][(reject, null)]; // resolve // reject
Example:
`javascript
import { _To } from 'waelio-utils';
import axios = 'axios';
const testEndpoint = 'https://api.picmymenu.com/restaurants';
const response = await _To(axios(testEndpoint));
const [ reject, resolve ] = response;
expect(response).toBeTruthy() // true
expect(resolve).toBeTruthy() // true
expect(reject).not.toBeTruthy() //true
expect(resolve.data.length).toBeTruthy(); //true
`
#
#
`js
import { _a_or_an } from 'waelio-utils'
const payload1 = "apple";
const payload2 = "bananas";
const payload3 = "orange";
a_or_an(payload1 // an
a_or_an(payload2) // a
a_or_an(payload3) // an
`
#
#
, object & array , numberIf _salt_ is not provided it will revert to the string "salt" as the default _salt_.
####
If _salt_ is not provided and asFunction is false it will revert to the string "salt" as the default _salt_
####
#### \_decrypt: _decrypt(payload, salt?)
####
`js
import { _encrypt, _decrypt, _generateId, _equal } from 'waelio-utils';
const salt = generateId(); // "g9rlygzjd"
const payload1 = 'What ever you want';
const payload2 = { message: 'What ever you want' };
const encrypted1 = _encrypt(payload1);
const decrypted2 = _decrypt(encrypted1); // "What ever you want"
const encrypted2 = _encrypt(payload2, salt);
const decrypted3 = _decrypt(encrypted2, salt); // {"message":"What ever you want"}
// Test
const dblCheck = _equal(payload2, JSON.parse(decrypted2)); // true
``
#