1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
|
package indexeddb
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"fmt"
"github.com/chromedp/cdproto/runtime"
"github.com/mailru/easyjson"
"github.com/mailru/easyjson/jlexer"
"github.com/mailru/easyjson/jwriter"
)
// DatabaseWithObjectStores database with an array of object stores.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/IndexedDB#type-DatabaseWithObjectStores
type DatabaseWithObjectStores struct {
Name string `json:"name"` // Database name.
Version float64 `json:"version"` // Database version (type is not 'integer', as the standard requires the version number to be 'unsigned long long')
ObjectStores []*ObjectStore `json:"objectStores"` // Object stores in this database.
}
// ObjectStore object store.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/IndexedDB#type-ObjectStore
type ObjectStore struct {
Name string `json:"name"` // Object store name.
KeyPath *KeyPath `json:"keyPath"` // Object store key path.
AutoIncrement bool `json:"autoIncrement"` // If true, object store has auto increment flag set.
Indexes []*ObjectStoreIndex `json:"indexes"` // Indexes in this object store.
}
// ObjectStoreIndex object store index.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/IndexedDB#type-ObjectStoreIndex
type ObjectStoreIndex struct {
Name string `json:"name"` // Index name.
KeyPath *KeyPath `json:"keyPath"` // Index key path.
Unique bool `json:"unique"` // If true, index is unique.
MultiEntry bool `json:"multiEntry"` // If true, index allows multiple entries for a key.
}
// Key Key.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/IndexedDB#type-Key
type Key struct {
Type KeyType `json:"type"` // Key type.
Number float64 `json:"number,omitempty"` // Number value.
String string `json:"string,omitempty"` // String value.
Date float64 `json:"date,omitempty"` // Date value.
Array []*Key `json:"array,omitempty"` // Array value.
}
// KeyRange key range.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/IndexedDB#type-KeyRange
type KeyRange struct {
Lower *Key `json:"lower,omitempty"` // Lower bound.
Upper *Key `json:"upper,omitempty"` // Upper bound.
LowerOpen bool `json:"lowerOpen"` // If true lower bound is open.
UpperOpen bool `json:"upperOpen"` // If true upper bound is open.
}
// DataEntry data entry.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/IndexedDB#type-DataEntry
type DataEntry struct {
Key *runtime.RemoteObject `json:"key"` // Key object.
PrimaryKey *runtime.RemoteObject `json:"primaryKey"` // Primary key object.
Value *runtime.RemoteObject `json:"value"` // Value object.
}
// KeyPath key path.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/IndexedDB#type-KeyPath
type KeyPath struct {
Type KeyPathType `json:"type"` // Key path type.
String string `json:"string,omitempty"` // String value.
Array []string `json:"array,omitempty"` // Array value.
}
// KeyType key type.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/IndexedDB#type-Key
type KeyType string
// String returns the KeyType as string value.
func (t KeyType) String() string {
return string(t)
}
// KeyType values.
const (
KeyTypeNumber KeyType = "number"
KeyTypeString KeyType = "string"
KeyTypeDate KeyType = "date"
KeyTypeArray KeyType = "array"
)
// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t KeyType) MarshalEasyJSON(out *jwriter.Writer) {
out.String(string(t))
}
// MarshalJSON satisfies json.Marshaler.
func (t KeyType) MarshalJSON() ([]byte, error) {
return easyjson.Marshal(t)
}
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *KeyType) UnmarshalEasyJSON(in *jlexer.Lexer) {
v := in.String()
switch KeyType(v) {
case KeyTypeNumber:
*t = KeyTypeNumber
case KeyTypeString:
*t = KeyTypeString
case KeyTypeDate:
*t = KeyTypeDate
case KeyTypeArray:
*t = KeyTypeArray
default:
in.AddError(fmt.Errorf("unknown KeyType value: %v", v))
}
}
// UnmarshalJSON satisfies json.Unmarshaler.
func (t *KeyType) UnmarshalJSON(buf []byte) error {
return easyjson.Unmarshal(buf, t)
}
// KeyPathType key path type.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/IndexedDB#type-KeyPath
type KeyPathType string
// String returns the KeyPathType as string value.
func (t KeyPathType) String() string {
return string(t)
}
// KeyPathType values.
const (
KeyPathTypeNull KeyPathType = "null"
KeyPathTypeString KeyPathType = "string"
KeyPathTypeArray KeyPathType = "array"
)
// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t KeyPathType) MarshalEasyJSON(out *jwriter.Writer) {
out.String(string(t))
}
// MarshalJSON satisfies json.Marshaler.
func (t KeyPathType) MarshalJSON() ([]byte, error) {
return easyjson.Marshal(t)
}
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *KeyPathType) UnmarshalEasyJSON(in *jlexer.Lexer) {
v := in.String()
switch KeyPathType(v) {
case KeyPathTypeNull:
*t = KeyPathTypeNull
case KeyPathTypeString:
*t = KeyPathTypeString
case KeyPathTypeArray:
*t = KeyPathTypeArray
default:
in.AddError(fmt.Errorf("unknown KeyPathType value: %v", v))
}
}
// UnmarshalJSON satisfies json.Unmarshaler.
func (t *KeyPathType) UnmarshalJSON(buf []byte) error {
return easyjson.Unmarshal(buf, t)
}
|