🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@complex-suite/data

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@complex-suite/data - npm Package Compare versions

Comparing version
5.0.7
to
5.0.8
+31
ToDo.md
# @complex-suite/data 开发待办
> 本文档记录 data 包的功能待办、设计决策与已放弃方案。
## Abandon
- 优化ObserveList通过defineReactive实现而不是之前的observe实现
- 实际上此实现可能会导致form在重复生成响应式时导致过多的set重写问题,暂时弃用
- 考虑originProp跟随edit,尽可能的把字典数据与编辑数据解绑,包括编辑函数,考虑加载时把对应函数直接加载到编辑数据中,简化字典数据
- 理论上originProp是全局一致,跟随edit需要额外定义,实现逻辑更改为originProp与prop相同则不赋值
- DictionaryData中添加菜单转DictionaryValue的函数
- 通过尽可能减少DictionaryData与DictionaryValue的关联,后期主要通过DictionaryValue实现功能逻辑,转换功能放弃
- 重新instanceof判断static [Symbol.hasInstance](instance: any) { return instance.constructor.$name === this.$name }
- 实际调用发现,最终的判断都会到Data中去判断与Data的关系而不是与DefaultData的关系,猜测每个类单独重写此方法可能回有效,但是可能存在重写疏漏导致的错误问题,此功能放弃,特殊项目需要可以单独实现
- 放弃级联数据的关联,级联数据需要可通过基础函数实现,仅添加depth作为可能存在的深度的额外判断条件
- 相互依赖关系通过额外的工具函数实现
- DefaultMod的formaters属性,考虑实现对AttrsValue的最终格式化,但是因renders函数本身能实现相关功能且需要对组件进行大量适配,放弃
## TIPS
- 持续优化reset/destory,其中reset在能恢复的基础上尽可能的删除数据,destory不考虑恢复问题,尽可能的初始化数据
- 删除属性测试结果,delete时间长但是后期内存占用小,设置undefined速度快但是有小内存占用
- 数据保存,array/object/map测试结果,内存占用array[593M]/object[882M]/map[982M],保存速度array[958ms]/object[5084ms]/map[5161ms],读取速度array[基于index速度最快基于循环查找超大数据量下内存溢出]/object[1872ms]/map[268ms]
## ToDo
- 优化全局类型
- 实现List表单
- SearchMenu实现完成后联动刷新机制
- 简化整体代码
- 优化代码结构
+3
-25

@@ -0,27 +1,5 @@

### `5.0.8`
- docs: 更新子包 README 安装命令,修正旧包名 `complex-*` 为 `@complex-suite/*`。
- docs: 创建 `Todo.md`,迁移 `history.md` 中的待办事项。
### Abandon
- 优化ObserveList通过defineReactive实现而不是之前的observe实现
- - 实际上此实现可能会导致form在重复生成响应式时导致过多的set重写问题,暂时弃用
- 考虑originProp跟随edit,尽可能的把字典数据与编辑数据解绑,包括编辑函数,考虑加载时把对应函数直接加载到编辑数据中,简化字典数据
- - 理论上originProp是全局一致,跟随edit需要额外定义,实现逻辑更改为originProp与prop相同则不赋值
- DictionaryData中添加菜单转DictionaryValue的函数
- - 通过尽可能减少DictionaryData与DictionaryValue的关联,后期主要通过DictionaryValue实现功能逻辑,转换功能放弃
- 重新instanceof判断static [Symbol.hasInstance](instance: any) { return instance.constructor.$name === this.$name }
- - 实际调用发现,最终的判断都会到Data中去判断与Data的关系而不是与DefaultData的关系,猜测每个类单独重写此方法可能回有效,但是可能存在重写疏漏导致的错误问题,此功能放弃,特殊项目需要可以单独实现
- 放弃级联数据的关联,级联数据需要可通过基础函数实现,仅添加depth作为可能存在的深度的额外判断条件
- 相互依赖关系通过额外的工具函数实现
- DefaultMod的formaters属性,考虑实现对AttrsValue的最终格式化,但是因renders函数本身能实现相关功能且需要对组件进行大量适配,放弃
### TIPS
- 持续优化reset/destory,其中reset在能恢复的基础上尽可能的删除数据,destory不考虑恢复问题,尽可能的初始化数据
- 删除属性测试结果,delete时间长但是后期内存占用小,设置undefined速度快但是有小内存占用
- 数据保存,array/object/map测试结果,内存占用array[593M]/object[882M]/map[982M],保存速度array[958ms]/object[5084ms]/map[5161ms],读取速度array[基于index速度最快基于循环查找超大数据量下内存溢出]/object[1872ms]/map[268ms]
### ToDo
- 优化全局类型
- 实现List表单
- SearchMenu实现完成后联动刷新机制
- 简化整体代码
- 优化代码结构
### `5.0.7`

@@ -28,0 +6,0 @@ - fix(translate)!: 修复翻译冻结点,涉及非兼容性类型变更

{
"name": "@complex-suite/data",
"version": "5.0.7",
"version": "5.0.8",
"description": "a complex data",

@@ -15,4 +15,4 @@ "type": "module",

"dependencies": {
"@complex-suite/utils": "3.0.7",
"@complex-suite/plugin": "5.0.7"
"@complex-suite/utils": "3.0.8",
"@complex-suite/plugin": "5.0.8"
},

@@ -19,0 +19,0 @@ "devDependencies": {

# Complex Data
`complex-data` 是一个高度可组合、可扩展、由数据驱动的 UI 逻辑层框架。它旨在将复杂前端页面(尤其是表单、列表和数据表格)的状逻辑、数据流和交互行为,从具体的 UI 框架中解耦出来,通过一份结构化的数据(我们称之为“字典”)来进行定义和管理。
`@complex-suite/data` 是一个高度可组合、可扩展、由数据驱动的 UI 逻辑层框架。它旨在将复杂前端页面(尤其是表单、列表和数据表格)的状逻辑、数据流和交互行为,从具体的 UI 框架中解耦出来,通过一份结构化的数据(我们称之为“字典”)来进行定义和管理。

@@ -24,3 +24,3 @@ ## 核心理念

```bash
npm install complex-data
npm install @complex-suite/data
```

@@ -33,3 +33,3 @@

```typescript
import { ComplexData } from 'complex-data';
import { ComplexData } from '@complex-suite/data';

@@ -93,4 +93,4 @@ // 1. 定义表单字典

- [`complex-utils`](https://github.com/MarAngle/complex-utils): 提供核心的工具函数和基类。
- [`complex-plugin`](https://github.com/MarAngle/complex-plugin): 提供布局和通知系统。
- [`@complex-suite/utils`](https://github.com/MarAngle/@complex-suite/utils): 提供核心的工具函数和基类。
- [`@complex-suite/plugin`](https://github.com/MarAngle/@complex-suite/plugin): 提供布局和通知系统。

@@ -97,0 +97,0 @@ ## 贡献