1.0.55 • Published 1 year ago

dswda v1.0.55

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

dswda(Web data storage solution)

介绍

web数据的存储方案,内置了 indexeddb 和 localstorage;支持 sql 语句,和反向转换 sql。可以自定义我们自己的 store 方案。自定义的 store 支持接收 sql 或者一个对象。dswda 会根据 store 接受的类型自动转换成对应的参数类型;

安装

  # 通过npm下载
 npm i dswda -S

快速上手

let { initDB } = dswda

  let app = initDB({
      dname:'db4',
      tables:[
        {
          name:'tb1',
          primaryKey:'id',
          auto:true,
          fields:[{
            name:'id',
            unique:true,
            default:2,
            type:'varchar(10)'
          },{
            name:'name',
            unique:false,
            type:'string',
          },{
            name:'age',
            unique:false,
            type:'string'
          }],
        }
      ],
      version:1
    })


 let manager = app.exec()

console.log('this is dswda manager',maanger)

方法集合

methodfielddesc
initDBqry::DataBase初始化存储 db
createDBqry::DataBase创建一个存储 db
getstoreName:string通过一个 key 获取内容
set{key:name,v:value} tip:个别 store 不支持通过 key 设置 value
dbListnone获取支持的 store 列表
delDbdbName::string根据 store 名称删除 store
updateDbqry::DataBase更新 store
openDbdbName::string打开一个 store
selectqry::(SelectType or string)查询数据
insertqry::InsertType添加数据
updateqry::UpdateType更新数据
deleteqry::DeleteType删除数据
sqlsqlStr::string支持 sql 语法
versionqry::boolean获取当前 store 版本号
switchOriginstoreName::string切换 store 源

type

方法中接收的类型

DataBase

fieldtypedescrequired
dnamestring存储 db 的名称true
tablesTable[]store 的集合false
versionboolean存储 db 的版本false

Table

fieldtypedescrequired
namestore 的名称存储 db 的名称true
fieldsFieldMeta[]store 的集合false
primaryKeyboolean是否是唯一值false
autoboolean主键是否自动递增false

FieldMeta

fieldtypedescrequired
namestring字段名true
primaryKeyboolean是否是主键唯一值false default:false
autoboolean主键是否自动递增false default:false
autoIncrementboolean同 autofalse default:false
uniqueboolean是否是唯一值false default:false
typeFieldType字段值存储类型false default:text
notNullnone-false
dataTypenone-false
defaultnone-false
multiEntrynone-false
enableSearchnone-false
keyPathnone-false

BaseQry

fieldtypedescrequired
order'asc' or 'desc'排序false default: 'desc'
groupBystring or string[]分组false
havingobject对查询的数据二次筛选条件false
limitnumber or number[]分页false
whereWhereQry查询条件false

SelectType extends BaseQry

fieldtypedescrequired
fromstring来源的 storetrue
fields(FieldMeta[] or string or string[] )查询的字段false

InsertType

fieldtypedescrequired
intostring来源的 storetrue
valuesInsertTypeMeta[]插入的一个数组true

UpdateType extends BaseQry

fieldtypedescrequired
fromstring来源的 storetrue
setInsertTypeMeta[]修改的对象true
whereWhereQry查询条件false

DeleteType extends BaseQry

fieldtypedescrequired
fromstring来源的 storetrue
whereWhereQry查询条件false

InsertTypeMeta

{

}

WhereQry

WhereQryObj | WhereQryArray | string;

WhereQryArray

Array

WhereQryObj

{ key: string: WhereQryObj | string | WhereQryValueObj; }

WhereQryValueObj

fieldtypedescrequired
attrstring字段名称true
valueany字段值false
typeenum'and' or 'or'false

middleware

dswda 支持中间件,每次执行和完成后都会经过中间件的过滤。一个洋葱模型对象。

  • 稍后补充

plugin

dswda 支持插件,比如:增加日志插件,打点插件等;

  • 稍后补充

扩展 store

dswda 内置了 indexeddb 和 localStorerage;但是他并不仅仅只有这些。他对外提供了一些接口和抽象类。只要去继承他,并且实现这些方法,就可以手动开发一个我们自己的 store 数据管理存储库。 如果你不想继承这些接口或者抽象类,那么只要按照他的规范也可以。他是宽松的;有两种方式去开发我们自定义的 store

  • 开发一个 clalss 对象,并继承对外提供的 interface 或者 abstruct
  • 直接按照规范去实现这些方法即可;

稍后补充

开源协议

本项目基于 MIT,请自由的享受和参与开源。

1.0.44

1 year ago

1.0.43

1 year ago

1.0.42

1 year ago

1.0.48

1 year ago

1.0.46

1 year ago

1.0.45

1 year ago

1.0.49

1 year ago

1.0.51

1 year ago

1.0.50

1 year ago

1.0.55

1 year ago

1.0.54

1 year ago

1.0.53

1 year ago

1.0.52

1 year ago

1.0.41

1 year ago

1.0.39

1 year ago

1.0.38

1 year ago

1.0.35

1 year ago

1.0.34

1 year ago

1.0.33

1 year ago

1.0.32

1 year ago

1.0.30

1 year ago

1.0.29

1 year ago

1.0.28

1 year ago

1.0.27

1 year ago

1.0.23

1 year ago

1.0.16

1 year ago

1.0.15

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.10

1 year ago

1.0.5

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago