Adaptable data access layer for Node.js