New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@esydoc/doclet-parser

Package Overview
Dependencies
Maintainers
1
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@esydoc/doclet-parser - npm Package Compare versions

Comparing version 2.0.1-beta.3 to 2.0.1-beta.4

80

dist/index.js

@@ -497,2 +497,15 @@ /*!

};
var createFn = function (node) {
var properties = node.properties;
if (!properties || !properties.length) {
return new Function();
}
else {
var args = properties.map(function (node) {
return node.name || node.type.names[0];
});
// 我们需要动态构造函数
return new (Function.bind.apply(Function, __spreadArrays([void 0], __spreadArrays(args, ['// do something']))))();
}
};
var transofrmDataTreeNode2Value = function (node) {

@@ -512,2 +525,12 @@ var finalValue = null;

var stack = [];
var resolvedStore = new Map(); // 标记已经复用的阶段
function record(key, value) {
if (storeRef) {
recordNodeValueForStore(storeRef, value, key);
}
else {
// 第一次传进来的node就是enum节点
finalValue = value;
}
}
traverseNode(node, function (node) {

@@ -517,4 +540,2 @@ var _a;

var properties = node.properties;
var parent = node.parent;
var value;
switch (type) {

@@ -524,8 +545,3 @@ case 'Object':

var initValue = type === 'Object' ? {} : [];
if (finalValue === null) {
finalValue = initValue; // 保持对最外层数据的引用
}
else {
recordNodeValueForStore(storeRef, initValue, node.name);
}
record(node.name, initValue);
storeRef = initValue;

@@ -536,21 +552,11 @@ stack.push(initValue);

case 'function':
if (!properties || !properties.length) {
value = new Function();
if (resolvedStore.has(node.name)) {
record(node.name, resolvedStore.get(node.name));
}
else {
var args = properties.map(function (node) {
return node.name || node.type.names[0];
});
// 我们需要动态构造函数
value = new (Function.bind.apply(Function, __spreadArrays([void 0], __spreadArrays(args, ['// do something']))))();
else if (properties && properties.length) {
var fn = createFn(node);
record(node.name, fn);
// side effect params在上面代码已经处理了,不需要后续解析
node.properties = undefined;
}
// side effect params在上面代码已经处理了,不需要后续解析
node.properties = undefined;
if (storeRef) {
recordNodeValueForStore(storeRef, value, node.name);
}
else {
// 第一次传进来的node就是函数节点
finalValue = value;
}
break;

@@ -565,15 +571,13 @@ case 'Promise':

case 'Enum':
if (properties && properties.length) {
var value_1 = properties[0].name; // Enum定义的name就是它的实际值
if (storeRef) {
var exisedParent = parent;
var key = exisedParent.type === POLYTYPE$1 ? exisedParent.name : node.name;
recordNodeValueForStore(storeRef, value_1, key);
}
else {
// 第一次传进来的node就是enum节点
finalValue = value_1;
}
node.properties = [properties[0]]; // 因为前期已经选定了首个值作为输出,后续复用也只解析这个
if (resolvedStore.has(node.name)) {
record(node.name, resolvedStore.get(node.name));
}
else if (properties && properties.length) {
// Enum定义的name就是它的实际值
var childValue = properties[0].name;
record(node.name, childValue);
resolvedStore.set(node.name, childValue);
// side effect enum 在上面代码已经处理了,不需要后续解析
node.properties = undefined;
}
else {

@@ -584,3 +588,3 @@ throw new Error('Enum类型的数据至少存在一个枚举值');

default:
recordNodeValueForStore(storeRef, type2Value(type, node), node.name);
record(node.name, type2Value(type, node));
}

@@ -587,0 +591,0 @@ }, function (node) {

{
"name": "@esydoc/doclet-parser",
"version": "2.0.1-beta.3",
"version": "2.0.1-beta.4",
"description": "The parser for doclet that it resolved by jsdoc",

@@ -28,5 +28,5 @@ "author": "Alex <857276958@qq.com>",

"dependencies": {
"@esydoc/share": "^2.0.1-beta.3"
"@esydoc/share": "^2.0.1-beta.4"
},
"gitHead": "95b2d489b825378ee88f40f8eb9e5f3b8461caf1"
"gitHead": "7dcb817a3a6e88cbedbe4ccccd13c03ef5e8a681"
}
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