@recoding/core
Advanced tools
| 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; |
+31
| "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" | ||
| } |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Empty package
Supply chain riskPackage does not contain any code. It may be removed, is name squatting, or the result of a faulty package publish.
Found 1 instance in 1 package
17356
968.72%14
600%287
Infinity%2
100%+ Added
+ Added