Skip to content

Instantly share code, notes, and snippets.

View pujansrt's full-sized avatar

Pujan Srivastava pujansrt

View GitHub Profile
@pujansrt
pujansrt / dispatcher.component.ts
Last active December 28, 2016 07:58 — forked from sasxa/emitter.service.ts
Angular2 Communicating between sibling components
import {Component, Input, OnChanges} from "@angular/core";
import {EmitterService} from "../services/emitter.service";
@Component({ selector: 'dispatcher', template: '' })
export class DispatcherComponent implements OnChanges {
@Input() id: string;
value = "dispatcher component value";
ngOnChanges() {
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style id="jsbin-css">
.ace_breakpoint { /* our rectangle */
width:50px;
height:16px;
@pujansrt
pujansrt / flagButton.html
Last active October 3, 2017 02:31 — forked from anonymous/index.html
Flag
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<script src="_so/js?" id="so"></script>
<meta charset="utf-8">
<script src="https://code.jquery.com/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
@pujansrt
pujansrt / stringToColor.js
Last active July 24, 2018 11:47
Converts String into Color Code
//var md5 = function(s){function L(k,d){return(k<<d)|(k>>>(32-d))}function K(G,k){var I,d,F,H,x;F=(G&2147483648);H=(k&2147483648);I=(G&1073741824);d=(k&1073741824);x=(G&1073741823)+(k&1073741823);if(I&d){return(x^2147483648^F^H)}if(I|d){if(x&1073741824){return(x^3221225472^F^H)}else{return(x^1073741824^F^H)}}else{return(x^F^H)}}function r(d,F,k){return(d&F)|((~d)&k)}function q(d,F,k){return(d&k)|(F&(~k))}function p(d,F,k){return(d^F^k)}function n(d,F,k){return(F^(d|(~k)))}function u(G,F,aa,Z,k,H,I){G=K(G,K(K(r(F,aa,Z),k),I));return K(L(G,H),F)}function f(G,F,aa,Z,k,H,I){G=K(G,K(K(q(F,aa,Z),k),I));return K(L(G,H),F)}function D(G,F,aa,Z,k,H,I){G=K(G,K(K(p(F,aa,Z),k),I));return K(L(G,H),F)}function t(G,F,aa,Z,k,H,I){G=K(G,K(K(n(F,aa,Z),k),I));return K(L(G,H),F)}function e(G){var Z;var F=G.length;var x=F+8;var k=(x-(x%64))/64;var I=(k+1)*16;var aa=Array(I-1);var d=0;var H=0;while(H<F){Z=(H-(H%4))/4;d=(H%4)*8;aa[Z]=(aa[Z]| (G.charCodeAt(H)<<d));H++}Z=(H-(H%4))/4;d=(H%4)*8;aa[Z]=aa[Z]|(128<<d);aa[I-2]=F<<3;aa[I-1]=
async getUrlInfo(url: string) {
const reg = new RegExp("https?://([a-z0-9]+[.])*.?ea[.]com");
const reg2 = new RegExp("^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$");
async function reachability() {
const responseReachable: any = await fetch(url, {method: 'HEAD'}).catch(() => false);
return responseReachable.status === 200;
}
return {
@pujansrt
pujansrt / generatePassword.js
Last active March 24, 2019 06:23
Generate Random Password (JS)
const alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".split('');
function generatePassword(L){
return Array.from({length: L})
.map(i => alphabet[Math.floor(Math.random() * alphabet.length)])
.join("")
}
console.log(generatePassword(14));
@pujansrt
pujansrt / dynamic_orderBy.sql
Last active March 24, 2019 06:24
Dynamic Order by (SQL)
-- Make sure whatever _order is passed, is selected in SELECT.
@delimiter %%%;
CREATE PROCEDURE prime1(_order VARCHAR(32)) NOT DETERMINISTIC READS SQL DATA
BEGIN
SET @order = _order;
SELECT ID, TITLE, SUMMARY FROM articles a ORDER BY
CASE WHEN _order = 'SUMMARY ASC' THEN SUMMARY END ASC,
CASE WHEN _order = 'ID ASC' THEN ID END ASC,
CASE WHEN _order = 'TITLE ASC' THEN TITLE END ASC,
@pujansrt
pujansrt / index.html
Last active March 24, 2019 06:27 — forked from anonymous/index.html
Pagination (HTML, JS)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style id="jsbin-css">
#pagination {
display: inline-block;
vertical-align: middle;
@pujansrt
pujansrt / draggable.html
Last active March 24, 2019 06:28
Draggable (HTML, JS)
<!DOCTYPE html>
<html>
<head>
<link href="https://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/jquery-1.8.3.js"></script>
<script src="https://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
@pujansrt
pujansrt / asyn_await_best_practices.js
Created March 17, 2019 17:11
Async Await Best Pratices
// The Async/Await section spreads some misinformation and bad practices. It explains that try/catch must be used whenever an await expression is used, but that is not the case. For example, this snippet:
function getGithubUser(username) {
return new Promise((resolve, reject) => {
fetch(`https://api.github.com/users/${username}`)
.then(response => {
const user = response.json();
resolve(user);
})
.catch(err => reject(err));