Skip to content

Instantly share code, notes, and snippets.

@oxcode-dev
Last active March 3, 2020 11:55
Show Gist options
  • Save oxcode-dev/20bb240a4376c9b2cb643bc132f0f11f to your computer and use it in GitHub Desktop.
Save oxcode-dev/20bb240a4376c9b2cb643bc132f0f11f to your computer and use it in GitHub Desktop.
export const o_O = (promise) => {
return promise.then(data => {
if(data instanceof Error) return [data]
return [null, data]
}).catch(err => [err])
}
// Create Search Url
export const urlString = (str) => {
return str.toLowerCase().replace(new RegExp(' ', 'g'), '+');
}
// Check whether an object is empty
export const isEmpty = (obj) => {
for (let key in obj) {
if (obj.hasOwnProperty(key))
return false;
}
return true;
}
export const goBack = () => window.history.go(-1);
export const isUrl = (url) => window.route().current(url);
export const goForward = () => window.history.go(1);
// Format date
export const formatDate = (template, date) => {
var specs = 'YYYY:MM:DD:HH:mm:ss'.split(':');
date = new Date(date || Date.now() - new Date().getTimezoneOffset() * 6e4);
return date.toISOString().split(/[-:.TZ]/).reduce(function(template, item, i) {
return template.split(specs[i]).join(item);
}, template);
}
// Show Date Only
export const showDate = (date) => {
var specs = 'YYYY:MM:DD:HH:mm:ss'.split(':');
date = new Date(date || Date.now() - new Date().getTimezoneOffset() * 6e4);
// date = date.
}
// Create Url Slug
export function createSlug(str) {
str = str.replace(/^\s+|\s+$/g, ""); // trim
str = str.toLowerCase();
// remove accents, swap ñ for n, etc
const from = "åàáãäâèéëêìíïîòóöôùúüûñç·/_,:;";
const to = "aaaaaaeeeeiiiioooouuuunc------";
let i = 0, l = from.length;
for (; i < l; i++) {
str = str.replace(new RegExp(from.charAt(i), "g"), to.charAt(i));
}
str = str
.replace(/[^a-z0-9 -]/g, "") // remove invalid chars
.replace(/\s+/g, "-") // collapse whitespace and replace by -
.replace(/-+/g, "-") // collapse dashes
.replace(/^-+/, "") // trim - from start of text
.replace(/-+$/, ""); // trim - from end of text
return str;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment