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

cbml

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cbml - npm Package Compare versions

Comparing version 0.2.8 to 0.2.9

102

cbml.js

@@ -10,4 +10,4 @@ (function (exportName) {

* zswang (http://weibo.com/zswang)
* @version 0.2.8
* @date 2016-06-28
* @version 0.2.9
* @date 2016-07-13
*/

@@ -99,2 +99,6 @@ /*<function name="decodeHTML">*/

var tokens = [];
var S = { // 扫描的信息
text: code,
pos: 0 // 扫描位置
};
function pushToken(type, pos, endpos, data) {

@@ -124,6 +128,2 @@ if (endpos <= pos) {

}
var S = { // 扫描的信息
text: code,
pos: 0 // 扫描位置
};
while (S.pos < S.text.length) {

@@ -278,10 +278,12 @@ // find tagName // 「《!--jdists」--》

if (language === 'c') { // jsx
var isJsx;
var isJSX;
/*jshint loopfunc: true */
Object.keys(attrs).some(function (key) {
if (!attrStyles[key] && /^\s*\{/.test(attrs[key])) {
isJsx = true;
isJSX = true;
return true;
}
});
if (isJsx) {
/*jshint loopfunc: false */
if (isJSX) {
match = S.text.substring(S.pos + offset).match(/^[^]*?>\*\//);

@@ -344,2 +346,43 @@ if (match) {

/**
* 将没有闭合的左侧标签转换成文本节点,并合并相邻的文本节点
*
* @param {string} code 当前代码
* @param {Object} parentNode 父节点
*/
function left2text(code, parentNode) {
if (!parentNode || !parentNode.nodes) {
return;
}
for (var i = parentNode.nodes.length - 1; i >= 0; i--) {
var node = parentNode.nodes[i];
left2text(code, node);
if (node.type === 'left') {
node.type = 'text';
var firstChild = node.nodes[0];
if (firstChild) {
var lastChild = node.nodes[node.nodes.length - 1];
node.endpos = firstChild.pos;
node.value = code.slice(node.pos, node.endpos);
var params = [i + 1, 0];
[].push.apply(params, node.nodes);
[].splice.apply(parentNode.nodes, params);
if (parentNode.type !== 'cbml') {
parentNode.endpos = lastChild.endpos;
parentNode.value = code.slice(parentNode.pos, parentNode.endpos);
}
}
delete node.nodes; // 移除子节点
delete node.tag;
delete node.attrs;
delete node.language;
}
var nextNode = parentNode.nodes[i + 1];
if (nextNode && node.type === 'text' && nextNode.type === 'text') { // 合并文本
nextNode.pos = node.pos;
nextNode.value = code.slice(nextNode.pos, nextNode.endpos);
parentNode.nodes.splice(i, 1);
}
}
}
/**
* CBML 解析

@@ -452,43 +495,2 @@ *

exports.parse = parse;
/**
* 将没有闭合的左侧标签转换成文本节点,并合并相邻的文本节点
*
* @param {string} code 当前代码
* @param {Object} parentNode 父节点
*/
function left2text(code, parentNode) {
if (!parentNode || !parentNode.nodes) {
return;
}
for (var i = parentNode.nodes.length - 1; i >= 0; i--) {
var node = parentNode.nodes[i];
left2text(code, node);
if (node.type === 'left') {
node.type = 'text';
var firstChild = node.nodes[0];
if (firstChild) {
var lastChild = node.nodes[node.nodes.length - 1];
node.endpos = firstChild.pos;
node.value = code.slice(node.pos, node.endpos);
var params = [i + 1, 0];
[].push.apply(params, node.nodes);
[].splice.apply(parentNode.nodes, params);
if (parentNode.type !== 'cbml') {
parentNode.endpos = lastChild.endpos;
parentNode.value = code.slice(parentNode.pos, parentNode.endpos);
}
}
delete node.nodes; // 移除子节点
delete node.tag;
delete node.attrs;
delete node.language;
}
var nextNode = parentNode.nodes[i + 1];
if (nextNode && node.type === 'text' && nextNode.type === 'text') { // 合并文本
nextNode.pos = node.pos;
nextNode.value = code.slice(nextNode.pos, nextNode.endpos);
parentNode.nodes.splice(i, 1);
}
}
}
/* global define,module,window */

@@ -495,0 +497,0 @@ /* exported exports */

@@ -0,0 +0,0 @@ #!/usr/bin/env node

{
"name": "cbml",
"version": "0.2.8",
"version": "0.2.9",
"description": "CBML Parser",

@@ -5,0 +5,0 @@ "homepage": "https://github.com/cbml/cbmljs",

@@ -0,0 +0,0 @@ # [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Coverage Status][coverage-image]][coverage-url]

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