Skip to content

Instantly share code, notes, and snippets.

@abhayarawal
abhayarawal / machine.js
Last active August 18, 2021 08:31
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@abhayarawal
abhayarawal / machine.js
Last active June 23, 2021 14:55
Generated by XState Viz: https://xstate.js.org/viz
const loginMachine = Machine({
id: 'login',
initial: 'start',
context: {
retries: 0,
loginDetails: null,
errorMessage: null
},
states: {
start: {
@abhayarawal
abhayarawal / machine.js
Last active May 25, 2021 11:03
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
defmodule CacheWorker do
require Logger
defmodule State do
@type t :: %__MODULE__{
hits: integer(),
content: String.t(),
timer: reference()
}
#![allow(dead_code, unused)]
use dgraph::{make_dgraph, Dgraph, Request};
use serde_derive::{Deserialize, Serialize};
fn user_type() -> String { "User".to_string() }
#[derive(Debug, Default, Serialize, Deserialize)]
struct User {
uid: Option<String>,
use std::ops::Deref;
use std::rc::Rc;
#[derive(PartialEq, Debug, Clone)]
struct Shoe {
size: u32,
style: String,
}
struct MyBox<T>(T);
@abhayarawal
abhayarawal / lexer.rs
Created December 3, 2019 04:41
Lexer test
use std::iter::Peekable;
use std::str::Chars;
#[derive(Debug, PartialEq)]
pub enum Token {
Plus,
Minus,
Equal,
Number(i32),
@abhayarawal
abhayarawal / parser.rs
Last active December 1, 2019 07:22
html parser
// https://bodil.lol/parser-combinators/
#[derive(Debug, Clone, PartialEq, Eq)]
struct Element {
name: String,
attributes: Vec<(String, String)>,
children: Vec<Element>,
}
type ParseResult<'a, Output> = Result<(&'a str, Output), &'a str>;
@abhayarawal
abhayarawal / json.rs
Last active March 23, 2020 10:13
Rust json! macro
use std::collections::HashMap;
#[derive(Debug, PartialEq, Clone)]
enum Json {
Null,
Boolean(bool),
Number(f64),
String(String),
Array(Vec<Json>),
Object(Box<HashMap<String, Json>>),
@abhayarawal
abhayarawal / hooks.jsx
Last active July 15, 2019 18:27
react hooks with xstate and redux
import React, { useState, useEffect, useMemo, useReducer, useContext, useCallback } from 'react'
import { composeWithDevTools } from 'redux-devtools-extension'
import { createStore } from 'redux'
import { createSelector } from 'reselect'
import { Provider, shallowEqual, useSelector, useDispatch } from 'react-redux'
import { Machine, interpret, assign } from 'xstate'
import ReactDOM from 'react-dom'
const initialState = {