Sha256: 2f100f957306f900b94f884909c527b76b30d9d66e09124ae5249b0fe479b44b
Contents?: true
Size: 1.04 KB
Versions: 5
Compression:
Stored size: 1.04 KB
Contents
const AbstractHandler = require('./AbstractHandler') class SetStaticFieldHandler extends AbstractHandler { requiredParametersCount = 3 constructor() { super() } process(command) { try { if (command.payload.length < this.requiredParametersCount) { throw new Error('Set static field parameters mismatch') } const { payload } = command let [obj, field, value] = payload if (typeof obj[field] === 'undefined') { let fields = Object.keys(obj) let message = `Field ${field} not found in class ${obj.constructor.name}. Available fields:\n` fields.forEach((fieldIter) => { message += `${fieldIter}\n` }) throw new Error(message) } obj[field] = value return 0 } catch (error) { throw this.process_stack_trace(error, this.constructor.name) } } } module.exports = new SetStaticFieldHandler()
Version data entries
5 entries across 5 versions & 1 rubygems