Skip to content

Instantly share code, notes, and snippets.

View mshick's full-sized avatar
💭
🥇

Michael Shick mshick

💭
🥇
View GitHub Profile
@mshick
mshick / atomFamilyCart.ts
Created May 18, 2022 17:56
jotai-scratch
import { atom } from 'jotai';
import { atomFamily } from 'jotai/utils';
import type { SetOptional } from 'type-fest';
export const STORAGE_KEY = 'cart';
export type CartItemKey = {
_key: string;
};
import type { JsonObject, JsonValue } from 'type-fest';
type PropertyName = string;
type List<T> = ArrayLike<T>;
type ListIterator<T, TResult> = (value: T, index: number, collection: List<T>) => TResult;
type Many<T> = Array<T>;
function baseGet(path: Many<PropertyName> | PropertyName) {
return (obj: JsonObject, defaultValue = undefined) => {
if (!path) {
@mshick
mshick / .env.local
Last active January 26, 2023 16:08
deluxe-starter-env
# NextAuth
NEXTAUTH_URL='http://localhost:3000'
# Linux: `openssl rand -hex 32` or go to https://generate-secret.now.sh/32
NEXTAUTH_SECRET='1f0e4d8bbb175863ccb4318b31c325a0372caf2b28562f11b75fcd309fe16bba'
# NextAuthAllAccess - `npx @takeshape/next-auth-all-access generate-keys`
ALLACCESS_PRIVATE_KEY='-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCtM3+W/UoPs4vZ\n53kpo75IPxXCWdXUmc9AGEetm12Dit4PZuwtHjNtQJS/SepEE5E7MnrRz7JnoaGz\nukRjZNy4/6kz60C30k9YkysXboldE0pgliOnBkqr6wJexFGpKFpuALIMSpyZep5c\nk6QBbHvlh8k7X5s+SHqFiM4raEK9LGMenUp7XabWCatNcHXmO/Dxf0Suex4+N9gJ\nQoWdMTAs8L6egm8gRniJXzsK1Ea5Blw7892XRS6Xo1YiOJUXLPDJwgsUgF+Q++UK\n/9yMpoeDxMuJFLNp1aX/o6r4JfOpheNDmIXuz4FiH3u2avSGeZXpsdo3eUNKfteg\nBKkatmiRAgMBAAECggEAZ44y6wPmFB01sMNFHjBYxLlzORCdWM/dqmTZ9mK+NrgA\nrRTMgO1dsiS6yuRWvP02CD7WUDvuXye0ltD3srXLgpDZicFOoJmN91eGnCvq1UuD\nXNxn1KVeYAvTDvYyHQGTj9G6or65gspdhNyBYpiKO2JEXst69nI/TzfMjQd5X8D+\ndF8WjgCUjwvGCAwShFdn5TkKxGERJfcxqRS1CnHx1WdWDgkC21DEyAVlLs3Nkbgh\nEZKWu0w1x1g6nAnKqwDhiqhtQta/TV
@mshick
mshick / schema.json
Created April 19, 2022 21:12
pr3519
{
"apiVersion": "2",
"projectId": "468e2909-8393-4958-b7e0-8ca4df77921c",
"dataKey": "AQIDAHhcZWXOdlBglkxBhI23ElO/clC/kuw5ynjXDSqJgfTz8gHaiEcoxhZhcnJSk0i3kELqAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMhzhG7DaG1rE7Htm2AgEQgDueWHyfxu7sJxkezzs3hXDZlOpgMJ74ppKaF1uGv+qijcKs/4l7dpi3eW48WFPHZNeiFZgzWYPXimJXlA==",
"version": 63,
"created": "2022-03-22T19:33:49.580Z",
"updated": "2022-04-19T21:02:54.137Z",
"defaultLocale": "en-us",
"locales": [
"en-us"
@mshick
mshick / local-has-fields.json
Last active April 8, 2022 20:52
stripe-missing-fields
{
"Stripe_CheckoutSession": {
"id": "Stripe_CheckoutSession",
"name": "Stripe_CheckoutSession",
"title": "Stripe_CheckoutSession",
"schema": {
"type": "object",
"properties": {
"after_expiration": {
"@ref": "stripe:PaymentPagesCheckoutSessionAfterExpiration"
@mshick
mshick / repro.md
Last active April 8, 2022 20:30
stripe-openapi-bug
{
"invoice": {
"id": "in_1KlzGMEjMGaPiQ74lfZCusax",
"object": "invoice",
"account_country": "US",
"account_name": "TakeShape Store",
"account_tax_ids": null,
"amount_due": 7000,
"amount_paid": 7000,
"amount_remaining": 0,
@mshick
mshick / .env.local
Last active March 29, 2022 19:11
kitchen-sink-starter-env
# Locale for currency formatting
NEXT_PUBLIC_LOCALE='en-US'
# e.g.: 'dev-by9w1mxg.us.auth0.com'
NEXT_PUBLIC_AUTH0_DOMAIN='dev-by9w1mxg.us.auth0.com'
# Your Auth0 application's Client ID
NEXT_PUBLIC_AUTH0_CLIENT_ID='1QJOASpbt5JSfvmIDhIAJfHWohnpAF2a'
# Where to redirect after you login
NEXT_PUBLIC_AUTH0_REDIRECT_URI='http://localhost:3000/'
# Auth0 scopes to set, these are required for the necessary auth0 data
NEXT_PUBLIC_AUTH0_SCOPE='openid profile email offline_access'
@mshick
mshick / schema.json
Last active March 15, 2022 00:57
extends-bug
{
"projectId": "45626092-4450-4e66-ac15-eb5179007e3e",
"dataKey": "AQIDAHhcZWXOdlBglkxBhI23ElO/clC/kuw5ynjXDSqJgfTz8gFMOGwTBcSXWsKBGsfoFNQAAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMrxICWj+Wl4Lz0vf7AgEQgDtBYPMSXCiMvdKiEy3y880LpysOLgeWpZ7zjeE1jr6fnI85S9H+RtoEuiwYKyX9WWSk6dN/Moz3YLdd+Q==",
"version": 6,
"created": "2022-03-14T20:20:38.778Z",
"updated": "2022-03-14T20:40:05.914Z",
"defaultLocale": "en-us",
"locales": [
"en-us"
],
import {createAjv} from '../schema-validator';
const failSchema = {
type: 'object',
properties: {
container: {
$ref: '#/definitions/Container'
}
},
definitions: {