UNPKG

815 BJavaScriptView Raw
1'use strict';
2
3var Q = require('q');
4
5function Finder(dbModel) {
6 this.findCodeForNumber = function (number) {
7 var defer = Q.defer();
8 dbModel.findOne(_createQuery(), function (err, doc) {
9 if (err) {
10 defer.reject(err);
11 } else {
12 defer.resolve(doc ? doc.region.code : 'NULL');
13 }
14 });
15
16 function _createQuery() {
17 var codeChunk = number.slice(1, 4);
18 var numberChunk = number.slice(4);
19 return {
20 code: codeChunk,
21 begin: {
22 $lte: numberChunk
23 },
24 end: {
25 $gte: numberChunk
26 }
27 }
28 }
29
30 return defer.promise;
31 }
32}
33module.exports = Finder;
\No newline at end of file