Skip to main content

Feather

Types​

FeatherComponent​

type FeatherComponent = string | (
props: table,
oldProps: table
) → FeatherElement

A string FeatherComponent is the ClassName of an Instance (e.g. "Part")

A function FeatherComponent turns props into a FeatherElement. Optionally this function can also depend on the second argument passed oldProps if the component makes use of Feather.DeltaChildren.

Properties​

Children​

Feather.Children: Symbol

DeltaChildren​

Feather.DeltaChildren: Symbol

SubtractChild​

Feather.SubtractChild: Symbol

HostInitProps​

Feather.HostInitProps: Symbol

BulkMoveCFrame​

Feather.BulkMoveCFrame: Symbol

Functions​

createElement​

Feather.createElement(
component: FeatherComponent,
props: table
) → FeatherElement

mount​

Feather.mount(
element: FeatherElement,
parent: Instance,
key: string
) → FeatherTree

Mounts the element to the parent and names it with the key. The returned FeatherTree can be passed to Feather.update to update the instances.

update​

Feather.update(
tree: FeatherTree,
element: FeatherElement
) → FeatherTree

Updates the tree using the new element.

unmount​

Feather.unmount(tree: FeatherTree) → ()
Show raw api
{
    "functions": [
        {
            "name": "createElement",
            "desc": "",
            "params": [
                {
                    "name": "component",
                    "desc": "",
                    "lua_type": "FeatherComponent"
                },
                {
                    "name": "props",
                    "desc": "",
                    "lua_type": "table"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "FeatherElement"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 83,
                "path": "lib/init.lua"
            }
        },
        {
            "name": "mount",
            "desc": "Mounts the element to the parent and names it with the key.\nThe returned FeatherTree can be passed to [Feather.update] to update the instances.",
            "params": [
                {
                    "name": "element",
                    "desc": "",
                    "lua_type": "FeatherElement"
                },
                {
                    "name": "parent",
                    "desc": "",
                    "lua_type": "Instance"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "string"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "FeatherTree"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 380,
                "path": "lib/init.lua"
            }
        },
        {
            "name": "update",
            "desc": "Updates the tree using the new element.",
            "params": [
                {
                    "name": "tree",
                    "desc": "",
                    "lua_type": "FeatherTree"
                },
                {
                    "name": "element",
                    "desc": "",
                    "lua_type": "FeatherElement"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "FeatherTree"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 399,
                "path": "lib/init.lua"
            }
        },
        {
            "name": "unmount",
            "desc": "",
            "params": [
                {
                    "name": "tree",
                    "desc": "",
                    "lua_type": "FeatherTree"
                }
            ],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 421,
                "path": "lib/init.lua"
            }
        }
    ],
    "properties": [
        {
            "name": "Children",
            "desc": "",
            "lua_type": "Symbol",
            "source": {
                "line": 16,
                "path": "lib/init.lua"
            }
        },
        {
            "name": "DeltaChildren",
            "desc": "",
            "lua_type": "Symbol",
            "source": {
                "line": 19,
                "path": "lib/init.lua"
            }
        },
        {
            "name": "SubtractChild",
            "desc": "",
            "lua_type": "Symbol",
            "source": {
                "line": 22,
                "path": "lib/init.lua"
            }
        },
        {
            "name": "HostInitProps",
            "desc": "",
            "lua_type": "Symbol",
            "source": {
                "line": 25,
                "path": "lib/init.lua"
            }
        },
        {
            "name": "BulkMoveCFrame",
            "desc": "",
            "lua_type": "Symbol",
            "source": {
                "line": 28,
                "path": "lib/init.lua"
            }
        }
    ],
    "types": [
        {
            "name": "FeatherComponent",
            "desc": "A string FeatherComponent is the ClassName of an Instance (e.g. \"Part\")\n\nA function FeatherComponent turns props into a FeatherElement.\nOptionally this function can also depend on the second argument passed `oldProps`\nif the component makes use of [Feather.DeltaChildren].",
            "lua_type": "string | (props: table, oldProps: table) -> FeatherElement",
            "source": {
                "line": 39,
                "path": "lib/init.lua"
            }
        }
    ],
    "name": "Feather",
    "desc": "",
    "source": {
        "line": 4,
        "path": "lib/init.lua"
    }
}