Instantly share code, notes, and snippets.

View ahre.js
// Stato - State managment - Since javascript is non-reactive
function createStore(reducer, initialState) {
var store = {};
store.state = initialState;
store.listeners = [];
function subscribe(listener) {
store.listeners.push(listener);
}
View component.js
import React from 'react';
class Component extends React.Component {
constructor() {
super();
this.state = {
data: [],
};
}
View importer.js
import {client as clientPlugins} from 'pluginsConfig';
function importer () {
let context,
importedFiles;
function buildContext() {
/**
* buildContext creates the context for the plugins
* require.context(<path>, true, <regexp>
View gist:fb2cba26ca0b7c4aad7ba071816718e8
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH=/Users/bel/.oh-my-zsh
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="robbyrussell"
View immutablejs.md

InmutableJS

InmutableJS is a library from Facebook that provides a series of inmutable data structures. They are always immutable. The reference to them can change but the data inside of them cannot which means you can build predictable and reliable state models. And it becomes really easy to manage your application state. Immutable.js

More about Immutable Data and React React.js Conf 2015 - Immutable Data and React - YouTube

Why ImmutableJS?

  • Immutable Data is faster
  • Tracking mutation and Maintaining state is difficult
  • Encourages you to think differently about how data flows through your application
View get-middle.clj
(defn get-middle [x]
(if (odd? (count x))
(subs x (Math/floor (/ (count x) 2.0)) (+ (Math/floor (/ (count x) 2.0)) 1))
(subs x (- (/ (count x) 2.0) 1)(+ (/ (count x) 2.0) 1))
))
;; Better
(defn is-even [s] (= 0 (mod (count s) 2)))
(defn mid [s] (int (Math/ceil (/ (count s) 2))))
View gist:60569e218211baf3c4d643d3eb529820
var s = "JavaScript syntax highlighting";
alert(s);
```javascript
componentDidMount() {
  const contNode = this.refs.cont;
  // Do stuff!
}
```
View keybase.md

Keybase proof

I hereby claim:

  • I am okbel on github.
  • I am okbel (https://keybase.io/okbel) on keybase.
  • I have a public key whose fingerprint is FF23 2330 AD41 61EE FBD5 F420 D8F3 259E DBB9 3FCD

To claim this, I am signing this object: