This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function pad(num: number) { | |
return `0000${num}`.slice(-2) | |
} | |
function time(hour: number) { | |
return new Date( | |
`Tue Aug 08 2023 ${pad(hour)}:00:00 GMT+0200 (Central European Summer Time)` | |
) | |
} | |
const times = [ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const createSelectObservable = (() => { | |
let state; | |
let pReducer = (state, action) => state; | |
const subscribers = new Map(); | |
const addSubscriber = (selector) => { | |
subscribers.set(selector, selector); | |
//return unsubscribe function | |
return () => subscribers.delete(selector); | |
}; | |
const dispatch = (action) => { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const REPLACED = 'REPLACED'; | |
const last = (fn) => { | |
const current = { value: {} }; | |
return (...args) => { | |
const now = {}; | |
current.value = now; | |
return Promise.resolve(args) | |
.then((args) => fn(...args)) | |
.then((resolve) => | |
current.value === now |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React from 'react'; | |
import ReactDOM from 'react-dom'; | |
//for Stack overflow snippet that doesn't allow imports | |
const { useRef, useState } = React; | |
const compose = (...fns) => | |
fns.reduce((result, fn) => (...args) => | |
fn(result(...args)) | |
); | |
const mw = () => (next) => (action) => next(action); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//using partially applied functions (closures) are used for sorting to | |
// demonstrate how to prevent duplicate implementation and writing | |
// imperative code. Most of your code should express "what it does" | |
// not "how it does it" | |
const data1 = [ | |
{ id: 1, name: 'a', items: [1, 2, 3] }, | |
{ id: 2, name: 'a', items: [1, 2] }, | |
{ id: 3, name: 'b', items: [4, 5] }, | |
{ id: 4, name: 'b', items: [4, 5, 6, 7] }, | |
]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//group promise returning function | |
const createGroup = (cache) => ( | |
fn, | |
getKey = (...x) => JSON.stringify(x) | |
) => (...args) => { | |
const key = getKey(args); | |
let result = cache.get(key); | |
if (result) { | |
return result; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React from 'react'; | |
import ReactDOM from 'react-dom'; | |
const useContainer = (props, container) => { | |
return container(props); | |
}; | |
const Counter = ({ counter, up }) => { | |
const r = React.useRef(0); | |
r.current++; | |
return ( |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React from 'react'; | |
import ReactDOM from 'react-dom'; | |
import * as Reselect from 'reselect'; | |
const { | |
useMemo, | |
useState, | |
useContext, | |
useRef, | |
useCallback, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- begin snippet: js hide: false console: true babel: true --> | |
<!-- language: lang-js --> | |
import * as React from 'react'; | |
import ReactDOM from 'react-dom'; | |
import * as Redux from 'redux'; | |
import * as ReactRedux from 'react-redux'; | |
import * as Reselect from 'reselect'; | |
import * as immer from 'immer'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React from 'react'; | |
export const NOT_REQUESTED = { | |
requested: false, | |
loading: false, | |
}; | |
const AVAILABLE = { | |
requested: true, | |
loading: false, | |
}; | |
const isResult = (value) => |
NewerOlder