Skip to content

Instantly share code, notes, and snippets.

View sagar-gavhane's full-sized avatar
🏠
Working from home

Sagar sagar-gavhane

🏠
Working from home
View GitHub Profile
@sagar-gavhane
sagar-gavhane / difference.js
Created July 27, 2018 09:15 — forked from Yimiprod/difference.js
Deep diff between two object, using lodash
/**
* Deep diff between two object, using lodash
* @param {Object} object Object compared
* @param {Object} base Object to compare with
* @return {Object} Return a new object who represent the diff
*/
function difference(object, base) {
function changes(object, base) {
return _.transform(object, function(result, value, key) {
if (!_.isEqual(value, base[key])) {
@sagar-gavhane
sagar-gavhane / InfiniteScrollbar.js
Last active August 8, 2018 14:06
Simple infinite scrollbar with react
import React from 'react';
import ReactDOM from 'react-dom';
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
posts: [],
isLoading: false,
offset: 0,
@sagar-gavhane
sagar-gavhane / authorize.js
Created September 2, 2018 10:05 — forked from kndt84/authorize.js
Sample code: how to refresh session of Cognito User Pools with Node.js and Express
const AWS = require('aws-sdk');
const CognitoUserPool = require('amazon-cognito-identity-js-node').CognitoUserPool;
const CognitoUserSession = require('amazon-cognito-identity-js-node').CognitoUserSession;
const CognitoUser = require('amazon-cognito-identity-js-node').CognitoUser;
const CognitoIdToken = require('amazon-cognito-identity-js-node').CognitoIdToken;
const CognitoAccessToken = require('amazon-cognito-identity-js-node').CognitoAccessToken;
const CognitoRefreshToken = require('amazon-cognito-identity-js-node').CognitoRefreshToken;
const cfg = require('config').config;
const COGNITO_IDENTITY_POOL_ID = cfg.COGNITO_IDENTITY_POOL_ID;
@sagar-gavhane
sagar-gavhane / Car.jsx
Created September 19, 2018 13:12
Car component
import React, { Component } from 'react';
import reactLogger from './reactLogger';
const cars = [
{ id: 1, brand: 'Maruti Suzuki', model: 'Alto', year: '2017' },
{ id: 2, brand: 'Honda', model: 'City', year: '2018' },
{ id: 3, brand: 'Tata', model: 'Bolt', year: '2015' },
{ id: 4, brand: 'Ford', model: 'Classic', year: '2013' },
{ id: 5, brand: 'BMW', model: '5 Series', year: '2018' },
];
@sagar-gavhane
sagar-gavhane / reactLogger2.jsx
Created September 19, 2018 13:12
reactLogger2
export default (
label,
componentName,
prevProps,
nextProps,
prevState,
nextState
) => {
const groupLabel =
(componentName && `[${label || "react-logger"} - <${componentName} />]`) ||
@sagar-gavhane
sagar-gavhane / introrx.md
Created September 20, 2018 12:57 — forked from staltz/introrx.md
The introduction to Reactive Programming you've been missing
@sagar-gavhane
sagar-gavhane / utils.js
Created October 2, 2018 17:06
javascript utility functions
'use strict';
function bind(fn, thisArg) {
return function wrap() {
var args = new Array(arguments.length);
for (var i = 0; i < args.length; i++) {
args[i] = arguments[i];
}
return fn.apply(thisArg, args);
};
@sagar-gavhane
sagar-gavhane / enzyme-testing.js
Created October 4, 2018 13:26
Enzyme testing
import React from 'react';
import EnzymeConfig from './../../../enzyme';
import { shallow } from 'enzyme';
import Alert from './Alert';
EnzymeConfig();
describe('Alert component testing', () => {
// 1. alert-primary
@sagar-gavhane
sagar-gavhane / react-render-props-pattern.jsx
Created October 9, 2018 17:09
React render props pattern
class App extends Component {
render() {
return (
<React.Fragment>
<h1>Currency Converter</h1>
<Amount
render={data => {
return (
<React.Fragment>
<Euro amount={data.amount} />
@sagar-gavhane
sagar-gavhane / AppPropTypes.jsx
Created October 10, 2018 17:00
prop types and default props types inside <App /> components.
class App extends Component {
static propTypes = {
title: propTypes.string,
};
static defaultProps = {
title: 'app works from default props',
}
render() {