kelo
/
storage.go
49 строк · 872.0 Байт
1package godom
2
3import (
4"gitverse.ru/metalcore/kelo/wrapper"
5)
6
7type StorageValuer interface {
8wrapper.JSGetter
9
10Length() int
11
12Clear()
13GetItem(string) string
14Key(int) string
15RemoveItem(string)
16SetItem(string, string)
17}
18
19type Storage struct {
20wrapper.JS
21}
22
23func NewStorage(js wrapper.JSValuer) *Storage {
24return &Storage{*wrapper.NewJS(js)}
25}
26
27func (s *Storage) Length() int {
28return s.GetJS().Get("length").Int()
29}
30
31func (s *Storage) Clear() {
32s.GetJS().Call("clear")
33}
34
35func (s *Storage) GetItem(keyName string) string {
36return s.GetJS().Call("getItem", keyName).String()
37}
38
39func (s *Storage) Key(index int) string {
40return s.GetJS().Call("key", index).String()
41}
42
43func (s *Storage) RemoveItem(keyName string) {
44s.GetJS().Call("removeItem", keyName)
45}
46
47func (s *Storage) SetItem(keyName string, value string) {
48s.GetJS().Call("setItem", keyName, value)
49}
50