Skip to content

Instantly share code, notes, and snippets.

View uditalias's full-sized avatar
🧙

Udi Talias ⚛️ uditalias

🧙
View GitHub Profile
@uditalias
uditalias / consolelog.override.js
Last active December 9, 2015 19:28
A good way to override the `console.log` function in the browser, Yet preserved the original functionality of the function. In this example I want to send any `console.log` call to my Node.js/Socket.io server.
(function(){
//saving the original console.log function
var preservedConsoleLog = console.log;
//overriding console.log function
console.log = function() {
//we can't just call to `preservedConsoleLog` function,
//that will throw an error (TypeError: Illegal invocation)
//because we need the function to be inside the
@uditalias
uditalias / jQuery.Handlebars.plugin.js
Created January 8, 2013 12:06
A fix to Handlebars jQuery plugin from: http://blog.teamtreehouse.com/handlebars-js-part-3-tips-and-tricks. When using the original plugin, we must load our template from a <script> tag, if we want to load it from a JavaScript variable the problem is that the parent element of our template wont be included in the result. I changed the line: temp…
(function ($) {
var compiled = {};
$.fn.handlebars = function (template, data) {
if (template instanceof jQuery) {
template = $("<div />").append($(template).clone()).html();
}
compiled[template] = Handlebars.compile(template);
this.html(compiled[template](data));
};
})(jQuery);
@uditalias
uditalias / App.js
Last active February 2, 2017 19:51
Mobx `inject()` + `observe()` in one comfortable function = `mobxify()`
import React, {Component} from 'react'
import {View, Text} from 'react-native'
import {mobxify} from 'utils'
class App extends Component {
render() {
return (
<View>
<Text>mobxify is awesome!</Text>
</View>
@uditalias
uditalias / facebook.js
Created September 4, 2017 19:03
Fetch data from facebook API
var https = require('https');
exports.get = function(accessToken, apiPath, callback) {
// creating options object for the https request
var options = {
// the facebook open graph domain
host: 'graph.facebook.com',
// secured port, for https
port: 443,
@uditalias
uditalias / ADHDHelpers.js
Created September 5, 2017 08:02
ADHD module
const ADHDHelpers = (function () {
let module = {
scrollTop: 0,
isDisabled: false,
shouldDisplayScrollbar: false,
@uditalias
uditalias / quickey_languages_in_bytes.json
Created February 21, 2019 11:15
GitHub API repository languages response
{
"TypeScript": 57718,
"JavaScript": 11731,
"CSS": 2708,
"HTML": 899
}
<svg width="100px" height="120px" viewBox="0 0 100 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(0.000000, -10.000000)">
<circle fill="#FFDA76" cx="51" cy="51" r="32"></circle>
<g transform="translate(45.000000, 27.000000)" fill="#000000">
<path d="M6,0 L6,0 C7.65685425,-3.04359188e-16 9,1.34314575 9,3 L9,21 C9,22.6568542 7.65685425,24 6,24 L6,24 C4.34314575,24 3,22.6568542 3,21 L3,3 C3,1.34314575 4.34314575,3.04359188e-16 6,0 Z"></path>
<circle cx="6" cy="24" r="6"></circle>
</g>
<path d="M51,87 C70.882251,87 87,70.882251 87,51 C87,31.117749 70.882251,15 51,15 C31.117749,15 15,31.117749 15,51" stroke="#000000" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" transform="translate(51.000000, 51.000000) rotate(-45.000000) translate(-51.000000, -51.000000) "></path>
import { RouteModel, validationParam, validator } from "appolo";
import { enumValues } from "../../common/utils";
import { GaugeType, OutputFormat } from "../../common/enums";
import { TEN_MINUTES_IN_SECONDS } from "../../common/constants";
export class LangaugeModel extends RouteModel {
// Git repository owner
@validationParam(validator.string().required())
owner: string;
import { controller, Controller, inject, get, IRequest, IResponse, validation } from "appolo";
import { LangaugeModel } from "./langaugeModel";
import { LangaugeManager } from "../../managers/langaugeManager";
import { OutputFormatContentType } from "../../common/enums";
import { promisify } from "util";
import * as zlib from "zlib";
const gzip = promisify<Buffer, Buffer>(zlib.gzip);
@controller()
@cache({ maxAge: TEN_MINUTES_IN_MILLISECONDS, multi: true })
public async generate(owner: string, repo: string, options: ILangaugeOptions): Promise<Buffer> {
try {
const createRenderer = this.rendererCreators[options.type];
let languages = await this.githubService.getRepositoryLanguages(owner, repo);
if (options.threshold) {
languages = this.thresholdLanguagesFilter(languages, options.threshold);