{"version":3,"sources":["jsdelivr-header.js","/npm/lambda-logs@0.0.5/lib/stream.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACLA,aAEA,OAAO,eAAe,QAAS,aAAc,CAC3C,OAAO,IAGT,IAAI,aAAe,WAAe,SAAS,EAAiB,EAAQ,GAAS,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,CAAE,IAAI,EAAa,EAAM,GAAI,EAAW,WAAa,EAAW,aAAc,EAAO,EAAW,cAAe,EAAU,UAAW,IAAY,EAAW,UAAW,GAAM,OAAO,eAAe,EAAQ,EAAW,IAAK,EAAa,CAAE,CAAE,OAAO,SAAU,EAAa,EAAY,GAAiJ,OAA9H,GAAY,EAAiB,EAAY,UAAW,GAAiB,GAAa,EAAiB,EAAa,GAAqB,CAAa,CAAI,CAA/hB,GAEnB,SAAS,uBAAuB,GAAO,OAAO,GAAO,EAAI,WAAa,EAAM,CAAE,QAAW,EAAO,CAEhG,SAAS,gBAAgB,EAAU,GAAe,KAAM,aAAoB,GAAgB,MAAM,IAAI,UAAU,oCAAwC,CAExJ,IAAI,UAAY,QAAQ,YAEpB,WAAa,uBAAuB,WAEpC,QAAU,QAAQ,WAElB,SAAW,uBAAuB,SAElC,SAAW,QAAQ,WAEnB,UAAY,uBAAuB,UAEnC,aAAe,QAAQ,kBAEvB,cAAgB,uBAAuB,cAEvC,mBAAqB,QAAQ,yBAE7B,oBAAsB,uBAAuB,oBAM7C,iBAAmB,WAKrB,SAAS,IACP,gBAAgB,KAAM,GAEtB,KAAK,KAAO,WAAoB,QAAE,aAAa,IAAI,SAAkB,QAAE,eACzE,CA2DA,OAjDA,aAAa,EAAkB,CAAC,CAC9B,IAAK,WACL,MAAO,SAAkB,GACvB,IAAI,EAAY,UAAU,QAAU,QAAsB,IAAjB,UAAU,GAAmB,KAAO,UAAU,GAGnF,EAAO,KAAK,KACZ,EAAe,eAAiB,EAEhC,EAAY,IAAI,cAAuB,QAAE,KAAM,SAAU,GAC3D,IAAI,EAAS,CACX,aAAc,GAEhB,OAAO,EAAK,wBAAwB,EACtC,IAEI,EAAS,EAAU,QAAQ,QAAQ,UAAmB,QAAE,aAAa,KAAI,SAAU,GACrF,OAAO,EAAK,WAAW,KAAI,SAAU,GACnC,IAAI,EAAS,CACX,aAAc,EACd,cAAe,EAAU,cACzB,UAAW,GAEb,OAAO,EAAK,kBAAkB,EAChC,GACF,IAAG,QAAQ,UAAmB,QAAE,WAAW,QAAQ,UAAmB,QAAE,aAEvE,KAAI,SAAU,GACb,OAAO,EAAS,MAClB,IAAG,QAAQ,UAAmB,QAAE,WAE/B,KAAI,SAAU,GAIb,OAHI,EAAY,EAAM,YACpB,EAAY,EAAM,UAAY,GAEzB,EAAM,QAAQ,QAAQ,aAAc,GAC7C,IAEC,KAAI,SAAU,GACb,OAAO,IAAI,oBAA6B,QAAE,EAC5C,IAKA,OAHA,EAAO,KAAO,WACZ,EAAU,MACZ,EACO,CACT,KAGK,CACR,CArEsB,GAuEvB,QAAiB,QAAI,iBACrB,OAAO,QAAU,QAAiB","file":"/npm/lambda-logs@0.0.5/lib/stream.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/lambda-logs@0.0.5/lib/stream.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// LICENSE: MIT\n\"use strict\";\n// imports\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _bluebird = require('bluebird');\n\nvar _bluebird2 = _interopRequireDefault(_bluebird);\n\nvar _awsSdk = require('aws-sdk');\n\nvar _awsSdk2 = _interopRequireDefault(_awsSdk);\n\nvar _baconjs = require('baconjs');\n\nvar _baconjs2 = _interopRequireDefault(_baconjs);\n\nvar _schedulerJs = require('./scheduler.js');\n\nvar _schedulerJs2 = _interopRequireDefault(_schedulerJs);\n\nvar _entitiesMessageJs = require('./entities/message.js');\n\nvar _entitiesMessageJs2 = _interopRequireDefault(_entitiesMessageJs);\n\n/**\n * CloudWatch logs of describe in the stream.\n */\n\nvar LambdaLogsStream = (function () {\n  /**\n   * Initialize LambdaLogsStream.\n   */\n\n  function LambdaLogsStream() {\n    _classCallCheck(this, LambdaLogsStream);\n\n    this.logs = _bluebird2['default'].promisifyAll(new _awsSdk2['default'].CloudWatchLogs());\n  }\n\n  /**\n   * CloudWatch logs of describe in the stream.\n   *\n   * @param {String} functionName function name of AWS Lambda.\n   * @param {Number} [startTime=null] to get the log after the specified time\n   * @returns {Bacon.Bus} return a stream of LambdaLogs\n   */\n\n  _createClass(LambdaLogsStream, [{\n    key: 'describe',\n    value: function describe(functionName) {\n      var startTime = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\n      // initialize\n      var logs = this.logs;\n      var logGroupName = '/aws/lambda/' + functionName;\n      // generate scheduler\n      var scheduler = new _schedulerJs2['default'](1000, function (index) {\n        var params = {\n          logGroupName: logGroupName\n        };\n        return logs.describeLogStreamsAsync(params);\n      });\n      // get log event\n      var stream = scheduler.start().flatMap(_baconjs2['default'].fromPromise).map(function (data) {\n        return data.logStreams.map(function (logStream) {\n          var params = {\n            logGroupName: logGroupName,\n            logStreamName: logStream.logStreamName,\n            startTime: startTime\n          };\n          return logs.getLogEventsAsync(params);\n        });\n      }).flatMap(_baconjs2['default'].fromArray).flatMap(_baconjs2['default'].fromPromise)\n      // log event to event\n      .map(function (logEvent) {\n        return logEvent.events;\n      }).flatMap(_baconjs2['default'].fromArray)\n      // event to message\n      .map(function (event) {\n        if (startTime < event.timestamp) {\n          startTime = event.timestamp + 1;\n        }\n        return event.message.replace(/[\\n\\r\\t]+$/, '');;\n      })\n      // message to message entity\n      .map(function (message) {\n        return new _entitiesMessageJs2['default'](message);\n      });\n      // return stream\n      stream.stop = function () {\n        scheduler.stop();\n      };\n      return stream;\n    }\n  }]);\n\n  return LambdaLogsStream;\n})();\n\nexports['default'] = LambdaLogsStream;\nmodule.exports = exports['default'];"]}