UNPKG

@marteye/studio-cli

Version:

CLI for MartEye Studio API

44 lines (40 loc) 1.51 kB
'use strict'; var commander = require('commander'); var output = require('../utils/output.js'); var studiojs = require('@marteye/studiojs'); function utilsCommand() { const utils = new commander.Command('utils') .description('Utility commands'); utils .command('validate-eartag <tag-number>') .description('Validate an ear tag number') .action(async (tagNumber, _options, command) => { const globalOptions = command.optsWithGlobals ? command.optsWithGlobals() : command.parent?.parent?.opts() || {}; try { const tag = new studiojs.EarTag(tagNumber); const isValid = tag.isEartag(); if (isValid) { output.success(`Ear tag '${tagNumber}' is valid`); output.output({ original: tagNumber, formatted: tag.toString(), country: tag.isoCountryCode, herd: tag.nationalIdentifier?.slice(0, 7), individual: tag.nationalIdentifier?.slice(7), isValid: true }, globalOptions); } else { output.error(`Ear tag '${tagNumber}' is invalid`); process.exit(1); } } catch (err) { output.error('Failed to validate ear tag', err.message); process.exit(1); } }); return utils; } exports.utilsCommand = utilsCommand; //# sourceMappingURL=utils.js.map