konacha 3.6.0 → 3.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -437,7 +437,7 @@ Context.prototype.inspect = function() {
437
437
  */
438
438
 
439
439
  var Runnable = require('./runnable');
440
- var create = require('lodash.create');
440
+ var inherits = require('./utils').inherits;
441
441
 
442
442
  /**
443
443
  * Expose `Hook`.
@@ -460,10 +460,7 @@ function Hook(title, fn) {
460
460
  /**
461
461
  * Inherit from `Runnable.prototype`.
462
462
  */
463
-
464
- Hook.prototype = create(Runnable.prototype, {
465
- constructor: Hook
466
- });
463
+ inherits(Hook, Runnable);
467
464
 
468
465
  /**
469
466
  * Get or set the test `err`.
@@ -482,7 +479,7 @@ Hook.prototype.error = function(err) {
482
479
  this._error = err;
483
480
  };
484
481
 
485
- },{"./runnable":35,"lodash.create":70}],8:[function(require,module,exports){
482
+ },{"./runnable":35,"./utils":39}],8:[function(require,module,exports){
486
483
  /**
487
484
  * Module dependencies.
488
485
  */
@@ -2136,7 +2133,7 @@ function Doc(runner) {
2136
2133
  */
2137
2134
 
2138
2135
  var Base = require('./base');
2139
- var create = require('lodash.create');
2136
+ var inherits = require('../utils').inherits;
2140
2137
  var color = Base.color;
2141
2138
 
2142
2139
  /**
@@ -2196,13 +2193,10 @@ function Dot(runner) {
2196
2193
  /**
2197
2194
  * Inherit from `Base.prototype`.
2198
2195
  */
2199
-
2200
- Dot.prototype = create(Base.prototype, {
2201
- constructor: Dot
2202
- });
2196
+ inherits(Dot, Base);
2203
2197
 
2204
2198
  }).call(this,require('_process'))
2205
- },{"./base":17,"_process":51,"lodash.create":70}],20:[function(require,module,exports){
2199
+ },{"../utils":39,"./base":17,"_process":51}],20:[function(require,module,exports){
2206
2200
  (function (process,__dirname){
2207
2201
  /**
2208
2202
  * Module dependencies.
@@ -2930,7 +2924,7 @@ function errorJSON(err) {
2930
2924
  */
2931
2925
 
2932
2926
  var Base = require('./base');
2933
- var create = require('lodash.create');
2927
+ var inherits = require('../utils').inherits;
2934
2928
  var cursor = Base.cursor;
2935
2929
  var color = Base.color;
2936
2930
 
@@ -3016,20 +3010,17 @@ function Landing(runner) {
3016
3010
  /**
3017
3011
  * Inherit from `Base.prototype`.
3018
3012
  */
3019
-
3020
- Landing.prototype = create(Base.prototype, {
3021
- constructor: Landing
3022
- });
3013
+ inherits(Landing, Base);
3023
3014
 
3024
3015
  }).call(this,require('_process'))
3025
- },{"./base":17,"_process":51,"lodash.create":70}],27:[function(require,module,exports){
3016
+ },{"../utils":39,"./base":17,"_process":51}],27:[function(require,module,exports){
3026
3017
  (function (process){
3027
3018
  /**
3028
3019
  * Module dependencies.
3029
3020
  */
3030
3021
 
3031
3022
  var Base = require('./base');
3032
- var create = require('lodash.create');
3023
+ var inherits = require('../utils').inherits;
3033
3024
  var color = Base.color;
3034
3025
  var cursor = Base.cursor;
3035
3026
 
@@ -3084,13 +3075,10 @@ function List(runner) {
3084
3075
  /**
3085
3076
  * Inherit from `Base.prototype`.
3086
3077
  */
3087
-
3088
- List.prototype = create(Base.prototype, {
3089
- constructor: List
3090
- });
3078
+ inherits(List, Base);
3091
3079
 
3092
3080
  }).call(this,require('_process'))
3093
- },{"./base":17,"_process":51,"lodash.create":70}],28:[function(require,module,exports){
3081
+ },{"../utils":39,"./base":17,"_process":51}],28:[function(require,module,exports){
3094
3082
  (function (process){
3095
3083
  /**
3096
3084
  * Module dependencies.
@@ -3198,7 +3186,7 @@ function Markdown(runner) {
3198
3186
  */
3199
3187
 
3200
3188
  var Base = require('./base');
3201
- var create = require('lodash.create');
3189
+ var inherits = require('../utils').inherits;
3202
3190
 
3203
3191
  /**
3204
3192
  * Expose `Min`.
@@ -3228,20 +3216,17 @@ function Min(runner) {
3228
3216
  /**
3229
3217
  * Inherit from `Base.prototype`.
3230
3218
  */
3231
-
3232
- Min.prototype = create(Base.prototype, {
3233
- constructor: Min
3234
- });
3219
+ inherits(Min, Base);
3235
3220
 
3236
3221
  }).call(this,require('_process'))
3237
- },{"./base":17,"_process":51,"lodash.create":70}],30:[function(require,module,exports){
3222
+ },{"../utils":39,"./base":17,"_process":51}],30:[function(require,module,exports){
3238
3223
  (function (process){
3239
3224
  /**
3240
3225
  * Module dependencies.
3241
3226
  */
3242
3227
 
3243
3228
  var Base = require('./base');
3244
- var create = require('lodash.create');
3229
+ var inherits = require('../utils').inherits;
3245
3230
 
3246
3231
  /**
3247
3232
  * Expose `Dot`.
@@ -3300,10 +3285,7 @@ function NyanCat(runner) {
3300
3285
  /**
3301
3286
  * Inherit from `Base.prototype`.
3302
3287
  */
3303
-
3304
- NyanCat.prototype = create(Base.prototype, {
3305
- constructor: NyanCat
3306
- });
3288
+ inherits(NyanCat, Base);
3307
3289
 
3308
3290
  /**
3309
3291
  * Draw the nyan cat
@@ -3502,14 +3484,14 @@ function write(string) {
3502
3484
  }
3503
3485
 
3504
3486
  }).call(this,require('_process'))
3505
- },{"./base":17,"_process":51,"lodash.create":70}],31:[function(require,module,exports){
3487
+ },{"../utils":39,"./base":17,"_process":51}],31:[function(require,module,exports){
3506
3488
  (function (process){
3507
3489
  /**
3508
3490
  * Module dependencies.
3509
3491
  */
3510
3492
 
3511
3493
  var Base = require('./base');
3512
- var create = require('lodash.create');
3494
+ var inherits = require('../utils').inherits;
3513
3495
  var color = Base.color;
3514
3496
  var cursor = Base.cursor;
3515
3497
 
@@ -3592,19 +3574,16 @@ function Progress(runner, options) {
3592
3574
  /**
3593
3575
  * Inherit from `Base.prototype`.
3594
3576
  */
3595
-
3596
- Progress.prototype = create(Base.prototype, {
3597
- constructor: Progress
3598
- });
3577
+ inherits(Progress, Base);
3599
3578
 
3600
3579
  }).call(this,require('_process'))
3601
- },{"./base":17,"_process":51,"lodash.create":70}],32:[function(require,module,exports){
3580
+ },{"../utils":39,"./base":17,"_process":51}],32:[function(require,module,exports){
3602
3581
  /**
3603
3582
  * Module dependencies.
3604
3583
  */
3605
3584
 
3606
3585
  var Base = require('./base');
3607
- var create = require('lodash.create');
3586
+ var inherits = require('../utils').inherits;
3608
3587
  var color = Base.color;
3609
3588
  var cursor = Base.cursor;
3610
3589
 
@@ -3681,12 +3660,9 @@ function Spec(runner) {
3681
3660
  /**
3682
3661
  * Inherit from `Base.prototype`.
3683
3662
  */
3663
+ inherits(Spec, Base);
3684
3664
 
3685
- Spec.prototype = create(Base.prototype, {
3686
- constructor: Spec
3687
- });
3688
-
3689
- },{"./base":17,"lodash.create":70}],33:[function(require,module,exports){
3665
+ },{"../utils":39,"./base":17}],33:[function(require,module,exports){
3690
3666
  /**
3691
3667
  * Module dependencies.
3692
3668
  */
@@ -3763,9 +3739,10 @@ function title(test) {
3763
3739
  */
3764
3740
 
3765
3741
  var Base = require('./base');
3766
- var create = require('lodash.create');
3742
+ var utils = require('../utils');
3743
+ var inherits = utils.inherits;
3767
3744
  var fs = require('fs');
3768
- var escape = require('../utils').escape;
3745
+ var escape = utils.escape;
3769
3746
 
3770
3747
  /**
3771
3748
  * Save timer references to avoid Sinon interfering (see GH-237).
@@ -3855,10 +3832,7 @@ XUnit.prototype.done = function(failures, fn) {
3855
3832
  /**
3856
3833
  * Inherit from `Base.prototype`.
3857
3834
  */
3858
-
3859
- XUnit.prototype = create(Base.prototype, {
3860
- constructor: XUnit
3861
- });
3835
+ inherits(XUnit, Base);
3862
3836
 
3863
3837
  /**
3864
3838
  * Write out the given line.
@@ -3931,7 +3905,7 @@ function cdata(str) {
3931
3905
  }
3932
3906
 
3933
3907
  }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
3934
- },{"../utils":39,"./base":17,"fs":41,"lodash.create":70}],35:[function(require,module,exports){
3908
+ },{"../utils":39,"./base":17,"fs":41}],35:[function(require,module,exports){
3935
3909
  (function (global){
3936
3910
  /**
3937
3911
  * Module dependencies.
@@ -3939,10 +3913,10 @@ function cdata(str) {
3939
3913
 
3940
3914
  var EventEmitter = require('events').EventEmitter;
3941
3915
  var Pending = require('./pending');
3942
- var create = require('lodash.create');
3943
3916
  var debug = require('debug')('mocha:runnable');
3944
3917
  var milliseconds = require('./ms');
3945
3918
  var utils = require('./utils');
3919
+ var inherits = utils.inherits;
3946
3920
 
3947
3921
  /**
3948
3922
  * Save timer references to avoid Sinon interfering (see GH-237).
@@ -3992,10 +3966,7 @@ function Runnable(title, fn) {
3992
3966
  /**
3993
3967
  * Inherit from `EventEmitter.prototype`.
3994
3968
  */
3995
-
3996
- Runnable.prototype = create(EventEmitter.prototype, {
3997
- constructor: Runnable
3998
- });
3969
+ inherits(Runnable, EventEmitter);
3999
3970
 
4000
3971
  /**
4001
3972
  * Set & get timeout `ms`.
@@ -4258,7 +4229,7 @@ Runnable.prototype.run = function(fn) {
4258
4229
  };
4259
4230
 
4260
4231
  }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
4261
- },{"./ms":15,"./pending":16,"./utils":39,"debug":2,"events":3,"lodash.create":70}],36:[function(require,module,exports){
4232
+ },{"./ms":15,"./pending":16,"./utils":39,"debug":2,"events":3}],36:[function(require,module,exports){
4262
4233
  (function (process,global){
4263
4234
  /**
4264
4235
  * Module dependencies.
@@ -4266,15 +4237,16 @@ Runnable.prototype.run = function(fn) {
4266
4237
 
4267
4238
  var EventEmitter = require('events').EventEmitter;
4268
4239
  var Pending = require('./pending');
4269
- var create = require('lodash.create');
4240
+ var utils = require('./utils');
4241
+ var inherits = utils.inherits;
4270
4242
  var debug = require('debug')('mocha:runner');
4271
- var filter = require('./utils').filter;
4272
- var indexOf = require('./utils').indexOf;
4273
- var keys = require('./utils').keys;
4274
- var stackFilter = require('./utils').stackTraceFilter();
4275
- var stringify = require('./utils').stringify;
4276
- var type = require('./utils').type;
4277
- var undefinedError = require('./utils').undefinedError;
4243
+ var filter = utils.filter;
4244
+ var indexOf = utils.indexOf;
4245
+ var keys = utils.keys;
4246
+ var stackFilter = utils.stackTraceFilter();
4247
+ var stringify = utils.stringify;
4248
+ var type = utils.type;
4249
+ var undefinedError = utils.undefinedError;
4278
4250
 
4279
4251
  /**
4280
4252
  * Non-enumerable globals.
@@ -4349,10 +4321,7 @@ Runner.immediately = global.setImmediate || process.nextTick;
4349
4321
  /**
4350
4322
  * Inherit from `EventEmitter.prototype`.
4351
4323
  */
4352
-
4353
- Runner.prototype = create(EventEmitter.prototype, {
4354
- constructor: Runner
4355
- });
4324
+ inherits(Runner, EventEmitter);
4356
4325
 
4357
4326
  /**
4358
4327
  * Run tests with full titles matching `re`. Updates runner.total
@@ -4831,7 +4800,7 @@ Runner.prototype.runSuite = function(suite, fn) {
4831
4800
 
4832
4801
  debug('run suite %s', suite.fullTitle());
4833
4802
 
4834
- if (!total) {
4803
+ if (!total || (self.failures && suite._bail)) {
4835
4804
  return fn();
4836
4805
  }
4837
4806
 
@@ -5085,17 +5054,17 @@ function extraGlobals() {
5085
5054
  }
5086
5055
 
5087
5056
  }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
5088
- },{"./pending":16,"./utils":39,"_process":51,"debug":2,"events":3,"lodash.create":70}],37:[function(require,module,exports){
5057
+ },{"./pending":16,"./utils":39,"_process":51,"debug":2,"events":3}],37:[function(require,module,exports){
5089
5058
  /**
5090
5059
  * Module dependencies.
5091
5060
  */
5092
5061
 
5093
5062
  var EventEmitter = require('events').EventEmitter;
5094
5063
  var Hook = require('./hook');
5095
- var create = require('lodash.create');
5064
+ var utils = require('./utils');
5065
+ var inherits = utils.inherits;
5096
5066
  var debug = require('debug')('mocha:suite');
5097
5067
  var milliseconds = require('./ms');
5098
- var utils = require('./utils');
5099
5068
 
5100
5069
  /**
5101
5070
  * Expose `Suite`.
@@ -5154,10 +5123,7 @@ function Suite(title, parentContext) {
5154
5123
  /**
5155
5124
  * Inherit from `EventEmitter.prototype`.
5156
5125
  */
5157
-
5158
- Suite.prototype = create(EventEmitter.prototype, {
5159
- constructor: Suite
5160
- });
5126
+ inherits(Suite, EventEmitter);
5161
5127
 
5162
5128
  /**
5163
5129
  * Return a clone of this `Suite`.
@@ -5455,13 +5421,13 @@ Suite.prototype.run = function run() {
5455
5421
  }
5456
5422
  };
5457
5423
 
5458
- },{"./hook":7,"./ms":15,"./utils":39,"debug":2,"events":3,"lodash.create":70}],38:[function(require,module,exports){
5424
+ },{"./hook":7,"./ms":15,"./utils":39,"debug":2,"events":3}],38:[function(require,module,exports){
5459
5425
  /**
5460
5426
  * Module dependencies.
5461
5427
  */
5462
5428
 
5463
5429
  var Runnable = require('./runnable');
5464
- var create = require('lodash.create');
5430
+ var inherits = require('./utils').inherits;
5465
5431
 
5466
5432
  /**
5467
5433
  * Expose `Test`.
@@ -5485,12 +5451,9 @@ function Test(title, fn) {
5485
5451
  /**
5486
5452
  * Inherit from `Runnable.prototype`.
5487
5453
  */
5454
+ inherits(Test, Runnable);
5488
5455
 
5489
- Test.prototype = create(Runnable.prototype, {
5490
- constructor: Test
5491
- });
5492
-
5493
- },{"./runnable":35,"lodash.create":70}],39:[function(require,module,exports){
5456
+ },{"./runnable":35,"./utils":39}],39:[function(require,module,exports){
5494
5457
  (function (process,Buffer){
5495
5458
  /* eslint-env browser */
5496
5459
 
@@ -5513,6 +5476,8 @@ var watchFile = require('fs').watchFile;
5513
5476
 
5514
5477
  var ignore = ['node_modules', '.git'];
5515
5478
 
5479
+ exports.inherits = require('util').inherits;
5480
+
5516
5481
  /**
5517
5482
  * Escape special characters in the given string of html.
5518
5483
  *
@@ -6234,7 +6199,7 @@ exports.stackTraceFilter = function() {
6234
6199
  };
6235
6200
 
6236
6201
  }).call(this,require('_process'),require("buffer").Buffer)
6237
- },{"_process":51,"buffer":43,"debug":2,"fs":41,"glob":41,"path":41}],40:[function(require,module,exports){
6202
+ },{"_process":51,"buffer":43,"debug":2,"fs":41,"glob":41,"path":41,"util":66}],40:[function(require,module,exports){
6238
6203
  (function (process){
6239
6204
  var WritableStream = require('stream').Writable
6240
6205
  var inherits = require('util').inherits
@@ -12262,986 +12227,6 @@ function growl(msg, options, fn) {
12262
12227
 
12263
12228
  }).call(this,require('_process'))
12264
12229
  },{"_process":51,"child_process":41,"fs":41,"os":50,"path":41}],70:[function(require,module,exports){
12265
- /**
12266
- * lodash 3.1.1 (Custom Build) <https://lodash.com/>
12267
- * Build: `lodash modern modularize exports="npm" -o ./`
12268
- * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
12269
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
12270
- * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
12271
- * Available under MIT license <https://lodash.com/license>
12272
- */
12273
- var baseAssign = require('lodash._baseassign'),
12274
- baseCreate = require('lodash._basecreate'),
12275
- isIterateeCall = require('lodash._isiterateecall');
12276
-
12277
- /**
12278
- * Creates an object that inherits from the given `prototype` object. If a
12279
- * `properties` object is provided its own enumerable properties are assigned
12280
- * to the created object.
12281
- *
12282
- * @static
12283
- * @memberOf _
12284
- * @category Object
12285
- * @param {Object} prototype The object to inherit from.
12286
- * @param {Object} [properties] The properties to assign to the object.
12287
- * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
12288
- * @returns {Object} Returns the new object.
12289
- * @example
12290
- *
12291
- * function Shape() {
12292
- * this.x = 0;
12293
- * this.y = 0;
12294
- * }
12295
- *
12296
- * function Circle() {
12297
- * Shape.call(this);
12298
- * }
12299
- *
12300
- * Circle.prototype = _.create(Shape.prototype, {
12301
- * 'constructor': Circle
12302
- * });
12303
- *
12304
- * var circle = new Circle;
12305
- * circle instanceof Circle;
12306
- * // => true
12307
- *
12308
- * circle instanceof Shape;
12309
- * // => true
12310
- */
12311
- function create(prototype, properties, guard) {
12312
- var result = baseCreate(prototype);
12313
- if (guard && isIterateeCall(prototype, properties, guard)) {
12314
- properties = undefined;
12315
- }
12316
- return properties ? baseAssign(result, properties) : result;
12317
- }
12318
-
12319
- module.exports = create;
12320
-
12321
- },{"lodash._baseassign":71,"lodash._basecreate":77,"lodash._isiterateecall":78}],71:[function(require,module,exports){
12322
- /**
12323
- * lodash 3.2.0 (Custom Build) <https://lodash.com/>
12324
- * Build: `lodash modern modularize exports="npm" -o ./`
12325
- * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
12326
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
12327
- * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
12328
- * Available under MIT license <https://lodash.com/license>
12329
- */
12330
- var baseCopy = require('lodash._basecopy'),
12331
- keys = require('lodash.keys');
12332
-
12333
- /**
12334
- * The base implementation of `_.assign` without support for argument juggling,
12335
- * multiple sources, and `customizer` functions.
12336
- *
12337
- * @private
12338
- * @param {Object} object The destination object.
12339
- * @param {Object} source The source object.
12340
- * @returns {Object} Returns `object`.
12341
- */
12342
- function baseAssign(object, source) {
12343
- return source == null
12344
- ? object
12345
- : baseCopy(source, keys(source), object);
12346
- }
12347
-
12348
- module.exports = baseAssign;
12349
-
12350
- },{"lodash._basecopy":72,"lodash.keys":73}],72:[function(require,module,exports){
12351
- /**
12352
- * lodash 3.0.1 (Custom Build) <https://lodash.com/>
12353
- * Build: `lodash modern modularize exports="npm" -o ./`
12354
- * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
12355
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
12356
- * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
12357
- * Available under MIT license <https://lodash.com/license>
12358
- */
12359
-
12360
- /**
12361
- * Copies properties of `source` to `object`.
12362
- *
12363
- * @private
12364
- * @param {Object} source The object to copy properties from.
12365
- * @param {Array} props The property names to copy.
12366
- * @param {Object} [object={}] The object to copy properties to.
12367
- * @returns {Object} Returns `object`.
12368
- */
12369
- function baseCopy(source, props, object) {
12370
- object || (object = {});
12371
-
12372
- var index = -1,
12373
- length = props.length;
12374
-
12375
- while (++index < length) {
12376
- var key = props[index];
12377
- object[key] = source[key];
12378
- }
12379
- return object;
12380
- }
12381
-
12382
- module.exports = baseCopy;
12383
-
12384
- },{}],73:[function(require,module,exports){
12385
- /**
12386
- * lodash 3.1.2 (Custom Build) <https://lodash.com/>
12387
- * Build: `lodash modern modularize exports="npm" -o ./`
12388
- * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
12389
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
12390
- * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
12391
- * Available under MIT license <https://lodash.com/license>
12392
- */
12393
- var getNative = require('lodash._getnative'),
12394
- isArguments = require('lodash.isarguments'),
12395
- isArray = require('lodash.isarray');
12396
-
12397
- /** Used to detect unsigned integer values. */
12398
- var reIsUint = /^\d+$/;
12399
-
12400
- /** Used for native method references. */
12401
- var objectProto = Object.prototype;
12402
-
12403
- /** Used to check objects for own properties. */
12404
- var hasOwnProperty = objectProto.hasOwnProperty;
12405
-
12406
- /* Native method references for those with the same name as other `lodash` methods. */
12407
- var nativeKeys = getNative(Object, 'keys');
12408
-
12409
- /**
12410
- * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
12411
- * of an array-like value.
12412
- */
12413
- var MAX_SAFE_INTEGER = 9007199254740991;
12414
-
12415
- /**
12416
- * The base implementation of `_.property` without support for deep paths.
12417
- *
12418
- * @private
12419
- * @param {string} key The key of the property to get.
12420
- * @returns {Function} Returns the new function.
12421
- */
12422
- function baseProperty(key) {
12423
- return function(object) {
12424
- return object == null ? undefined : object[key];
12425
- };
12426
- }
12427
-
12428
- /**
12429
- * Gets the "length" property value of `object`.
12430
- *
12431
- * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
12432
- * that affects Safari on at least iOS 8.1-8.3 ARM64.
12433
- *
12434
- * @private
12435
- * @param {Object} object The object to query.
12436
- * @returns {*} Returns the "length" value.
12437
- */
12438
- var getLength = baseProperty('length');
12439
-
12440
- /**
12441
- * Checks if `value` is array-like.
12442
- *
12443
- * @private
12444
- * @param {*} value The value to check.
12445
- * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
12446
- */
12447
- function isArrayLike(value) {
12448
- return value != null && isLength(getLength(value));
12449
- }
12450
-
12451
- /**
12452
- * Checks if `value` is a valid array-like index.
12453
- *
12454
- * @private
12455
- * @param {*} value The value to check.
12456
- * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
12457
- * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
12458
- */
12459
- function isIndex(value, length) {
12460
- value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;
12461
- length = length == null ? MAX_SAFE_INTEGER : length;
12462
- return value > -1 && value % 1 == 0 && value < length;
12463
- }
12464
-
12465
- /**
12466
- * Checks if `value` is a valid array-like length.
12467
- *
12468
- * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
12469
- *
12470
- * @private
12471
- * @param {*} value The value to check.
12472
- * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
12473
- */
12474
- function isLength(value) {
12475
- return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
12476
- }
12477
-
12478
- /**
12479
- * A fallback implementation of `Object.keys` which creates an array of the
12480
- * own enumerable property names of `object`.
12481
- *
12482
- * @private
12483
- * @param {Object} object The object to query.
12484
- * @returns {Array} Returns the array of property names.
12485
- */
12486
- function shimKeys(object) {
12487
- var props = keysIn(object),
12488
- propsLength = props.length,
12489
- length = propsLength && object.length;
12490
-
12491
- var allowIndexes = !!length && isLength(length) &&
12492
- (isArray(object) || isArguments(object));
12493
-
12494
- var index = -1,
12495
- result = [];
12496
-
12497
- while (++index < propsLength) {
12498
- var key = props[index];
12499
- if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {
12500
- result.push(key);
12501
- }
12502
- }
12503
- return result;
12504
- }
12505
-
12506
- /**
12507
- * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
12508
- * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
12509
- *
12510
- * @static
12511
- * @memberOf _
12512
- * @category Lang
12513
- * @param {*} value The value to check.
12514
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
12515
- * @example
12516
- *
12517
- * _.isObject({});
12518
- * // => true
12519
- *
12520
- * _.isObject([1, 2, 3]);
12521
- * // => true
12522
- *
12523
- * _.isObject(1);
12524
- * // => false
12525
- */
12526
- function isObject(value) {
12527
- // Avoid a V8 JIT bug in Chrome 19-20.
12528
- // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
12529
- var type = typeof value;
12530
- return !!value && (type == 'object' || type == 'function');
12531
- }
12532
-
12533
- /**
12534
- * Creates an array of the own enumerable property names of `object`.
12535
- *
12536
- * **Note:** Non-object values are coerced to objects. See the
12537
- * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)
12538
- * for more details.
12539
- *
12540
- * @static
12541
- * @memberOf _
12542
- * @category Object
12543
- * @param {Object} object The object to query.
12544
- * @returns {Array} Returns the array of property names.
12545
- * @example
12546
- *
12547
- * function Foo() {
12548
- * this.a = 1;
12549
- * this.b = 2;
12550
- * }
12551
- *
12552
- * Foo.prototype.c = 3;
12553
- *
12554
- * _.keys(new Foo);
12555
- * // => ['a', 'b'] (iteration order is not guaranteed)
12556
- *
12557
- * _.keys('hi');
12558
- * // => ['0', '1']
12559
- */
12560
- var keys = !nativeKeys ? shimKeys : function(object) {
12561
- var Ctor = object == null ? undefined : object.constructor;
12562
- if ((typeof Ctor == 'function' && Ctor.prototype === object) ||
12563
- (typeof object != 'function' && isArrayLike(object))) {
12564
- return shimKeys(object);
12565
- }
12566
- return isObject(object) ? nativeKeys(object) : [];
12567
- };
12568
-
12569
- /**
12570
- * Creates an array of the own and inherited enumerable property names of `object`.
12571
- *
12572
- * **Note:** Non-object values are coerced to objects.
12573
- *
12574
- * @static
12575
- * @memberOf _
12576
- * @category Object
12577
- * @param {Object} object The object to query.
12578
- * @returns {Array} Returns the array of property names.
12579
- * @example
12580
- *
12581
- * function Foo() {
12582
- * this.a = 1;
12583
- * this.b = 2;
12584
- * }
12585
- *
12586
- * Foo.prototype.c = 3;
12587
- *
12588
- * _.keysIn(new Foo);
12589
- * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
12590
- */
12591
- function keysIn(object) {
12592
- if (object == null) {
12593
- return [];
12594
- }
12595
- if (!isObject(object)) {
12596
- object = Object(object);
12597
- }
12598
- var length = object.length;
12599
- length = (length && isLength(length) &&
12600
- (isArray(object) || isArguments(object)) && length) || 0;
12601
-
12602
- var Ctor = object.constructor,
12603
- index = -1,
12604
- isProto = typeof Ctor == 'function' && Ctor.prototype === object,
12605
- result = Array(length),
12606
- skipIndexes = length > 0;
12607
-
12608
- while (++index < length) {
12609
- result[index] = (index + '');
12610
- }
12611
- for (var key in object) {
12612
- if (!(skipIndexes && isIndex(key, length)) &&
12613
- !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
12614
- result.push(key);
12615
- }
12616
- }
12617
- return result;
12618
- }
12619
-
12620
- module.exports = keys;
12621
-
12622
- },{"lodash._getnative":74,"lodash.isarguments":75,"lodash.isarray":76}],74:[function(require,module,exports){
12623
- /**
12624
- * lodash 3.9.1 (Custom Build) <https://lodash.com/>
12625
- * Build: `lodash modern modularize exports="npm" -o ./`
12626
- * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
12627
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
12628
- * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
12629
- * Available under MIT license <https://lodash.com/license>
12630
- */
12631
-
12632
- /** `Object#toString` result references. */
12633
- var funcTag = '[object Function]';
12634
-
12635
- /** Used to detect host constructors (Safari > 5). */
12636
- var reIsHostCtor = /^\[object .+?Constructor\]$/;
12637
-
12638
- /**
12639
- * Checks if `value` is object-like.
12640
- *
12641
- * @private
12642
- * @param {*} value The value to check.
12643
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
12644
- */
12645
- function isObjectLike(value) {
12646
- return !!value && typeof value == 'object';
12647
- }
12648
-
12649
- /** Used for native method references. */
12650
- var objectProto = Object.prototype;
12651
-
12652
- /** Used to resolve the decompiled source of functions. */
12653
- var fnToString = Function.prototype.toString;
12654
-
12655
- /** Used to check objects for own properties. */
12656
- var hasOwnProperty = objectProto.hasOwnProperty;
12657
-
12658
- /**
12659
- * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
12660
- * of values.
12661
- */
12662
- var objToString = objectProto.toString;
12663
-
12664
- /** Used to detect if a method is native. */
12665
- var reIsNative = RegExp('^' +
12666
- fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
12667
- .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
12668
- );
12669
-
12670
- /**
12671
- * Gets the native function at `key` of `object`.
12672
- *
12673
- * @private
12674
- * @param {Object} object The object to query.
12675
- * @param {string} key The key of the method to get.
12676
- * @returns {*} Returns the function if it's native, else `undefined`.
12677
- */
12678
- function getNative(object, key) {
12679
- var value = object == null ? undefined : object[key];
12680
- return isNative(value) ? value : undefined;
12681
- }
12682
-
12683
- /**
12684
- * Checks if `value` is classified as a `Function` object.
12685
- *
12686
- * @static
12687
- * @memberOf _
12688
- * @category Lang
12689
- * @param {*} value The value to check.
12690
- * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
12691
- * @example
12692
- *
12693
- * _.isFunction(_);
12694
- * // => true
12695
- *
12696
- * _.isFunction(/abc/);
12697
- * // => false
12698
- */
12699
- function isFunction(value) {
12700
- // The use of `Object#toString` avoids issues with the `typeof` operator
12701
- // in older versions of Chrome and Safari which return 'function' for regexes
12702
- // and Safari 8 equivalents which return 'object' for typed array constructors.
12703
- return isObject(value) && objToString.call(value) == funcTag;
12704
- }
12705
-
12706
- /**
12707
- * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
12708
- * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
12709
- *
12710
- * @static
12711
- * @memberOf _
12712
- * @category Lang
12713
- * @param {*} value The value to check.
12714
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
12715
- * @example
12716
- *
12717
- * _.isObject({});
12718
- * // => true
12719
- *
12720
- * _.isObject([1, 2, 3]);
12721
- * // => true
12722
- *
12723
- * _.isObject(1);
12724
- * // => false
12725
- */
12726
- function isObject(value) {
12727
- // Avoid a V8 JIT bug in Chrome 19-20.
12728
- // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
12729
- var type = typeof value;
12730
- return !!value && (type == 'object' || type == 'function');
12731
- }
12732
-
12733
- /**
12734
- * Checks if `value` is a native function.
12735
- *
12736
- * @static
12737
- * @memberOf _
12738
- * @category Lang
12739
- * @param {*} value The value to check.
12740
- * @returns {boolean} Returns `true` if `value` is a native function, else `false`.
12741
- * @example
12742
- *
12743
- * _.isNative(Array.prototype.push);
12744
- * // => true
12745
- *
12746
- * _.isNative(_);
12747
- * // => false
12748
- */
12749
- function isNative(value) {
12750
- if (value == null) {
12751
- return false;
12752
- }
12753
- if (isFunction(value)) {
12754
- return reIsNative.test(fnToString.call(value));
12755
- }
12756
- return isObjectLike(value) && reIsHostCtor.test(value);
12757
- }
12758
-
12759
- module.exports = getNative;
12760
-
12761
- },{}],75:[function(require,module,exports){
12762
- /**
12763
- * lodash 3.0.4 (Custom Build) <https://lodash.com/>
12764
- * Build: `lodash modern modularize exports="npm" -o ./`
12765
- * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
12766
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
12767
- * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
12768
- * Available under MIT license <https://lodash.com/license>
12769
- */
12770
-
12771
- /**
12772
- * Checks if `value` is object-like.
12773
- *
12774
- * @private
12775
- * @param {*} value The value to check.
12776
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
12777
- */
12778
- function isObjectLike(value) {
12779
- return !!value && typeof value == 'object';
12780
- }
12781
-
12782
- /** Used for native method references. */
12783
- var objectProto = Object.prototype;
12784
-
12785
- /** Used to check objects for own properties. */
12786
- var hasOwnProperty = objectProto.hasOwnProperty;
12787
-
12788
- /** Native method references. */
12789
- var propertyIsEnumerable = objectProto.propertyIsEnumerable;
12790
-
12791
- /**
12792
- * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
12793
- * of an array-like value.
12794
- */
12795
- var MAX_SAFE_INTEGER = 9007199254740991;
12796
-
12797
- /**
12798
- * The base implementation of `_.property` without support for deep paths.
12799
- *
12800
- * @private
12801
- * @param {string} key The key of the property to get.
12802
- * @returns {Function} Returns the new function.
12803
- */
12804
- function baseProperty(key) {
12805
- return function(object) {
12806
- return object == null ? undefined : object[key];
12807
- };
12808
- }
12809
-
12810
- /**
12811
- * Gets the "length" property value of `object`.
12812
- *
12813
- * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
12814
- * that affects Safari on at least iOS 8.1-8.3 ARM64.
12815
- *
12816
- * @private
12817
- * @param {Object} object The object to query.
12818
- * @returns {*} Returns the "length" value.
12819
- */
12820
- var getLength = baseProperty('length');
12821
-
12822
- /**
12823
- * Checks if `value` is array-like.
12824
- *
12825
- * @private
12826
- * @param {*} value The value to check.
12827
- * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
12828
- */
12829
- function isArrayLike(value) {
12830
- return value != null && isLength(getLength(value));
12831
- }
12832
-
12833
- /**
12834
- * Checks if `value` is a valid array-like length.
12835
- *
12836
- * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
12837
- *
12838
- * @private
12839
- * @param {*} value The value to check.
12840
- * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
12841
- */
12842
- function isLength(value) {
12843
- return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
12844
- }
12845
-
12846
- /**
12847
- * Checks if `value` is classified as an `arguments` object.
12848
- *
12849
- * @static
12850
- * @memberOf _
12851
- * @category Lang
12852
- * @param {*} value The value to check.
12853
- * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
12854
- * @example
12855
- *
12856
- * _.isArguments(function() { return arguments; }());
12857
- * // => true
12858
- *
12859
- * _.isArguments([1, 2, 3]);
12860
- * // => false
12861
- */
12862
- function isArguments(value) {
12863
- return isObjectLike(value) && isArrayLike(value) &&
12864
- hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');
12865
- }
12866
-
12867
- module.exports = isArguments;
12868
-
12869
- },{}],76:[function(require,module,exports){
12870
- /**
12871
- * lodash 3.0.4 (Custom Build) <https://lodash.com/>
12872
- * Build: `lodash modern modularize exports="npm" -o ./`
12873
- * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
12874
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
12875
- * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
12876
- * Available under MIT license <https://lodash.com/license>
12877
- */
12878
-
12879
- /** `Object#toString` result references. */
12880
- var arrayTag = '[object Array]',
12881
- funcTag = '[object Function]';
12882
-
12883
- /** Used to detect host constructors (Safari > 5). */
12884
- var reIsHostCtor = /^\[object .+?Constructor\]$/;
12885
-
12886
- /**
12887
- * Checks if `value` is object-like.
12888
- *
12889
- * @private
12890
- * @param {*} value The value to check.
12891
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
12892
- */
12893
- function isObjectLike(value) {
12894
- return !!value && typeof value == 'object';
12895
- }
12896
-
12897
- /** Used for native method references. */
12898
- var objectProto = Object.prototype;
12899
-
12900
- /** Used to resolve the decompiled source of functions. */
12901
- var fnToString = Function.prototype.toString;
12902
-
12903
- /** Used to check objects for own properties. */
12904
- var hasOwnProperty = objectProto.hasOwnProperty;
12905
-
12906
- /**
12907
- * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
12908
- * of values.
12909
- */
12910
- var objToString = objectProto.toString;
12911
-
12912
- /** Used to detect if a method is native. */
12913
- var reIsNative = RegExp('^' +
12914
- fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
12915
- .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
12916
- );
12917
-
12918
- /* Native method references for those with the same name as other `lodash` methods. */
12919
- var nativeIsArray = getNative(Array, 'isArray');
12920
-
12921
- /**
12922
- * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
12923
- * of an array-like value.
12924
- */
12925
- var MAX_SAFE_INTEGER = 9007199254740991;
12926
-
12927
- /**
12928
- * Gets the native function at `key` of `object`.
12929
- *
12930
- * @private
12931
- * @param {Object} object The object to query.
12932
- * @param {string} key The key of the method to get.
12933
- * @returns {*} Returns the function if it's native, else `undefined`.
12934
- */
12935
- function getNative(object, key) {
12936
- var value = object == null ? undefined : object[key];
12937
- return isNative(value) ? value : undefined;
12938
- }
12939
-
12940
- /**
12941
- * Checks if `value` is a valid array-like length.
12942
- *
12943
- * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
12944
- *
12945
- * @private
12946
- * @param {*} value The value to check.
12947
- * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
12948
- */
12949
- function isLength(value) {
12950
- return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
12951
- }
12952
-
12953
- /**
12954
- * Checks if `value` is classified as an `Array` object.
12955
- *
12956
- * @static
12957
- * @memberOf _
12958
- * @category Lang
12959
- * @param {*} value The value to check.
12960
- * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
12961
- * @example
12962
- *
12963
- * _.isArray([1, 2, 3]);
12964
- * // => true
12965
- *
12966
- * _.isArray(function() { return arguments; }());
12967
- * // => false
12968
- */
12969
- var isArray = nativeIsArray || function(value) {
12970
- return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;
12971
- };
12972
-
12973
- /**
12974
- * Checks if `value` is classified as a `Function` object.
12975
- *
12976
- * @static
12977
- * @memberOf _
12978
- * @category Lang
12979
- * @param {*} value The value to check.
12980
- * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
12981
- * @example
12982
- *
12983
- * _.isFunction(_);
12984
- * // => true
12985
- *
12986
- * _.isFunction(/abc/);
12987
- * // => false
12988
- */
12989
- function isFunction(value) {
12990
- // The use of `Object#toString` avoids issues with the `typeof` operator
12991
- // in older versions of Chrome and Safari which return 'function' for regexes
12992
- // and Safari 8 equivalents which return 'object' for typed array constructors.
12993
- return isObject(value) && objToString.call(value) == funcTag;
12994
- }
12995
-
12996
- /**
12997
- * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
12998
- * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
12999
- *
13000
- * @static
13001
- * @memberOf _
13002
- * @category Lang
13003
- * @param {*} value The value to check.
13004
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
13005
- * @example
13006
- *
13007
- * _.isObject({});
13008
- * // => true
13009
- *
13010
- * _.isObject([1, 2, 3]);
13011
- * // => true
13012
- *
13013
- * _.isObject(1);
13014
- * // => false
13015
- */
13016
- function isObject(value) {
13017
- // Avoid a V8 JIT bug in Chrome 19-20.
13018
- // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
13019
- var type = typeof value;
13020
- return !!value && (type == 'object' || type == 'function');
13021
- }
13022
-
13023
- /**
13024
- * Checks if `value` is a native function.
13025
- *
13026
- * @static
13027
- * @memberOf _
13028
- * @category Lang
13029
- * @param {*} value The value to check.
13030
- * @returns {boolean} Returns `true` if `value` is a native function, else `false`.
13031
- * @example
13032
- *
13033
- * _.isNative(Array.prototype.push);
13034
- * // => true
13035
- *
13036
- * _.isNative(_);
13037
- * // => false
13038
- */
13039
- function isNative(value) {
13040
- if (value == null) {
13041
- return false;
13042
- }
13043
- if (isFunction(value)) {
13044
- return reIsNative.test(fnToString.call(value));
13045
- }
13046
- return isObjectLike(value) && reIsHostCtor.test(value);
13047
- }
13048
-
13049
- module.exports = isArray;
13050
-
13051
- },{}],77:[function(require,module,exports){
13052
- /**
13053
- * lodash 3.0.3 (Custom Build) <https://lodash.com/>
13054
- * Build: `lodash modern modularize exports="npm" -o ./`
13055
- * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
13056
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
13057
- * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
13058
- * Available under MIT license <https://lodash.com/license>
13059
- */
13060
-
13061
- /**
13062
- * The base implementation of `_.create` without support for assigning
13063
- * properties to the created object.
13064
- *
13065
- * @private
13066
- * @param {Object} prototype The object to inherit from.
13067
- * @returns {Object} Returns the new object.
13068
- */
13069
- var baseCreate = (function() {
13070
- function object() {}
13071
- return function(prototype) {
13072
- if (isObject(prototype)) {
13073
- object.prototype = prototype;
13074
- var result = new object;
13075
- object.prototype = undefined;
13076
- }
13077
- return result || {};
13078
- };
13079
- }());
13080
-
13081
- /**
13082
- * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
13083
- * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
13084
- *
13085
- * @static
13086
- * @memberOf _
13087
- * @category Lang
13088
- * @param {*} value The value to check.
13089
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
13090
- * @example
13091
- *
13092
- * _.isObject({});
13093
- * // => true
13094
- *
13095
- * _.isObject([1, 2, 3]);
13096
- * // => true
13097
- *
13098
- * _.isObject(1);
13099
- * // => false
13100
- */
13101
- function isObject(value) {
13102
- // Avoid a V8 JIT bug in Chrome 19-20.
13103
- // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
13104
- var type = typeof value;
13105
- return !!value && (type == 'object' || type == 'function');
13106
- }
13107
-
13108
- module.exports = baseCreate;
13109
-
13110
- },{}],78:[function(require,module,exports){
13111
- /**
13112
- * lodash 3.0.9 (Custom Build) <https://lodash.com/>
13113
- * Build: `lodash modern modularize exports="npm" -o ./`
13114
- * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
13115
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
13116
- * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
13117
- * Available under MIT license <https://lodash.com/license>
13118
- */
13119
-
13120
- /** Used to detect unsigned integer values. */
13121
- var reIsUint = /^\d+$/;
13122
-
13123
- /**
13124
- * Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer)
13125
- * of an array-like value.
13126
- */
13127
- var MAX_SAFE_INTEGER = 9007199254740991;
13128
-
13129
- /**
13130
- * The base implementation of `_.property` without support for deep paths.
13131
- *
13132
- * @private
13133
- * @param {string} key The key of the property to get.
13134
- * @returns {Function} Returns the new function.
13135
- */
13136
- function baseProperty(key) {
13137
- return function(object) {
13138
- return object == null ? undefined : object[key];
13139
- };
13140
- }
13141
-
13142
- /**
13143
- * Gets the "length" property value of `object`.
13144
- *
13145
- * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
13146
- * that affects Safari on at least iOS 8.1-8.3 ARM64.
13147
- *
13148
- * @private
13149
- * @param {Object} object The object to query.
13150
- * @returns {*} Returns the "length" value.
13151
- */
13152
- var getLength = baseProperty('length');
13153
-
13154
- /**
13155
- * Checks if `value` is array-like.
13156
- *
13157
- * @private
13158
- * @param {*} value The value to check.
13159
- * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
13160
- */
13161
- function isArrayLike(value) {
13162
- return value != null && isLength(getLength(value));
13163
- }
13164
-
13165
- /**
13166
- * Checks if `value` is a valid array-like index.
13167
- *
13168
- * @private
13169
- * @param {*} value The value to check.
13170
- * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
13171
- * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
13172
- */
13173
- function isIndex(value, length) {
13174
- value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;
13175
- length = length == null ? MAX_SAFE_INTEGER : length;
13176
- return value > -1 && value % 1 == 0 && value < length;
13177
- }
13178
-
13179
- /**
13180
- * Checks if the provided arguments are from an iteratee call.
13181
- *
13182
- * @private
13183
- * @param {*} value The potential iteratee value argument.
13184
- * @param {*} index The potential iteratee index or key argument.
13185
- * @param {*} object The potential iteratee object argument.
13186
- * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.
13187
- */
13188
- function isIterateeCall(value, index, object) {
13189
- if (!isObject(object)) {
13190
- return false;
13191
- }
13192
- var type = typeof index;
13193
- if (type == 'number'
13194
- ? (isArrayLike(object) && isIndex(index, object.length))
13195
- : (type == 'string' && index in object)) {
13196
- var other = object[index];
13197
- return value === value ? (value === other) : (other !== other);
13198
- }
13199
- return false;
13200
- }
13201
-
13202
- /**
13203
- * Checks if `value` is a valid array-like length.
13204
- *
13205
- * **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength).
13206
- *
13207
- * @private
13208
- * @param {*} value The value to check.
13209
- * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
13210
- */
13211
- function isLength(value) {
13212
- return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
13213
- }
13214
-
13215
- /**
13216
- * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
13217
- * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
13218
- *
13219
- * @static
13220
- * @memberOf _
13221
- * @category Lang
13222
- * @param {*} value The value to check.
13223
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
13224
- * @example
13225
- *
13226
- * _.isObject({});
13227
- * // => true
13228
- *
13229
- * _.isObject([1, 2, 3]);
13230
- * // => true
13231
- *
13232
- * _.isObject(1);
13233
- * // => false
13234
- */
13235
- function isObject(value) {
13236
- // Avoid a V8 JIT bug in Chrome 19-20.
13237
- // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
13238
- var type = typeof value;
13239
- return !!value && (type == 'object' || type == 'function');
13240
- }
13241
-
13242
- module.exports = isIterateeCall;
13243
-
13244
- },{}],79:[function(require,module,exports){
13245
12230
  (function (process,global){
13246
12231
  /**
13247
12232
  * Shim process.stdout.
@@ -13406,4 +12391,4 @@ window.Mocha = Mocha;
13406
12391
  window.mocha = mocha;
13407
12392
 
13408
12393
  }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
13409
- },{"../":1,"_process":51,"browser-stdout":40}]},{},[79]);
12394
+ },{"../":1,"_process":51,"browser-stdout":40}]},{},[70]);