Skip to content

Instantly share code, notes, and snippets.

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

brooklyn! OutThisLife

🏠
Working from home
View GitHub Profile
@OutThisLife
OutThisLife / useLinkableControls.ts
Last active February 24, 2025 00:56
Linkable leva controls (hydrates on mount and updates on value changes)
import { $layers } from '@/store'
import { levaStore } from 'leva'
import LZUTF8 from 'lzutf8'
import { useEffect } from 'react'
let hydrated = false
export default function useLinkableControls() {
const store = levaStore.useStore()
@OutThisLife
OutThisLife / useSmoothControls.ts
Last active February 6, 2025 18:07
useSmoothControls - smoothed leva using gsap
import gsap from 'gsap'
import { buttonGroup, useControls } from 'leva'
import { useMemo, useState } from 'react'
export function useSmoothControls<T extends Record<string, any>>(
label?: string,
initialArgs?: T,
options?: Parameters<typeof useControls>[2],
duration = 0.35
) {
[Rainmeter]
Update=1000
AccurateText=1
DynamicWindowSize=1
[Metadata]
Name=ForexFactoryCalendar
Author=Talasan Nicholson
Version=0.1
import withData from '@/lib/withData'
import { ApolloClient } from 'apollo-boost'
import App, { AppProps, Container } from 'next/app'
import { ApolloProvider } from 'react-apollo'
export default withData(
class extends App<MyAppProps> {
public static async getInitialProps({ Component, ...ctx }) {
let pageProps = {}
import { spawn } from 'child_process'
import * as express from 'express'
import * as LRU from 'lru-cache'
const app = express()
const cache = LRU({
max: 152,
maxAge: 36e2
})
import { ApolloServer } from 'apollo-server-express'
import * as express from 'express'
import { IResolvers } from 'graphql-tools'
import * as LRU from 'lru-cache'
import typeDefs, { Context } from './types'
const router = express.Router()
const resolvers: IResolvers<{}, Context> = {
@OutThisLife
OutThisLife / server.ts
Last active November 28, 2018 03:44
server.ts
import * as compression from 'compression'
import * as express from 'express'
import { RequestHandlerParams } from 'express-serve-static-core'
import * as helmet from 'helmet'
import * as LRU from 'lru-cache'
import * as morgan from 'morgan'
import * as next from 'next'
import * as path from 'path'
const dev = process.env.NODE_ENV !== 'production'
@OutThisLife
OutThisLife / adx.ts
Created November 27, 2018 14:14
shopster_adx
declare lower;
declare once_per_bar;
input n = 14;
def gd_88 = high - high[1];
def gd_96 = low[1] - low;
def gda_104;
def gda_108;
@OutThisLife
OutThisLife / withSelection.tsx
Created November 27, 2018 01:41
drag select rows
import { withHandlers } from 'recompose'
export default withHandlers<{}, SelectionsProps>(() => ({
handleMouse: () => ({ currentTarget: $parent, target, shiftKey, button }) => {
if (button || !(target instanceof HTMLElement)) {
return
}
const $rows = [].slice.call($parent.getElementsByClassName('row'))
const $first = $parent.querySelector('[data-checked]')
const set: number[] = [
...Array(1 + (parseInt(process.argv[2], 10) || 10)).keys()
]
const graph = set
.reduce<number[][]>(
(acc, i) => (acc[i] = set.filter(j => j)) && acc.sort(),
[]
)
.map(g => g.sort((a, b) => a - b))