Magicyan Core
Install with
npm install @magicyan/core
This lib provides simple and practical functions to use
Check
import { equalsIgnoreCase, includesIgnoreCase } from "@magicyan/core";
console.log(equalsIgnoreCase("Hello World", "hello world"));
console.log(includesIgnoreCase("Javascript Program", "program"));
Convert
import { equalsIgnoreCase, includesIgnoreCase } from "@magicyan/core";
console.log(hexToRgb("#3a8cc3"));
console.log(rgbToHex(3837123));
Format
import { toNull, notFound, brBuilder, spaceBuilder, replaceText, captalize, limitText } from "@magicyan/core";
console.log(toNull());
asyncMethod().catch(toNull);
const amount = notFound(value);
const text = brBuilder("Hello world", "This is javascript!");
console.log(text) ;
const adm = "Rincko";
const action = "promoted";
const text = spaceBuilder("Administrator", adm, "has been", action);
console.log(text);
{
"welcome": {
"en-US": "Hi var(name), welcome to var(libname) lib",
"pt-BR": "Olá var(name), seja bem vindo à lib var(libname)"
}
}
import { replaceText } from "@magicyan/discord";
import lang from "./lang"
const locale = "en-US";
const text = replaceText(lang.welcome[locale], {
"var(name)": user.displayName
"var(libname)": lib.getName()
})
console.log(text)
const captalizedWord = captalize("hello world");
console.log(capitalizedWord);
const captalizedText = captalize("i love brazil", true);
console.log(capitalizedText);
const bigText = "Introduction to magicyan/core lib! A lib with many useful functions";
const limitedText = limitText(bigText, 21, "...");
console.log(limitedText)
Math
import { random, parseIntOr, parseFloatOr } from "@magicyan/core";
console.log(random.int(0, 10))
console.log(random.int(0, 10))
console.log(random.int(0, 10))
console.log(random.float(0, 10))
console.log(random.float(0, 10))
console.log(random.float(0, 10))
console.log(parseIntOr("nan", 2))
console.log(parseFloatOr("nan", -8))
console.log(parseIntOr("29.09", 10))
console.log(parseFloatOr("0.3", 18))
Promises
import { sleep, createInterval } from "@magicyan/core";
await sleep(2000)
let count = 0
const timer = createInterval({
time: 1000,
run(stop){
console.log(count)
if (count >= 10){
console.log("end")
stop()
return
}
count++
}
})
if (otherCondition) timer.stop();
Utils
import { copyObject, mergeObject, toMergeObject } from "@magicyan/core";
const originalUser = { name: "Jhondoe" };
const userCopy = copyObject(originalUser);
originalUser.name = "Victor";
console.log(originalUser.name)
console.log(userCopy.name)
const administrator = toMergeObject(userCopy, { perms: [1, 2] })
console.log(JSON.stringify(userCopy))
console.log(JSON.stringify(administrator))
mergeObject(administrator, { sector: "A" });
console.log(JSON.stringify(administrator))
Validation
import { isEmail, isUrl } from "@magicyan/core";
console.log(isEmail("jhondoe@gmail.com"))
console.log(isEmail("jhondoeemail.com"))
console.log(isEmail("jhondoe@email.org"))
console.log(isEmail("@gmail.com"))
console.log(isUrl("localhost:3000"))
console.log(isUrl("https://npmjs.com"))
console.log(isUrl("http://github.com"))
console.log(isUrl("github.com"))