Documentation
¶
Index ¶
- Constants
- Variables
- func Boot() *boot
- type ActivationEvent
- type BoltStorage
- func (b *BoltStorage) Clear() error
- func (b *BoltStorage) Close() error
- func (b *BoltStorage) Delete(bucket string, key string) error
- func (b *BoltStorage) Get(bucket string, key string, v any) (bool, error)
- func (b *BoltStorage) List(bucket string, v any) error
- func (b *BoltStorage) Pop(bucket string, key string, v any) error
- func (b *BoltStorage) Put(bucket string, key string, v any) error
- func (b *BoltStorage) Setup(buckets []string) error
- type ContextStorage
- type Downloader
- func (d *Downloader) Clear() error
- func (d *Downloader) Close() error
- func (d *Downloader) Continue(id string) (err error)
- func (d *Downloader) ContinueAll() (err error)
- func (d *Downloader) Create(rrId string, opts *base.Options) (taskId string, err error)
- func (d *Downloader) CreateDirect(req *base.Request, opts *base.Options) (taskId string, err error)
- func (d *Downloader) Delete(id string, force bool) (err error)
- func (d *Downloader) DeleteExtension(identity string) error
- func (d *Downloader) ExtensionPath(ext *Extension) string
- func (d *Downloader) GetConfig() (*DownloaderStoreConfig, error)
- func (d *Downloader) GetExtension(identity string) (*Extension, error)
- func (d *Downloader) GetExtensions() []*Extension
- func (d *Downloader) GetTask(id string) *Task
- func (d *Downloader) GetTasks() []*Task
- func (d *Downloader) InstallExtensionByFolder(path string, devMode bool) (*Extension, error)
- func (d *Downloader) InstallExtensionByGit(url string) (*Extension, error)
- func (d *Downloader) Listener(fn Listener)
- func (d *Downloader) Pause(id string) (err error)
- func (d *Downloader) PauseAll() (err error)
- func (d *Downloader) PutConfig(v *DownloaderStoreConfig) error
- func (d *Downloader) Resolve(req *base.Request) (rr *ResolveResult, err error)
- func (d *Downloader) Setup() error
- func (d *Downloader) SwitchExtension(identity string, status bool) error
- func (d *Downloader) UpdateExtensionSettings(identity string, settings map[string]any) error
- func (d *Downloader) UpgradeCheckExtension(identity string) (newVersion string, err error)
- func (d *Downloader) UpgradeExtension(identity string) error
- type DownloaderConfig
- type DownloaderStoreConfig
- type Event
- type EventKey
- type Extension
- type ExtensionInfo
- type Instance
- type InstanceEvents
- type InstanceLogger
- type Listener
- type Match
- type MemStorage
- func (n *MemStorage) Clear() error
- func (n *MemStorage) Close() error
- func (n *MemStorage) Delete(bucket string, key string) error
- func (n *MemStorage) Get(bucket string, key string, v any) (bool, error)
- func (n *MemStorage) List(bucket string, v any) error
- func (n *MemStorage) Pop(bucket string, key string, v any) error
- func (n *MemStorage) Put(bucket string, key string, v any) error
- func (n *MemStorage) Setup(buckets []string) error
- type OnResolveContext
- type OnStartContext
- type Option
- type Progress
- type Repository
- type ResolveResult
- type Script
- type Setting
- type SettingType
- type Storage
- type Task
Constants ¶
View Source
const ( EventKeyStart = "start" EventKeyPause = "pause" EventKeyProgress = "progress" EventKeyError = "error" EventKeyDelete = "delete" EventKeyDone = "done" EventKeyFinally = "finally" )
Variables ¶
View Source
var ( ErrExtensionNoManifest = fmt.Errorf("manifest.json not found") ErrExtensionNotFound = fmt.Errorf("extension not found") )
View Source
var (
ErrTaskNotFound = errors.New("task not found")
)
Functions ¶
Types ¶
type ActivationEvent ¶ added in v1.4.0
type ActivationEvent string
const ( EventOnResolve ActivationEvent = "onResolve" EventOnStart ActivationEvent = "onStart" )
type BoltStorage ¶
type BoltStorage struct {
// contains filtered or unexported fields
}
func NewBoltStorage ¶
func NewBoltStorage(dir string) *BoltStorage
func (*BoltStorage) Clear ¶
func (b *BoltStorage) Clear() error
func (*BoltStorage) Close ¶
func (b *BoltStorage) Close() error
func (*BoltStorage) Setup ¶
func (b *BoltStorage) Setup(buckets []string) error
type ContextStorage ¶ added in v1.4.1
type ContextStorage struct {
// contains filtered or unexported fields
}
func (*ContextStorage) Clear ¶ added in v1.4.1
func (s *ContextStorage) Clear()
func (*ContextStorage) Get ¶ added in v1.4.1
func (s *ContextStorage) Get(key string) any
func (*ContextStorage) Keys ¶ added in v1.4.1
func (s *ContextStorage) Keys() []string
func (*ContextStorage) Remove ¶ added in v1.4.1
func (s *ContextStorage) Remove(key string)
func (*ContextStorage) Set ¶ added in v1.4.1
func (s *ContextStorage) Set(key string, value string)
type Downloader ¶
type Downloader struct {
Logger *logger.Logger
ExtensionLogger *logger.Logger
// contains filtered or unexported fields
}
func NewDownloader ¶
func NewDownloader(cfg *DownloaderConfig) *Downloader
func (*Downloader) Clear ¶
func (d *Downloader) Clear() error
func (*Downloader) Close ¶
func (d *Downloader) Close() error
func (*Downloader) Continue ¶
func (d *Downloader) Continue(id string) (err error)
func (*Downloader) ContinueAll ¶ added in v1.3.2
func (d *Downloader) ContinueAll() (err error)
func (*Downloader) CreateDirect ¶ added in v1.3.1
func (*Downloader) DeleteExtension ¶ added in v1.4.0
func (d *Downloader) DeleteExtension(identity string) error
func (*Downloader) ExtensionPath ¶ added in v1.4.0
func (d *Downloader) ExtensionPath(ext *Extension) string
func (*Downloader) GetConfig ¶
func (d *Downloader) GetConfig() (*DownloaderStoreConfig, error)
func (*Downloader) GetExtension ¶ added in v1.4.0
func (d *Downloader) GetExtension(identity string) (*Extension, error)
func (*Downloader) GetExtensions ¶ added in v1.4.0
func (d *Downloader) GetExtensions() []*Extension
func (*Downloader) GetTask ¶
func (d *Downloader) GetTask(id string) *Task
func (*Downloader) GetTasks ¶
func (d *Downloader) GetTasks() []*Task
func (*Downloader) InstallExtensionByFolder ¶ added in v1.4.0
func (d *Downloader) InstallExtensionByFolder(path string, devMode bool) (*Extension, error)
func (*Downloader) InstallExtensionByGit ¶ added in v1.4.0
func (d *Downloader) InstallExtensionByGit(url string) (*Extension, error)
func (*Downloader) Listener ¶
func (d *Downloader) Listener(fn Listener)
func (*Downloader) Pause ¶
func (d *Downloader) Pause(id string) (err error)
func (*Downloader) PauseAll ¶ added in v1.3.2
func (d *Downloader) PauseAll() (err error)
func (*Downloader) PutConfig ¶
func (d *Downloader) PutConfig(v *DownloaderStoreConfig) error
func (*Downloader) Resolve ¶
func (d *Downloader) Resolve(req *base.Request) (rr *ResolveResult, err error)
func (*Downloader) Setup ¶
func (d *Downloader) Setup() error
func (*Downloader) SwitchExtension ¶ added in v1.4.0
func (d *Downloader) SwitchExtension(identity string, status bool) error
func (*Downloader) UpdateExtensionSettings ¶ added in v1.4.0
func (d *Downloader) UpdateExtensionSettings(identity string, settings map[string]any) error
func (*Downloader) UpgradeCheckExtension ¶ added in v1.4.0
func (d *Downloader) UpgradeCheckExtension(identity string) (newVersion string, err error)
UpgradeCheckExtension Check if there is a new version for the extension.
func (*Downloader) UpgradeExtension ¶ added in v1.4.0
func (d *Downloader) UpgradeExtension(identity string) error
type DownloaderConfig ¶
type DownloaderConfig struct {
Controller *controller.Controller
FetchBuilders []fetcher.FetcherBuilder
RefreshInterval int `json:"refreshInterval"` // RefreshInterval time duration to refresh task progress(ms)
Storage Storage
StorageDir string
ProductionMode bool
*DownloaderStoreConfig
}
func (*DownloaderConfig) Init ¶
func (cfg *DownloaderConfig) Init() *DownloaderConfig
type DownloaderStoreConfig ¶
type DownloaderStoreConfig struct {
FirstLoad bool `json:"-"` // FirstLoad is the flag that the config is first time init and not from store
DownloadDir string `json:"downloadDir"` // DownloadDir is the default directory to save the downloaded files
MaxRunning int `json:"maxRunning"` // MaxRunning is the max running download count
ProtocolConfig map[string]any `json:"protocolConfig"` // ProtocolConfig is special config for each protocol
Extra map[string]any `json:"extra"` // Extra is the extra config
}
DownloaderStoreConfig is the config that can restore the downloader.
func (*DownloaderStoreConfig) Init ¶ added in v1.3.1
func (cfg *DownloaderStoreConfig) Init() *DownloaderStoreConfig
type Extension ¶ added in v1.4.0
type Extension struct {
// Identity is global unique for an extension, it's a combination of author and name
Identity string `json:"identity"`
Name string `json:"name"`
Author string `json:"author"`
Title string `json:"title"`
Description string `json:"description"`
Icon string `json:"icon"`
// Version semantic version string, like: 1.0.0
Version string `json:"version"`
// Homepage homepage url
Homepage string `json:"homepage"`
// Repository git repository info
Repository *Repository `json:"repository"`
Scripts []*Script `json:"scripts"`
Settings []*Setting `json:"settings"`
// Disabled if true, this extension will be ignored
Disabled bool `json:"disabled"`
DevMode bool `json:"devMode"`
// DevPath is the local path of extension source code
DevPath string `json:"devPath"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
type ExtensionInfo ¶ added in v1.4.2
type ExtensionInfo struct {
Identity string `json:"identity"`
Name string `json:"name"`
Author string `json:"author"`
Title string `json:"title"`
Version string `json:"version"`
}
func NewExtensionInfo ¶ added in v1.4.2
func NewExtensionInfo(ext *Extension) *ExtensionInfo
type Instance ¶ added in v1.4.0
type Instance struct {
Events InstanceEvents `json:"events"`
Info *ExtensionInfo `json:"info"`
Logger *InstanceLogger `json:"logger"`
Settings map[string]any `json:"settings"`
Storage *ContextStorage `json:"storage"`
}
Instance inject to js context when extension script is activated
type InstanceEvents ¶ added in v1.4.0
type InstanceEvents map[ActivationEvent]goja.Callable
func (InstanceEvents) OnResolve ¶ added in v1.4.0
func (h InstanceEvents) OnResolve(fn goja.Callable)
func (InstanceEvents) OnStart ¶ added in v1.4.2
func (h InstanceEvents) OnStart(fn goja.Callable)
type InstanceLogger ¶ added in v1.4.0
type InstanceLogger struct {
// contains filtered or unexported fields
}
func (*InstanceLogger) Debug ¶ added in v1.4.0
func (l *InstanceLogger) Debug(msg ...any)
func (*InstanceLogger) Error ¶ added in v1.4.0
func (l *InstanceLogger) Error(msg ...any)
func (*InstanceLogger) Info ¶ added in v1.4.0
func (l *InstanceLogger) Info(msg ...any)
func (*InstanceLogger) Warn ¶ added in v1.4.0
func (l *InstanceLogger) Warn(msg ...any)
type Match ¶ added in v1.4.2
type Match struct {
// Urls match expression, refer to https://developer.chrome.com/docs/extensions/mv3/match_patterns/
Urls []string `json:"urls"`
// Labels match request labels
Labels []string `json:"labels"`
}
type MemStorage ¶
type MemStorage struct {
// contains filtered or unexported fields
}
func NewMemStorage ¶
func NewMemStorage() *MemStorage
func (*MemStorage) Clear ¶
func (n *MemStorage) Clear() error
func (*MemStorage) Close ¶
func (n *MemStorage) Close() error
func (*MemStorage) Setup ¶
func (n *MemStorage) Setup(buckets []string) error
type OnResolveContext ¶ added in v1.4.2
type OnStartContext ¶ added in v1.4.2
type OnStartContext struct {
Task *Task `json:"task"`
}
type Repository ¶ added in v1.4.0
type ResolveResult ¶
type Setting ¶ added in v1.4.0
type Setting struct {
Name string `json:"name"`
Title string `json:"title"`
Description string `json:"description"`
Required bool `json:"required"`
// setting type
Type SettingType `json:"type"`
// setting value
Value any `json:"value"`
//Multiple bool `json:"multiple"`
Options []*Option `json:"options"`
}
type SettingType ¶ added in v1.4.0
type SettingType string
const ( SettingTypeString SettingType = "string" SettingTypeNumber SettingType = "number" SettingTypeBoolean SettingType = "boolean" )
Click to show internal directories.
Click to hide internal directories.