Sha256: 438fee823940480024fdbdd161b2fcbf1a754e37be978682bfac2c7ffab7f47b
Contents?: true
Size: 1.09 KB
Versions: 39
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
39 entries across 24 versions & 1 rubygems