{"library":"modapp-utils","title":"ModApp Utilities","description":"ModApp Utilities (modapp-utils) provides a collection of generic utility functions intended for use across the broader ModApp ecosystem of JavaScript packages. These utilities typically cover common programming patterns such as object manipulation (e.g., deep merging, cloning), array helpers, string transformations, event debouncing/throttling, and unique ID generation. As of version 1.8.0, it serves as a foundational library, abstracting common logic to ensure consistency and reduce boilerplate in related ModApp projects. The package does not explicitly detail its release cadence, but incremental updates can be expected to support the evolving ModApp framework. Its key differentiator is its tailored integration and consistency within the ModApp architecture, rather than offering novel utility functions compared to broader libraries like Lodash or Ramda.","language":"javascript","status":"active","last_verified":"Sun Apr 19","install":{"commands":["npm install modapp-utils"],"cli":null},"imports":["import { debounce } from 'modapp-utils';","import { mergeDeep } from 'modapp-utils';","import { generateUUID } from 'modapp-utils';"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { debounce, mergeDeep, generateUUID } from 'modapp-utils';\n\n// Example 1: Debouncing a function\nconst searchInputHandler = (query) => {\n  console.log('Searching for:', query);\n  // Simulate API call\n};\nconst debouncedSearch = debounce(searchInputHandler, 500);\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  const input = document.createElement('input');\n  input.placeholder = 'Type to search (debounced)';\n  input.onkeyup = (event) => debouncedSearch(event.target.value);\n  document.body.appendChild(input);\n\n  // Example 2: Deep merging objects\n  const defaultConfig = { host: 'localhost', port: 8080, db: { user: 'guest', pass: 'guest' } };\n  const userConfig = { port: 3000, db: { user: 'admin' }, api: { key: process.env.API_KEY ?? '' } };\n  const mergedConfig = mergeDeep(defaultConfig, userConfig);\n  console.log('Merged Configuration:', mergedConfig);\n\n  // Example 3: Generating a UUID\n  const newId = generateUUID();\n  console.log('Generated UUID:', newId);\n\n  // Cleanup for demonstration purposes\n  setTimeout(() => {\n    console.log('Demonstration complete. Open your browser console.');\n    input.remove();\n  }, 2000);\n});","lang":"typescript","description":"This quickstart demonstrates importing and using a `debounce` function for event handling, a `mergeDeep` function for recursively combining objects, and a `generateUUID` function for creating unique identifiers. It sets up a simple debounced search input in the browser and logs merged configuration and a new UUID to the console.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}