2.4.1 • Published 5 years ago
Bundle Size
Babel | Minified | Gzipped | Note |
---|
Uncompiled | 5.35 Kb | 2.01 Kb | |
Polyfill | 2.55 Kb | 901 byte | Increased 31% |
Compiled | 7.91 Kb | 2.91 Kb | Compressed 63% |
Core JS | Minified | Gzipped | Note |
---|
Before | 12.6 Kb | 4.26 Kb | Including dependencies |
core-js | 14.5 Kb | 5.02 Kb | Increased 54% |
After | 27.4 Kb | 9.27 Kb | Compressed 66% |
Usage
import {
lstore, // lstore core
lsInit, // to initate lstore
lsOptions, // creating options (typescript helper)
lsInstance, // creating an instance (typescript helper)
lsSchema // creating an schema (typescript helper)
} from 'tn-vue-lstore'
// Initiate lstore
let init = lsInit(options, ...instances[])
// Install the plugin
Vue.use(lstore, init)
lsOptions()
- Typescript helper
lsOptions(UserOptions)
type UserOptions = {
dev: {
package: string
loglimit?: number // 300
loggerChunk?: number // 50
disablelogging?: Method[] // ['get']
}
prod?: {} /* future plans */
}
Method list
lsInstance()
- Typescript helper
lsInstance(UserInstance)
type UserInstance = {
namespace: string
schema: UserSchema
storetype?: Storetype // 'local'
}
type Storetype = 'local' | 'session'
lsSchema()
- Typescript helper
lsSchema(UserSchema)
type UserSchema = {
[prop: string]: Schemaval
}
type Schemaval = Checker | Checker[] | SchemaSimple | SchemaNested
type SchemaSimple = {
nested?: never
default?: any
checker?: Checker | Checker[]
removable?: boolean
}
type SchemaNested = {
nested: UserSchema
unknown?: {
keyname?: RegExp | RegExp[]
checker?: Checker | Checker[]
}
}
Checker list
Usage in Vue
/**
* Namespace : foo/bar
* Schema path : baz > far
**/
this.$lstore.foo.bar('baz.far').method()
/**
* CheckError & Success callback
* Only for setter methods (See Methods)
**/
const cberror = function(){ ... }
const cbsuccess = function(){ ... }
this.$lstore.foo.bar('baz.far', cberror, cbsuccess).setter()
/**
* Also lstore can be accessed as a global variable
**/
$lstore
Method list
Devtools Commands
> $lstore
> $lstorelog
> $lstorelogFull
Checker list
String
Number
Boolean
Array
Object
RegExp
'json'
'null'
function(val){ return Boolean }
Method list
- Getters
- Setters
set(any)
setQuery(function)
increase(increaseby?)
decrease(decreaseby?)
push(...any[])
unshift(...any[])
pop(howmany?)
shift(howmany?)
- Objs
assign({...})
remove(...keys[])