├── .editorconfig ├── .eslintrc.json ├── .gitattributes ├── .gitignore ├── .travis.yml ├── .verb.md ├── LICENSE ├── README.md ├── benchmark ├── check.js ├── code │ ├── arr-map.js │ ├── array-map.js │ ├── for-push-new.js │ ├── for-push.js │ ├── native.js │ ├── while-push-new.js │ └── while-push.js ├── fixtures │ ├── long.js │ ├── med.js │ └── short.js ├── index.js ├── last.md └── support.js ├── index.js ├── package.json └── test.js /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | end_of_line = lf 6 | charset = utf-8 7 | indent_size = 2 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [{**/{actual,fixtures,expected,templates}/**,*.md}] 12 | trim_trailing_whitespace = false 13 | insert_final_newline = false -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "ecmaFeatures": { 3 | "modules": true, 4 | "experimentalObjectRestSpread": true 5 | }, 6 | 7 | "env": { 8 | "browser": false, 9 | "es6": true, 10 | "node": true, 11 | "mocha": true 12 | }, 13 | 14 | "globals": { 15 | "document": false, 16 | "navigator": false, 17 | "window": false 18 | }, 19 | 20 | "rules": { 21 | "accessor-pairs": 2, 22 | "arrow-spacing": [2, { "before": true, "after": true }], 23 | "block-spacing": [2, "always"], 24 | "brace-style": [2, "1tbs", { "allowSingleLine": true }], 25 | "comma-dangle": [2, "never"], 26 | "comma-spacing": [2, { "before": false, "after": true }], 27 | "comma-style": [2, "last"], 28 | "constructor-super": 2, 29 | "curly": [2, "multi-line"], 30 | "dot-location": [2, "property"], 31 | "eol-last": 2, 32 | "eqeqeq": [2, "allow-null"], 33 | "generator-star-spacing": [2, { "before": true, "after": true }], 34 | "handle-callback-err": [2, "^(err|error)$" ], 35 | "indent": [2, 2, { "SwitchCase": 1 }], 36 | "key-spacing": [2, { "beforeColon": false, "afterColon": true }], 37 | "keyword-spacing": [2, { "before": true, "after": true }], 38 | "new-cap": [2, { "newIsCap": true, "capIsNew": false }], 39 | "new-parens": 2, 40 | "no-array-constructor": 2, 41 | "no-caller": 2, 42 | "no-class-assign": 2, 43 | "no-cond-assign": 2, 44 | "no-const-assign": 2, 45 | "no-control-regex": 2, 46 | "no-debugger": 2, 47 | "no-delete-var": 2, 48 | "no-dupe-args": 2, 49 | "no-dupe-class-members": 2, 50 | "no-dupe-keys": 2, 51 | "no-duplicate-case": 2, 52 | "no-empty-character-class": 2, 53 | "no-eval": 2, 54 | "no-ex-assign": 2, 55 | "no-extend-native": 2, 56 | "no-extra-bind": 2, 57 | "no-extra-boolean-cast": 2, 58 | "no-extra-parens": [2, "functions"], 59 | "no-fallthrough": 2, 60 | "no-floating-decimal": 2, 61 | "no-func-assign": 2, 62 | "no-implied-eval": 2, 63 | "no-inner-declarations": [2, "functions"], 64 | "no-invalid-regexp": 2, 65 | "no-irregular-whitespace": 2, 66 | "no-iterator": 2, 67 | "no-label-var": 2, 68 | "no-labels": 2, 69 | "no-lone-blocks": 2, 70 | "no-mixed-spaces-and-tabs": 2, 71 | "no-multi-spaces": 2, 72 | "no-multi-str": 2, 73 | "no-multiple-empty-lines": [2, { "max": 1 }], 74 | "no-native-reassign": 0, 75 | "no-negated-in-lhs": 2, 76 | "no-new": 2, 77 | "no-new-func": 2, 78 | "no-new-object": 2, 79 | "no-new-require": 2, 80 | "no-new-wrappers": 2, 81 | "no-obj-calls": 2, 82 | "no-octal": 2, 83 | "no-octal-escape": 2, 84 | "no-proto": 0, 85 | "no-redeclare": 2, 86 | "no-regex-spaces": 2, 87 | "no-return-assign": 2, 88 | "no-self-compare": 2, 89 | "no-sequences": 2, 90 | "no-shadow-restricted-names": 2, 91 | "no-spaced-func": 2, 92 | "no-sparse-arrays": 2, 93 | "no-this-before-super": 2, 94 | "no-throw-literal": 2, 95 | "no-trailing-spaces": 0, 96 | "no-undef": 2, 97 | "no-undef-init": 2, 98 | "no-unexpected-multiline": 2, 99 | "no-unneeded-ternary": [2, { "defaultAssignment": false }], 100 | "no-unreachable": 2, 101 | "no-unused-vars": [2, { "vars": "all", "args": "none" }], 102 | "no-useless-call": 0, 103 | "no-with": 2, 104 | "one-var": [0, { "initialized": "never" }], 105 | "operator-linebreak": [0, "after", { "overrides": { "?": "before", ":": "before" } }], 106 | "padded-blocks": [0, "never"], 107 | "quotes": [2, "single", "avoid-escape"], 108 | "radix": 2, 109 | "semi": [2, "always"], 110 | "semi-spacing": [2, { "before": false, "after": true }], 111 | "space-before-blocks": [2, "always"], 112 | "space-before-function-paren": [2, "never"], 113 | "space-in-parens": [2, "never"], 114 | "space-infix-ops": 2, 115 | "space-unary-ops": [2, { "words": true, "nonwords": false }], 116 | "spaced-comment": [0, "always", { "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!", ","] }], 117 | "use-isnan": 2, 118 | "valid-typeof": 2, 119 | "wrap-iife": [2, "any"], 120 | "yoda": [2, "never"] 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Enforce Unix newlines 2 | * text eol=lf 3 | 4 | # binaries 5 | *.ai binary 6 | *.psd binary 7 | *.jpg binary 8 | *.gif binary 9 | *.png binary 10 | *.jpeg binary -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # always ignore files 2 | *.DS_Store 3 | *.sublime-* 4 | 5 | # test related, or directories generated by tests 6 | test/actual 7 | actual 8 | coverage 9 | .nyc* 10 | 11 | # npm 12 | node_modules 13 | npm-debug.log 14 | 15 | # yarn 16 | yarn.lock 17 | yarn-error.log 18 | 19 | # misc 20 | _gh_pages 21 | _draft 22 | _drafts 23 | bower_components 24 | vendor 25 | temp 26 | tmp 27 | TODO.md 28 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | os: 3 | - linux 4 | - osx 5 | language: node_js 6 | node_js: 7 | - node 8 | - '6' 9 | - '5' 10 | - '4' 11 | - '0.12' 12 | - '0.10' 13 | -------------------------------------------------------------------------------- /.verb.md: -------------------------------------------------------------------------------- 1 | ## Why use this? 2 | 3 | JavaScript's native `Array.map()` is slow, and other popular array map libraries are focused on browser compatibility, which makes them bloated or less than idea for non-browser usage. This implementation is focused on node.js usage keeping it light and fast. 4 | 5 | 6 | ## Usage 7 | 8 | ```js 9 | var map = require('{%= name %}'); 10 | 11 | map(['a', 'b', 'c'], function(ele) { 12 | return ele + ele; 13 | }); 14 | //=> ['aa', 'bb', 'cc'] 15 | 16 | map(['a', 'b', 'c'], function(ele, i) { 17 | return i + ele; 18 | }); 19 | //=> ['0a', '1b', '2c'] 20 | ``` 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015, 2017, Jon Schlinkert 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # arr-map [![NPM version](https://img.shields.io/npm/v/arr-map.svg?style=flat)](https://www.npmjs.com/package/arr-map) [![NPM monthly downloads](https://img.shields.io/npm/dm/arr-map.svg?style=flat)](https://npmjs.org/package/arr-map) [![NPM total downloads](https://img.shields.io/npm/dt/arr-map.svg?style=flat)](https://npmjs.org/package/arr-map) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/arr-map.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/arr-map) 2 | 3 | > Faster, node.js focused alternative to JavaScript's native array map. 4 | 5 | ## Install 6 | 7 | Install with [npm](https://www.npmjs.com/): 8 | 9 | ```sh 10 | $ npm install --save arr-map 11 | ``` 12 | 13 | ## Why use this? 14 | 15 | JavaScript's native `Array.map()` is slow, and other popular array map libraries are focused on browser compatibility, which makes them bloated or less than idea for non-browser usage. This implementation is focused on node.js usage keeping it light and fast. 16 | 17 | ## Usage 18 | 19 | ```js 20 | var map = require('arr-map'); 21 | 22 | map(['a', 'b', 'c'], function(ele) { 23 | return ele + ele; 24 | }); 25 | //=> ['aa', 'bb', 'cc'] 26 | 27 | map(['a', 'b', 'c'], function(ele, i) { 28 | return i + ele; 29 | }); 30 | //=> ['0a', '1b', '2c'] 31 | ``` 32 | 33 | ## About 34 | 35 | ### Related projects 36 | 37 | * [arr-diff](https://www.npmjs.com/package/arr-diff): Returns an array with only the unique values from the first array, by excluding all… [more](https://github.com/jonschlinkert/arr-diff) | [homepage](https://github.com/jonschlinkert/arr-diff "Returns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons.") 38 | * [arr-filter](https://www.npmjs.com/package/arr-filter): Faster alternative to javascript's native filter method. | [homepage](https://github.com/jonschlinkert/arr-filter "Faster alternative to javascript's native filter method.") 39 | * [arr-flatten](https://www.npmjs.com/package/arr-flatten): Recursively flatten an array or arrays. This is the fastest implementation of array flatten. | [homepage](https://github.com/jonschlinkert/arr-flatten "Recursively flatten an array or arrays. This is the fastest implementation of array flatten.") 40 | * [arr-reduce](https://www.npmjs.com/package/arr-reduce): Fast array reduce that also loops over sparse elements. | [homepage](https://github.com/jonschlinkert/arr-reduce "Fast array reduce that also loops over sparse elements.") 41 | 42 | ### Contributing 43 | 44 | Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). 45 | 46 | ### Building docs 47 | 48 | _(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ 49 | 50 | To generate the readme, run the following command: 51 | 52 | ```sh 53 | $ npm install -g verbose/verb#dev verb-generate-readme && verb 54 | ``` 55 | 56 | ### Running tests 57 | 58 | Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: 59 | 60 | ```sh 61 | $ npm install && npm test 62 | ``` 63 | 64 | ### Author 65 | 66 | **Jon Schlinkert** 67 | 68 | * [github/jonschlinkert](https://github.com/jonschlinkert) 69 | * [twitter/jonschlinkert](https://twitter.com/jonschlinkert) 70 | 71 | ### License 72 | 73 | Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). 74 | Released under the [MIT License](LICENSE). 75 | 76 | *** 77 | 78 | _This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.4.2, on February 28, 2017._ -------------------------------------------------------------------------------- /benchmark/check.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var fs = require('fs'); 4 | var path = require('path'); 5 | var chalk = require('chalk'); 6 | var glob = require('glob'); 7 | var mm = require('micromatch'); 8 | 9 | var fixtures = lookup('fixtures', '*.js'); 10 | 11 | lookup('code', 'whil*.js').forEach(function (fp) { 12 | var name = path.basename(fp, path.extname(fp)); 13 | var fn = require(fp); 14 | 15 | fixtures.forEach(function (fixture) { 16 | console.log(chalk.bold(name) + ':', fn.apply(fn, require(fixture))); 17 | }); 18 | }); 19 | 20 | 21 | function lookup(dir, pattern, opts) { 22 | dir = path.join(__dirname, dir); 23 | var files = fs.readdirSync(dir); 24 | return files.filter(function (fp) { 25 | return mm.isMatch(fp, pattern, opts); 26 | }).map(function (fp) { 27 | return path.join(dir, fp); 28 | }); 29 | } 30 | -------------------------------------------------------------------------------- /benchmark/code/arr-map.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | var map = require('../..'); 4 | 5 | module.exports = function (arr) { 6 | return map(arr, function (ele) { 7 | return ele + ele; 8 | }); 9 | }; 10 | -------------------------------------------------------------------------------- /benchmark/code/array-map.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | var map = require('array-map'); 4 | 5 | module.exports = function (arr) { 6 | return map(arr, function (ele) { 7 | return ele + ele; 8 | }); 9 | }; 10 | -------------------------------------------------------------------------------- /benchmark/code/for-push-new.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | module.exports = function (arr) { 4 | return map(arr, function (ele) { 5 | return ele + ele; 6 | }); 7 | }; 8 | 9 | function map(arr, fn) { 10 | var len = arr.length; 11 | var res = new Array(len); 12 | 13 | for (var i = 0; i < len; i++) { 14 | res.push(fn(arr[i], i)); 15 | } 16 | 17 | return res; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /benchmark/code/for-push.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | module.exports = function (arr) { 4 | return map(arr, function (ele) { 5 | return ele + ele; 6 | }); 7 | }; 8 | 9 | function map(arr, fn) { 10 | var len = arr.length; 11 | var res = []; 12 | 13 | for (var i = 0; i < len; i++) { 14 | res.push(fn(arr[i], i)); 15 | } 16 | 17 | return res; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /benchmark/code/native.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | module.exports = function (arr) { 4 | return arr.map(function (ele) { 5 | return ele + ele; 6 | }); 7 | }; 8 | -------------------------------------------------------------------------------- /benchmark/code/while-push-new.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | module.exports = function (arr) { 4 | return map(arr, function (ele) { 5 | return ele + ele; 6 | }); 7 | }; 8 | 9 | function map(arr, fn) { 10 | var len = arr.length; 11 | var res = new Array(len); 12 | var i = -1; 13 | 14 | while (++i < len) { 15 | res.push(fn(arr[i], i)); 16 | } 17 | 18 | return res; 19 | } 20 | 21 | -------------------------------------------------------------------------------- /benchmark/code/while-push.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | module.exports = function (arr) { 4 | return map(arr, function (ele) { 5 | return ele + ele; 6 | }); 7 | }; 8 | 9 | function map(arr, fn) { 10 | var len = arr.length; 11 | var res = [], i = -1; 12 | 13 | while (++i < len) { 14 | res.push(fn(arr[i], i)); 15 | } 16 | 17 | return res; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /benchmark/fixtures/long.js: -------------------------------------------------------------------------------- 1 | module.exports = [['1a', 2 | '2a', 3 | '3a', 4 | '4a', 5 | '5a', 6 | '6a', 7 | '7a', 8 | '8a', 9 | '9a', 10 | '10a', 11 | '11a', 12 | '12a', 13 | '13a', 14 | '14a', 15 | '15a', 16 | '16a', 17 | '17a', 18 | '18a', 19 | '19a', 20 | '20a', 21 | '21a', 22 | '22a', 23 | '23a', 24 | '24a', 25 | '25a', 26 | '26a', 27 | '27a', 28 | '28a', 29 | '29a', 30 | '30a', 31 | '31a', 32 | '32a', 33 | '33a', 34 | '34a', 35 | '35a', 36 | '36a', 37 | '37a', 38 | '38a', 39 | '39a', 40 | '40a', 41 | '41a', 42 | '42a', 43 | '43a', 44 | '44a', 45 | '45a', 46 | '46a', 47 | '47a', 48 | '48a', 49 | '49a', 50 | '50a', 51 | '51a', 52 | '52a', 53 | '53a', 54 | '54a', 55 | '55a', 56 | '56a', 57 | '57a', 58 | '58a', 59 | '59a', 60 | '60a', 61 | '61a', 62 | '62a', 63 | '63a', 64 | '64a', 65 | '65a', 66 | '66a', 67 | '67a', 68 | '68a', 69 | '69a', 70 | '70a', 71 | '71a', 72 | '72a', 73 | '73a', 74 | '74a', 75 | '75a', 76 | '76a', 77 | '77a', 78 | '78a', 79 | '79a', 80 | '80a', 81 | '81a', 82 | '82a', 83 | '83a', 84 | '84a', 85 | '85a', 86 | '86a', 87 | '87a', 88 | '88a', 89 | '89a', 90 | '90a', 91 | '91a', 92 | '92a', 93 | '93a', 94 | '94a', 95 | '95a', 96 | '96a', 97 | '97a', 98 | '98a', 99 | '99a', 100 | '100a', 101 | '1b', 102 | '2b', 103 | '3b', 104 | '4b', 105 | '5b', 106 | '6b', 107 | '7b', 108 | '8b', 109 | '9b', 110 | '10b', 111 | '11b', 112 | '12b', 113 | '13b', 114 | '14b', 115 | '15b', 116 | '16b', 117 | '17b', 118 | '18b', 119 | '19b', 120 | '20b', 121 | '21b', 122 | '22b', 123 | '23b', 124 | '24b', 125 | '25b', 126 | '26b', 127 | '27b', 128 | '28b', 129 | '29b', 130 | '30b', 131 | '31b', 132 | '32b', 133 | '33b', 134 | '34b', 135 | '35b', 136 | '36b', 137 | '37b', 138 | '38b', 139 | '39b', 140 | '40b', 141 | '41b', 142 | '42b', 143 | '43b', 144 | '44b', 145 | '45b', 146 | '46b', 147 | '47b', 148 | '48b', 149 | '49b', 150 | '50b', 151 | '51b', 152 | '52b', 153 | '53b', 154 | '54b', 155 | '55b', 156 | '56b', 157 | '57b', 158 | '58b', 159 | '59b', 160 | '60b', 161 | '61b', 162 | '62b', 163 | '63b', 164 | '64b', 165 | '65b', 166 | '66b', 167 | '67b', 168 | '68b', 169 | '69b', 170 | '70b', 171 | '71b', 172 | '72b', 173 | '73b', 174 | '74b', 175 | '75b', 176 | '76b', 177 | '77b', 178 | '78b', 179 | '79b', 180 | '80b', 181 | '81b', 182 | '82b', 183 | '83b', 184 | '84b', 185 | '85b', 186 | '86b', 187 | '87b', 188 | '88b', 189 | '89b', 190 | '90b', 191 | '91b', 192 | '92b', 193 | '93b', 194 | '94b', 195 | '95b', 196 | '96b', 197 | '97b', 198 | '98b', 199 | '99b', 200 | '100b', 201 | '1c', 202 | '2c', 203 | '3c', 204 | '4c', 205 | '5c', 206 | '6c', 207 | '7c', 208 | '8c', 209 | '9c', 210 | '10c', 211 | '11c', 212 | '12c', 213 | '13c', 214 | '14c', 215 | '15c', 216 | '16c', 217 | '17c', 218 | '18c', 219 | '19c', 220 | '20c', 221 | '21c', 222 | '22c', 223 | '23c', 224 | '24c', 225 | '25c', 226 | '26c', 227 | '27c', 228 | '28c', 229 | '29c', 230 | '30c', 231 | '31c', 232 | '32c', 233 | '33c', 234 | '34c', 235 | '35c', 236 | '36c', 237 | '37c', 238 | '38c', 239 | '39c', 240 | '40c', 241 | '41c', 242 | '42c', 243 | '43c', 244 | '44c', 245 | '45c', 246 | '46c', 247 | '47c', 248 | '48c', 249 | '49c', 250 | '50c', 251 | '51c', 252 | '52c', 253 | '53c', 254 | '54c', 255 | '55c', 256 | '56c', 257 | '57c', 258 | '58c', 259 | '59c', 260 | '60c', 261 | '61c', 262 | '62c', 263 | '63c', 264 | '64c', 265 | '65c', 266 | '66c', 267 | '67c', 268 | '68c', 269 | '69c', 270 | '70c', 271 | '71c', 272 | '72c', 273 | '73c', 274 | '74c', 275 | '75c', 276 | '76c', 277 | '77c', 278 | '78c', 279 | '79c', 280 | '80c', 281 | '81c', 282 | '82c', 283 | '83c', 284 | '84c', 285 | '85c', 286 | '86c', 287 | '87c', 288 | '88c', 289 | '89c', 290 | '90c', 291 | '91c', 292 | '92c', 293 | '93c', 294 | '94c', 295 | '95c', 296 | '96c', 297 | '97c', 298 | '98c', 299 | '99c', 300 | '100c', 301 | '1d', 302 | '2d', 303 | '3d', 304 | '4d', 305 | '5d', 306 | '6d', 307 | '7d', 308 | '8d', 309 | '9d', 310 | '10d', 311 | '11d', 312 | '12d', 313 | '13d', 314 | '14d', 315 | '15d', 316 | '16d', 317 | '17d', 318 | '18d', 319 | '19d', 320 | '20d', 321 | '21d', 322 | '22d', 323 | '23d', 324 | '24d', 325 | '25d', 326 | '26d', 327 | '27d', 328 | '28d', 329 | '29d', 330 | '30d', 331 | '31d', 332 | '32d', 333 | '33d', 334 | '34d', 335 | '35d', 336 | '36d', 337 | '37d', 338 | '38d', 339 | '39d', 340 | '40d', 341 | '41d', 342 | '42d', 343 | '43d', 344 | '44d', 345 | '45d', 346 | '46d', 347 | '47d', 348 | '48d', 349 | '49d', 350 | '50d', 351 | '51d', 352 | '52d', 353 | '53d', 354 | '54d', 355 | '55d', 356 | '56d', 357 | '57d', 358 | '58d', 359 | '59d', 360 | '60d', 361 | '61d', 362 | '62d', 363 | '63d', 364 | '64d', 365 | '65d', 366 | '66d', 367 | '67d', 368 | '68d', 369 | '69d', 370 | '70d', 371 | '71d', 372 | '72d', 373 | '73d', 374 | '74d', 375 | '75d', 376 | '76d', 377 | '77d', 378 | '78d', 379 | '79d', 380 | '80d', 381 | '81d', 382 | '82d', 383 | '83d', 384 | '84d', 385 | '85d', 386 | '86d', 387 | '87d', 388 | '88d', 389 | '89d', 390 | '90d', 391 | '91d', 392 | '92d', 393 | '93d', 394 | '94d', 395 | '95d', 396 | '96d', 397 | '97d', 398 | '98d', 399 | '99d', 400 | '100d', 401 | '1e', 402 | '2e', 403 | '3e', 404 | '4e', 405 | '5e', 406 | '6e', 407 | '7e', 408 | '8e', 409 | '9e', 410 | '10e', 411 | '11e', 412 | '12e', 413 | '13e', 414 | '14e', 415 | '15e', 416 | '16e', 417 | '17e', 418 | '18e', 419 | '19e', 420 | '20e', 421 | '21e', 422 | '22e', 423 | '23e', 424 | '24e', 425 | '25e', 426 | '26e', 427 | '27e', 428 | '28e', 429 | '29e', 430 | '30e', 431 | '31e', 432 | '32e', 433 | '33e', 434 | '34e', 435 | '35e', 436 | '36e', 437 | '37e', 438 | '38e', 439 | '39e', 440 | '40e', 441 | '41e', 442 | '42e', 443 | '43e', 444 | '44e', 445 | '45e', 446 | '46e', 447 | '47e', 448 | '48e', 449 | '49e', 450 | '50e', 451 | '51e', 452 | '52e', 453 | '53e', 454 | '54e', 455 | '55e', 456 | '56e', 457 | '57e', 458 | '58e', 459 | '59e', 460 | '60e', 461 | '61e', 462 | '62e', 463 | '63e', 464 | '64e', 465 | '65e', 466 | '66e', 467 | '67e', 468 | '68e', 469 | '69e', 470 | '70e', 471 | '71e', 472 | '72e', 473 | '73e', 474 | '74e', 475 | '75e', 476 | '76e', 477 | '77e', 478 | '78e', 479 | '79e', 480 | '80e', 481 | '81e', 482 | '82e', 483 | '83e', 484 | '84e', 485 | '85e', 486 | '86e', 487 | '87e', 488 | '88e', 489 | '89e', 490 | '90e', 491 | '91e', 492 | '92e', 493 | '93e', 494 | '94e', 495 | '95e', 496 | '96e', 497 | '97e', 498 | '98e', 499 | '99e', 500 | '100e', 501 | '1f', 502 | '2f', 503 | '3f', 504 | '4f', 505 | '5f', 506 | '6f', 507 | '7f', 508 | '8f', 509 | '9f', 510 | '10f', 511 | '11f', 512 | '12f', 513 | '13f', 514 | '14f', 515 | '15f', 516 | '16f', 517 | '17f', 518 | '18f', 519 | '19f', 520 | '20f', 521 | '21f', 522 | '22f', 523 | '23f', 524 | '24f', 525 | '25f', 526 | '26f', 527 | '27f', 528 | '28f', 529 | '29f', 530 | '30f', 531 | '31f', 532 | '32f', 533 | '33f', 534 | '34f', 535 | '35f', 536 | '36f', 537 | '37f', 538 | '38f', 539 | '39f', 540 | '40f', 541 | '41f', 542 | '42f', 543 | '43f', 544 | '44f', 545 | '45f', 546 | '46f', 547 | '47f', 548 | '48f', 549 | '49f', 550 | '50f', 551 | '51f', 552 | '52f', 553 | '53f', 554 | '54f', 555 | '55f', 556 | '56f', 557 | '57f', 558 | '58f', 559 | '59f', 560 | '60f', 561 | '61f', 562 | '62f', 563 | '63f', 564 | '64f', 565 | '65f', 566 | '66f', 567 | '67f', 568 | '68f', 569 | '69f', 570 | '70f', 571 | '71f', 572 | '72f', 573 | '73f', 574 | '74f', 575 | '75f', 576 | '76f', 577 | '77f', 578 | '78f', 579 | '79f', 580 | '80f', 581 | '81f', 582 | '82f', 583 | '83f', 584 | '84f', 585 | '85f', 586 | '86f', 587 | '87f', 588 | '88f', 589 | '89f', 590 | '90f', 591 | '91f', 592 | '92f', 593 | '93f', 594 | '94f', 595 | '95f', 596 | '96f', 597 | '97f', 598 | '98f', 599 | '99f', 600 | '100f', 601 | '1g', 602 | '2g', 603 | '3g', 604 | '4g', 605 | '5g', 606 | '6g', 607 | '7g', 608 | '8g', 609 | '9g', 610 | '10g', 611 | '11g', 612 | '12g', 613 | '13g', 614 | '14g', 615 | '15g', 616 | '16g', 617 | '17g', 618 | '18g', 619 | '19g', 620 | '20g', 621 | '21g', 622 | '22g', 623 | '23g', 624 | '24g', 625 | '25g', 626 | '26g', 627 | '27g', 628 | '28g', 629 | '29g', 630 | '30g', 631 | '31g', 632 | '32g', 633 | '33g', 634 | '34g', 635 | '35g', 636 | '36g', 637 | '37g', 638 | '38g', 639 | '39g', 640 | '40g', 641 | '41g', 642 | '42g', 643 | '43g', 644 | '44g', 645 | '45g', 646 | '46g', 647 | '47g', 648 | '48g', 649 | '49g', 650 | '50g', 651 | '51g', 652 | '52g', 653 | '53g', 654 | '54g', 655 | '55g', 656 | '56g', 657 | '57g', 658 | '58g', 659 | '59g', 660 | '60g', 661 | '61g', 662 | '62g', 663 | '63g', 664 | '64g', 665 | '65g', 666 | '66g', 667 | '67g', 668 | '68g', 669 | '69g', 670 | '70g', 671 | '71g', 672 | '72g', 673 | '73g', 674 | '74g', 675 | '75g', 676 | '76g', 677 | '77g', 678 | '78g', 679 | '79g', 680 | '80g', 681 | '81g', 682 | '82g', 683 | '83g', 684 | '84g', 685 | '85g', 686 | '86g', 687 | '87g', 688 | '88g', 689 | '89g', 690 | '90g', 691 | '91g', 692 | '92g', 693 | '93g', 694 | '94g', 695 | '95g', 696 | '96g', 697 | '97g', 698 | '98g', 699 | '99g', 700 | '100g', 701 | '1h', 702 | '2h', 703 | '3h', 704 | '4h', 705 | '5h', 706 | '6h', 707 | '7h', 708 | '8h', 709 | '9h', 710 | '10h', 711 | '11h', 712 | '12h', 713 | '13h', 714 | '14h', 715 | '15h', 716 | '16h', 717 | '17h', 718 | '18h', 719 | '19h', 720 | '20h', 721 | '21h', 722 | '22h', 723 | '23h', 724 | '24h', 725 | '25h', 726 | '26h', 727 | '27h', 728 | '28h', 729 | '29h', 730 | '30h', 731 | '31h', 732 | '32h', 733 | '33h', 734 | '34h', 735 | '35h', 736 | '36h', 737 | '37h', 738 | '38h', 739 | '39h', 740 | '40h', 741 | '41h', 742 | '42h', 743 | '43h', 744 | '44h', 745 | '45h', 746 | '46h', 747 | '47h', 748 | '48h', 749 | '49h', 750 | '50h', 751 | '51h', 752 | '52h', 753 | '53h', 754 | '54h', 755 | '55h', 756 | '56h', 757 | '57h', 758 | '58h', 759 | '59h', 760 | '60h', 761 | '61h', 762 | '62h', 763 | '63h', 764 | '64h', 765 | '65h', 766 | '66h', 767 | '67h', 768 | '68h', 769 | '69h', 770 | '70h', 771 | '71h', 772 | '72h', 773 | '73h', 774 | '74h', 775 | '75h', 776 | '76h', 777 | '77h', 778 | '78h', 779 | '79h', 780 | '80h', 781 | '81h', 782 | '82h', 783 | '83h', 784 | '84h', 785 | '85h', 786 | '86h', 787 | '87h', 788 | '88h', 789 | '89h', 790 | '90h', 791 | '91h', 792 | '92h', 793 | '93h', 794 | '94h', 795 | '95h', 796 | '96h', 797 | '97h', 798 | '98h', 799 | '99h', 800 | '100h', 801 | '1i', 802 | '2i', 803 | '3i', 804 | '4i', 805 | '5i', 806 | '6i', 807 | '7i', 808 | '8i', 809 | '9i', 810 | '10i', 811 | '11i', 812 | '12i', 813 | '13i', 814 | '14i', 815 | '15i', 816 | '16i', 817 | '17i', 818 | '18i', 819 | '19i', 820 | '20i', 821 | '21i', 822 | '22i', 823 | '23i', 824 | '24i', 825 | '25i', 826 | '26i', 827 | '27i', 828 | '28i', 829 | '29i', 830 | '30i', 831 | '31i', 832 | '32i', 833 | '33i', 834 | '34i', 835 | '35i', 836 | '36i', 837 | '37i', 838 | '38i', 839 | '39i', 840 | '40i', 841 | '41i', 842 | '42i', 843 | '43i', 844 | '44i', 845 | '45i', 846 | '46i', 847 | '47i', 848 | '48i', 849 | '49i', 850 | '50i', 851 | '51i', 852 | '52i', 853 | '53i', 854 | '54i', 855 | '55i', 856 | '56i', 857 | '57i', 858 | '58i', 859 | '59i', 860 | '60i', 861 | '61i', 862 | '62i', 863 | '63i', 864 | '64i', 865 | '65i', 866 | '66i', 867 | '67i', 868 | '68i', 869 | '69i', 870 | '70i', 871 | '71i', 872 | '72i', 873 | '73i', 874 | '74i', 875 | '75i', 876 | '76i', 877 | '77i', 878 | '78i', 879 | '79i', 880 | '80i', 881 | '81i', 882 | '82i', 883 | '83i', 884 | '84i', 885 | '85i', 886 | '86i', 887 | '87i', 888 | '88i', 889 | '89i', 890 | '90i', 891 | '91i', 892 | '92i', 893 | '93i', 894 | '94i', 895 | '95i', 896 | '96i', 897 | '97i', 898 | '98i', 899 | '99i', 900 | '100i', 901 | '1j', 902 | '2j', 903 | '3j', 904 | '4j', 905 | '5j', 906 | '6j', 907 | '7j', 908 | '8j', 909 | '9j', 910 | '10j', 911 | '11j', 912 | '12j', 913 | '13j', 914 | '14j', 915 | '15j', 916 | '16j', 917 | '17j', 918 | '18j', 919 | '19j', 920 | '20j', 921 | '21j', 922 | '22j', 923 | '23j', 924 | '24j', 925 | '25j', 926 | '26j', 927 | '27j', 928 | '28j', 929 | '29j', 930 | '30j', 931 | '31j', 932 | '32j', 933 | '33j', 934 | '34j', 935 | '35j', 936 | '36j', 937 | '37j', 938 | '38j', 939 | '39j', 940 | '40j', 941 | '41j', 942 | '42j', 943 | '43j', 944 | '44j', 945 | '45j', 946 | '46j', 947 | '47j', 948 | '48j', 949 | '49j', 950 | '50j', 951 | '51j', 952 | '52j', 953 | '53j', 954 | '54j', 955 | '55j', 956 | '56j', 957 | '57j', 958 | '58j', 959 | '59j', 960 | '60j', 961 | '61j', 962 | '62j', 963 | '63j', 964 | '64j', 965 | '65j', 966 | '66j', 967 | '67j', 968 | '68j', 969 | '69j', 970 | '70j', 971 | '71j', 972 | '72j', 973 | '73j', 974 | '74j', 975 | '75j', 976 | '76j', 977 | '77j', 978 | '78j', 979 | '79j', 980 | '80j', 981 | '81j', 982 | '82j', 983 | '83j', 984 | '84j', 985 | '85j', 986 | '86j', 987 | '87j', 988 | '88j', 989 | '89j', 990 | '90j', 991 | '91j', 992 | '92j', 993 | '93j', 994 | '94j', 995 | '95j', 996 | '96j', 997 | '97j', 998 | '98j', 999 | '99j', 1000 | '100j', 1001 | '1k', 1002 | '2k', 1003 | '3k', 1004 | '4k', 1005 | '5k', 1006 | '6k', 1007 | '7k', 1008 | '8k', 1009 | '9k', 1010 | '10k', 1011 | '11k', 1012 | '12k', 1013 | '13k', 1014 | '14k', 1015 | '15k', 1016 | '16k', 1017 | '17k', 1018 | '18k', 1019 | '19k', 1020 | '20k', 1021 | '21k', 1022 | '22k', 1023 | '23k', 1024 | '24k', 1025 | '25k', 1026 | '26k', 1027 | '27k', 1028 | '28k', 1029 | '29k', 1030 | '30k', 1031 | '31k', 1032 | '32k', 1033 | '33k', 1034 | '34k', 1035 | '35k', 1036 | '36k', 1037 | '37k', 1038 | '38k', 1039 | '39k', 1040 | '40k', 1041 | '41k', 1042 | '42k', 1043 | '43k', 1044 | '44k', 1045 | '45k', 1046 | '46k', 1047 | '47k', 1048 | '48k', 1049 | '49k', 1050 | '50k', 1051 | '51k', 1052 | '52k', 1053 | '53k', 1054 | '54k', 1055 | '55k', 1056 | '56k', 1057 | '57k', 1058 | '58k', 1059 | '59k', 1060 | '60k', 1061 | '61k', 1062 | '62k', 1063 | '63k', 1064 | '64k', 1065 | '65k', 1066 | '66k', 1067 | '67k', 1068 | '68k', 1069 | '69k', 1070 | '70k', 1071 | '71k', 1072 | '72k', 1073 | '73k', 1074 | '74k', 1075 | '75k', 1076 | '76k', 1077 | '77k', 1078 | '78k', 1079 | '79k', 1080 | '80k', 1081 | '81k', 1082 | '82k', 1083 | '83k', 1084 | '84k', 1085 | '85k', 1086 | '86k', 1087 | '87k', 1088 | '88k', 1089 | '89k', 1090 | '90k', 1091 | '91k', 1092 | '92k', 1093 | '93k', 1094 | '94k', 1095 | '95k', 1096 | '96k', 1097 | '97k', 1098 | '98k', 1099 | '99k', 1100 | '100k', 1101 | '1l', 1102 | '2l', 1103 | '3l', 1104 | '4l', 1105 | '5l', 1106 | '6l', 1107 | '7l', 1108 | '8l', 1109 | '9l', 1110 | '10l', 1111 | '11l', 1112 | '12l', 1113 | '13l', 1114 | '14l', 1115 | '15l', 1116 | '16l', 1117 | '17l', 1118 | '18l', 1119 | '19l', 1120 | '20l', 1121 | '21l', 1122 | '22l', 1123 | '23l', 1124 | '24l', 1125 | '25l', 1126 | '26l', 1127 | '27l', 1128 | '28l', 1129 | '29l', 1130 | '30l', 1131 | '31l', 1132 | '32l', 1133 | '33l', 1134 | '34l', 1135 | '35l', 1136 | '36l', 1137 | '37l', 1138 | '38l', 1139 | '39l', 1140 | '40l', 1141 | '41l', 1142 | '42l', 1143 | '43l', 1144 | '44l', 1145 | '45l', 1146 | '46l', 1147 | '47l', 1148 | '48l', 1149 | '49l', 1150 | '50l', 1151 | '51l', 1152 | '52l', 1153 | '53l', 1154 | '54l', 1155 | '55l', 1156 | '56l', 1157 | '57l', 1158 | '58l', 1159 | '59l', 1160 | '60l', 1161 | '61l', 1162 | '62l', 1163 | '63l', 1164 | '64l', 1165 | '65l', 1166 | '66l', 1167 | '67l', 1168 | '68l', 1169 | '69l', 1170 | '70l', 1171 | '71l', 1172 | '72l', 1173 | '73l', 1174 | '74l', 1175 | '75l', 1176 | '76l', 1177 | '77l', 1178 | '78l', 1179 | '79l', 1180 | '80l', 1181 | '81l', 1182 | '82l', 1183 | '83l', 1184 | '84l', 1185 | '85l', 1186 | '86l', 1187 | '87l', 1188 | '88l', 1189 | '89l', 1190 | '90l', 1191 | '91l', 1192 | '92l', 1193 | '93l', 1194 | '94l', 1195 | '95l', 1196 | '96l', 1197 | '97l', 1198 | '98l', 1199 | '99l', 1200 | '100l', 1201 | '1m', 1202 | '2m', 1203 | '3m', 1204 | '4m', 1205 | '5m', 1206 | '6m', 1207 | '7m', 1208 | '8m', 1209 | '9m', 1210 | '10m', 1211 | '11m', 1212 | '12m', 1213 | '13m', 1214 | '14m', 1215 | '15m', 1216 | '16m', 1217 | '17m', 1218 | '18m', 1219 | '19m', 1220 | '20m', 1221 | '21m', 1222 | '22m', 1223 | '23m', 1224 | '24m', 1225 | '25m', 1226 | '26m', 1227 | '27m', 1228 | '28m', 1229 | '29m', 1230 | '30m', 1231 | '31m', 1232 | '32m', 1233 | '33m', 1234 | '34m', 1235 | '35m', 1236 | '36m', 1237 | '37m', 1238 | '38m', 1239 | '39m', 1240 | '40m', 1241 | '41m', 1242 | '42m', 1243 | '43m', 1244 | '44m', 1245 | '45m', 1246 | '46m', 1247 | '47m', 1248 | '48m', 1249 | '49m', 1250 | '50m', 1251 | '51m', 1252 | '52m', 1253 | '53m', 1254 | '54m', 1255 | '55m', 1256 | '56m', 1257 | '57m', 1258 | '58m', 1259 | '59m', 1260 | '60m', 1261 | '61m', 1262 | '62m', 1263 | '63m', 1264 | '64m', 1265 | '65m', 1266 | '66m', 1267 | '67m', 1268 | '68m', 1269 | '69m', 1270 | '70m', 1271 | '71m', 1272 | '72m', 1273 | '73m', 1274 | '74m', 1275 | '75m', 1276 | '76m', 1277 | '77m', 1278 | '78m', 1279 | '79m', 1280 | '80m', 1281 | '81m', 1282 | '82m', 1283 | '83m', 1284 | '84m', 1285 | '85m', 1286 | '86m', 1287 | '87m', 1288 | '88m', 1289 | '89m', 1290 | '90m', 1291 | '91m', 1292 | '92m', 1293 | '93m', 1294 | '94m', 1295 | '95m', 1296 | '96m', 1297 | '97m', 1298 | '98m', 1299 | '99m', 1300 | '100m', 1301 | '1n', 1302 | '2n', 1303 | '3n', 1304 | '4n', 1305 | '5n', 1306 | '6n', 1307 | '7n', 1308 | '8n', 1309 | '9n', 1310 | '10n', 1311 | '11n', 1312 | '12n', 1313 | '13n', 1314 | '14n', 1315 | '15n', 1316 | '16n', 1317 | '17n', 1318 | '18n', 1319 | '19n', 1320 | '20n', 1321 | '21n', 1322 | '22n', 1323 | '23n', 1324 | '24n', 1325 | '25n', 1326 | '26n', 1327 | '27n', 1328 | '28n', 1329 | '29n', 1330 | '30n', 1331 | '31n', 1332 | '32n', 1333 | '33n', 1334 | '34n', 1335 | '35n', 1336 | '36n', 1337 | '37n', 1338 | '38n', 1339 | '39n', 1340 | '40n', 1341 | '41n', 1342 | '42n', 1343 | '43n', 1344 | '44n', 1345 | '45n', 1346 | '46n', 1347 | '47n', 1348 | '48n', 1349 | '49n', 1350 | '50n', 1351 | '51n', 1352 | '52n', 1353 | '53n', 1354 | '54n', 1355 | '55n', 1356 | '56n', 1357 | '57n', 1358 | '58n', 1359 | '59n', 1360 | '60n', 1361 | '61n', 1362 | '62n', 1363 | '63n', 1364 | '64n', 1365 | '65n', 1366 | '66n', 1367 | '67n', 1368 | '68n', 1369 | '69n', 1370 | '70n', 1371 | '71n', 1372 | '72n', 1373 | '73n', 1374 | '74n', 1375 | '75n', 1376 | '76n', 1377 | '77n', 1378 | '78n', 1379 | '79n', 1380 | '80n', 1381 | '81n', 1382 | '82n', 1383 | '83n', 1384 | '84n', 1385 | '85n', 1386 | '86n', 1387 | '87n', 1388 | '88n', 1389 | '89n', 1390 | '90n', 1391 | '91n', 1392 | '92n', 1393 | '93n', 1394 | '94n', 1395 | '95n', 1396 | '96n', 1397 | '97n', 1398 | '98n', 1399 | '99n', 1400 | '100n', 1401 | '1o', 1402 | '2o', 1403 | '3o', 1404 | '4o', 1405 | '5o', 1406 | '6o', 1407 | '7o', 1408 | '8o', 1409 | '9o', 1410 | '10o', 1411 | '11o', 1412 | '12o', 1413 | '13o', 1414 | '14o', 1415 | '15o', 1416 | '16o', 1417 | '17o', 1418 | '18o', 1419 | '19o', 1420 | '20o', 1421 | '21o', 1422 | '22o', 1423 | '23o', 1424 | '24o', 1425 | '25o', 1426 | '26o', 1427 | '27o', 1428 | '28o', 1429 | '29o', 1430 | '30o', 1431 | '31o', 1432 | '32o', 1433 | '33o', 1434 | '34o', 1435 | '35o', 1436 | '36o', 1437 | '37o', 1438 | '38o', 1439 | '39o', 1440 | '40o', 1441 | '41o', 1442 | '42o', 1443 | '43o', 1444 | '44o', 1445 | '45o', 1446 | '46o', 1447 | '47o', 1448 | '48o', 1449 | '49o', 1450 | '50o', 1451 | '51o', 1452 | '52o', 1453 | '53o', 1454 | '54o', 1455 | '55o', 1456 | '56o', 1457 | '57o', 1458 | '58o', 1459 | '59o', 1460 | '60o', 1461 | '61o', 1462 | '62o', 1463 | '63o', 1464 | '64o', 1465 | '65o', 1466 | '66o', 1467 | '67o', 1468 | '68o', 1469 | '69o', 1470 | '70o', 1471 | '71o', 1472 | '72o', 1473 | '73o', 1474 | '74o', 1475 | '75o', 1476 | '76o', 1477 | '77o', 1478 | '78o', 1479 | '79o', 1480 | '80o', 1481 | '81o', 1482 | '82o', 1483 | '83o', 1484 | '84o', 1485 | '85o', 1486 | '86o', 1487 | '87o', 1488 | '88o', 1489 | '89o', 1490 | '90o', 1491 | '91o', 1492 | '92o', 1493 | '93o', 1494 | '94o', 1495 | '95o', 1496 | '96o', 1497 | '97o', 1498 | '98o', 1499 | '99o', 1500 | '100o', 1501 | '1p', 1502 | '2p', 1503 | '3p', 1504 | '4p', 1505 | '5p', 1506 | '6p', 1507 | '7p', 1508 | '8p', 1509 | '9p', 1510 | '10p', 1511 | '11p', 1512 | '12p', 1513 | '13p', 1514 | '14p', 1515 | '15p', 1516 | '16p', 1517 | '17p', 1518 | '18p', 1519 | '19p', 1520 | '20p', 1521 | '21p', 1522 | '22p', 1523 | '23p', 1524 | '24p', 1525 | '25p', 1526 | '26p', 1527 | '27p', 1528 | '28p', 1529 | '29p', 1530 | '30p', 1531 | '31p', 1532 | '32p', 1533 | '33p', 1534 | '34p', 1535 | '35p', 1536 | '36p', 1537 | '37p', 1538 | '38p', 1539 | '39p', 1540 | '40p', 1541 | '41p', 1542 | '42p', 1543 | '43p', 1544 | '44p', 1545 | '45p', 1546 | '46p', 1547 | '47p', 1548 | '48p', 1549 | '49p', 1550 | '50p', 1551 | '51p', 1552 | '52p', 1553 | '53p', 1554 | '54p', 1555 | '55p', 1556 | '56p', 1557 | '57p', 1558 | '58p', 1559 | '59p', 1560 | '60p', 1561 | '61p', 1562 | '62p', 1563 | '63p', 1564 | '64p', 1565 | '65p', 1566 | '66p', 1567 | '67p', 1568 | '68p', 1569 | '69p', 1570 | '70p', 1571 | '71p', 1572 | '72p', 1573 | '73p', 1574 | '74p', 1575 | '75p', 1576 | '76p', 1577 | '77p', 1578 | '78p', 1579 | '79p', 1580 | '80p', 1581 | '81p', 1582 | '82p', 1583 | '83p', 1584 | '84p', 1585 | '85p', 1586 | '86p', 1587 | '87p', 1588 | '88p', 1589 | '89p', 1590 | '90p', 1591 | '91p', 1592 | '92p', 1593 | '93p', 1594 | '94p', 1595 | '95p', 1596 | '96p', 1597 | '97p', 1598 | '98p', 1599 | '99p', 1600 | '100p', 1601 | '1q', 1602 | '2q', 1603 | '3q', 1604 | '4q', 1605 | '5q', 1606 | '6q', 1607 | '7q', 1608 | '8q', 1609 | '9q', 1610 | '10q', 1611 | '11q', 1612 | '12q', 1613 | '13q', 1614 | '14q', 1615 | '15q', 1616 | '16q', 1617 | '17q', 1618 | '18q', 1619 | '19q', 1620 | '20q', 1621 | '21q', 1622 | '22q', 1623 | '23q', 1624 | '24q', 1625 | '25q', 1626 | '26q', 1627 | '27q', 1628 | '28q', 1629 | '29q', 1630 | '30q', 1631 | '31q', 1632 | '32q', 1633 | '33q', 1634 | '34q', 1635 | '35q', 1636 | '36q', 1637 | '37q', 1638 | '38q', 1639 | '39q', 1640 | '40q', 1641 | '41q', 1642 | '42q', 1643 | '43q', 1644 | '44q', 1645 | '45q', 1646 | '46q', 1647 | '47q', 1648 | '48q', 1649 | '49q', 1650 | '50q', 1651 | '51q', 1652 | '52q', 1653 | '53q', 1654 | '54q', 1655 | '55q', 1656 | '56q', 1657 | '57q', 1658 | '58q', 1659 | '59q', 1660 | '60q', 1661 | '61q', 1662 | '62q', 1663 | '63q', 1664 | '64q', 1665 | '65q', 1666 | '66q', 1667 | '67q', 1668 | '68q', 1669 | '69q', 1670 | '70q', 1671 | '71q', 1672 | '72q', 1673 | '73q', 1674 | '74q', 1675 | '75q', 1676 | '76q', 1677 | '77q', 1678 | '78q', 1679 | '79q', 1680 | '80q', 1681 | '81q', 1682 | '82q', 1683 | '83q', 1684 | '84q', 1685 | '85q', 1686 | '86q', 1687 | '87q', 1688 | '88q', 1689 | '89q', 1690 | '90q', 1691 | '91q', 1692 | '92q', 1693 | '93q', 1694 | '94q', 1695 | '95q', 1696 | '96q', 1697 | '97q', 1698 | '98q', 1699 | '99q', 1700 | '100q', 1701 | '1r', 1702 | '2r', 1703 | '3r', 1704 | '4r', 1705 | '5r', 1706 | '6r', 1707 | '7r', 1708 | '8r', 1709 | '9r', 1710 | '10r', 1711 | '11r', 1712 | '12r', 1713 | '13r', 1714 | '14r', 1715 | '15r', 1716 | '16r', 1717 | '17r', 1718 | '18r', 1719 | '19r', 1720 | '20r', 1721 | '21r', 1722 | '22r', 1723 | '23r', 1724 | '24r', 1725 | '25r', 1726 | '26r', 1727 | '27r', 1728 | '28r', 1729 | '29r', 1730 | '30r', 1731 | '31r', 1732 | '32r', 1733 | '33r', 1734 | '34r', 1735 | '35r', 1736 | '36r', 1737 | '37r', 1738 | '38r', 1739 | '39r', 1740 | '40r', 1741 | '41r', 1742 | '42r', 1743 | '43r', 1744 | '44r', 1745 | '45r', 1746 | '46r', 1747 | '47r', 1748 | '48r', 1749 | '49r', 1750 | '50r', 1751 | '51r', 1752 | '52r', 1753 | '53r', 1754 | '54r', 1755 | '55r', 1756 | '56r', 1757 | '57r', 1758 | '58r', 1759 | '59r', 1760 | '60r', 1761 | '61r', 1762 | '62r', 1763 | '63r', 1764 | '64r', 1765 | '65r', 1766 | '66r', 1767 | '67r', 1768 | '68r', 1769 | '69r', 1770 | '70r', 1771 | '71r', 1772 | '72r', 1773 | '73r', 1774 | '74r', 1775 | '75r', 1776 | '76r', 1777 | '77r', 1778 | '78r', 1779 | '79r', 1780 | '80r', 1781 | '81r', 1782 | '82r', 1783 | '83r', 1784 | '84r', 1785 | '85r', 1786 | '86r', 1787 | '87r', 1788 | '88r', 1789 | '89r', 1790 | '90r', 1791 | '91r', 1792 | '92r', 1793 | '93r', 1794 | '94r', 1795 | '95r', 1796 | '96r', 1797 | '97r', 1798 | '98r', 1799 | '99r', 1800 | '100r', 1801 | '1s', 1802 | '2s', 1803 | '3s', 1804 | '4s', 1805 | '5s', 1806 | '6s', 1807 | '7s', 1808 | '8s', 1809 | '9s', 1810 | '10s', 1811 | '11s', 1812 | '12s', 1813 | '13s', 1814 | '14s', 1815 | '15s', 1816 | '16s', 1817 | '17s', 1818 | '18s', 1819 | '19s', 1820 | '20s', 1821 | '21s', 1822 | '22s', 1823 | '23s', 1824 | '24s', 1825 | '25s', 1826 | '26s', 1827 | '27s', 1828 | '28s', 1829 | '29s', 1830 | '30s', 1831 | '31s', 1832 | '32s', 1833 | '33s', 1834 | '34s', 1835 | '35s', 1836 | '36s', 1837 | '37s', 1838 | '38s', 1839 | '39s', 1840 | '40s', 1841 | '41s', 1842 | '42s', 1843 | '43s', 1844 | '44s', 1845 | '45s', 1846 | '46s', 1847 | '47s', 1848 | '48s', 1849 | '49s', 1850 | '50s', 1851 | '51s', 1852 | '52s', 1853 | '53s', 1854 | '54s', 1855 | '55s', 1856 | '56s', 1857 | '57s', 1858 | '58s', 1859 | '59s', 1860 | '60s', 1861 | '61s', 1862 | '62s', 1863 | '63s', 1864 | '64s', 1865 | '65s', 1866 | '66s', 1867 | '67s', 1868 | '68s', 1869 | '69s', 1870 | '70s', 1871 | '71s', 1872 | '72s', 1873 | '73s', 1874 | '74s', 1875 | '75s', 1876 | '76s', 1877 | '77s', 1878 | '78s', 1879 | '79s', 1880 | '80s', 1881 | '81s', 1882 | '82s', 1883 | '83s', 1884 | '84s', 1885 | '85s', 1886 | '86s', 1887 | '87s', 1888 | '88s', 1889 | '89s', 1890 | '90s', 1891 | '91s', 1892 | '92s', 1893 | '93s', 1894 | '94s', 1895 | '95s', 1896 | '96s', 1897 | '97s', 1898 | '98s', 1899 | '99s', 1900 | '100s', 1901 | '1t', 1902 | '2t', 1903 | '3t', 1904 | '4t', 1905 | '5t', 1906 | '6t', 1907 | '7t', 1908 | '8t', 1909 | '9t', 1910 | '10t', 1911 | '11t', 1912 | '12t', 1913 | '13t', 1914 | '14t', 1915 | '15t', 1916 | '16t', 1917 | '17t', 1918 | '18t', 1919 | '19t', 1920 | '20t', 1921 | '21t', 1922 | '22t', 1923 | '23t', 1924 | '24t', 1925 | '25t', 1926 | '26t', 1927 | '27t', 1928 | '28t', 1929 | '29t', 1930 | '30t', 1931 | '31t', 1932 | '32t', 1933 | '33t', 1934 | '34t', 1935 | '35t', 1936 | '36t', 1937 | '37t', 1938 | '38t', 1939 | '39t', 1940 | '40t', 1941 | '41t', 1942 | '42t', 1943 | '43t', 1944 | '44t', 1945 | '45t', 1946 | '46t', 1947 | '47t', 1948 | '48t', 1949 | '49t', 1950 | '50t', 1951 | '51t', 1952 | '52t', 1953 | '53t', 1954 | '54t', 1955 | '55t', 1956 | '56t', 1957 | '57t', 1958 | '58t', 1959 | '59t', 1960 | '60t', 1961 | '61t', 1962 | '62t', 1963 | '63t', 1964 | '64t', 1965 | '65t', 1966 | '66t', 1967 | '67t', 1968 | '68t', 1969 | '69t', 1970 | '70t', 1971 | '71t', 1972 | '72t', 1973 | '73t', 1974 | '74t', 1975 | '75t', 1976 | '76t', 1977 | '77t', 1978 | '78t', 1979 | '79t', 1980 | '80t', 1981 | '81t', 1982 | '82t', 1983 | '83t', 1984 | '84t', 1985 | '85t', 1986 | '86t', 1987 | '87t', 1988 | '88t', 1989 | '89t', 1990 | '90t', 1991 | '91t', 1992 | '92t', 1993 | '93t', 1994 | '94t', 1995 | '95t', 1996 | '96t', 1997 | '97t', 1998 | '98t', 1999 | '99t', 2000 | '100t', 2001 | '1u', 2002 | '2u', 2003 | '3u', 2004 | '4u', 2005 | '5u', 2006 | '6u', 2007 | '7u', 2008 | '8u', 2009 | '9u', 2010 | '10u', 2011 | '11u', 2012 | '12u', 2013 | '13u', 2014 | '14u', 2015 | '15u', 2016 | '16u', 2017 | '17u', 2018 | '18u', 2019 | '19u', 2020 | '20u', 2021 | '21u', 2022 | '22u', 2023 | '23u', 2024 | '24u', 2025 | '25u', 2026 | '26u', 2027 | '27u', 2028 | '28u', 2029 | '29u', 2030 | '30u', 2031 | '31u', 2032 | '32u', 2033 | '33u', 2034 | '34u', 2035 | '35u', 2036 | '36u', 2037 | '37u', 2038 | '38u', 2039 | '39u', 2040 | '40u', 2041 | '41u', 2042 | '42u', 2043 | '43u', 2044 | '44u', 2045 | '45u', 2046 | '46u', 2047 | '47u', 2048 | '48u', 2049 | '49u', 2050 | '50u', 2051 | '51u', 2052 | '52u', 2053 | '53u', 2054 | '54u', 2055 | '55u', 2056 | '56u', 2057 | '57u', 2058 | '58u', 2059 | '59u', 2060 | '60u', 2061 | '61u', 2062 | '62u', 2063 | '63u', 2064 | '64u', 2065 | '65u', 2066 | '66u', 2067 | '67u', 2068 | '68u', 2069 | '69u', 2070 | '70u', 2071 | '71u', 2072 | '72u', 2073 | '73u', 2074 | '74u', 2075 | '75u', 2076 | '76u', 2077 | '77u', 2078 | '78u', 2079 | '79u', 2080 | '80u', 2081 | '81u', 2082 | '82u', 2083 | '83u', 2084 | '84u', 2085 | '85u', 2086 | '86u', 2087 | '87u', 2088 | '88u', 2089 | '89u', 2090 | '90u', 2091 | '91u', 2092 | '92u', 2093 | '93u', 2094 | '94u', 2095 | '95u', 2096 | '96u', 2097 | '97u', 2098 | '98u', 2099 | '99u', 2100 | '100u', 2101 | '1v', 2102 | '2v', 2103 | '3v', 2104 | '4v', 2105 | '5v', 2106 | '6v', 2107 | '7v', 2108 | '8v', 2109 | '9v', 2110 | '10v', 2111 | '11v', 2112 | '12v', 2113 | '13v', 2114 | '14v', 2115 | '15v', 2116 | '16v', 2117 | '17v', 2118 | '18v', 2119 | '19v', 2120 | '20v', 2121 | '21v', 2122 | '22v', 2123 | '23v', 2124 | '24v', 2125 | '25v', 2126 | '26v', 2127 | '27v', 2128 | '28v', 2129 | '29v', 2130 | '30v', 2131 | '31v', 2132 | '32v', 2133 | '33v', 2134 | '34v', 2135 | '35v', 2136 | '36v', 2137 | '37v', 2138 | '38v', 2139 | '39v', 2140 | '40v', 2141 | '41v', 2142 | '42v', 2143 | '43v', 2144 | '44v', 2145 | '45v', 2146 | '46v', 2147 | '47v', 2148 | '48v', 2149 | '49v', 2150 | '50v', 2151 | '51v', 2152 | '52v', 2153 | '53v', 2154 | '54v', 2155 | '55v', 2156 | '56v', 2157 | '57v', 2158 | '58v', 2159 | '59v', 2160 | '60v', 2161 | '61v', 2162 | '62v', 2163 | '63v', 2164 | '64v', 2165 | '65v', 2166 | '66v', 2167 | '67v', 2168 | '68v', 2169 | '69v', 2170 | '70v', 2171 | '71v', 2172 | '72v', 2173 | '73v', 2174 | '74v', 2175 | '75v', 2176 | '76v', 2177 | '77v', 2178 | '78v', 2179 | '79v', 2180 | '80v', 2181 | '81v', 2182 | '82v', 2183 | '83v', 2184 | '84v', 2185 | '85v', 2186 | '86v', 2187 | '87v', 2188 | '88v', 2189 | '89v', 2190 | '90v', 2191 | '91v', 2192 | '92v', 2193 | '93v', 2194 | '94v', 2195 | '95v', 2196 | '96v', 2197 | '97v', 2198 | '98v', 2199 | '99v', 2200 | '100v', 2201 | '1w', 2202 | '2w', 2203 | '3w', 2204 | '4w', 2205 | '5w', 2206 | '6w', 2207 | '7w', 2208 | '8w', 2209 | '9w', 2210 | '10w', 2211 | '11w', 2212 | '12w', 2213 | '13w', 2214 | '14w', 2215 | '15w', 2216 | '16w', 2217 | '17w', 2218 | '18w', 2219 | '19w', 2220 | '20w', 2221 | '21w', 2222 | '22w', 2223 | '23w', 2224 | '24w', 2225 | '25w', 2226 | '26w', 2227 | '27w', 2228 | '28w', 2229 | '29w', 2230 | '30w', 2231 | '31w', 2232 | '32w', 2233 | '33w', 2234 | '34w', 2235 | '35w', 2236 | '36w', 2237 | '37w', 2238 | '38w', 2239 | '39w', 2240 | '40w', 2241 | '41w', 2242 | '42w', 2243 | '43w', 2244 | '44w', 2245 | '45w', 2246 | '46w', 2247 | '47w', 2248 | '48w', 2249 | '49w', 2250 | '50w', 2251 | '51w', 2252 | '52w', 2253 | '53w', 2254 | '54w', 2255 | '55w', 2256 | '56w', 2257 | '57w', 2258 | '58w', 2259 | '59w', 2260 | '60w', 2261 | '61w', 2262 | '62w', 2263 | '63w', 2264 | '64w', 2265 | '65w', 2266 | '66w', 2267 | '67w', 2268 | '68w', 2269 | '69w', 2270 | '70w', 2271 | '71w', 2272 | '72w', 2273 | '73w', 2274 | '74w', 2275 | '75w', 2276 | '76w', 2277 | '77w', 2278 | '78w', 2279 | '79w', 2280 | '80w', 2281 | '81w', 2282 | '82w', 2283 | '83w', 2284 | '84w', 2285 | '85w', 2286 | '86w', 2287 | '87w', 2288 | '88w', 2289 | '89w', 2290 | '90w', 2291 | '91w', 2292 | '92w', 2293 | '93w', 2294 | '94w', 2295 | '95w', 2296 | '96w', 2297 | '97w', 2298 | '98w', 2299 | '99w', 2300 | '100w', 2301 | '1x', 2302 | '2x', 2303 | '3x', 2304 | '4x', 2305 | '5x', 2306 | '6x', 2307 | '7x', 2308 | '8x', 2309 | '9x', 2310 | '10x', 2311 | '11x', 2312 | '12x', 2313 | '13x', 2314 | '14x', 2315 | '15x', 2316 | '16x', 2317 | '17x', 2318 | '18x', 2319 | '19x', 2320 | '20x', 2321 | '21x', 2322 | '22x', 2323 | '23x', 2324 | '24x', 2325 | '25x', 2326 | '26x', 2327 | '27x', 2328 | '28x', 2329 | '29x', 2330 | '30x', 2331 | '31x', 2332 | '32x', 2333 | '33x', 2334 | '34x', 2335 | '35x', 2336 | '36x', 2337 | '37x', 2338 | '38x', 2339 | '39x', 2340 | '40x', 2341 | '41x', 2342 | '42x', 2343 | '43x', 2344 | '44x', 2345 | '45x', 2346 | '46x', 2347 | '47x', 2348 | '48x', 2349 | '49x', 2350 | '50x', 2351 | '51x', 2352 | '52x', 2353 | '53x', 2354 | '54x', 2355 | '55x', 2356 | '56x', 2357 | '57x', 2358 | '58x', 2359 | '59x', 2360 | '60x', 2361 | '61x', 2362 | '62x', 2363 | '63x', 2364 | '64x', 2365 | '65x', 2366 | '66x', 2367 | '67x', 2368 | '68x', 2369 | '69x', 2370 | '70x', 2371 | '71x', 2372 | '72x', 2373 | '73x', 2374 | '74x', 2375 | '75x', 2376 | '76x', 2377 | '77x', 2378 | '78x', 2379 | '79x', 2380 | '80x', 2381 | '81x', 2382 | '82x', 2383 | '83x', 2384 | '84x', 2385 | '85x', 2386 | '86x', 2387 | '87x', 2388 | '88x', 2389 | '89x', 2390 | '90x', 2391 | '91x', 2392 | '92x', 2393 | '93x', 2394 | '94x', 2395 | '95x', 2396 | '96x', 2397 | '97x', 2398 | '98x', 2399 | '99x', 2400 | '100x', 2401 | '1y', 2402 | '2y', 2403 | '3y', 2404 | '4y', 2405 | '5y', 2406 | '6y', 2407 | '7y', 2408 | '8y', 2409 | '9y', 2410 | '10y', 2411 | '11y', 2412 | '12y', 2413 | '13y', 2414 | '14y', 2415 | '15y', 2416 | '16y', 2417 | '17y', 2418 | '18y', 2419 | '19y', 2420 | '20y', 2421 | '21y', 2422 | '22y', 2423 | '23y', 2424 | '24y', 2425 | '25y', 2426 | '26y', 2427 | '27y', 2428 | '28y', 2429 | '29y', 2430 | '30y', 2431 | '31y', 2432 | '32y', 2433 | '33y', 2434 | '34y', 2435 | '35y', 2436 | '36y', 2437 | '37y', 2438 | '38y', 2439 | '39y', 2440 | '40y', 2441 | '41y', 2442 | '42y', 2443 | '43y', 2444 | '44y', 2445 | '45y', 2446 | '46y', 2447 | '47y', 2448 | '48y', 2449 | '49y', 2450 | '50y', 2451 | '51y', 2452 | '52y', 2453 | '53y', 2454 | '54y', 2455 | '55y', 2456 | '56y', 2457 | '57y', 2458 | '58y', 2459 | '59y', 2460 | '60y', 2461 | '61y', 2462 | '62y', 2463 | '63y', 2464 | '64y', 2465 | '65y', 2466 | '66y', 2467 | '67y', 2468 | '68y', 2469 | '69y', 2470 | '70y', 2471 | '71y', 2472 | '72y', 2473 | '73y', 2474 | '74y', 2475 | '75y', 2476 | '76y', 2477 | '77y', 2478 | '78y', 2479 | '79y', 2480 | '80y', 2481 | '81y', 2482 | '82y', 2483 | '83y', 2484 | '84y', 2485 | '85y', 2486 | '86y', 2487 | '87y', 2488 | '88y', 2489 | '89y', 2490 | '90y', 2491 | '91y', 2492 | '92y', 2493 | '93y', 2494 | '94y', 2495 | '95y', 2496 | '96y', 2497 | '97y', 2498 | '98y', 2499 | '99y', 2500 | '100y', 2501 | '1z', 2502 | '2z', 2503 | '3z', 2504 | '4z', 2505 | '5z', 2506 | '6z', 2507 | '7z', 2508 | '8z', 2509 | '9z', 2510 | '10z', 2511 | '11z', 2512 | '12z', 2513 | '13z', 2514 | '14z', 2515 | '15z', 2516 | '16z', 2517 | '17z', 2518 | '18z', 2519 | '19z', 2520 | '20z', 2521 | '21z', 2522 | '22z', 2523 | '23z', 2524 | '24z', 2525 | '25z', 2526 | '26z', 2527 | '27z', 2528 | '28z', 2529 | '29z', 2530 | '30z', 2531 | '31z', 2532 | '32z', 2533 | '33z', 2534 | '34z', 2535 | '35z', 2536 | '36z', 2537 | '37z', 2538 | '38z', 2539 | '39z', 2540 | '40z', 2541 | '41z', 2542 | '42z', 2543 | '43z', 2544 | '44z', 2545 | '45z', 2546 | '46z', 2547 | '47z', 2548 | '48z', 2549 | '49z', 2550 | '50z', 2551 | '51z', 2552 | '52z', 2553 | '53z', 2554 | '54z', 2555 | '55z', 2556 | '56z', 2557 | '57z', 2558 | '58z', 2559 | '59z', 2560 | '60z', 2561 | '61z', 2562 | '62z', 2563 | '63z', 2564 | '64z', 2565 | '65z', 2566 | '66z', 2567 | '67z', 2568 | '68z', 2569 | '69z', 2570 | '70z', 2571 | '71z', 2572 | '72z', 2573 | '73z', 2574 | '74z', 2575 | '75z', 2576 | '76z', 2577 | '77z', 2578 | '78z', 2579 | '79z', 2580 | '80z', 2581 | '81z', 2582 | '82z', 2583 | '83z', 2584 | '84z', 2585 | '85z', 2586 | '86z', 2587 | '87z', 2588 | '88z', 2589 | '89z', 2590 | '90z', 2591 | '91z', 2592 | '92z', 2593 | '93z', 2594 | '94z', 2595 | '95z', 2596 | '96z', 2597 | '97z', 2598 | '98z', 2599 | '99z', 2600 | '100z']]; 2601 | -------------------------------------------------------------------------------- /benchmark/fixtures/med.js: -------------------------------------------------------------------------------- 1 | module.exports = [[ '1a', '2a', '3a', '4a', '5a', '1b', '2b', '3b', '4b', '5b', '1c', '2c', '3c', '4c', '5c', '1d', '2d', '3d', '4d', '5d', '1e', '2e', '3e', '4e', '5e', '1f', '2f', '3f', '4f', '5f', '1g', '2g', '3g', '4g', '5g', '1h', '2h', '3h', '4h', '5h', '1i', '2i', '3i', '4i', '5i', '1j', '2j', '3j', '4j', '5j', '1k', '2k', '3k', '4k', '5k', '1l', '2l', '3l', '4l', '5l', '1m', '2m', '3m', '4m', '5m', '1n', '2n', '3n', '4n', '5n', '1o', '2o', '3o', '4o', '5o', '1p', '2p', '3p', '4p', '5p', '1q', '2q', '3q', '4q', '5q', '1r', '2r', '3r', '4r', '5r', '1s', '2s', '3s', '4s', '5s', '1t', '2t', '3t', '4t', '5t', '1u', '2u', '3u', '4u', '5u', '1v', '2v', '3v', '4v', '5v', '1w', '2w', '3w', '4w', '5w', '1x', '2x', '3x', '4x', '5x', '1y', '2y', '3y', '4y', '5y', '1z', '2z', '3z', '4z', '5z'] ] 2 | -------------------------------------------------------------------------------- /benchmark/fixtures/short.js: -------------------------------------------------------------------------------- 1 | module.exports = [ ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'] ]; 2 | -------------------------------------------------------------------------------- /benchmark/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Suite = require('benchmarked'); 4 | 5 | var suite = new Suite({ 6 | result: false, 7 | fixtures: 'fixtures/*.js', 8 | add: 'code/{arr*-map,native}.js', 9 | cwd: __dirname 10 | }); 11 | 12 | suite.run(); 13 | -------------------------------------------------------------------------------- /benchmark/last.md: -------------------------------------------------------------------------------- 1 | #1: long.js 2 | arr-map.js x 17,326 ops/sec ±0.74% (90 runs sampled) 3 | array-map.js x 15,219 ops/sec ±0.72% (97 runs sampled) 4 | native.js x 14,985 ops/sec ±0.66% (93 runs sampled) 5 | 6 | #2: med.js 7 | arr-map.js x 356,497 ops/sec ±0.79% (90 runs sampled) 8 | array-map.js x 285,448 ops/sec ±0.78% (95 runs sampled) 9 | native.js x 284,534 ops/sec ±0.82% (97 runs sampled) 10 | 11 | #3: short.js 12 | arr-map.js x 1,576,773 ops/sec ±0.72% (93 runs sampled) 13 | array-map.js x 1,129,016 ops/sec ±0.67% (97 runs sampled) 14 | native.js x 1,141,300 ops/sec ±0.71% (97 runs sampled) 15 | -------------------------------------------------------------------------------- /benchmark/support.js: -------------------------------------------------------------------------------- 1 | var braces = require('braces'); 2 | 3 | console.log(braces('{a..z}')); 4 | console.log(braces('{1..100}{a..z}')); 5 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * arr-map 3 | * 4 | * Copyright (c) 2015, 2017, Jon Schlinkert. 5 | * Released under the MIT License. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | var iterator = require('make-iterator'); 11 | 12 | module.exports = function map(arr, fn, thisArg) { 13 | if (arr == null) return []; 14 | fn = iterator(fn, thisArg); 15 | 16 | var len = arr.length; 17 | var res = new Array(len); 18 | 19 | for (var i = 0; i < len; i++) { 20 | res[i] = fn(arr[i], i, arr); 21 | } 22 | return res; 23 | }; 24 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "arr-map", 3 | "description": "Faster, node.js focused alternative to JavaScript's native array map.", 4 | "version": "2.0.2", 5 | "homepage": "https://github.com/jonschlinkert/arr-map", 6 | "author": "Jon Schlinkert (https://github.com/jonschlinkert)", 7 | "repository": "jonschlinkert/arr-map", 8 | "bugs": { 9 | "url": "https://github.com/jonschlinkert/arr-map/issues" 10 | }, 11 | "license": "MIT", 12 | "files": [ 13 | "index.js" 14 | ], 15 | "main": "index.js", 16 | "engines": { 17 | "node": ">=0.10.0" 18 | }, 19 | "scripts": { 20 | "test": "mocha", 21 | "benchmark": "node benchmark" 22 | }, 23 | "dependencies": { 24 | "make-iterator": "^1.0.0" 25 | }, 26 | "devDependencies": { 27 | "array-map": "^0.0.0", 28 | "benchmarked": "^0.2.5", 29 | "braces": "^2.0.3", 30 | "chalk": "^1.1.3", 31 | "glob": "^7.1.1", 32 | "gulp-format-md": "^0.1.11", 33 | "micromatch": "^2.3.11", 34 | "mocha": "^3.2.0" 35 | }, 36 | "keywords": [ 37 | "arr", 38 | "array", 39 | "map" 40 | ], 41 | "verb": { 42 | "toc": false, 43 | "layout": "default", 44 | "tasks": [ 45 | "readme" 46 | ], 47 | "related": { 48 | "list": [ 49 | "arr-diff", 50 | "arr-filter", 51 | "arr-flatten", 52 | "arr-reduce" 53 | ] 54 | }, 55 | "plugins": [ 56 | "gulp-format-md" 57 | ], 58 | "lint": { 59 | "reflinks": true 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * arr-map 3 | * 4 | * Copyright (c) 2014-2015, Jon Schlinkert. 5 | * Licensed under the MIT License. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | require('mocha'); 11 | var assert = require('assert'); 12 | var map = require('./'); 13 | 14 | it('should iterate over the elements in an array:', function () { 15 | var actual = map(['a', 'b', 'c'], function (ele) { 16 | return ele + ele; 17 | }); 18 | assert.deepEqual(actual, ['aa', 'bb', 'cc']); 19 | }); 20 | 21 | it('should expose the index as the second param:', function () { 22 | var actual = map(['a', 'b', 'c'], function (ele, i) { 23 | return i + ele; 24 | }); 25 | assert.deepEqual(actual, ['0a', '1b', '2c']); 26 | }); 27 | --------------------------------------------------------------------------------