# dlsjs-doc
**Repository Path**: izeya/dlsjs-doc
## Basic Information
- **Project Name**: dlsjs-doc
- **Description**: 用于dlsjs的文档站
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2024-02-06
- **Last Updated**: 2025-08-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
DLS.JS
Dynamic Language Scope
扩展你自己的 领域驱动语法 ,让动态编程更简单
> DLS.JS是一个通过 领域驱动语法 去处理 复杂结构数据 的JavaScript库。
>
> 我参考了 *JSON Schema* 的索引规范,通过 *ES6* 的 *Proxy* 创建读写代理,支持了一种自定义读写语法;在那之后,我又围绕着这个语法,做了一些其他的工具函数,下面我会简单的介绍一下。
>
> *虽然你可能已经知道使用Proxy意味着什么,但我还是要强调一下。这个函数不支持IE11浏览器。*
```js
import {RW} from 'dlsjs'
// 比如获取到一个对象,它的内容不固定
let ticketData = {}
// 现在需要给他的某个深层属性赋值,这就可以用到我们的 RW 函数
RW(ticketData)['#/assignInfo/assignUser/name'] = 'Tom'
// 上面这行语法等价于
if(!ticketData.assignInfo) ticketData.assignInfo = {}
if(!ticketData.assignInfo.assignUser) ticketData.assignInfo.assignUser = {}
ticketData.assignInfo.assignUser.name = 'Tom'
```
> 借助这个特性,或者说类似的设计模式,我还提供了很多常用函数,比如:
- 🕒 不改变内存地址的赋值 (deepAssign, deepMerge)
- 💪 深度对比数据的不同属性 (deepDiff)
- 🔥 链式操作语法驱动 (Chain)
- 🌐 领域JSON解析 (deepConvert)
- 📦 树,表,维表 快捷操作 (list2Tree, treeFind, treeForEach)
- 👫 值判断与特征判断 (isRangeIn, matchRules)
---
## 快速开始
### 文档
访问 [qwerjs.top](https://qwerjs.top/) 网站查看更详细的文档
### 安装
```console
npm install dlsjs --save
```
📚[API 参考](http://qwerjs.top/)