diff options
Diffstat (limited to 'share/server')
-rw-r--r-- | share/server/filter.js | 25 | ||||
-rw-r--r-- | share/server/loop.js | 3 |
2 files changed, 27 insertions, 1 deletions
diff --git a/share/server/filter.js b/share/server/filter.js new file mode 100644 index 00000000..23536db0 --- /dev/null +++ b/share/server/filter.js @@ -0,0 +1,25 @@ +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy of +// the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. + +var Filter = { + filter : function(docs, req, userCtx) { + var results = []; + try { + for (var i=0; i < docs.length; i++) { + results.push((funs[0](docs[i], req, userCtx) && true) || false); + }; + respond([true, results]); + } catch (error) { + respond(error); + } + } +}; diff --git a/share/server/loop.js b/share/server/loop.js index d65ff02b..af656121 100644 --- a/share/server/loop.js +++ b/share/server/loop.js @@ -41,7 +41,8 @@ var dispatch = { "rereduce" : Views.rereduce, "validate" : Validate.validate, "show" : Render.show, - "list" : Render.list + "list" : Render.list, + "filter" : Filter.filter }; while (line = eval(readline())) { |