A Micro CRUD Package
npm install @brainstack/crudA TypeScript CRUD (Create, Read, Update, Delete) abstraction package that allows you to perform CRUD operations using different data sources.
Install the package using npm:
``bash`
npm install @brainstack/crud
`typescript
import { createCRUD, CRUDIntegration, CRUD } from '@brainstack/crud';
// Define CRUDIntegration implementation
class MyCRUDIntegration
// Implement CRUD methods here...
}
// Create CRUD instance
const myCRUD: CRUD
// Perform CRUD operations
const newItem = await myCRUD.create({ id: '1', name: 'Item 1' });
const readItem = await myCRUD.read('1');
const updatedItem = await myCRUD.update('1', { id: '1', name: 'Updated Item' });
await myCRUD.delete('1');
const listItems = await myCRUD.list();
const searchResults = await myCRUD.search('term');
const filterResults = await myCRUD.filter({ key: 'value' });
`
Creates a CRUD instance with the provided integration.
- integration: An object implementing the CRUDIntegration interface.
An interface defining the integration methods for CRUD operations. Implement this interface to connect to your data source.
- create(item: T): Promiseread(id: string): Promise
- update(id: string, item: T): Promise
- delete(id: string): Promise
- list(options?: { page?: number; limit?: number }): Promise
- search(term: string): Promise
- filter(criterias: { [key: string]: any }): Promise
-
`typescript
import axios from 'axios';
import { CRUDIntegration } from '@brainstack/crud';
class RestAPIIntegration
constructor(private baseUrl: string) {}
async create(item: T): Promise
const response = await axios.post(this.baseUrl, item);
return response.data;
}
// Implement other CRUD methods...
}
const restAPI = new RestAPIIntegration
const crud = createCRUD(restAPI);
`
`typescript
import { CRUDIntegration } from '@brainstack/crud';
class MockCRUDIntegration
private data: Record
async create(item: T): Promise
this.data[item.id] = item;
return item;
}
async read(id: string): Promise
return this.data[id];
}
// Implement other CRUD methods...
}
const mockIntegration = new MockCRUDIntegration
const crud = createCRUD(mockIntegration);
``
Fork the repository
Create a new branch for your changes
Make your changes and commit them with descriptive commit messages
Push your changes to your fork
Submit a pull request