@quenty/observablecollection 12.21.2-canary.b2c1d09.0 → 12.22.1-canary.49ca3cd.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,18 @@
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
- ## [12.21.2-canary.b2c1d09.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/observablecollection@12.21.1...@quenty/observablecollection@12.21.2-canary.b2c1d09.0) (2025-08-29)
6
+ ## [12.22.1-canary.49ca3cd.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/observablecollection@12.22.0...@quenty/observablecollection@12.22.1-canary.49ca3cd.0) (2025-09-15)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * Add notes about sorted list ([7f54048](https://github.com/Quenty/NevermoreEngine/commit/7f5404843ded0e3ff9bd4d96a210a627e059478f))
12
+
13
+
14
+
15
+
16
+
17
+ # [12.22.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/observablecollection@12.21.1...@quenty/observablecollection@12.22.0) (2025-08-29)
7
18
 
8
19
  **Note:** Version bump only for package @quenty/observablecollection
9
20
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quenty/observablecollection",
3
- "version": "12.21.2-canary.b2c1d09.0",
3
+ "version": "12.22.1-canary.49ca3cd.0",
4
4
  "description": "A set of observable collections, such as sets, maps, sorted lists, and more.",
5
5
  "keywords": [
6
6
  "Roblox",
@@ -28,23 +28,23 @@
28
28
  ],
29
29
  "dependencies": {
30
30
  "@quenty/baseobject": "10.9.0",
31
- "@quenty/brio": "14.18.2-canary.b2c1d09.0",
31
+ "@quenty/brio": "14.19.0",
32
32
  "@quenty/ducktype": "5.9.0",
33
33
  "@quenty/loader": "10.9.0",
34
34
  "@quenty/maid": "3.5.0",
35
- "@quenty/promise": "10.11.1-canary.b2c1d09.0",
36
- "@quenty/rx": "13.18.2-canary.b2c1d09.0",
35
+ "@quenty/promise": "10.12.0",
36
+ "@quenty/rx": "13.19.0",
37
37
  "@quenty/signal": "7.11.1",
38
38
  "@quenty/steputils": "3.6.0",
39
39
  "@quenty/symbol": "3.5.0",
40
40
  "@quenty/table": "3.8.0",
41
- "@quenty/valueobject": "13.18.2-canary.b2c1d09.0"
41
+ "@quenty/valueobject": "13.19.0"
42
42
  },
43
43
  "devDependencies": {
44
- "@quenty/blend": "12.19.2-canary.b2c1d09.0"
44
+ "@quenty/blend": "12.20.0"
45
45
  },
46
46
  "publishConfig": {
47
47
  "access": "public"
48
48
  },
49
- "gitHead": "b2c1d09e0117fab1b9de4bf9ae8eec626d6e0f7d"
49
+ "gitHead": "49ca3cdf08098f73fe1d6b44c03ad493aa840dc6"
50
50
  }
@@ -591,6 +591,7 @@ function ObservableSortedList._fireEvents<T>(self: ObservableSortedList<T>)
591
591
  do
592
592
  local descendantCount = self._root and self._root.descendantCount or 0
593
593
  for index, node in self:_iterateNodesRange(lowestIndexChanged) do
594
+ -- TODO: Handle when there are no nodes to iterate, we still need to fire negative indexes
594
595
  -- TODO: Handle negative observations to avoid refiring upon insertion
595
596
  -- TODO: Handle our state changing while we're firing
596
597
  -- TODO: Avoid looping over nodes if we don't need to (track observations in node itself?)
@@ -0,0 +1,30 @@
1
+ --[[
2
+ @class ObservableSortedList.story
3
+ ]]
4
+
5
+ local require =
6
+ require(game:GetService("ServerScriptService"):FindFirstChild("LoaderUtils", true).Parent).bootstrapStory(script)
7
+
8
+ local Maid = require("Maid")
9
+ local ObservableSortedList = require("ObservableSortedList")
10
+
11
+ return function(_target)
12
+ local maid = Maid.new()
13
+
14
+ local observableSortedList = maid:Add(ObservableSortedList.new())
15
+
16
+ maid:GiveTask(observableSortedList:ObserveAtIndex(-1):Subscribe(function(entry)
17
+ print("stack entry", entry)
18
+ end))
19
+
20
+ observableSortedList:Add("A", 0)
21
+ local removeB = observableSortedList:Add("B", 1)
22
+
23
+ task.defer(function()
24
+ removeB()
25
+ end)
26
+
27
+ return function()
28
+ maid:DoCleaning()
29
+ end
30
+ end