Skip to content

Instantly share code, notes, and snippets.

@abinavseelan
abinavseelan / proxyObject.js
Created December 22, 2017 11:44
Proxy Object - 3
const handler = {
get: function(obj, prop) {
console.log('A value has been accessed');
return obj[prop];
},
set: function(obj, prop, value) {
console.log(`${prop} is being set to ${value}`);
}
}
@abinavseelan
abinavseelan / proxyObject.js
Created December 22, 2017 11:53
Proxy Object - Private Properties
const handler = {
get: function(obj, prop) {
if (prop === 'id') { // Check if the id is being accessed
throw new Error('Cannot access private properties!'); // Throw an error
} else {
return obj[prop]; // If it's not the id property, return it as usual
}
}
}
@abinavseelan
abinavseelan / proxyObject.js
Created December 22, 2017 12:00
Proxy Object - Validations
const handler = {
set: function(obj, prop, value) {
if (typeof value !== 'string') {
throw new Error('Only string values can be stored in this object!');
} else {
obj[prop] = value;
}
}
}
const express = require('express');
const app = express();
const port = 3000;
app.get('/ping', (req, res) => {
res.send('Pong!');
});
app.get('/status', (req, res) => {
res.send('Ok');
const request = require('supertest');
const app = require('../server');
describe('Test /ping', () => {
it ('should return Pong!', async () => {
const response = await request(app).get('/ping');
expect(response.text).toBe('Pong!');
});
});
const request = require('supertest');
const app = require('../server/demo-server');
describe('Test /status', () => {
it('should return Ok', async () => {
const response = await request(app).get('/status');
expect(response.text).toBe('Ok');
});
});
const express = require('express');
const app = express();
const port = 3000;
app.get('/ping', (req, res) => {
res.send('Pong!');
});
app.get('/status', (req, res) => {
res.send('Ok');
import React from 'react';
import { render } from 'react-dom';
import { BrowserRouter } from 'react-router-dom';
import Routes from '../shared/routes';
const App = () => (
<BrowserRouter>
<Routes />
</BrowserRouter>
import React from 'react';
import { Switch, Route } from 'react-router-dom';
import Feed from './containers/Feed';
import PostView from './containers/PostView';
const Routes = () => (
<Switch>
<Route exact path="/" component={Feed} />
<Route path="/:slug" component={PostView} />
import React from 'react';
import ReactDOMServer from 'react-dom/server';
import { StaticRouter } from 'react-router-dom';
import Routes from '../shared/routes';