Skip to content

Instantly share code, notes, and snippets.

View jthoms1's full-sized avatar
Writing Code

Josh Thomas jthoms1

Writing Code
View GitHub Profile
jthoms1 / Why_not.tsx
Last active October 12, 2022 16:34
View Why_not.tsx
import { GoogleMap } from '@capacitor/google-maps';
const MyMap: React.FC = () => {
return (
<div className="component-wrapper">
center: {
# Type a script or drag a script file from your workspace to insert # Type a script or drag a script file from your workspace to insert its path.
mkdir "${EMBEDDED_DIR}"
# Instructions on how to download an App Bundle from AppFlow
# Setup auth first:
# Environment variables
# APP_ID (IE 186b544f)
# CHANNEL (IE production)
# PORTAL_NAME (IE checkout)
jthoms1 / index.ts
Last active September 28, 2021 16:43
View index.ts
import ShopAPI from './ShopAPIPlugin';
import Portals from '@ionic/portals';
const App: React.FC<InitialContext> = () => {
const [sessionInfo, setSession] = useState(null);
const [startingRoute, setInitialRoute] = useState(null);
useEffect(() => {
const [context, sessionInfo] = await Promise.all([
jthoms1 / styles.d.ts
Created July 21, 2020 03:01
Much better way of using tokens in Styled Components
View styles.d.ts
import { ThemeType } from 'some/path/to/my/tokens';
import 'styled-components';
declare module 'styled-components' {
export interface DefaultTheme extends ThemeType {}

Keybase proof

I hereby claim:

  • I am jthoms1 on github.
  • I am jthoms1 ( on keybase.
  • I have a public key whose fingerprint is 43F1 2702 C01E 2E33 6B63 151A E50F 4DE2 8157 8CE6

To claim this, I am signing this object:

jthoms1 / waterfall.ts
Created September 4, 2018 19:08
Simple promise waterfall.
View waterfall.ts
function waterFallExec<T, S>(listOfItems: T[], func: (item: T) => Promise<S>): Promise<S[]> {
const results: S[] = []
return listOfItems.reduce(function (lastPromise, item) {
return lastPromise.then(function (res) {
return func(item).then(function (result) {
return res;
jthoms1 /
Last active August 7, 2018 01:32
Pit of Success

The Pit of Success: in stark contrast to a summit, a peak, or a journey across a desert to find victory through many trials and surprises, we want our customers to simply fall into winning practices by using our platform and frameworks. To the extent that we make it easy to get into trouble we fail.

Rico Mariani, MS Research MindSwap Oct 2003.

I had a chance hear Rico Mariani do

View components.d.ts
* This is an autogenerated file created by the Stencil compiler.
* It contains typing information for all components that exist in this project.
/* tslint:disable */
import { JSXElements } from '@stencil/core';
import '@stencil/router';
import '@stencil/state-tunnel';
jthoms1 / transform-test.ts
Created September 20, 2017 02:31
Typescript transform test tool
View transform-test.ts
function transformSourceFile(sourceText: string, transformers: ts.TransformerFactory<ts.SourceFile>[]) {
const transformed = ts.transform(ts.createSourceFile('source.ts', sourceText, ts.ScriptTarget.ES2015), transformers);
const printer = ts.createPrinter({ newLine: ts.NewLineKind.CarriageReturnLineFeed }, {
onEmitNode: transformed.emitNodeWithNotification,
substituteNode: transformed.substituteNode
const result = printer.printBundle(ts.createBundle(transformed.transformed));
return result;