JSPM

basic-tiny-utils

1.0.1
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • 0
    • Score
      100M100P100Q19636F
    • License MIT

    Funciones utilitarias para strings y formatos numéricos.

    Package Exports

    • basic-tiny-utils
    • basic-tiny-utils/dist/bundle.js

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (basic-tiny-utils) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    🧩 basic-tiny-utils

    basic-tiny-utils es una librería pequeña pero poderosa de utilidades para trabajar con strings, números y arrays en JavaScript. Diseñada para ser usada en proyectos vanilla JS o frameworks modernos como React, sin complicaciones.

    ✅ Ligera, sin dependencias externas y lista para usar directamente en el navegador o desde Node.js.


    📦 Instalación

    Uso en Navegador (CDN)

    <script src="https://cdn.jsdelivr.net/npm/basic-tiny-utils@1.0.0/dist/bundle.js"></script>
    <script>
      console.log("hola mundo".toUpperCaseFirst()); // "Hola mundo"
    </script>

    Uso con Node.js / Bundlers

    npm install basic-tiny-utils
    import { formatNumber, padLeft, abbreviate, unique } from 'basic-tiny-utils';

    📚 API

    🧵 Strings

    Métodos globales (String.prototype)

    "hola mundo".toUpperCaseFirst();       // "Hola mundo"
    "hola mundo".toUpperCaseAllFirst();    // "Hola Mundo"
    "TextoEnCamel".toKebabCase();          // "texto-en-camel"
    "TextoEnCamel".toSnakeCase();          // "texto_en_camel"
    "Texto_en_snake".toCamelCase();        // "textoEnSnake"
    "texto normal".toPascalCase();         // "TextoNormal"
    "niñez".removeDiacritics();            // "ninez"
    "ejemplo largo".truncate(7);           // "ejemplo..."

    Funciones adicionales

    padLeft("9", 3);                      // "009"
    padLeft(["1", "22", "333"], 3);      // ["001", "022", "333"]
    abbreviate("Mi nombre largo");       // "MNL"
    abbreviate(250000);                  // "250 K"
    abbreviate(1234567.89, 1);           // "1.2 M"

    🔢 Números

    formatNumber(1234.567).format();                          // "1,235"
    formatNumber(1234.567).decimal(1).currency();             // "$1,234.6"
    formatNumber(0.123).decimal(2).percentage();              // "12.30%"
    formatNumber(0.1234).decimal(1, 3).percentage();          // "12.34%"
    
    formatNumber(1000).lang("fr").currency("EUR");            // "1 000,00 €"
    ordinal(1);                                               // "1st" (según idioma del sistema)
    ordinal(1, "ES");                                         // "1°"
    getCurrencySymbol("PE", "USD");                          // "$"
    isBetween(5, 1, 10);                                      // true
    isBetween(5, 5, 10, false);                               // false

    🧮 Arrays

    unique([1, 2, 2, 3]);                  // [1, 2, 3]
    intersect([1, 2, 3], [2, 3, 4]);      // [2, 3]
    difference([1, 2, 3], [2, 3]);        // [1]
    isSorted([1, 2, 3]);                  // true
    isSorted([3, 2, 1], false);           // true

    🧪 Pruebas

    npx tsc
    node test/test.js

    📄 Licencia

    MIT © Francesco Riva