You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

qtreeobj

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

qtreeobj

QTreeObj is a simple virtual directory object management tool

0.0.3
latest
Source
npmnpm
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

QTreeObj

  • 一个简单的用路径管理的树结构函数对象
  • 内部维护一个对象,这个对象以【键值对】的访问维护数据对象的路径
  • 本工具的使用场景是同一个目录,需要生成虚拟的多目录场景或者类似场景才适用
  • 核心价值是通过 文件名来找到和操作对应的层级的数据

License

BSD 3-Clause License

使用

    var data = [{
        label: "未分类",
        id: "x1",
        children: [{
            label: "未分类.jm",
            path: "c:/path/xxx/未分类.jm",
            id: "x2",
        }, ],
    }, ];
    const store = new QTreeObj(data, { formated: true });

或者

  var data = ["文件1", "文件2"];
    const store = new QTreeObj(data, { formated: false });

方法

文件操作

nameDescription参数返回
addToDir(arg1,arg2)添加一个新元素到指定目录arg1文件名字,arg2:目录名字,arg3:添加个包含文件名的对象(可选)成功true,失败false
removeFromDir(arg1,arg2)移除某个目录下的一个元素arg1文件名字,arg2目录名字成功true,失败false
removeByName(arg1)某个目录下的一个元素arg1文件名字成功true,失败false
rename(arg1,arg2)重命名文件名arg1旧文件名字,arg2新的文件名成功true,失败false

文件夹操作

nameDescription参数返回
addGroup(arg1,arg2)添加一个目录arg1目录名字,arg2:路径(可选,如果没有默认放到根数组最后一个)成功true,失败false
removeGroup(arg1)移除某个目录下arg1目录成功true,失败false
renameGroup(arg1,arg2)从命名目录arg1旧的目录名字,arg2新的目录名名字成功true,失败false

初始化数据

nameDescription参数
new QTreeObj(arg1,arg2)初始化数据arg1初始化数据,第一个数组会当做未分类目录处理,arg2:{formated:boolean,fileNameStr:string,defaultGroupLabelName:string},formated 是否是格式化后的数据,默认false,fileNameStr显示的文件名字段默认是label,defaultGroupLabelName默认为分类的字段,默认未分类-
parsePathStr(arg1,arg2)根据路径来得到在对象中的数据arg1是字符串,以.分割,arg2是可选的对象,如果不传默认是内容数据-
getStore获取数据结果(有可能报错,如果数据不是有效的json)返回menu和reflex-
update同步数据到已有的树节点,会处理新增或删除array(["文件名1","文件名2"])-

initStore arg1的格式如下,如果opitons的formated为true

除了label其他都是可选,label无法重复,重复就会覆盖,针对文件目录没有后缀和文件有后缀(一个目录里面文件名也不会出现重复)的方式,永远不会出现重复的情况


    var data = [{
            label: "未分类",
            id: "x1",
            children: [{
                label: "未分类.jm",
                path: "c:/path/xxx/未分类.jm",
                id: "x2",
            }]
        }, {
            label: "分类1",
            id: "x2",
            children: [{
                label: "分类1.jm",
                path: "c:/path/xxx/分类1.jm",
                id: "x4",
            }, {
                label: "分类2",
                id: "x5",
                children: [{
                    label: "分类1.jm",
                    path: "c:/path/xxx/分类1.jm",
                    id: "x6"
                }]
            }]
        }];

如果options的formated为false,第一个参数如下

["字符串1","字符串2"]

以上数据内部会生成一个如下的对象

{
    'menu下的目录': "menu.2"
    'new分类1': "menu.1"
    '你好啊.jm': "menu.0.children.1"
    '分类1.jm': "menu.1.children.1.children.0"
    '分类2': "menu.1.children.1"
    '新增到目录1.jm': "menu.2.children.0"
    '新增到目录2.jm': "menu.2.children.1"
    '未分类': "menu.0"
    '未分类.jm': "menu.0.children.0"
}

Keywords

QTreeObj

FAQs

Package last updated on 04 Jul 2022

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.