{"version":3,"sources":["jsdelivr-header.js","/npm/linky-cli@1.1.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;ACLA,aAEA,MAAM,KAAO,QAAQ,QACf,MAAQ,QAAQ,gBAChB,MAAQ,QAAQ,SAChB,IAAM,QAAQ,OAEd,QAAU,QAAQ,iBAClB,QAAU,QAAQ,iBAClB,KAAO,QAAQ,cACf,SAAW,QAAQ,kBAEnB,EAAI,KAAK,wlBAiBZ,CACF,aAAa,EACb,MAAO,CACN,KAAM,CAAC,KAAM,SAAU,MAAO,KAC9B,SAAU,CAAC,KAAM,SAAU,MAAO,KAClC,OAAQ,CAAC,KAAM,SAAU,MAAO,KAChC,MAAO,CAAC,KAAM,SAAU,MAAO,KAC/B,IAAK,CAAC,KAAM,SAAU,MAAO,QAS/B,eAAe,KAAK,SACb,QAAQ,GAEd,MAAM,EAAmB,SAAS,GAC9B,EAAiB,QACpB,QAAQ,MAAM,MAAM,IAAI,EAAiB,UACzC,EAAI,WACJ,QAAQ,KAAK,IAGd,IAAI,EAAO,KACX,MAAM,EAAU,MAAM,MAAM,0BAC5B,IACC,QAAa,QAAQ,GACrB,EAAQ,QAAQ,wBACjB,CAAE,MAAO,GAER,MADA,EAAQ,KAAK,+BACP,CACP,CACA,GAAI,EAAI,MAAM,OAAQ,CACrB,EAAQ,MAAM,kBACd,UACO,KAAK,EAAM,EAAI,MAAM,QAC3B,EAAQ,QAAQ,YAAc,EAAI,MAAM,OACzC,CAAE,MAAO,GAER,MADA,EAAQ,KAAK,4BACP,CACP,CACD,CAEA,QAAQ,EACT,CAEA,eAAe,QAAQ,GACtB,MAAM,QAAgB,MAAM,MAAM,EAAE,MAAM,KAAM,EAAE,MAAM,UACxD,IAAI,EACJ,OAAQ,EAAE,MAAM,IACf,IAAK,OACJ,QAAa,EAAQ,cAAc,EAAE,OACrC,MACD,IAAK,MACJ,QAAa,EAAQ,aAAa,EAAE,OACpC,MACD,IAAK,QACJ,QAAa,EAAQ,eAAe,EAAE,OACtC,MACD,IAAK,OACJ,QAAa,EAAQ,cAAc,EAAE,OACrC,MACD,QACC,MAAM,IAAI,MAAM,qBAAqB,EAAE,MAAM,MAE/C,OAAO,CACR,CA1DA,KAAK,GAAG,OAAM,IACb,QAAQ,MAAM,MAAM,IAAI,IACxB,QAAQ,KAAK,EAAE","file":"/npm/linky-cli@1.1.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/linky-cli@1.1.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","#!/usr/bin/env node\n'use strict';\n\nconst meow = require('meow');\nconst linky = require('@bokub/linky');\nconst chalk = require('chalk');\nconst ora = require('ora');\n\nconst display = require('./src/display');\nconst inquire = require('./src/inquire');\nconst save = require('./src/save');\nconst validate = require('./src/validate');\n\nconst c = meow(`\n    Usage\n      $ linky [(hour|day|month|year)] [options]\n\n    Options\n      --user        -u    Linky client area e-mail\n      --password    -p    Linky client area password\n      --output      -o    Export data to JSON file\n      --start       -s    Start of the custom time period (DD/MM/YYYY)\n      --end         -e    End of the custom time period (DD/MM/YYYY)\n\n    Examples\n      $ linky\n      $ linky year\n      $ linky month -u me@example.com\n      $ linky day -s 24/08/2018 -e 06/09/2018\n      $ linky hour -u me@example.com -p password123 -o ../export/hourly-data.json\n`, {\n\tdescription: false,\n\tflags: {\n\t\tuser: {type: 'string', alias: 'u'},\n\t\tpassword: {type: 'string', alias: 'p'},\n\t\toutput: {type: 'string', alias: 'o'},\n\t\tstart: {type: 'string', alias: 's'},\n\t\tend: {type: 'string', alias: 'e'}\n\t}\n});\n\nmain(c).catch(err => {\n\tconsole.error(chalk.red(err));\n\tprocess.exit(1);\n});\n\nasync function main(cli) {\n\tawait inquire(cli);\n\n\tconst validationResult = validate(cli);\n\tif (validationResult.error) {\n\t\tconsole.error(chalk.red(validationResult.message));\n\t\tcli.showHelp();\n\t\tprocess.exit(1);\n\t}\n\n\tlet data = null;\n\tconst spinner = ora().start('Retrieving consumption');\n\ttry {\n\t\tdata = await getData(cli);\n\t\tspinner.succeed('Consumption retrieved');\n\t} catch (e) {\n\t\tspinner.fail('Cannot retrieve consumption');\n\t\tthrow (e);\n\t}\n\tif (cli.flags.output) {\n\t\tspinner.start('Saving to file');\n\t\ttry {\n\t\t\tawait save(data, cli.flags.output);\n\t\t\tspinner.succeed('Saved to ' + cli.flags.output);\n\t\t} catch (e) {\n\t\t\tspinner.fail('Cannot save data to file');\n\t\t\tthrow (e);\n\t\t}\n\t}\n\n\tdisplay(data);\n}\n\nasync function getData(i) {\n\tconst session = await linky.login(i.flags.user, i.flags.password);\n\tlet data;\n\tswitch (i.input[0]) {\n\t\tcase 'hour':\n\t\t\tdata = await session.getHourlyData(i.flags);\n\t\t\tbreak;\n\t\tcase 'day':\n\t\t\tdata = await session.getDailyData(i.flags);\n\t\t\tbreak;\n\t\tcase 'month':\n\t\t\tdata = await session.getMonthlyData(i.flags);\n\t\t\tbreak;\n\t\tcase 'year':\n\t\t\tdata = await session.getYearlyData(i.flags);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown resource: ${i.input[0]}`);\n\t}\n\treturn data;\n}\n"]}