@@ -1,2 +0,2 @@ | ||
| import { Completer, AsyncCompleter, ReadLineOptions } from 'readline'; | ||
| import type { Completer, AsyncCompleter, ReadLineOptions } from 'readline'; | ||
| export interface Options<T extends string | number = string> { | ||
@@ -3,0 +3,0 @@ default?: T; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/read.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAmB,eAAe,EAAE,MAAM,UAAU,CAAA;AAEtF,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IACvD,OAAO,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG;QACjC,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG;QACnC,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAEH,wBAAsB,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAG,EAC9D,OAAO,EAAE,GAAG,EACZ,KAAqB,EACrB,MAAuB,EACvB,SAAS,EACT,MAAW,EACX,MAAM,EACN,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,OAAO,GACR,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAiGlC"} | ||
| {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/read.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1E,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IACvD,OAAO,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG;QACjC,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG;QACnC,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAEH,wBAAsB,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAG,EAC9D,OAAO,EAAE,GAAG,EACZ,KAAqB,EACrB,MAAuB,EACvB,SAAS,EACT,MAAW,EACX,MAAM,EACN,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,OAAO,GACR,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAiGlC"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/read.ts"],"names":[],"mappings":"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","sourcesContent":["import Mute from 'mute-stream'\nimport { Completer, AsyncCompleter, createInterface, ReadLineOptions } from 'readline'\n\nexport interface Options<T extends string | number = string> {\n default?: T\n input?: ReadLineOptions['input'] & {\n isTTY?: boolean\n }\n output?: ReadLineOptions['output'] & {\n isTTY?: boolean\n }\n prompt?: string\n silent?: boolean\n timeout?: number\n edit?: boolean\n terminal?: boolean\n replace?: string,\n completer?: Completer | AsyncCompleter,\n history?: string[],\n }\n\nexport async function read<T extends string | number = string> ({\n default: def,\n input = process.stdin,\n output = process.stdout,\n completer,\n prompt = '',\n silent,\n timeout,\n edit,\n terminal,\n replace,\n history,\n}: Options<T>): Promise<T | string> {\n if (\n typeof def !== 'undefined' &&\n typeof def !== 'string' &&\n typeof def !== 'number'\n ) {\n throw new Error('default value must be string or number')\n }\n\n let editDef = false\n const defString = def?.toString()\n prompt = prompt.trim() + ' '\n terminal = !!(terminal || output.isTTY)\n\n if (defString) {\n if (silent) {\n prompt += '(<default hidden>) '\n // TODO: add tests for edit\n /* c8 ignore start */\n } else if (edit) {\n editDef = true\n /* c8 ignore stop */\n } else {\n prompt += '(' + defString + ') '\n }\n }\n\n const m = new Mute({ replace, prompt })\n m.pipe(output, { end: false })\n output = m\n\n return new Promise<string | T>((resolve, reject) => {\n const rl = createInterface({ input, output, terminal, completer, history })\n // TODO: add tests for timeout\n /* c8 ignore start */\n const timer = timeout && setTimeout(() => onError(new Error('timed out')), timeout)\n /* c8 ignore stop */\n\n m.unmute()\n rl.setPrompt(prompt)\n rl.prompt()\n\n if (silent) {\n m.mute()\n // TODO: add tests for edit + default\n /* c8 ignore start */\n } else if (editDef && defString) {\n const rlEdit = rl as typeof rl & {\n line: string,\n cursor: number,\n _refreshLine: () => void,\n }\n rlEdit.line = defString\n rlEdit.cursor = defString.length\n rlEdit._refreshLine()\n }\n /* c8 ignore stop */\n\n const done = () => {\n rl.close()\n clearTimeout(timer)\n m.mute()\n m.end()\n }\n\n // TODO: add tests for rejecting\n /* c8 ignore start */\n const onError = (er: Error) => {\n done()\n reject(er)\n }\n /* c8 ignore stop */\n\n rl.on('error', onError)\n rl.on('line', line => {\n // TODO: add tests for silent\n /* c8 ignore start */\n if (silent && terminal) {\n m.unmute()\n }\n /* c8 ignore stop */\n done()\n // TODO: add tests for default\n /* c8 ignore start */\n // truncate the \\n at the end.\n return resolve(line.replace(/\\r?\\n?$/, '') || defString || '')\n /* c8 ignore stop */\n })\n\n // TODO: add tests for sigint\n /* c8 ignore start */\n rl.on('SIGINT', () => {\n rl.close()\n onError(new Error('canceled'))\n })\n /* c8 ignore stop */\n })\n}\n"]} | ||
| {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/read.ts"],"names":[],"mappings":"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","sourcesContent":["import Mute from 'mute-stream'\nimport { createInterface } from 'readline'\nimport type { Completer, AsyncCompleter, ReadLineOptions } from 'readline'\n\nexport interface Options<T extends string | number = string> {\n default?: T\n input?: ReadLineOptions['input'] & {\n isTTY?: boolean\n }\n output?: ReadLineOptions['output'] & {\n isTTY?: boolean\n }\n prompt?: string\n silent?: boolean\n timeout?: number\n edit?: boolean\n terminal?: boolean\n replace?: string,\n completer?: Completer | AsyncCompleter,\n history?: string[],\n }\n\nexport async function read<T extends string | number = string> ({\n default: def,\n input = process.stdin,\n output = process.stdout,\n completer,\n prompt = '',\n silent,\n timeout,\n edit,\n terminal,\n replace,\n history,\n}: Options<T>): Promise<T | string> {\n if (\n typeof def !== 'undefined' &&\n typeof def !== 'string' &&\n typeof def !== 'number'\n ) {\n throw new Error('default value must be string or number')\n }\n\n let editDef = false\n const defString = def?.toString()\n prompt = prompt.trim() + ' '\n terminal = !!(terminal || output.isTTY)\n\n if (defString) {\n if (silent) {\n prompt += '(<default hidden>) '\n // TODO: add tests for edit\n /* c8 ignore start */\n } else if (edit) {\n editDef = true\n /* c8 ignore stop */\n } else {\n prompt += '(' + defString + ') '\n }\n }\n\n const m = new Mute({ replace, prompt })\n m.pipe(output, { end: false })\n output = m\n\n return new Promise<string | T>((resolve, reject) => {\n const rl = createInterface({ input, output, terminal, completer, history })\n // TODO: add tests for timeout\n /* c8 ignore start */\n const timer = timeout && setTimeout(() => onError(new Error('timed out')), timeout)\n /* c8 ignore stop */\n\n m.unmute()\n rl.setPrompt(prompt)\n rl.prompt()\n\n if (silent) {\n m.mute()\n // TODO: add tests for edit + default\n /* c8 ignore start */\n } else if (editDef && defString) {\n const rlEdit = rl as typeof rl & {\n line: string,\n cursor: number,\n _refreshLine: () => void,\n }\n rlEdit.line = defString\n rlEdit.cursor = defString.length\n rlEdit._refreshLine()\n }\n /* c8 ignore stop */\n\n const done = () => {\n rl.close()\n clearTimeout(timer)\n m.mute()\n m.end()\n }\n\n // TODO: add tests for rejecting\n /* c8 ignore start */\n const onError = (er: Error) => {\n done()\n reject(er)\n }\n /* c8 ignore stop */\n\n rl.on('error', onError)\n rl.on('line', line => {\n // TODO: add tests for silent\n /* c8 ignore start */\n if (silent && terminal) {\n m.unmute()\n }\n /* c8 ignore stop */\n done()\n // TODO: add tests for default\n /* c8 ignore start */\n // truncate the \\n at the end.\n return resolve(line.replace(/\\r?\\n?$/, '') || defString || '')\n /* c8 ignore stop */\n })\n\n // TODO: add tests for sigint\n /* c8 ignore start */\n rl.on('SIGINT', () => {\n rl.close()\n onError(new Error('canceled'))\n })\n /* c8 ignore stop */\n })\n}\n"]} |
@@ -1,2 +0,2 @@ | ||
| import { Completer, AsyncCompleter, ReadLineOptions } from 'readline'; | ||
| import type { Completer, AsyncCompleter, ReadLineOptions } from 'readline'; | ||
| export interface Options<T extends string | number = string> { | ||
@@ -3,0 +3,0 @@ default?: T; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/read.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAmB,eAAe,EAAE,MAAM,UAAU,CAAA;AAEtF,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IACvD,OAAO,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG;QACjC,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG;QACnC,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAEH,wBAAsB,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAG,EAC9D,OAAO,EAAE,GAAG,EACZ,KAAqB,EACrB,MAAuB,EACvB,SAAS,EACT,MAAW,EACX,MAAM,EACN,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,OAAO,GACR,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAiGlC"} | ||
| {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/read.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1E,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IACvD,OAAO,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG;QACjC,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG;QACnC,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAEH,wBAAsB,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAG,EAC9D,OAAO,EAAE,GAAG,EACZ,KAAqB,EACrB,MAAuB,EACvB,SAAS,EACT,MAAW,EACX,MAAM,EACN,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,OAAO,GACR,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAiGlC"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/read.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,EAA6B,eAAe,EAAmB,MAAM,UAAU,CAAA;AAoBtF,MAAM,CAAC,KAAK,UAAU,IAAI,CAAsC,EAC9D,OAAO,EAAE,GAAG,EACZ,KAAK,GAAG,OAAO,CAAC,KAAK,EACrB,MAAM,GAAG,OAAO,CAAC,MAAM,EACvB,SAAS,EACT,MAAM,GAAG,EAAE,EACX,MAAM,EACN,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,OAAO,GACI;IACX,IACE,OAAO,GAAG,KAAK,WAAW;QAC1B,OAAO,GAAG,KAAK,QAAQ;QACvB,OAAO,GAAG,KAAK,QAAQ,EACvB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,SAAS,GAAG,GAAG,EAAE,QAAQ,EAAE,CAAA;IACjC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,CAAA;IAC5B,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;IAEvC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,qBAAqB,CAAA;YAC/B,2BAA2B;YAC3B,qBAAqB;QACvB,CAAC;aAAM,IAAI,IAAI,EAAE,CAAC;YAChB,OAAO,GAAG,IAAI,CAAA;YACd,oBAAoB;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,GAAG,SAAS,GAAG,IAAI,CAAA;QAClC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;IACvC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9B,MAAM,GAAG,CAAC,CAAA;IAEV,OAAO,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACjD,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;QAC3E,8BAA8B;QAC9B,qBAAqB;QACrB,MAAM,KAAK,GAAG,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QACnF,oBAAoB;QAEpB,CAAC,CAAC,MAAM,EAAE,CAAA;QACV,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QACpB,EAAE,CAAC,MAAM,EAAE,CAAA;QAEX,IAAI,MAAM,EAAE,CAAC;YACX,CAAC,CAAC,IAAI,EAAE,CAAA;YACR,qCAAqC;YACrC,qBAAqB;QACvB,CAAC;aAAM,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,EAId,CAAA;YACD,MAAM,CAAC,IAAI,GAAG,SAAS,CAAA;YACvB,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;YAChC,MAAM,CAAC,YAAY,EAAE,CAAA;QACvB,CAAC;QACD,oBAAoB;QAEpB,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,CAAC,CAAC,IAAI,EAAE,CAAA;YACR,CAAC,CAAC,GAAG,EAAE,CAAA;QACT,CAAC,CAAA;QAED,gCAAgC;QAChC,qBAAqB;QACrB,MAAM,OAAO,GAAG,CAAC,EAAS,EAAE,EAAE;YAC5B,IAAI,EAAE,CAAA;YACN,MAAM,CAAC,EAAE,CAAC,CAAA;QACZ,CAAC,CAAA;QACD,oBAAoB;QAEpB,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YACnB,6BAA6B;YAC7B,qBAAqB;YACrB,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACvB,CAAC,CAAC,MAAM,EAAE,CAAA;YACZ,CAAC;YACD,oBAAoB;YACpB,IAAI,EAAE,CAAA;YACN,8BAA8B;YAC9B,qBAAqB;YACrB,8BAA8B;YAC9B,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,SAAS,IAAI,EAAE,CAAC,CAAA;YAC9D,oBAAoB;QACtB,CAAC,CAAC,CAAA;QAEF,6BAA6B;QAC7B,qBAAqB;QACrB,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACnB,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,OAAO,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QACF,oBAAoB;IACtB,CAAC,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import Mute from 'mute-stream'\nimport { Completer, AsyncCompleter, createInterface, ReadLineOptions } from 'readline'\n\nexport interface Options<T extends string | number = string> {\n default?: T\n input?: ReadLineOptions['input'] & {\n isTTY?: boolean\n }\n output?: ReadLineOptions['output'] & {\n isTTY?: boolean\n }\n prompt?: string\n silent?: boolean\n timeout?: number\n edit?: boolean\n terminal?: boolean\n replace?: string,\n completer?: Completer | AsyncCompleter,\n history?: string[],\n }\n\nexport async function read<T extends string | number = string> ({\n default: def,\n input = process.stdin,\n output = process.stdout,\n completer,\n prompt = '',\n silent,\n timeout,\n edit,\n terminal,\n replace,\n history,\n}: Options<T>): Promise<T | string> {\n if (\n typeof def !== 'undefined' &&\n typeof def !== 'string' &&\n typeof def !== 'number'\n ) {\n throw new Error('default value must be string or number')\n }\n\n let editDef = false\n const defString = def?.toString()\n prompt = prompt.trim() + ' '\n terminal = !!(terminal || output.isTTY)\n\n if (defString) {\n if (silent) {\n prompt += '(<default hidden>) '\n // TODO: add tests for edit\n /* c8 ignore start */\n } else if (edit) {\n editDef = true\n /* c8 ignore stop */\n } else {\n prompt += '(' + defString + ') '\n }\n }\n\n const m = new Mute({ replace, prompt })\n m.pipe(output, { end: false })\n output = m\n\n return new Promise<string | T>((resolve, reject) => {\n const rl = createInterface({ input, output, terminal, completer, history })\n // TODO: add tests for timeout\n /* c8 ignore start */\n const timer = timeout && setTimeout(() => onError(new Error('timed out')), timeout)\n /* c8 ignore stop */\n\n m.unmute()\n rl.setPrompt(prompt)\n rl.prompt()\n\n if (silent) {\n m.mute()\n // TODO: add tests for edit + default\n /* c8 ignore start */\n } else if (editDef && defString) {\n const rlEdit = rl as typeof rl & {\n line: string,\n cursor: number,\n _refreshLine: () => void,\n }\n rlEdit.line = defString\n rlEdit.cursor = defString.length\n rlEdit._refreshLine()\n }\n /* c8 ignore stop */\n\n const done = () => {\n rl.close()\n clearTimeout(timer)\n m.mute()\n m.end()\n }\n\n // TODO: add tests for rejecting\n /* c8 ignore start */\n const onError = (er: Error) => {\n done()\n reject(er)\n }\n /* c8 ignore stop */\n\n rl.on('error', onError)\n rl.on('line', line => {\n // TODO: add tests for silent\n /* c8 ignore start */\n if (silent && terminal) {\n m.unmute()\n }\n /* c8 ignore stop */\n done()\n // TODO: add tests for default\n /* c8 ignore start */\n // truncate the \\n at the end.\n return resolve(line.replace(/\\r?\\n?$/, '') || defString || '')\n /* c8 ignore stop */\n })\n\n // TODO: add tests for sigint\n /* c8 ignore start */\n rl.on('SIGINT', () => {\n rl.close()\n onError(new Error('canceled'))\n })\n /* c8 ignore stop */\n })\n}\n"]} | ||
| {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/read.ts"],"names":[],"mappings":"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","sourcesContent":["import Mute from 'mute-stream'\nimport { createInterface } from 'readline'\nimport type { Completer, AsyncCompleter, ReadLineOptions } from 'readline'\n\nexport interface Options<T extends string | number = string> {\n default?: T\n input?: ReadLineOptions['input'] & {\n isTTY?: boolean\n }\n output?: ReadLineOptions['output'] & {\n isTTY?: boolean\n }\n prompt?: string\n silent?: boolean\n timeout?: number\n edit?: boolean\n terminal?: boolean\n replace?: string,\n completer?: Completer | AsyncCompleter,\n history?: string[],\n }\n\nexport async function read<T extends string | number = string> ({\n default: def,\n input = process.stdin,\n output = process.stdout,\n completer,\n prompt = '',\n silent,\n timeout,\n edit,\n terminal,\n replace,\n history,\n}: Options<T>): Promise<T | string> {\n if (\n typeof def !== 'undefined' &&\n typeof def !== 'string' &&\n typeof def !== 'number'\n ) {\n throw new Error('default value must be string or number')\n }\n\n let editDef = false\n const defString = def?.toString()\n prompt = prompt.trim() + ' '\n terminal = !!(terminal || output.isTTY)\n\n if (defString) {\n if (silent) {\n prompt += '(<default hidden>) '\n // TODO: add tests for edit\n /* c8 ignore start */\n } else if (edit) {\n editDef = true\n /* c8 ignore stop */\n } else {\n prompt += '(' + defString + ') '\n }\n }\n\n const m = new Mute({ replace, prompt })\n m.pipe(output, { end: false })\n output = m\n\n return new Promise<string | T>((resolve, reject) => {\n const rl = createInterface({ input, output, terminal, completer, history })\n // TODO: add tests for timeout\n /* c8 ignore start */\n const timer = timeout && setTimeout(() => onError(new Error('timed out')), timeout)\n /* c8 ignore stop */\n\n m.unmute()\n rl.setPrompt(prompt)\n rl.prompt()\n\n if (silent) {\n m.mute()\n // TODO: add tests for edit + default\n /* c8 ignore start */\n } else if (editDef && defString) {\n const rlEdit = rl as typeof rl & {\n line: string,\n cursor: number,\n _refreshLine: () => void,\n }\n rlEdit.line = defString\n rlEdit.cursor = defString.length\n rlEdit._refreshLine()\n }\n /* c8 ignore stop */\n\n const done = () => {\n rl.close()\n clearTimeout(timer)\n m.mute()\n m.end()\n }\n\n // TODO: add tests for rejecting\n /* c8 ignore start */\n const onError = (er: Error) => {\n done()\n reject(er)\n }\n /* c8 ignore stop */\n\n rl.on('error', onError)\n rl.on('line', line => {\n // TODO: add tests for silent\n /* c8 ignore start */\n if (silent && terminal) {\n m.unmute()\n }\n /* c8 ignore stop */\n done()\n // TODO: add tests for default\n /* c8 ignore start */\n // truncate the \\n at the end.\n return resolve(line.replace(/\\r?\\n?$/, '') || defString || '')\n /* c8 ignore stop */\n })\n\n // TODO: add tests for sigint\n /* c8 ignore start */\n rl.on('SIGINT', () => {\n rl.close()\n onError(new Error('canceled'))\n })\n /* c8 ignore stop */\n })\n}\n"]} |
+15
-30
| { | ||
| "name": "read", | ||
| "version": "5.0.1", | ||
| "version": "6.0.0", | ||
| "exports": { | ||
@@ -25,19 +25,15 @@ "./package.json": "./package.json", | ||
| "dependencies": { | ||
| "mute-stream": "^3.0.0" | ||
| "mute-stream": "^4.0.0" | ||
| }, | ||
| "devDependencies": { | ||
| "@npmcli/eslint-config": "^5.0.0", | ||
| "@npmcli/template-oss": "4.27.1", | ||
| "@npmcli/eslint-config": "^6.0.0", | ||
| "@npmcli/template-oss": "5.1.0", | ||
| "@types/mute-stream": "^0.0.4", | ||
| "@types/tap": "^15.0.11", | ||
| "@typescript-eslint/parser": "^8.0.1", | ||
| "c8": "^10.1.2", | ||
| "eslint-import-resolver-typescript": "^4.3.2", | ||
| "tap": "^16.3.9", | ||
| "ts-node": "^10.9.1", | ||
| "tshy": "^3.0.2", | ||
| "typescript": "^5.2.2" | ||
| "tshy": "^4.1.1", | ||
| "typescript": "^6.0.3" | ||
| }, | ||
| "engines": { | ||
| "node": "^20.17.0 || >=22.9.0" | ||
| "node": "^22.22.2 || ^24.15.0 || >=26.0.0" | ||
| }, | ||
@@ -53,5 +49,5 @@ "author": "GitHub Inc.", | ||
| "prepare": "tshy", | ||
| "pretest": "npm run prepare", | ||
| "presnap": "npm run prepare", | ||
| "test": "c8 tap", | ||
| "test": "node --experimental-strip-types --no-warnings --test './test/*.ts'", | ||
| "snap": "node --experimental-strip-types --no-warnings --test --test-update-snapshots './test/*.ts'", | ||
| "test:cover": "node --experimental-strip-types --no-warnings --test --experimental-test-coverage './test/*.ts'", | ||
| "lint": "npm run eslint", | ||
@@ -61,3 +57,2 @@ "postlint": "template-oss-check", | ||
| "lintfix": "npm run eslint -- --fix", | ||
| "snap": "c8 tap", | ||
| "posttest": "npm run lint", | ||
@@ -68,21 +63,11 @@ "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"" | ||
| "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", | ||
| "version": "4.27.1", | ||
| "version": "5.1.0", | ||
| "publish": true, | ||
| "typescript": true | ||
| "typescript": true, | ||
| "updateNpm": false, | ||
| "testRunner": "node:test", | ||
| "content": "./scripts/template-oss" | ||
| }, | ||
| "main": "./dist/commonjs/read.js", | ||
| "types": "./dist/commonjs/read.d.ts", | ||
| "tap": { | ||
| "coverage": false, | ||
| "node-arg": [ | ||
| "--no-warnings", | ||
| "--loader", | ||
| "ts-node/esm" | ||
| ], | ||
| "ts": false, | ||
| "nyc-arg": [ | ||
| "--exclude", | ||
| "tap-snapshots/**" | ||
| ] | ||
| }, | ||
| "files": [ | ||
@@ -89,0 +74,0 @@ "dist/" |
25768
0.28%7
-36.36%+ Added
- Removed
Updated