@graviola/edb-core-utils
TypeScript icon, indicating that this package has built-in type declarations

1.3.0 • Public • Published

@graviola/core-utils

A collection of utility functions used across the Graviola project. This package provides common helper functions for string manipulation, data transformation, date handling, and more.

Guidelines

Functions added to this package should not have any dependecies or be already provided by lodash. (A negative example would be camelCaseToTitleCase which is provided by lodash or ellipsis which is provided by lodash.truncate but for historical reasons its still in this package and will be removed in the future.)

Also these functions are intendet to be used in the browser and in node.js.

Installation

npm install @graviola/core-utils
# or
yarn add @graviola/core-utils
# or
bun add @graviola/core-utils

Features

String Manipulation

  • camelCaseToTitleCase: Convert camelCase strings to Title Case

    camelCaseToTitleCase("helloWorld"); // "Hello World"
  • ellipsis: Truncate text with an ellipsis

    ellipsis("Long text to truncate", 10); // "Long text…"
  • leftpad: Pad numbers with leading characters

    leftpad(5, 3); // "005"
    leftpad(7, 4, "x"); // "xxx7"

Date Handling

  • specialDate utilities for working with numeric date representations (YYYYMMDD format)
    getDatePart(20230915, "year"); // 2023
    getPaddedDate(new Date("2023-09-15")); // "20230915"

Data Transformation

  • filterJSONLD: Remove JSON-LD specific properties from objects
  • replaceJSONLD: Replace JSON-LD property markers with custom strings
  • foldInner2Outer: Transform nested object structures
  • resolveObj: Safely access nested object properties

Markdown Processing

  • parseMarkdownLinks: Extract links from markdown text
    parseMarkdownLinks("[Google](https://google.com)");
    // [{ label: "Google", url: "https://google.com" }]

Color Utilities

  • hexToRGBA: Convert hex color codes to RGBA format
    hexToRGBA("#ff0000", 0.5); // "rgba(255, 0, 0, 0.5)"

SPARQL/RDF Utilities

  • envToSparqlEndpoint: Convert environment variables to SPARQL endpoint configuration
  • encodeIRI/decodeIRI: Encode/decode IRIs to a format that is safe to use in URLs, but unlike encodeURIComponent and decodeURIComponent just converts the IRI to a base64 string, thus

Array/Object Utilities

  • filterUndefOrNull: Remove undefined and null values from arrays
  • makeColumnDesc: Generate column descriptors with letter indices
  • index2letter: Convert numeric indices to spreadsheet-style column letters (A, B, C, ...)

Usage

import {
  camelCaseToTitleCase,
  ellipsis,
  hexToRGBA,
  parseMarkdownLinks,
} from "@graviola/core-utils";

// Convert camelCase to Title Case
const title = camelCaseToTitleCase("myVariableName");
// => "My Variable Name"

// Truncate long text
const truncated = ellipsis("This is a very long text", 10);
// => "This is a…"

// Convert hex color to rgba
const color = hexToRGBA("#ff0000", 0.5);
// => "rgba(255, 0, 0, 0.5)"

// Parse markdown links
const links = parseMarkdownLinks("[Link](https://example.com)");
// => [{ label: "Link", url: "https://example.com" }]

License

This package is part of the Graviola project.

Readme

Keywords

none

Package Sidebar

Install

npm i @graviola/edb-core-utils

Weekly Downloads

6

Version

1.3.0

License

none

Unpacked Size

85 kB

Total Files

9

Last publish

Collaborators

  • wnzlb