• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

source-academy / py-slang / 23791094507

31 Mar 2026 09:46AM UTC coverage: 62.934% (+2.5%) from 60.472%
23791094507

Pull #129

github

web-flow
Merge 6001bed20 into 0e5a36381
Pull Request #129: Add new standard library functions

781 of 1453 branches covered (53.75%)

Branch coverage included in aggregate %.

69 of 112 new or added lines in 8 files covered. (61.61%)

3 existing lines in 2 files now uncovered.

2552 of 3843 relevant lines covered (66.41%)

3449.79 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

70.0
/src/stdlib/stream.ts
1
import { Context } from "../cse-machine/context";
2
import { ControlItem } from "../cse-machine/control";
3
import { BuiltinValue, ListValue, NoneValue, Value } from "../cse-machine/stash";
4
import { minArgMap, Validate } from "../stdlib";
1✔
5
import streamPrelude from "./stream.prelude";
1✔
6
import { Group, GroupName } from "./utils";
1✔
7

8
const streamBuiltins = new Map<string, BuiltinValue>();
1✔
9

10
class StreamBuiltins {
11
  @Validate(0, null, "stream", true)
12
  static stream(
1✔
13
    args: Value[],
14
    source: string,
15
    command: ControlItem,
16
    context: Context,
17
  ): ListValue | NoneValue {
18
    if (args.length === 0) {
×
19
      return { type: "none" };
×
20
    }
21
    const head = args[0];
×
22
    return {
×
23
      type: "list",
24
      value: [
25
        head,
26
        {
27
          type: "builtin",
28
          name: "anonymous stream",
29
          minArgs: 0,
UNCOV
30
          func: () => StreamBuiltins.stream(args.slice(1), source, command, context),
×
31
        },
32
      ],
33
    };
34
  }
35
}
36
for (const builtin of Object.getOwnPropertyNames(StreamBuiltins)) {
1✔
37
  if (
4✔
38
    typeof StreamBuiltins[builtin as keyof typeof StreamBuiltins] === "function" &&
5✔
39
    !builtin.startsWith("_")
40
  ) {
41
    streamBuiltins.set(builtin, {
1✔
42
      type: "builtin",
43
      func: StreamBuiltins[builtin as keyof typeof StreamBuiltins] as BuiltinValue["func"],
44
      name: builtin,
45
      minArgs: minArgMap.get(builtin) || 0,
2✔
46
    });
47
  }
48
}
49
export default {
1✔
50
  name: GroupName.STREAMS,
51
  prelude: streamPrelude,
52
  builtins: streamBuiltins,
53
} as Group;
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc