{"id":"sap0bombado/create-pool","name":"create-pool","scope":"sap0bombado","platform":"roblox","description":"Mirrored from the Wally registry.","version":"0.3.1","latest":"0.3.1","versions":["0.1.0","0.2.0","0.3.0","0.3.1"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{},"integrity":"503c27eec5a8be469e7aafe6dcfe5b40113ccb0291c2838b6a1987ff65051c32","likes":0,"downloads":0,"install":"forest install sap0bombado/create-pool","url":"https://forest.dev/p/roblox/sap0bombado/create-pool","files":"https://api.forest.dev/ai/package/roblox/sap0bombado/create-pool/files","readme":"## Basic Usage\r\n```luau\r\n--!strict\r\nlocal createPool = require(\"@pkg/createPool\")\r\n\r\nlocal pool = createPool(\r\n\t32, -- preAlloc size\r\n\r\n\t-- create function\r\n\tfunction()\r\n\t\treturn Instance.new(\"Part\")\r\n\tend,\r\n\t-- optional reset function\r\n\tfunction(part: Part)\r\n\t\tpart.Parent = nil\r\n\t\tpart.Position = Vector3.zero\r\n\tend\r\n)\r\n\r\n-- Acquire an object from the pool\r\nlocal part = pool()\r\npart.Position = Vector3.new(0, 10, 0)\r\n\r\n-- Return the object back to the pool\r\npool(part)\r\n\r\n-- Reuse the same object later\r\nlocal reusedPart = pool()\r\nprint(reusedPart.Position) -- 0, 0, 0\r\n\r\n-- Cleanup Pool:\r\nfor _, part in pool:collect() do\r\n\ttask.defer(part.Destroy, part)\r\nend\r\npool:clear()\r\n\r\n```\r\n\r\n## Install\r\nAdd as a Wally dependency:\r\n```toml\r\ncreatePool = \"sap0bombado/create-pool@0.3.1\"\r\n```","readmeTruncated":false}