Skip to content

Instantly share code, notes, and snippets.

View muralikrishnat's full-sized avatar

Muralikrishna T muralikrishnat

View GitHub Profile
@muralikrishnat
muralikrishnat / basic-function.js
Created September 30, 2020 14:34
NodeJS API creation
module.exports = {
name: 'basic',
'get': function() {
},
'post': function({
request,
response,
sendResponseObj,
db,
@muralikrishnat
muralikrishnat / deepClone.js
Created June 5, 2020 21:41
Object deep clone in Javascript
// Object deep clone
var deepClone = (src) => {
let objToReturn = {};
Object.keys(src).forEach(item => {
if (typeof src[item] === 'object' && !(src[item] instanceof Array)) {
objToReturn[item] = deepClone(src[item]);
} else {
if (typeof src[item] === 'object' && src[item] instanceof Array) {
objToReturn[item] = [...src[item]];
} else {
@muralikrishnat
muralikrishnat / index.js
Created February 3, 2020 09:41
Simple PubSub service file
import { pubSub } from '../../services/pubsub.service';
//subscribe the event for pageloader to listen the event
pubSub.subscribe('pageloader', (event) => {
if (event.show) {
this.setState({
isLoading: true
});
} else {
this.setState({
@muralikrishnat
muralikrishnat / isDescendent.js
Created May 29, 2019 18:09
To check element is descendant of parent element
/* Returns true incase of `child` element is child element of `parent` element */
function isDescendant(parent, child) {
let node = child.parentNode;
while (node != null) {
if (node == parent) {
return true;
}
node = node.parentNode;
}
return false;
@muralikrishnat
muralikrishnat / to-words.js
Created April 14, 2018 19:04
Converting number into word string
var a = ['','one ','two ','three ','four ', 'five ','six ','seven ','eight ','nine ','ten ','eleven ','twelve ','thirteen ','fourteen ','fifteen ','sixteen ','seventeen ','eighteen ','nineteen '];
var b = ['', '', 'twenty','thirty','forty','fifty', 'sixty','seventy','eighty','ninety'];
function inWords (num) {
if ((num = num.toString()).length > 9) return 'overflow';
n = ('000000000' + num).substr(-9).match(/^(\d{2})(\d{2})(\d{2})(\d{1})(\d{2})$/);
if (!n) return; var str = '';
str += (n[1] != 0) ? (a[Number(n[1])] || b[n[1][0]] + ' ' + a[n[1][1]]) + 'crore ' : '';
str += (n[2] != 0) ? (a[Number(n[2])] || b[n[2][0]] + ' ' + a[n[2][1]]) + 'lakh ' : '';
str += (n[3] != 0) ? (a[Number(n[3])] || b[n[3][0]] + ' ' + a[n[3][1]]) + 'thousand ' : '';
@muralikrishnat
muralikrishnat / fe-server.js
Created December 25, 2017 10:25
Node JS script as static server and proxy server
var static = require('node-static');
var rootRequest = require('request');
var fs = require('fs');
var path = require('path');
var buildInProgress = false;
module.exports = function(options) {
console.log('options', options);
var baseUrl = 'https://dev.azurewebsites.net';
@muralikrishnat
muralikrishnat / basic-templating.html
Last active March 4, 2017 19:10
Secret of Javascript Templating
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
@muralikrishnat
muralikrishnat / index.html
Created March 3, 2017 10:32
Concept of Virtual DOM
<!DOCTYPE html>
<html lang="en">
<head>
<title>Creating Virtual DOM</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div id="root"></div>
<script>
@muralikrishnat
muralikrishnat / app.js
Last active August 30, 2022 05:42
Achieving routing using pure Javascript
var App = {};
var addRoutes = function () {
$NB.addRoute('/books/:id', function (params) {
console.log('Route is ', params.Title, params.id);
}, 'books');
$NB.addRoute('/:category/:id', function (params) {
console.log('Route is ', params.Title, params.category, params.id);
}, 'category');
@muralikrishnat
muralikrishnat / index.html
Created September 23, 2015 10:20
Two way binding for text with simple example using Javascript
<html>
<head>
<title>Behind the scenes of Two Way binding simple example for text</title>
<!-- Adding JS reference -->
<script src="two-way-binding.js"></script>
</head>
<!-- Invoking the binding Manager after completion of DOM load-->
<body onload="bindManager.init()">
<div class="demo-page">