local P=game:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")local Y=require(P.Game.Rodux)local z=require(P.Packages.sift)local V=require(P.Game.Shared.DataTemplate)local I=z.Dictionary.copyDeep(V)local s=Y.createReducer(I,{SetPlayerData=function(P,Y)return z.Dictionary.merge(P,{[Y.key]=Y.value})end})return s
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local Rodux = require(ReplicatedStorage.Game.Rodux)
local Sift = require(ReplicatedStorage.Packages.sift)
local DataTemplate = require(ReplicatedStorage.Game.Shared.DataTemplate)

local initialState = Sift.Dictionary.copyDeep(DataTemplate)

local reducer = Rodux.createReducer(initialState, {
	SetPlayerData = function(state, action)
		return Sift.Dictionary.merge(state, {
			[action.key] = action.value,
		})
	end,
})

return reducer
