Socket
Socket
Sign inDemoInstall

spy4js

Package Overview
Dependencies
Maintainers
1
Versions
75
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

spy4js - npm Package Compare versions

Comparing version 1.5.2 to 1.6.0

148

dist/serializer.js
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
value: true
});

@@ -10,138 +10,14 @@ exports.serialize = undefined;

function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } /**
* This file is part of spy4js which is released under MIT license.
*
* The LICENSE file can be found in the root directory of this project.
*
*
*/
var _serializeAsCode = require('serialize-as-code');
var __serializeProp = function __serializeProp(key, value) {
return typeof value === 'string' ? key + '="' + value + '"' : key + '={' + __serialize(value) + '}';
};
/**
* This file is part of spy4js which is released under MIT license.
*
* The LICENSE file can be found in the root directory of this project.
*
*
*/
var __serializeProps = function __serializeProps(o, key, ref) {
var props = [];
(0, _utils.forEach)(o, function (k, v) {
if (v !== undefined && k !== 'children') props.push(__serializeProp(k, v));
});
if (key) props.push(__serializeProp('key', key));
if (ref) props.push(__serializeProp('ref', ref));
if (!props.length) return '';
return ' ' + props.join(' ');
};
var __serializeChildren = function __serializeChildren(o) {
var children = o.props.children;
if (!children) return '';
if (typeof children === 'string') return children;
return Array.isArray(children) ? children.map(function (v) {
return __serialize(v);
}).join('') : __serialize(children);
};
var getTypeName = function getTypeName(type) {
var typeType = Object.prototype.toString.call(type);
switch (typeType) {
case '[object Symbol]':
if (Symbol.keyFor(type) === 'react.fragment') return 'Fragment';
return;
case '[object String]':
return type;
case '[object Function]':
return type.name;
default:
return;
}
};
var __serializeReactElement = function __serializeReactElement(o) {
var type = getTypeName(o.type) || 'UNKNOWN';
// the following line would serialize custom react components deep instead of shallow (but its out-commented
// because usually it is more helpful to see what was provided)
// if (typeof o.type === 'function') return __serialize(new o.type(o.props).render());
var children = __serializeChildren(o);
var firstPart = '<' + type + __serializeProps(o.props, o.key, o.ref);
var lastPart = children ? '>' + children + '</' + type + '>' : ' />';
return firstPart + lastPart;
};
var __serializeReact = function __serializeReact(o) {
var symbolKey = Symbol.keyFor(o.$$typeof);
switch (symbolKey) {
case 'react.element':
return __serializeReactElement(o);
default:
return;
}
};
var __serializeIfReact = function __serializeIfReact(o) {
if (Object.prototype.toString.call(o.$$typeof) === '[object Symbol]') {
var key = Symbol.keyFor(o.$$typeof);
if (key && key.indexOf('react.') === 0) return __serializeReact(o);
}
};
var __serialize = function __serialize(o) {
var alreadySerialized = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
if (o === _utils.IGNORE) {
return '>IGNORED<';
}
if (o === undefined) {
return 'undefined';
}
if (o === null) {
return 'null';
}
// check if its serializable as react jsx
var react = __serializeIfReact(o);
if (react) return react; // was serialized successful -> return it
var oClass = Object.prototype.toString.call(o);
switch (oClass) {
case '[object RegExp]':
return '/' + String(o) + '/';
case '[object String]':
return '\'' + o + '\'';
case '[object Function]':
return o.name || 'Function';
case '[object Date]':
return '>Date:' + Number(o) + '<';
case '[object Number]':
case '[object Boolean]':
return String(o);
case '[object Symbol]':
return 'Symbol.for(\'' + Symbol.keyFor(o) + '\')';
case '[object Error]':
return 'new ' + o.name + '(\'' + o.message + '\')';
default:
// nothing
}
if (alreadySerialized.indexOf(o) !== -1) {
return '>CYCLOMATIC<';
}
var serialized = [].concat(_toConsumableArray(alreadySerialized), [o]);
if (oClass === '[object Array]') {
var _results = [];
for (var i = 0; i < o.length; i++) {
_results.push(__serialize(o[i], serialized));
}
return '[' + _results.join(', ') + ']';
}
var oKeys = (0, _utils.objectKeys)(o);
var results = [];
for (var _i = 0; _i < oKeys.length; _i++) {
var key = oKeys[_i];
results.push(key + ': ' + __serialize(o[key], serialized));
}
var objectType = o.constructor.name;
var displayedType = objectType === 'Object' ? '' : objectType;
return displayedType + '{' + results.join(', ') + '}';
};
var serialize = exports.serialize = function serialize(o) {
return __serialize(o);
};
var serialize = exports.serialize = _serializeAsCode.Serializer.create(function (o) {
return o === _utils.IGNORE && '>IGNORED<' || undefined;
});

11

package.json
{
"name": "spy4js",
"version": "1.5.2",
"version": "1.6.0",
"description": "Smart, compact and powerful spy test framework",

@@ -26,3 +26,3 @@ "jest": {

"scripts": {
"build": "rm -rf dist && babel src --out-dir dist && for i in `ls src/`; do cp src/$i dist/$i.flow; done",
"dist": "rm -rf dist && babel src --out-dir dist && for i in `ls src/`; do cp src/$i dist/$i.flow; done",
"eslint": "eslint src/ test/",

@@ -49,3 +49,5 @@ "flow": "flow --quiet",

"license": "MIT",
"dependencies": {},
"dependencies": {
"serialize-as-code": "^1.0.1"
},
"devDependencies": {

@@ -71,4 +73,3 @@ "babel-cli": "^6.26.0",

"jest": "^23.1.0",
"prettier": "1.7.4",
"react": "^16.4.1"
"prettier": "1.7.4"
},

@@ -75,0 +76,0 @@ "babel": {

@@ -11,5 +11,5 @@ [![GitHub license][license-image]][license-url]

- Flow
- `flow` support out-of-the-box
- Performance
- No dependencies
- No foreign dependencies
- Optimized error messages

@@ -16,0 +16,0 @@ - Customizable

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc