jaro-library-package
v1.0.1
Published
A TypeScript utility library with helper functions
Maintainers
Readme
Jaro Package Library
A comprehensive TypeScript utility library with helper functions for common programming tasks.
Installation
npm install Jaro-package-libraryFeatures
- Name Utilities: Functions for handling person names
- String Utilities: Common string manipulation functions
- Array Utilities: Array processing and transformation functions
- Full TypeScript Support: Complete type definitions included
- ES Modules: Modern module system support
- Tree Shakeable: Import only what you need
Usage
Name Utilities
import { getFullname, createPersonName, parseFullName } from 'Jaro-package-library';
// Create a person name
const name = createPersonName('John', 'Doe', 'Michael', 'Dr.', 'Jr.');
// Get full name with various formats
getFullname(name); // "Dr. John Michael Doe Jr."
getFullname(name, { format: 'last-first' }); // "Dr. Doe, John Michael Jr."
getFullname(name, { includeMiddleName: false }); // "Dr. John Doe Jr."
// Parse a full name string
const parsed = parseFullName('John Michael Doe');
console.log(parsed); // { firstName: 'John', middleName: 'Michael', lastName: 'Doe' }String Utilities
import {
capitalize,
toTitleCase,
toCamelCase,
toKebabCase,
truncate
} from 'Jaro-package-library';
capitalize('hello world'); // "Hello world"
toTitleCase('hello world'); // "Hello World"
toCamelCase('hello world'); // "helloWorld"
toKebabCase('Hello World'); // "hello-world"
truncate('Hello world', 5); // "Hello..."Array Utilities
import {
unique,
chunk,
groupBy,
intersection,
difference
} from 'Jaro-package-library';
// Remove duplicates
unique([1, 2, 2, 3, 3, 3]); // [1, 2, 3]
// Chunk array
chunk([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]
// Group by key
const people = [
{ name: 'John', age: 25 },
{ name: 'Jane', age: 25 },
{ name: 'Bob', age: 30 }
];
groupBy(people, p => p.age); // { 25: [John, Jane], 30: [Bob] }
// Set operations
intersection([1, 2, 3], [2, 3, 4]); // [2, 3]
difference([1, 2, 3], [2, 3, 4]); // [1]API Reference
Name Utilities
getFullname(name: PersonName, options?: FullNameOptions): string
Gets the full name from person name components.
Parameters:
name: PersonName object containing name componentsoptions: Optional formatting options
Returns: Formatted full name string
createPersonName(firstName, lastName, middleName?, prefix?, suffix?): PersonName
Creates a PersonName object from individual components.
parseFullName(fullName: string): PersonName
Parses a full name string into components (basic implementation).
String Utilities
capitalize(str: string): string
Capitalizes the first letter of a string.
toTitleCase(str: string): string
Converts string to title case.
toCamelCase(str: string): string
Converts string to camelCase.
toKebabCase(str: string): string
Converts string to kebab-case.
truncate(str: string, maxLength: number, suffix?: string): string
Truncates string to specified length with optional suffix.
Array Utilities
unique<T>(array: T[]): T[]
Removes duplicate values from array.
chunk<T>(array: T[], size: number): T[][]
Splits array into chunks of specified size.
groupBy<T, K>(array: T[], keyFn: (item: T) => K): Record<K, T[]>
Groups array elements by key function result.
intersection<T>(array1: T[], array2: T[]): T[]
Finds elements present in both arrays.
difference<T>(array1: T[], array2: T[]): T[]
Finds elements in first array but not in second.
Development
Building
npm run buildWatching for Changes
npm run devPublishing
npm publishRequirements
- Node.js >= 14
- TypeScript (for development)
License
MIT
Author
Your Name
