Skip to main content

Feather

Types

FeatherComponent

type FeatherComponent = string | (
propstable,
oldPropstable
) → 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(
componentFeatherComponent,
propstable
) → FeatherElement

mount

Feather.mount(
elementFeatherElement,
parentInstance,
keystring
) → 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(
treeFeatherTree,
elementFeatherElement
) → FeatherTree

Updates the tree using the new element.

unmount

Feather.unmount(treeFeatherTree) → ()
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"
    }
}