local ____lualib = require("lualib_bundle")
local __TS__New = ____lualib.__TS__New
local ____exports = {}
local ____cachedEnumValues = require("arrays.cachedEnumValues")
local SERIALIZATION_BRAND_VALUES = ____cachedEnumValues.SERIALIZATION_BRAND_VALUES
local ____types = require("functions.types")
local isString = ____types.isString
local ____ReadonlySet = require("types.ReadonlySet")
local ReadonlySet = ____ReadonlySet.ReadonlySet
local SERIALIZATION_BRAND_SET = __TS__New(ReadonlySet, SERIALIZATION_BRAND_VALUES)
--- Helper function to check if a key of a table in the "save#.dat" file is a serialization brand
-- inserted by the save data manager (i.e. the `deepCopy` function).
-- 
-- This is separated from the other serialization functions because end-users would not normally be
-- iterating through a serialized object directly.
function ____exports.isSerializationBrand(self, key)
    if not isString(nil, key) then
        return false
    end
    return SERIALIZATION_BRAND_SET:has(key)
end
return ____exports
