local w=require("\046\047\083\101\114\118\105\099\101")local r=(require("\046\046\047\109\101\116\097")).export local X=w({[r("\069\110\097\098\108\101\067\108\097\115\115\101\115")]=true,Name="\099\097\116\119\111\114\107"})local K={}function K.Object(w)return X:Object(w)end function K.GetClassLike(w,r)local K=X:Class(w,r)return function(w)return X:CreateObjectFromClass(K,w)end end return K
-- This module mostly exists for typing, as catwork's logic is defined implicitly
-- as the default Service behaviour

local Service = require("./Service")
local meta = require("../meta").export

local native = Service({
	[meta("EnableClasses")] = true,
	Name = "catwork",
})

local nativeAPI = {}

function nativeAPI.Object(params) return native:Object(params) end

function nativeAPI.GetClassLike(name, createFn)
	local template = native:Class(name, createFn)

	return function(params) return native:CreateObjectFromClass(template, params) end
end

return nativeAPI
