-
Notifications
You must be signed in to change notification settings - Fork 0
ES2026 Features
This project uses ES2026 features throughout. Here's where each feature is used and why.
.map(), .filter(), .toArray(), .forEach(), .some(), .find(), .reduce() on iterators.
// Search pipeline
items.values()
.map((item) => scorer(query, item))
.filter((result) => result != null)
.toArray()
.sort((a, b) => b.score - a.score);
// Registry operations
this.#bindings.values().find((binding) => matchesShortcut(binding, event));Used in: search engine, registry, keyboard matcher, frecency engine, event emitter, React components.
// Efficient bulk removal
const remaining = currentIds.difference(removedIds);
// Incremental filtering
previousResults = previousResults.difference(ids);Used in: registry (union/intersection/difference), search engine (candidate pruning).
const totalSize = Math.sumPrecise(itemSizes);Used in: search scorer (score aggregation), virtualizer (total height calculation).
const { promise, resolve, reject } = Promise.withResolvers<SearchResult[]>();
worker.postMessage({ type: 'SEARCH', query });
// ... later in message handler: resolve(results);Used in: scheduler (flush coordination), WASM worker engine (request tracking).
const result = await Promise.try(() => dangerousOperation());Used in: async initialization safety wrappers.
// Synchronous
using engine = createSearchEngine();
using machine = createCommandMachine({ items });
// Asynchronous
await using engine = await createWasmSearchEngine();Used in: all engines, machines, subscriptions, storage backends.
// Timestamps
const now = Temporal.Now.instant();
// Duration buckets
const day = Temporal.Duration.from({ hours: 24 });
const elapsed = now.since(lastUsed);
const hours = elapsed.total('hours');Used in: frecency engine (timestamps, decay buckets).
const safePattern = new RegExp(RegExp.escape(userInput));Used in: keyboard shortcut parser (safe pattern construction from shortcut strings).
const grouped = Object.groupBy(shortcuts, (s) => s.normalizedKey);
const conflicts = Object.entries(grouped).filter(([, v]) => v.length > 1);Used in: keyboard conflict detection, machine state grouping.
export type ItemId = string & { readonly __brand: 'ItemId' };
export type GroupId = string & { readonly __brand: 'GroupId' };Used in: all ID references for compile-time type safety.
export const DEFAULT_FRECENCY_DECAY = {
hourWeight: 4.0,
dayWeight: 2.0,
} satisfies FrecencyDecayConfig;Used in: default configuration objects.