Skip to content

Instantly share code, notes, and snippets.

View innerdaze's full-sized avatar
👾

Lee Driscoll innerdaze

👾
  • On The Money Technology
  • Bournemouth, UK
View GitHub Profile
@innerdaze
innerdaze / cloudSettings
Last active April 30, 2020 14:56
Visual Studio Code Settings Sync Gist
{"lastUpload":"2020-04-30T14:56:04.793Z","extensionVersion":"v3.4.3"}
@innerdaze
innerdaze / promise-demos.js
Last active June 29, 2019 05:04
Various Promise Pattern Demonstrations
function bad() {
return new Promise(function(resolve, reject) {
if (!isValid) { reject() }
retrieveMenuFromDatabase(req.session.dbId, req.session.user.MenuGroup)
.then(function(menuResult) {
getUserFavorites(req.session.dbId, req.session.user.UserID)
.then(function(shortCutResults) {
// process both responses
resolve(calculate(shortCutResults, menuResult));
@innerdaze
innerdaze / promotion.js
Last active January 8, 2019 23:08
Promotion JSON spec
// Enums
enum PROMOTION_TYPES {
GENERIC,
???
}
enum PROMOTION_PART_TYPES {
TITLE,
PLAIN_TEXT,
RICH_TEXT,
ICON,
@innerdaze
innerdaze / .eslintrc
Created October 10, 2018 12:35
Default ESlint config
{
"parser": "babel-eslint",
"env": {
"browser": true,
"node": true,
"jest": true
},
"settings": {
"ecmascript": 6,
"jsx": true
@innerdaze
innerdaze / webpack.config.js
Created May 14, 2018 13:55
Example Webpack Config
const path = require('path')
const webpack = require('webpack')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
module.exports = {
devtool:
process.env.NODE_ENV === 'production' ? 'source-map' : 'eval-source-map',
devServer: {
contentBase: path.join(__dirname, 'dist'),
@innerdaze
innerdaze / MainMenu.jsx
Created April 24, 2018 12:41
React Burger Menu example
import React, { Component } from 'react'
import { connect } from 'react-redux'
import {
decorator as reduxBurgerMenu,
action as toggleMenu
} from 'redux-burger-menu'
import { slide as Menu } from 'react-burger-menu'
import PropTypes from 'prop-types'
import autobind from 'autobind-decorator'
import styled from 'styled-components'
@innerdaze
innerdaze / search.js
Created April 24, 2018 11:29
Hot Ramda XXX Action
/* eslint no-unused-vars: 0 */
import {
prop,
values,
filter,
startsWith,
contains,
compose,
converge,
concat,
@innerdaze
innerdaze / Box.js
Created April 20, 2018 11:22
Styled System Box
/**
* Box
*
* Usage:
* <Box
* margin='small|medium|large|none'
* margin={{
* hz: 'small|medium|large|none',
* vt: 'small|medium|large|none'
* }}
@innerdaze
innerdaze / initialization_page_spec.js
Created April 20, 2018 09:47
Example Cypress test
describe('The Initialization Form', () => {
beforeEach(() => {
cy.fixture('config.json').as('config')
indexedDB.deleteDatabase('localforage')
cy.server()
cy.route({
method: 'POST',
@innerdaze
innerdaze / selector.test.js
Created April 20, 2018 09:17
Example Selector Unit Test
import configureMockStore from 'redux-mock-store'
import thunk from 'redux-thunk'
import * as selectors from '../selectors'
const middlewares = [thunk]
const mockStore = configureMockStore(middlewares)
describe('INVENTORY/SELECTORS', () => {
test('barcode to product lookup works', () => {