-- Compiled with @isentinel/roblox-ts v4.0.11 local TS = _G[script] local exports = {} local dataforge = TS.import(script, TS.getModule(script, "@rbxts", "dataforge")) --[[ * * Creates an in-memory dataforge store for tests. * * @remarks * Wires a virtual scheduler and memory hook so tests can exercise store loads, profile updates * and transactions without touching real DataStores. Stepping the returned scheduler drives * deferred load/write work to completion. * @typeParam T - The data shape stored in the store. * @param config - The public store configuration (name and template). * @returns The store, memory hook and virtual scheduler used to construct it. ]] local function createTestStore(config) local scheduler = dataforge.schedulers.virtual.create() local hook = dataforge.hooks.memory.create(scheduler) local _object = table.clone(config) setmetatable(_object, nil) _object._hook = hook _object._scheduler = scheduler local store = dataforge.create_store(_object) return { hook = hook, scheduler = scheduler, store = store, } end for _k, _v in TS.import(script, script, "validate") or {} do exports[_k] = _v end exports.createTestStore = createTestStore return exports