{"version":3,"file":"parse-row.mjs","sources":["../../../../../src/core/interaction/batch/parse-row.ts"],"sourcesContent":["import type {\n  BatchCommandsArrayUniversal,\n  BatchCommandsObjectUniversal,\n  BatchCommandV3, BatchNamedCommandsUniversal,\n  CommandObject,\n  CommandTuple\n} from '../../../types/http'\nimport { SdkError } from '../../sdk-error'\n\n/**\n * Class for formatting/parsing a set of Batch commands\n */\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class ParseRow {\n  public static getBatchCommand(\n    row: CommandObject | CommandTuple,\n    options: {\n      parallelDefaultValue: boolean\n      asDefaultValue?: string\n    }\n  ): BatchCommandV3 {\n    if (row) {\n      if (typeof row === 'object' && 'method' in row && typeof row.method === 'string') {\n        return {\n          method: row.method,\n          query: row.params,\n          as: row.as ?? options.asDefaultValue,\n          parallel: row.parallel ?? options.parallelDefaultValue\n        }\n      }\n\n      if (Array.isArray(row) && row.length > 0 && typeof row[0] === 'string') {\n        return {\n          method: row[0],\n          query: row[1],\n          as: options.asDefaultValue,\n          parallel: options.parallelDefaultValue\n        }\n      }\n    }\n\n    throw new SdkError({\n      code: 'JSSDK_INTERACTION_BATCH_ROW_FAIL',\n      description: `There were difficulties parsing the command for batch.\\n${JSON.stringify({\n        row, options\n      })}`,\n      status: 500\n    })\n  }\n\n  public static getMethodsFromCommands(\n    calls: BatchCommandsArrayUniversal | BatchCommandsObjectUniversal | BatchNamedCommandsUniversal\n  ): string[] {\n    const result: string[] = []\n    const optsFake = {\n      parallelDefaultValue: false\n    }\n\n    if (Array.isArray(calls)) {\n      calls.forEach((row) => {\n        const command = ParseRow.getBatchCommand(row, optsFake)\n        result.push(command.method)\n      })\n    } else {\n      Object.entries(calls).forEach(([index, row]) => {\n        const command = ParseRow.getBatchCommand(row, { ...optsFake, asDefaultValue: index })\n        result.push(command.method)\n      })\n    }\n\n    return result\n  }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAaO,MAAM,QAAA,CAAS;AAAA,EAbtB;AAasB,IAAA,MAAA,CAAA,IAAA,EAAA,UAAA,CAAA;AAAA;AAAA,EACpB,OAAc,eAAA,CACZ,GAAA,EACA,OAAA,EAIgB;AAChB,IAAA,IAAI,GAAA,EAAK;AACP,MAAA,IAAI,OAAO,QAAQ,QAAA,IAAY,QAAA,IAAY,OAAO,OAAO,GAAA,CAAI,WAAW,QAAA,EAAU;AAChF,QAAA,OAAO;AAAA,UACL,QAAQ,GAAA,CAAI,MAAA;AAAA,UACZ,OAAO,GAAA,CAAI,MAAA;AAAA,UACX,EAAA,EAAI,GAAA,CAAI,EAAA,IAAM,OAAA,CAAQ,cAAA;AAAA,UACtB,QAAA,EAAU,GAAA,CAAI,QAAA,IAAY,OAAA,CAAQ;AAAA,SACpC;AAAA,MACF;AAEA,MAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,IAAK,GAAA,CAAI,MAAA,GAAS,CAAA,IAAK,OAAO,GAAA,CAAI,CAAC,CAAA,KAAM,QAAA,EAAU;AACtE,QAAA,OAAO;AAAA,UACL,MAAA,EAAQ,IAAI,CAAC,CAAA;AAAA,UACb,KAAA,EAAO,IAAI,CAAC,CAAA;AAAA,UACZ,IAAI,OAAA,CAAQ,cAAA;AAAA,UACZ,UAAU,OAAA,CAAQ;AAAA,SACpB;AAAA,MACF;AAAA,IACF;AAEA,IAAA,MAAM,IAAI,QAAA,CAAS;AAAA,MACjB,IAAA,EAAM,kCAAA;AAAA,MACN,WAAA,EAAa,CAAA;AAAA,EAA2D,KAAK,SAAA,CAAU;AAAA,QACrF,GAAA;AAAA,QAAK;AAAA,OACN,CAAC,CAAA,CAAA;AAAA,MACF,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH;AAAA,EAEA,OAAc,uBACZ,KAAA,EACU;AACV,IAAA,MAAM,SAAmB,EAAC;AAC1B,IAAA,MAAM,QAAA,GAAW;AAAA,MACf,oBAAA,EAAsB;AAAA,KACxB;AAEA,IAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACxB,MAAA,KAAA,CAAM,OAAA,CAAQ,CAAC,GAAA,KAAQ;AACrB,QAAA,MAAM,OAAA,GAAU,QAAA,CAAS,eAAA,CAAgB,GAAA,EAAK,QAAQ,CAAA;AACtD,QAAA,MAAA,CAAO,IAAA,CAAK,QAAQ,MAAM,CAAA;AAAA,MAC5B,CAAC,CAAA;AAAA,IACH,CAAA,MAAO;AACL,MAAA,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,KAAA,EAAO,GAAG,CAAA,KAAM;AAC9C,QAAA,MAAM,OAAA,GAAU,SAAS,eAAA,CAAgB,GAAA,EAAK,EAAE,GAAG,QAAA,EAAU,cAAA,EAAgB,KAAA,EAAO,CAAA;AACpF,QAAA,MAAA,CAAO,IAAA,CAAK,QAAQ,MAAM,CAAA;AAAA,MAC5B,CAAC,CAAA;AAAA,IACH;AAEA,IAAA,OAAO,MAAA;AAAA,EACT;AACF;;;;"}