From 3f0f8a841da8689d199e03dc3c4f3a53c772935d Mon Sep 17 00:00:00 2001 From: HoikanChen Date: Tue, 16 Jan 2024 19:38:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=BB=BA=E4=B8=80=E4=B8=AAinula-react?= =?UTF-8?q?ive=E5=8C=85=EF=BC=8C=E4=B8=93=E9=97=A8=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E5=93=8D=E5=BA=94=E5=BC=8F=E8=83=BD=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/inula-reactive/.prettierrc.js | 32 ++ packages/inula-reactive/babel.config.js | 25 ++ packages/inula-reactive/jest.config.js | 31 ++ packages/inula-reactive/package.json | 9 + packages/inula-reactive/src/RNode.ts | 333 ++++++++++++++++++ packages/inula-reactive/src/RNodeAccessor.ts | 269 ++++++++++++++ packages/inula-reactive/src/RNodeCreator.ts | 69 ++++ packages/inula-reactive/src/Reactive.ts | 16 + packages/inula-reactive/src/Types.ts | 95 +++++ packages/inula-reactive/src/Utils.ts | 38 ++ .../src/comparison/DiffUtils.ts | 181 ++++++++++ .../inula-reactive/src/proxy/RProxyHandler.ts | 147 ++++++++ .../inula-reactive/tests/reactive.test.ts | 66 ++++ 13 files changed, 1311 insertions(+) create mode 100644 packages/inula-reactive/.prettierrc.js create mode 100644 packages/inula-reactive/babel.config.js create mode 100644 packages/inula-reactive/jest.config.js create mode 100644 packages/inula-reactive/package.json create mode 100644 packages/inula-reactive/src/RNode.ts create mode 100644 packages/inula-reactive/src/RNodeAccessor.ts create mode 100644 packages/inula-reactive/src/RNodeCreator.ts create mode 100644 packages/inula-reactive/src/Reactive.ts create mode 100644 packages/inula-reactive/src/Types.ts create mode 100644 packages/inula-reactive/src/Utils.ts create mode 100644 packages/inula-reactive/src/comparison/DiffUtils.ts create mode 100644 packages/inula-reactive/src/proxy/RProxyHandler.ts create mode 100644 packages/inula-reactive/tests/reactive.test.ts diff --git a/packages/inula-reactive/.prettierrc.js b/packages/inula-reactive/.prettierrc.js new file mode 100644 index 00000000..c2622eaa --- /dev/null +++ b/packages/inula-reactive/.prettierrc.js @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2023 Huawei Technologies Co.,Ltd. + * + * openInula is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * + * http://license.coscl.org.cn/MulanPSL2 + * + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + */ + +'use strict'; + +module.exports = { + printWidth: 120, // 一行120字符数,如果超过会进行换行 + tabWidth: 2, // tab等2个空格 + useTabs: false, // 用空格缩进行 + semi: true, // 行尾使用分号 + singleQuote: true, // 字符串使用单引号 + quoteProps: 'as-needed', // 仅在需要时在对象属性添加引号 + jsxSingleQuote: false, // 在JSX中使用双引号 + trailingComma: 'es5', // 使用尾逗号(对象、数组等) + bracketSpacing: true, // 对象的括号间增加空格 + bracketSameLine: false, // 将多行JSX元素的>放在最后一行的末尾 + arrowParens: 'avoid', // 在唯一的arrow函数参数周围省略括号 + vueIndentScriptAndStyle: false, // 不缩进Vue文件中的