New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@recoding/core

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@recoding/core - npm Package Compare versions

Comparing version
0.0.6
to
0.0.7
+4
es/index.d.ts
export { default as reactUniqueKey } from './uniqueKey';
export { default as reactEcode } from './rewrite';
declare const _default: () => void;
export default _default;
import reactUniqueKey from "./uniqueKey";
import reactEcode from "./rewrite";
export { default as reactUniqueKey } from './uniqueKey';
export { default as reactEcode } from './rewrite';
export default (function () {
reactUniqueKey();
reactEcode();
});
export interface ReactEcodeProps {
attribute?: string;
}
declare const reactEcode: (props?: ReactEcodeProps | undefined) => void;
export default reactEcode;
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import React from "react";
var reactEcode = function reactEcode(props) {
var createEle = React.createElement;
React.createElement = function createElement(type, props) {
function middleware(Com) {
console.log(Com);
var displayName = type.displayName || type.name;
if (!window.pcComponentsConfig) return Com;
if (!window.pcComponentsConfig[displayName]) return Com;
var comMap = window.pcComponentsConfig[displayName];
if (!comMap) return Com;
var rewriteFn = comMap.rewriteFn,
refactorFn = comMap.refactorFn;
return /*#__PURE__*/React.forwardRef(function (props, ref) {
// rewrite
if (rewriteFn && rewriteFn(props, displayName)) {
props = _objectSpread(_objectSpread({}, props), rewriteFn(props, displayName));
} // refactor
if (refactorFn && refactorFn(Com, props, displayName)) {
var _refactorFn = refactorFn(Com, props, displayName),
newCom = _refactorFn.com,
newProps = _refactorFn.props;
return createEle(newCom, _objectSpread(_objectSpread(_objectSpread({}, props), newProps), {}, {
ref: ref
}));
}
return createEle(Com, _objectSpread(_objectSpread({}, props), {}, {
ref: ref
}));
});
} // Proxy Component
for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
children[_key - 2] = arguments[_key];
}
if (typeof type !== "string") {
return createEle.apply(void 0, [middleware(type), props].concat(children));
}
return createEle.apply(void 0, [type, props].concat(children));
};
};
export default reactEcode;
/**
* 封装React.createElement方法
* 使页面创建元素的时候都添加一个data-key的唯一属性,方便做自动化测试
* data-key的生成过程会先拼接元素的所有string类型属性,并且会 自动继承上级的data-key
* 最终由md5创建一个不可逆的加密
* 其他:
* 1、需要注意的是,如果元素存在动态的属性,比如className,那他的data-key也会不同;
* 2、为了保证尽可能的唯一,在自定义attribute的基础上增加了{attribute}-url的属性,为了尽可能存在一个唯一属性;
*/
export interface ReactUniqueKeyProps {
attribute?: string;
}
declare const reactUniqueKey: (props?: ReactUniqueKeyProps | undefined) => void;
export default reactUniqueKey;
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import React from "react";
import md5 from "md5";
var reactUniqueKey = function reactUniqueKey(props) {
var _ref = props || {},
_ref$attribute = _ref.attribute,
attribute = _ref$attribute === void 0 ? "data-key" : _ref$attribute;
var createEle = React.createElement;
var urlKeys = {};
React.createElement = function createElement(type, props) {
var _objectSpread2;
var keyStrings = [];
if (typeof type === "string") {
keyStrings.push("[label=".concat(type, "]"));
} // 这一步会自动添加上级的attribute生成新的
if (props) {
Object.keys(props).forEach(function (key) {
var value = props[key];
if (typeof value === "string") {
keyStrings.push("[".concat(key, "=").concat(value, "]"));
}
});
} // 尽可能保证有个唯一属性
var url = window.location.href;
var attributesWidthUrl = ["[url=".concat(url, "]")].concat(keyStrings);
var attributeKey = md5(keyStrings.join(";"));
var attributeUrl = md5(attributesWidthUrl.join(";")); // 同页面下记录并防重(li元素等情况)
if (!urlKeys[url]) {
urlKeys[url] = {
index: 0,
keys: []
};
urlKeys[url].keys.push(attributeKey);
} else {
if (urlKeys[url].keys.includes(attributeKey)) {
urlKeys[url].index += 1;
attributeKey += urlKeys[url].index;
attributeUrl += urlKeys[url].index;
} else {
urlKeys[url].keys.push(attributeKey);
}
}
var newProps = _objectSpread(_objectSpread({}, props), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, attribute, attributeKey), _defineProperty(_objectSpread2, "".concat(attribute, "-url"), attributeUrl), _objectSpread2));
for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
children[_key - 2] = arguments[_key];
}
return createEle.apply(void 0, [type, newProps].concat(children));
};
};
export default reactUniqueKey;
export { default as reactUniqueKey } from './uniqueKey';
export { default as reactEcode } from './rewrite';
declare const _default: () => void;
export default _default;
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "reactUniqueKey", {
enumerable: true,
get: function get() {
return _uniqueKey.default;
}
});
Object.defineProperty(exports, "reactEcode", {
enumerable: true,
get: function get() {
return _rewrite.default;
}
});
exports.default = void 0;
var _uniqueKey = _interopRequireDefault(require("./uniqueKey"));
var _rewrite = _interopRequireDefault(require("./rewrite"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = function _default() {
(0, _uniqueKey.default)();
(0, _rewrite.default)();
};
exports.default = _default;
export interface ReactEcodeProps {
attribute?: string;
}
declare const reactEcode: (props?: ReactEcodeProps | undefined) => void;
export default reactEcode;
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var reactEcode = function reactEcode(props) {
var createEle = _react.default.createElement;
_react.default.createElement = function createElement(type, props) {
function middleware(Com) {
console.log(Com);
var displayName = type.displayName || type.name;
if (!window.pcComponentsConfig) return Com;
if (!window.pcComponentsConfig[displayName]) return Com;
var comMap = window.pcComponentsConfig[displayName];
if (!comMap) return Com;
var rewriteFn = comMap.rewriteFn,
refactorFn = comMap.refactorFn;
return /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
// rewrite
if (rewriteFn && rewriteFn(props, displayName)) {
props = _objectSpread(_objectSpread({}, props), rewriteFn(props, displayName));
} // refactor
if (refactorFn && refactorFn(Com, props, displayName)) {
var _refactorFn = refactorFn(Com, props, displayName),
newCom = _refactorFn.com,
newProps = _refactorFn.props;
return createEle(newCom, _objectSpread(_objectSpread(_objectSpread({}, props), newProps), {}, {
ref: ref
}));
}
return createEle(Com, _objectSpread(_objectSpread({}, props), {}, {
ref: ref
}));
});
} // Proxy Component
for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
children[_key - 2] = arguments[_key];
}
if (typeof type !== "string") {
return createEle.apply(void 0, [middleware(type), props].concat(children));
}
return createEle.apply(void 0, [type, props].concat(children));
};
};
var _default = reactEcode;
exports.default = _default;
/**
* 封装React.createElement方法
* 使页面创建元素的时候都添加一个data-key的唯一属性,方便做自动化测试
* data-key的生成过程会先拼接元素的所有string类型属性,并且会 自动继承上级的data-key
* 最终由md5创建一个不可逆的加密
* 其他:
* 1、需要注意的是,如果元素存在动态的属性,比如className,那他的data-key也会不同;
* 2、为了保证尽可能的唯一,在自定义attribute的基础上增加了{attribute}-url的属性,为了尽可能存在一个唯一属性;
*/
export interface ReactUniqueKeyProps {
attribute?: string;
}
declare const reactUniqueKey: (props?: ReactUniqueKeyProps | undefined) => void;
export default reactUniqueKey;
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _md = _interopRequireDefault(require("md5"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var reactUniqueKey = function reactUniqueKey(props) {
var _ref = props || {},
_ref$attribute = _ref.attribute,
attribute = _ref$attribute === void 0 ? "data-key" : _ref$attribute;
var createEle = _react.default.createElement;
var urlKeys = {};
_react.default.createElement = function createElement(type, props) {
var _objectSpread2;
var keyStrings = [];
if (typeof type === "string") {
keyStrings.push("[label=".concat(type, "]"));
} // 这一步会自动添加上级的attribute生成新的
if (props) {
Object.keys(props).forEach(function (key) {
var value = props[key];
if (typeof value === "string") {
keyStrings.push("[".concat(key, "=").concat(value, "]"));
}
});
} // 尽可能保证有个唯一属性
var url = window.location.href;
var attributesWidthUrl = ["[url=".concat(url, "]")].concat(keyStrings);
var attributeKey = (0, _md.default)(keyStrings.join(";"));
var attributeUrl = (0, _md.default)(attributesWidthUrl.join(";")); // 同页面下记录并防重(li元素等情况)
if (!urlKeys[url]) {
urlKeys[url] = {
index: 0,
keys: []
};
urlKeys[url].keys.push(attributeKey);
} else {
if (urlKeys[url].keys.includes(attributeKey)) {
urlKeys[url].index += 1;
attributeKey += urlKeys[url].index;
attributeUrl += urlKeys[url].index;
} else {
urlKeys[url].keys.push(attributeKey);
}
}
var newProps = _objectSpread(_objectSpread({}, props), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, attribute, attributeKey), _defineProperty(_objectSpread2, "".concat(attribute, "-url"), attributeUrl), _objectSpread2));
for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
children[_key - 2] = arguments[_key];
}
return createEle.apply(void 0, [type, newProps].concat(children));
};
};
var _default = reactUniqueKey;
exports.default = _default;
+3
-2
{
"name": "@recoding/core",
"version": "0.0.6",
"version": "0.0.7",
"description": "",

@@ -26,5 +26,6 @@ "main": "lib/index.js",

"dependencies": {
"@types/md5": "^2.3.1",
"md5": "^2.3.0"
},
"gitHead": "c2bbf5fd10a403fcb3ab3c99e343a9ea5997e81b"
"gitHead": "9bb5d8e6a82fc1c8ea4831554464a5b70927e039"
}