Skip to content

Repository files navigation

largs-utils

A collection of personal utility functions that are reusable across various projects.

Installation

npm install largs-utils

Functions

camelToSentenceCase

Converts a camelCase or PascalCase string into a readable sentence with spaces.

Usage:

import{camelToSentenceCase}from"largs-utils";console.log(camelToSentenceCase("helloWorld"));// "Hello World"console.log(camelToSentenceCase("ThisIsATest"));// "This Is A Test"console.log(camelToSentenceCase("JSONParser"));// "JSON Parser"console.log(camelToSentenceCase("APITestCase"));// "API Test Case"

coercedGet

Safely retrieves a value from an object with default handling.

Usage:

import{coercedGet}from"largs-utils";constobj={a: {b: {c: 42}}};constvalue=coercedGet(obj,"a.b.c",0);console.log(value);// 42constmissingValue=coercedGet(obj,"a.b.x",0);console.log(missingValue);// 0

extractLatLngFromGoogleMapsUrl

Extracts the longitude and latitude to a valid google maps url link

Usage:

import{extractLatLngFromGoogleMapsUrl}from"largs-utils";extractLatLngFromGoogleMapsUrl("https://www.google.com/maps/@40.7128,-74.0060,15z");// { latitude: 40.7128, longitude: -74.006 }extractLatLngFromGoogleMapsUrl("https://googlemaps.com");// null

extractYoutubeVideoId

Extract a YouTube video ID from different kinds of YouTube URLs

extractYouTubeVideoID("https://www.youtube.com/watch?v=JWJz_MS1-I8&t=1815s");// JWJz_MS1-I8extractYouTubeVideoID("https://youtu.be/JWJz_MS1-I8");// JWJz_MS1-I8

formatNumber

Formats numbers into human-readable strings with appropriate unit suffixes (k, m, b).

Usage:

import{formatNumber}from"largs-utils";// ThousandsformatNumber(1000);// "1k"formatNumber(1500);// "1.5k"formatNumber(45678);// "45.7k"// MillionsformatNumber(1000000);// "1m"formatNumber(2500000);// "2.5m"formatNumber(1234567);// "1.2m"// BillionsformatNumber(1000000000);// "1b"formatNumber(5500000000);// "5.5b"// Regular numbers (less than 1000)formatNumber(999);// "999"formatNumber(123);// "123"// Custom decimal precisionformatNumber(1234,0);// "1k"formatNumber(1234,1);// "1.2k"formatNumber(1234,2);// "1.23k"// Negative numbersformatNumber(-1500);// "-1.5k"formatNumber(-2500000);// "-2.5m"

generatePrefixedId

Generates UUID with a prefix

Usage:

import{generatePrefixedId}from"largs-utils";generatePrefixedId("usr");// usr_<uuid>generatePrefixedId("kyl");// kyl_<uuid>

generateSlug

Converts a string to a URL-friendly slug format.

Usage:

import{generateSlug}from"largs-utils";generateSlug("Hello World!");// "hello-world"generateSlug("My Awesome Title");// "my-awesome-title"

getYoutubeThumbnail

Returns a youtube thumbnail for a given youtube video

Usage:

import{getYoutubeThumbnail}from"largs-utils";getYoutubeThumbnail("dQw4w9WgXcQ");// `https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg`

isFacebookUrl

Validates if a given string is a valid Facebook URL.

Usage:

import{isFacebookUrl}from"largs-utils";isFacebookUrl("https://facebook.com/profile");// trueisFacebookUrl("https://www.facebook.com/pages");// trueisFacebookUrl("https://m.facebook.com/mobile");// trueisFacebookUrl("https://fb.com/short");// trueisFacebookUrl("https://business.facebook.com/business");// trueisFacebookUrl("https://google.com");// falseisFacebookUrl("ftp://facebook.com");// falseisFacebookUrl("not-a-url");// false

isInstagramUrl

Validates if a given string is a valid Instagram URL.

Usage:

import{isInstagramUrl}from"largs-utils";isInstagramUrl("https://instagram.com/username");// trueisInstagramUrl("https://www.instagram.com/p/ABC123");// trueisInstagramUrl("https://mobile.instagram.com/username");// trueisInstagramUrl("https://google.com");// falseisInstagramUrl("ftp://instagram.com");// falseisInstagramUrl("not-a-url");// false

isSpotifyUrl

Validates if a given string is a valid Spotify URL.

Usage:

import{isSpotifyUrl}from"largs-utils";isSpotifyUrl("https://spotify.com/track/123");// trueisSpotifyUrl("https://open.spotify.com/track/4iV5W9uYEdYUVa79Axb7Rh");// trueisSpotifyUrl("https://www.spotify.com/artist/456");// trueisSpotifyUrl("https://accounts.spotify.com");// trueisSpotifyUrl("https://google.com");// falseisSpotifyUrl("ftp://spotify.com");// falseisSpotifyUrl("not-a-url");// false

isTwitterUrl

Validates if a given string is a valid Twitter/X URL.

Usage:

import{isTwitterUrl}from"largs-utils";isTwitterUrl("https://twitter.com/username");// trueisTwitterUrl("https://www.twitter.com/status/123");// trueisTwitterUrl("https://x.com/username");// trueisTwitterUrl("https://www.x.com/status/123");// trueisTwitterUrl("https://mobile.twitter.com/username");// trueisTwitterUrl("https://google.com");// falseisTwitterUrl("ftp://twitter.com");// falseisTwitterUrl("not-a-url");// false

isYoutubeUrl

Validates if a given string is a valid YouTube URL.

Usage:

import{isYoutubeUrl}from"largs-utils";isYoutubeUrl("https://youtube.com/watch?v=dQw4w9WgXcQ");// trueisYoutubeUrl("https://www.youtube.com/watch?v=dQw4w9WgXcQ");// trueisYoutubeUrl("https://youtu.be/dQw4w9WgXcQ");// trueisYoutubeUrl("https://m.youtube.com/watch?v=dQw4w9WgXcQ");// trueisYoutubeUrl("https://music.youtube.com");// trueisYoutubeUrl("https://google.com");// falseisYoutubeUrl("ftp://youtube.com");// falseisYoutubeUrl("not-a-url");// false

isValidEmail

Validates if a given email address is in a proper format.

Usage:

import{isValidEmail}from"largs-utils";constemail1="test@example.com";constemail2="invalid-email";console.log(isValidEmail(email1));// trueconsole.log(isValidEmail(email2));// false

isValidGoogleMapsUrl

Detect if a URL is a valid Google Maps link

Usage:

import{isValidGoogleMapsUrl}from"largs-utils";isValidGoogleMapsUrl("https://www.google.com/maps/place/Metrotent+Convention+Center/@14.58631,121.06406,17z");// trueisValidGoogleMapsUrl("https://maps.google.com/maps?q=place");// trueisValidGoogleMapsUrl("https://www.example.com/maps/place");// falseisValidGoogleMapsUrl("not a url");// false

isValidHttpUrl

Validates if a given string is a valid URL

Usage:

import{isValidHttpUrl}from"largs-utils";isValidHttpUrl("https://google.com");// trueisValidHttpUrl("http://example.com");// trueisValidHttpUrl("ftp://fileserver.com");// falseisValidHttpUrl("javascript:alert(1)");// falseisValidHttpUrl("random-string");// false

isValidSocialLink

Validates if a given string is a valid social media URL for the specified platform.

Usage:

import{isValidSocialLink}from"largs-utils";// Facebook URLsisValidSocialLink("https://facebook.com/profile","facebook");// trueisValidSocialLink("https://www.facebook.com/pages","facebook");// trueisValidSocialLink("https://fb.com/short","facebook");// true// Instagram URLsisValidSocialLink("https://instagram.com/username","instagram");// trueisValidSocialLink("https://www.instagram.com/p/ABC123","instagram");// true// Spotify URLsisValidSocialLink("https://open.spotify.com/track/123","spotify");// trueisValidSocialLink("https://www.spotify.com/artist/456","spotify");// true// Twitter URLsisValidSocialLink("https://twitter.com/username","twitter");// trueisValidSocialLink("https://www.twitter.com/status/123","twitter");// true// YouTube URLsisValidSocialLink("https://youtube.com/watch?v=123","youtube");// trueisValidSocialLink("https://youtu.be/dQw4w9WgXcQ","youtube");// true// Invalid casesisValidSocialLink("https://google.com","facebook");// falseisValidSocialLink("ftp://facebook.com","facebook");// falseisValidSocialLink("not-a-url","instagram");// false

shuffleArray

Randomly shuffles the elements of an array.

Usage:

import{shuffleArray}from"largs-utils";constarray=[1,2,3,4,5];constshuffled=shuffleArray(array);console.log(shuffled);// e.g., [3, 1, 4, 5, 2]

toKebabCase

Converts Sentence Case strings to kebab-case

Usage:

import{toKebabCase}from"largs-utils";console.log(toKebabCase("React Testing Library"));// react-testing-libraryconsole.log(toKebabCase("Aliessa Dedase"));// aliessa-dedase

unslugify

Convert slugs to Sentence Case

Usage:

import{unslugify}from"largs-utils";unslugify("my-awesome-title");// "My Awesome Title"unslugify("hello_world");// "Hello World"unslugify(" spaced--out__slug ");// "Spaced Out Slug"

Support my enthusiasm

If you like this util, feel free to buy me a coffee ☕!

Buy Me A Coffee

About

A collection of personal utility functions that are reusable across various projects.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages