diff options
Diffstat (limited to 'node_modules/empower-core')
-rw-r--r-- | node_modules/empower-core/CHANGELOG.md | 64 | ||||
-rw-r--r-- | node_modules/empower-core/MIT-LICENSE.txt | 20 | ||||
-rw-r--r-- | node_modules/empower-core/README.md | 293 | ||||
-rw-r--r-- | node_modules/empower-core/build/empower-core.js | 1094 | ||||
-rw-r--r-- | node_modules/empower-core/index.js | 79 | ||||
-rw-r--r-- | node_modules/empower-core/lib/decorate.js | 66 | ||||
-rw-r--r-- | node_modules/empower-core/lib/decorator.js | 165 | ||||
-rw-r--r-- | node_modules/empower-core/lib/default-options.js | 35 | ||||
-rw-r--r-- | node_modules/empower-core/lib/define-properties.js | 16 | ||||
-rw-r--r-- | node_modules/empower-core/package.json | 82 |
10 files changed, 0 insertions, 1914 deletions
diff --git a/node_modules/empower-core/CHANGELOG.md b/node_modules/empower-core/CHANGELOG.md deleted file mode 100644 index 5434365a1..000000000 --- a/node_modules/empower-core/CHANGELOG.md +++ /dev/null @@ -1,64 +0,0 @@ -### [0.6.2](http://github.com/twada/empower-core/releases/tag/v0.6.2) (2017-06-03) - - -#### Bug Fixes - -* [dealing with `err.name` on Node v8](https://github.com/twada/empower-core/pull/9) - - -### [0.6.1](https://github.com/twada/empower-core/releases/tag/v0.6.1) (2016-06-05) - - - * remove xtend from dependencies ([3341ef8](https://github.com/twada/empower-core/commit/3341ef8868c41544c95a621e57d4cefa1ad71ee2)) - - -## [0.6.0](https://github.com/twada/empower-core/releases/tag/v0.6.0) (2016-05-29) - - -#### Features - - * update core-js to ^2.0.0 ([d152eef5](https://github.com/twada/empower-core/commit/d152eef51be1ba5c909ebe8394e24778ca4cf298)) - - -## [0.5.0](https://github.com/twada/empower-core/releases/tag/v0.5.0) (2016-01-21) - - -#### Features - - * [Allow prototype enhancements](https://github.com/twada/empower-core/pull/7) (by [@jamestalmage](https://github.com/jamestalmage)) - * [Performance improvements](https://github.com/twada/empower-core/pull/8) (by [@jamestalmage](https://github.com/jamestalmage)) - - -## [0.4.0](https://github.com/twada/empower-core/releases/tag/v0.4.0) (2016-01-10) - - -#### Features - - * [remove `_capt` and `_expr` from empower-core](https://github.com/twada/empower-core/pull/3) - - -## [0.3.0](https://github.com/twada/empower-core/releases/tag/v0.3.0) (2016-01-06) - - -#### Features - - * [Allow arbitrary data to be provided for a given pattern](https://github.com/twada/empower-core/pull/6) (by [@jamestalmage](https://github.com/jamestalmage)) - - -## [0.2.0](https://github.com/twada/empower-core/releases/tag/v0.2.0) (2015-12-13) - - -#### Features - - * [Track non-enhanced assertions](https://github.com/twada/empower-core/pull/2) (by [@jamestalmage](https://github.com/jamestalmage)) - - -## [0.1.0](https://github.com/twada/empower-core/releases/tag/v0.1.0) (2015-12-01) - - -#### Features - - * trying to extract core functionalities out ([60286bbf](https://github.com/twada/empower-core/commit/60286bbfae16ab9b6f0ff33a9de13cabd3c969d4)) - * just attach powerAssertContext, format it later ([319a4e9a](https://github.com/twada/empower-core/commit/319a4e9a1a64ff08fdeed17b243073d35ae6a18f)) - * add event handlers to options ([12bbf0d4](https://github.com/twada/empower-core/commit/12bbf0d44023340d9b6103b8df679ac2084f9ed2)) - * `modifyMessageBeforeAssert` option for compatibility ([c1ade361](https://github.com/twada/empower-core/commit/c1ade361ec4d26c9c05a8ee2c05155d0cea2c815)) diff --git a/node_modules/empower-core/MIT-LICENSE.txt b/node_modules/empower-core/MIT-LICENSE.txt deleted file mode 100644 index dbe5dca58..000000000 --- a/node_modules/empower-core/MIT-LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2013-2017 Takuto Wada, https://github.com/twada/empower-core - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/empower-core/README.md b/node_modules/empower-core/README.md deleted file mode 100644 index dc7ef4646..000000000 --- a/node_modules/empower-core/README.md +++ /dev/null @@ -1,293 +0,0 @@ -empower-core -================================ - -[![Build Status][travis-image]][travis-url] -[![NPM package][npm-image]][npm-url] -[![Dependency Status][depstat-image]][depstat-url] -[![License][license-image]][license-url] -[![Built with Gulp][gulp-image]][gulp-url] - - -Power Assert feature enhancer for assert function/object. - - -DESCRIPTION ---------------------------------------- -`empower-core` is a core module of [power-assert](https://github.com/power-assert-js/power-assert) family. `empower-core` enhances standard `assert` function or any assert-like object to work with power-assert feature added code instrumented by [espower](https://github.com/power-assert-js/espower). - - -`empower-core` works with standard `assert` function (best fit with [Mocha](https://mochajs.org/)), and also supports assert-like objects/functions provided by various testing frameworks such as [QUnit](https://qunitjs.com/), [buster.js](http://docs.busterjs.org/en/latest/), and [nodeunit](https://github.com/caolan/nodeunit). - - -Pull-requests, issue reports and patches are always welcomed. See [power-assert](https://github.com/power-assert-js/power-assert) project for more documentation. - - -CHANGELOG ---------------------------------------- -See [CHANGELOG](https://github.com/twada/empower-core/blob/master/CHANGELOG.md) - - -API ---------------------------------------- - -### var enhancedAssert = empowerCore(originalAssert, [options]) - -| return type | -|:-----------------------| -| `function` or `object` | - -`empower-core` function takes function or object(`originalAssert`) then returns PowerAssert feature added function/object based on `originalAssert`. -If `destructive` option is falsy, `originalAssert` will be unchanged. If `destructive` option is truthy, `originalAssert` will be manipulated directly and returned `enhancedAssert` will be the same instance of `originalAssert`. - - -#### originalAssert - -| type | default value | -|:-----------------------|:--------------| -| `function` or `object` | N/A | - -`originalAssert` is an instance of standard `assert` function or any assert-like object. see [SUPPORTED ASSERTION LIBRARIES](https://github.com/twada/empower-core#supported-assertion-libraries) and [ASSERTION LIBRARIES KNOWN TO WORK](https://github.com/twada/empower-core#assertion-libraries-known-to-work) section. Be careful that `originalAssert` will be manipulated directly if `destructive` option is truthy. - - -#### options - -| type | default value | -|:---------|:--------------| -| `object` | (return value of `empowerCore.defaultOptions()`) | - -Configuration options. If not passed, default options will be used. - - -#### options.destructive - -| type | default value | -|:----------|:--------------| -| `boolean` | `false` | - -If truthy, modify `originalAssert` destructively. - -If `false`, empower-core mimics originalAssert as new object/function, so `originalAssert` will not be changed. If `true`, `originalAssert` will be manipulated directly and returned `enhancedAssert` will be the same instance of `originalAssert`. - - -#### options.bindReceiver - -| type | default value | -|:----------|:--------------| -| `boolean` | `true` | - -`bindReceiver` defaults to `true`, meaning assertion methods have their `this` value bound to the original assertion. Setting `bindReceiver` to false causes the `this` reference to be passed through from the actual invocation. - - -#### options.onError -#### options.onSuccess - -| type | default value | -|:-----------|:--------------| -| `function` | (function defined in `empowerCore.defaultOptions()`) | - -Both methods are called with a single `event` argument, it will have the following properties: - -- `event.enhanced` - `true` for methods matching `patterns`. `false` for methods matching `wrapOnlyPatterns`. - -- `event.originalMessage` - The actual value the user provided for optional `message` parameter. This will be `undefined` if the user did not provide a value, even if the underlying assertion provides a default message. - -- `event.defaultMessage` - If you use objects instead of strings to specify patterns (see below), the `defaultMessage` metadata will be copied directly on the event object. - -- `event.matcherSpec` - This contains the complete parsed matcher spec as supplied, as well as any additional metadata you may have supplied (see patterns section below for details on how to supply additional metadata). - -- `event.args` - An array of the actual arguments passed to the assertion. - -- `event.assertionThrew` - Whether or not the underlying assertion threw an error. This will always be `true` in an `onError` callback, and always `false` in an `onSuccess` callback. - -- `event.error` - Only present if `event.assertionThrew === true`. Contains the error thrown by the underlying assertion method. - -- `event.returnValue` - Only present if `event.assertionThrew === false`. Contains the value return value returned by the underlying assertion method. - -- `event.powerAssertContext` - Only present for methods that match `patterns`, and only in code that has been enhanced with the power-assert transform. It contains the information necessary for power-assert renderers to generate their output. Implementors of `onError` should usually attach it to the error object - - ```js - function onError (errorEvent) { - var e = errorEvent.error; - if (errorEvent.powerAssertContext && /^AssertionError/.test(e.name)) { - e.powerAssertContext = errorEvent.powerAssertContext; - } - throw e; - } - ``` - -#### options.modifyMessageBeforeAssert - -| type | default value | -|:-----------|:--------------| -| `function` | N/A | - -TBD - - -#### options.patterns - -| type | default value | -|:--------------------|:--------------------| -| `Array` of `string` or `objects`| objects shown below | - -```javascript -[ - 'assert(value, [message])', - 'assert.ok(value, [message])', - 'assert.equal(actual, expected, [message])', - 'assert.notEqual(actual, expected, [message])', - 'assert.strictEqual(actual, expected, [message])', - 'assert.notStrictEqual(actual, expected, [message])', - 'assert.deepEqual(actual, expected, [message])', - 'assert.notDeepEqual(actual, expected, [message])', - 'assert.deepStrictEqual(actual, expected, [message])', - 'assert.notDeepStrictEqual(actual, expected, [message])' -] -``` -Target patterns for power assert feature instrumentation. - -Pattern detection is done by [call-signature](https://github.com/jamestalmage/call-signature). Any arguments enclosed in bracket (for example, `[message]`) means optional parameters. Without bracket means mandatory parameters. - -Instead of a string, you may alternatively specify an object with a `pattern` property, and any other arbitrary data. -Currently only `defaultMessage` is formally recommended, but you can attach any data here and it will be passed to the `onSuccess` and `onError` handlers. - -```javascript -[ - { - pattern: 'assert.fail([message])', - defaultMessage:'assert.fail() was called!!' - }, - ... -] -``` - -#### options.wrapOnlyPatterns - -| type | default value | -|:--------------------|:--------------------| -| `Array` of `string` | empty array | - -Methods matching these patterns will not be instrumented by the code transform, but they will be wrapped at runtime and trigger events in the `onSuccess` and `onError` callbacks. Note that "wrap only" events will never have a `powerAssertContext` property. - -Similar to the `options.patterns`, you may supply objects with a `pattern` member, and the additional metadata will be passed to the assertion listeners. - -### var options = empowerCore.defaultOptions(); - -Returns default options object for `empowerCore` function. In other words, returns - -```javascript -{ - destructive: false, - onError: onError, - onSuccess: onSuccess, - patterns: [ - 'assert(value, [message])', - 'assert.ok(value, [message])', - 'assert.equal(actual, expected, [message])', - 'assert.notEqual(actual, expected, [message])', - 'assert.strictEqual(actual, expected, [message])', - 'assert.notStrictEqual(actual, expected, [message])', - 'assert.deepEqual(actual, expected, [message])', - 'assert.notDeepEqual(actual, expected, [message])', - 'assert.deepStrictEqual(actual, expected, [message])', - 'assert.notDeepStrictEqual(actual, expected, [message])' - ] -} -``` - -with sensible default for `onError` and `onSuccess` - -```js -function onError (errorEvent) { - var e = errorEvent.error; - if (errorEvent.powerAssertContext && e.name === 'AssertionError') { - e.powerAssertContext = errorEvent.powerAssertContext; - } - throw e; -} - -function onSuccess(successEvent) { - return successEvent.returnValue; -} -``` - - -SUPPORTED ASSERTION LIBRARIES ---------------------------------------- -* [Node assert API](https://nodejs.org/api/assert.html) - - -ASSERTION LIBRARIES KNOWN TO WORK ---------------------------------------- -* [QUnit.assert](https://qunitjs.com/) -* [nodeunit](https://github.com/caolan/nodeunit) -* [buster-assertions](http://docs.busterjs.org/en/latest/modules/buster-assertions/) - - -INSTALL ---------------------------------------- - -### via npm - -Install - - $ npm install --save-dev empower-core - - -#### use empower-core npm module on browser - -`empowerCore` function is exported - - <script type="text/javascript" src="./path/to/node_modules/empower-core/build/empower-core.js"></script> - - -### via bower - -Install - - $ bower install --save-dev empower-core - -Then load (`empowerCore` function is exported) - - <script type="text/javascript" src="./path/to/bower_components/empower-core/build/empower-core.js"></script> - - -OUR SUPPORT POLICY ---------------------------------------- - -We support Node under maintenance. In other words, we stop supporting old Node version when [their maintenance ends](https://github.com/nodejs/LTS). - -We also support "modern enough" browsers such as Chrome, Firefox, Safari, Edge etc. - -Any other environments are not supported officially (means that we do not test against them on CI service). empower-core is known to work with old browsers, and trying to keep them working though. - - -AUTHOR ---------------------------------------- -* [Takuto Wada](https://github.com/twada) - - -CONTRIBUTORS ---------------------------------------- -* [James Talmage (jamestalmage)](https://github.com/jamestalmage) - - -LICENSE ---------------------------------------- -Licensed under the [MIT](https://github.com/twada/empower-core/blob/master/MIT-LICENSE.txt) license. - - -[npm-url]: https://npmjs.org/package/empower-core -[npm-image]: https://badge.fury.io/js/empower-core.svg - -[travis-url]: https://travis-ci.org/twada/empower-core -[travis-image]: https://secure.travis-ci.org/twada/empower-core.svg?branch=master - -[depstat-url]: https://gemnasium.com/twada/empower-core -[depstat-image]: https://gemnasium.com/twada/empower-core.svg - -[license-url]: https://github.com/twada/empower-core/blob/master/MIT-LICENSE.txt -[license-image]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat - -[gulp-url]: http://gulpjs.com/ -[gulp-image]: https://img.shields.io/badge/built_with-gulp-brightgreen.svg diff --git a/node_modules/empower-core/build/empower-core.js b/node_modules/empower-core/build/empower-core.js deleted file mode 100644 index e018d603d..000000000 --- a/node_modules/empower-core/build/empower-core.js +++ /dev/null @@ -1,1094 +0,0 @@ -/** - * Modules in this bundle - * @license - * - * empower-core: - * license: MIT (http://opensource.org/licenses/MIT) - * author: Takuto Wada <takuto.wada@gmail.com> - * contributors: James Talmage - * homepage: http://github.com/twada/empower-core - * version: 0.6.2 - * - * call-signature: - * license: MIT (http://opensource.org/licenses/MIT) - * author: James Talmage <james@talmage.io> - * maintainers: jamestalmage <james@talmage.io>, twada <takuto.wada@gmail.com> - * homepage: https://github.com/jamestalmage/call-signature#readme - * version: 0.0.2 - * - * core-js: - * license: MIT (http://opensource.org/licenses/MIT) - * maintainers: zloirock <zloirock@zloirock.ru> - * homepage: https://github.com/zloirock/core-js#readme - * version: 2.4.1 - * - * This header is generated by licensify (https://github.com/twada/licensify) - */ -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.empowerCore = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw (f.code="MODULE_NOT_FOUND", f)}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){ -/** - * empower-core - Power Assert feature enhancer for assert function/object. - * - * https://github.com/twada/empower-core - * - * Copyright (c) 2013-2017 Takuto Wada - * Licensed under the MIT license. - * https://github.com/twada/empower-core/blob/master/MIT-LICENSE.txt - */ -var create = _dereq_('core-js/library/fn/object/create'); -var assign = _dereq_('core-js/library/fn/object/assign'); -var defaultOptions = _dereq_('./lib/default-options'); -var Decorator = _dereq_('./lib/decorator'); -var define = _dereq_('./lib/define-properties'); -var slice = Array.prototype.slice; - -/** - * Enhance Power Assert feature to assert function/object. - * @param assert target assert function or object to enhance - * @param options enhancement options - * @return enhanced assert function/object - */ -function empowerCore (assert, options) { - var typeOfAssert = (typeof assert); - var enhancedAssert; - if ((typeOfAssert !== 'object' && typeOfAssert !== 'function') || assert === null) { - throw new TypeError('empower-core argument should be a function or object.'); - } - if (isEmpowered(assert)) { - return assert; - } - switch (typeOfAssert) { - case 'function': - enhancedAssert = empowerAssertFunction(assert, options); - break; - case 'object': - enhancedAssert = empowerAssertObject(assert, options); - break; - default: - throw new Error('Cannot be here'); - } - define(enhancedAssert, { _empowered: true }); - return enhancedAssert; -} - -function empowerAssertObject (assertObject, options) { - var config = assign(defaultOptions(), options); - var target = config.destructive ? assertObject : create(assertObject); - var decorator = new Decorator(target, config); - return assign(target, decorator.enhancement()); -} - -function empowerAssertFunction (assertFunction, options) { - var config = assign(defaultOptions(), options); - if (config.destructive) { - throw new Error('cannot use destructive:true to function.'); - } - var decorator = new Decorator(assertFunction, config); - var enhancement = decorator.enhancement(); - var powerAssert; - if (typeof enhancement === 'function') { - powerAssert = function powerAssert () { - return enhancement.apply(null, slice.apply(arguments)); - }; - } else { - powerAssert = function powerAssert () { - return assertFunction.apply(null, slice.apply(arguments)); - }; - } - assign(powerAssert, assertFunction); - return assign(powerAssert, enhancement); -} - -function isEmpowered (assertObjectOrFunction) { - return assertObjectOrFunction._empowered; -} - -empowerCore.defaultOptions = defaultOptions; -module.exports = empowerCore; - -},{"./lib/decorator":3,"./lib/default-options":4,"./lib/define-properties":5,"core-js/library/fn/object/assign":11,"core-js/library/fn/object/create":12}],2:[function(_dereq_,module,exports){ -'use strict'; - -var some = _dereq_('core-js/library/fn/array/some'); -var map = _dereq_('core-js/library/fn/array/map'); - -function decorate (callSpec, decorator) { - var numArgsToCapture = callSpec.numArgsToCapture; - - return function decoratedAssert () { - var context, message, hasMessage = false; - - // see: https://github.com/twada/empower-core/pull/8#issue-127859465 - // see: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments - var args = new Array(arguments.length); - for(var i = 0; i < args.length; ++i) { - args[i] = arguments[i]; - } - - if (numArgsToCapture === (args.length - 1)) { - message = args.pop(); - hasMessage = true; - } - - var invocation = { - thisObj: this, - values: args, - message: message, - hasMessage: hasMessage - }; - - if (some(args, isCaptured)) { - invocation.values = map(args.slice(0, numArgsToCapture), function (arg) { - if (isNotCaptured(arg)) { - return arg; - } - if (!context) { - context = { - source: arg.source, - args: [] - }; - } - context.args.push({ - value: arg.powerAssertContext.value, - events: arg.powerAssertContext.events - }); - return arg.powerAssertContext.value; - }); - - return decorator.concreteAssert(callSpec, invocation, context); - } else { - return decorator.concreteAssert(callSpec, invocation); - } - }; -} - -function isNotCaptured (value) { - return !isCaptured(value); -} - -function isCaptured (value) { - return (typeof value === 'object') && - (value !== null) && - (typeof value.powerAssertContext !== 'undefined'); -} - -module.exports = decorate; - -},{"core-js/library/fn/array/map":9,"core-js/library/fn/array/some":10}],3:[function(_dereq_,module,exports){ -'use strict'; - -var forEach = _dereq_('core-js/library/fn/array/for-each'); -var filter = _dereq_('core-js/library/fn/array/filter'); -var map = _dereq_('core-js/library/fn/array/map'); -var signature = _dereq_('call-signature'); -var decorate = _dereq_('./decorate'); -var keys = _dereq_('core-js/library/fn/object/keys'); - - -function Decorator (receiver, config) { - this.receiver = receiver; - this.config = config; - this.onError = config.onError; - this.onSuccess = config.onSuccess; - this.signatures = map(config.patterns, parse); - this.wrapOnlySignatures = map(config.wrapOnlyPatterns, parse); -} - -Decorator.prototype.enhancement = function () { - var that = this; - var container = this.container(); - var wrappedMethods = []; - - function attach(matcherSpec, enhanced) { - var matcher = matcherSpec.parsed; - var methodName = detectMethodName(matcher.callee); - if (typeof that.receiver[methodName] !== 'function' || wrappedMethods.indexOf(methodName) !== -1) { - return; - } - var callSpec = { - thisObj: that.receiver, - func: that.receiver[methodName], - numArgsToCapture: numberOfArgumentsToCapture(matcherSpec), - matcherSpec: matcherSpec, - enhanced: enhanced - }; - container[methodName] = callSpec.enhancedFunc = decorate(callSpec, that); - wrappedMethods.push(methodName); - } - - forEach(filter(this.signatures, methodCall), function (matcher) { - attach(matcher, true); - }); - - forEach(filter(this.wrapOnlySignatures, methodCall), function (matcher) { - attach(matcher, false); - }); - - return container; -}; - -Decorator.prototype.container = function () { - var basement = {}; - if (typeof this.receiver === 'function') { - var candidates = filter(this.signatures, functionCall); - var enhanced = true; - if (candidates.length === 0) { - enhanced = false; - candidates = filter(this.wrapOnlySignatures, functionCall); - } - if (candidates.length === 1) { - var callSpec = { - thisObj: null, - func: this.receiver, - numArgsToCapture: numberOfArgumentsToCapture(candidates[0]), - matcherSpec: candidates[0], - enhanced: enhanced - }; - basement = callSpec.enhancedFunc = decorate(callSpec, this); - } - } - return basement; -}; - -Decorator.prototype.concreteAssert = function (callSpec, invocation, context) { - var func = callSpec.func; - var thisObj = this.config.bindReceiver ? callSpec.thisObj : invocation.thisObj; - var enhanced = callSpec.enhanced; - var args = invocation.values; - var message = invocation.message; - var matcherSpec = callSpec.matcherSpec; - - if (context && typeof this.config.modifyMessageBeforeAssert === 'function') { - message = this.config.modifyMessageBeforeAssert({originalMessage: message, powerAssertContext: context}); - } - args = args.concat(message); - - var data = { - thisObj: invocation.thisObj, - assertionFunction: callSpec.enhancedFunc, - originalMessage: message, - defaultMessage: matcherSpec.defaultMessage, - matcherSpec: matcherSpec, - enhanced: enhanced, - args: args - }; - - if (context) { - data.powerAssertContext = context; - } - - return this._callFunc(func, thisObj, args, data); -}; - -// see: https://github.com/twada/empower-core/pull/8#issuecomment-173480982 -Decorator.prototype._callFunc = function (func, thisObj, args, data) { - var ret; - try { - ret = func.apply(thisObj, args); - } catch (e) { - data.assertionThrew = true; - data.error = e; - return this.onError.call(thisObj, data); - } - data.assertionThrew = false; - data.returnValue = ret; - return this.onSuccess.call(thisObj, data); -}; - -function numberOfArgumentsToCapture (matcherSpec) { - var matcher = matcherSpec.parsed; - var len = matcher.args.length; - var lastArg; - if (0 < len) { - lastArg = matcher.args[len - 1]; - if (lastArg.name === 'message' && lastArg.optional) { - len -= 1; - } - } - return len; -} - - -function detectMethodName (callee) { - if (callee.type === 'MemberExpression') { - return callee.member; - } - return null; -} - - -function functionCall (matcherSpec) { - return matcherSpec.parsed.callee.type === 'Identifier'; -} - - -function methodCall (matcherSpec) { - return matcherSpec.parsed.callee.type === 'MemberExpression'; -} - -function parse(matcherSpec) { - if (typeof matcherSpec === 'string') { - matcherSpec = {pattern: matcherSpec}; - } - var ret = {}; - forEach(keys(matcherSpec), function (key) { - ret[key] = matcherSpec[key]; - }); - ret.parsed = signature.parse(matcherSpec.pattern); - return ret; -} - - -module.exports = Decorator; - -},{"./decorate":2,"call-signature":6,"core-js/library/fn/array/filter":7,"core-js/library/fn/array/for-each":8,"core-js/library/fn/array/map":9,"core-js/library/fn/object/keys":14}],4:[function(_dereq_,module,exports){ -'use strict'; - -module.exports = function defaultOptions () { - return { - destructive: false, - bindReceiver: true, - onError: onError, - onSuccess: onSuccess, - patterns: [ - 'assert(value, [message])', - 'assert.ok(value, [message])', - 'assert.equal(actual, expected, [message])', - 'assert.notEqual(actual, expected, [message])', - 'assert.strictEqual(actual, expected, [message])', - 'assert.notStrictEqual(actual, expected, [message])', - 'assert.deepEqual(actual, expected, [message])', - 'assert.notDeepEqual(actual, expected, [message])', - 'assert.deepStrictEqual(actual, expected, [message])', - 'assert.notDeepStrictEqual(actual, expected, [message])' - ], - wrapOnlyPatterns: [] - }; -}; - -function onError (errorEvent) { - var e = errorEvent.error; - if (errorEvent.powerAssertContext && /^AssertionError/.test(e.name)) { - e.powerAssertContext = errorEvent.powerAssertContext; - } - throw e; -} - -function onSuccess(successEvent) { - return successEvent.returnValue; -} - -},{}],5:[function(_dereq_,module,exports){ -'use strict'; - -var defineProperty = _dereq_('core-js/library/fn/object/define-property'); -var forEach = _dereq_('core-js/library/fn/array/for-each'); -var keys = _dereq_('core-js/library/fn/object/keys'); - -module.exports = function defineProperties (obj, map) { - forEach(keys(map), function (name) { - defineProperty(obj, name, { - configurable: true, - enumerable: false, - value: map[name], - writable: true - }); - }); -}; - -},{"core-js/library/fn/array/for-each":8,"core-js/library/fn/object/define-property":13,"core-js/library/fn/object/keys":14}],6:[function(_dereq_,module,exports){ -'use strict'; -module.exports.parse = parse; -module.exports.generate = generate; - -// TODO(jamestalmage): Allow full range of identifier characters instead of just ASCII -// -// This will likely require a build step -// -// SPEC: http://www.ecma-international.org/ecma-262/5.1/#sec-7.6 -// -// TOOLING: -// https://github.com/mathiasbynens/regenerate -// https://www.npmjs.com/package/regjsgen - -var regex = /^\s*(?:([A-Za-z$_][A-Za-z0-9$_]*)\s*\.)?\s*([A-Za-z$_][A-Za-z0-9$_]*)\s*\(\s*((?:[A-Za-z$_][A-Za-z0-9$_]*)|(?:\[\s*[A-Za-z$_][A-Za-z0-9$_]*\s*]))?((?:\s*,\s*(?:(?:[A-Za-z$_][A-Za-z0-9$_]*)|(?:\[\s*[A-Za-z$_][A-Za-z0-9$_]*\s*])))+)?\s*\)\s*$/; - -function parse(str) { - var match = regex.exec(str); - if (!match) { - return null; - } - - var callee; - if (match[1]) { - callee = { - type: 'MemberExpression', - object: match[1], - member: match[2] - }; - } else { - callee = { - type: 'Identifier', - name: match[2] - }; - } - - var args = match[4] || ''; - args = args.split(','); - if (match[3]) { - args[0] = match[3]; - } - var trimmed = []; - args.forEach(function (str) { - var optional = false; - str = str.replace(/\s+/g, ''); - if (!str.length) { - return; - } - if (str.charAt(0) === '[' && str.charAt(str.length - 1) === ']') { - optional = true; - str = str.substring(1, str.length - 1); - } - trimmed.push({ - name: str, - optional: optional - }); - }); - - return { - callee: callee, - args: trimmed - }; -} - -function generate(parsed) { - var callee; - if (parsed.callee.type === 'MemberExpression') { - callee = [ - parsed.callee.object, - '.', - parsed.callee.member - ]; - } else { - callee = [parsed.callee.name]; - } - return callee.concat([ - '(', - parsed.args.map(function (arg) { - return arg.optional ? '[' + arg.name + ']' : arg.name; - }).join(', '), - ')' - ]).join(''); -} - -},{}],7:[function(_dereq_,module,exports){ -_dereq_('../../modules/es6.array.filter'); -module.exports = _dereq_('../../modules/_core').Array.filter; -},{"../../modules/_core":22,"../../modules/es6.array.filter":59}],8:[function(_dereq_,module,exports){ -_dereq_('../../modules/es6.array.for-each'); -module.exports = _dereq_('../../modules/_core').Array.forEach; -},{"../../modules/_core":22,"../../modules/es6.array.for-each":60}],9:[function(_dereq_,module,exports){ -_dereq_('../../modules/es6.array.map'); -module.exports = _dereq_('../../modules/_core').Array.map; -},{"../../modules/_core":22,"../../modules/es6.array.map":61}],10:[function(_dereq_,module,exports){ -_dereq_('../../modules/es6.array.some'); -module.exports = _dereq_('../../modules/_core').Array.some; -},{"../../modules/_core":22,"../../modules/es6.array.some":62}],11:[function(_dereq_,module,exports){ -_dereq_('../../modules/es6.object.assign'); -module.exports = _dereq_('../../modules/_core').Object.assign; -},{"../../modules/_core":22,"../../modules/es6.object.assign":63}],12:[function(_dereq_,module,exports){ -_dereq_('../../modules/es6.object.create'); -var $Object = _dereq_('../../modules/_core').Object; -module.exports = function create(P, D){ - return $Object.create(P, D); -}; -},{"../../modules/_core":22,"../../modules/es6.object.create":64}],13:[function(_dereq_,module,exports){ -_dereq_('../../modules/es6.object.define-property'); -var $Object = _dereq_('../../modules/_core').Object; -module.exports = function defineProperty(it, key, desc){ - return $Object.defineProperty(it, key, desc); -}; -},{"../../modules/_core":22,"../../modules/es6.object.define-property":65}],14:[function(_dereq_,module,exports){ -_dereq_('../../modules/es6.object.keys'); -module.exports = _dereq_('../../modules/_core').Object.keys; -},{"../../modules/_core":22,"../../modules/es6.object.keys":66}],15:[function(_dereq_,module,exports){ -module.exports = function(it){ - if(typeof it != 'function')throw TypeError(it + ' is not a function!'); - return it; -}; -},{}],16:[function(_dereq_,module,exports){ -var isObject = _dereq_('./_is-object'); -module.exports = function(it){ - if(!isObject(it))throw TypeError(it + ' is not an object!'); - return it; -}; -},{"./_is-object":37}],17:[function(_dereq_,module,exports){ -// false -> Array#indexOf -// true -> Array#includes -var toIObject = _dereq_('./_to-iobject') - , toLength = _dereq_('./_to-length') - , toIndex = _dereq_('./_to-index'); -module.exports = function(IS_INCLUDES){ - return function($this, el, fromIndex){ - var O = toIObject($this) - , length = toLength(O.length) - , index = toIndex(fromIndex, length) - , value; - // Array#includes uses SameValueZero equality algorithm - if(IS_INCLUDES && el != el)while(length > index){ - value = O[index++]; - if(value != value)return true; - // Array#toIndex ignores holes, Array#includes - not - } else for(;length > index; index++)if(IS_INCLUDES || index in O){ - if(O[index] === el)return IS_INCLUDES || index || 0; - } return !IS_INCLUDES && -1; - }; -}; -},{"./_to-index":51,"./_to-iobject":53,"./_to-length":54}],18:[function(_dereq_,module,exports){ -// 0 -> Array#forEach -// 1 -> Array#map -// 2 -> Array#filter -// 3 -> Array#some -// 4 -> Array#every -// 5 -> Array#find -// 6 -> Array#findIndex -var ctx = _dereq_('./_ctx') - , IObject = _dereq_('./_iobject') - , toObject = _dereq_('./_to-object') - , toLength = _dereq_('./_to-length') - , asc = _dereq_('./_array-species-create'); -module.exports = function(TYPE, $create){ - var IS_MAP = TYPE == 1 - , IS_FILTER = TYPE == 2 - , IS_SOME = TYPE == 3 - , IS_EVERY = TYPE == 4 - , IS_FIND_INDEX = TYPE == 6 - , NO_HOLES = TYPE == 5 || IS_FIND_INDEX - , create = $create || asc; - return function($this, callbackfn, that){ - var O = toObject($this) - , self = IObject(O) - , f = ctx(callbackfn, that, 3) - , length = toLength(self.length) - , index = 0 - , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined - , val, res; - for(;length > index; index++)if(NO_HOLES || index in self){ - val = self[index]; - res = f(val, index, O); - if(TYPE){ - if(IS_MAP)result[index] = res; // map - else if(res)switch(TYPE){ - case 3: return true; // some - case 5: return val; // find - case 6: return index; // findIndex - case 2: result.push(val); // filter - } else if(IS_EVERY)return false; // every - } - } - return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; - }; -}; -},{"./_array-species-create":20,"./_ctx":23,"./_iobject":35,"./_to-length":54,"./_to-object":55}],19:[function(_dereq_,module,exports){ -var isObject = _dereq_('./_is-object') - , isArray = _dereq_('./_is-array') - , SPECIES = _dereq_('./_wks')('species'); - -module.exports = function(original){ - var C; - if(isArray(original)){ - C = original.constructor; - // cross-realm fallback - if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined; - if(isObject(C)){ - C = C[SPECIES]; - if(C === null)C = undefined; - } - } return C === undefined ? Array : C; -}; -},{"./_is-array":36,"./_is-object":37,"./_wks":58}],20:[function(_dereq_,module,exports){ -// 9.4.2.3 ArraySpeciesCreate(originalArray, length) -var speciesConstructor = _dereq_('./_array-species-constructor'); - -module.exports = function(original, length){ - return new (speciesConstructor(original))(length); -}; -},{"./_array-species-constructor":19}],21:[function(_dereq_,module,exports){ -var toString = {}.toString; - -module.exports = function(it){ - return toString.call(it).slice(8, -1); -}; -},{}],22:[function(_dereq_,module,exports){ -var core = module.exports = {version: '2.4.0'}; -if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef -},{}],23:[function(_dereq_,module,exports){ -// optional / simple context binding -var aFunction = _dereq_('./_a-function'); -module.exports = function(fn, that, length){ - aFunction(fn); - if(that === undefined)return fn; - switch(length){ - case 1: return function(a){ - return fn.call(that, a); - }; - case 2: return function(a, b){ - return fn.call(that, a, b); - }; - case 3: return function(a, b, c){ - return fn.call(that, a, b, c); - }; - } - return function(/* ...args */){ - return fn.apply(that, arguments); - }; -}; -},{"./_a-function":15}],24:[function(_dereq_,module,exports){ -// 7.2.1 RequireObjectCoercible(argument) -module.exports = function(it){ - if(it == undefined)throw TypeError("Can't call method on " + it); - return it; -}; -},{}],25:[function(_dereq_,module,exports){ -// Thank's IE8 for his funny defineProperty -module.exports = !_dereq_('./_fails')(function(){ - return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; -}); -},{"./_fails":29}],26:[function(_dereq_,module,exports){ -var isObject = _dereq_('./_is-object') - , document = _dereq_('./_global').document - // in old IE typeof document.createElement is 'object' - , is = isObject(document) && isObject(document.createElement); -module.exports = function(it){ - return is ? document.createElement(it) : {}; -}; -},{"./_global":30,"./_is-object":37}],27:[function(_dereq_,module,exports){ -// IE 8- don't enum bug keys -module.exports = ( - 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' -).split(','); -},{}],28:[function(_dereq_,module,exports){ -var global = _dereq_('./_global') - , core = _dereq_('./_core') - , ctx = _dereq_('./_ctx') - , hide = _dereq_('./_hide') - , PROTOTYPE = 'prototype'; - -var $export = function(type, name, source){ - var IS_FORCED = type & $export.F - , IS_GLOBAL = type & $export.G - , IS_STATIC = type & $export.S - , IS_PROTO = type & $export.P - , IS_BIND = type & $export.B - , IS_WRAP = type & $export.W - , exports = IS_GLOBAL ? core : core[name] || (core[name] = {}) - , expProto = exports[PROTOTYPE] - , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE] - , key, own, out; - if(IS_GLOBAL)source = name; - for(key in source){ - // contains in native - own = !IS_FORCED && target && target[key] !== undefined; - if(own && key in exports)continue; - // export native or passed - out = own ? target[key] : source[key]; - // prevent global pollution for namespaces - exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] - // bind timers to global for call from export context - : IS_BIND && own ? ctx(out, global) - // wrap global constructors for prevent change them in library - : IS_WRAP && target[key] == out ? (function(C){ - var F = function(a, b, c){ - if(this instanceof C){ - switch(arguments.length){ - case 0: return new C; - case 1: return new C(a); - case 2: return new C(a, b); - } return new C(a, b, c); - } return C.apply(this, arguments); - }; - F[PROTOTYPE] = C[PROTOTYPE]; - return F; - // make static versions for prototype methods - })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; - // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% - if(IS_PROTO){ - (exports.virtual || (exports.virtual = {}))[key] = out; - // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% - if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out); - } - } -}; -// type bitmap -$export.F = 1; // forced -$export.G = 2; // global -$export.S = 4; // static -$export.P = 8; // proto -$export.B = 16; // bind -$export.W = 32; // wrap -$export.U = 64; // safe -$export.R = 128; // real proto method for `library` -module.exports = $export; -},{"./_core":22,"./_ctx":23,"./_global":30,"./_hide":32}],29:[function(_dereq_,module,exports){ -module.exports = function(exec){ - try { - return !!exec(); - } catch(e){ - return true; - } -}; -},{}],30:[function(_dereq_,module,exports){ -// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 -var global = module.exports = typeof window != 'undefined' && window.Math == Math - ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); -if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef -},{}],31:[function(_dereq_,module,exports){ -var hasOwnProperty = {}.hasOwnProperty; -module.exports = function(it, key){ - return hasOwnProperty.call(it, key); -}; -},{}],32:[function(_dereq_,module,exports){ -var dP = _dereq_('./_object-dp') - , createDesc = _dereq_('./_property-desc'); -module.exports = _dereq_('./_descriptors') ? function(object, key, value){ - return dP.f(object, key, createDesc(1, value)); -} : function(object, key, value){ - object[key] = value; - return object; -}; -},{"./_descriptors":25,"./_object-dp":40,"./_property-desc":47}],33:[function(_dereq_,module,exports){ -module.exports = _dereq_('./_global').document && document.documentElement; -},{"./_global":30}],34:[function(_dereq_,module,exports){ -module.exports = !_dereq_('./_descriptors') && !_dereq_('./_fails')(function(){ - return Object.defineProperty(_dereq_('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7; -}); -},{"./_descriptors":25,"./_dom-create":26,"./_fails":29}],35:[function(_dereq_,module,exports){ -// fallback for non-array-like ES3 and non-enumerable old V8 strings -var cof = _dereq_('./_cof'); -module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ - return cof(it) == 'String' ? it.split('') : Object(it); -}; -},{"./_cof":21}],36:[function(_dereq_,module,exports){ -// 7.2.2 IsArray(argument) -var cof = _dereq_('./_cof'); -module.exports = Array.isArray || function isArray(arg){ - return cof(arg) == 'Array'; -}; -},{"./_cof":21}],37:[function(_dereq_,module,exports){ -module.exports = function(it){ - return typeof it === 'object' ? it !== null : typeof it === 'function'; -}; -},{}],38:[function(_dereq_,module,exports){ -'use strict'; -// 19.1.2.1 Object.assign(target, source, ...) -var getKeys = _dereq_('./_object-keys') - , gOPS = _dereq_('./_object-gops') - , pIE = _dereq_('./_object-pie') - , toObject = _dereq_('./_to-object') - , IObject = _dereq_('./_iobject') - , $assign = Object.assign; - -// should work with symbols and should have deterministic property order (V8 bug) -module.exports = !$assign || _dereq_('./_fails')(function(){ - var A = {} - , B = {} - , S = Symbol() - , K = 'abcdefghijklmnopqrst'; - A[S] = 7; - K.split('').forEach(function(k){ B[k] = k; }); - return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; -}) ? function assign(target, source){ // eslint-disable-line no-unused-vars - var T = toObject(target) - , aLen = arguments.length - , index = 1 - , getSymbols = gOPS.f - , isEnum = pIE.f; - while(aLen > index){ - var S = IObject(arguments[index++]) - , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S) - , length = keys.length - , j = 0 - , key; - while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key]; - } return T; -} : $assign; -},{"./_fails":29,"./_iobject":35,"./_object-gops":42,"./_object-keys":44,"./_object-pie":45,"./_to-object":55}],39:[function(_dereq_,module,exports){ -// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -var anObject = _dereq_('./_an-object') - , dPs = _dereq_('./_object-dps') - , enumBugKeys = _dereq_('./_enum-bug-keys') - , IE_PROTO = _dereq_('./_shared-key')('IE_PROTO') - , Empty = function(){ /* empty */ } - , PROTOTYPE = 'prototype'; - -// Create object with fake `null` prototype: use iframe Object with cleared prototype -var createDict = function(){ - // Thrash, waste and sodomy: IE GC bug - var iframe = _dereq_('./_dom-create')('iframe') - , i = enumBugKeys.length - , lt = '<' - , gt = '>' - , iframeDocument; - iframe.style.display = 'none'; - _dereq_('./_html').appendChild(iframe); - iframe.src = 'javascript:'; // eslint-disable-line no-script-url - // createDict = iframe.contentWindow.Object; - // html.removeChild(iframe); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]]; - return createDict(); -}; - -module.exports = Object.create || function create(O, Properties){ - var result; - if(O !== null){ - Empty[PROTOTYPE] = anObject(O); - result = new Empty; - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : dPs(result, Properties); -}; - -},{"./_an-object":16,"./_dom-create":26,"./_enum-bug-keys":27,"./_html":33,"./_object-dps":41,"./_shared-key":48}],40:[function(_dereq_,module,exports){ -var anObject = _dereq_('./_an-object') - , IE8_DOM_DEFINE = _dereq_('./_ie8-dom-define') - , toPrimitive = _dereq_('./_to-primitive') - , dP = Object.defineProperty; - -exports.f = _dereq_('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){ - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if(IE8_DOM_DEFINE)try { - return dP(O, P, Attributes); - } catch(e){ /* empty */ } - if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!'); - if('value' in Attributes)O[P] = Attributes.value; - return O; -}; -},{"./_an-object":16,"./_descriptors":25,"./_ie8-dom-define":34,"./_to-primitive":56}],41:[function(_dereq_,module,exports){ -var dP = _dereq_('./_object-dp') - , anObject = _dereq_('./_an-object') - , getKeys = _dereq_('./_object-keys'); - -module.exports = _dereq_('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){ - anObject(O); - var keys = getKeys(Properties) - , length = keys.length - , i = 0 - , P; - while(length > i)dP.f(O, P = keys[i++], Properties[P]); - return O; -}; -},{"./_an-object":16,"./_descriptors":25,"./_object-dp":40,"./_object-keys":44}],42:[function(_dereq_,module,exports){ -exports.f = Object.getOwnPropertySymbols; -},{}],43:[function(_dereq_,module,exports){ -var has = _dereq_('./_has') - , toIObject = _dereq_('./_to-iobject') - , arrayIndexOf = _dereq_('./_array-includes')(false) - , IE_PROTO = _dereq_('./_shared-key')('IE_PROTO'); - -module.exports = function(object, names){ - var O = toIObject(object) - , i = 0 - , result = [] - , key; - for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key); - // Don't enum bug & hidden keys - while(names.length > i)if(has(O, key = names[i++])){ - ~arrayIndexOf(result, key) || result.push(key); - } - return result; -}; -},{"./_array-includes":17,"./_has":31,"./_shared-key":48,"./_to-iobject":53}],44:[function(_dereq_,module,exports){ -// 19.1.2.14 / 15.2.3.14 Object.keys(O) -var $keys = _dereq_('./_object-keys-internal') - , enumBugKeys = _dereq_('./_enum-bug-keys'); - -module.exports = Object.keys || function keys(O){ - return $keys(O, enumBugKeys); -}; -},{"./_enum-bug-keys":27,"./_object-keys-internal":43}],45:[function(_dereq_,module,exports){ -exports.f = {}.propertyIsEnumerable; -},{}],46:[function(_dereq_,module,exports){ -// most Object methods by ES6 should accept primitives -var $export = _dereq_('./_export') - , core = _dereq_('./_core') - , fails = _dereq_('./_fails'); -module.exports = function(KEY, exec){ - var fn = (core.Object || {})[KEY] || Object[KEY] - , exp = {}; - exp[KEY] = exec(fn); - $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp); -}; -},{"./_core":22,"./_export":28,"./_fails":29}],47:[function(_dereq_,module,exports){ -module.exports = function(bitmap, value){ - return { - enumerable : !(bitmap & 1), - configurable: !(bitmap & 2), - writable : !(bitmap & 4), - value : value - }; -}; -},{}],48:[function(_dereq_,module,exports){ -var shared = _dereq_('./_shared')('keys') - , uid = _dereq_('./_uid'); -module.exports = function(key){ - return shared[key] || (shared[key] = uid(key)); -}; -},{"./_shared":49,"./_uid":57}],49:[function(_dereq_,module,exports){ -var global = _dereq_('./_global') - , SHARED = '__core-js_shared__' - , store = global[SHARED] || (global[SHARED] = {}); -module.exports = function(key){ - return store[key] || (store[key] = {}); -}; -},{"./_global":30}],50:[function(_dereq_,module,exports){ -var fails = _dereq_('./_fails'); - -module.exports = function(method, arg){ - return !!method && fails(function(){ - arg ? method.call(null, function(){}, 1) : method.call(null); - }); -}; -},{"./_fails":29}],51:[function(_dereq_,module,exports){ -var toInteger = _dereq_('./_to-integer') - , max = Math.max - , min = Math.min; -module.exports = function(index, length){ - index = toInteger(index); - return index < 0 ? max(index + length, 0) : min(index, length); -}; -},{"./_to-integer":52}],52:[function(_dereq_,module,exports){ -// 7.1.4 ToInteger -var ceil = Math.ceil - , floor = Math.floor; -module.exports = function(it){ - return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); -}; -},{}],53:[function(_dereq_,module,exports){ -// to indexed object, toObject with fallback for non-array-like ES3 strings -var IObject = _dereq_('./_iobject') - , defined = _dereq_('./_defined'); -module.exports = function(it){ - return IObject(defined(it)); -}; -},{"./_defined":24,"./_iobject":35}],54:[function(_dereq_,module,exports){ -// 7.1.15 ToLength -var toInteger = _dereq_('./_to-integer') - , min = Math.min; -module.exports = function(it){ - return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 -}; -},{"./_to-integer":52}],55:[function(_dereq_,module,exports){ -// 7.1.13 ToObject(argument) -var defined = _dereq_('./_defined'); -module.exports = function(it){ - return Object(defined(it)); -}; -},{"./_defined":24}],56:[function(_dereq_,module,exports){ -// 7.1.1 ToPrimitive(input [, PreferredType]) -var isObject = _dereq_('./_is-object'); -// instead of the ES6 spec version, we didn't implement @@toPrimitive case -// and the second argument - flag - preferred type is a string -module.exports = function(it, S){ - if(!isObject(it))return it; - var fn, val; - if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; - if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val; - if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; - throw TypeError("Can't convert object to primitive value"); -}; -},{"./_is-object":37}],57:[function(_dereq_,module,exports){ -var id = 0 - , px = Math.random(); -module.exports = function(key){ - return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); -}; -},{}],58:[function(_dereq_,module,exports){ -var store = _dereq_('./_shared')('wks') - , uid = _dereq_('./_uid') - , Symbol = _dereq_('./_global').Symbol - , USE_SYMBOL = typeof Symbol == 'function'; - -var $exports = module.exports = function(name){ - return store[name] || (store[name] = - USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); -}; - -$exports.store = store; -},{"./_global":30,"./_shared":49,"./_uid":57}],59:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_('./_export') - , $filter = _dereq_('./_array-methods')(2); - -$export($export.P + $export.F * !_dereq_('./_strict-method')([].filter, true), 'Array', { - // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) - filter: function filter(callbackfn /* , thisArg */){ - return $filter(this, callbackfn, arguments[1]); - } -}); -},{"./_array-methods":18,"./_export":28,"./_strict-method":50}],60:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_('./_export') - , $forEach = _dereq_('./_array-methods')(0) - , STRICT = _dereq_('./_strict-method')([].forEach, true); - -$export($export.P + $export.F * !STRICT, 'Array', { - // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) - forEach: function forEach(callbackfn /* , thisArg */){ - return $forEach(this, callbackfn, arguments[1]); - } -}); -},{"./_array-methods":18,"./_export":28,"./_strict-method":50}],61:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_('./_export') - , $map = _dereq_('./_array-methods')(1); - -$export($export.P + $export.F * !_dereq_('./_strict-method')([].map, true), 'Array', { - // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) - map: function map(callbackfn /* , thisArg */){ - return $map(this, callbackfn, arguments[1]); - } -}); -},{"./_array-methods":18,"./_export":28,"./_strict-method":50}],62:[function(_dereq_,module,exports){ -'use strict'; -var $export = _dereq_('./_export') - , $some = _dereq_('./_array-methods')(3); - -$export($export.P + $export.F * !_dereq_('./_strict-method')([].some, true), 'Array', { - // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) - some: function some(callbackfn /* , thisArg */){ - return $some(this, callbackfn, arguments[1]); - } -}); -},{"./_array-methods":18,"./_export":28,"./_strict-method":50}],63:[function(_dereq_,module,exports){ -// 19.1.3.1 Object.assign(target, source) -var $export = _dereq_('./_export'); - -$export($export.S + $export.F, 'Object', {assign: _dereq_('./_object-assign')}); -},{"./_export":28,"./_object-assign":38}],64:[function(_dereq_,module,exports){ -var $export = _dereq_('./_export') -// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -$export($export.S, 'Object', {create: _dereq_('./_object-create')}); -},{"./_export":28,"./_object-create":39}],65:[function(_dereq_,module,exports){ -var $export = _dereq_('./_export'); -// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) -$export($export.S + $export.F * !_dereq_('./_descriptors'), 'Object', {defineProperty: _dereq_('./_object-dp').f}); -},{"./_descriptors":25,"./_export":28,"./_object-dp":40}],66:[function(_dereq_,module,exports){ -// 19.1.2.14 Object.keys(O) -var toObject = _dereq_('./_to-object') - , $keys = _dereq_('./_object-keys'); - -_dereq_('./_object-sap')('keys', function(){ - return function keys(it){ - return $keys(toObject(it)); - }; -}); -},{"./_object-keys":44,"./_object-sap":46,"./_to-object":55}]},{},[1])(1) -});
\ No newline at end of file diff --git a/node_modules/empower-core/index.js b/node_modules/empower-core/index.js deleted file mode 100644 index b262b2bc6..000000000 --- a/node_modules/empower-core/index.js +++ /dev/null @@ -1,79 +0,0 @@ -/** - * empower-core - Power Assert feature enhancer for assert function/object. - * - * https://github.com/twada/empower-core - * - * Copyright (c) 2013-2017 Takuto Wada - * Licensed under the MIT license. - * https://github.com/twada/empower-core/blob/master/MIT-LICENSE.txt - */ -var create = require('core-js/library/fn/object/create'); -var assign = require('core-js/library/fn/object/assign'); -var defaultOptions = require('./lib/default-options'); -var Decorator = require('./lib/decorator'); -var define = require('./lib/define-properties'); -var slice = Array.prototype.slice; - -/** - * Enhance Power Assert feature to assert function/object. - * @param assert target assert function or object to enhance - * @param options enhancement options - * @return enhanced assert function/object - */ -function empowerCore (assert, options) { - var typeOfAssert = (typeof assert); - var enhancedAssert; - if ((typeOfAssert !== 'object' && typeOfAssert !== 'function') || assert === null) { - throw new TypeError('empower-core argument should be a function or object.'); - } - if (isEmpowered(assert)) { - return assert; - } - switch (typeOfAssert) { - case 'function': - enhancedAssert = empowerAssertFunction(assert, options); - break; - case 'object': - enhancedAssert = empowerAssertObject(assert, options); - break; - default: - throw new Error('Cannot be here'); - } - define(enhancedAssert, { _empowered: true }); - return enhancedAssert; -} - -function empowerAssertObject (assertObject, options) { - var config = assign(defaultOptions(), options); - var target = config.destructive ? assertObject : create(assertObject); - var decorator = new Decorator(target, config); - return assign(target, decorator.enhancement()); -} - -function empowerAssertFunction (assertFunction, options) { - var config = assign(defaultOptions(), options); - if (config.destructive) { - throw new Error('cannot use destructive:true to function.'); - } - var decorator = new Decorator(assertFunction, config); - var enhancement = decorator.enhancement(); - var powerAssert; - if (typeof enhancement === 'function') { - powerAssert = function powerAssert () { - return enhancement.apply(null, slice.apply(arguments)); - }; - } else { - powerAssert = function powerAssert () { - return assertFunction.apply(null, slice.apply(arguments)); - }; - } - assign(powerAssert, assertFunction); - return assign(powerAssert, enhancement); -} - -function isEmpowered (assertObjectOrFunction) { - return assertObjectOrFunction._empowered; -} - -empowerCore.defaultOptions = defaultOptions; -module.exports = empowerCore; diff --git a/node_modules/empower-core/lib/decorate.js b/node_modules/empower-core/lib/decorate.js deleted file mode 100644 index 2eb6f5f20..000000000 --- a/node_modules/empower-core/lib/decorate.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; - -var some = require('core-js/library/fn/array/some'); -var map = require('core-js/library/fn/array/map'); - -function decorate (callSpec, decorator) { - var numArgsToCapture = callSpec.numArgsToCapture; - - return function decoratedAssert () { - var context, message, hasMessage = false; - - // see: https://github.com/twada/empower-core/pull/8#issue-127859465 - // see: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments - var args = new Array(arguments.length); - for(var i = 0; i < args.length; ++i) { - args[i] = arguments[i]; - } - - if (numArgsToCapture === (args.length - 1)) { - message = args.pop(); - hasMessage = true; - } - - var invocation = { - thisObj: this, - values: args, - message: message, - hasMessage: hasMessage - }; - - if (some(args, isCaptured)) { - invocation.values = map(args.slice(0, numArgsToCapture), function (arg) { - if (isNotCaptured(arg)) { - return arg; - } - if (!context) { - context = { - source: arg.source, - args: [] - }; - } - context.args.push({ - value: arg.powerAssertContext.value, - events: arg.powerAssertContext.events - }); - return arg.powerAssertContext.value; - }); - - return decorator.concreteAssert(callSpec, invocation, context); - } else { - return decorator.concreteAssert(callSpec, invocation); - } - }; -} - -function isNotCaptured (value) { - return !isCaptured(value); -} - -function isCaptured (value) { - return (typeof value === 'object') && - (value !== null) && - (typeof value.powerAssertContext !== 'undefined'); -} - -module.exports = decorate; diff --git a/node_modules/empower-core/lib/decorator.js b/node_modules/empower-core/lib/decorator.js deleted file mode 100644 index 678f47283..000000000 --- a/node_modules/empower-core/lib/decorator.js +++ /dev/null @@ -1,165 +0,0 @@ -'use strict'; - -var forEach = require('core-js/library/fn/array/for-each'); -var filter = require('core-js/library/fn/array/filter'); -var map = require('core-js/library/fn/array/map'); -var signature = require('call-signature'); -var decorate = require('./decorate'); -var keys = require('core-js/library/fn/object/keys'); - - -function Decorator (receiver, config) { - this.receiver = receiver; - this.config = config; - this.onError = config.onError; - this.onSuccess = config.onSuccess; - this.signatures = map(config.patterns, parse); - this.wrapOnlySignatures = map(config.wrapOnlyPatterns, parse); -} - -Decorator.prototype.enhancement = function () { - var that = this; - var container = this.container(); - var wrappedMethods = []; - - function attach(matcherSpec, enhanced) { - var matcher = matcherSpec.parsed; - var methodName = detectMethodName(matcher.callee); - if (typeof that.receiver[methodName] !== 'function' || wrappedMethods.indexOf(methodName) !== -1) { - return; - } - var callSpec = { - thisObj: that.receiver, - func: that.receiver[methodName], - numArgsToCapture: numberOfArgumentsToCapture(matcherSpec), - matcherSpec: matcherSpec, - enhanced: enhanced - }; - container[methodName] = callSpec.enhancedFunc = decorate(callSpec, that); - wrappedMethods.push(methodName); - } - - forEach(filter(this.signatures, methodCall), function (matcher) { - attach(matcher, true); - }); - - forEach(filter(this.wrapOnlySignatures, methodCall), function (matcher) { - attach(matcher, false); - }); - - return container; -}; - -Decorator.prototype.container = function () { - var basement = {}; - if (typeof this.receiver === 'function') { - var candidates = filter(this.signatures, functionCall); - var enhanced = true; - if (candidates.length === 0) { - enhanced = false; - candidates = filter(this.wrapOnlySignatures, functionCall); - } - if (candidates.length === 1) { - var callSpec = { - thisObj: null, - func: this.receiver, - numArgsToCapture: numberOfArgumentsToCapture(candidates[0]), - matcherSpec: candidates[0], - enhanced: enhanced - }; - basement = callSpec.enhancedFunc = decorate(callSpec, this); - } - } - return basement; -}; - -Decorator.prototype.concreteAssert = function (callSpec, invocation, context) { - var func = callSpec.func; - var thisObj = this.config.bindReceiver ? callSpec.thisObj : invocation.thisObj; - var enhanced = callSpec.enhanced; - var args = invocation.values; - var message = invocation.message; - var matcherSpec = callSpec.matcherSpec; - - if (context && typeof this.config.modifyMessageBeforeAssert === 'function') { - message = this.config.modifyMessageBeforeAssert({originalMessage: message, powerAssertContext: context}); - } - args = args.concat(message); - - var data = { - thisObj: invocation.thisObj, - assertionFunction: callSpec.enhancedFunc, - originalMessage: message, - defaultMessage: matcherSpec.defaultMessage, - matcherSpec: matcherSpec, - enhanced: enhanced, - args: args - }; - - if (context) { - data.powerAssertContext = context; - } - - return this._callFunc(func, thisObj, args, data); -}; - -// see: https://github.com/twada/empower-core/pull/8#issuecomment-173480982 -Decorator.prototype._callFunc = function (func, thisObj, args, data) { - var ret; - try { - ret = func.apply(thisObj, args); - } catch (e) { - data.assertionThrew = true; - data.error = e; - return this.onError.call(thisObj, data); - } - data.assertionThrew = false; - data.returnValue = ret; - return this.onSuccess.call(thisObj, data); -}; - -function numberOfArgumentsToCapture (matcherSpec) { - var matcher = matcherSpec.parsed; - var len = matcher.args.length; - var lastArg; - if (0 < len) { - lastArg = matcher.args[len - 1]; - if (lastArg.name === 'message' && lastArg.optional) { - len -= 1; - } - } - return len; -} - - -function detectMethodName (callee) { - if (callee.type === 'MemberExpression') { - return callee.member; - } - return null; -} - - -function functionCall (matcherSpec) { - return matcherSpec.parsed.callee.type === 'Identifier'; -} - - -function methodCall (matcherSpec) { - return matcherSpec.parsed.callee.type === 'MemberExpression'; -} - -function parse(matcherSpec) { - if (typeof matcherSpec === 'string') { - matcherSpec = {pattern: matcherSpec}; - } - var ret = {}; - forEach(keys(matcherSpec), function (key) { - ret[key] = matcherSpec[key]; - }); - ret.parsed = signature.parse(matcherSpec.pattern); - return ret; -} - - -module.exports = Decorator; diff --git a/node_modules/empower-core/lib/default-options.js b/node_modules/empower-core/lib/default-options.js deleted file mode 100644 index 1575f09ec..000000000 --- a/node_modules/empower-core/lib/default-options.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -module.exports = function defaultOptions () { - return { - destructive: false, - bindReceiver: true, - onError: onError, - onSuccess: onSuccess, - patterns: [ - 'assert(value, [message])', - 'assert.ok(value, [message])', - 'assert.equal(actual, expected, [message])', - 'assert.notEqual(actual, expected, [message])', - 'assert.strictEqual(actual, expected, [message])', - 'assert.notStrictEqual(actual, expected, [message])', - 'assert.deepEqual(actual, expected, [message])', - 'assert.notDeepEqual(actual, expected, [message])', - 'assert.deepStrictEqual(actual, expected, [message])', - 'assert.notDeepStrictEqual(actual, expected, [message])' - ], - wrapOnlyPatterns: [] - }; -}; - -function onError (errorEvent) { - var e = errorEvent.error; - if (errorEvent.powerAssertContext && /^AssertionError/.test(e.name)) { - e.powerAssertContext = errorEvent.powerAssertContext; - } - throw e; -} - -function onSuccess(successEvent) { - return successEvent.returnValue; -} diff --git a/node_modules/empower-core/lib/define-properties.js b/node_modules/empower-core/lib/define-properties.js deleted file mode 100644 index 340c7f065..000000000 --- a/node_modules/empower-core/lib/define-properties.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var defineProperty = require('core-js/library/fn/object/define-property'); -var forEach = require('core-js/library/fn/array/for-each'); -var keys = require('core-js/library/fn/object/keys'); - -module.exports = function defineProperties (obj, map) { - forEach(keys(map), function (name) { - defineProperty(obj, name, { - configurable: true, - enumerable: false, - value: map[name], - writable: true - }); - }); -}; diff --git a/node_modules/empower-core/package.json b/node_modules/empower-core/package.json deleted file mode 100644 index f09c4b12b..000000000 --- a/node_modules/empower-core/package.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "name": "empower-core", - "description": "Power Assert feature enhancer for assert function/object", - "version": "0.6.2", - "author": { - "name": "Takuto Wada", - "email": "takuto.wada@gmail.com", - "url": "http://github.com/twada" - }, - "bugs": { - "url": "http://github.com/twada/empower-core/issues" - }, - "contributors": [ - { - "name": "James Talmage", - "url": "https://github.com/jamestalmage" - } - ], - "dependencies": { - "call-signature": "0.0.2", - "core-js": "^2.0.0" - }, - "devDependencies": { - "acorn": "^3.1.0", - "acorn-es7-plugin": "^1.0.14", - "babel-core": "^5.8.33", - "blanket": "^1.2.3", - "browserify": "^13.0.1", - "buster-assertions": "^0.10.4", - "del": "^2.2.0", - "escodegen": "^1.8.0", - "espower": "^1.2.1", - "gulp": "^3.9.1", - "gulp-derequire": "^2.1.0", - "gulp-dereserve": "^0.2.1", - "gulp-mocha": "^2.2.0", - "gulp-mocha-phantomjs": "^0.11.0", - "gulp-util": "^3.0.7", - "gulp-webserver": "^0.9.1", - "licensify": "^3.1.1", - "mocha": "^2.5.3", - "mocha-lcov-reporter": "^1.2.0", - "through2": "^2.0.1", - "vinyl-source-stream": "^1.1.0" - }, - "directories": { - "lib": "./lib" - }, - "files": [ - "CHANGELOG.md", - "MIT-LICENSE.txt", - "README.md", - "index.js", - "lib", - "build/empower-core.js", - "package.json" - ], - "homepage": "http://github.com/twada/empower-core", - "keywords": [ - "power-assert", - "assert", - "assertion", - "test", - "testing" - ], - "license": "MIT", - "main": "./index.js", - "repository": { - "type": "git", - "url": "http://github.com/twada/empower-core.git" - }, - "scripts": { - "preversion": "npm test", - "version": "npm run dist && git add -A build", - "bower": "bower install --config.interactive=false", - "dist": "npm prune && npm dedupe && gulp dist", - "test": "gulp test", - "unit": "gulp unit", - "watch": "gulp watch", - "coveralls": "gulp coverage && cat ./coverage.lcov | coveralls" - } -} |