Skip to content

Instantly share code, notes, and snippets.

Avatar
🦊
🦊🦊🦊

Frazer AlexFrazer

🦊
🦊🦊🦊
View GitHub Profile
@AlexFrazer
AlexFrazer / destructure-props.js
Created May 11, 2023 20:37
Restructure props
View destructure-props.js
module.exports = function (fileInfo, api) {
const j = api.jscodeshift;
return j(fileInfo.source)
.find(j.FunctionDeclaration)
.forEach((path) => {
const params = path.value.params;
if (params.length === 1 && params[0].type === "Identifier" && params[0].name === "props") {
const propsParam = params[0];
const propsUsages = j(path).find(j.Identifier, { name: "props" });
@AlexFrazer
AlexFrazer / change-prop-value.js
Created May 11, 2023 15:26
Changes a prop value to a new prop value
View change-prop-value.js
// change-prop-value.js
const j = require('jscodeshift');
module.exports = function (fileInfo, api) {
const componentName = 'MyComponent'; // Replace with your component name
const propName = 'myProp'; // Replace with the prop name you want to change
const newValue = 'newValue'; // Replace with the new value for the prop
const root = j(fileInfo.source);
View machine.js
const fetchMachine = Machine({
id: 'Form Wizard',
initial: 'pending',
context: {
retries: 0
},
states: {
pending: {
initial: 'email',
states: {
View machine.js
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@AlexFrazer
AlexFrazer / machine.js
Created September 2, 2020 23:12
Generated by XState Viz: https://xstate.js.org/viz
View machine.js
const machine = Machine({
id: "fetch",
initial: "idle",
context: {
data: null,
error: null,
lastRequest: -Infinity
},
states: {
idle: {
@AlexFrazer
AlexFrazer / machine.js
Created September 2, 2020 22:50
Generated by XState Viz: https://xstate.js.org/viz
View machine.js
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@AlexFrazer
AlexFrazer / machine.js
Last active September 2, 2020 21:52
Generated by XState Viz: https://xstate.js.org/viz
View machine.js
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
View vivid-tailwind-theme.js
module.exports = {
red: {
'100': '#FFBDBD',
'200': '#FF9B9B',
'300': '#F86A6A',
'400': '#EF4E4E',
'500': '#E12D39',
'600': '#CF1124',
'700': '#AB091E',
'800': '#8A041A',
@AlexFrazer
AlexFrazer / Box.tsx
Last active February 9, 2020 20:31
A basic button component
View Box.tsx
import styled from "@emotion/styled";
import { shouldForwardProp } from "@styled-system/should-forward-prop";
import {
background,
border,
color,
flexbox,
grid,
layout,
position,
View cli.ts
import axios, { AxiosInstance } from 'axios';
import moment from 'moment';
import * as readline from 'readline';
const FIELDS = ['applicant', 'location', 'DayOrder', 'start24', 'end24'];
const serializeFields = (fields: string[]) =>
fields.map(field => `\`${field}\``).join(',');
const range = (start: number, end: number) =>