appSchedules

tcmts.cli.pack.appSchedules · #qwxh3o7k · term · runs on the server

uses tcmts.cli.roles.codebaseRoles, which uses tcmts.cli.roles.rolesIn, which uses tcmts.cli.roles.manifestsIn, which uses tcmts.cli.config.configValue, which uses node:path

An app's recurring jobs: the definitions beside it, in its namespace, whose value every(...) makes.

import type { Codebase } from "#codebase/tcmts/cli/codebase";
import { isSchedule } from "#codebase/tcmts/cli/pages";
import { codebaseRoles } from "#codebase/tcmts/cli/roles";
import type { NameRow } from "#codebase/tcmts/store";

export function appSchedules(cb: Codebase, app: string): NameRow[] {
  const roles = codebaseRoles(cb);
  const ns = app.includes(".") ? app.slice(0, app.lastIndexOf(".")) : "";
  return cb.store
    .names()
    .filter(
      (n) =>
        n.kind === "term" &&
        (ns
          ? n.path.startsWith(`${ns}.`) && !n.path.slice(ns.length + 1).includes(".")
          : !n.path.includes(".")),
    )
    .filter((n) => {
      const rec = cb.store.getDef(n.hash);
      return rec !== undefined && isSchedule(rec, roles);
    });
}

uses

used by