Buckets:
| import { describe, expect, test } from "bun:test" | |
| import { createRoot } from "solid-js" | |
| import { createRefCountMap } from "./refcount" | |
| import { pathKey } from "./path-key" | |
| describe("createRefCountMap", () => { | |
| test("removes an item after its last owner is disposed", () => { | |
| const removed: string[] = [] | |
| const map = createRefCountMap( | |
| (key) => key, | |
| (key) => removed.push(key), | |
| ) | |
| const first = createRoot((dispose) => { | |
| map("/project") | |
| return dispose | |
| }) | |
| const second = createRoot((dispose) => { | |
| map("/project") | |
| return dispose | |
| }) | |
| first() | |
| expect(removed).toEqual([]) | |
| second() | |
| expect(removed).toEqual(["/project"]) | |
| }) | |
| test("keeps equivalent path consumers until the last owner is disposed", () => { | |
| const removed: string[] = [] | |
| const map = createRefCountMap( | |
| (key) => key, | |
| (key) => removed.push(key), | |
| pathKey, | |
| ) | |
| const first = createRoot((dispose) => { | |
| map("C:\\repo") | |
| return dispose | |
| }) | |
| const second = createRoot((dispose) => { | |
| map("C:/repo/") | |
| return dispose | |
| }) | |
| first() | |
| expect(removed).toEqual([]) | |
| second() | |
| expect(removed).toEqual(["C:/repo"]) | |
| }) | |
| }) | |
Xet Storage Details
- Size:
- 1.22 kB
- Xet hash:
- c2cc4e1be5986f91dde6317e046926c6ddea792b412b10a02c174cd3d0a78893
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.