/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ import { getContainer } from '../../../../FlowHelpers/1.0.0/fileUtils'; import { IpluginDetails, IpluginInputArgs, IpluginOutputArgs, } from '../../../../FlowHelpers/1.0.0/interfaces/interfaces'; /* eslint-disable no-param-reassign */ const details = ():IpluginDetails => ({ name: 'Set Container', description: 'Set the container of the output file', style: { borderColor: '#6efefc', }, tags: 'video', isStartPlugin: false, pType: '', requiresVersion: '2.11.01', sidebarPosition: -1, icon: '', inputs: [ { name: 'container', type: 'string', defaultValue: 'mkv', inputUI: { type: 'dropdown', options: [ 'mkv', 'mp4', ], }, tooltip: 'Specify the container to use', }, ], outputs: [ { number: 1, tooltip: 'Continue to next plugin', }, ], }); // eslint-disable-next-line @typescript-eslint/no-unused-vars const plugin = (args:IpluginInputArgs):IpluginOutputArgs => { const lib = require('../../../../../methods/lib')(); // eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign args.inputs = lib.loadDefaultValues(args.inputs, details); const newContainer = String(args.inputs.container); if (getContainer(args.inputFileObj._id) !== args.inputs.container) { args.variables.ffmpegCommand.container = newContainer; args.variables.ffmpegCommand.shouldProcess = true; } return { outputFileObj: args.inputFileObj, outputNumber: 1, variables: args.variables, }; }; export { details, plugin, };