Skip to content

Instantly share code, notes, and snippets.

Dean Radcliffe deanius

Block or report user

Report or block deanius

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View expectToCompleteWithin.ts
/**
*
* @param {*} ms The number of ms we want the subject function to be done within.
* @param {*} fn The function to call. May be synchronous (blocking), or if it returns a Promise,
* the return value is a rejected promise with the Error "expectToCompleteWithin:timeout", if the Promise hasn't resolved.
* @example
* it('should complete, synchronous fn argument', () => {
* expectToCompleteWithin(100, syncFunction)
* })
* it('should complete, Promise returning fn argument', async () => {
View DomainNameInfo.stories.js
import React, { useState, useEffect } from 'react';
import { storiesOf } from '@storybook/react';
const delayedAvailabilityCheck = (isAvailable, delay) =>
new Promise(resolve => {
setTimeout(() => resolve({ isAvailable }), delay);
});
// Instant pass/fail
const immediateAvailabilityCheck = isAvailable => () => {
View rx-helper-tests.txt
PASS test/rx-helper.test.tsadcliffe/src/deanius/rx-helper/node_modules/jest-jasmine2/build/queue_runner.js:56:12)
Agent
✓ is instantiable (4ms)
✓ has instance methods (1ms)
config argument
✓ should set agentId (2ms)
✓ should not set properties not whitelisted
instance properties
✓ has readonly agentId
nextActionOfType
View react-kt.md

SPA Client Rendering vs. SSR Server Rendering

And all they imply

^ Suppose we wanted to represent this in HTML


fill

@deanius
deanius / music-of-async-slides.md
Last active May 4, 2019
Dupe of recent Music Slides pres
View music-of-async-slides.md

autoscale: true build-lists: true theme: Fira, 2

Orchestrating Async with Observables

Dean Radcliffe

t : @deaniusol

View monolog-script.md

The Monolog App, Implemented in Rx-Helper

Quick Links: Live App | Monolog Repo | Rx Helper Repo

To help you understand how Rx-Helper helps you write apps with:

  • Decoupled code
  • Error isolation
  • Simple-to-make and maintain non-blocking async code
View monolog.html
<!DOCTYPE html>
<html>
<head>
<title>Rx-Helper Event-Driven Apps Step-By-Step</title>
<meta charset="utf-8" />
<link
href="http://fonts.googleapis.com/css?family=Roboto"
rel="stylesheet"
type="text/css"
/>
View web speech.js
// Browser based version of npm speak
function sayIt({ action, context }) {
const { text } = action.payload;
const { speechSynthesis, SpeechSynthesisUtterance } = context;
return new Observable(notify => {
var msg = new SpeechSynthesisUtterance();
msg.onend = function (e) {
notify.complete();
}
View monolog-intro.md

Rx-Helper - Web Development based on Events and Primitives; Not Frameworks.

If you were not around web development when Backbone came on the scene in 2010, let me tell you what a breath of fresh air it was! After 4 years of JQuery proliferation (2006), which ended the wars of Prototype (2005), MooTools and such, the promise of a New Order that the 2010-generation of web frameworks brought (including my beloved Knockout.js) was breathing hope into web developer's hearts. No longer would server-code like Rails (2005) need to control your front-end code!

But it was the dawn of new complexity as well. And soon build tools like Browserify (2011) would become a must, and JS Fatigue was setting in. To deal with that, we'd eventually form encampments around technologies that came with their own toolchains such as MeteorJS (2007), Angular (2010), Ember (2011), ReactJS (2013), and GraphQL (2015). We needed these build solutions - so what else could we do! Soon, few people moved between multiple of these techs, beca

You can’t perform that action at this time.