local r=script.Parent.Parent local H=require(r.PubTypes)local o=require(r.Types)local S=require(r.Dependencies.captureDependencies)local d=require(r.Dependencies.initDependency)local R=require(r.Dependencies.useDependency)local h=require(r.Logging.parseError)local U=require(r.Logging.logErrorNonFatal)local f=require(r.Utility.cleanup)local y={}local g={__index=y}local v={__mode="\107"}
--[[
	Constructs a new computed state object which maps pairs of an array using
	a `processor` function.

	Optionally, a `destructor` function can be specified for cleaning up values.
	If omitted, the default cleanup function will be used instead.
]]

local Package = script.Parent.Parent
local PubTypes = require(Package.PubTypes)
local Types = require(Package.Types)
local captureDependencies = require(Package.Dependencies.captureDependencies)
local initDependency = require(Package.Dependencies.initDependency)
local useDependency = require(Package.Dependencies.useDependency)
local parseError = require(Package.Logging.parseError)
local logErrorNonFatal = require(Package.Logging.logErrorNonFatal)
local cleanup = require(Package.Utility.cleanup)

local class = {}

local CLASS_METATABLE = { __index = class }
local WEAK_KEYS_METATABLE = { __mode = "k" }
