Socket
Socket
Sign inDemoInstall

viewmodel

Package Overview
Dependencies
Maintainers
2
Versions
109
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

viewmodel - npm Package Compare versions

Comparing version 1.0.3 to 1.1.0

14

lib/databases/couchdb.js

@@ -266,9 +266,6 @@ 'use strict';

find: function(query, callback) {
find: function(query, queryOptions, callback) {
this.checkConnection();
callback = callback || query;
query = arguments.length === 2 ? query: {};
var self = this;

@@ -286,2 +283,7 @@

// if (queryOptions.skip !== undefined && queryOptions.limit !== undefined) {
// query.limit = queryOptions.limit;
// query.skip = queryOptions.skip;
// }
this.db.view('collection/find', query, function(err, docs) {

@@ -306,2 +308,6 @@ var res = [];

if (queryOptions.skip !== undefined && queryOptions.limit !== undefined) {
res = res.slice(queryOptions.skip, queryOptions.limit + queryOptions.skip + 1);
}
callback(err, res);

@@ -308,0 +314,0 @@ });

@@ -8,3 +8,4 @@ 'use strict';

ConcurrencyError = require('../concurrencyError'),
_ = require('lodash');
_ = require('lodash'),
store = {};

@@ -46,4 +47,2 @@ function deepFind (obj, pattern) {

Repository.store = {};
_.extend(Repository.prototype, {

@@ -73,3 +72,3 @@

var data = Repository.store[this.collectionName] ? Repository.store[this.collectionName][id] : undefined;
var data = store[this.collectionName] ? store[this.collectionName][id] : undefined;
if (!data) {

@@ -84,12 +83,10 @@ return callback(null, new ViewModel({ id: id }, this));

find: function(query, callback) {
find: function(query, queryOptions, callback) {
this.checkConnection();
callback = callback || query;
// Bind to data source
var vms = Repository.store[this.collectionName];
var vms = _.values(store[this.collectionName]) || [];
// Filter for query object
if(arguments.length === 2) {
if (!_.isEmpty(query)) {
vms = _.filter(vms, function(vm) {

@@ -106,2 +103,6 @@ var deepFound = deepFind(vm, _.keys(query)[0]);

if (queryOptions.skip !== undefined && queryOptions.limit !== undefined) {
vms = vms.slice(queryOptions.skip, queryOptions.limit + queryOptions.skip + 1);
}
var self = this;

@@ -122,6 +123,6 @@

var col = Repository.store[this.collectionName];
var col = store[this.collectionName];
if (!col) {
col = {};
Repository.store[this.collectionName] = col;
store[this.collectionName] = col;
}

@@ -128,0 +129,0 @@

@@ -131,12 +131,9 @@ 'use strict';

find: function(query, callback) {
find: function(query, queryOptions, callback) {
this.checkConnection();
callback = callback || query;
query = arguments.length === 2 ? query : {};
var self = this;
this.collection.find(query).toArray(function(err, vms) {
this.collection.find(query, queryOptions).toArray(function(err, vms) {

@@ -143,0 +140,0 @@ // Map to view models

@@ -171,10 +171,12 @@ 'use strict';

find: function(query, callback) {
find: function(query, queryOptions, callback) {
this.checkConnection();
callback = callback || query;
var self = this;
this.client.keys(this.prefix + ':*', function(err, docs) {
if (queryOptions.skip !== undefined && queryOptions.limit !== undefined) {
docs = docs.slice(queryOptions.skip, queryOptions.limit + queryOptions.skip + 1);
}
// docs.reverse();

@@ -181,0 +183,0 @@ async.map(docs, function(doc, callback) {

@@ -89,12 +89,9 @@ 'use strict';

find: function(query, callback) {
find: function(query, queryOptions, callback) {
this.checkConnection();
callback = callback || query;
query = arguments.length === 2 ? query : {};
var self = this;
this.collection.find(query).toArray(function(err, vms) {
this.collection.find(query, queryOptions).toArray(function(err, vms) {

@@ -101,0 +98,0 @@ // Map to view models

@@ -109,8 +109,13 @@ 'use strict';

var orgFind = repo.find;
repo.find = function (query, callback) {
repo.find = function (query, queryOptions, callback) {
if (typeof query === 'function') {
callback = query;
query = {};
queryOptions = {};
}
orgFind.apply(this, [query, function (err, res) {
if (typeof queryOptions === 'function') {
callback = queryOptions;
queryOptions = {};
}
orgFind.apply(this, [query, queryOptions, function (err, res) {
if (err) {

@@ -177,8 +182,13 @@ return callback(err);

var orgFind = repo.find;
repo.find = function (query, callback) {
repo.find = function (query, queryOptions, callback) {
if (typeof query === 'function') {
callback = query;
query = {};
queryOptions = {};
}
orgFind.apply(this, [query, function (err, res) {
if (typeof queryOptions === 'function') {
callback = queryOptions;
queryOptions = {};
}
orgFind.apply(this, [query, queryOptions, function (err, res) {
if (err) {

@@ -185,0 +195,0 @@ return callback(err);

{
"author": "adrai",
"name": "viewmodel",
"version": "1.0.3",
"version": "1.1.0",
"private": false,

@@ -6,0 +6,0 @@ "main": "index.js",

@@ -103,2 +103,17 @@ # Introduction

## Find with query options
// the query object ist like in mongoDb...
dummyRepo.find({ color: 'green' }, { limit: 2, skip: 1 }, function(err, vms) {
if(err) {
console.log('ohhh :-(');
return;
}
// vms is an array of all what is in the repository
var firstItem = vms[0];
console.log('the id: ' + firstItem.id);
console.log('the saved value: ' + firstItem.get('color'));
});
## Find by id...

@@ -105,0 +120,0 @@

@@ -0,1 +1,4 @@

#### v1.1.0
- added possibility to pass query options
#### v1.0.3

@@ -2,0 +5,0 @@ - parse json with json-serialize

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc