diff --git a/src/Instances/Tags.lua b/src/Instances/Tags.lua new file mode 100644 index 000000000..c708ed150 --- /dev/null +++ b/src/Instances/Tags.lua @@ -0,0 +1,22 @@ +--!strict + +--[[ + A special key for property tables, which assigns CollectionService tags + to instances. +]] + +local Package = script.Parent.Parent +local PubTypes = require(Package.PubTypes) +local logWarn = require(Package.Logging.logWarn) +local xtypeof = require(Package.Utility.xtypeof) + +local Tags = {} +Tags.type = "SpecialKey" +Tags.kind = "Tags" +Tags.stage = "observer" + +function Tags:apply(tags: any, applyTo: Instance, cleanupTasks: {PubTypes.Task}) + +end + +return Tags :: PubTypes.SpecialKey \ No newline at end of file diff --git a/src/init.lua b/src/init.lua index 42cba8b3c..ff12ed1ad 100644 --- a/src/init.lua +++ b/src/init.lua @@ -33,6 +33,7 @@ type Fusion = { Attribute: (attributeName: string) -> PubTypes.SpecialKey, AttributeChange: (attributeName: string) -> PubTypes.SpecialKey, AttributeOut: (attributeName: string) -> PubTypes.SpecialKey, + Tags: PubTypes.SpecialKey, Value: (initialValue: T) -> Value, Computed: (callback: () -> T, destructor: (T) -> ()?) -> Computed, @@ -62,6 +63,7 @@ return restrictRead("Fusion", { Attribute = require(script.Instances.Attribute), AttributeChange = require(script.Instances.AttributeChange), AttributeOut = require(script.Instances.AttributeOut), + Tags = require(script.Instances.Tags), Value = require(script.State.Value), Computed = require(script.State.Computed),