effect 4.0.0-beta.14 → 4.0.0-beta.15
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/Channel.d.ts +6 -6
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +4 -4
- package/dist/Channel.js.map +1 -1
- package/dist/Effect.d.ts +7 -7
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js.map +1 -1
- package/dist/Stream.d.ts +7 -7
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +8 -6
- package/dist/Stream.js.map +1 -1
- package/dist/Types.d.ts +70 -0
- package/dist/Types.d.ts.map +1 -1
- package/dist/internal/effect.js +4 -4
- package/dist/internal/effect.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -0
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +34 -4
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +73 -24
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +21 -56
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/unstable/cli/GlobalFlag.js +9 -48
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +3 -0
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +2 -0
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts +18 -4
- package/dist/unstable/cli/internal/help.d.ts.map +1 -1
- package/dist/unstable/cli/internal/help.js +61 -7
- package/dist/unstable/cli/internal/help.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +10 -4
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +17 -6
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +7 -2
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +2 -2
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +2 -6
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/package.json +1 -1
- package/src/Channel.ts +24 -14
- package/src/Effect.ts +30 -8
- package/src/Stream.ts +46 -22
- package/src/Types.ts +66 -0
- package/src/internal/effect.ts +41 -14
- package/src/unstable/ai/LanguageModel.ts +9 -6
- package/src/unstable/cli/Command.ts +119 -31
- package/src/unstable/cli/GlobalFlag.ts +36 -114
- package/src/unstable/cli/internal/command.ts +5 -0
- package/src/unstable/cli/internal/help.ts +103 -22
- package/src/unstable/httpapi/HttpApiBuilder.ts +68 -13
- package/src/unstable/httpapi/HttpApiEndpoint.ts +13 -4
- package/src/unstable/reactivity/AtomHttpApi.ts +2 -2
- package/src/unstable/reactivity/AtomRegistry.ts +2 -6
|
@@ -35,17 +35,28 @@ export interface Action<A> {
|
|
|
35
35
|
* @since 4.0.0
|
|
36
36
|
* @category models
|
|
37
37
|
*/
|
|
38
|
-
export interface Setting<A> extends ServiceMap.
|
|
38
|
+
export interface Setting<Id extends string, A> extends ServiceMap.Service<Setting.Identifier<Id>, A> {
|
|
39
39
|
readonly _tag: "Setting";
|
|
40
|
+
readonly id: Id;
|
|
40
41
|
readonly flag: Flag.Flag<A>;
|
|
41
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* @since 4.0.0
|
|
45
|
+
*/
|
|
46
|
+
export declare namespace Setting {
|
|
47
|
+
/**
|
|
48
|
+
* @since 4.0.0
|
|
49
|
+
* @category models
|
|
50
|
+
*/
|
|
51
|
+
type Identifier<Id extends string> = `effect/unstable/cli/GlobalFlag/${Id}`;
|
|
52
|
+
}
|
|
42
53
|
/**
|
|
43
54
|
* Global flag discriminated union.
|
|
44
55
|
*
|
|
45
56
|
* @since 4.0.0
|
|
46
57
|
* @category models
|
|
47
58
|
*/
|
|
48
|
-
export type GlobalFlag<A> = Action<A> | Setting<A>;
|
|
59
|
+
export type GlobalFlag<A> = Action<A> | Setting<any, A>;
|
|
49
60
|
/**
|
|
50
61
|
* Creates an Action flag that performs a side effect and exits.
|
|
51
62
|
*
|
|
@@ -62,10 +73,9 @@ export declare const action: <A>(options: {
|
|
|
62
73
|
* @since 4.0.0
|
|
63
74
|
* @category constructors
|
|
64
75
|
*/
|
|
65
|
-
export declare const setting: <A>(options: {
|
|
76
|
+
export declare const setting: <const Id extends string>(id: Id) => <A>(options: {
|
|
66
77
|
readonly flag: Flag.Flag<A>;
|
|
67
|
-
|
|
68
|
-
}) => Setting<A>;
|
|
78
|
+
}) => Setting<Id, A>;
|
|
69
79
|
/**
|
|
70
80
|
* The `--help` / `-h` global flag.
|
|
71
81
|
* Shows help documentation for the command.
|
|
@@ -97,64 +107,19 @@ export declare const Completions: Action<Option.Option<"bash" | "zsh" | "fish">>
|
|
|
97
107
|
* @since 4.0.0
|
|
98
108
|
* @category references
|
|
99
109
|
*/
|
|
100
|
-
export declare const LogLevel: Setting<Option.Option<LogLevelType>>;
|
|
110
|
+
export declare const LogLevel: Setting<"log-level", Option.Option<LogLevelType>>;
|
|
101
111
|
/**
|
|
102
|
-
*
|
|
103
|
-
* The parser iterates this set to know which flags to extract.
|
|
112
|
+
* Built-in global flags in default precedence order.
|
|
104
113
|
*
|
|
105
114
|
* @since 4.0.0
|
|
106
115
|
* @category references
|
|
107
116
|
*/
|
|
108
|
-
export declare const
|
|
109
|
-
/**
|
|
110
|
-
* Adds a global flag to the registry.
|
|
111
|
-
*
|
|
112
|
-
* @since 4.0.0
|
|
113
|
-
* @category modifiers
|
|
114
|
-
*/
|
|
115
|
-
export declare const add: {
|
|
116
|
-
/**
|
|
117
|
-
* Adds a global flag to the registry.
|
|
118
|
-
*
|
|
119
|
-
* @since 4.0.0
|
|
120
|
-
* @category modifiers
|
|
121
|
-
*/
|
|
122
|
-
<A>(flag: GlobalFlag<A>): <B, E, R>(self: Effect.Effect<B, E, R>) => Effect.Effect<B, E, R>;
|
|
123
|
-
/**
|
|
124
|
-
* Adds a global flag to the registry.
|
|
125
|
-
*
|
|
126
|
-
* @since 4.0.0
|
|
127
|
-
* @category modifiers
|
|
128
|
-
*/
|
|
129
|
-
<B, E, R, A>(self: Effect.Effect<B, E, R>, flag: GlobalFlag<A>): Effect.Effect<B, E, R>;
|
|
130
|
-
};
|
|
131
|
-
/**
|
|
132
|
-
* Removes a global flag by its reference.
|
|
133
|
-
*
|
|
134
|
-
* @since 4.0.0
|
|
135
|
-
* @category modifiers
|
|
136
|
-
*/
|
|
137
|
-
export declare const remove: {
|
|
138
|
-
/**
|
|
139
|
-
* Removes a global flag by its reference.
|
|
140
|
-
*
|
|
141
|
-
* @since 4.0.0
|
|
142
|
-
* @category modifiers
|
|
143
|
-
*/
|
|
144
|
-
<A>(flag: GlobalFlag<A>): <B, E, R>(self: Effect.Effect<B, E, R>) => Effect.Effect<B, E, R>;
|
|
145
|
-
/**
|
|
146
|
-
* Removes a global flag by its reference.
|
|
147
|
-
*
|
|
148
|
-
* @since 4.0.0
|
|
149
|
-
* @category modifiers
|
|
150
|
-
*/
|
|
151
|
-
<B, E, R, A>(self: Effect.Effect<B, E, R>, flag: GlobalFlag<A>): Effect.Effect<B, E, R>;
|
|
152
|
-
};
|
|
117
|
+
export declare const BuiltIns: ReadonlyArray<GlobalFlag<any>>;
|
|
153
118
|
/**
|
|
154
|
-
*
|
|
119
|
+
* Built-in setting context identifiers.
|
|
155
120
|
*
|
|
156
121
|
* @since 4.0.0
|
|
157
|
-
* @category
|
|
122
|
+
* @category models
|
|
158
123
|
*/
|
|
159
|
-
export
|
|
124
|
+
export type BuiltInSettingContext = Setting.Identifier<"log-level">;
|
|
160
125
|
//# sourceMappingURL=GlobalFlag.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalFlag.d.ts","sourceRoot":"","sources":["../../../src/unstable/cli/GlobalFlag.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"GlobalFlag.d.ts","sourceRoot":"","sources":["../../../src/unstable/cli/GlobalFlag.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Console from "../../Console.js";
|
|
5
5
|
import * as Effect from "../../Effect.js";
|
|
6
|
-
import { dual } from "../../Function.js";
|
|
7
6
|
import * as Option from "../../Option.js";
|
|
8
7
|
import * as ServiceMap from "../../ServiceMap.js";
|
|
9
8
|
import * as CliOutput from "./CliOutput.js";
|
|
@@ -28,13 +27,12 @@ export const action = options => ({
|
|
|
28
27
|
* @since 4.0.0
|
|
29
28
|
* @category constructors
|
|
30
29
|
*/
|
|
31
|
-
export const setting = options => {
|
|
30
|
+
export const setting = id => options => {
|
|
32
31
|
settingIdCounter += 1;
|
|
33
|
-
const ref = ServiceMap.
|
|
34
|
-
defaultValue: options.defaultValue
|
|
35
|
-
});
|
|
32
|
+
const ref = ServiceMap.Service(`effect/unstable/cli/GlobalFlag/${id}/${settingIdCounter}`);
|
|
36
33
|
return Object.assign(ref, {
|
|
37
34
|
_tag: "Setting",
|
|
35
|
+
id,
|
|
38
36
|
flag: options.flag
|
|
39
37
|
});
|
|
40
38
|
};
|
|
@@ -59,7 +57,7 @@ export const Help = /*#__PURE__*/action({
|
|
|
59
57
|
commandPath
|
|
60
58
|
}) => Effect.gen(function* () {
|
|
61
59
|
const formatter = yield* CliOutput.Formatter;
|
|
62
|
-
const helpDoc = yield* HelpInternal.getHelpForCommandPath(command, commandPath,
|
|
60
|
+
const helpDoc = yield* HelpInternal.getHelpForCommandPath(command, commandPath, BuiltIns);
|
|
63
61
|
yield* Console.log(formatter.formatHelpDoc(helpDoc));
|
|
64
62
|
})
|
|
65
63
|
});
|
|
@@ -104,54 +102,17 @@ export const Completions = /*#__PURE__*/action({
|
|
|
104
102
|
* @since 4.0.0
|
|
105
103
|
* @category references
|
|
106
104
|
*/
|
|
107
|
-
export const LogLevel = /*#__PURE__*/setting({
|
|
108
|
-
flag: /*#__PURE__*/Flag.choiceWithValue("log-level", [["all", "All"], ["trace", "Trace"], ["debug", "Debug"], ["info", "Info"], ["warn", "Warn"], ["warning", "Warn"], ["error", "Error"], ["fatal", "Fatal"], ["none", "None"]]).pipe(Flag.optional, /*#__PURE__*/Flag.withDescription("Sets the minimum log level"))
|
|
109
|
-
defaultValue: () => Option.none()
|
|
105
|
+
export const LogLevel = /*#__PURE__*/setting("log-level")({
|
|
106
|
+
flag: /*#__PURE__*/Flag.choiceWithValue("log-level", [["all", "All"], ["trace", "Trace"], ["debug", "Debug"], ["info", "Info"], ["warn", "Warn"], ["warning", "Warn"], ["error", "Error"], ["fatal", "Fatal"], ["none", "None"]]).pipe(Flag.optional, /*#__PURE__*/Flag.withDescription("Sets the minimum log level"))
|
|
110
107
|
});
|
|
111
108
|
/* ========================================================================== */
|
|
112
|
-
/*
|
|
109
|
+
/* References */
|
|
113
110
|
/* ========================================================================== */
|
|
114
111
|
/**
|
|
115
|
-
*
|
|
116
|
-
* The parser iterates this set to know which flags to extract.
|
|
112
|
+
* Built-in global flags in default precedence order.
|
|
117
113
|
*
|
|
118
114
|
* @since 4.0.0
|
|
119
115
|
* @category references
|
|
120
116
|
*/
|
|
121
|
-
export const
|
|
122
|
-
defaultValue: () => new Set([Help, Version, Completions, LogLevel])
|
|
123
|
-
});
|
|
124
|
-
/* ========================================================================== */
|
|
125
|
-
/* Public API */
|
|
126
|
-
/* ========================================================================== */
|
|
127
|
-
/**
|
|
128
|
-
* Adds a global flag to the registry.
|
|
129
|
-
*
|
|
130
|
-
* @since 4.0.0
|
|
131
|
-
* @category modifiers
|
|
132
|
-
*/
|
|
133
|
-
export const add = /*#__PURE__*/dual(2, /*#__PURE__*/Effect.fnUntraced(function* (self, flag) {
|
|
134
|
-
const currentRegistry = yield* Registry;
|
|
135
|
-
const nextRegistry = new Set([...currentRegistry, flag]);
|
|
136
|
-
return yield* Effect.provideService(self, Registry, nextRegistry);
|
|
137
|
-
}));
|
|
138
|
-
/**
|
|
139
|
-
* Removes a global flag by its reference.
|
|
140
|
-
*
|
|
141
|
-
* @since 4.0.0
|
|
142
|
-
* @category modifiers
|
|
143
|
-
*/
|
|
144
|
-
export const remove = /*#__PURE__*/dual(2, /*#__PURE__*/Effect.fnUntraced(function* (self, flag) {
|
|
145
|
-
const currentRegistry = yield* Registry;
|
|
146
|
-
const nextRegistry = new Set(currentRegistry);
|
|
147
|
-
nextRegistry.delete(flag);
|
|
148
|
-
return yield* Effect.provideService(self, Registry, nextRegistry);
|
|
149
|
-
}));
|
|
150
|
-
/**
|
|
151
|
-
* Removes all global flags (built-in and user-defined).
|
|
152
|
-
*
|
|
153
|
-
* @since 4.0.0
|
|
154
|
-
* @category modifiers
|
|
155
|
-
*/
|
|
156
|
-
export const clear = self => Effect.provideService(self, Registry, new Set());
|
|
117
|
+
export const BuiltIns = [Help, Version, Completions, LogLevel];
|
|
157
118
|
//# sourceMappingURL=GlobalFlag.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalFlag.js","names":["Console","Effect","
|
|
1
|
+
{"version":3,"file":"GlobalFlag.js","names":["Console","Effect","Option","ServiceMap","CliOutput","Flag","action","options","_tag","flag","run","setting","id","settingIdCounter","ref","Service","Object","assign","CommandDescriptor","CompletionsInternal","HelpInternal","Help","boolean","pipe","withAlias","withDescription","_","command","commandPath","gen","formatter","Formatter","helpDoc","getHelpForCommandPath","BuiltIns","log","formatHelpDoc","Version","version","formatVersion","name","Completions","choice","optional","map","v","s","shell","isNone","descriptor","fromCommand","generate","value","LogLevel","choiceWithValue"],"sources":["../../../src/unstable/cli/GlobalFlag.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ import * as Arr from "../../../Array.ts";
|
|
|
9
9
|
import * as Effect from "../../../Effect.ts";
|
|
10
10
|
import * as ServiceMap from "../../../ServiceMap.ts";
|
|
11
11
|
import * as CliError from "../CliError.ts";
|
|
12
|
+
import type * as GlobalFlag from "../GlobalFlag.ts";
|
|
12
13
|
import type { HelpDoc } from "../HelpDoc.ts";
|
|
13
14
|
import { type ConfigInternal } from "./config.ts";
|
|
14
15
|
import type { Command, CommandContext, Environment, ParsedTokens } from "../Command.ts";
|
|
@@ -24,6 +25,7 @@ export interface CommandInternal<Name extends string, Input, E, R> extends Comma
|
|
|
24
25
|
readonly config: ConfigInternal;
|
|
25
26
|
readonly service: ServiceMap.Service<CommandContext<Name>, Input>;
|
|
26
27
|
readonly annotations: ServiceMap.ServiceMap<never>;
|
|
28
|
+
readonly globalFlags: ReadonlyArray<GlobalFlag.GlobalFlag<any>>;
|
|
27
29
|
readonly parse: (input: ParsedTokens) => Effect.Effect<Input, CliError.CliError, Environment>;
|
|
28
30
|
readonly handle: (input: Input, commandPath: ReadonlyArray<string>) => Effect.Effect<void, E | CliError.CliError, R | Environment>;
|
|
29
31
|
readonly buildHelpDoc: (commandPath: ReadonlyArray<string>) => HelpDoc;
|
|
@@ -47,6 +49,7 @@ export declare const makeCommand: <const Name extends string, Input, E, R>(optio
|
|
|
47
49
|
readonly config: ConfigInternal;
|
|
48
50
|
readonly service?: ServiceMap.Service<CommandContext<Name>, Input> | undefined;
|
|
49
51
|
readonly annotations?: ServiceMap.ServiceMap<never> | undefined;
|
|
52
|
+
readonly globalFlags?: ReadonlyArray<GlobalFlag.GlobalFlag<any>> | undefined;
|
|
50
53
|
readonly description?: string | undefined;
|
|
51
54
|
readonly shortDescription?: string | undefined;
|
|
52
55
|
readonly alias?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/unstable/cli/internal/command.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/unstable/cli/internal/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,7 @@ export const makeCommand = options => {
|
|
|
49
49
|
const service = options.service ?? ServiceMap.Service(`${TypeId}/${options.name}`);
|
|
50
50
|
const config = options.config;
|
|
51
51
|
const annotations = options.annotations ?? ServiceMap.empty();
|
|
52
|
+
const globalFlags = options.globalFlags ?? [];
|
|
52
53
|
const subcommands = options.subcommands ?? [];
|
|
53
54
|
const handle = (input, commandPath) => Predicate.isNotUndefined(options.handle) ? options.handle(input, commandPath) : Effect.fail(new CliError.ShowHelp({
|
|
54
55
|
commandPath
|
|
@@ -133,6 +134,7 @@ export const makeCommand = options => {
|
|
|
133
134
|
name: options.name,
|
|
134
135
|
examples: options.examples ?? [],
|
|
135
136
|
annotations,
|
|
137
|
+
globalFlags,
|
|
136
138
|
subcommands,
|
|
137
139
|
config,
|
|
138
140
|
service,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","names":["Arr","Effect","YieldableProto","pipeArguments","Predicate","ServiceMap","CliError","Param","Primitive","reconstructTree","TypeId","toImpl","self","Proto","pipe","arguments","asEffect","service","makeCommand","options","Service","name","config","annotations","empty","subcommands","handle","input","commandPath","isNotUndefined","fail","ShowHelp","parse","fnUntraced","parsedArgs","flags","values","parseParams","orderedParams","tree","buildHelpDoc","args","arg","singles","extractSingleParams","metadata","getParamMetadata","single","push","type","typeName","getTypeName","primitiveType","description","required","isOptional","variadic","isVariadic","usage","length","join","some","group","commands","argName","option","formattedAliases","aliases","map","alias","_tag","subcommandDocs","subcommand","shortDescription","examples","Object","assign","create","params","results","currentArguments","remainingArguments","parsed","checkForDuplicateFlags","parent","parentImpl","parentOptionNames","Set","extractNames","add","subImpl","has","DuplicateOption","parentCommand","childCommand"],"sources":["../../../../src/unstable/cli/internal/command.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;AAOA,OAAO,KAAKA,GAAG,MAAM,mBAAmB;AACxC,OAAO,KAAKC,MAAM,MAAM,oBAAoB;AAC5C,SAASC,cAAc,QAAQ,2BAA2B;AAC1D,SAASC,aAAa,QAAQ,sBAAsB;AACpD,OAAO,KAAKC,SAAS,MAAM,uBAAuB;AAClD,OAAO,KAAKC,UAAU,MAAM,wBAAwB;AACpD,OAAO,KAAKC,QAAQ,MAAM,gBAAgB;
|
|
1
|
+
{"version":3,"file":"command.js","names":["Arr","Effect","YieldableProto","pipeArguments","Predicate","ServiceMap","CliError","Param","Primitive","reconstructTree","TypeId","toImpl","self","Proto","pipe","arguments","asEffect","service","makeCommand","options","Service","name","config","annotations","empty","globalFlags","subcommands","handle","input","commandPath","isNotUndefined","fail","ShowHelp","parse","fnUntraced","parsedArgs","flags","values","parseParams","orderedParams","tree","buildHelpDoc","args","arg","singles","extractSingleParams","metadata","getParamMetadata","single","push","type","typeName","getTypeName","primitiveType","description","required","isOptional","variadic","isVariadic","usage","length","join","some","group","commands","argName","option","formattedAliases","aliases","map","alias","_tag","subcommandDocs","subcommand","shortDescription","examples","Object","assign","create","params","results","currentArguments","remainingArguments","parsed","checkForDuplicateFlags","parent","parentImpl","parentOptionNames","Set","extractNames","add","subImpl","has","DuplicateOption","parentCommand","childCommand"],"sources":["../../../../src/unstable/cli/internal/command.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -6,14 +6,28 @@
|
|
|
6
6
|
* Extracted from command.ts to avoid circular dependencies.
|
|
7
7
|
*/
|
|
8
8
|
import * as Effect from "../../../Effect.ts";
|
|
9
|
-
import type * as ServiceMap from "../../../ServiceMap.ts";
|
|
10
9
|
import type { Command } from "../Command.ts";
|
|
11
|
-
import type
|
|
10
|
+
import type * as GlobalFlag from "../GlobalFlag.ts";
|
|
12
11
|
import type { HelpDoc } from "../HelpDoc.ts";
|
|
12
|
+
/**
|
|
13
|
+
* Returns the resolved command lineage for the provided path.
|
|
14
|
+
* Includes the root command as the first element.
|
|
15
|
+
*/
|
|
16
|
+
export declare const getCommandsForCommandPath: <Name extends string, Input, E, R>(command: Command<Name, Input, E, R>, commandPath: ReadonlyArray<string>) => ReadonlyArray<Command.Any>;
|
|
17
|
+
/**
|
|
18
|
+
* Returns active global flags for a command path.
|
|
19
|
+
* Built-ins are prepended and declarations are collected root -> leaf.
|
|
20
|
+
*/
|
|
21
|
+
export declare const getGlobalFlagsForCommandPath: <Name extends string, Input, E, R>(command: Command<Name, Input, E, R>, commandPath: ReadonlyArray<string>, builtIns: ReadonlyArray<GlobalFlag.GlobalFlag<any>>) => ReadonlyArray<GlobalFlag.GlobalFlag<any>>;
|
|
22
|
+
/**
|
|
23
|
+
* Returns all global flags declared in a command tree.
|
|
24
|
+
* Built-ins are prepended and command declarations are deduplicated by identity.
|
|
25
|
+
*/
|
|
26
|
+
export declare const getGlobalFlagsForCommandTree: <Name extends string, Input, E, R>(command: Command<Name, Input, E, R>, builtIns: ReadonlyArray<GlobalFlag.GlobalFlag<any>>) => ReadonlyArray<GlobalFlag.GlobalFlag<any>>;
|
|
13
27
|
/**
|
|
14
28
|
* Helper function to get help documentation for a specific command path.
|
|
15
29
|
* Navigates through the command hierarchy to find the right command.
|
|
16
|
-
* Reads global flags
|
|
30
|
+
* Reads active global flags for the path and includes them in the help doc.
|
|
17
31
|
*/
|
|
18
|
-
export declare const getHelpForCommandPath: <Name extends string, Input, E, R>(command: Command<Name, Input, E, R>, commandPath: ReadonlyArray<string>,
|
|
32
|
+
export declare const getHelpForCommandPath: <Name extends string, Input, E, R>(command: Command<Name, Input, E, R>, commandPath: ReadonlyArray<string>, builtIns: ReadonlyArray<GlobalFlag.GlobalFlag<any>>) => Effect.Effect<HelpDoc, never, never>;
|
|
19
33
|
//# sourceMappingURL=help.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../../src/unstable/cli/internal/help.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,KAAK,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../../src/unstable/cli/internal/help.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,UAAU,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAW,OAAO,EAAE,MAAM,eAAe,CAAA;AAoBrD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,IAAI,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EACxE,SAAS,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EACnC,aAAa,aAAa,CAAC,MAAM,CAAC,KACjC,aAAa,CAAC,OAAO,CAAC,GAAG,CAwB3B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GAAI,IAAI,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAC3E,SAAS,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EACnC,aAAa,aAAa,CAAC,MAAM,CAAC,EAClC,UAAU,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAClD,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAO1C,CAAA;AAqBD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GAAI,IAAI,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAC3E,SAAS,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EACnC,UAAU,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAClD,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAIvC,CAAA;AAEJ;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,IAAI,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EACpE,SAAS,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EACnC,aAAa,aAAa,CAAC,MAAM,CAAC,EAClC,UAAU,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAClD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAwBlC,CAAA"}
|
|
@@ -9,12 +9,24 @@ import * as Effect from "../../../Effect.js";
|
|
|
9
9
|
import * as Param from "../Param.js";
|
|
10
10
|
import * as Primitive from "../Primitive.js";
|
|
11
11
|
import { toImpl } from "./command.js";
|
|
12
|
+
const dedupeGlobalFlags = flags => {
|
|
13
|
+
const seen = new Set();
|
|
14
|
+
const deduped = [];
|
|
15
|
+
for (const flag of flags) {
|
|
16
|
+
if (seen.has(flag)) {
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
seen.add(flag);
|
|
20
|
+
deduped.push(flag);
|
|
21
|
+
}
|
|
22
|
+
return deduped;
|
|
23
|
+
};
|
|
12
24
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* Reads global flags from the registry and includes them in the help doc.
|
|
25
|
+
* Returns the resolved command lineage for the provided path.
|
|
26
|
+
* Includes the root command as the first element.
|
|
16
27
|
*/
|
|
17
|
-
export const
|
|
28
|
+
export const getCommandsForCommandPath = (command, commandPath) => {
|
|
29
|
+
const commands = [command];
|
|
18
30
|
let currentCommand = command;
|
|
19
31
|
for (let i = 1; i < commandPath.length; i++) {
|
|
20
32
|
const subcommandName = commandPath[i];
|
|
@@ -25,12 +37,54 @@ export const getHelpForCommandPath = (command, commandPath, registry) => Effect.
|
|
|
25
37
|
break;
|
|
26
38
|
}
|
|
27
39
|
}
|
|
28
|
-
if (subcommand) {
|
|
29
|
-
|
|
40
|
+
if (!subcommand) {
|
|
41
|
+
break;
|
|
30
42
|
}
|
|
43
|
+
commands.push(subcommand);
|
|
44
|
+
currentCommand = subcommand;
|
|
31
45
|
}
|
|
46
|
+
return commands;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Returns active global flags for a command path.
|
|
50
|
+
* Built-ins are prepended and declarations are collected root -> leaf.
|
|
51
|
+
*/
|
|
52
|
+
export const getGlobalFlagsForCommandPath = (command, commandPath, builtIns) => {
|
|
53
|
+
const commands = getCommandsForCommandPath(command, commandPath);
|
|
54
|
+
const declared = commands.flatMap(current => toImpl(current).globalFlags);
|
|
55
|
+
return dedupeGlobalFlags([...builtIns, ...declared]);
|
|
56
|
+
};
|
|
57
|
+
const collectDeclaredGlobalFlags = command => {
|
|
58
|
+
const collected = [];
|
|
59
|
+
const visit = current => {
|
|
60
|
+
const impl = toImpl(current);
|
|
61
|
+
for (const flag of impl.globalFlags) {
|
|
62
|
+
collected.push(flag);
|
|
63
|
+
}
|
|
64
|
+
for (const group of current.subcommands) {
|
|
65
|
+
for (const subcommand of group.commands) {
|
|
66
|
+
visit(subcommand);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
visit(command);
|
|
71
|
+
return dedupeGlobalFlags(collected);
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Returns all global flags declared in a command tree.
|
|
75
|
+
* Built-ins are prepended and command declarations are deduplicated by identity.
|
|
76
|
+
*/
|
|
77
|
+
export const getGlobalFlagsForCommandTree = (command, builtIns) => dedupeGlobalFlags([...builtIns, ...collectDeclaredGlobalFlags(command)]);
|
|
78
|
+
/**
|
|
79
|
+
* Helper function to get help documentation for a specific command path.
|
|
80
|
+
* Navigates through the command hierarchy to find the right command.
|
|
81
|
+
* Reads active global flags for the path and includes them in the help doc.
|
|
82
|
+
*/
|
|
83
|
+
export const getHelpForCommandPath = (command, commandPath, builtIns) => Effect.gen(function* () {
|
|
84
|
+
const commands = getCommandsForCommandPath(command, commandPath);
|
|
85
|
+
const currentCommand = commands.length > 0 ? commands[commands.length - 1] : command;
|
|
32
86
|
const baseDoc = toImpl(currentCommand).buildHelpDoc(commandPath);
|
|
33
|
-
const flags =
|
|
87
|
+
const flags = getGlobalFlagsForCommandPath(command, commandPath, builtIns);
|
|
34
88
|
const globalFlagDocs = [];
|
|
35
89
|
for (const flag of flags) {
|
|
36
90
|
const singles = Param.extractSingleParams(flag.flag);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","names":["Effect","Param","Primitive","toImpl","
|
|
1
|
+
{"version":3,"file":"help.js","names":["Effect","Param","Primitive","toImpl","dedupeGlobalFlags","flags","seen","Set","deduped","flag","has","add","push","getCommandsForCommandPath","command","commandPath","commands","currentCommand","i","length","subcommandName","subcommand","undefined","group","subcommands","find","sub","name","getGlobalFlagsForCommandPath","builtIns","declared","flatMap","current","globalFlags","collectDeclaredGlobalFlags","collected","visit","impl","getGlobalFlagsForCommandTree","getHelpForCommandPath","gen","baseDoc","buildHelpDoc","globalFlagDocs","singles","extractSingleParams","single","formattedAliases","aliases","map","alias","type","typeName","getTypeName","primitiveType","description","required"],"sources":["../../../../src/unstable/cli/internal/help.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;AAOA,OAAO,KAAKA,MAAM,MAAM,oBAAoB;AAI5C,OAAO,KAAKC,KAAK,MAAM,aAAa;AACpC,OAAO,KAAKC,SAAS,MAAM,iBAAiB;AAC5C,SAASC,MAAM,QAAQ,cAAc;AAErC,MAAMC,iBAAiB,GACrBC,KAAgD,IACH;EAC7C,MAAMC,IAAI,GAAG,IAAIC,GAAG,EAA8B;EAClD,MAAMC,OAAO,GAAsC,EAAE;EACrD,KAAK,MAAMC,IAAI,IAAIJ,KAAK,EAAE;IACxB,IAAIC,IAAI,CAACI,GAAG,CAACD,IAAI,CAAC,EAAE;MAClB;IACF;IACAH,IAAI,CAACK,GAAG,CAACF,IAAI,CAAC;IACdD,OAAO,CAACI,IAAI,CAACH,IAAI,CAAC;EACpB;EACA,OAAOD,OAAO;AAChB,CAAC;AAED;;;;AAIA,OAAO,MAAMK,yBAAyB,GAAGA,CACvCC,OAAmC,EACnCC,WAAkC,KACJ;EAC9B,MAAMC,QAAQ,GAAuB,CAACF,OAAO,CAAC;EAC9C,IAAIG,cAAc,GAAgBH,OAAO;EAEzC,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,WAAW,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;IAC3C,MAAME,cAAc,GAAGL,WAAW,CAACG,CAAC,CAAC;IACrC,IAAIG,UAAU,GAA4BC,SAAS;IAEnD,KAAK,MAAMC,KAAK,IAAIN,cAAc,CAACO,WAAW,EAAE;MAC9CH,UAAU,GAAGE,KAAK,CAACP,QAAQ,CAACS,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,KAAKP,cAAc,CAAC;MACtE,IAAIC,UAAU,EAAE;QACd;MACF;IACF;IAEA,IAAI,CAACA,UAAU,EAAE;MACf;IACF;IAEAL,QAAQ,CAACJ,IAAI,CAACS,UAAU,CAAC;IACzBJ,cAAc,GAAGI,UAAU;EAC7B;EAEA,OAAOL,QAAQ;AACjB,CAAC;AAED;;;;AAIA,OAAO,MAAMY,4BAA4B,GAAGA,CAC1Cd,OAAmC,EACnCC,WAAkC,EAClCc,QAAmD,KACN;EAC7C,MAAMb,QAAQ,GAAGH,yBAAyB,CAACC,OAAO,EAAEC,WAAW,CAAC;EAChE,MAAMe,QAAQ,GAAGd,QAAQ,CAACe,OAAO,CAAEC,OAAO,IAAK7B,MAAM,CAAC6B,OAAO,CAAC,CAACC,WAAW,CAAC;EAC3E,OAAO7B,iBAAiB,CAAC,CACvB,GAAGyB,QAAQ,EACX,GAAGC,QAAQ,CACZ,CAAC;AACJ,CAAC;AAED,MAAMI,0BAA0B,GAAIpB,OAAoB,IAA+C;EACrG,MAAMqB,SAAS,GAAsC,EAAE;EAEvD,MAAMC,KAAK,GAAIJ,OAAoB,IAAU;IAC3C,MAAMK,IAAI,GAAGlC,MAAM,CAAC6B,OAAO,CAAC;IAC5B,KAAK,MAAMvB,IAAI,IAAI4B,IAAI,CAACJ,WAAW,EAAE;MACnCE,SAAS,CAACvB,IAAI,CAACH,IAAI,CAAC;IACtB;IACA,KAAK,MAAMc,KAAK,IAAIS,OAAO,CAACR,WAAW,EAAE;MACvC,KAAK,MAAMH,UAAU,IAAIE,KAAK,CAACP,QAAQ,EAAE;QACvCoB,KAAK,CAACf,UAAU,CAAC;MACnB;IACF;EACF,CAAC;EAEDe,KAAK,CAACtB,OAAO,CAAC;EACd,OAAOV,iBAAiB,CAAC+B,SAAS,CAAC;AACrC,CAAC;AAED;;;;AAIA,OAAO,MAAMG,4BAA4B,GAAGA,CAC1CxB,OAAmC,EACnCe,QAAmD,KAEnDzB,iBAAiB,CAAC,CAChB,GAAGyB,QAAQ,EACX,GAAGK,0BAA0B,CAACpB,OAAO,CAAC,CACvC,CAAC;AAEJ;;;;;AAKA,OAAO,MAAMyB,qBAAqB,GAAGA,CACnCzB,OAAmC,EACnCC,WAAkC,EAClCc,QAAmD,KAEnD7B,MAAM,CAACwC,GAAG,CAAC,aAAS;EAClB,MAAMxB,QAAQ,GAAGH,yBAAyB,CAACC,OAAO,EAAEC,WAAW,CAAC;EAChE,MAAME,cAAc,GAAGD,QAAQ,CAACG,MAAM,GAAG,CAAC,GAAGH,QAAQ,CAACA,QAAQ,CAACG,MAAM,GAAG,CAAC,CAAC,GAAGL,OAAO;EAEpF,MAAM2B,OAAO,GAAGtC,MAAM,CAACc,cAAc,CAAC,CAACyB,YAAY,CAAC3B,WAAW,CAAC;EAEhE,MAAMV,KAAK,GAAGuB,4BAA4B,CAACd,OAAO,EAAEC,WAAW,EAAEc,QAAQ,CAAC;EAC1E,MAAMc,cAAc,GAAmB,EAAE;EACzC,KAAK,MAAMlC,IAAI,IAAIJ,KAAK,EAAE;IACxB,MAAMuC,OAAO,GAAG3C,KAAK,CAAC4C,mBAAmB,CAACpC,IAAI,CAACA,IAAI,CAAC;IACpD,KAAK,MAAMqC,MAAM,IAAIF,OAAO,EAAE;MAC5B,MAAMG,gBAAgB,GAAGD,MAAM,CAACE,OAAO,CAACC,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAAC/B,MAAM,KAAK,CAAC,GAAG,IAAI+B,KAAK,EAAE,GAAG,KAAKA,KAAK,EAAE,CAAC;MACvGP,cAAc,CAAC/B,IAAI,CAAC;QAClBe,IAAI,EAAEmB,MAAM,CAACnB,IAAI;QACjBqB,OAAO,EAAED,gBAAgB;QACzBI,IAAI,EAAEL,MAAM,CAACM,QAAQ,IAAIlD,SAAS,CAACmD,WAAW,CAACP,MAAM,CAACQ,aAAa,CAAC;QACpEC,WAAW,EAAET,MAAM,CAACS,WAAW;QAC/BC,QAAQ,EAAE;OACX,CAAC;IACJ;EACF;EAEA,OAAO;IAAE,GAAGf,OAAO;IAAER,WAAW,EAAEU;EAAc,CAAE;AACpD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -8,13 +8,14 @@ import type { Path } from "../../Path.ts";
|
|
|
8
8
|
import { type Pipeable } from "../../Pipeable.ts";
|
|
9
9
|
import * as Redacted from "../../Redacted.ts";
|
|
10
10
|
import type * as Scope from "../../Scope.ts";
|
|
11
|
-
import type { Covariant } from "../../Types.ts";
|
|
11
|
+
import type { Covariant, NoInfer } from "../../Types.ts";
|
|
12
12
|
import type { Cookie } from "../http/Cookies.ts";
|
|
13
13
|
import type * as Etag from "../http/Etag.ts";
|
|
14
14
|
import type { HttpPlatform } from "../http/HttpPlatform.ts";
|
|
15
15
|
import * as HttpRouter from "../http/HttpRouter.ts";
|
|
16
16
|
import * as Request from "../http/HttpServerRequest.ts";
|
|
17
17
|
import { HttpServerRequest } from "../http/HttpServerRequest.ts";
|
|
18
|
+
import type { HttpServerResponse } from "../http/HttpServerResponse.ts";
|
|
18
19
|
import type * as HttpApi from "./HttpApi.ts";
|
|
19
20
|
import * as HttpApiEndpoint from "./HttpApiEndpoint.ts";
|
|
20
21
|
import type * as HttpApiGroup from "./HttpApiGroup.ts";
|
|
@@ -27,7 +28,7 @@ import type * as HttpApiSecurity from "./HttpApiSecurity.ts";
|
|
|
27
28
|
*/
|
|
28
29
|
export declare const layer: <Id extends string, Groups extends HttpApiGroup.Any>(api: HttpApi.HttpApi<Id, Groups>, options?: {
|
|
29
30
|
readonly openapiPath?: `/${string}` | undefined;
|
|
30
|
-
}) => Layer.Layer<never, never, Etag.Generator | HttpRouter.HttpRouter | FileSystem | HttpPlatform | Path | HttpApiGroup.ToService<Id, Groups
|
|
31
|
+
}) => Layer.Layer<never, never, Etag.Generator | HttpRouter.HttpRouter | FileSystem | HttpPlatform | Path | HttpApiGroup.ToService<Id, Groups>>;
|
|
31
32
|
/**
|
|
32
33
|
* Create a `Layer` that will implement all the endpoints in an `HttpApi`.
|
|
33
34
|
*
|
|
@@ -67,14 +68,14 @@ export interface Handlers<R, Endpoints extends HttpApiEndpoint.Any = never> exte
|
|
|
67
68
|
*/
|
|
68
69
|
handle<Name extends HttpApiEndpoint.Name<Endpoints>, R1>(name: Name, handler: HttpApiEndpoint.HandlerWithName<Endpoints, Name, HttpApiEndpoint.ErrorsWithName<Endpoints, Name>, R1>, options?: {
|
|
69
70
|
readonly uninterruptible?: boolean | undefined;
|
|
70
|
-
} | undefined): Handlers<R | HttpApiEndpoint.MiddlewareWithName<Endpoints, Name> | HttpApiEndpoint.MiddlewareServicesWithName<Endpoints, Name> | HttpApiEndpoint.
|
|
71
|
+
} | undefined): Handlers<R | HttpApiEndpoint.MiddlewareWithName<Endpoints, Name> | HttpApiEndpoint.MiddlewareServicesWithName<Endpoints, Name> | HttpApiEndpoint.ExcludeProvidedWithName<Endpoints, Name, R1 | HttpApiEndpoint.ServerServicesWithName<Endpoints, Name>>, HttpApiEndpoint.ExcludeName<Endpoints, Name>>;
|
|
71
72
|
/**
|
|
72
73
|
* Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
|
|
73
74
|
* This version opts out of automatic payload decoding and provides the raw request.
|
|
74
75
|
*/
|
|
75
76
|
handleRaw<Name extends HttpApiEndpoint.Name<Endpoints>, R1>(name: Name, handler: HttpApiEndpoint.HandlerRawWithName<Endpoints, Name, HttpApiEndpoint.ErrorsWithName<Endpoints, Name>, R1>, options?: {
|
|
76
77
|
readonly uninterruptible?: boolean | undefined;
|
|
77
|
-
} | undefined): Handlers<R | HttpApiEndpoint.MiddlewareWithName<Endpoints, Name> | HttpApiEndpoint.MiddlewareServicesWithName<Endpoints, Name> | HttpApiEndpoint.
|
|
78
|
+
} | undefined): Handlers<R | HttpApiEndpoint.MiddlewareWithName<Endpoints, Name> | HttpApiEndpoint.MiddlewareServicesWithName<Endpoints, Name> | HttpApiEndpoint.ExcludeProvidedWithName<Endpoints, Name, R1 | HttpApiEndpoint.ServerServicesWithName<Endpoints, Name>>, HttpApiEndpoint.ExcludeName<Endpoints, Name>>;
|
|
78
79
|
}
|
|
79
80
|
/**
|
|
80
81
|
* @since 4.0.0
|
|
@@ -119,6 +120,11 @@ export declare namespace Handlers {
|
|
|
119
120
|
*/
|
|
120
121
|
type Context<A> = A extends Handlers<infer _R, infer _Endpoints> ? _R : A extends Effect.Effect<Handlers<infer _R, infer _Endpoints>, infer _EX, infer _RX> ? _R | _RX : never;
|
|
121
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* @since 4.0.0
|
|
125
|
+
* @category handlers
|
|
126
|
+
*/
|
|
127
|
+
export declare const endpoint: <ApiId extends string, Groups extends HttpApiGroup.Any, const GroupName extends HttpApiGroup.Name<Groups>, const EndpointName extends HttpApiEndpoint.Name<HttpApiGroup.Endpoints<HttpApiGroup.WithName<Groups, GroupName>>>, R, Group extends HttpApiGroup.Any = HttpApiGroup.WithName<Groups, GroupName>, Endpoint extends HttpApiEndpoint.Any = HttpApiEndpoint.WithName<HttpApiGroup.Endpoints<Group>, EndpointName>>(api: HttpApi.HttpApi<ApiId, Groups>, groupName: GroupName, endpointName: EndpointName, handler: NoInfer<HttpApiEndpoint.HandlerWithName<HttpApiGroup.Endpoints<HttpApiGroup.WithName<Groups, GroupName>>, EndpointName, never, R>>) => Effect.Effect<Effect.Effect<HttpServerResponse, never, HttpServerRequest | HttpRouter.RouteContext | Request.ParsedSearchParams | Exclude<R, HttpApiEndpoint.MiddlewareProvides<Endpoint>>>, never, HttpApiEndpoint.ServerServices<Endpoint> | HttpApiEndpoint.Middleware<Endpoint> | HttpApiEndpoint.MiddlewareServices<Endpoint> | Etag.Generator | FileSystem | HttpPlatform | Path>;
|
|
122
128
|
/**
|
|
123
129
|
* @since 4.0.0
|
|
124
130
|
* @category security
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpApiBuilder.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApiBuilder.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAGzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGrD,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAEvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAM7C,OAAO,KAAK,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAG5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"HttpApiBuilder.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApiBuilder.ts"],"names":[],"mappings":"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"}
|