Skip to content

Instantly share code, notes, and snippets.

View arackaf's full-sized avatar
🏠
Working from home

Adam Rackis arackaf

🏠
Working from home
View GitHub Profile
async function syncResultsFor({ request, response }, name, transform = item => item) {
let createNameSingle = `create${name}`;
if (response && response.data && response.data[createNameSingle] && response.data[createNameSingle][name]) {
syncItem(transform(response.data[createNameSingle][name]), `${name.toLowerCase()}s`);
}
let updateNameSingle = `update${name}`;
if (response && response.data && response.data[updateNameSingle] && response.data[updateNameSingle][name]) {
syncItem(transform(response.data[updateNameSingle][name]), `${name.toLowerCase()}s`);
}
let updateNamePlural = `update${name}s`;
workbox.routing.registerRoute(
/graphql$/,
({ url, event }) => {
let request = event.request.clone();
return fetch(event.request).then(response => {
let respClone = response.clone();
respClone.json().then(response => {
syncResultsFor({ request, response }, "Book", bookSyncTransform);
syncResultsFor({ request, response }, "Tag");
function readTable(table, idxName) {
let open = indexedDB.open("books", 1);
return new Promise(resolve => {
open.onsuccess = evt => {
let db = open.result;
let tran = db.transaction(table);
let objStore = tran.objectStore(table);
let idx = objStore.index(idxName);
let tranCursor = idx.openCursor();
@arackaf
arackaf / g1-get.js
Last active January 20, 2019 01:43
import allSubjects from "../graphQL/subjects/allSubjects.graphql";
workbox.routing.registerRoute(
/graphql/,
({ url, event }) => {
return fetch(event.request).catch(err => {
let { query, variables } = parseQueryString(url.search);
if (query == allSubjects) {
return readTable("subjects", "name").then(gqlResponse("allSubjects", "Subjects"));
new GenerateSW({
ignoreUrlParametersMatching: [/./],
exclude: [/\.(ttf|eot|svg|woff)$/],
navigateFallback: "react-redux/dist/index.html",
importScripts: ["react-redux/sw-manual/sw-index-bundle.js"]
})
@arackaf
arackaf / blog-post.component.js
Last active January 11, 2019 18:23
rackis-ember-sandbox
import Ember from 'ember';
export default Ember.Component.extend({
});
class ContactDetails extends Component {
render() {
return (
<SomeUtility>
{(primitiveValue, SomeComponent) => (
//QUESTION: you see that <SomeComponent /> component that <SomeUtility /> is providing in the
//render props? Is it possible for some piece of state from <SomeUtility /> to be passed to
//<SomeComponent /> ***automatically*** whenever it's rendered?
//The best I can come up with is to *create* de novo <SomeComponent /> in <SomeUtility />'s constructor
const glob = require("glob"),
fs = require("fs");
/** Translate a glob expression to bundle arithmetic expression. Use this in your bundle definitions if you want to include based on glob expressions. */
function jsGlob(globText) {
let regex = new RegExp("^../dist/");
return (
" ( " +
glob
.sync("../dist/" + globText)
/*
See the readme for detailed guidance, as well as inline comments here.
*/
const Builder = require("systemjs-builder"),
gulp = require("gulp"),
gulpIf = require("gulp-if"),
gulpUglify = require("gulp-uglify"),
gulpRename = require("gulp-rename"),
gulpPlumber = require("gulp-plumber"),
//entry point
import Class1 from "./junk1";
import Class2 from "./junk2";
import Class3 from "./junk3";
export default function() {
let a = new Class1();
let b = new Class2();
let c = new Class3();