@quenty/attributeutils 14.18.0-canary.ae8d76d.0 → 14.18.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,7 +3,7 @@
|
|
|
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
|
-
# [14.18.0
|
|
6
|
+
# [14.18.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/attributeutils@14.17.3...@quenty/attributeutils@14.18.0) (2025-05-10)
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
### Bug Fixes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenty/attributeutils",
|
|
3
|
-
"version": "14.18.0
|
|
3
|
+
"version": "14.18.0",
|
|
4
4
|
"description": "Provides utility functions to work with attributes in Roblox",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -25,17 +25,17 @@
|
|
|
25
25
|
"Quenty"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@quenty/brio": "14.18.0
|
|
29
|
-
"@quenty/canceltoken": "11.12.0
|
|
30
|
-
"@quenty/loader": "10.
|
|
31
|
-
"@quenty/maid": "3.
|
|
32
|
-
"@quenty/promise": "10.11.0
|
|
33
|
-
"@quenty/rx": "13.18.0
|
|
34
|
-
"@quenty/rxsignal": "7.18.0
|
|
35
|
-
"@quenty/symbol": "3.
|
|
28
|
+
"@quenty/brio": "^14.18.0",
|
|
29
|
+
"@quenty/canceltoken": "^11.12.0",
|
|
30
|
+
"@quenty/loader": "^10.9.0",
|
|
31
|
+
"@quenty/maid": "^3.5.0",
|
|
32
|
+
"@quenty/promise": "^10.11.0",
|
|
33
|
+
"@quenty/rx": "^13.18.0",
|
|
34
|
+
"@quenty/rxsignal": "^7.18.0",
|
|
35
|
+
"@quenty/symbol": "^3.5.0"
|
|
36
36
|
},
|
|
37
37
|
"publishConfig": {
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "20cff952c2cf06b959f2f11d2293bdef38acc604"
|
|
41
41
|
}
|
|
@@ -8,9 +8,9 @@ local require = require(script.Parent.loader).load(script)
|
|
|
8
8
|
|
|
9
9
|
local RunService = game:GetService("RunService")
|
|
10
10
|
|
|
11
|
+
local CancelToken = require("CancelToken")
|
|
11
12
|
local Maid = require("Maid")
|
|
12
13
|
local Promise = require("Promise")
|
|
13
|
-
local CancelToken = require("CancelToken")
|
|
14
14
|
|
|
15
15
|
local DEFAULT_PREDICATE = function(value)
|
|
16
16
|
return value ~= nil
|
|
@@ -64,7 +64,12 @@ end
|
|
|
64
64
|
@param cancelToken CancelToken
|
|
65
65
|
@return Promise<unknown>
|
|
66
66
|
]=]
|
|
67
|
-
function AttributeUtils.promiseAttribute(
|
|
67
|
+
function AttributeUtils.promiseAttribute(
|
|
68
|
+
instance: Instance,
|
|
69
|
+
attributeName: string,
|
|
70
|
+
predicate,
|
|
71
|
+
cancelToken: CancelToken.CancelToken?
|
|
72
|
+
): Promise.Promise<unknown>
|
|
68
73
|
assert(typeof(instance) == "Instance", "Bad instance")
|
|
69
74
|
assert(type(attributeName) == "string", "Bad attributeName")
|
|
70
75
|
assert(CancelToken.isCancelToken(cancelToken) or cancelToken == nil, "Bad cancelToken")
|
|
@@ -32,10 +32,10 @@ function EncodedAttributeValue.new(object: Instance, attributeName: string, enco
|
|
|
32
32
|
assert(type(encode) == "function", "Bad encode")
|
|
33
33
|
|
|
34
34
|
local self = {
|
|
35
|
-
_object = object
|
|
36
|
-
_attributeName = attributeName
|
|
37
|
-
_decode = decode
|
|
38
|
-
_encode = encode
|
|
35
|
+
_object = object,
|
|
36
|
+
_attributeName = attributeName,
|
|
37
|
+
_decode = decode,
|
|
38
|
+
_encode = encode,
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
if defaultValue ~= nil and self._object:GetAttribute(self._attributeName) == nil then
|
|
@@ -52,7 +52,7 @@ end
|
|
|
52
52
|
]=]
|
|
53
53
|
function EncodedAttributeValue:ObserveBrio(condition)
|
|
54
54
|
return RxAttributeUtils.observeAttributeBrio(self._object, self._attributeName, condition):Pipe({
|
|
55
|
-
RxBrioUtils.map(rawget(self, "_decode"))
|
|
55
|
+
RxBrioUtils.map(rawget(self, "_decode")),
|
|
56
56
|
})
|
|
57
57
|
end
|
|
58
58
|
|
|
@@ -62,7 +62,7 @@ end
|
|
|
62
62
|
]=]
|
|
63
63
|
function EncodedAttributeValue:Observe()
|
|
64
64
|
return RxAttributeUtils.observeAttribute(self._object, self._attributeName, rawget(self, "_defaultValue")):Pipe({
|
|
65
|
-
Rx.map(rawget(self, "_decode"))
|
|
65
|
+
Rx.map(rawget(self, "_decode")),
|
|
66
66
|
})
|
|
67
67
|
end
|
|
68
68
|
|
|
@@ -109,4 +109,4 @@ function EncodedAttributeValue:__newindex(index, value)
|
|
|
109
109
|
end
|
|
110
110
|
end
|
|
111
111
|
|
|
112
|
-
return EncodedAttributeValue
|
|
112
|
+
return EncodedAttributeValue
|
|
@@ -130,7 +130,11 @@ end
|
|
|
130
130
|
@param condition function | nil
|
|
131
131
|
@return Observable<Brio<any>>
|
|
132
132
|
]=]
|
|
133
|
-
function RxAttributeUtils.observeAttributeBrio<T>(
|
|
133
|
+
function RxAttributeUtils.observeAttributeBrio<T>(
|
|
134
|
+
instance: Instance,
|
|
135
|
+
attributeName: string,
|
|
136
|
+
condition: Rx.Predicate<T>?
|
|
137
|
+
): Observable.Observable<Brio.Brio<T>>
|
|
134
138
|
assert(typeof(instance) == "Instance", "Bad instance")
|
|
135
139
|
assert(type(attributeName) == "string", "Bad attributeName")
|
|
136
140
|
|
|
@@ -168,4 +172,4 @@ function RxAttributeUtils.observeAttributeBrio<T>(instance: Instance, attributeN
|
|
|
168
172
|
end) :: any
|
|
169
173
|
end
|
|
170
174
|
|
|
171
|
-
return RxAttributeUtils
|
|
175
|
+
return RxAttributeUtils
|