@quenty/selectionutils 8.17.3 → 8.17.4-canary.11a5dcf.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 +11 -0
- package/package.json +10 -10
- package/src/Shared/RxSelectionUtils.lua +16 -13
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
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
|
+
## [8.17.4-canary.11a5dcf.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/selectionutils@8.17.3...@quenty/selectionutils@8.17.4-canary.11a5dcf.0) (2025-05-10)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* Additional type checking updates ([05ba29a](https://github.com/Quenty/NevermoreEngine/commit/05ba29a03efc9f3feed74b34f1d9dfb237496214))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [8.17.3](https://github.com/Quenty/NevermoreEngine/compare/@quenty/selectionutils@8.17.2...@quenty/selectionutils@8.17.3) (2025-04-10)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @quenty/selectionutils
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenty/selectionutils",
|
|
3
|
-
"version": "8.17.
|
|
3
|
+
"version": "8.17.4-canary.11a5dcf.0",
|
|
4
4
|
"description": "Utility methods around Selection service. Useful for plugins and stories.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -25,17 +25,17 @@
|
|
|
25
25
|
"Quenty"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@quenty/baseobject": "
|
|
29
|
-
"@quenty/brio": "
|
|
30
|
-
"@quenty/loader": "
|
|
31
|
-
"@quenty/maid": "
|
|
32
|
-
"@quenty/rx": "
|
|
33
|
-
"@quenty/signal": "
|
|
34
|
-
"@quenty/table": "
|
|
35
|
-
"@quenty/valueobject": "
|
|
28
|
+
"@quenty/baseobject": "10.8.4-canary.11a5dcf.0",
|
|
29
|
+
"@quenty/brio": "14.17.4-canary.11a5dcf.0",
|
|
30
|
+
"@quenty/loader": "10.8.4-canary.11a5dcf.0",
|
|
31
|
+
"@quenty/maid": "3.4.4-canary.11a5dcf.0",
|
|
32
|
+
"@quenty/rx": "13.17.4-canary.11a5dcf.0",
|
|
33
|
+
"@quenty/signal": "7.10.4-canary.11a5dcf.0",
|
|
34
|
+
"@quenty/table": "3.7.5-canary.11a5dcf.0",
|
|
35
|
+
"@quenty/valueobject": "13.17.4-canary.11a5dcf.0"
|
|
36
36
|
},
|
|
37
37
|
"publishConfig": {
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "11a5dcf7d4c7a0bfbf3337e97d30e8346ea09d3f"
|
|
41
41
|
}
|
|
@@ -7,12 +7,13 @@ local Selection = game:GetService("Selection")
|
|
|
7
7
|
|
|
8
8
|
local require = require(script.Parent.loader).load(script)
|
|
9
9
|
|
|
10
|
-
local Observable = require("Observable")
|
|
11
|
-
local Maid = require("Maid")
|
|
12
10
|
local Brio = require("Brio")
|
|
13
|
-
local
|
|
11
|
+
local Maid = require("Maid")
|
|
12
|
+
local Observable = require("Observable")
|
|
13
|
+
local Rx = require("Rx")
|
|
14
14
|
local RxBrioUtils = require("RxBrioUtils")
|
|
15
15
|
local Set = require("Set")
|
|
16
|
+
local ValueObject = require("ValueObject")
|
|
16
17
|
|
|
17
18
|
local RxSelectionUtils = {}
|
|
18
19
|
|
|
@@ -100,7 +101,7 @@ end
|
|
|
100
101
|
@param where callback
|
|
101
102
|
@return Observable<Instance?>
|
|
102
103
|
]=]
|
|
103
|
-
function RxSelectionUtils.observeFirstSelection(where)
|
|
104
|
+
function RxSelectionUtils.observeFirstSelection(where: Rx.Predicate<Instance>): Observable.Observable<Instance?>
|
|
104
105
|
assert(type(where) == "function", "Bad where")
|
|
105
106
|
|
|
106
107
|
return Observable.new(function(sub)
|
|
@@ -139,16 +140,18 @@ end
|
|
|
139
140
|
@param where callback
|
|
140
141
|
@return Observable<Brio<Instance>>
|
|
141
142
|
]=]
|
|
142
|
-
function RxSelectionUtils.observeFirstSelectionBrio(
|
|
143
|
+
function RxSelectionUtils.observeFirstSelectionBrio(
|
|
144
|
+
where: Rx.Predicate<Instance>
|
|
145
|
+
): Observable.Observable<Brio.Brio<Instance>>
|
|
143
146
|
assert(type(where) == "function", "Bad where")
|
|
144
147
|
|
|
145
148
|
return RxSelectionUtils.observeFirstSelection(where):Pipe({
|
|
146
|
-
RxBrioUtils.toBrio(),
|
|
147
|
-
RxBrioUtils.onlyLastBrioSurvives(),
|
|
149
|
+
RxBrioUtils.toBrio() :: any,
|
|
150
|
+
RxBrioUtils.onlyLastBrioSurvives() :: any,
|
|
148
151
|
RxBrioUtils.where(function(value)
|
|
149
152
|
return value ~= nil
|
|
150
|
-
end),
|
|
151
|
-
})
|
|
153
|
+
end) :: any,
|
|
154
|
+
}) :: any
|
|
152
155
|
end
|
|
153
156
|
|
|
154
157
|
--[=[
|
|
@@ -156,7 +159,7 @@ end
|
|
|
156
159
|
|
|
157
160
|
@return Observable<{ Instance }>
|
|
158
161
|
]=]
|
|
159
|
-
function RxSelectionUtils.observeSelectionList()
|
|
162
|
+
function RxSelectionUtils.observeSelectionList(): Observable.Observable<{ Instance }>
|
|
160
163
|
return Observable.new(function(sub)
|
|
161
164
|
local maid = Maid.new()
|
|
162
165
|
|
|
@@ -168,7 +171,7 @@ function RxSelectionUtils.observeSelectionList()
|
|
|
168
171
|
sub:Fire(current)
|
|
169
172
|
|
|
170
173
|
return maid
|
|
171
|
-
end)
|
|
174
|
+
end) :: any
|
|
172
175
|
end
|
|
173
176
|
|
|
174
177
|
--[=[
|
|
@@ -176,7 +179,7 @@ end
|
|
|
176
179
|
|
|
177
180
|
@return Observable<Brio<Instance>>
|
|
178
181
|
]=]
|
|
179
|
-
function RxSelectionUtils.observeSelectionItemsBrio()
|
|
182
|
+
function RxSelectionUtils.observeSelectionItemsBrio(): Observable.Observable<Brio.Brio<Instance>>
|
|
180
183
|
return Observable.new(function(sub)
|
|
181
184
|
local maid = Maid.new()
|
|
182
185
|
|
|
@@ -208,7 +211,7 @@ function RxSelectionUtils.observeSelectionItemsBrio()
|
|
|
208
211
|
handleSelectionChanged()
|
|
209
212
|
|
|
210
213
|
return maid
|
|
211
|
-
end)
|
|
214
|
+
end) :: any
|
|
212
215
|
end
|
|
213
216
|
|
|
214
217
|
return RxSelectionUtils
|