@dub/utils 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { ClassValue } from 'clsx';
2
2
  import { Metadata } from 'next';
3
- import { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime';
4
3
  import { ReadonlyURLSearchParams } from 'next/navigation';
5
4
  export { ADMIN_HOSTNAMES, ALL_TOOLS, API_DOMAIN, API_HOSTNAMES, APP_DOMAIN, APP_DOMAIN_WITH_NGROK, APP_HOSTNAMES, DEFAULT_LINK_PROPS, DEFAULT_REDIRECTS, DUB_HEADERS, DUB_LOGO, DUB_PROJECT_ID, DUB_THUMBNAIL, FADE_IN_ANIMATION_SETTINGS, FAVICON_FOLDER, FRAMER_MOTION_LIST_ITEM_VARIANTS, GOOGLE_FAVICON_URL, HOME_DOMAIN, LOCALHOST_GEO_DATA, LOCALHOST_IP, PAGINATION_LIMIT, SAML_PROVIDERS, SECOND_LEVEL_DOMAINS, SHOW_BACKGROUND_SEGMENTS, SPECIAL_APEX_DOMAINS, STAGGER_CHILD_VARIANTS, SWIPE_REVEAL_ANIMATION_SETTINGS } from './constants/index.js';
6
5
  export { default as ccTLDs } from './constants/cctlds.js';
@@ -22,9 +21,9 @@ declare function nFormatter(num?: number, opts?: {
22
21
  }): string;
23
22
  declare function capitalize(str: string): string;
24
23
  declare const chunk: <T>(array: T[], chunk_size: number) => T[][];
25
- declare function linkConstructor({ key, domain, localhost, pretty, noDomain, }: {
26
- key: string;
24
+ declare function linkConstructor({ domain, key, localhost, pretty, noDomain, }: {
27
25
  domain?: string;
26
+ key?: string;
28
27
  localhost?: boolean;
29
28
  pretty?: boolean;
30
29
  noDomain?: boolean;
@@ -49,17 +48,11 @@ declare const getApexDomain: (url: string) => string;
49
48
  declare const isValidUrl: (url: string) => boolean;
50
49
  declare const getUrlFromString: (str: string) => string | null | undefined;
51
50
  declare const getDomainWithoutWWW: (url: string) => string | null | undefined;
51
+ declare const getSearchParams: (url: string) => Record<string, string>;
52
52
  declare const getQueryString: ({ searchParams, groupBy, }: {
53
53
  searchParams: URLSearchParams | ReadonlyURLSearchParams | null;
54
54
  groupBy?: "domain" | "tagId" | undefined;
55
55
  }) => string;
56
- declare const setQueryString: ({ router, pathname, searchParams, key, value, }: {
57
- router: AppRouterInstance;
58
- pathname: string | null;
59
- searchParams: URLSearchParams | ReadonlyURLSearchParams | null;
60
- key: string;
61
- value: string;
62
- }) => void;
63
56
  declare const truncate: (str: string | null, length: number) => string | null;
64
57
  declare const getParamsFromURL: (url: string) => Record<string, string>;
65
58
  declare const constructURLFromUTMParams: (url: string, utmParams: Record<string, string>) => string;
@@ -78,4 +71,4 @@ declare const log: ({ message, type, mention, }: {
78
71
  type DeepEqual = (obj1: Record<string, any>, obj2: Record<string, any>) => boolean;
79
72
  declare const deepEqual: DeepEqual;
80
73
 
81
- export { capitalize, chunk, cn, constructMetadata, constructURLFromUTMParams, deepEqual, fetcher, formatDate, generateDomainFromName, generateMD5Hash, getAdjustedBillingCycleStart, getApexDomain, getDateTimeLocal, getDomainWithoutWWW, getFirstAndLastDay, getLastDayOfMonth, getParamsFromURL, getQueryString, getSubdomain, getUrlFromString, getUrlWithoutUTMParams, isValidUrl, linkConstructor, log, nFormatter, nanoid, paramsMetadata, setQueryString, timeAgo, truncate, validDomainRegex, validKeyRegex, validSlugRegex };
74
+ export { capitalize, chunk, cn, constructMetadata, constructURLFromUTMParams, deepEqual, fetcher, formatDate, generateDomainFromName, generateMD5Hash, getAdjustedBillingCycleStart, getApexDomain, getDateTimeLocal, getDomainWithoutWWW, getFirstAndLastDay, getLastDayOfMonth, getParamsFromURL, getQueryString, getSearchParams, getSubdomain, getUrlFromString, getUrlWithoutUTMParams, isValidUrl, linkConstructor, log, nFormatter, nanoid, paramsMetadata, timeAgo, truncate, validDomainRegex, validKeyRegex, validSlugRegex };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{A as B,a as b,b as R,c as U,d as L,e as k,f as v,g as M,h as c,i as O,j as _,k as $,l as A,m as T,n as E,o as F,p as N,q as C,r as I,s as P,t as K,u as z,v as H,w as l,x as u,y as Z,z as j}from"./chunk-FN35CKKS.mjs";import{a as i}from"./chunk-MODISIUH.mjs";import{a as S}from"./chunk-3P54C65P.mjs";import p from"@sindresorhus/slugify";import{clsx as m}from"clsx";import f from"ms";import{customAlphabet as h}from"nanoid";import{twMerge as d}from"tailwind-merge";function Q(...e){return d(m(e))}function X({title:e="Dub - Link Management for Modern Marketing Teams",description:t="Dub is an open-source link management tool for modern marketing teams to create, share, and track short links.",image:n="https://dub.co/_static/thumbnail.png",icons:r="/favicon.ico",noIndex:o=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,images:[{url:n}]},twitter:{card:"summary_large_image",title:e,description:t,images:[n],creator:"@dubdotco"},icons:r,metadataBase:new URL(c),...o&&{robots:{index:!1,follow:!1}}}}var ee=h("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7);async function te(e,t){let n=await fetch(e,t);if(!n.ok){let r=await n.text(),o=new Error(r);throw o.status=n.status,o}return n.json()}function ne(e,t={digits:1}){if(!e)return"0";if(t.full)return Intl.NumberFormat("en-US").format(e);let n=[{value:1,symbol:""},{value:1e3,symbol:"K"},{value:1e6,symbol:"M"},{value:1e9,symbol:"G"},{value:1e12,symbol:"T"},{value:1e15,symbol:"P"},{value:1e18,symbol:"E"}],r=/\.0+$|(\.[0-9]*[1-9])0+$/;var o=n.slice().reverse().find(function(a){return e>=a.value});return o?(e/o.value).toFixed(t.digits).replace(r,"$1")+o.symbol:"0"}function re(e){return!e||typeof e!="string"?e:e.charAt(0).toUpperCase()+e.slice(1)}var oe=(e,t)=>e.reduce((n,r,o)=>{let a=Math.floor(o/t);return n[a]||(n[a]=[]),n[a].push(r),n},[]);function ae({key:e,domain:t="dub.sh",localhost:n,pretty:r,noDomain:o}){let a=`${n?"http://home.localhost:8888":`https://${t}`}${e!=="_root"?`/${e}`:""}`;return o?`/${e}`:r?a.replace(/^https?:\/\//,""):a}var se=(e,{withAgo:t}={})=>{if(!e)return"Never";let n=Date.now()-new Date(e).getTime();return n<1e3?"Just now":n>828e5?new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:new Date(e).getFullYear()!==new Date().getFullYear()?"numeric":void 0}):`${f(n)}${t?" ago":""}`},ie=e=>{let t=e?new Date(e):new Date;return t.toString()==="Invalid Date"?"":new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().split(":").slice(0,2).join(":")},ce=e=>new Date(`${e}T00:00:00Z`).toLocaleDateString("en-US",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}),le=e=>{let t=new Date,n=t.getDate(),r=t.getMonth(),o=t.getFullYear();if(n>=e)return{firstDay:new Date(o,r,e),lastDay:new Date(o,r+1,e-1)};{let a=r===0?o-1:o,s=r===0?11:r-1;return{firstDay:new Date(a,s,e),lastDay:new Date(o,r,e-1)}}},y=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()},ue=e=>{let t=y();return e>t?t:e},ge=e=>{let t=p(e,{separator:""});if(t.length<3)return"";if(i.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let n=t.replace(/[aeiou]/g,"");return n.length>=3&&i.has(n.slice(-2))?`${n.slice(0,-2)}.${n.slice(-2)}`:`${[t,n].reduce((o,a)=>o.length<a.length?o:a)}.to`},pe=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),me=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),fe=new RegExp(/^[a-zA-Z0-9\-]+$/),he=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),de=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let n=t.split(".");return n.length>2?l.has(n[n.length-2])&&i.has(n[n.length-1])||u.has(n.slice(-2).join("."))?n.slice(-3).join("."):n.slice(-2).join("."):t},g=e=>{try{return new URL(e),!0}catch{return!1}},ye=e=>{if(g(e))return e;try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).toString()}catch{return null}},xe=e=>{if(g(e))return new URL(e).hostname.replace(/^www\./,"");try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).hostname.replace(/^www\./,"")}catch{return null}},we=({searchParams:e,groupBy:t})=>{let n=new URLSearchParams(e==null?void 0:e.toString());t&&n.set("groupBy",t);let r=n.toString();return r.length>0?`?${r}`:""},De=({router:e,pathname:t,searchParams:n,key:r,value:o})=>{let a=new URLSearchParams(n==null?void 0:n.toString());r!=="page"&&a.delete("page"),o.length>0?a.set(r,o):a.delete(r);let s=a.toString();e.replace(`${t}?${s.length>0?s:""}`)},Se=(e,t)=>!e||e.length<=t?e:`${e.slice(0,t-3)}...`,be=e=>{if(!e)return{};try{let t=new URL(e).searchParams,n={};for(let[r,o]of t.entries())o&&o!==""&&(n[r]=o);return n}catch{return{}}},Re=(e,t)=>{if(!e)return"";try{let n=new URL(e);for(let[r,o]of Object.entries(t))o===""?n.searchParams.delete(r):n.searchParams.set(r,o);return n.toString()}catch{return""}},x=[{display:"Referral (ref)",key:"ref",examples:"twitter, facebook"},{display:"UTM Source",key:"utm_source",examples:"twitter, facebook"},{display:"UTM Medium",key:"utm_medium",examples:"social, email"},{display:"UTM Campaign",key:"utm_campaign",examples:"summer_sale"},{display:"UTM Term",key:"utm_term",examples:"blue_shoes"},{display:"UTM Content",key:"utm_content",examples:"logolink"}],Ue=e=>{try{let t=new URL(e);return x.forEach(n=>t.searchParams.delete(n.key)),t.toString()}catch{return e}};async function Le(e){let n=new TextEncoder().encode(e),r=await crypto.subtle.digest("MD5",n);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}var w={cron:process.env.DUB_SLACK_HOOK_CRON,links:process.env.DUB_SLACK_HOOK_LINKS},ke=async({message:e,type:t,mention:n=!1})=>{(process.env.NODE_ENV==="development"||!process.env.DUB_SLACK_HOOK_CRON||!process.env.DUB_SLACK_HOOK_LINKS)&&console.log(e);let r=w[t];if(!!r)try{return await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({blocks:[{type:"section",text:{type:"mrkdwn",text:`${n?"<@U0404G6J3NJ> ":""}${e}`}}]})})}catch(o){console.log(`Failed to log to Dub Slack. Error: ${o}`)}},D=(e,t)=>{if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let o of n)if(!r.includes(o)||!D(e[o],t[o]))return!1;return!0};export{E as ADMIN_HOSTNAMES,H as ALL_TOOLS,T as API_DOMAIN,A as API_HOSTNAMES,_ as APP_DOMAIN,$ as APP_DOMAIN_WITH_NGROK,O as APP_HOSTNAMES,S as COUNTRIES,Z as DEFAULT_LINK_PROPS,F as DEFAULT_REDIRECTS,N as DUB_HEADERS,P as DUB_LOGO,j as DUB_PROJECT_ID,K as DUB_THUMBNAIL,v as FADE_IN_ANIMATION_SETTINGS,C as FAVICON_FOLDER,U as FRAMER_MOTION_LIST_ITEM_VARIANTS,I as GOOGLE_FAVICON_URL,c as HOME_DOMAIN,b as LOCALHOST_GEO_DATA,R as LOCALHOST_IP,M as PAGINATION_LIMIT,B as SAML_PROVIDERS,l as SECOND_LEVEL_DOMAINS,z as SHOW_BACKGROUND_SEGMENTS,u as SPECIAL_APEX_DOMAINS,L as STAGGER_CHILD_VARIANTS,k as SWIPE_REVEAL_ANIMATION_SETTINGS,re as capitalize,i as ccTLDs,oe as chunk,Q as cn,X as constructMetadata,Re as constructURLFromUTMParams,D as deepEqual,te as fetcher,ce as formatDate,ge as generateDomainFromName,Le as generateMD5Hash,ue as getAdjustedBillingCycleStart,de as getApexDomain,ie as getDateTimeLocal,xe as getDomainWithoutWWW,le as getFirstAndLastDay,y as getLastDayOfMonth,be as getParamsFromURL,we as getQueryString,he as getSubdomain,ye as getUrlFromString,Ue as getUrlWithoutUTMParams,g as isValidUrl,ae as linkConstructor,ke as log,ne as nFormatter,ee as nanoid,x as paramsMetadata,De as setQueryString,se as timeAgo,Se as truncate,pe as validDomainRegex,me as validKeyRegex,fe as validSlugRegex};
1
+ import{A as B,a as b,b as U,c as R,d as L,e as k,f as v,g as M,h as c,i as O,j as _,k as T,l as $,m as A,n as E,o as F,p as N,q as C,r as P,s as I,t as K,u as z,v as H,w as l,x as u,y as Z,z as j}from"./chunk-FN35CKKS.mjs";import{a as s}from"./chunk-MODISIUH.mjs";import{a as S}from"./chunk-3P54C65P.mjs";import m from"@sindresorhus/slugify";import{clsx as p}from"clsx";import f from"ms";import{customAlphabet as h}from"nanoid";import{twMerge as d}from"tailwind-merge";function Q(...e){return d(p(e))}function X({title:e="Dub - Link Management for Modern Marketing Teams",description:t="Dub is an open-source link management tool for modern marketing teams to create, share, and track short links.",image:r="https://dub.co/_static/thumbnail.png",icons:n="/favicon.ico",noIndex:o=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,images:[{url:r}]},twitter:{card:"summary_large_image",title:e,description:t,images:[r],creator:"@dubdotco"},icons:n,metadataBase:new URL(c),...o&&{robots:{index:!1,follow:!1}}}}var ee=h("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7);async function te(e,t){let r=await fetch(e,t);if(!r.ok){let n=await r.text(),o=new Error(n);throw o.status=r.status,o}return r.json()}function re(e,t={digits:1}){if(!e)return"0";if(t.full)return Intl.NumberFormat("en-US").format(e);let r=[{value:1,symbol:""},{value:1e3,symbol:"K"},{value:1e6,symbol:"M"},{value:1e9,symbol:"G"},{value:1e12,symbol:"T"},{value:1e15,symbol:"P"},{value:1e18,symbol:"E"}],n=/\.0+$|(\.[0-9]*[1-9])0+$/;var o=r.slice().reverse().find(function(a){return e>=a.value});return o?(e/o.value).toFixed(t.digits).replace(n,"$1")+o.symbol:"0"}function ne(e){return!e||typeof e!="string"?e:e.charAt(0).toUpperCase()+e.slice(1)}var oe=(e,t)=>e.reduce((r,n,o)=>{let a=Math.floor(o/t);return r[a]||(r[a]=[]),r[a].push(n),r},[]);function ae({domain:e="dub.sh",key:t,localhost:r,pretty:n,noDomain:o}){let a=`${r?"http://home.localhost:8888":`https://${e}`}${t&&t!=="_root"?`/${t}`:""}`;return o?`/${t}`:n?a.replace(/^https?:\/\//,""):a}var se=(e,{withAgo:t}={})=>{if(!e)return"Never";let r=Date.now()-new Date(e).getTime();return r<1e3?"Just now":r>828e5?new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:new Date(e).getFullYear()!==new Date().getFullYear()?"numeric":void 0}):`${f(r)}${t?" ago":""}`},ie=e=>{let t=e?new Date(e):new Date;return t.toString()==="Invalid Date"?"":new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().split(":").slice(0,2).join(":")},ce=e=>new Date(`${e}T00:00:00Z`).toLocaleDateString("en-US",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}),le=e=>{let t=new Date,r=t.getDate(),n=t.getMonth(),o=t.getFullYear();if(r>=e)return{firstDay:new Date(o,n,e),lastDay:new Date(o,n+1,e-1)};{let a=n===0?o-1:o,i=n===0?11:n-1;return{firstDay:new Date(a,i,e),lastDay:new Date(o,n,e-1)}}},y=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()},ue=e=>{let t=y();return e>t?t:e},ge=e=>{let t=m(e,{separator:""});if(t.length<3)return"";if(s.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&s.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((o,a)=>o.length<a.length?o:a)}.to`},me=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),pe=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),fe=new RegExp(/^[a-zA-Z0-9\-]+$/),he=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),de=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let r=t.split(".");return r.length>2?l.has(r[r.length-2])&&s.has(r[r.length-1])||u.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},g=e=>{try{return new URL(e),!0}catch{return!1}},ye=e=>{if(g(e))return e;try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).toString()}catch{return null}},xe=e=>{if(g(e))return new URL(e).hostname.replace(/^www\./,"");try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).hostname.replace(/^www\./,"")}catch{return null}},we=e=>{let t={};return new URL(e).searchParams.forEach(function(r,n){t[n]=r}),t},De=({searchParams:e,groupBy:t})=>{let r=new URLSearchParams(e==null?void 0:e.toString());t&&r.set("groupBy",t);let n=r.toString();return n.length>0?`?${n}`:""},Se=(e,t)=>!e||e.length<=t?e:`${e.slice(0,t-3)}...`,be=e=>{if(!e)return{};try{let t=new URL(e).searchParams,r={};for(let[n,o]of t.entries())o&&o!==""&&(r[n]=o);return r}catch{return{}}},Ue=(e,t)=>{if(!e)return"";try{let r=new URL(e);for(let[n,o]of Object.entries(t))o===""?r.searchParams.delete(n):r.searchParams.set(n,o);return r.toString()}catch{return""}},x=[{display:"Referral (ref)",key:"ref",examples:"twitter, facebook"},{display:"UTM Source",key:"utm_source",examples:"twitter, facebook"},{display:"UTM Medium",key:"utm_medium",examples:"social, email"},{display:"UTM Campaign",key:"utm_campaign",examples:"summer_sale"},{display:"UTM Term",key:"utm_term",examples:"blue_shoes"},{display:"UTM Content",key:"utm_content",examples:"logolink"}],Re=e=>{try{let t=new URL(e);return x.forEach(r=>t.searchParams.delete(r.key)),t.toString()}catch{return e}};async function Le(e){let r=new TextEncoder().encode(e),n=await crypto.subtle.digest("MD5",r);return Array.from(new Uint8Array(n)).map(i=>i.toString(16).padStart(2,"0")).join("")}var w={cron:process.env.DUB_SLACK_HOOK_CRON,links:process.env.DUB_SLACK_HOOK_LINKS},ke=async({message:e,type:t,mention:r=!1})=>{(process.env.NODE_ENV==="development"||!process.env.DUB_SLACK_HOOK_CRON||!process.env.DUB_SLACK_HOOK_LINKS)&&console.log(e);let n=w[t];if(!!n)try{return await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({blocks:[{type:"section",text:{type:"mrkdwn",text:`${r?"<@U0404G6J3NJ> ":""}${e}`}}]})})}catch(o){console.log(`Failed to log to Dub Slack. Error: ${o}`)}},D=(e,t)=>{if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let o of r)if(!n.includes(o)||!D(e[o],t[o]))return!1;return!0};export{E as ADMIN_HOSTNAMES,H as ALL_TOOLS,A as API_DOMAIN,$ as API_HOSTNAMES,_ as APP_DOMAIN,T as APP_DOMAIN_WITH_NGROK,O as APP_HOSTNAMES,S as COUNTRIES,Z as DEFAULT_LINK_PROPS,F as DEFAULT_REDIRECTS,N as DUB_HEADERS,I as DUB_LOGO,j as DUB_PROJECT_ID,K as DUB_THUMBNAIL,v as FADE_IN_ANIMATION_SETTINGS,C as FAVICON_FOLDER,R as FRAMER_MOTION_LIST_ITEM_VARIANTS,P as GOOGLE_FAVICON_URL,c as HOME_DOMAIN,b as LOCALHOST_GEO_DATA,U as LOCALHOST_IP,M as PAGINATION_LIMIT,B as SAML_PROVIDERS,l as SECOND_LEVEL_DOMAINS,z as SHOW_BACKGROUND_SEGMENTS,u as SPECIAL_APEX_DOMAINS,L as STAGGER_CHILD_VARIANTS,k as SWIPE_REVEAL_ANIMATION_SETTINGS,ne as capitalize,s as ccTLDs,oe as chunk,Q as cn,X as constructMetadata,Ue as constructURLFromUTMParams,D as deepEqual,te as fetcher,ce as formatDate,ge as generateDomainFromName,Le as generateMD5Hash,ue as getAdjustedBillingCycleStart,de as getApexDomain,ie as getDateTimeLocal,xe as getDomainWithoutWWW,le as getFirstAndLastDay,y as getLastDayOfMonth,be as getParamsFromURL,De as getQueryString,we as getSearchParams,he as getSubdomain,ye as getUrlFromString,Re as getUrlWithoutUTMParams,g as isValidUrl,ae as linkConstructor,ke as log,re as nFormatter,ee as nanoid,x as paramsMetadata,se as timeAgo,Se as truncate,me as validDomainRegex,pe as validKeyRegex,fe as validSlugRegex};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dub/utils",
3
3
  "description": "Utility functions and constants for Dub.co",
4
- "version": "0.0.6",
4
+ "version": "0.0.7",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.mjs",