Sha256: 7e08e0e6f0f1895df7236433ce14794638292950168cccc14c64aa8a0929d4e1
Contents?: true
Size: 1.09 KB
Versions: 5
Compression:
Stored size: 1.09 KB
Contents
const AbstractHandler = require('./AbstractHandler') class ArrayGetItemHandler extends AbstractHandler { requiredParametersCount = 2 constructor() { super() } process(command) { try { if (command.payload.length < this.requiredParametersCount) { throw new Error('Array Get Item parameters mismatch') } let array = command.payload[0] let indexes if (Array.isArray(command.payload[1])) { indexes = command.payload[1] } else { indexes = command.payload.slice(1) } if (indexes.length === 1) { return array[indexes] } else { let array_copy = [...array] for (let i = 0; i < indexes.length; i++) { array_copy = array_copy[indexes[i]] } return array_copy } } catch (error) { throw this.process_stack_trace(error, this.constructor.name) } } } module.exports = new ArrayGetItemHandler()
Version data entries
5 entries across 5 versions & 1 rubygems