Skip to content

Instantly share code, notes, and snippets.

Avatar
🛠️
creatin' some stuff

Tomasz Ducin ducin

🛠️
creatin' some stuff
View GitHub Profile
View machine.js
Machine({
id: 'AuthorizeDevice',
initial: 'chooseMethod',
states: {
chooseMethod: {
on: {
CHOOSE_ADD_DEVICE: 'addDeviceForm',
}
},
addDeviceForm: {
View machine.js
Machine({
id: 'AuthorizeDevice',
initial: 'chooseMethod',
states: {
chooseMethod: {
on: {
CHOOSE_ALLOW_ONCE: 'allowOnceToken',
CHOOSE_ADD_DEVICE: 'addDeviceForm',
}
},
View machine.js
// CORRECT SUBMIT EVENT:
// {
// "type": "SUBMIT",
// "password": "1234"
// }
// pure mocks
const delay = (time) => {
return new Promise((res, rej) => {
@ducin
ducin / ecommerce-order.json
Created Jan 26, 2020
various json schemas
View ecommerce-order.json
{
"type": "object",
"properties": {
"orderId": {
"type": "string",
"faker": "random.uuid"
},
"customer": {
"type": "string",
"faker": "name.findName"
@ducin
ducin / actions.ts
Last active Feb 15, 2021
redux setup
View actions.ts
import { INC } from './constants';
export const Inc = () => ({
type: INC as typeof INC
})
export type Actions =
| ReturnType<typeof Inc>
@ducin
ducin / ^.md
Last active Feb 25, 2021
Functional Composition with Static Types in TypeScript, Tomasz Ducin, Wrocław TypeScript #3, 2019.03.27
View ^.md
@ducin
ducin / ^.md
Last active Sep 3, 2019
Functional Composition with Static Types in TypeScript, Tomasz Ducin, Warsaw TypeScript #2, 2019.02.06
View ^.md
@ducin
ducin / LICENSE
Created Dec 28, 2018
Lorem Ipsum License
View LICENSE
Lorem Ipsum License
Copyright (c) [year] [fullname]
Permission is Lorem ipsum hereby granted, dolor sit amet, free of charge,
to any person obtaining a copy consectetur adipiscing elit. Proin nibh augue
of this software and associated documentation files (the "Software"),
suscipit a, scelerisque sed, to deal lacinia in, mi. Cras vel lorem.
Etiam pellentesque aliquet tellus, in the Software without restriction,
Phasellus pharetra nulla ac diam. Quisque semper justo at risus including
View .gitignore
node_modules
View model.js
const API_URL = 'http://localhost:3011/'
const OfficeModel = {
getCollection(){
return fetch(`${API_URL}offices`)
.then(res => res.json())
},
async __extendOfficeWithEmployees(office){
const employees = await EmployeeModel.getCollection(office.city)
return { ...office, employees }