Important: This module has been moved to
@feathersjs/memoryand https://github.com/feathersjs/feathers
A Feathers service adapter for in-memory data storage that works on all platforms.
$ npm install --save feathers-memoryImportant:
feathers-memoryimplements the Feathers Common database adapter API and querying syntax.
Returns a new service instance initialized with the given options.
const service = require('feathers-memory'); app.use('/messages', service()); app.use('/messages', service({ id, startId, store, events, paginate }));Options:
id(optional, default:'id') - The name of the id field property.startId(optional, default:0) - An id number to start with that will be incremented for every new record (unless it is already set).store(optional) - An object with id to item assignments to pre-initialize the data storeevents(optional) - A list of custom service events sent by this servicepaginate(optional) - A pagination object containing adefaultandmaxpage sizewhitelist(optional) - A list of additional query parameters to allowmulti(optional) - Allowcreatewith arrays andupdateandremovewithidnullto change multiple items. Can betruefor all methods or an array of allowed methods (e.g.[ 'remove', 'create' ])
Here is an example of a Feathers server with a messages in-memory service that supports pagination:
$ npm install @feathersjs/feathers @feathersjs/express @feathersjs/socketio @feathersjs/errors feathers-memory In app.js:
const feathers = require('@feathersjs/feathers'); const express = require('@feathersjs/express'); const socketio = require('@feathersjs/socketio'); const memory = require('feathers-memory'); // Create an Express compatible Feathers application instance. const app = express(feathers()); // Turn on JSON parser for REST services app.use(express.json()); // Turn on URL-encoded parser for REST services app.use(express.urlencoded({ extended: true })); // Enable REST services app.configure(express.rest()); // Enable REST services app.configure(socketio()); // Create an in-memory Feathers service with a default page size of 2 items // and a maximum size of 4 app.use('/messages', memory({ paginate: { default: 2, max: 4 } })); // Set up default error handler app.use(express.errorHandler()); // Create a dummy Message app.service('messages').create({ text: 'Message created on server' }).then(message => console.log('Created message', message)); // Start the server. const port = 3030; app.listen(port, () => { console.log(`Feathers server listening on port ${port}`) });Run the example with node app and go to localhost:3030/messages.
Copyright (c) 2017
Licensed under the MIT license.
