OLD | NEW |
1 <!-- | 1 <!-- |
2 // Copyright 2014 The Chromium Authors. All rights reserved. | 2 // Copyright 2014 The Chromium Authors. All rights reserved. |
3 // Use of this source code is governed by a BSD-style license that can be | 3 // Use of this source code is governed by a BSD-style license that can be |
4 // found in the LICENSE file. | 4 // found in the LICENSE file. |
5 --> | 5 --> |
6 <script> | 6 <script> |
7 var cities = [ | 7 module.exports = [ |
8 {"name":"New York","state":"New York","population":8363710}, | 8 {"name":"New York","state":"New York","population":8363710}, |
9 {"name":"Los Angeles","state":"California","population":3833995}, | 9 {"name":"Los Angeles","state":"California","population":3833995}, |
10 {"name":"Chicago","state":"Illinois","population":2853114}, | 10 {"name":"Chicago","state":"Illinois","population":2853114}, |
11 {"name":"Houston","state":"Texas","population":2242193}, | 11 {"name":"Houston","state":"Texas","population":2242193}, |
12 {"name":"Phoenix","state":"Arizona","population":1567924}, | 12 {"name":"Phoenix","state":"Arizona","population":1567924}, |
13 {"name":"Philadelphia","state":"Pennsylvania","population":1447395}, | 13 {"name":"Philadelphia","state":"Pennsylvania","population":1447395}, |
14 {"name":"San Antonio","state":"Texas","population":1351305}, | 14 {"name":"San Antonio","state":"Texas","population":1351305}, |
15 {"name":"Dallas","state":"Texas","population":1279910}, | 15 {"name":"Dallas","state":"Texas","population":1279910}, |
16 {"name":"San Diego","state":"California","population":1279329}, | 16 {"name":"San Diego","state":"California","population":1279329}, |
17 {"name":"San Jose","state":"California","population":948279}, | 17 {"name":"San Jose","state":"California","population":948279}, |
(...skipping 4980 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4998 {"name":"Chelsea","state":"Alabama","population":4303}, | 4998 {"name":"Chelsea","state":"Alabama","population":4303}, |
4999 {"name":"Blanchester","state":"Ohio","population":4303}, | 4999 {"name":"Blanchester","state":"Ohio","population":4303}, |
5000 {"name":"Waverly","state":"New York","population":4303}, | 5000 {"name":"Waverly","state":"New York","population":4303}, |
5001 {"name":"Wolverine Lake","state":"Michigan","population":4303}, | 5001 {"name":"Wolverine Lake","state":"Michigan","population":4303}, |
5002 {"name":"Jersey Shore","state":"Pennsylvania","population":4302}, | 5002 {"name":"Jersey Shore","state":"Pennsylvania","population":4302}, |
5003 {"name":"Kenneth City","state":"Florida","population":4300}, | 5003 {"name":"Kenneth City","state":"Florida","population":4300}, |
5004 {"name":"Jenkintown","state":"Pennsylvania","population":4299}, | 5004 {"name":"Jenkintown","state":"Pennsylvania","population":4299}, |
5005 {"name":"Hartwell","state":"Georgia","population":4298}, | 5005 {"name":"Hartwell","state":"Georgia","population":4298}, |
5006 {"name":"Newport","state":"North Carolina","population":4298} | 5006 {"name":"Newport","state":"North Carolina","population":4298} |
5007 ]; | 5007 ]; |
5008 | |
5009 function CityDataService(cities) { | |
5010 this.cities = cities; | |
5011 | |
5012 // sort by state, city name. | |
5013 this.cities.sort(function(a, b) { | |
5014 if (a.state != b.state) { | |
5015 return a.state < b.state ? -1 : 1; | |
5016 } | |
5017 | |
5018 return a.name < b.name ? -1 : 1; | |
5019 }); | |
5020 } | |
5021 | |
5022 CityDataService.prototype.get = function(index, count) { | |
5023 var self = this; | |
5024 | |
5025 return new Promise(function(fulfill) { | |
5026 var result = []; | |
5027 while (count-- > 0) { | |
5028 while (index < 0) { | |
5029 index += self.cities.length; | |
5030 } | |
5031 if (index >= self.cities.length) | |
5032 index = index % self.cities.length; | |
5033 | |
5034 result.push(self.cities[index]); | |
5035 index++; | |
5036 } | |
5037 | |
5038 fulfill(result); | |
5039 }); | |
5040 } | |
5041 | |
5042 module.exports = { | |
5043 service: new Promise(function(fulfill) { | |
5044 fulfill(new CityDataService(cities)); | |
5045 }) | |
5046 }; | |
5047 | |
5048 </script> | 5008 </script> |
OLD | NEW |