From 4fe675b24dfdcb8eba2b8d03f573faaaa50b3bdb Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Sat, 18 Mar 2023 01:49:50 +0300 Subject: [backup] 2023 update: modernize code * Yarn -> NPM * node:url -> WHATWG URL API * lodash/each -> Array.forEach * node-fetch -> Node 18 Fetch API --- backup/index.js | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'backup/index.js') diff --git a/backup/index.js b/backup/index.js index 049c5bb9..fccc4439 100644 --- a/backup/index.js +++ b/backup/index.js @@ -1,26 +1,23 @@ var argv = require('minimist')(process.argv.slice(2)); -var fetch = require('node-fetch'); -var _ = require('lodash'); -var url = require('url'); if (typeof argv.u !== "string") { console.log("username must be specified (-u ugnich)"); - return; + process.exit(1); } var messages = []; function getBlogData(blogUrl, callback) { - fetch(url.format(blogUrl)) + fetch(blogUrl) .then(function(res) { return res.json() }) .then(function(msgs) { - _.each(msgs, function(message) { + msgs.forEach(function(message) { messages.push(message); }); if (msgs.length == 20) { - blog.query.before_mid = msgs.slice(-1).pop().mid; + blog.searchParams.set("before_mid", msgs.slice(-1).pop().mid); setTimeout(getBlogData, 1000, blog, callback); } else { callback(); @@ -28,8 +25,8 @@ function getBlogData(blogUrl, callback) { }); }; -var blog = url.parse("https://api.juick.com/messages", true); -blog.query.uname = argv.u; +var blog = new URL("https://api.juick.com/messages"); +blog.searchParams.append("uname", argv.u); getBlogData(blog, function() { console.log(JSON.stringify(messages)); -- cgit v1.2.3