View App.tsx
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, { useEffect, useLayoutEffect, useState } from 'react' | |
import { FlatList, SafeAreaView } from 'react-native' | |
import RNFS from 'react-native-fs' | |
import Realm from 'realm' | |
export function App() { | |
const r = useWaitForRealm() | |
const [initialized, setInitialized] = useState(false) | |
useEffect(() => { |
View App.tsx
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, { useEffect, useLayoutEffect, useState } from 'react' | |
import { FlatList, SafeAreaView } from 'react-native' | |
import RNFS from 'react-native-fs' | |
import Realm from 'realm' | |
export function App() { | |
const r = useWaitForRealm() | |
const [initialized, setInitialized] = useState(false) |
View Overlay.tsx
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, { useEffect } from 'react' | |
import { Animated, StyleSheet, TouchableOpacity, View } from 'react-native' | |
import { | |
nodeFromRef, | |
SharedElement as OriginalSharedElement, | |
SharedElementNode, | |
SharedElementTransition, | |
} from 'react-native-shared-element' | |
import { assert } from './utils/assert' | |
import { createObservable } from './utils/observable' |
View typesrcript_non_null_assertion_transform.js
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
/** | |
* The transformer signature is based on https://github.com/cevek/ttypescript#program | |
* Need to use https://github.com/microsoft/TypeScript/blob/bae0f508184280c59d2865a35efc63be362eacfa/src/compiler/factory/nodeFactory.ts | |
* The goal is to conver `a!.m()` to `if (!a) { throw new Error('Attempted to use nullish value "a"'} else { a.m() }` | |
* https://astexplorer.net/#/gist/9ec2af3e8c15fd2cde848941e14f566b/d9ddca954379374f98a4097d9bde4c346dac8567 | |
*/ | |
export default function (program) { | |
const checker = program.getTypeChecker() | |
return (context) => { | |
return (sourceFile) => { |
View BroadcastMethods.ts
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
// ---- START IMPORTS ---- | |
export type AssertionExtra = (Record<string, unknown> & { name?: ErrorCode }) | ErrorCode | |
export function assert(predicate: any, message: string, extra: AssertionExtra = {}): asserts predicate { | |
if (!predicate) { | |
extra = typeof extra === 'string' ? { name: extra } : extra | |
if (!('name' in extra)) { | |
extra.name = ErrorCode.AssertionError | |
} |
View websocketsDenoDeploy.ts
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 { serve } from 'https://deno.land/std/http/server.ts' | |
// import { assert, ErrorCode } from './assert.ts' | |
export enum ErrorCode { | |
RaceNotFound = 'RaceNotFound', | |
RaceMemberNotFound = 'RaceMemberNotFound', | |
RaceAlreadyExists = 'RaceAlreadyExists', | |
RaceMemberAlreadyExists = 'RaceMemberAlreadyExists', | |
AssertionError = 'AssertionError', | |
} |
View wrapMethods.js
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 wrap = (obj, method) => { | |
const oldMethod = obj[method] | |
async function innerMethod(...args) { | |
const start = Date.now() | |
try { | |
const ret = await oldMethod.call(obj, ...args) | |
console.log(method, 'took', Date.now() - start, args[0]) | |
return ret | |
} catch (error) { | |
console.log(method, 'took', Date.now() - start) |
View observeProperty.ts
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
/** Intercepts writes to any property of an object */ | |
export function observeProperty<T extends Object, K extends keyof T>( | |
obj: T, | |
property: K, | |
onChanged: (val: T[K]) => void, | |
customDescriptor?: PropertyDescriptor | undefined | |
) { | |
let val = obj[property] | |
Object.defineProperty(obj, property, { | |
get() { |
View transactionTest.ts
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 AWS from 'aws-sdk' | |
import { uuid } from 'short-uuid' | |
import { yesno } from 'yesno-http' | |
yesno.spy() | |
const documentClient = new AWS.DynamoDB.DocumentClient({ | |
apiVersion: 'latest', | |
}) |
View haltonSequence.js
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 area(image) { | |
return image.width * image.height; | |
} | |
/** https://en.wikipedia.org/wiki/Halton_sequence */ | |
function halton(index, base) { | |
let fraction = 1; | |
let result = 0; | |
while (index > 0) { | |
fraction /= base; |
NewerOlder