@effect/platform 0.28.1 → 0.28.2
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.
- package/dist/cjs/Terminal.js +48 -0
- package/dist/cjs/Terminal.js.map +1 -0
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/internal/terminal.js +10 -0
- package/dist/cjs/internal/terminal.js.map +1 -0
- package/dist/dts/Error.d.ts +1 -1
- package/dist/dts/Error.d.ts.map +1 -1
- package/dist/dts/Terminal.d.ts +79 -0
- package/dist/dts/Terminal.d.ts.map +1 -0
- package/dist/dts/index.d.ts +4 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/terminal.d.ts +2 -0
- package/dist/dts/internal/terminal.d.ts.map +1 -0
- package/dist/esm/Terminal.js +16 -0
- package/dist/esm/Terminal.js.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/terminal.js +4 -0
- package/dist/esm/internal/terminal.js.map +1 -0
- package/package.json +9 -1
- package/src/Error.ts +1 -1
- package/src/Terminal.ts +80 -0
- package/src/index.ts +5 -0
- package/src/internal/terminal.ts +5 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Terminal = exports.QuitException = void 0;
|
|
7
|
+
var _Data = /*#__PURE__*/require("effect/Data");
|
|
8
|
+
var InternalTerminal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./internal/terminal.js"));
|
|
9
|
+
function _getRequireWildcardCache(e) {
|
|
10
|
+
if ("function" != typeof WeakMap) return null;
|
|
11
|
+
var r = new WeakMap(),
|
|
12
|
+
t = new WeakMap();
|
|
13
|
+
return (_getRequireWildcardCache = function (e) {
|
|
14
|
+
return e ? t : r;
|
|
15
|
+
})(e);
|
|
16
|
+
}
|
|
17
|
+
function _interopRequireWildcard(e, r) {
|
|
18
|
+
if (!r && e && e.__esModule) return e;
|
|
19
|
+
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
20
|
+
default: e
|
|
21
|
+
};
|
|
22
|
+
var t = _getRequireWildcardCache(r);
|
|
23
|
+
if (t && t.has(e)) return t.get(e);
|
|
24
|
+
var n = {
|
|
25
|
+
__proto__: null
|
|
26
|
+
},
|
|
27
|
+
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
28
|
+
for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) {
|
|
29
|
+
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
30
|
+
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
31
|
+
}
|
|
32
|
+
return n.default = e, t && t.set(e, n), n;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A `QuitException` represents an exception that occurs when a user attempts to
|
|
36
|
+
* quit out of a `Terminal` prompt for input (usually by entering `ctrl`+`c`).
|
|
37
|
+
*
|
|
38
|
+
* @since 1.0.0
|
|
39
|
+
* @category model
|
|
40
|
+
*/
|
|
41
|
+
class QuitException extends (0, _Data.TaggedError)("QuitException") {}
|
|
42
|
+
/**
|
|
43
|
+
* @since 1.0.0
|
|
44
|
+
* @category tag
|
|
45
|
+
*/
|
|
46
|
+
exports.QuitException = QuitException;
|
|
47
|
+
const Terminal = exports.Terminal = InternalTerminal.tag;
|
|
48
|
+
//# sourceMappingURL=Terminal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Terminal.js","names":["_Data","require","InternalTerminal","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","QuitException","TaggedError","exports","Terminal","tag"],"sources":["../../src/Terminal.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIA,IAAAA,KAAA,gBAAAC,OAAA;AAIA,IAAAC,gBAAA,gBAAAC,uBAAA,eAAAF,OAAA;AAA0D,SAAAG,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAF,wBAAAE,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA;IAAA,IAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AA0D1D;;;;;;;AAOM,MAAOY,aAAc,SAAQ,IAAAzB,KAAA,CAAA0B,WAAW,EAAC,eAAe,CAAK;AAEnE;;;;AAAAC,OAAA,CAAAF,aAAA,GAAAA,aAAA;AAIO,MAAMG,QAAQ,GAAAD,OAAA,CAAAC,QAAA,GAA4B1B,gBAAgB,CAAC2B,GAAG"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.WorkerRunner = exports.WorkerError = exports.Worker = exports.Runtime = exports.Path = exports.KeyValueStore = exports.HttpServer = exports.HttpClient = exports.FileSystem = exports.Error = exports.Effectify = exports.CommandExecutor = exports.Command = void 0;
|
|
6
|
+
exports.WorkerRunner = exports.WorkerError = exports.Worker = exports.Terminal = exports.Runtime = exports.Path = exports.KeyValueStore = exports.HttpServer = exports.HttpClient = exports.FileSystem = exports.Error = exports.Effectify = exports.CommandExecutor = exports.Command = void 0;
|
|
7
7
|
var _Command = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Command.js"));
|
|
8
8
|
exports.Command = _Command;
|
|
9
9
|
var _CommandExecutor = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./CommandExecutor.js"));
|
|
@@ -24,6 +24,8 @@ var _Path = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Path.j
|
|
|
24
24
|
exports.Path = _Path;
|
|
25
25
|
var _Runtime = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Runtime.js"));
|
|
26
26
|
exports.Runtime = _Runtime;
|
|
27
|
+
var _Terminal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Terminal.js"));
|
|
28
|
+
exports.Terminal = _Terminal;
|
|
27
29
|
var _Worker = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Worker.js"));
|
|
28
30
|
exports.Worker = _Worker;
|
|
29
31
|
var _WorkerError = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./WorkerError.js"));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.tag = void 0;
|
|
7
|
+
var _Context = /*#__PURE__*/require("effect/Context");
|
|
8
|
+
/** @internal */
|
|
9
|
+
const tag = exports.tag = /*#__PURE__*/(0, _Context.Tag)("@effect/platform/FileSystem");
|
|
10
|
+
//# sourceMappingURL=terminal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.js","names":["_Context","require","tag","exports","Tag"],"sources":["../../../src/internal/terminal.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,QAAA,gBAAAC,OAAA;AAGA;AACO,MAAMC,GAAG,GAAAC,OAAA,CAAAD,GAAA,gBAAG,IAAAF,QAAA,CAAAI,GAAG,EAAoB,6BAA6B,CAAC"}
|
package/dist/dts/Error.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export declare namespace PlatformError {
|
|
|
28
28
|
interface Base extends Data.Case {
|
|
29
29
|
readonly [PlatformErrorTypeId]: typeof PlatformErrorTypeId;
|
|
30
30
|
readonly _tag: string;
|
|
31
|
-
readonly module: "
|
|
31
|
+
readonly module: "Clipboard" | "Command" | "FileSystem" | "KeyValueStore" | "Path" | "Stream" | "Terminal";
|
|
32
32
|
readonly method: string;
|
|
33
33
|
readonly message: string;
|
|
34
34
|
}
|
package/dist/dts/Error.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Error.d.ts","sourceRoot":"","sources":["../../src/Error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AAGxC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAqC,CAAA;AAE9E;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,WAAW,CAAA;AAErD;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC;;;OAGG;IACH,UAAiB,IAAK,SAAQ,IAAI,CAAC,IAAI;QACrC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,OAAO,mBAAmB,CAAA;QAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"Error.d.ts","sourceRoot":"","sources":["../../src/Error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AAGxC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAqC,CAAA;AAE9E;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,WAAW,CAAA;AAErD;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC;;;OAGG;IACH,UAAiB,IAAK,SAAQ,IAAI,CAAC,IAAI;QACrC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,OAAO,mBAAmB,CAAA;QAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAA;QAC1G,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KACzB;IAED;;OAEG;IACH,KAAY,cAAc,GAAG,mBAAmB,GAAG,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAA;CAC5E;AAED;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,aAAa,CAAC,IAAI;IACrD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,cAAc,CAAC,KAAK,WAAkC,CAAA;AAExH;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,aAAa,GACb,MAAM,GACN,aAAa,GACb,UAAU,GACV,kBAAkB,GAClB,UAAU,GACV,eAAe,GACf,SAAS,GACT,YAAY,GACZ,WAAW,CAAA;AAEf;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,aAAa,CAAC,IAAI;IACrD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAA;CAC3C;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,cAAc,CAAC,KAAK,WAAkC,CAAA"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type { Tag } from "effect/Context";
|
|
5
|
+
import type { Effect } from "effect/Effect";
|
|
6
|
+
import type { Option } from "effect/Option";
|
|
7
|
+
import type { PlatformError } from "./Error.js";
|
|
8
|
+
/**
|
|
9
|
+
* A `Terminal` represents a command-line interface which can read input from a
|
|
10
|
+
* user and display messages to a user.
|
|
11
|
+
*
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
* @category models
|
|
14
|
+
*/
|
|
15
|
+
export interface Terminal {
|
|
16
|
+
/**
|
|
17
|
+
* Reads a single input event from the default standard input.
|
|
18
|
+
*/
|
|
19
|
+
readonly readInput: Effect<never, QuitException, UserInput>;
|
|
20
|
+
/**
|
|
21
|
+
* Displays text to the the default standard output.
|
|
22
|
+
*/
|
|
23
|
+
readonly display: (text: string) => Effect<never, PlatformError, void>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @since 1.0.0
|
|
27
|
+
* @category model
|
|
28
|
+
*/
|
|
29
|
+
export interface Key {
|
|
30
|
+
/**
|
|
31
|
+
* The name of the key being pressed.
|
|
32
|
+
*/
|
|
33
|
+
readonly name: string;
|
|
34
|
+
/**
|
|
35
|
+
* If set to `true`, then the user is also holding down the `Ctrl` key.
|
|
36
|
+
*/
|
|
37
|
+
readonly ctrl: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* If set to `true`, then the user is also holding down the `Meta` key.
|
|
40
|
+
*/
|
|
41
|
+
readonly meta: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* If set to `true`, then the user is also holding down the `Shift` key.
|
|
44
|
+
*/
|
|
45
|
+
readonly shift: boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @since 1.0.0
|
|
49
|
+
* @category model
|
|
50
|
+
*/
|
|
51
|
+
export interface UserInput {
|
|
52
|
+
/**
|
|
53
|
+
* The character read from the user (if any).
|
|
54
|
+
*/
|
|
55
|
+
readonly input: Option<string>;
|
|
56
|
+
/**
|
|
57
|
+
* The key that the user pressed.
|
|
58
|
+
*/
|
|
59
|
+
readonly key: Key;
|
|
60
|
+
}
|
|
61
|
+
declare const QuitException_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal").Equal ? never : P]: A[P]; }) => import("effect/Data").YieldableError & {
|
|
62
|
+
readonly _tag: "QuitException";
|
|
63
|
+
} & Readonly<A>;
|
|
64
|
+
/**
|
|
65
|
+
* A `QuitException` represents an exception that occurs when a user attempts to
|
|
66
|
+
* quit out of a `Terminal` prompt for input (usually by entering `ctrl`+`c`).
|
|
67
|
+
*
|
|
68
|
+
* @since 1.0.0
|
|
69
|
+
* @category model
|
|
70
|
+
*/
|
|
71
|
+
export declare class QuitException extends QuitException_base<{}> {
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @since 1.0.0
|
|
75
|
+
* @category tag
|
|
76
|
+
*/
|
|
77
|
+
export declare const Terminal: Tag<Terminal, Terminal>;
|
|
78
|
+
export {};
|
|
79
|
+
//# sourceMappingURL=Terminal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Terminal.d.ts","sourceRoot":"","sources":["../../src/Terminal.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAG/C;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;IAC3D;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;CACvE;AAED;;;GAGG;AACH,MAAM,WAAW,GAAG;IAClB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9B;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;CAClB;;;;AAED;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,mBAA6B,EAAE,CAAC;CAAG;AAEtE;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAwB,CAAA"}
|
package/dist/dts/index.d.ts
CHANGED
package/dist/dts/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../src/internal/terminal.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TaggedError } from "effect/Data";
|
|
2
|
+
import * as InternalTerminal from "./internal/terminal.js";
|
|
3
|
+
/**
|
|
4
|
+
* A `QuitException` represents an exception that occurs when a user attempts to
|
|
5
|
+
* quit out of a `Terminal` prompt for input (usually by entering `ctrl`+`c`).
|
|
6
|
+
*
|
|
7
|
+
* @since 1.0.0
|
|
8
|
+
* @category model
|
|
9
|
+
*/
|
|
10
|
+
export class QuitException extends TaggedError("QuitException") {}
|
|
11
|
+
/**
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
* @category tag
|
|
14
|
+
*/
|
|
15
|
+
export const Terminal = InternalTerminal.tag;
|
|
16
|
+
//# sourceMappingURL=Terminal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Terminal.js","names":["TaggedError","InternalTerminal","QuitException","Terminal","tag"],"sources":["../../src/Terminal.ts"],"sourcesContent":[null],"mappings":"AAIA,SAASA,WAAW,QAAQ,aAAa;AAIzC,OAAO,KAAKC,gBAAgB,MAAM,wBAAwB;AA0D1D;;;;;;;AAOA,OAAM,MAAOC,aAAc,SAAQF,WAAW,CAAC,eAAe,CAAK;AAEnE;;;;AAIA,OAAO,MAAMG,QAAQ,GAA4BF,gBAAgB,CAACG,GAAG"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Command","CommandExecutor","Effectify","Error","FileSystem","HttpClient","HttpServer","KeyValueStore","Path","Runtime","Worker","WorkerError","WorkerRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Command","CommandExecutor","Effectify","Error","FileSystem","HttpClient","HttpServer","KeyValueStore","Path","Runtime","Terminal","Worker","WorkerError","WorkerRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.js","names":["Tag","tag"],"sources":["../../../src/internal/terminal.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AAGpC;AACA,OAAO,MAAMC,GAAG,gBAAGD,GAAG,CAAoB,6BAA6B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform",
|
|
3
|
-
"version": "0.28.
|
|
3
|
+
"version": "0.28.2",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -172,6 +172,11 @@
|
|
|
172
172
|
"import": "./dist/esm/Runtime.js",
|
|
173
173
|
"default": "./dist/cjs/Runtime.js"
|
|
174
174
|
},
|
|
175
|
+
"./Terminal": {
|
|
176
|
+
"types": "./dist/dts/Terminal.d.ts",
|
|
177
|
+
"import": "./dist/esm/Terminal.js",
|
|
178
|
+
"default": "./dist/cjs/Terminal.js"
|
|
179
|
+
},
|
|
175
180
|
"./Worker": {
|
|
176
181
|
"types": "./dist/dts/Worker.d.ts",
|
|
177
182
|
"import": "./dist/esm/Worker.js",
|
|
@@ -277,6 +282,9 @@
|
|
|
277
282
|
"Runtime": [
|
|
278
283
|
"./dist/dts/Runtime.d.ts"
|
|
279
284
|
],
|
|
285
|
+
"Terminal": [
|
|
286
|
+
"./dist/dts/Terminal.d.ts"
|
|
287
|
+
],
|
|
280
288
|
"Worker": [
|
|
281
289
|
"./dist/dts/Worker.d.ts"
|
|
282
290
|
],
|
package/src/Error.ts
CHANGED
|
@@ -33,7 +33,7 @@ export declare namespace PlatformError {
|
|
|
33
33
|
export interface Base extends Data.Case {
|
|
34
34
|
readonly [PlatformErrorTypeId]: typeof PlatformErrorTypeId
|
|
35
35
|
readonly _tag: string
|
|
36
|
-
readonly module: "
|
|
36
|
+
readonly module: "Clipboard" | "Command" | "FileSystem" | "KeyValueStore" | "Path" | "Stream" | "Terminal"
|
|
37
37
|
readonly method: string
|
|
38
38
|
readonly message: string
|
|
39
39
|
}
|
package/src/Terminal.ts
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type { Tag } from "effect/Context"
|
|
5
|
+
import { TaggedError } from "effect/Data"
|
|
6
|
+
import type { Effect } from "effect/Effect"
|
|
7
|
+
import type { Option } from "effect/Option"
|
|
8
|
+
import type { PlatformError } from "./Error.js"
|
|
9
|
+
import * as InternalTerminal from "./internal/terminal.js"
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A `Terminal` represents a command-line interface which can read input from a
|
|
13
|
+
* user and display messages to a user.
|
|
14
|
+
*
|
|
15
|
+
* @since 1.0.0
|
|
16
|
+
* @category models
|
|
17
|
+
*/
|
|
18
|
+
export interface Terminal {
|
|
19
|
+
/**
|
|
20
|
+
* Reads a single input event from the default standard input.
|
|
21
|
+
*/
|
|
22
|
+
readonly readInput: Effect<never, QuitException, UserInput>
|
|
23
|
+
/**
|
|
24
|
+
* Displays text to the the default standard output.
|
|
25
|
+
*/
|
|
26
|
+
readonly display: (text: string) => Effect<never, PlatformError, void>
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @since 1.0.0
|
|
31
|
+
* @category model
|
|
32
|
+
*/
|
|
33
|
+
export interface Key {
|
|
34
|
+
/**
|
|
35
|
+
* The name of the key being pressed.
|
|
36
|
+
*/
|
|
37
|
+
readonly name: string
|
|
38
|
+
/**
|
|
39
|
+
* If set to `true`, then the user is also holding down the `Ctrl` key.
|
|
40
|
+
*/
|
|
41
|
+
readonly ctrl: boolean
|
|
42
|
+
/**
|
|
43
|
+
* If set to `true`, then the user is also holding down the `Meta` key.
|
|
44
|
+
*/
|
|
45
|
+
readonly meta: boolean
|
|
46
|
+
/**
|
|
47
|
+
* If set to `true`, then the user is also holding down the `Shift` key.
|
|
48
|
+
*/
|
|
49
|
+
readonly shift: boolean
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @since 1.0.0
|
|
54
|
+
* @category model
|
|
55
|
+
*/
|
|
56
|
+
export interface UserInput {
|
|
57
|
+
/**
|
|
58
|
+
* The character read from the user (if any).
|
|
59
|
+
*/
|
|
60
|
+
readonly input: Option<string>
|
|
61
|
+
/**
|
|
62
|
+
* The key that the user pressed.
|
|
63
|
+
*/
|
|
64
|
+
readonly key: Key
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* A `QuitException` represents an exception that occurs when a user attempts to
|
|
69
|
+
* quit out of a `Terminal` prompt for input (usually by entering `ctrl`+`c`).
|
|
70
|
+
*
|
|
71
|
+
* @since 1.0.0
|
|
72
|
+
* @category model
|
|
73
|
+
*/
|
|
74
|
+
export class QuitException extends TaggedError("QuitException")<{}> {}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* @since 1.0.0
|
|
78
|
+
* @category tag
|
|
79
|
+
*/
|
|
80
|
+
export const Terminal: Tag<Terminal, Terminal> = InternalTerminal.tag
|
package/src/index.ts
CHANGED