327 lines
6.9 KiB
Go
327 lines
6.9 KiB
Go
|
package internal
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"strconv"
|
||
|
)
|
||
|
|
||
|
// DomainType is the Chrome domain type.
|
||
|
type DomainType string
|
||
|
|
||
|
/*
|
||
|
Accessibility
|
||
|
Animation
|
||
|
ApplicationCache
|
||
|
CacheStorage
|
||
|
Console
|
||
|
CSS
|
||
|
Database
|
||
|
Debugger
|
||
|
DeviceOrientation
|
||
|
DOM
|
||
|
DOMDebugger
|
||
|
DOMStorage
|
||
|
Emulation
|
||
|
HeapProfiler
|
||
|
IndexedDB
|
||
|
Input
|
||
|
Inspector
|
||
|
IO
|
||
|
LayerTree
|
||
|
Log
|
||
|
Memory
|
||
|
Network
|
||
|
Page
|
||
|
Profiler
|
||
|
Rendering
|
||
|
Runtime
|
||
|
Schema
|
||
|
Security
|
||
|
ServiceWorker
|
||
|
Storage
|
||
|
SystemInfo
|
||
|
Target
|
||
|
Tethering
|
||
|
Tracing
|
||
|
*/
|
||
|
|
||
|
// generated with:
|
||
|
// '<,'>s/^\(.*\)$/Domain\1 DomainType = "\1"/
|
||
|
const (
|
||
|
DomainAccessibility DomainType = "Accessibility"
|
||
|
DomainAnimation DomainType = "Animation"
|
||
|
DomainApplicationCache DomainType = "ApplicationCache"
|
||
|
DomainCacheStorage DomainType = "CacheStorage"
|
||
|
DomainConsole DomainType = "Console"
|
||
|
DomainCSS DomainType = "CSS"
|
||
|
DomainDatabase DomainType = "Database"
|
||
|
DomainDebugger DomainType = "Debugger"
|
||
|
DomainDeviceOrientation DomainType = "DeviceOrientation"
|
||
|
DomainDOM DomainType = "DOM"
|
||
|
DomainDOMDebugger DomainType = "DOMDebugger"
|
||
|
DomainDOMStorage DomainType = "DOMStorage"
|
||
|
DomainEmulation DomainType = "Emulation"
|
||
|
DomainHeapProfiler DomainType = "HeapProfiler"
|
||
|
DomainIndexedDB DomainType = "IndexedDB"
|
||
|
DomainInput DomainType = "Input"
|
||
|
DomainInspector DomainType = "Inspector"
|
||
|
DomainIO DomainType = "IO"
|
||
|
DomainLayerTree DomainType = "LayerTree"
|
||
|
DomainLog DomainType = "Log"
|
||
|
DomainMemory DomainType = "Memory"
|
||
|
DomainNetwork DomainType = "Network"
|
||
|
DomainPage DomainType = "Page"
|
||
|
DomainProfiler DomainType = "Profiler"
|
||
|
DomainRendering DomainType = "Rendering"
|
||
|
DomainRuntime DomainType = "Runtime"
|
||
|
DomainSchema DomainType = "Schema"
|
||
|
DomainSecurity DomainType = "Security"
|
||
|
DomainServiceWorker DomainType = "ServiceWorker"
|
||
|
DomainStorage DomainType = "Storage"
|
||
|
DomainSystemInfo DomainType = "SystemInfo"
|
||
|
DomainTarget DomainType = "Target"
|
||
|
DomainTethering DomainType = "Tethering"
|
||
|
DomainTracing DomainType = "Tracing"
|
||
|
)
|
||
|
|
||
|
// String satisfies Stringer.
|
||
|
func (dt DomainType) String() string {
|
||
|
return string(dt)
|
||
|
}
|
||
|
|
||
|
// MarshalJSON satisfies json.Marshaler.
|
||
|
func (dt DomainType) MarshalJSON() ([]byte, error) {
|
||
|
return []byte(`"` + dt + `"`), nil
|
||
|
}
|
||
|
|
||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||
|
func (dt *DomainType) UnmarshalJSON(buf []byte) error {
|
||
|
s, err := strconv.Unquote(string(buf))
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
switch DomainType(s) {
|
||
|
|
||
|
// generated with:
|
||
|
// '<,'>s/^\(.*\)$/case Domain\1:\r\t*dt = Domain\1/
|
||
|
case DomainAccessibility:
|
||
|
*dt = DomainAccessibility
|
||
|
case DomainAnimation:
|
||
|
*dt = DomainAnimation
|
||
|
case DomainApplicationCache:
|
||
|
*dt = DomainApplicationCache
|
||
|
case DomainCacheStorage:
|
||
|
*dt = DomainCacheStorage
|
||
|
case DomainConsole:
|
||
|
*dt = DomainConsole
|
||
|
case DomainCSS:
|
||
|
*dt = DomainCSS
|
||
|
case DomainDatabase:
|
||
|
*dt = DomainDatabase
|
||
|
case DomainDebugger:
|
||
|
*dt = DomainDebugger
|
||
|
case DomainDeviceOrientation:
|
||
|
*dt = DomainDeviceOrientation
|
||
|
case DomainDOM:
|
||
|
*dt = DomainDOM
|
||
|
case DomainDOMDebugger:
|
||
|
*dt = DomainDOMDebugger
|
||
|
case DomainDOMStorage:
|
||
|
*dt = DomainDOMStorage
|
||
|
case DomainEmulation:
|
||
|
*dt = DomainEmulation
|
||
|
case DomainHeapProfiler:
|
||
|
*dt = DomainHeapProfiler
|
||
|
case DomainIndexedDB:
|
||
|
*dt = DomainIndexedDB
|
||
|
case DomainInput:
|
||
|
*dt = DomainInput
|
||
|
case DomainInspector:
|
||
|
*dt = DomainInspector
|
||
|
case DomainIO:
|
||
|
*dt = DomainIO
|
||
|
case DomainLayerTree:
|
||
|
*dt = DomainLayerTree
|
||
|
case DomainLog:
|
||
|
*dt = DomainLog
|
||
|
case DomainMemory:
|
||
|
*dt = DomainMemory
|
||
|
case DomainNetwork:
|
||
|
*dt = DomainNetwork
|
||
|
case DomainPage:
|
||
|
*dt = DomainPage
|
||
|
case DomainProfiler:
|
||
|
*dt = DomainProfiler
|
||
|
case DomainRendering:
|
||
|
*dt = DomainRendering
|
||
|
case DomainRuntime:
|
||
|
*dt = DomainRuntime
|
||
|
case DomainSchema:
|
||
|
*dt = DomainSchema
|
||
|
case DomainSecurity:
|
||
|
*dt = DomainSecurity
|
||
|
case DomainServiceWorker:
|
||
|
*dt = DomainServiceWorker
|
||
|
case DomainStorage:
|
||
|
*dt = DomainStorage
|
||
|
case DomainSystemInfo:
|
||
|
*dt = DomainSystemInfo
|
||
|
case DomainTarget:
|
||
|
*dt = DomainTarget
|
||
|
case DomainTethering:
|
||
|
*dt = DomainTethering
|
||
|
case DomainTracing:
|
||
|
*dt = DomainTracing
|
||
|
|
||
|
default:
|
||
|
return fmt.Errorf("unknown domain type %s", string(buf))
|
||
|
}
|
||
|
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// HandlerType are the handler targets for commands and events.
|
||
|
type HandlerType string
|
||
|
|
||
|
// HandlerType values.
|
||
|
const (
|
||
|
HandlerTypeBrowser HandlerType = "browser"
|
||
|
HandlerTypeRenderer HandlerType = "renderer"
|
||
|
)
|
||
|
|
||
|
// String satisfies stringer.
|
||
|
func (ht HandlerType) String() string {
|
||
|
return string(ht)
|
||
|
}
|
||
|
|
||
|
// MarshalJSON satisfies json.Marshaler.
|
||
|
func (ht HandlerType) MarshalJSON() ([]byte, error) {
|
||
|
return []byte(`"` + ht + `"`), nil
|
||
|
}
|
||
|
|
||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||
|
func (ht *HandlerType) UnmarshalJSON(buf []byte) error {
|
||
|
s, err := strconv.Unquote(string(buf))
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
switch HandlerType(s) {
|
||
|
case HandlerTypeBrowser:
|
||
|
*ht = HandlerTypeBrowser
|
||
|
case HandlerTypeRenderer:
|
||
|
*ht = HandlerTypeRenderer
|
||
|
|
||
|
default:
|
||
|
return fmt.Errorf("unknown handler type %s", string(buf))
|
||
|
}
|
||
|
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// TypeEnum is the Chrome domain type enum.
|
||
|
type TypeEnum string
|
||
|
|
||
|
// TypeEnum values.
|
||
|
const (
|
||
|
TypeAny TypeEnum = "any"
|
||
|
TypeArray TypeEnum = "array"
|
||
|
TypeBoolean TypeEnum = "boolean"
|
||
|
TypeInteger TypeEnum = "integer"
|
||
|
TypeNumber TypeEnum = "number"
|
||
|
TypeObject TypeEnum = "object"
|
||
|
TypeString TypeEnum = "string"
|
||
|
TypeTimestamp TypeEnum = "timestamp"
|
||
|
)
|
||
|
|
||
|
// String satisfies stringer.
|
||
|
func (te TypeEnum) String() string {
|
||
|
return string(te)
|
||
|
}
|
||
|
|
||
|
// MarshalJSON satisfies json.Marshaler.
|
||
|
func (te TypeEnum) MarshalJSON() ([]byte, error) {
|
||
|
return []byte(`"` + te + `"`), nil
|
||
|
}
|
||
|
|
||
|
// UnmarshalJSON satisfies json.Unmarshaler.
|
||
|
func (te *TypeEnum) UnmarshalJSON(buf []byte) error {
|
||
|
s, err := strconv.Unquote(string(buf))
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
switch TypeEnum(s) {
|
||
|
case TypeAny:
|
||
|
*te = TypeAny
|
||
|
case TypeArray:
|
||
|
*te = TypeArray
|
||
|
case TypeBoolean:
|
||
|
*te = TypeBoolean
|
||
|
case TypeInteger:
|
||
|
*te = TypeInteger
|
||
|
case TypeNumber:
|
||
|
*te = TypeNumber
|
||
|
case TypeObject:
|
||
|
*te = TypeObject
|
||
|
case TypeString:
|
||
|
*te = TypeString
|
||
|
|
||
|
default:
|
||
|
return fmt.Errorf("unknown type enum %s", string(buf))
|
||
|
}
|
||
|
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// GoType returns the Go type for the TypeEnum.
|
||
|
func (te TypeEnum) GoType() string {
|
||
|
switch te {
|
||
|
case TypeAny:
|
||
|
return "easyjson.RawMessage"
|
||
|
|
||
|
case TypeBoolean:
|
||
|
return "bool"
|
||
|
|
||
|
case TypeInteger:
|
||
|
return "int64"
|
||
|
|
||
|
case TypeNumber:
|
||
|
return "float64"
|
||
|
|
||
|
case TypeString:
|
||
|
return "string"
|
||
|
|
||
|
case TypeTimestamp:
|
||
|
return "time.Time"
|
||
|
|
||
|
default:
|
||
|
panic(fmt.Sprintf("called GoType on non primitive type %s", te.String()))
|
||
|
}
|
||
|
|
||
|
return ""
|
||
|
}
|
||
|
|
||
|
// GoEmptyValue returns the Go empty value for the TypeEnum.
|
||
|
func (te TypeEnum) GoEmptyValue() string {
|
||
|
switch te {
|
||
|
case TypeBoolean:
|
||
|
return `false`
|
||
|
|
||
|
case TypeInteger:
|
||
|
return `0`
|
||
|
|
||
|
case TypeNumber:
|
||
|
return `0`
|
||
|
|
||
|
case TypeString:
|
||
|
return `""`
|
||
|
|
||
|
case TypeTimestamp:
|
||
|
return `time.Time{}`
|
||
|
}
|
||
|
|
||
|
return `nil`
|
||
|
}
|