feat(core): add Electron runtime, services, and app composition

This commit is contained in:
2026-02-22 21:43:43 -08:00
parent 448ce03fd4
commit d3fd47f0ec
562 changed files with 69719 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
import assert from 'node:assert/strict';
import test from 'node:test';
import {
createBuildCancelNumericShortcutSessionMainDepsHandler,
createBuildStartNumericShortcutSessionMainDepsHandler,
} from './numeric-shortcut-session-main-deps';
test('numeric shortcut session main deps builders map callbacks', () => {
const calls: string[] = [];
const session = {
start: () => calls.push('start'),
cancel: () => calls.push('cancel'),
};
const cancel = createBuildCancelNumericShortcutSessionMainDepsHandler({ session })();
cancel.session.cancel();
const start = createBuildStartNumericShortcutSessionMainDepsHandler({
session,
onDigit: (digit) => calls.push(`digit:${digit}`),
messages: {
prompt: 'prompt',
timeout: 'timeout',
cancelled: 'cancelled',
},
})();
start.session.start({
timeoutMs: 100,
onDigit: () => {},
messages: start.messages,
});
start.onDigit(4);
assert.equal(start.messages.prompt, 'prompt');
assert.equal(start.messages.timeout, 'timeout');
assert.equal(start.messages.cancelled, 'cancelled');
assert.deepEqual(calls, ['cancel', 'start', 'digit:4']);
});