< Summary - Envilder Core (TypeScript)

Information
Class: src/envilder/core/application/dispatch/DispatchActionCommand.ts
Assembly: Default
File(s): src/envilder/core/application/dispatch/DispatchActionCommand.ts
Tag: 151_24479375065
Line coverage
100%
Covered lines: 14
Uncovered lines: 0
Coverable lines: 14
Total lines: 39
Line coverage: 100%
Branch coverage
100%
Covered branches: 8
Total branches: 8
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

File(s)

src/envilder/core/application/dispatch/DispatchActionCommand.ts

#LineLine coverage
 1import type { CliOptions } from '../../domain/CliOptions.js';
 2import { OperationMode } from '../../domain/OperationMode.js';
 3
 4export class DispatchActionCommand {
 5  constructor(
 226    public readonly map?: string,
 227    public readonly envfile?: string,
 228    public readonly key?: string,
 229    public readonly value?: string,
 2210    public readonly secretPath?: string,
 2211    public readonly profile?: string,
 2212    public readonly mode: OperationMode = OperationMode.PULL_SECRETS_TO_ENV,
 13  ) {}
 14
 15  static fromCliOptions(options: CliOptions): DispatchActionCommand {
 1716    const mode = DispatchActionCommand.determineOperationMode(options);
 1717    return new DispatchActionCommand(
 18      options.map,
 19      options.envfile,
 20      options.key,
 21      options.value,
 22      options.secretPath,
 23      options.profile,
 24      mode,
 25    );
 26  }
 27
 28  private static determineOperationMode(options: CliOptions): OperationMode {
 1729    if (options.key && options.value && options.secretPath) {
 330      return OperationMode.PUSH_SINGLE;
 31    }
 32
 1433    if (options.push) {
 234      return OperationMode.PUSH_ENV_TO_SECRETS;
 35    }
 36
 1237    return OperationMode.PULL_SECRETS_TO_ENV;
 38  }
 39}