The WaelioUtils exported as a Javascript modules.
- Recently Added/Updated
- Strings
- Arrays
- Objects
- Other
_calculateClockDrift |
|||
In terminal: Pick your flavor, types included
npm i -S waelio-utils
pnpm add -S waelio-utils
yarn add -S waelio-utilsOR
In browser:
<script src="https://unpkg.com/waelio-utils@latest/lib/waelioUtils.js"></script>Or in terminal add indvidual packagees
// 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 payload
Returns String
import { _jsonToQueryString } from 'waelio-utils';
const payload = { first: 'John', last: 'Smith' };
const Result = jsonToQueryString(payload);'name=John&last=smith';Function that converts a URL Query String to JSON
@param payload Type @param {string} as String
Returns JSON || Object
import { _queryStringToJson } from 'waelio-utils';
const query = (name = 'John&last=smith');
const Result = queryStringToJson(query);{ first: 'John', last: 'Smith' }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}
import { _snakeToCamel } from 'waelio-utils';
const payload = 'north-west_meta';
const Result = snakeToCamel(payload);'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}
import { _camelToSnake } from 'waelio-utils';
const payload = 'northWestMeta';
const Result = camelToSnake(payload);'north_west_meta';'north-west-meta';Converts a string to Base64
import { _toBase64 } from 'waelio-utils';
const payload = 'north-west_meta';
const Result = Base64(payload);'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))
import { _reParseString } from 'waelio-utils';
// No magic here, use wiselyGenerate random string/id
@param {number} start 2 OPTIONAL
@param {number} len 9 OPTIONAL
Returns {string}
import { _generateId } from 'waelio-utils';
const result = generateId();// result === '3uqi11wg9'Perfect when Using Quasar Framework
// quasar.conf.js
return {
framework: {
plugins: ['Meta'],
},
};<script>
import { _meta } from 'waelio-utils'
export default {
name:'foo',
data () {
return {
metaTags: {
title: 'Site Title',
description: 'Website Utilities',
url: 'https://github.com/waelio/waelio-utils',
image: 'nwm_logo.png'
}
}
},
meta
}
</script>import { _notifyMe } from 'waelio-utils';
notifyMe('Hello World!');Example:
var response = { _id: 1234, name: 'John' };
var newId = sniffId(response);
// newId === 1234@params array
@params difficulty = 3
@params replacement = ''
Example:
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]
*/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]
*/import { _repeat } from 'waelio-utils';
let counter = 0;
const f1 = () => counter++;
_repeat(5)(f1);
// counter === 5import { _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); // falseimport { _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
[null, resolve][(reject, null)]; // resolve // rejectExample:
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(); //trueimport { _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) // anIf 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
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