Socket
Book a DemoInstallSign in
Socket

@nola/ast

Package Overview
Dependencies
Maintainers
3
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nola/ast

AST Engine for Transfer Between Source and Visual

1.0.4
latest
npmnpm
Version published
Weekly downloads
2
-50%
Maintainers
3
Weekly downloads
 
Created
Source

AST Engine - Transfer Between Source and Visual

Install Dependency

npm i @nola/ast
# or
yarn add @nola/ast

Import Package

import { AST } from '@nola/ast';

How to Use ?

1. init

const { ast } = new AST(<source code>);

支持范围

组件定义

function App() {
  return <div></div>;
}

export default App;
const App = () => {
  return <div></div>;
};

export default App;
export default () => {
  return <div></div>;
};

react 语法

  • 字符串
<div className="div"></div>
  • 变量

内部定义的变量:

var classA = '222';
<div className={classA}></div>;

引入外部的变量:

import logo from './logo.preview.png';
<image href={logo}></image>;
  • 表达式

注释语句:

<div>{/* 这个是注释的代码 */}</div>

逻辑判断

const btnType = 'primary';
const count = 3;
<Button type={count > 1 ? btnType : 'text'}>btn</Button>;
const count = 9;
<div>{count > 1 ? <p id="3">1111</p> : <h1 className="4">2222</h1>}</div>;
const count = [1, 2, 3];
<div>{count.length ? <p id="3">1111</p> : <h1 className="4">2222</h1>}</div>;
  • 模版字符串
const w = 50;
return (
  <div
    style={{
      width: `${60 + w}px`
    }}
  >
    cube
  </div>
);
  • 函数
const caclWidth = (v1, v2) => {
  return `${v1 + v2 + 20}px`;
};
return (
  <div
    style={{
      width: caclWidth(2, 3)
    }}
  >
    cube
  </div>
);

FAQs

Package last updated on 03 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.