New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details β†’
Socket
Book a DemoSign in
Socket

kr-corekit

Package Overview
Dependencies
Maintainers
2
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

kr-corekit - npm Package Compare versions

Comparing version
0.0.11
to
0.1.0
+13
dist/types/formatUtil/formatNumberWithCommas/index.d.ts
/**
* μˆ«μžλ‚˜ λ¬Έμžμ—΄μ„ 3μžλ¦¬λ§ˆλ‹€ 콀마(,)κ°€ ν¬ν•¨λœ λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€.
* null, undefined, λ˜λŠ” μœ νš¨ν•˜μ§€ μ•Šμ€ 값이 λ“€μ–΄μ˜€λ©΄ 빈 λ¬Έμžμ—΄μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.
*
* @param value - 콀마λ₯Ό μΆ”κ°€ν•  숫자 λ˜λŠ” λ¬Έμžμ—΄
* @returns μ½€λ§ˆκ°€ μΆ”κ°€λœ λ¬Έμžμ—΄
*
* @example
* formatNumberWithCommas(1234567); // "1,234,567"
* formatNumberWithCommas(-12345.67); // "-12,345.67"
* formatNumberWithCommas("12345"); // "12,345"
*/
export default function formatNumberWithCommas(value: number | string | null | undefined): string;
/**
* μˆ«μžλ‚˜ λ¬Έμžμ—΄μ„ 3μžλ¦¬λ§ˆλ‹€ 콀마(,)κ°€ ν¬ν•¨λœ λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€.
* null, undefined, λ˜λŠ” μœ νš¨ν•˜μ§€ μ•Šμ€ 값이 λ“€μ–΄μ˜€λ©΄ 빈 λ¬Έμžμ—΄μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.
*
* @param value - 콀마λ₯Ό μΆ”κ°€ν•  숫자 λ˜λŠ” λ¬Έμžμ—΄
* @returns μ½€λ§ˆκ°€ μΆ”κ°€λœ λ¬Έμžμ—΄
*
* @example
* formatNumberWithCommas(1234567); // "1,234,567"
* formatNumberWithCommas(-12345.67); // "-12,345.67"
* formatNumberWithCommas("12345"); // "12,345"
*/
export default function formatNumberWithCommas(value) {
if (value === null || value === undefined || value === "") {
return "";
}
const num = Number(value);
if (isNaN(num)) {
return String(value);
}
return num.toLocaleString("en-US");
}
/**
* λ¬Έμžμ—΄μ„ URL μΉœν™”μ μΈ slug ν˜•νƒœλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€.
* 곡백을 λŒ€μ‹œ(-)둜 λ³€ν™˜ν•˜κ³ , 특수문자λ₯Ό μ œκ±°ν•˜λ©°, μ†Œλ¬Έμžλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€.
* ν•œκΈ€λ„ μ§€μ›ν•©λ‹ˆλ‹€.
*
* @param text - slug둜 λ³€ν™˜ν•  λ¬Έμžμ—΄
* @returns URL μΉœν™”μ μΈ slug λ¬Έμžμ—΄
*/
export default function slugify(text: string): string;
/**
* λ¬Έμžμ—΄μ„ URL μΉœν™”μ μΈ slug ν˜•νƒœλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€.
* 곡백을 λŒ€μ‹œ(-)둜 λ³€ν™˜ν•˜κ³ , 특수문자λ₯Ό μ œκ±°ν•˜λ©°, μ†Œλ¬Έμžλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€.
* ν•œκΈ€λ„ μ§€μ›ν•©λ‹ˆλ‹€.
*
* @param text - slug둜 λ³€ν™˜ν•  λ¬Έμžμ—΄
* @returns URL μΉœν™”μ μΈ slug λ¬Έμžμ—΄
*/
export default function slugify(text) {
return text
.toString()
.trim()
.toLowerCase()
.replace(/\s+/g, "-")
.replace(/[^a-zA-Z0-9κ°€-힣\-]+/g, "")
.replace(/\-\-+/g, "-")
.replace(/^-+/, "")
.replace(/-+$/, "");
}
+103
-90

@@ -7,5 +7,9 @@ function g(e) {

}
const B = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
function b(e) {
return e.toString().trim().toLowerCase().replace(/\s+/g, "-").replace(/[^a-zA-Z0-9κ°€-힣\-]+/g, "").replace(/\-\-+/g, "-").replace(/^-+/, "").replace(/-+$/, "");
}
const H = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
escapeHtml: g,
slugify: b,
unescapeHtml: y

@@ -16,6 +20,6 @@ }, Symbol.toStringTag, { value: "Module" }));

}
function p(e) {
function m(e) {
const t = { ...e };
return Object.keys(t).forEach((r) => {
t[r] === null || t[r] === void 0 ? delete t[r] : d(t[r]) && (t[r] = p(
t[r] === null || t[r] === void 0 ? delete t[r] : d(t[r]) && (t[r] = m(
t[r]

@@ -25,25 +29,25 @@ ));

}
function m(e) {
function p(e) {
const t = Object.getOwnPropertyNames(e);
for (const r of t) {
const n = e[r];
typeof n == "object" && n !== null && m(n);
typeof n == "object" && n !== null && p(n);
}
return Object.freeze(e);
}
function b(e, t) {
function h(e, t) {
const { [e]: r, ...n } = t;
return n;
}
const Z = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
const F = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
clearNullProperties: p,
deepFreeze: m,
removeKey: b
clearNullProperties: m,
deepFreeze: p,
removeKey: h
}, Symbol.toStringTag, { value: "Module" }));
function h(e) {
function S(e) {
const t = document.cookie.match(new RegExp("(^| )" + encodeURIComponent(e) + "=([^;]+)"));
return t ? decodeURIComponent(t[2]) : "";
}
function S(e, t, r = {}) {
function _(e, t, r = {}) {
const {

@@ -65,26 +69,26 @@ path: n = "/",

}
const H = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
const J = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
getCookie: h,
setCookie: S
getCookie: S,
setCookie: _
}, Symbol.toStringTag, { value: "Module" }));
function _(...e) {
function $(...e) {
return e.reduce((t, r) => t + r, 0);
}
function $(...e) {
function x(...e) {
return e.length === 0 ? 0 : e.reduce((t, r) => t - r);
}
function x(...e) {
function w(...e) {
return e.reduce((t, r) => t * r, 1);
}
const F = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
const Q = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
multiply: x,
subtract: $,
sum: _
multiply: w,
subtract: x,
sum: $
}, Symbol.toStringTag, { value: "Module" }));
function w(e) {
function O(e) {
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e);
}
function O(e) {
function j(e) {
try {

@@ -97,3 +101,3 @@ const t = new URL(e);

}
function j(e) {
function U(e) {
return /^(?!:\/\/)([a-z0-9-]+\.)+[a-z]{2,}$/.test(e);

@@ -104,3 +108,3 @@ }

}
function U(e, t) {
function R(e, t) {
const {

@@ -118,14 +122,14 @@ minLength: r,

}
const J = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
const V = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
checkBase64: P,
checkDomain: j,
checkEmail: w,
checkHttpUrl: O,
checkPassword: U
checkDomain: U,
checkEmail: O,
checkHttpUrl: j,
checkPassword: R
}, Symbol.toStringTag, { value: "Module" }));
function R(e) {
function T(e) {
return e == null || typeof e == "number" && isNaN(e) ? !0 : typeof e == "string" || Array.isArray(e) ? e.length === 0 : e instanceof Date ? isNaN(e.getTime()) : typeof e == "symbol" ? e.description === void 0 : e instanceof Set || e instanceof Map ? e.size === 0 : typeof e == "object" && e.constructor === Object ? Object.keys(e).length === 0 : !1;
}
function T(e) {
function C(e) {
return e === null;

@@ -153,9 +157,9 @@ }

}
function C(e, { convertSpecialChars: t = !0 } = {}) {
function A(e, { convertSpecialChars: t = !0 } = {}) {
return e == null ? e : btoa(t ? encodeURIComponent(e) : encodeURI(e));
}
function A(e, { convertSpecialChars: t = !0 } = {}) {
function M(e, { convertSpecialChars: t = !0 } = {}) {
return e == null ? e : t ? decodeURIComponent(atob(e)) : decodeURI(atob(e));
}
function M(e, t = 300) {
function N(e, t = 300) {
let r;

@@ -166,3 +170,3 @@ return (...n) => {

}
function v(e, t = 300) {
function k(e, t = 300) {
let r = !1;

@@ -173,3 +177,3 @@ return (...n) => {

}
async function k(e, t = 3) {
async function v(e, t = 3) {
let r = 0;

@@ -239,16 +243,16 @@ const n = async () => {

}
}, Q = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
}, W = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
copyToClipboard: z,
debounce: M,
decodeBase64: A,
encodeBase64: C,
isEmpty: R,
isNull: T,
retry: k,
debounce: N,
decodeBase64: M,
encodeBase64: A,
isEmpty: T,
isNull: C,
retry: v,
sleep: I,
storage: E,
throttle: v
throttle: k
}, Symbol.toStringTag, { value: "Module" }));
function N() {
function L() {
if (window && typeof window.URLSearchParams > "u")

@@ -261,9 +265,9 @@ throw new Error("URLSearchParams is not supported in this environment.");

}
const V = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
const K = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
getAllQuery: N
}, Symbol.toStringTag, { value: "Module" })), K = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
getAllQuery: L
}, Symbol.toStringTag, { value: "Module" })), G = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
isPlainObject: d
}, Symbol.toStringTag, { value: "Module" })), L = [
}, Symbol.toStringTag, { value: "Module" })), q = [
// μ„œμšΈ μ§€μ—­λ²ˆν˜Έ (02) - 9자리

@@ -302,5 +306,5 @@ {

];
function q(e) {
function D(e) {
if (!e) return "";
const t = e.replace(/\D/g, ""), r = L.find(
const t = e.replace(/\D/g, ""), r = q.find(
(n) => (!n.prefix || t.startsWith(n.prefix)) && t.length === n.length

@@ -310,54 +314,63 @@ );

}
const W = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
function B(e) {
if (e == null || e === "")
return "";
const t = Number(e);
return isNaN(t) ? String(e) : t.toLocaleString("en-US");
}
const X = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
formatPhoneNumber: q
formatNumberWithCommas: B,
formatPhoneNumber: D
}, Symbol.toStringTag, { value: "Module" }));
function D() {
function Z() {
const e = window.navigator.userAgent, t = /iPhone|iPad|iPod/i.test(e), r = /Android/i.test(e), n = /(iPad)|(tablet)|(android(?!.*mobi))/i.test(e), i = !n && /Mobi|iP(hone|od)|Android|BlackBerry|IEMobile|Opera Mini/i.test(e);
return { isMobile: i, isTablet: n, isDesktop: !i && !n, isIOS: t, isAndroid: r };
}
const G = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
const Y = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
getDevice: D
getDevice: Z
}, Symbol.toStringTag, { value: "Module" }));
export {
P as checkBase64,
j as checkDomain,
w as checkEmail,
O as checkHttpUrl,
U as checkPassword,
p as clearNullProperties,
Q as commonUtil,
H as cookieUtil,
U as checkDomain,
O as checkEmail,
j as checkHttpUrl,
R as checkPassword,
m as clearNullProperties,
W as commonUtil,
J as cookieUtil,
z as copyToClipboard,
M as debounce,
A as decodeBase64,
m as deepFreeze,
G as deviceUtil,
C as encodeBase64,
N as debounce,
M as decodeBase64,
p as deepFreeze,
Y as deviceUtil,
A as encodeBase64,
g as escapeHtml,
q as formatPhoneNumber,
W as formatUtil,
N as getAllQuery,
h as getCookie,
D as getDevice,
R as isEmpty,
T as isNull,
B as formatNumberWithCommas,
D as formatPhoneNumber,
X as formatUtil,
L as getAllQuery,
S as getCookie,
Z as getDevice,
T as isEmpty,
C as isNull,
d as isPlainObject,
x as multiply,
F as numberUtil,
Z as objectUtil,
b as removeKey,
k as retry,
V as searchQueryUtil,
S as setCookie,
w as multiply,
Q as numberUtil,
F as objectUtil,
h as removeKey,
v as retry,
K as searchQueryUtil,
_ as setCookie,
I as sleep,
b as slugify,
E as storage,
B as stringUtil,
$ as subtract,
_ as sum,
v as throttle,
K as typeUtil,
H as stringUtil,
x as subtract,
$ as sum,
k as throttle,
G as typeUtil,
y as unescapeHtml,
J as validationUtil
V as validationUtil
};

@@ -1,1 +0,1 @@

(function(r,u){typeof exports=="object"&&typeof module<"u"?u(exports):typeof define=="function"&&define.amd?define(["exports"],u):(r=typeof globalThis<"u"?globalThis:r||self,u(r["kr-corekit"]={}))})(this,(function(r){"use strict";function u(e){return e==null?e:e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function b(e){return e==null?e:e.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&#x2F;/g,"/")}const H=Object.freeze(Object.defineProperty({__proto__:null,escapeHtml:u,unescapeHtml:b},Symbol.toStringTag,{value:"Module"}));function m(e){return typeof e!="object"||e===null?!1:Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null}function g(e){const t={...e};return Object.keys(t).forEach(n=>{t[n]===null||t[n]===void 0?delete t[n]:m(t[n])&&(t[n]=g(t[n]))}),t}function p(e){const t=Object.getOwnPropertyNames(e);for(const n of t){const o=e[n];typeof o=="object"&&o!==null&&p(o)}return Object.freeze(e)}function h(e,t){const{[e]:n,...o}=t;return o}const Z=Object.freeze(Object.defineProperty({__proto__:null,clearNullProperties:g,deepFreeze:p,removeKey:h},Symbol.toStringTag,{value:"Module"}));function S(e){const t=document.cookie.match(new RegExp("(^| )"+encodeURIComponent(e)+"=([^;]+)"));return t?decodeURIComponent(t[2]):""}function _(e,t,n={}){const{path:o="/",expires:c,maxAge:f,afterExpires:i,domain:s,secure:y,sameSite:d}=n;let l=`${encodeURIComponent(e)}=${encodeURIComponent(t)}; path=${o};`;if(c&&(l+=` expires=${c.toUTCString()};`),f&&(l+=` max-age=${f};`),i){let a=0;i.year?a+=parseInt(i.year,10)*365*24*60*60:i.month?a+=parseInt(i.month,10)*30*24*60*60:i.day?a+=parseInt(i.day,10)*24*60*60:i.hour?a+=parseInt(i.hour,10)*60*60:i.minute?a+=parseInt(i.minute,10)*60:i.second&&(a+=parseInt(i.second,10)),l+=` max-age=${a};`}s&&(l+=` domain=${s};`),y&&(l+=" secure;"),d&&(l+=` samesite=${d};`),document.cookie=l}const F=Object.freeze(Object.defineProperty({__proto__:null,getCookie:S,setCookie:_},Symbol.toStringTag,{value:"Module"}));function $(...e){return e.reduce((t,n)=>t+n,0)}function O(...e){return e.length===0?0:e.reduce((t,n)=>t-n)}function w(...e){return e.reduce((t,n)=>t*n,1)}const Q=Object.freeze(Object.defineProperty({__proto__:null,multiply:w,subtract:O,sum:$},Symbol.toStringTag,{value:"Module"}));function j(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}function P(e){try{const t=new URL(e);return t.protocol==="http:"||t.protocol==="https:"}catch{return!1}}function U(e){return/^(?!:\/\/)([a-z0-9-]+\.)+[a-z]{2,}$/.test(e)}function T(e){return e.trim()===""?!1:/^(?:[A-Z0-9+\/]{4})*(?:[A-Z0-9+\/]{2}==|[A-Z0-9+\/]{3}=)?$/i.test(e)}function R(e,t){const{minLength:n,maxLength:o,requireUppercase:c=!1,requireLowercase:f=!1,requireNumber:i=!1,requireSpecialChar:s=!1}=t||{};if(n!==void 0&&e.length<n||o!==void 0&&e.length>o)return!1;const y=c?/[A-Z]/.test(e):!0,d=f?/[a-z]/.test(e):!0,l=i?/\d/.test(e):!0,a=s?/[!@#$%^&*(),.?":{}|<>]/.test(e):!0;return y&&d&&l&&a}const x=Object.freeze(Object.defineProperty({__proto__:null,checkBase64:T,checkDomain:U,checkEmail:j,checkHttpUrl:P,checkPassword:R},Symbol.toStringTag,{value:"Module"}));function k(e){return e==null||typeof e=="number"&&isNaN(e)?!0:typeof e=="string"||Array.isArray(e)?e.length===0:e instanceof Date?isNaN(e.getTime()):typeof e=="symbol"?e.description===void 0:e instanceof Set||e instanceof Map?e.size===0:typeof e=="object"&&e.constructor===Object?Object.keys(e).length===0:!1}function C(e){return e===null}function I(e){const t=Math.max(0,e|0);return new Promise(n=>setTimeout(n,t))}async function v(e){try{if(e.length>1e6)throw new Error("Text too large to copy");return await navigator.clipboard.writeText(e),!0}catch{const n=document.createElement("textarea");n.value=e,n.style.position="fixed",n.style.top="-9999px",n.style.left="-9999px",document.body.appendChild(n),n.focus(),n.select();try{const o=document.execCommand("copy");return document.body.removeChild(n),o}catch{return document.body.removeChild(n),!1}}}function z(e,{convertSpecialChars:t=!0}={}){return e==null?e:btoa(t?encodeURIComponent(e):encodeURI(e))}function A(e,{convertSpecialChars:t=!0}={}){return e==null?e:t?decodeURIComponent(atob(e)):decodeURI(atob(e))}function M(e,t=300){let n;return(...o)=>{clearTimeout(n),n=setTimeout(()=>e(...o),t)}}function E(e,t=300){let n=!1;return(...o)=>{n||(e(...o),n=!0,setTimeout(()=>n=!1,t))}}async function N(e,t=3){let n=0;const o=async()=>{try{return await e()}catch(c){if(n++,n>=t)throw c;return o()}};return o()}const B={set(e,t){if(typeof window>"u"){console.warn(`localStorage is not available in SSR environment. Set operation for key "${e}" was ignored.`);return}try{const n=JSON.stringify(t);window.localStorage.setItem(e,n)}catch(n){console.error(`Error setting item "${e}" to localStorage`,n)}},get(e){if(typeof window>"u")return null;try{const t=window.localStorage.getItem(e);return t===null?null:JSON.parse(t)}catch(t){return console.error(`Error getting item "${e}" from localStorage`,t),window.localStorage.removeItem(e),null}},remove(e){if(typeof window>"u"){console.warn(`localStorage is not available in SSR environment. Remove operation for key "${e}" was ignored.`);return}try{window.localStorage.removeItem(e)}catch(t){console.error(`Error removing item "${e}" from localStorage`,t)}}},J=Object.freeze(Object.defineProperty({__proto__:null,copyToClipboard:v,debounce:M,decodeBase64:A,encodeBase64:z,isEmpty:k,isNull:C,retry:N,sleep:I,storage:B,throttle:E},Symbol.toStringTag,{value:"Module"}));function D(){if(window&&typeof window.URLSearchParams>"u")throw new Error("URLSearchParams is not supported in this environment.");const e=new URLSearchParams(window.location.search),t={};for(const[n,o]of e.entries())t[n]?Array.isArray(t[n])?t[n].push(o):t[n]=[t[n],o]:t[n]=o;return t}const K=Object.freeze(Object.defineProperty({__proto__:null,getAllQuery:D},Symbol.toStringTag,{value:"Module"})),V=Object.freeze(Object.defineProperty({__proto__:null,isPlainObject:m},Symbol.toStringTag,{value:"Module"})),W=[{prefix:"02",length:9,format:/(\d{2})(\d{3})(\d{4})/,replacement:"$1-$2-$3"},{prefix:"02",length:10,format:/(\d{2})(\d{4})(\d{4})/,replacement:"$1-$2-$3"},{length:8,format:/(\d{4})(\d{4})/,replacement:"$1-$2"},{length:10,format:/(\d{3})(\d{3})(\d{4})/,replacement:"$1-$2-$3"},{length:11,format:/(\d{3})(\d{4})(\d{4})/,replacement:"$1-$2-$3"}];function L(e){if(!e)return"";const t=e.replace(/\D/g,""),n=W.find(o=>(!o.prefix||t.startsWith(o.prefix))&&t.length===o.length);return n?t.replace(n.format,n.replacement):t}const G=Object.freeze(Object.defineProperty({__proto__:null,formatPhoneNumber:L},Symbol.toStringTag,{value:"Module"}));function q(){const e=window.navigator.userAgent,t=/iPhone|iPad|iPod/i.test(e),n=/Android/i.test(e),o=/(iPad)|(tablet)|(android(?!.*mobi))/i.test(e),c=!o&&/Mobi|iP(hone|od)|Android|BlackBerry|IEMobile|Opera Mini/i.test(e);return{isMobile:c,isTablet:o,isDesktop:!c&&!o,isIOS:t,isAndroid:n}}const X=Object.freeze(Object.defineProperty({__proto__:null,getDevice:q},Symbol.toStringTag,{value:"Module"}));r.checkBase64=T,r.checkDomain=U,r.checkEmail=j,r.checkHttpUrl=P,r.checkPassword=R,r.clearNullProperties=g,r.commonUtil=J,r.cookieUtil=F,r.copyToClipboard=v,r.debounce=M,r.decodeBase64=A,r.deepFreeze=p,r.deviceUtil=X,r.encodeBase64=z,r.escapeHtml=u,r.formatPhoneNumber=L,r.formatUtil=G,r.getAllQuery=D,r.getCookie=S,r.getDevice=q,r.isEmpty=k,r.isNull=C,r.isPlainObject=m,r.multiply=w,r.numberUtil=Q,r.objectUtil=Z,r.removeKey=h,r.retry=N,r.searchQueryUtil=K,r.setCookie=_,r.sleep=I,r.storage=B,r.stringUtil=H,r.subtract=O,r.sum=$,r.throttle=E,r.typeUtil=V,r.unescapeHtml=b,r.validationUtil=x,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})}));
(function(r,u){typeof exports=="object"&&typeof module<"u"?u(exports):typeof define=="function"&&define.amd?define(["exports"],u):(r=typeof globalThis<"u"?globalThis:r||self,u(r["kr-corekit"]={}))})(this,(function(r){"use strict";function u(e){return e==null?e:e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function b(e){return e==null?e:e.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&#x2F;/g,"/")}function h(e){return e.toString().trim().toLowerCase().replace(/\s+/g,"-").replace(/[^a-zA-Z0-9κ°€-힣\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}const F=Object.freeze(Object.defineProperty({__proto__:null,escapeHtml:u,slugify:h,unescapeHtml:b},Symbol.toStringTag,{value:"Module"}));function m(e){return typeof e!="object"||e===null?!1:Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null}function g(e){const t={...e};return Object.keys(t).forEach(n=>{t[n]===null||t[n]===void 0?delete t[n]:m(t[n])&&(t[n]=g(t[n]))}),t}function p(e){const t=Object.getOwnPropertyNames(e);for(const n of t){const o=e[n];typeof o=="object"&&o!==null&&p(o)}return Object.freeze(e)}function S(e,t){const{[e]:n,...o}=t;return o}const Q=Object.freeze(Object.defineProperty({__proto__:null,clearNullProperties:g,deepFreeze:p,removeKey:S},Symbol.toStringTag,{value:"Module"}));function _(e){const t=document.cookie.match(new RegExp("(^| )"+encodeURIComponent(e)+"=([^;]+)"));return t?decodeURIComponent(t[2]):""}function $(e,t,n={}){const{path:o="/",expires:c,maxAge:f,afterExpires:i,domain:s,secure:y,sameSite:d}=n;let l=`${encodeURIComponent(e)}=${encodeURIComponent(t)}; path=${o};`;if(c&&(l+=` expires=${c.toUTCString()};`),f&&(l+=` max-age=${f};`),i){let a=0;i.year?a+=parseInt(i.year,10)*365*24*60*60:i.month?a+=parseInt(i.month,10)*30*24*60*60:i.day?a+=parseInt(i.day,10)*24*60*60:i.hour?a+=parseInt(i.hour,10)*60*60:i.minute?a+=parseInt(i.minute,10)*60:i.second&&(a+=parseInt(i.second,10)),l+=` max-age=${a};`}s&&(l+=` domain=${s};`),y&&(l+=" secure;"),d&&(l+=` samesite=${d};`),document.cookie=l}const W=Object.freeze(Object.defineProperty({__proto__:null,getCookie:_,setCookie:$},Symbol.toStringTag,{value:"Module"}));function w(...e){return e.reduce((t,n)=>t+n,0)}function O(...e){return e.length===0?0:e.reduce((t,n)=>t-n)}function j(...e){return e.reduce((t,n)=>t*n,1)}const J=Object.freeze(Object.defineProperty({__proto__:null,multiply:j,subtract:O,sum:w},Symbol.toStringTag,{value:"Module"}));function P(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}function U(e){try{const t=new URL(e);return t.protocol==="http:"||t.protocol==="https:"}catch{return!1}}function T(e){return/^(?!:\/\/)([a-z0-9-]+\.)+[a-z]{2,}$/.test(e)}function C(e){return e.trim()===""?!1:/^(?:[A-Z0-9+\/]{4})*(?:[A-Z0-9+\/]{2}==|[A-Z0-9+\/]{3}=)?$/i.test(e)}function R(e,t){const{minLength:n,maxLength:o,requireUppercase:c=!1,requireLowercase:f=!1,requireNumber:i=!1,requireSpecialChar:s=!1}=t||{};if(n!==void 0&&e.length<n||o!==void 0&&e.length>o)return!1;const y=c?/[A-Z]/.test(e):!0,d=f?/[a-z]/.test(e):!0,l=i?/\d/.test(e):!0,a=s?/[!@#$%^&*(),.?":{}|<>]/.test(e):!0;return y&&d&&l&&a}const K=Object.freeze(Object.defineProperty({__proto__:null,checkBase64:C,checkDomain:T,checkEmail:P,checkHttpUrl:U,checkPassword:R},Symbol.toStringTag,{value:"Module"}));function k(e){return e==null||typeof e=="number"&&isNaN(e)?!0:typeof e=="string"||Array.isArray(e)?e.length===0:e instanceof Date?isNaN(e.getTime()):typeof e=="symbol"?e.description===void 0:e instanceof Set||e instanceof Map?e.size===0:typeof e=="object"&&e.constructor===Object?Object.keys(e).length===0:!1}function z(e){return e===null}function I(e){const t=Math.max(0,e|0);return new Promise(n=>setTimeout(n,t))}async function N(e){try{if(e.length>1e6)throw new Error("Text too large to copy");return await navigator.clipboard.writeText(e),!0}catch{const n=document.createElement("textarea");n.value=e,n.style.position="fixed",n.style.top="-9999px",n.style.left="-9999px",document.body.appendChild(n),n.focus(),n.select();try{const o=document.execCommand("copy");return document.body.removeChild(n),o}catch{return document.body.removeChild(n),!1}}}function A(e,{convertSpecialChars:t=!0}={}){return e==null?e:btoa(t?encodeURIComponent(e):encodeURI(e))}function M(e,{convertSpecialChars:t=!0}={}){return e==null?e:t?decodeURIComponent(atob(e)):decodeURI(atob(e))}function v(e,t=300){let n;return(...o)=>{clearTimeout(n),n=setTimeout(()=>e(...o),t)}}function E(e,t=300){let n=!1;return(...o)=>{n||(e(...o),n=!0,setTimeout(()=>n=!1,t))}}async function L(e,t=3){let n=0;const o=async()=>{try{return await e()}catch(c){if(n++,n>=t)throw c;return o()}};return o()}const B={set(e,t){if(typeof window>"u"){console.warn(`localStorage is not available in SSR environment. Set operation for key "${e}" was ignored.`);return}try{const n=JSON.stringify(t);window.localStorage.setItem(e,n)}catch(n){console.error(`Error setting item "${e}" to localStorage`,n)}},get(e){if(typeof window>"u")return null;try{const t=window.localStorage.getItem(e);return t===null?null:JSON.parse(t)}catch(t){return console.error(`Error getting item "${e}" from localStorage`,t),window.localStorage.removeItem(e),null}},remove(e){if(typeof window>"u"){console.warn(`localStorage is not available in SSR environment. Remove operation for key "${e}" was ignored.`);return}try{window.localStorage.removeItem(e)}catch(t){console.error(`Error removing item "${e}" from localStorage`,t)}}},V=Object.freeze(Object.defineProperty({__proto__:null,copyToClipboard:N,debounce:v,decodeBase64:M,encodeBase64:A,isEmpty:k,isNull:z,retry:L,sleep:I,storage:B,throttle:E},Symbol.toStringTag,{value:"Module"}));function D(){if(window&&typeof window.URLSearchParams>"u")throw new Error("URLSearchParams is not supported in this environment.");const e=new URLSearchParams(window.location.search),t={};for(const[n,o]of e.entries())t[n]?Array.isArray(t[n])?t[n].push(o):t[n]=[t[n],o]:t[n]=o;return t}const x=Object.freeze(Object.defineProperty({__proto__:null,getAllQuery:D},Symbol.toStringTag,{value:"Module"})),G=Object.freeze(Object.defineProperty({__proto__:null,isPlainObject:m},Symbol.toStringTag,{value:"Module"})),X=[{prefix:"02",length:9,format:/(\d{2})(\d{3})(\d{4})/,replacement:"$1-$2-$3"},{prefix:"02",length:10,format:/(\d{2})(\d{4})(\d{4})/,replacement:"$1-$2-$3"},{length:8,format:/(\d{4})(\d{4})/,replacement:"$1-$2"},{length:10,format:/(\d{3})(\d{3})(\d{4})/,replacement:"$1-$2-$3"},{length:11,format:/(\d{3})(\d{4})(\d{4})/,replacement:"$1-$2-$3"}];function q(e){if(!e)return"";const t=e.replace(/\D/g,""),n=X.find(o=>(!o.prefix||t.startsWith(o.prefix))&&t.length===o.length);return n?t.replace(n.format,n.replacement):t}function H(e){if(e==null||e==="")return"";const t=Number(e);return isNaN(t)?String(e):t.toLocaleString("en-US")}const Y=Object.freeze(Object.defineProperty({__proto__:null,formatNumberWithCommas:H,formatPhoneNumber:q},Symbol.toStringTag,{value:"Module"}));function Z(){const e=window.navigator.userAgent,t=/iPhone|iPad|iPod/i.test(e),n=/Android/i.test(e),o=/(iPad)|(tablet)|(android(?!.*mobi))/i.test(e),c=!o&&/Mobi|iP(hone|od)|Android|BlackBerry|IEMobile|Opera Mini/i.test(e);return{isMobile:c,isTablet:o,isDesktop:!c&&!o,isIOS:t,isAndroid:n}}const ee=Object.freeze(Object.defineProperty({__proto__:null,getDevice:Z},Symbol.toStringTag,{value:"Module"}));r.checkBase64=C,r.checkDomain=T,r.checkEmail=P,r.checkHttpUrl=U,r.checkPassword=R,r.clearNullProperties=g,r.commonUtil=V,r.cookieUtil=W,r.copyToClipboard=N,r.debounce=v,r.decodeBase64=M,r.deepFreeze=p,r.deviceUtil=ee,r.encodeBase64=A,r.escapeHtml=u,r.formatNumberWithCommas=H,r.formatPhoneNumber=q,r.formatUtil=Y,r.getAllQuery=D,r.getCookie=_,r.getDevice=Z,r.isEmpty=k,r.isNull=z,r.isPlainObject=m,r.multiply=j,r.numberUtil=J,r.objectUtil=Q,r.removeKey=S,r.retry=L,r.searchQueryUtil=x,r.setCookie=$,r.sleep=I,r.slugify=h,r.storage=B,r.stringUtil=F,r.subtract=O,r.sum=w,r.throttle=E,r.typeUtil=G,r.unescapeHtml=b,r.validationUtil=K,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})}));
export { default as formatPhoneNumber } from "./formatPhoneNumber";
export { default as formatNumberWithCommas } from "./formatNumberWithCommas";
export { default as formatPhoneNumber } from "./formatPhoneNumber";
export { default as formatNumberWithCommas } from "./formatNumberWithCommas";

@@ -1,2 +0,3 @@

export { default as escapeHtml } from './escapeHtml';
export { default as unescapeHtml } from './unescapeHtml';
export { default as escapeHtml } from "./escapeHtml";
export { default as unescapeHtml } from "./unescapeHtml";
export { default as slugify } from "./slugify";

@@ -1,2 +0,3 @@

export { default as escapeHtml } from './escapeHtml';
export { default as unescapeHtml } from './unescapeHtml';
export { default as escapeHtml } from "./escapeHtml";
export { default as unescapeHtml } from "./unescapeHtml";
export { default as slugify } from "./slugify";
{
"name": "kr-corekit",
"version": "0.0.11",
"version": "0.1.0",
"description": "A lightweight and modern utility toolkit for JavaScript and TypeScript. kr-corekit provides essential functions for strings, arrays, objects, and more, designed for simplicity and productivity.",

@@ -5,0 +5,0 @@ "keywords": [

@@ -44,2 +44,3 @@ # kr-corekit

const unescaped = stringUtil.unescapeHtml("&lt;div&gt;Hello&lt;/div&gt;");
const slug = stringUtil.slugify("Hello World! μ•ˆλ…•ν•˜μ„Έμš”"); // "hello-world-μ•ˆλ…•ν•˜μ„Έμš”"

@@ -154,2 +155,3 @@ // Object utilities

- `unescapeHtml(str: string): string` - Unescapes HTML entities
- `slugify(text: string): string` - Converts a string to URL-friendly slug format. Replaces spaces with hyphens, removes special characters, converts to lowercase, and supports Korean characters (e.g., "Hello World! μ•ˆλ…•" β†’ "hello-world-μ•ˆλ…•")

@@ -171,2 +173,3 @@ ### ObjectUtil

- `formatPhoneNumber(phone: string): string` - Formats a phone number string to a standard format (e.g., "010-1234-5678")
- `formatNumberWithCommas(value: number | string | null | undefined): string` - Converts numbers or strings to comma-separated format (e.g., "1,234,567"). Returns empty string for null/undefined values.

@@ -218,2 +221,3 @@ ### ValidationUtil

- `retry<T>(fn: () => Promise<T>, loop?: number): Promise<T>` - Retries an asynchronous function up to the specified number of times (default 3) if it fails. Automatically re-attempts on error and returns the result of the first successful execution, or throws the last error if all retries fail.
### SearchQueryUtil

@@ -220,0 +224,0 @@