MCPcopy
hub / github.com/Effect-TS/effect / modifySingle

Function modifySingle

packages/cli/src/internal/options.ts:1077–1116  ·  view source on GitHub ↗
(self: Instruction, f: (single: Single) => Single)

Source from the content-addressed store, hash-verified

1075}
1076
1077const modifySingle = (self: Instruction, f: (single: Single) => Single): Options.Options<any> => {
1078 switch (self._tag) {
1079 case "Empty": {
1080 return none
1081 }
1082 case "Single": {
1083 return f(self)
1084 }
1085 case "KeyValueMap": {
1086 return makeKeyValueMap(f(self.argumentOption))
1087 }
1088 case "Map": {
1089 return makeMap(modifySingle(self.options as Instruction, f), self.f)
1090 }
1091 case "Both": {
1092 return makeBoth(
1093 modifySingle(self.left as Instruction, f),
1094 modifySingle(self.right as Instruction, f)
1095 )
1096 }
1097 case "OrElse": {
1098 return makeOrElse(
1099 modifySingle(self.left as Instruction, f),
1100 modifySingle(self.right as Instruction, f)
1101 )
1102 }
1103 case "Variadic": {
1104 return makeVariadic(f(self.argumentOption), self.min, self.max)
1105 }
1106 case "WithDefault": {
1107 return makeWithDefault(modifySingle(self.options as Instruction, f), self.fallback)
1108 }
1109 case "WithFallback": {
1110 return makeWithFallback(
1111 modifySingle(self.options as Instruction, f),
1112 self.effect
1113 )
1114 }
1115 }
1116}
1117
1118/** @internal */
1119export const getNames = (self: Instruction): Array<string> => {

Callers 1

options.tsFile · 0.85

Calls 8

makeKeyValueMapFunction · 0.85
makeOrElseFunction · 0.85
makeWithFallbackFunction · 0.85
makeMapFunction · 0.70
makeBothFunction · 0.70
makeVariadicFunction · 0.70
makeWithDefaultFunction · 0.70
fFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…