Skip to content

Instantly share code, notes, and snippets.

@zirkelc
zirkelc / browser.ts
Last active May 18, 2024 07:30
Puppeteer: set browser language for Chrome
/*
* There are multiple options to affect the user language on Chrome.
*/
const LANG = 'de';
/*
* Set `--lang=de'` when starting Chrome
* https://peter.sh/experiments/chromium-command-line-switches/#lang)
*/
@zirkelc
zirkelc / s3-download.sh
Created March 21, 2024 12:23
Raycast Script for S3 Download
#!/bin/bash
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title S3 Download
# @raycast.mode fullOutput
# Optional parameters:
# @raycast.icon 🤖
# @raycast.packageName AWS
@zirkelc
zirkelc / generics.ts
Created January 6, 2024 15:24
Infer type of unused generic parameters
/* object types */
// generic parameters T1, T2, T3 are not used in the actual type definition
type GenericObject<T1 extends any, T2 extends any, T3 extends any> = {};
const obj: GenericObject<{ a: string }, number[], boolean> = {};
type InferT1FromGenricObject<TObj> = TObj extends GenericObject<infer T1, any, any> ? T1 : never;
type InferT2FromGenricObject<TObj> = TObj extends GenericObject<any, infer T2, any> ? T2 : never;
type InferT3FromGenricObject<TObj> = TObj extends GenericObject<any, any, infer T3> ? T3 : never;
@zirkelc
zirkelc / list.txt
Created July 7, 2022 13:46 — forked from shortjared/list.txt
List of AWS Service Principals
a4b.amazonaws.com
access-analyzer.amazonaws.com
account.amazonaws.com
acm-pca.amazonaws.com
acm.amazonaws.com
airflow-env.amazonaws.com
airflow.amazonaws.com
alexa-appkit.amazon.com
alexa-connectedhome.amazon.com
amazonmq.amazonaws.com
@zirkelc
zirkelc / index.test.ts
Created May 18, 2022 12:51
Custom matcher in Jest
import fetch from 'cross-fetch';
type Todo = {
id: number;
userId: number;
title: string;
completed: boolean;
};
interface CustomMatchers<R = unknown> {
@zirkelc
zirkelc / severless.ts
Last active February 13, 2023 09:27
Serverless Step Function Type Defintions
import type { AWS } from '@serverless/typescript';
export interface CustomServerless extends AWS {
stepFunctions: {
stateMachines: StateMachines;
validate?: boolean;
};
}
type StateMachines = {
@zirkelc
zirkelc / post-merge.sh
Created December 27, 2021 10:40
Run npm install automatically after git pull if package-lock.json has changed
#!/bin/zsh
. "$(dirname "$0")/_/husky.sh"
IFS=$'\n'
# regex supports mono-repos with a package.json at root-level and at package-level
PACKAGE_LOCK_REGEX="(^packages\/.*\/package-lock\.json)|(^package-lock\.json)"
# extract all paths to package-lock.json files
PACKAGES=("$(git diff --name-only HEAD@{1} HEAD | grep -E "$PACKAGE_LOCK_REGEX")")
if [[ ${PACKAGES[@]} ]]; then
@zirkelc
zirkelc / LICENSE
Created December 22, 2020 15:02 — forked from zorrodg/LICENSE
CLI Integration Test Helper
MIT License
Copyright © 2019 Andrés Zorro
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<!--
Base application theme for API 21+. This theme completely replaces
MyTheme from BOTH res/values/styles.xml on API 21+ devices.
-->
<style name="MyTheme" parent="MyTheme.Base">
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
public class SquareTransformation : ITransformation
{
public string Key => "SquareTransformation";
public IBitmap Transform(IBitmap source)
{
double sourceWidth = source.Width;
double sourceHeight = source.Height;
double desiredWidth = sourceWidth;