summerize.ts 631 B

123456789101112131415161718192021222324252627282930313233
  1. import {
  2. readAll,
  3. writeAll,
  4. } from "https://deno.land/std@0.181.0/streams/mod.ts";
  5. const input = new TextDecoder().decode(await readAll(Deno.stdin));
  6. const files = input
  7. .split("\n")
  8. .filter((line) => line.length);
  9. const paths = files.map((file) => file.split("/"));
  10. let result = "";
  11. for (let i = 0;; i++) {
  12. const chunks = paths.map((path) => path[i]);
  13. if (chunks.every((chunk) => chunk === chunks[0])) {
  14. if (chunks[0] === undefined) {
  15. break;
  16. }
  17. result += chunks[0] + "/";
  18. } else {
  19. result += "*/";
  20. break;
  21. }
  22. }
  23. result = result.slice(0, -1);
  24. await writeAll(Deno.stdout, new TextEncoder().encode(result));