Skip to main content

ObservableMapList

Holds a map of lists. This is good for list-based

Functions​

new​

ObservableMapList.new() → ObservableMapList<TKey,TValue>

Constructs a new ObservableMapList

Push​

ObservableMapList.Push(
self: ObservableMapList<TKey,TValue>,
observeKey: Observable<TKey>,
entry: TValue
) → MaidTask--

Cleanup object that will remove the entry

Adds an entry with a dynamic key. This is great for caching things that need to be looked up by key.

TIP

If observeKey emits nil then the value will be excluded from the list.

GetFirstItemForKey​

ObservableMapList.GetFirstItemForKey(
self: ObservableMapList<TKey,TValue>,
key: TKey
) → TValue | nil

Gets the first item for the given key

GetItemForKeyAtIndex​

ObservableMapList.GetItemForKeyAtIndex(
self: ObservableMapList<TKey,TValue>,
key: TKey,
index: number
) → TValue?

Gets the item for the given key at the index

mapList:Push("fruits", "apple")
mapList:Push("fruits", "orange")
mapList:Push("fruits", "banana")

-- Print the last item
print(mapList:GetItemForKeyAtIndex("fruits", -1)) ==> banana

GetListCount​

ObservableMapList.GetListCount(self: ObservableMapList<TKey,TValue>) → number

Gets how many lists exist

ObserveListCount​

ObservableMapList.ObserveListCount(self: ObservableMapList<TKey,TValue>) → Observable<number>

Observes how many lists exist

GetAtListIndex​

ObservableMapList.GetAtListIndex(
self: ObservableMapList<TKey,TValue>,
key: TKey,
index: number
) → TValue?

Gets the current value at the list index

ObserveAtListIndex​

ObservableMapList.ObserveAtListIndex(
self: ObservableMapList<TKey,TValue>,
key: TKey,
index: number
) → Observable<TValue?>

Observes the current value at the index

GetKeyList​

ObservableMapList.GetKeyList(self: ObservableMapList<TKey,TValue>) → {TKey}

Gets a list of all keys

ObserveKeyList​

ObservableMapList.ObserveKeyList(self: ObservableMapList<TKey,TValue>) → Observable<{TKey}>

Observes the list of all keys.

ObserveKeysBrio​

ObservableMapList.ObserveKeysBrio(self: ObservableMapList<TKey,TValue>) → Observable<Brio<TKey>>

Observes all keys in the map

ObserveAtListIndexBrio​

ObservableMapList.ObserveAtListIndexBrio(
self: ObservableMapList<TKey,TValue>,
key: TKey,
index: number
) → Observable<Brio<TValue>>

Observes the current value at the index

ObserveItemsForKeyBrio​

ObservableMapList.ObserveItemsForKeyBrio(
self: ObservableMapList<TKey,TValue>,
key: TKey
) → Observable<Brio<TValue>>

Observes all items at the given key

GetListFromKey​

ObservableMapList.GetListFromKey(
self: ObservableMapList<TKey,TValue>,
key: TKey
) → {TValue}

Gets a list for a given key.

GetListForKey​

ObservableMapList.GetListForKey(
self: ObservableMapList<TKey,TValue>,
key: TKey
) → ObservableList<TValue>

Gets the observable list for the given key

GetListOfValuesAtListIndex​

ObservableMapList.GetListOfValuesAtListIndex(
self: ObservableMapList<TKey,TValue>,
index: number
) → {TValue}

Gets a list of all of the entries at the given index, if it exists

ObserveList​

ObservableMapList.ObserveList(
self: ObservableMapList<TKey,TValue>,
key: TKey
) → Observable<ObservableList<TValue>>

Observes the observable list for the given key

ObserveListBrio​

ObservableMapList.ObserveListBrio(
self: ObservableMapList<TKey,TValue>,
key: TKey
) → Observable<Brio<ObservableList<TValue>>>

Observes the observable list for the given key

ObserveListsBrio​

ObservableMapList.ObserveListsBrio(self: ObservableMapList<TKey,TValue>) → Observable<Brio<ObservableList<TValue>>>

Observes all observable lists in the map.

ObserveCountForKey​

ObservableMapList.ObserveCountForKey(
self: ObservableMapList<TKey,TValue>,
key: TKey
) → Observable<number>

Observes the number of entries for the given key

Destroy​

ObservableMapList.Destroy(self: ObservableMapList<TKey,TValue>) → ()

Cleans up the ObservableMapList and sets the metatable to nil.

Show raw api
{
    "functions": [
        {
            "name": "new",
            "desc": "Constructs a new ObservableMapList",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 60,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "Push",
            "desc": "Adds an entry with a dynamic key. This is great for caching things\nthat need to be looked up by key.\n\n:::tip\nIf `observeKey` emits nil then the value will be excluded from the list.\n:::",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                },
                {
                    "name": "observeKey",
                    "desc": "",
                    "lua_type": "Observable<TKey>"
                },
                {
                    "name": "entry",
                    "desc": "",
                    "lua_type": "TValue"
                }
            ],
            "returns": [
                {
                    "desc": "Cleanup object that will remove the entry",
                    "lua_type": "MaidTask"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 85,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "GetFirstItemForKey",
            "desc": "Gets the first item for the given key",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "TKey"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "TValue | nil"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 118,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "GetItemForKeyAtIndex",
            "desc": "Gets the item for the given key at the index\n\n```\nmapList:Push(\"fruits\", \"apple\")\nmapList:Push(\"fruits\", \"orange\")\nmapList:Push(\"fruits\", \"banana\")\n\n-- Print the last item\nprint(mapList:GetItemForKeyAtIndex(\"fruits\", -1)) ==> banana\n```",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "TKey"
                },
                {
                    "name": "index",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "TValue?"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 145,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "GetListCount",
            "desc": "Gets how many lists exist",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 166,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "ObserveListCount",
            "desc": "Observes how many lists exist",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<number>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 177,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "GetAtListIndex",
            "desc": "Gets the current value at the list index",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "TKey"
                },
                {
                    "name": "index",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "TValue?"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 188,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "ObserveAtListIndex",
            "desc": "Observes the current value at the index",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "TKey"
                },
                {
                    "name": "index",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<TValue?>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 207,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "GetKeyList",
            "desc": "Gets a list of all keys",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "{ TKey }"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 231,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "ObserveKeyList",
            "desc": "Observes the list of all keys.",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<{ TKey }>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 239,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "ObserveKeysBrio",
            "desc": "Observes all keys in the map",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>\n"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<Brio<TKey>>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 247,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "ObserveAtListIndexBrio",
            "desc": "Observes the current value at the index",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "TKey"
                },
                {
                    "name": "index",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<Brio<TValue>>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 260,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "ObserveItemsForKeyBrio",
            "desc": "Observes all items at the given key",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "TKey"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<Brio<TValue>>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 285,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "GetListFromKey",
            "desc": "Gets a list for a given key.",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "TKey"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "{ TValue }"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 308,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "GetListForKey",
            "desc": "Gets the observable list for the given key",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "TKey"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "ObservableList<TValue>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 324,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "GetListOfValuesAtListIndex",
            "desc": "Gets a list of all of the entries at the given index, if it exists",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                },
                {
                    "name": "index",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "{ TValue}"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 336,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "ObserveList",
            "desc": "Observes the observable list for the given key",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "TKey"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<ObservableList<TValue>>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 357,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "ObserveListBrio",
            "desc": "Observes the observable list for the given key",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "TKey"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<Brio<ObservableList<TValue>>>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 372,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "ObserveListsBrio",
            "desc": "Observes all observable lists in the map.",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>\n"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<Brio<ObservableList<TValue>>>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 386,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "ObserveCountForKey",
            "desc": "Observes the number of entries for the given key",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "TKey"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Observable<number>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 398,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        },
        {
            "name": "Destroy",
            "desc": "Cleans up the ObservableMapList and sets the metatable to nil.",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "ObservableMapList<TKey, TValue>"
                }
            ],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 441,
                "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
            }
        }
    ],
    "properties": [],
    "types": [],
    "name": "ObservableMapList",
    "desc": "Holds a map of lists. This is good for list-based",
    "source": {
        "line": 7,
        "path": "src/observablecollection/src/Shared/ObservableMapList.lua"
    }
}