Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApplicationContext ¶
type ApplicationContext interface { ApplicationID() string ApplicationVersion() types.ApplicationVersion ApplicationStartTime() time.Time RuntimeVersion() int ApplicationUser() auth.User Logger() ApplicationLogger LifecycleManager() LifecycleManager Schedule(func(*goja.Runtime) error) ScheduleNoError(func(*goja.Runtime)) ExecutionContext() context.Context OutOfLoopWaitGroupAdd(int) OutOfLoopWaitGroupDone() }
ApplicationContext is the context of an application as passed to a module instance
type ApplicationLogger ¶
type ApplicationLogger interface {
RuntimeAuditLog(s string)
}
ApplicationLogger logs application actions
type Collection ¶
type Collection struct {
// contains filtered or unexported fields
}
Collection is a set of NativeModules that belongs to a single application instance
func NewCollection ¶
func NewCollection() *Collection
func (*Collection) BuildRegistry ¶
func (c *Collection) BuildRegistry(sourceLoader SourceLoader) *require.Registry
func (*Collection) EnableModules ¶
func (c *Collection) EnableModules(runtime *goja.Runtime)
func (*Collection) ExecutionResumed ¶
func (c *Collection) ExecutionResumed(ctx context.Context)
func (*Collection) RegisterNativeModule ¶
func (c *Collection) RegisterNativeModule(m NativeModule)
type Dependencies ¶
type Dependencies struct { ModLogWebhook api.WebhookClient ChatManager *chatmanager.Manager PointsManager *pointsmanager.Manager MediaQueue *mediaqueue.MediaQueue MediaProviders map[types.MediaType]media.Provider Pricer *pricer.Pricer SkipManager *skipmanager.Manager OtherMediaQueueMethods OtherMediaQueueMethods PaymentAccountPool *payment.PaymentAccountPool DefaultAccountRepresentative string UserCache usercache.UserCache RewardsHandler *rewards.Handler StatsRegistry *stats.Registry }
Dependencies is a "everything and the kitchen sink" struct used for injection of singleton dependencies in modules
type LifecycleManager ¶
type LifecycleManager interface { AbortProcess() ExitProcess(exitCode int) }
LifecycleManager can manage the application's execution lifecycle
type NativeModule ¶
type NativeModule interface { ModuleLoader() require.ModuleLoader ModuleName() string IsNodeBuiltin() bool AutoRequire() (bool, string) ExecutionResumed(context.Context) }
NativeModule is a module that can be imported into a single application instance
type OtherMediaQueueMethods ¶
type OtherMediaQueueMethods interface { MediaEnqueuingPermission() proto.AllowedMediaEnqueuingType SetMediaEnqueuingPermission(permission proto.AllowedMediaEnqueuingType, password string) NewQueueEntriesAllUnskippable() bool SetNewQueueEntriesAllUnskippable(bool) MoveQueueEntryWithCost(ctx context.Context, entryID string, up bool, user auth.User) error }
Click to show internal directories.
Click to hide internal directories.