代码操作转换核心逻辑,如删除、移动、替换、插入等
npm install @mometa/fs-handler
# or use yarn
yarn add @mometa/fs-handler
const { createFsHandler, commonMiddlewares } = require('@mometa/fs-handler')
const handle = createFsHandler({
middlewares: commonMiddlewares(),
fs: require('fs')
})
handle(requestData).then(console.log)
export interface CommonPreload extends Range {
filename: string
text: string
}
// 删除
export interface DelPreload extends CommonPreload {}
// 替换
export interface ReplacePreload extends CommonPreload {
data: {
// 替换为哪个文本
newText: string
}
}
// 移动
export interface MoveNodePreload extends CommonPreload {
data: {
// 移动到哪个位置
to: Point
}
}
// 插入
export interface InsertNodePreload {
// 插入在哪个文件
filename: string
// 插入在哪个位置
to: Point
data: {
// 插入文本
newText?: string
wrap?: {
anotherTo: Point
startStr: string
endStr: string
}
// 插入物料
material?: Asset['data']
}
}
export type RequestData =
| {
type: OpType.DEL
preload: DelPreload
}
| {
type: OpType.REPLACE_NODE
preload: ReplacePreload
}
| {
type: OpType.MOVE_NODE
preload: MoveNodePreload
}
| {
type: OpType.INSERT_NODE
preload: InsertNodePreload
}
- Fork it!
- Create your new branch:
git checkout -b feature-new
orgit checkout -b fix-which-bug
- Start your magic work now
- Make sure npm test passes
- Commit your changes:
git commit -am 'feat: some description (close #123)'
orgit commit -am 'fix: some description (fix #123)'
- Push to the branch:
git push
- Submit a pull request :)
This library is written and maintained by imcuttle.
MIT - imcuttle