Skip to content

Instantly share code, notes, and snippets.

@senthilmpro
senthilmpro / async-time-delay.js
Created May 3, 2018 17:11
Asynchronously (await) delay timer
function delay(timeout) {
return new Promise((resolve) => {
setTimeout(resolve, timeout);
});
}
/**
* then use it like this.
* async function f1() {
* await delay(3000);
@senthilmpro
senthilmpro / script-replace-selector-content.js
Created May 3, 2018 17:10
Replace HTML Selector inner text/ content via Google Puppeteer script
async function setSelectVal(sel, val) {
await page.evaluate((data) => {
// this innerHTML can be replaced with .value (based on HTML type)
return document.querySelector(data.sel).innerHTML = data.val;
}, {sel, val});
}
@senthilmpro
senthilmpro / download-file-axios.js
Last active April 27, 2024 05:26
Download files using Axios.js
/**
* Download files and save it to disk using axios.js
* Download images, zip files using this function
*
* @param {Request URL} reqUrl
* @param {File name} fileName
*/
function downloadFile(reqUrl, fileName){
axios({
method: "GET",
@senthilmpro
senthilmpro / mongo-db-connect.js
Created November 27, 2018 22:34
Node.js MongoDB connect
var db = null // global variable to hold the connection
MongoClient.connect('mongodb://localhost:27017/', function(err, client) {
if(err) { console.error(err) }
db = client.db('test') // once connected, assign the connection to the global variable
})
app.get('/', function(req, res) {
db.collection('test').find({}).toArray(function(err, docs) {
if(err) { console.error(err) }
@senthilmpro
senthilmpro / host-local-files.js
Created March 28, 2019 04:25
host local files serve-index
var express = require('express'),
directory = require('serve-index'),
app = new express();
var hourMs = 1000*60*60;
app.use(express.static(__dirname + '/public', { maxAge: hourMs }));
app.use(directory(__dirname + '/public', { 'view' : 'details'}));
app.listen(4433);
@senthilmpro
senthilmpro / create-acc-arch1ve-new.js
Last active April 27, 2024 05:26
create-acc-arch1ve-new.js
async function createAccount(){
var USER_PREFIX = 'USERNAME'; // change here.
var USER_PASS = 'PASSWORD'; // change-here
var TIMER_DELAY = 400;
// username
await delay(TIMER_DELAY);
var randomGuid = guid();
@senthilmpro
senthilmpro / fastify-server.js
Created April 16, 2019 22:01
fastify-server setup
const fastify = require('fastify')({ logger: true });
const axios = require('axios');
const path = require('path');
const routes = require('./routes/route');
//console.log(route);
routes.forEach((route, index) => {
fastify.route(route)
});
@senthilmpro
senthilmpro / deep-flatten-array-js.js
Created October 23, 2019 18:55
Deep Flatten Array - Javascript
function deepFlatten(arr){
return [].concat.apply([], arr.map(x => Array.isArray(x) ? deepFlatten(x) : x));
}
@senthilmpro
senthilmpro / delay-es6.js
Created November 12, 2019 02:57
es6-javascript-wait-function-promise
/**
* Sets a delay for 'wait' milliseconds
* @param {Number} wait - wait time in milliseconds
*/
let delay = async (wait) => {
console.log(`Waiting for ${wait} milliseconds`);
return new Promise(p => setTimeout(p, wait));
}
@senthilmpro
senthilmpro / angular-keypress-together.js
Created November 21, 2019 06:46
angular-keypress-together.js
export class AppComponent {
title = 'ui';
keys = {
space : false,
ctrl : false
}
@HostListener('window:keydown', ['$event'])
keyEventDown(event: KeyboardEvent) {
if(event.keyCode === 17){