Show raw api
{
"functions": [
{
"name": "new",
"desc": "Constructs a new BinderProvider.\n\n:::tip\nDon't use this! You can retrieve binders from the service bag directly\n:::\n\n```lua\nlocal ServiceBag = require(\"ServiceBag\")\n\nlocal serviceBag = ServiceBag.new()\n\n-- Usually in a separate file!\nlocal binderProvider = BinderProvider.new(\"BirdBinders\", function(self, serviceBag: ServiceBag.ServiceBag)\n\tself:Add(Binder.new(\"MyClass\", require(\"MyClass\"), serviceBag))\nend)\n\n-- Retrieve binders\nlocal binders = serviceBag:GetService(binderProvider)\n\n-- Runs the game (including binders)\nserviceBag:Init()\nserviceBag:Start()\n```",
"params": [
{
"name": "serviceName",
"desc": "Name of the service (used for memory tracking)",
"lua_type": "string"
},
{
"name": "initMethod",
"desc": "",
"lua_type": "(self, serviceBag: ServiceBag)"
}
],
"returns": [
{
"desc": "",
"lua_type": "BinderProvider"
}
],
"function_type": "static",
"source": {
"line": 46,
"path": "src/binder/src/Shared/BinderProvider.lua"
}
},
{
"name": "isBinderProvider",
"desc": "Retrieves whether or not its a binder provider",
"params": [
{
"name": "value",
"desc": "",
"lua_type": "any"
}
],
"returns": [
{
"desc": "True if it is a binder provider",
"lua_type": "boolean"
}
],
"function_type": "static",
"source": {
"line": 76,
"path": "src/binder/src/Shared/BinderProvider.lua"
}
},
{
"name": "PromiseBinder",
"desc": "Resolves to the given binder given the binderName.",
"params": [
{
"name": "binderName",
"desc": "",
"lua_type": "string"
}
],
"returns": [
{
"desc": "",
"lua_type": "Promise<Binder<T>>"
}
],
"function_type": "method",
"source": {
"line": 86,
"path": "src/binder/src/Shared/BinderProvider.lua"
}
},
{
"name": "Init",
"desc": "Initializes itself and all binders",
"params": [
{
"name": "...",
"desc": "",
"lua_type": "ServiceBag | any"
}
],
"returns": [],
"function_type": "method",
"source": {
"line": 111,
"path": "src/binder/src/Shared/BinderProvider.lua"
}
},
{
"name": "PromiseBindersAdded",
"desc": "Returns a promise that will resolve once all binders are added.",
"params": [],
"returns": [
{
"desc": "",
"lua_type": "Promise"
}
],
"function_type": "method",
"source": {
"line": 137,
"path": "src/binder/src/Shared/BinderProvider.lua"
}
},
{
"name": "PromiseBindersStarted",
"desc": "Returns a promise that will resolve once all binders are started.",
"params": [],
"returns": [
{
"desc": "",
"lua_type": "Promise"
}
],
"function_type": "method",
"source": {
"line": 146,
"path": "src/binder/src/Shared/BinderProvider.lua"
}
},
{
"name": "Start",
"desc": "Starts all of the binders.",
"params": [],
"returns": [],
"function_type": "method",
"source": {
"line": 153,
"path": "src/binder/src/Shared/BinderProvider.lua"
}
},
{
"name": "Get",
"desc": "Retrieves a binder given a tagName",
"params": [
{
"name": "tagName",
"desc": "",
"lua_type": "string"
}
],
"returns": [
{
"desc": "",
"lua_type": "Binder<T>?"
}
],
"function_type": "method",
"source": {
"line": 183,
"path": "src/binder/src/Shared/BinderProvider.lua"
}
},
{
"name": "Add",
"desc": "Adds a binder given a tag name.",
"params": [
{
"name": "binder",
"desc": "",
"lua_type": "Binder<T>"
}
],
"returns": [],
"function_type": "method",
"source": {
"line": 193,
"path": "src/binder/src/Shared/BinderProvider.lua"
}
}
],
"properties": [],
"types": [],
"name": "BinderProvider",
"desc": "Provides a basis for binders that can be retrieved anywhere",
"source": {
"line": 6,
"path": "src/binder/src/Shared/BinderProvider.lua"
}
}