Skip to content

Instantly share code, notes, and snippets.

View amatiasq's full-sized avatar

A. Matías Quezada amatiasq

View GitHub Profile
version: '2'
services:
nginx-proxy:
image: nginxproxy/nginx-proxy
ports:
- 80:80
- 443:443
volumes:
- vhost:/etc/nginx/vhost.d
@amatiasq
amatiasq / removeWithTransition.ts
Last active December 18, 2023 11:26
removeWithTransition.ts
function insertWithTransition(el: HTMLElement, activeClass = 'is-active') {
el.classList.remove(activeClass);
setTimeout(() => {
el.classList.add(activeClass);
}, 0);
}
function removeWithTransition(el: HTMLElement, activeClass = 'is-active') {
const clone = el.cloneNode(true) as HTMLDivElement;
<!DOCTYPE html>
<html>
<head>
<title>Parcel Sandbox</title>
<meta charset="UTF-8" />
</head>
<body>
<div id="app">
<div class="left">Left</div>
@amatiasq
amatiasq / 1-ExposedReferencesTable.cs
Last active February 3, 2023 13:14
Using ExposedReferences in Unity
using System.Collections.Generic;
using UnityEngine;
public class ExposedReferencesTable : MonoBehaviour, IExposedPropertyTable
{
public List<PropertyName> properties = new();
public List<Object> references = new();
public T Get<T>(ExposedReference<T> reference) where T : Object
{
@amatiasq
amatiasq / odin.cs
Last active January 12, 2023 15:11
class Example : MonoBehaviour {
// Assets only
[AssetsOnly]
public GameObject SomePrefab;
[AssetsOnly]
public List<GameObject> OnlyPrefabs;
// SceneObjectsOnly
[SceneObjectsOnly]
public GameObject SomeSceneObject;
using System;
// Interface segregation
interface ISimulationReporter<TResult>
{
event Action<TResult> OnComplete;
}
interface ISimulationRunner<TInput>
import { equal } from 'assert';
import { FIRST_FRAME } from './Netcode';
import { NetcodeClient } from './NetcodeClient';
import { NetcodeServer } from './NetcodeServer';
type UserId = 'a' | 'b';
type Input = 'RUN' | null;
interface Entity {
x: number;
import { mock, instance, when, verify, anything } from 'ts-mockito';
const mockedFoo: Foo = mock(Foo);
// stub method before execution
when(mockedFoo.getBar(3)).thenReturn('three');
// Getting instance from mock
const foo: Foo = instance(mockedFoo);
@amatiasq
amatiasq / esm.ts
Last active September 23, 2021 11:57
const extensions = {
js: 'application/javascript',
ts: 'application/typescript',
jsx: 'text/jsx',
tsx: 'text/tsx',
} as const;
type Extensions = typeof extensions;
type ValidExtension = keyof Extensions;
type ValidMediaType = Extensions[ValidExtension];
@amatiasq
amatiasq / concatRegexes.js
Last active February 24, 2021 08:57
concatRegexes
const createConcatenator = escape => (...regexes) => {
const join = regexes
.map(x => (x instanceof RegExp ? regexToString(x) : escape(x)))
.join("");
const flags = regexes
.map(x => x instanceof RegExp && x.flags)
.filter(Boolean)
.join("");