@opentui/keymap 0.5.10 → 0.5.11

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.
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import { CliRenderEvents, KeyEvent, RenderableEvents, type CliRenderer, type Renderable } from \"@opentui/core\"\nimport { Keymap, type HostMetadata, type HostPlatform, type KeymapHost } from \"@opentui/keymap\"\nimport { registerDefaultKeys, registerEnabledFields, registerMetadataFields } from \"@opentui/keymap/addons\"\n\nfunction createSyntheticCommandEvent(): KeyEvent {\n return new KeyEvent({\n name: \"command\",\n ctrl: false,\n meta: false,\n shift: false,\n option: false,\n sequence: \"\",\n number: false,\n raw: \"\",\n eventType: \"press\",\n source: \"raw\",\n })\n}\n\nfunction normalizeRuntimePlatform(platform: NodeJS.Platform | string | undefined): HostPlatform {\n if (platform === \"darwin\") {\n return \"macos\"\n }\n\n if (platform === \"win32\") {\n return \"windows\"\n }\n\n if (platform === \"linux\") {\n return \"linux\"\n }\n\n return \"unknown\"\n}\n\nfunction createOpenTuiHostMetadata(renderer: CliRenderer): HostMetadata {\n const platform = normalizeRuntimePlatform(process.platform)\n const hasKittyKeyboard = renderer.capabilities?.kitty_keyboard === true\n\n return {\n platform,\n primaryModifier: platform === \"macos\" ? \"super\" : platform === \"unknown\" ? \"unknown\" : \"ctrl\",\n modifiers: {\n ctrl: \"supported\",\n shift: \"supported\",\n meta: \"supported\",\n super: hasKittyKeyboard ? \"supported\" : \"unknown\",\n hyper: hasKittyKeyboard ? \"supported\" : \"unknown\",\n },\n }\n}\n\nexport function createOpenTuiKeymapHost(renderer: CliRenderer): KeymapHost<Renderable, KeyEvent> {\n return {\n get metadata() {\n return createOpenTuiHostMetadata(renderer)\n },\n rootTarget: renderer.root,\n get isDestroyed() {\n return renderer.isDestroyed\n },\n getFocusedTarget() {\n const focused = renderer.currentFocusedRenderable\n if (!focused || focused.isDestroyed || !focused.focused) {\n return null\n }\n\n return focused\n },\n getParentTarget(target) {\n return target.parent\n },\n isTargetDestroyed(target) {\n return target.isDestroyed\n },\n onKeyPress(listener) {\n renderer.keyInput.prependListener(\"keypress\", listener)\n return () => {\n renderer.keyInput.off(\"keypress\", listener)\n }\n },\n onKeyRelease(listener) {\n renderer.keyInput.prependListener(\"keyrelease\", listener)\n return () => {\n renderer.keyInput.off(\"keyrelease\", listener)\n }\n },\n onFocusChange(listener) {\n renderer.on(CliRenderEvents.FOCUSED_RENDERABLE, listener)\n return () => {\n renderer.off(CliRenderEvents.FOCUSED_RENDERABLE, listener)\n }\n },\n onDestroy(listener) {\n renderer.once(CliRenderEvents.DESTROY, listener)\n return () => {\n renderer.off(CliRenderEvents.DESTROY, listener)\n }\n },\n onTargetDestroy(target, listener) {\n target.once(RenderableEvents.DESTROYED, listener)\n return () => {\n target.off(RenderableEvents.DESTROYED, listener)\n }\n },\n onRawInput(listener) {\n renderer.prependInputHandler(listener)\n return () => {\n renderer.removeInputHandler(listener)\n }\n },\n createCommandEvent() {\n return createSyntheticCommandEvent()\n },\n }\n}\n\nexport function createOpenTuiKeymap(renderer: CliRenderer): Keymap<Renderable, KeyEvent> {\n if (renderer.isDestroyed) {\n throw new Error(\"Cannot create a keymap for a destroyed renderer\")\n }\n\n return new Keymap(createOpenTuiKeymapHost(renderer))\n}\n\nexport function createDefaultOpenTuiKeymap(renderer: CliRenderer): Keymap<Renderable, KeyEvent> {\n if (renderer.isDestroyed) {\n throw new Error(\"Cannot create a keymap for a destroyed renderer\")\n }\n\n const keymap = new Keymap(createOpenTuiKeymapHost(renderer))\n registerDefaultKeys(keymap)\n registerEnabledFields(keymap)\n registerMetadataFields(keymap)\n return keymap\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "3536CBBE2B01723A64756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "AE08C48B4A94425364756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,6 +1,4 @@
1
1
  // @bun
2
- import"../../chunks/index-p35cyhc4.js";
3
-
4
2
  // src/react/index.ts
5
3
  import {
6
4
  createElement,
@@ -117,13 +115,13 @@ function reactiveMatcherFromStore(subscribe, getSnapshot, predicate) {
117
115
  };
118
116
  }
119
117
  export {
120
- usePendingSequence,
121
- useKeymap,
122
- useBindings,
123
- useActiveKeys,
118
+ KeymapProvider,
124
119
  reactiveMatcherFromStore,
125
- KeymapProvider
120
+ useActiveKeys,
121
+ useBindings,
122
+ useKeymap,
123
+ usePendingSequence
126
124
  };
127
125
 
128
- //# debugId=CA1BE97FEBFCD58864756E2164756E21
126
+ //# debugId=BC34AD209E51593B64756E2164756E21
129
127
  //# sourceMappingURL=index.js.map
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import type { KeyEvent, Renderable } from \"@opentui/core\"\nimport {\n type ActiveKey,\n type ActiveKeyOptions,\n type Layer,\n type Keymap,\n type ReactiveMatcher,\n type KeySequencePart,\n type TargetMode,\n} from \"../index.js\"\nimport {\n createElement,\n createContext,\n useCallback,\n useContext,\n useEffect,\n useLayoutEffect,\n useMemo,\n useReducer,\n useRef,\n type DependencyList,\n type ReactNode,\n} from \"react\"\n\ntype OpenTuiKeymap = Keymap<Renderable, KeyEvent>\n\nconst KeymapContext = createContext<OpenTuiKeymap | null>(null)\n\nexport interface KeymapProviderProps {\n keymap: OpenTuiKeymap\n children?: ReactNode\n}\n\nexport function KeymapProvider({ keymap, children }: KeymapProviderProps) {\n return createElement(KeymapContext.Provider, { value: keymap }, children)\n}\n\nexport interface UseBindingsTargetRef<TRenderable extends Renderable = Renderable> {\n current: TRenderable | null\n}\n\nexport interface UseBindingsLayer<TRenderable extends Renderable = Renderable> extends Omit<\n Layer<Renderable, KeyEvent>,\n \"target\" | \"targetMode\"\n> {\n targetRef?: UseBindingsTargetRef<TRenderable>\n targetMode?: TargetMode\n}\n\nfunction resolveBindingsTarget(targetRef: UseBindingsTargetRef | undefined): Renderable | undefined {\n return targetRef?.current ?? undefined\n}\n\nexport const useKeymap = (): OpenTuiKeymap => {\n const keymap = useContext(KeymapContext)\n\n if (!keymap) {\n throw new Error(\"Keymap not found. Wrap the tree in <KeymapProvider>.\")\n }\n\n return keymap\n}\n\n// Use the batched `state` event for derived reads. Pending-sequence changes\n// already flow through `state`, so subscribing to both would duplicate work.\nfunction useKeymapStateVersion(keymap: OpenTuiKeymap): number {\n const [version, bumpVersion] = useReducer((value: number) => value + 1, 0)\n\n useLayoutEffect(() => {\n const dispose = keymap.on(\"state\", () => {\n bumpVersion()\n })\n\n return () => {\n dispose()\n }\n }, [keymap])\n\n return version\n}\n\nexport const useActiveKeys = (options?: ActiveKeyOptions): readonly ActiveKey[] => {\n const keymap = useKeymap()\n const version = useKeymapStateVersion(keymap)\n\n return useMemo(() => {\n void version\n return keymap.getActiveKeys(options)\n }, [keymap, options, version])\n}\n\nexport const usePendingSequence = (): readonly KeySequencePart[] => {\n const keymap = useKeymap()\n const version = useKeymapStateVersion(keymap)\n\n return useMemo(() => {\n void version\n return keymap.getPendingSequence()\n }, [keymap, version])\n}\n\nexport function useBindings<TRenderable extends Renderable = Renderable>(\n createLayer: () => UseBindingsLayer<TRenderable>,\n deps: DependencyList = [],\n): void {\n const keymap = useKeymap()\n const layer = useMemo(createLayer, deps)\n const layerRef = useRef(layer)\n const disposeRef = useRef<(() => void) | undefined>(undefined)\n const registeredLayerRef = useRef<UseBindingsLayer<TRenderable> | undefined>(undefined)\n const registeredTargetModeRef = useRef<TargetMode | undefined>(undefined)\n const registeredTargetRef = useRef<Renderable | undefined>(undefined)\n\n layerRef.current = layer\n\n const unregister = useCallback(() => {\n disposeRef.current?.()\n disposeRef.current = undefined\n registeredLayerRef.current = undefined\n registeredTargetModeRef.current = undefined\n registeredTargetRef.current = undefined\n }, [])\n\n useEffect(() => {\n const currentLayer = layerRef.current\n const hasExplicitTarget = currentLayer.targetRef !== undefined\n const explicitTarget = resolveBindingsTarget(currentLayer.targetRef)\n const nextTargetMode = currentLayer.targetMode ?? (hasExplicitTarget ? \"focus-within\" : undefined)\n const nextTarget = nextTargetMode ? explicitTarget : undefined\n\n if (!hasExplicitTarget && nextTargetMode) {\n throw new Error(\"useBindings local bindings need a targetRef\")\n }\n\n if (\n registeredLayerRef.current === currentLayer &&\n registeredTargetModeRef.current === nextTargetMode &&\n registeredTargetRef.current === nextTarget\n ) {\n return\n }\n\n unregister()\n\n if (!nextTarget && nextTargetMode) {\n registeredLayerRef.current = currentLayer\n registeredTargetModeRef.current = nextTargetMode\n registeredTargetRef.current = undefined\n return\n }\n\n const { targetRef: _targetRef, targetMode: _targetMode, ...baseLayer } = currentLayer\n disposeRef.current = keymap.registerLayer(\n !nextTargetMode\n ? {\n ...baseLayer,\n }\n : {\n ...baseLayer,\n target: nextTarget!,\n targetMode: nextTargetMode,\n },\n )\n registeredLayerRef.current = currentLayer\n registeredTargetModeRef.current = nextTargetMode\n registeredTargetRef.current = nextTarget\n })\n\n useEffect(() => {\n return () => {\n unregister()\n }\n }, [unregister])\n}\n\n/**\n * Adapts any `subscribe` + `getSnapshot` store to\n * `ReactiveMatcher`. Pass `predicate` when the snapshot value is not\n * already boolean.\n */\nexport function reactiveMatcherFromStore<T>(\n subscribe: (onStoreChange: () => void) => () => void,\n getSnapshot: () => T,\n predicate?: (value: T) => boolean,\n): ReactiveMatcher {\n return {\n get() {\n return predicate ? predicate(getSnapshot()) : Boolean(getSnapshot())\n },\n subscribe(onChange) {\n return subscribe(onChange)\n },\n }\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "CA1BE97FEBFCD58864756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "BC34AD209E51593B64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,8 +1,4 @@
1
1
  // @bun
2
- import {
3
- __require
4
- } from "../chunks/index-p35cyhc4.js";
5
-
6
2
  // src/runtime-modules.ts
7
3
  import * as keymap from "@opentui/keymap";
8
4
  import * as keymapExtras from "@opentui/keymap/extras";
@@ -32,5 +28,5 @@ export {
32
28
  runtimeModules
33
29
  };
34
30
 
35
- //# debugId=CC20AFEBEC8A0E6D64756E2164756E21
31
+ //# debugId=E2F449F0DCEB2CA364756E2164756E21
36
32
  //# sourceMappingURL=runtime-modules.js.map
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import type { RuntimeModuleEntry, RuntimeModuleExports } from \"@opentui/core/runtime-plugin\"\nimport * as keymap from \"@opentui/keymap\"\nimport * as keymapExtras from \"@opentui/keymap/extras\"\nimport * as keymapGraphExtra from \"@opentui/keymap/extras/graph\"\nimport * as keymapAddons from \"@opentui/keymap/addons\"\nimport * as keymapOpenTuiAddons from \"@opentui/keymap/addons/opentui\"\nimport * as keymapHtml from \"@opentui/keymap/html\"\nimport * as keymapOpenTui from \"@opentui/keymap/opentui\"\n\nconst loadKeymapReact = async (): Promise<RuntimeModuleExports> => {\n return (await import(\"@opentui/keymap/react\")) as RuntimeModuleExports\n}\n\nconst loadKeymapSolid = async (): Promise<RuntimeModuleExports> => {\n return (await import(\"@opentui/keymap/solid\")) as RuntimeModuleExports\n}\n\nexport const runtimeModules = {\n \"@opentui/keymap\": keymap,\n \"@opentui/keymap/extras\": keymapExtras,\n \"@opentui/keymap/extras/graph\": keymapGraphExtra,\n \"@opentui/keymap/addons\": keymapAddons,\n \"@opentui/keymap/addons/opentui\": keymapOpenTuiAddons,\n \"@opentui/keymap/html\": keymapHtml,\n \"@opentui/keymap/opentui\": keymapOpenTui,\n \"@opentui/keymap/react\": loadKeymapReact,\n \"@opentui/keymap/solid\": loadKeymapSolid,\n} satisfies Record<string, RuntimeModuleEntry>\n"
6
6
  ],
7
- "mappings": ";;;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAM,kBAAkB,YAA2C;AAAA,EACjE,OAAQ,MAAa;AAAA;AAGvB,IAAM,kBAAkB,YAA2C;AAAA,EACjE,OAAQ,MAAa;AAAA;AAGhB,IAAM,iBAAiB;AAAA,EAC5B,mBAAmB;AAAA,EACnB,0BAA0B;AAAA,EAC1B,gCAAgC;AAAA,EAChC,0BAA0B;AAAA,EAC1B,kCAAkC;AAAA,EAClC,wBAAwB;AAAA,EACxB,2BAA2B;AAAA,EAC3B,yBAAyB;AAAA,EACzB,yBAAyB;AAC3B;",
8
- "debugId": "CC20AFEBEC8A0E6D64756E2164756E21",
7
+ "mappings": ";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAM,kBAAkB,YAA2C;AAAA,EACjE,OAAQ,MAAa;AAAA;AAGvB,IAAM,kBAAkB,YAA2C;AAAA,EACjE,OAAQ,MAAa;AAAA;AAGhB,IAAM,iBAAiB;AAAA,EAC5B,mBAAmB;AAAA,EACnB,0BAA0B;AAAA,EAC1B,gCAAgC;AAAA,EAChC,0BAA0B;AAAA,EAC1B,kCAAkC;AAAA,EAClC,wBAAwB;AAAA,EACxB,2BAA2B;AAAA,EAC3B,yBAAyB;AAAA,EACzB,yBAAyB;AAC3B;",
8
+ "debugId": "E2F449F0DCEB2CA364756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,6 +1,4 @@
1
1
  // @bun
2
- import"../../chunks/index-p35cyhc4.js";
3
-
4
2
  // src/solid/index.ts
5
3
  import {
6
4
  createComponent,
@@ -73,11 +71,11 @@ function useBindings(createLayer) {
73
71
  const nextTargetMode = layer.targetMode ?? (hasExplicitTarget ? "focus-within" : undefined);
74
72
  const { target: _target, targetMode: _targetMode, ...baseLayer } = layer;
75
73
  if (!nextTargetMode) {
76
- const dispose2 = keymap.registerLayer({
74
+ const dispose = keymap.registerLayer({
77
75
  ...baseLayer
78
76
  });
79
77
  onCleanup(() => {
80
- dispose2();
78
+ dispose();
81
79
  });
82
80
  return;
83
81
  }
@@ -111,12 +109,12 @@ function reactiveMatcherFromSignal(accessor, predicate) {
111
109
  };
112
110
  }
113
111
  export {
114
- useKeymapSelector,
115
- useKeymap,
116
- useBindings,
112
+ KeymapProvider,
117
113
  reactiveMatcherFromSignal,
118
- KeymapProvider
114
+ useBindings,
115
+ useKeymap,
116
+ useKeymapSelector
119
117
  };
120
118
 
121
- //# debugId=F7B96CA019AA7AAF64756E2164756E21
119
+ //# debugId=F6C096C92DCA89FE64756E2164756E21
122
120
  //# sourceMappingURL=index.js.map
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import type { KeyEvent, Renderable } from \"@opentui/core\"\nimport { type Keymap, type Layer, type ReactiveMatcher, type TargetMode } from \"../index.js\"\nimport {\n createComponent,\n createContext,\n createEffect,\n createMemo,\n createRoot,\n createSignal,\n on,\n onCleanup,\n onMount,\n useContext,\n type Accessor,\n type JSX,\n} from \"solid-js\"\n\ntype OpenTuiKeymap = Keymap<Renderable, KeyEvent>\n\nconst KeymapContext = createContext<OpenTuiKeymap>()\n\nexport interface KeymapProviderProps {\n keymap: OpenTuiKeymap\n children: JSX.Element\n}\n\nexport function KeymapProvider(props: KeymapProviderProps): JSX.Element {\n return createComponent(KeymapContext.Provider, {\n get value() {\n return props.keymap\n },\n get children() {\n return props.children\n },\n })\n}\n\nexport type UseBindingsTarget<TRenderable extends Renderable = Renderable> = () => TRenderable | null | undefined\n\nexport interface UseBindingsLayer<TRenderable extends Renderable = Renderable> extends Omit<\n Layer<Renderable, KeyEvent>,\n \"target\" | \"targetMode\"\n> {\n target?: UseBindingsTarget<TRenderable>\n targetMode?: TargetMode\n}\n\nfunction resolveBindingsTarget(target: UseBindingsTarget | undefined): Renderable | undefined {\n return target?.() ?? undefined\n}\n\nexport const useKeymap = (): OpenTuiKeymap => {\n const keymap = useContext(KeymapContext)\n\n if (!keymap) {\n throw new Error(\"Keymap not found. Wrap the tree in <KeymapProvider>.\")\n }\n\n return keymap\n}\n\nfunction useKeymapStateVersion(keymap: OpenTuiKeymap): Accessor<number> {\n const [version, setVersion] = createSignal(0)\n let dispose: (() => void) | undefined\n\n onMount(() => {\n dispose = keymap.on(\"state\", () => {\n setVersion((value) => value + 1)\n })\n\n setVersion((value) => value + 1)\n })\n\n onCleanup(() => {\n dispose?.()\n })\n\n return version\n}\n\n/**\n * Reactively derives any view from the current keymap by re-running `selector`\n * on each batched keymap state change.\n */\nexport const useKeymapSelector = <T>(selector: (keymap: OpenTuiKeymap) => T): Accessor<T> => {\n const keymap = useKeymap()\n const version = useKeymapStateVersion(keymap)\n\n return createMemo((previous) => {\n version()\n try {\n return selector(keymap)\n } catch (error) {\n if (\n previous !== undefined &&\n error instanceof Error &&\n error.message === \"Cannot use a keymap after its host was destroyed\"\n ) {\n return previous\n }\n\n throw error\n }\n })\n}\n\nexport function useBindings<TRenderable extends Renderable = Renderable>(\n createLayer: () => UseBindingsLayer<TRenderable>,\n): void {\n const keymap = useKeymap()\n\n createEffect(() => {\n const layer = createLayer()\n const hasExplicitTarget = layer.target !== undefined\n const explicitTarget = resolveBindingsTarget(layer.target)\n const nextTargetMode: TargetMode | undefined = layer.targetMode ?? (hasExplicitTarget ? \"focus-within\" : undefined)\n\n const { target: _target, targetMode: _targetMode, ...baseLayer } = layer\n if (!nextTargetMode) {\n const dispose = keymap.registerLayer({\n ...baseLayer,\n })\n\n onCleanup(() => {\n dispose()\n })\n\n return\n }\n\n if (!hasExplicitTarget) {\n throw new Error(\"useBindings local bindings need a target accessor\")\n }\n\n if (!explicitTarget) {\n return\n }\n\n const dispose = keymap.registerLayer({\n ...baseLayer,\n target: explicitTarget,\n targetMode: nextTargetMode,\n })\n\n onCleanup(() => {\n dispose()\n })\n })\n}\n\n/**\n * Adapts a Solid accessor to `ReactiveMatcher`. The subscription\n * lives in a disposable reactive root so unregistering the layer tears it\n * down. Pass `predicate` when the accessor value is not already boolean.\n */\nexport function reactiveMatcherFromSignal<T>(\n accessor: Accessor<T>,\n predicate?: (value: T) => boolean,\n): ReactiveMatcher {\n return {\n get() {\n return predicate ? predicate(accessor()) : Boolean(accessor())\n },\n subscribe(onChange) {\n return createRoot((dispose) => {\n createEffect(on(accessor, () => onChange(), { defer: true }))\n return dispose\n })\n },\n }\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "F7B96CA019AA7AAF64756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "F6C096C92DCA89FE64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,6 +1,4 @@
1
1
  // @bun
2
- import"../../chunks/index-p35cyhc4.js";
3
-
4
2
  // src/testing/index.ts
5
3
  import { Keymap } from "@opentui/keymap";
6
4
  import { registerDefaultKeys } from "@opentui/keymap/addons";
@@ -264,15 +262,15 @@ function isHostMetadata(value) {
264
262
  return !!value && !!value.modifiers && "ctrl" in value.modifiers && "shift" in value.modifiers;
265
263
  }
266
264
  export {
267
- createTestKeymapHost,
268
- createTestKeymap,
269
- createTestHostMetadata,
270
- captureKeymapDiagnostics,
271
- TestKeymapTarget,
272
- TestKeymapHost,
265
+ DEFAULT_TEST_HOST_METADATA,
273
266
  TestKeymapEvent,
274
- DEFAULT_TEST_HOST_METADATA
267
+ TestKeymapHost,
268
+ TestKeymapTarget,
269
+ captureKeymapDiagnostics,
270
+ createTestHostMetadata,
271
+ createTestKeymap,
272
+ createTestKeymapHost
275
273
  };
276
274
 
277
- //# debugId=DC01206E50E31AF664756E2164756E21
275
+ //# debugId=B07453171230299264756E2164756E21
278
276
  //# sourceMappingURL=index.js.map
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import { Keymap } from \"@opentui/keymap\"\nimport { registerDefaultKeys } from \"@opentui/keymap/addons\"\nimport type { ErrorEvent, HostMetadata, KeymapEvent, KeymapHost, WarningEvent } from \"@opentui/keymap\"\n\nexport type TestKeyModifierOptions = Partial<Pick<KeymapEvent, \"ctrl\" | \"shift\" | \"meta\" | \"super\" | \"hyper\">>\n\nexport type TestHostMetadataOptions = Partial<Omit<HostMetadata, \"modifiers\">> & {\n modifiers?: Partial<HostMetadata[\"modifiers\"]>\n}\n\nexport interface CreateTestKeymapHostOptions {\n metadata?: HostMetadata | TestHostMetadataOptions\n}\n\nexport interface CreateTestKeymapOptions extends CreateTestKeymapHostOptions {\n defaultKeys?: boolean\n}\n\nexport interface TestDiagnosticCapture {\n readonly warnings: readonly string[]\n readonly errors: readonly string[]\n readonly warningEvents: readonly WarningEvent[]\n readonly errorEvents: readonly ErrorEvent[]\n takeWarnings(): { warnings: string[]; warningEvents: WarningEvent[] }\n takeErrors(): { errors: string[]; errorEvents: ErrorEvent[] }\n clear(): void\n dispose(): void\n}\n\nexport interface TestKeymapHarness {\n keymap: Keymap<TestKeymapTarget, TestKeymapEvent>\n host: TestKeymapHost\n root: TestKeymapTarget\n diagnostics: TestDiagnosticCapture\n cleanup(): void\n}\n\nexport const DEFAULT_TEST_HOST_METADATA: HostMetadata = Object.freeze({\n platform: \"unknown\",\n primaryModifier: \"unknown\",\n modifiers: Object.freeze({\n ctrl: \"unknown\",\n shift: \"unknown\",\n meta: \"unknown\",\n super: \"unknown\",\n hyper: \"unknown\",\n }),\n})\n\nexport class TestKeymapTarget {\n public parent: TestKeymapTarget | null = null\n public isDestroyed = false\n\n constructor(public readonly id: string) {}\n\n public append(child: TestKeymapTarget): TestKeymapTarget {\n child.parent = this\n return child\n }\n}\n\nexport class TestKeymapEvent implements KeymapEvent {\n public readonly ctrl: boolean\n public readonly shift: boolean\n public readonly meta: boolean\n public readonly super: boolean\n public readonly hyper?: boolean\n public propagationStopped = false\n public defaultPrevented = false\n\n constructor(\n public readonly name: string,\n modifiers?: TestKeyModifierOptions,\n ) {\n this.ctrl = modifiers?.ctrl ?? false\n this.shift = modifiers?.shift ?? false\n this.meta = modifiers?.meta ?? false\n this.super = modifiers?.super ?? false\n this.hyper = modifiers?.hyper || undefined\n }\n\n public preventDefault(): void {\n this.defaultPrevented = true\n }\n\n public stopPropagation(): void {\n this.propagationStopped = true\n }\n}\n\nexport class TestKeymapHost implements KeymapHost<TestKeymapTarget, TestKeymapEvent> {\n public readonly metadata: HostMetadata\n public readonly rootTarget: TestKeymapTarget\n public isDestroyed = false\n\n private focusedTarget: TestKeymapTarget | null = null\n private readonly keyPressListeners = new Set<(event: TestKeymapEvent) => void>()\n private readonly keyReleaseListeners = new Set<(event: TestKeymapEvent) => void>()\n private readonly focusListeners = new Set<(target: TestKeymapTarget | null) => void>()\n private readonly destroyListeners = new Set<() => void>()\n private readonly rawListeners = new Set<(sequence: string) => boolean>()\n private readonly targetDestroyListeners = new WeakMap<TestKeymapTarget, Set<() => void>>()\n\n constructor(options?: CreateTestKeymapHostOptions) {\n this.metadata = normalizeTestHostMetadata(options?.metadata)\n this.rootTarget = new TestKeymapTarget(\"root\")\n }\n\n public createTarget(id: string): TestKeymapTarget {\n return new TestKeymapTarget(id)\n }\n\n public getFocusedTarget(): TestKeymapTarget | null {\n return this.focusedTarget && !this.focusedTarget.isDestroyed ? this.focusedTarget : null\n }\n\n public getParentTarget(target: TestKeymapTarget): TestKeymapTarget | null {\n return target.parent\n }\n\n public isTargetDestroyed(target: TestKeymapTarget): boolean {\n return target.isDestroyed\n }\n\n public onKeyPress(listener: (event: TestKeymapEvent) => void): () => void {\n this.keyPressListeners.add(listener)\n return () => {\n this.keyPressListeners.delete(listener)\n }\n }\n\n public onKeyRelease(listener: (event: TestKeymapEvent) => void): () => void {\n this.keyReleaseListeners.add(listener)\n return () => {\n this.keyReleaseListeners.delete(listener)\n }\n }\n\n public onFocusChange(listener: (target: TestKeymapTarget | null) => void): () => void {\n this.focusListeners.add(listener)\n return () => {\n this.focusListeners.delete(listener)\n }\n }\n\n public onDestroy(listener: () => void): () => void {\n this.destroyListeners.add(listener)\n return () => {\n this.destroyListeners.delete(listener)\n }\n }\n\n public onTargetDestroy(target: TestKeymapTarget, listener: () => void): () => void {\n let listeners = this.targetDestroyListeners.get(target)\n if (!listeners) {\n listeners = new Set()\n this.targetDestroyListeners.set(target, listeners)\n }\n\n listeners.add(listener)\n return () => {\n listeners?.delete(listener)\n if (listeners && listeners.size === 0) {\n this.targetDestroyListeners.delete(target)\n }\n }\n }\n\n public onRawInput(listener: (sequence: string) => boolean): () => void {\n this.rawListeners.add(listener)\n return () => {\n this.rawListeners.delete(listener)\n }\n }\n\n public createCommandEvent(): TestKeymapEvent {\n return new TestKeymapEvent(\"synthetic\")\n }\n\n public focus(target: TestKeymapTarget | null): void {\n this.focusedTarget = target\n for (const listener of this.focusListeners) {\n listener(target)\n }\n }\n\n public press(name: string, modifiers?: TestKeyModifierOptions): TestKeymapEvent {\n const event = new TestKeymapEvent(name, modifiers)\n for (const listener of this.keyPressListeners) {\n listener(event)\n }\n\n return event\n }\n\n public release(name: string, modifiers?: TestKeyModifierOptions): TestKeymapEvent {\n const event = new TestKeymapEvent(name, modifiers)\n for (const listener of this.keyReleaseListeners) {\n listener(event)\n }\n\n return event\n }\n\n public raw(sequence: string): boolean {\n let handled = false\n for (const listener of this.rawListeners) {\n handled = listener(sequence) || handled\n }\n\n return handled\n }\n\n public destroyTarget(target: TestKeymapTarget): void {\n target.isDestroyed = true\n const listeners = this.targetDestroyListeners.get(target)\n if (!listeners) {\n return\n }\n\n for (const listener of [...listeners]) {\n listener()\n }\n }\n\n public destroy(): void {\n if (this.isDestroyed) {\n return\n }\n\n this.isDestroyed = true\n for (const listener of [...this.destroyListeners]) {\n listener()\n }\n }\n}\n\nexport function createTestHostMetadata(options?: HostMetadata | TestHostMetadataOptions): HostMetadata {\n return normalizeTestHostMetadata(options)\n}\n\nexport function createTestKeymapHost(options?: CreateTestKeymapHostOptions): TestKeymapHost {\n return new TestKeymapHost(options)\n}\n\nexport function createTestKeymap(options?: CreateTestKeymapOptions): TestKeymapHarness {\n const host = createTestKeymapHost(options)\n const keymap = new Keymap(host)\n const diagnostics = captureKeymapDiagnostics(keymap)\n\n if (options?.defaultKeys === true) {\n registerDefaultKeys(keymap)\n }\n\n return {\n keymap,\n host,\n root: host.rootTarget,\n diagnostics,\n cleanup() {\n host.destroy()\n diagnostics.dispose()\n },\n }\n}\n\nexport function captureKeymapDiagnostics(keymap: Keymap<any, any>): TestDiagnosticCapture {\n const warnings: string[] = []\n const errors: string[] = []\n const warningEvents: WarningEvent[] = []\n const errorEvents: ErrorEvent[] = []\n\n const offWarning = keymap.on(\"warning\", (event) => {\n warnings.push(event.message)\n warningEvents.push(event)\n })\n const offError = keymap.on(\"error\", (event) => {\n errors.push(event.message)\n errorEvents.push(event)\n })\n\n return {\n warnings,\n errors,\n warningEvents,\n errorEvents,\n takeWarnings() {\n const snapshot = {\n warnings: [...warnings],\n warningEvents: [...warningEvents],\n }\n warnings.length = 0\n warningEvents.length = 0\n return snapshot\n },\n takeErrors() {\n const snapshot = {\n errors: [...errors],\n errorEvents: [...errorEvents],\n }\n errors.length = 0\n errorEvents.length = 0\n return snapshot\n },\n clear() {\n warnings.length = 0\n errors.length = 0\n warningEvents.length = 0\n errorEvents.length = 0\n },\n dispose() {\n offWarning()\n offError()\n },\n }\n}\n\nfunction normalizeTestHostMetadata(metadata?: HostMetadata | TestHostMetadataOptions): HostMetadata {\n if (isHostMetadata(metadata)) {\n return metadata\n }\n\n return {\n platform: metadata?.platform ?? DEFAULT_TEST_HOST_METADATA.platform,\n primaryModifier: metadata?.primaryModifier ?? DEFAULT_TEST_HOST_METADATA.primaryModifier,\n modifiers: {\n ...DEFAULT_TEST_HOST_METADATA.modifiers,\n ...metadata?.modifiers,\n },\n }\n}\n\nfunction isHostMetadata(value: HostMetadata | TestHostMetadataOptions | undefined): value is HostMetadata {\n return !!value && !!value.modifiers && \"ctrl\" in value.modifiers && \"shift\" in value.modifiers\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "DC01206E50E31AF664756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "B07453171230299264756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,7 +0,0 @@
1
- // @bun
2
- var __require = import.meta.require;
3
-
4
- export { __require };
5
-
6
- //# debugId=C5FC57D20DF2718A64756E2164756E21
7
- //# sourceMappingURL=index-p35cyhc4.js.map
@@ -1,9 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [
5
- ],
6
- "mappings": "",
7
- "debugId": "C5FC57D20DF2718A64756E2164756E21",
8
- "names": []
9
- }