A RESTful HTTP client for JavaScript apps that configures once with your API schema and handles CRUD operations with a consistent API.
Amygdala is a RESTful HTTP client library for JavaScript web applications that simplifies API interactions. It allows developers to configure their API schema once and then perform CRUD operations with a consistent, minimal-code interface. The library also provides local data caching, schema relations for handling nested data, and event-driven updates to keep UIs in sync.
Frontend JavaScript developers building web applications that consume RESTful APIs and need a structured, maintainable way to handle client-server communication.
Developers choose Amygdala for its schema-first approach, which reduces boilerplate and ensures consistency across API calls, combined with built-in caching and relationship management that streamline data handling in complex applications.
RESTful HTTP client for JavaScript powered web applications
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Define API endpoints and relationships once in a schema, enabling consistent CRUD operations with minimal boilerplate, as shown in the setup examples where URLs and relations are configured upfront.
Automatically caches data in memory with optional localStorage persistence for faster access and offline support, though the README cautions against using localStorage in production.
Supports one-to-many and foreign key relations to handle nested data cleanly, keeping related data organized in separate 'tables' as demonstrated in the schema examples with discussions and messages.
Uses EventEmitter to trigger change events, allowing reactive UI updates without manual synchronization, as detailed in the events section with 'change' and 'change:type' listeners.
The README explicitly advises against using localStorage for production, limiting persistent caching options and offline capabilities in live applications, which reduces its utility for robust client-side storage.
Relies on the Q library for promises and lodash, which may add bloat and compatibility issues compared to native JavaScript promises and modern utility libraries in contemporary projects.
Requires upfront schema definition for all API resources, making it inflexible for dynamic APIs or rapid prototyping where endpoints frequently change, as seen in the mandatory URL and relation configurations.