Files
waf-platform/EdgeNode/internal/js/library_manager.go
2026-02-04 20:27:13 +08:00

31 lines
592 B
Go

// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
//go:build script
package js
import "sync"
var SharedLibraryManager = NewLibraryManager()
type LibraryManager struct {
list []LibraryInterface
locker sync.Mutex
}
func NewLibraryManager() *LibraryManager {
return &LibraryManager{}
}
func (this *LibraryManager) Register(library LibraryInterface) {
this.locker.Lock()
this.list =
append(this.list, library)
this.locker.Unlock()
}
func (this *LibraryManager) All() []LibraryInterface {
this.locker.Lock()
defer this.locker.Unlock()
return this.list
}