{"version":3,"sources":["jsdelivr-header.js","/npm/dynamodb-to-mongodb@0.0.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,OAAS,QAAQ,UACjB,OAAS,QAAQ,YACjB,MAAQ,QAAQ,yBAChB,MAAQ,QAAQ,SAEhB,IAAM,QAAQ,WAEpB,IAAI,IAAM,IAAI,IAAI,SAAS,eAE3B,OAAO,OAAO,SAEd,MAAM,SAAW,CAAC,EAAM,IAIf,EAAS,KAFD,EAAK,KAAI,GAAQ,KAK5B,gBAAkB,CAAC,EAAO,KAC9B,MAAM,EAAS,CAAE,UAAW,GAE5B,IAAI,EAAQ,GACZ,MAAM,EAAsB,IAC1B,IAAI,KAAK,GAAQ,CAAC,EAAK,IACjB,EAAY,EAAS,IAEzB,EAAQ,EAAM,OAAO,EAAO,OAEvB,EAAO,kBAEZ,EAAO,kBAAoB,EAAO,iBAE3B,EAAoB,IAJU,EAAS,EAAK,KAKpD,EAGH,OAAO,EAAoB,EAAQ,EAG/B,eAAiB,GACrB,MAAM,KACJ,OAAO,aACP,CAAC,EAAY,KACX,gBAAgB,EAAW,QAAQ,CAAC,EAAK,KACnC,GAAK,EAAS,GAClB,SAAS,GAAM,CAAC,EAAK,KACnB,MAAM,EAAW,OAAO,WAAW,GAAO,CAAC,EAAK,KAC1C,GAAK,EAAS,GAClB,QAAQ,IACN,0CACA,EAAW,OAEb,QAAQ,IAAI,gCAAiC,EAAM,QACnD,EAAS,KAAI,GACd,GACF,GACF,IAEH,IACE,EAAS,KAAI,IAIb,IAAM,KACV,QAAQ,IACN,uCAAuC,SAAS,OAC9C,UACK,SAAS,OAAO,UAGzB,MAAM,SAAQ,CAAC,EAAK,KAClB,GAAI,EAAK,MAAM,EAEf,gBAAe,CAAC,EAAK,KACnB,GAAI,EAAK,MAAM,EAEf,QAAQ,IACN,wCAAwC,SAAS,OAC/C,UACK,SAAS,OAAO,UAGzB,QAAQ,KAAK,EAAC,GACf,GACF,EAGH","file":"/npm/dynamodb-to-mongodb@0.0.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/dynamodb-to-mongodb@0.0.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const moment = require('moment')\nconst CONFIG = require('./config')\nconst mongo = require('mongodb-single-client')\nconst async = require('async')\n\nconst AWS = require('aws-sdk')\n\nlet doc = new AWS.DynamoDB.DocumentClient()\n\nmoment.locale('pt-br')\n\nconst modifyId = (data, callback) => {\n  // caso necessário alterar o id\n  let newArray = data.map(item => item)\n\n  return callback(null, newArray)\n}\n\nconst findAllDynamoDB = (table, callback) => {\n  const params = { TableName: table }\n\n  let items = []\n  const executeFindDynamoDB = callback => {\n    doc.scan(params, (err, result) => {\n      if (err) return callback(err)\n\n      items = items.concat(result.Items)\n\n      if (!result.LastEvaluatedKey) return callback(err, items)\n\n      params.ExclusiveStartKey = result.LastEvaluatedKey\n\n      return executeFindDynamoDB(callback)\n    })\n  }\n\n  return executeFindDynamoDB(callback)\n}\n\nconst migrateMongoDB = callback =>\n  async.each(\n    CONFIG.collections,\n    (collection, callback) => {\n      findAllDynamoDB(collection.dynamo, (err, data) => {\n        if (err) callback(err)\n        modifyId(data, (err, _data) => {\n          mongo(collection.mongo).insertMany(_data, (err, result) => {\n            if (err) callback(err)\n            console.log(\n              '\\n\\tFinalizado importação da collection',\n              collection.mongo\n            )\n            console.log('\\t\\tQuantidade de registros: ', _data.length)\n            callback(null)\n          })\n        })\n      })\n    },\n    err => {\n      callback(null)\n    }\n  )\n\nconst run = () => {\n  console.log(\n    `\\n Iniciando processo de importação ${moment().format(\n      'L'\n    )} - ${moment().format('LTS')}`\n  )\n\n  mongo.connect((err, result) => {\n    if (err) throw err\n\n    migrateMongoDB((err, data) => {\n      if (err) throw err\n\n      console.log(\n        `\\nFinalizando processo de importação ${moment().format(\n          'L'\n        )} - ${moment().format('LTS')}`\n      )\n\n      process.exit(0)\n    })\n  })\n}\n\nrun()\n"]}