@quenty/avatareditorutils 7.20.4-canary.559.9f38947.0 → 7.21.0-canary.0a5db80.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -3,20 +3,12 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
# [7.21.0-canary.0a5db80.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/avatareditorutils@7.20.2...@quenty/avatareditorutils@7.21.0-canary.0a5db80.0) (2025-05-10)
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
### Bug Fixes
|
|
10
10
|
|
|
11
|
-
* Additional type checking updates ([
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
## [7.20.3](https://github.com/Quenty/NevermoreEngine/compare/@quenty/avatareditorutils@7.20.2...@quenty/avatareditorutils@7.20.3) (2025-04-10)
|
|
18
|
-
|
|
19
|
-
**Note:** Version bump only for package @quenty/avatareditorutils
|
|
11
|
+
* Additional type checking updates ([7e008c5](https://github.com/Quenty/NevermoreEngine/commit/7e008c58547bd00b5904e56541454a38c8d72ccc))
|
|
20
12
|
|
|
21
13
|
|
|
22
14
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenty/avatareditorutils",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.21.0-canary.0a5db80.0",
|
|
4
4
|
"description": "Provides utility functions to work with the Roblox AvatarEditorService",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -25,22 +25,22 @@
|
|
|
25
25
|
"Quenty"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@quenty/aggregator": "1.
|
|
29
|
-
"@quenty/brio": "14.
|
|
28
|
+
"@quenty/aggregator": "1.5.0-canary.0a5db80.0",
|
|
29
|
+
"@quenty/brio": "14.18.0-canary.0a5db80.0",
|
|
30
30
|
"@quenty/enumutils": "3.4.2",
|
|
31
|
-
"@quenty/loader": "10.
|
|
32
|
-
"@quenty/maid": "3.
|
|
33
|
-
"@quenty/memoize": "1.
|
|
34
|
-
"@quenty/observablecollection": "12.
|
|
35
|
-
"@quenty/pagesutils": "5.
|
|
36
|
-
"@quenty/promise": "10.
|
|
37
|
-
"@quenty/rx": "13.
|
|
38
|
-
"@quenty/servicebag": "11.
|
|
39
|
-
"@quenty/symbol": "3.4.
|
|
40
|
-
"@quenty/valueobject": "13.
|
|
31
|
+
"@quenty/loader": "10.9.0-canary.0a5db80.0",
|
|
32
|
+
"@quenty/maid": "3.5.0-canary.0a5db80.0",
|
|
33
|
+
"@quenty/memoize": "1.7.0-canary.0a5db80.0",
|
|
34
|
+
"@quenty/observablecollection": "12.21.0-canary.0a5db80.0",
|
|
35
|
+
"@quenty/pagesutils": "5.12.0-canary.0a5db80.0",
|
|
36
|
+
"@quenty/promise": "10.11.0-canary.0a5db80.0",
|
|
37
|
+
"@quenty/rx": "13.18.0-canary.0a5db80.0",
|
|
38
|
+
"@quenty/servicebag": "11.12.0-canary.0a5db80.0",
|
|
39
|
+
"@quenty/symbol": "3.4.2",
|
|
40
|
+
"@quenty/valueobject": "13.18.0-canary.0a5db80.0"
|
|
41
41
|
},
|
|
42
42
|
"publishConfig": {
|
|
43
43
|
"access": "public"
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "0a5db8004684dc3e76fd5944599a22602d48cfa9"
|
|
46
46
|
}
|
|
@@ -84,10 +84,7 @@ end
|
|
|
84
84
|
@param assetId number
|
|
85
85
|
@return Observable<AssetData>
|
|
86
86
|
]=]
|
|
87
|
-
function AvatarEditorInventory.ObserveAssetIdInInventory(
|
|
88
|
-
self: AvatarEditorInventory,
|
|
89
|
-
assetId: number
|
|
90
|
-
): Observable.Observable<AssetData>
|
|
87
|
+
function AvatarEditorInventory.ObserveAssetIdInInventory(self: AvatarEditorInventory, assetId: number): Observable.Observable<AssetData>
|
|
91
88
|
assert(type(assetId) == "number", "Bad assetId")
|
|
92
89
|
|
|
93
90
|
return self._assetIdToAsset:ObserveAtKey(assetId):Pipe({
|
|
@@ -97,4 +94,4 @@ function AvatarEditorInventory.ObserveAssetIdInInventory(
|
|
|
97
94
|
}) :: any
|
|
98
95
|
end
|
|
99
96
|
|
|
100
|
-
return AvatarEditorInventory
|
|
97
|
+
return AvatarEditorInventory
|
|
@@ -11,10 +11,10 @@ local AvatarEditorUtils = require("AvatarEditorUtils")
|
|
|
11
11
|
local EnumUtils = require("EnumUtils")
|
|
12
12
|
local Maid = require("Maid")
|
|
13
13
|
local MemorizeUtils = require("MemorizeUtils")
|
|
14
|
-
local PagesProxy = require("PagesProxy")
|
|
15
14
|
local Promise = require("Promise")
|
|
16
|
-
local ServiceBag = require("ServiceBag")
|
|
17
15
|
local ValueObject = require("ValueObject")
|
|
16
|
+
local PagesProxy = require("PagesProxy")
|
|
17
|
+
local ServiceBag = require("ServiceBag")
|
|
18
18
|
|
|
19
19
|
local AvatarEditorInventoryServiceClient = {}
|
|
20
20
|
AvatarEditorInventoryServiceClient.ServiceName = "AvatarEditorInventoryServiceClient"
|
|
@@ -34,10 +34,11 @@ function AvatarEditorInventoryServiceClient:Init(serviceBag: ServiceBag.ServiceB
|
|
|
34
34
|
end))
|
|
35
35
|
|
|
36
36
|
self._promiseInventoryPages = MemorizeUtils.memoize(function(avatarAssetTypes)
|
|
37
|
-
return AvatarEditorUtils.promiseInventoryPages(avatarAssetTypes)
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
return AvatarEditorUtils.promiseInventoryPages(avatarAssetTypes)
|
|
38
|
+
:Then(function(catalogPages)
|
|
39
|
+
-- Allow for replay
|
|
40
|
+
return PagesProxy.new(catalogPages)
|
|
41
|
+
end)
|
|
41
42
|
end)
|
|
42
43
|
end
|
|
43
44
|
|
|
@@ -107,4 +108,4 @@ function AvatarEditorInventoryServiceClient:Destroy()
|
|
|
107
108
|
self._maid:DoCleaning()
|
|
108
109
|
end
|
|
109
110
|
|
|
110
|
-
return AvatarEditorInventoryServiceClient
|
|
111
|
+
return AvatarEditorInventoryServiceClient
|
|
@@ -184,9 +184,7 @@ end
|
|
|
184
184
|
@param humanoidDescription HumanoidDescription
|
|
185
185
|
@return Promise<HumanoidDescription?>
|
|
186
186
|
]=]
|
|
187
|
-
function AvatarEditorUtils.promiseCheckApplyDefaultClothing(
|
|
188
|
-
humanoidDescription: HumanoidDescription
|
|
189
|
-
): Promise.Promise<HumanoidDescription?>
|
|
187
|
+
function AvatarEditorUtils.promiseCheckApplyDefaultClothing(humanoidDescription: HumanoidDescription): Promise.Promise<HumanoidDescription?>
|
|
190
188
|
assert(
|
|
191
189
|
typeof(humanoidDescription) == "Instance" and humanoidDescription:IsA("HumanoidDescription"),
|
|
192
190
|
"Bad humanoidDescription"
|
|
@@ -765,11 +763,7 @@ end
|
|
|
765
763
|
@param rigType HumanoidRigType
|
|
766
764
|
@return Promise<AvatarPromptResult>
|
|
767
765
|
]=]
|
|
768
|
-
function AvatarEditorUtils.promptUpdateOutfit(
|
|
769
|
-
outfitId: number,
|
|
770
|
-
updatedOutfit: HumanoidDescription,
|
|
771
|
-
rigType: Enum.HumanoidRigType
|
|
772
|
-
)
|
|
766
|
+
function AvatarEditorUtils.promptUpdateOutfit(outfitId: number, updatedOutfit: HumanoidDescription, rigType: Enum.HumanoidRigType)
|
|
773
767
|
assert(type(outfitId) == "number", "Bad outfitId")
|
|
774
768
|
assert(typeof(updatedOutfit) == "Instance" and updatedOutfit:IsA("HumanoidDescription"), "Bad updatedOutfit")
|
|
775
769
|
assert(EnumUtils.isOfType(Enum.HumanoidRigType, rigType), "Bad rigType")
|
|
@@ -782,15 +776,13 @@ function AvatarEditorUtils.promptUpdateOutfit(
|
|
|
782
776
|
maid:DoCleaning()
|
|
783
777
|
end)
|
|
784
778
|
|
|
785
|
-
maid:GiveTask(
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
end)
|
|
793
|
-
)
|
|
779
|
+
maid:GiveTask(AvatarEditorService.PromptUpdateOutfitCompleted:Connect(function(avatarPromptResult: Enum.AvatarPromptResult)
|
|
780
|
+
if avatarPromptResult == Enum.AvatarPromptResult.Success then
|
|
781
|
+
promise:Resolve(avatarPromptResult)
|
|
782
|
+
else
|
|
783
|
+
promise:Reject(avatarPromptResult)
|
|
784
|
+
end
|
|
785
|
+
end))
|
|
794
786
|
|
|
795
787
|
local ok, err = pcall(function()
|
|
796
788
|
AvatarEditorService:PromptUpdateOutfit(outfitId, updatedOutfit, rigType)
|
|
@@ -803,4 +795,4 @@ function AvatarEditorUtils.promptUpdateOutfit(
|
|
|
803
795
|
return promise
|
|
804
796
|
end
|
|
805
797
|
|
|
806
|
-
return AvatarEditorUtils
|
|
798
|
+
return AvatarEditorUtils
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
local require = require(script.Parent.loader).load(script)
|
|
6
6
|
|
|
7
|
-
local
|
|
7
|
+
local MemorizeUtils = require("MemorizeUtils")
|
|
8
8
|
local AvatarEditorUtils = require("AvatarEditorUtils")
|
|
9
|
+
local Aggregator = require("Aggregator")
|
|
9
10
|
local Maid = require("Maid")
|
|
10
|
-
local MemorizeUtils = require("MemorizeUtils")
|
|
11
11
|
local PagesProxy = require("PagesProxy")
|
|
12
12
|
local ServiceBag = require("ServiceBag")
|
|
13
13
|
|
|
@@ -21,9 +21,10 @@ function CatalogSearchServiceCache:Init(serviceBag: ServiceBag.ServiceBag)
|
|
|
21
21
|
|
|
22
22
|
-- TODO: If you scroll down long enough this leaks memory
|
|
23
23
|
self._promiseSearchCatalog = MemorizeUtils.memoize(function(params)
|
|
24
|
-
return AvatarEditorUtils.promiseSearchCatalog(params)
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
return AvatarEditorUtils.promiseSearchCatalog(params)
|
|
25
|
+
:Then(function(catalogPages)
|
|
26
|
+
return PagesProxy.new(catalogPages)
|
|
27
|
+
end)
|
|
27
28
|
end)
|
|
28
29
|
|
|
29
30
|
self._assetAggregator = self._maid:Add(Aggregator.new("AvatarEditorUtils.promiseBatchItemDetails", function(itemIds)
|
|
@@ -31,10 +32,9 @@ function CatalogSearchServiceCache:Init(serviceBag: ServiceBag.ServiceBag)
|
|
|
31
32
|
end))
|
|
32
33
|
self._assetAggregator:SetMaxBatchSize(100)
|
|
33
34
|
|
|
34
|
-
self._bundleAggregator =
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
end))
|
|
35
|
+
self._bundleAggregator = self._maid:Add(Aggregator.new("AvatarEditorUtils.promiseBatchItemDetails", function(itemIds)
|
|
36
|
+
return AvatarEditorUtils.promiseBatchItemDetails(itemIds, Enum.AvatarItemType.Bundle)
|
|
37
|
+
end))
|
|
38
38
|
self._bundleAggregator:SetMaxBatchSize(100)
|
|
39
39
|
end
|
|
40
40
|
|
|
@@ -58,13 +58,14 @@ function CatalogSearchServiceCache:PromiseItemDetails(assetId, avatarItemType)
|
|
|
58
58
|
end
|
|
59
59
|
|
|
60
60
|
function CatalogSearchServiceCache:PromiseSearchCatalog(params)
|
|
61
|
-
return self._promiseSearchCatalog(params)
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
return self._promiseSearchCatalog(params)
|
|
62
|
+
:Then(function(pagesProxy)
|
|
63
|
+
return pagesProxy:Clone()
|
|
64
|
+
end)
|
|
64
65
|
end
|
|
65
66
|
|
|
66
67
|
function CatalogSearchServiceCache:Destroy()
|
|
67
68
|
self._maid:DoCleaning()
|
|
68
69
|
end
|
|
69
70
|
|
|
70
|
-
return CatalogSearchServiceCache
|
|
71
|
+
return CatalogSearchServiceCache
|