UNPKG

@enspirit/emb

Version:

A replacement for our Makefile-for-monorepos

34 lines (33 loc) 941 B
import * as z from 'zod'; import { AbstractOperation } from '../../../operations/index.js'; /** * https://docs.docker.com/reference/api/engine/version/v1.37/#tag/Container/operation/ContainerPrune */ const schema = z .object({ filters: z .object({ label: z.array(z.string()).describe('Labels on the container'), }) .optional() .describe('Filters to process on the container list,'), }) .optional(); export class PruneContainersOperation extends AbstractOperation { constructor() { super(schema); } async _run(input) { let filters = {}; if (input?.filters?.label) { filters.label = input.filters.label; } // Let's not even pass empty filters if (Object.keys(filters).length === 0) { filters = undefined; } return this.context.docker.pruneContainers({ filters, }); } }