Skip to content

Instantly share code, notes, and snippets.

View sbekrin's full-sized avatar

Sergey Bekrin sbekrin

View GitHub Profile
function compareBy<T>(predicate: (item: T) => any) {
return function compareByObjectField(a: T, b: T) {
return String(predicate(a)).localeCompare(String(predicate(b)));
};
}
@sbekrin
sbekrin / intercept-emitter-event.js
Created January 14, 2019 19:27
EventEmitter Event Interception
const EventEmitter = require('events');
const emitter = new EventEmitter();
emitter.once('newListener', type => {
emitter.once(type, value => {
emitter.emit(type, value + ' changed');
});
});
emitter.once('foo', console.log);
// This setup file allows to connect to local
// firestore emualtor for testing purposes
beforeAll(() => {
jest.doMock('@google-cloud/firestore', () => {
const firestore = require.requireActual('@google-cloud/firestore');
class Firestore extends firestore.Firestore {
_decorateRequest(request) {
const result = super._decorateRequest(request);
result.gax.otherArgs.headers['Authorization'] = 'Bearer owner';
@sbekrin
sbekrin / Prevent-accident-action.markdown
Created February 26, 2015 06:50
Prevent accident action

Prevent accident action

Everyone hates accident actions (like file removement). You will think twice while holding this action button!

A Pen by Sergey Berkin on CodePen.

License.