Skip to content

Instantly share code, notes, and snippets.

View ilya-korotya's full-sized avatar

Ilya ilya-korotya

View GitHub Profile
@ilya-korotya
ilya-korotya / component.js
Last active July 3, 2018 21:08
Vue + xstate
new Vue({
el: "#app",
mounted() {
this.state = this.lightMachine.initial;
setInterval(() => {
this.state = this.lightMachine.transition(this.state, "TIMER").value;
}, 3000);
},
@ilya-korotya
ilya-korotya / simple_func.js
Last active June 27, 2018 09:07
Functional programming in JS
const isEven = x => x%2 === 0
const isBigThan = size => int => int > size
const pluceValue = value => int => value + int
const isInInterval = (start, end) => int => start < int && end > int
let res = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
.filter(isEven)
.filter(isBigThan(5))
.map(pluceValue(2))
.filter(isInInterval(7, 10))
@ilya-korotya
ilya-korotya / package.json
Last active May 31, 2018 07:09
Basic webpack config
{
"name": "webpack-starter",
"version": "1.0.0",
"description": "simple webpack config",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"prebuild": "npm install",
"build": "cross-env production=true webpack --config webpack.config.js --progress --colors",
"prestart": "npm install",
@ilya-korotya
ilya-korotya / gulpfile.js
Created May 31, 2018 07:05
Advanced gulp config
const gulp = require('gulp'),
sass = require('gulp-sass'),
postcss = require('gulp-postcss'),
autoprefixer = require('autoprefixer'),
mqpacker = require('css-mqpacker'),
sourcemaps = require('gulp-sourcemaps'),
debug = require('gulp-debug'),
gulpIf = require('gulp-if'),
del = require('del'),
newer = require('gulp-newer'),
@ilya-korotya
ilya-korotya / gulpfile.js
Created May 31, 2018 07:03
Basic gulp config
var gulp = require('gulp'),
sass = require('gulp-sass'),
autoprefixer = require('gulp-autoprefixer'),
csso = require('gulp-csso'),
rename = require("gulp-rename"),
plumber = require('gulp-plumber'),
notify = require("gulp-notify"),
watch = require('gulp-watch'),
browserSync = require('browser-sync').create(),
imagemin = require('gulp-imagemin'),
@ilya-korotya
ilya-korotya / ApiCheck.js
Last active May 31, 2018 06:53
Check property in object
function proxyOptional(obj, evalFunc, def) {
const handler = {
get: function(target, prop, receiver) {
const res = Reflect.get(...arguments);
return typeof res === "object" ? proxify(res) : res != null ? res : def;
}
};
const proxify = target => {
return new Proxy(target, handler);
$breakpoints: (
'medium': (min-width: 200px),
'large': (min-width: 400px),
'huge': (min-width: 600px),
);
@mixin respond-to($breakpoint) {
@if map-has-key($breakpoints, $breakpoint) {
@media #{inspect(map-get($breakpoints, $breakpoint))} {
@content;