--[=[
	Provides utility functions to work with attributes in Roblox
	@class AttributeUtils
]=]


local require = require(script.Parent.loader).load(script)

local RunService = game:GetService("RunService")

local Maid = require("Maid")
local Promise = require("Promise")
local CancelToken = require("CancelToken")

local DEFAULT_PREDICATE = function(value)
	return value ~= nil
end

local AttributeUtils = {}

local VALID_ATTRIBUTE_TYPES = {
	["nil"] = true;
	["string"] = true;
	["boolean"] = true;
	["number"] = true;
	["UDim"] = true;
	["UDim2"] = true;
	["BrickColor"] = true;
	["CFrame"] = true;
	["Color3"] = true;
	["Vector2"] = true;
	["Vector3"] = true;
	["NumberSequence"] = true;
	["ColorSequence"] = true;
	["IntValue"] = true;
	["NumberRange"] = true;
	["Rect"] = true;
	["Font"] = true;
}
