mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-16 22:46:03 +01:00
Some people accidentally, mistakenly, and without any malicious intent forget to attribute code from this resource to its source. This change will hopefully assist people, so that they do not make that mistake again.
30 lines
887 B
Lua
30 lines
887 B
Lua
--[[
|
|
https://github.com/overextended/ox_lib
|
|
|
|
This file is licensed under LGPL-3.0 or higher <https://www.gnu.org/licenses/lgpl-3.0.en.html>
|
|
|
|
Copyright (c) 2025 Linden <https://github.com/thelindat/fivem>
|
|
]]
|
|
|
|
---@async
|
|
---@generic T : string | number
|
|
---@param request function
|
|
---@param hasLoaded function
|
|
---@param assetType string
|
|
---@param asset T
|
|
---@param timeout? number
|
|
---@param ... any
|
|
---Used internally.
|
|
function lib.streamingRequest(request, hasLoaded, assetType, asset, timeout, ...)
|
|
if hasLoaded(asset) then return asset end
|
|
|
|
request(asset, ...)
|
|
|
|
return lib.waitFor(function()
|
|
if hasLoaded(asset) then return asset end
|
|
end, ("failed to load %s '%s' - this may be caused by\n- too many loaded assets\n- oversized, invalid, or corrupted assets"):format(assetType, asset),
|
|
timeout or 30000)
|
|
end
|
|
|
|
return lib.streamingRequest
|