mirror of
https://github.com/moonD4rk/HackBrowserData.git
synced 2026-05-19 18:58:03 +02:00
refactor: Optimize traversal browser data logic (#311)
* refactor: Refactor package names and imports for better code organization. * refactor: Package imports and variable types for consistency * chore: Disable unused-parameter rule in revive. * refactor: Refactor and organize data extraction and browserdata parse. * fix: rename wrong error message info
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
package extractor
|
||||
|
||||
// Extractor is an interface for extracting data from browser data files
|
||||
type Extractor interface {
|
||||
Extract(masterKey []byte) error
|
||||
|
||||
Name() string
|
||||
|
||||
Len() int
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package extractor
|
||||
|
||||
import (
|
||||
"github.com/moond4rk/hackbrowserdata/types"
|
||||
)
|
||||
|
||||
var extractorRegistry = make(map[types.DataType]func() Extractor)
|
||||
|
||||
// RegisterExtractor is used to register the data source
|
||||
func RegisterExtractor(dataType types.DataType, factoryFunc func() Extractor) {
|
||||
extractorRegistry[dataType] = factoryFunc
|
||||
}
|
||||
|
||||
// CreateExtractor is used to create the data source
|
||||
func CreateExtractor(dataType types.DataType) Extractor {
|
||||
if factoryFunc, ok := extractorRegistry[dataType]; ok {
|
||||
return factoryFunc()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user