Thanks to visit codestin.com
Credit goes to GitHub.com

Skip to content

Essential utility functions for object manipulation and data validation in TypeScript.

License

Notifications You must be signed in to change notification settings

AgapeToolkit/agape-util

Repository files navigation

@agape/util

Essential utility functions for object manipulation and data validation.

✨ Functions

pick(instance, keys)

Creates a new object by picking only the specified properties from the original object.

omit(instance, keys)

Creates a new object by omitting specified properties from the original object.

properties(instance)

Creates a new object containing only the non-function properties from the original object.

isPresent(value)

Checks if a value is present (not empty) and provides TypeScript type narrowing.

A value is considered present if it is NOT:

  • undefined
  • null
  • An empty string ''

🚀 Examples

pick(instance, keys)

import { pick } from '@agape/util';

const user = { id: 1, name: 'John', email: '[email protected]' };

pick(user, ['id', 'name']);
// Result: { id: 1, name: 'John' }

omit(instance, keys)

import { omit } from '@agape/util';

const user = { id: 1, name: 'John', email: '[email protected]', password: 'secret' };

omit(user, ['password']);
// Result: { id: 1, name: 'John', email: 'john@example.com' }

properties(instance)

import { properties } from '@agape/util';

const employee = {
  id: 1,
  name: 'John',
  getFullName() { return this.name; }
};

properties(employee);
// Result: { id: 1, name: 'John' }

isPresent(value)

import { isPresent } from '@agape/util';

isPresent('hello'); // true
isPresent(''); // false
isPresent(null); // false
isPresent(undefined); // false

This function acts as a type guard, allowing TypeScript to narrow types in conditional statements.

function processValue(value: number | undefined) {
  if (isPresent(value)) {
    // TypeScript knows value is definitely a number here
    return value + 1; // ✅ No type errors
  }
  // TypeScript knows value is undefined here
}

📚 Documentation

See the full API documentation at agape.dev/api.

📦 Agape Toolkit

This package is part of the Agape Toolkit - a comprehensive collection of TypeScript utilities and libraries for modern web development.

About

Essential utility functions for object manipulation and data validation in TypeScript.

Topics

Resources

License

Stars

Watchers

Forks