Skip to content

Instantly share code, notes, and snippets.

Maks Nemisj nemisj

View GitHub Profile
View parse-json-config.js
'use strict';
const parse = require('json-safe-parse');
module.exports = (str) => {
let json = str;
if (typeof str === 'string') {
const toParse = str.trim();
if (toParse !== '') {
View keybase.md

Keybase proof

I hereby claim:

  • I am nemisj on github.
  • I am maksnemisj (https://keybase.io/maksnemisj) on keybase.
  • I have a public key whose fingerprint is BFC7 DC90 68C6 9FE4 862F 5642 3E55 5364 7EBD C494

To claim this, I am signing this object:

@nemisj
nemisj / no-strict.js
Last active Aug 24, 2016
Const implementations in node.js
View no-strict.js
/*
node: v4.4.7 - MMMM
node: v5.12.0 - MMMM
node: v6.3.1 - Maks
*/
const s = 'Maks';
for (var i = 0;i < s.length; i++) {
const ch = s.charAt(i);
console.log('ch:' + ch);
View create-mock-context.js
const createMockActionContext = require('fluxible/utils').createMockActionContext;
module.exports = function (opts, contextMethods) {
const mockContext = createMockActionContext(opts);
const dispatcher = mockContext.dispatcherContext.dispatcher;
mockContext.dispatcherContext = dispatcher.createContext(contextMethods);
return mockContext;
}
@nemisj
nemisj / git-remove-stale
Last active Sep 10, 2015
Remove branches which are no more on remote
View git-remove-stale
#!/usr/bin/env python
import subprocess
import re
import argparse
parser = argparse.ArgumentParser(description="Remove local branches, which are no longer available in the remote")
parser.add_argument("--do-it", action='store_true', help="Remove branches")
parser.add_argument("--remote", default="origin", help="Remote name")
args = parser.parse_args()
View promise-some.js
function someAsPromise(arr, cb) {
var index = -1;
var run = function () {
index++;
if (index < arr.length) {
return cb(arr[index]).then(function (val) {
if (val === true) {
return true;
} else {
@nemisj
nemisj / post-css-index.js
Last active Aug 29, 2015
Diff between async and yield-yield versions of postcss-cli
View post-css-index.js
function processCSS(processor, input, output, fn) {
function doProcess(css, fn) {
function onResult(result) {
if (typeof result.warnings === 'function') {
result.warnings().forEach(console.error);
}
fn(null, result.css);
}
@nemisj
nemisj / bitwise.js
Created May 13, 2015
How to do bitwise AND in javascript on variables that are longer than 32 bit
View bitwise.js
// taken from http://stackoverflow.com/questions/3637702/how-to-do-bitwise-and-in-javascript-on-variables-that-are-longer-than-32-bit
function BitwiseAndLarge(val1, val2) {
var shift = 0, result = 0;
var mask = ~((~0) << 30); // Gives us a bit mask like 01111..1 (30 ones)
var divisor = 1 << 30; // To work with the bit mask, we need to clear bits at a time
while( (val1 != 0) && (val2 != 0) ) {
var rs = (mask & val1) & (mask & val2);
val1 = Math.floor(val1 / divisor); // val1 >>> 30
val2 = Math.floor(val2 / divisor); // val2 >>> 30
View convert-to-es5.sh
#!/usr/bin/env bash
# this script will convert every file using babel
# in the lib folder which ends with es6.js
# and put it into the same folder using es5 prefix
# so lib/bla.es6.js will become lib/bla.es5.js
files=$(ls ./lib/*.es6.js);
for file in $files; do
new_file=$(echo $file | sed -e "s/es6/es5/")
@nemisj
nemisj / index-correct.jsx
Last active Feb 16, 2017
Conditional comments for IE in react.js
View index-correct.jsx
renderHead() {
return (
var comment = '<!--[if lte IE 9]><script src="/public/media.match.js"></script><![endif]-->';
<head>
<title>Website title</title>
<meta name="react-comment-hack"
dangerouslySetInnerHTML={{__html: comment}}>
</meta>
</head>
);
You can’t perform that action at this time.