A tiny set of utility types for working with unions.
npm i gist:5d48bb3b92fa02cd9eb34ee87d3c7050
Hey, I'm ryangoree-3289505 and I have contributed to the Privacy Pools Ceremony. | |
The following are my contribution signatures: | |
Circuit # 1 (withdraw) | |
Contributor # 499 | |
Contribution Hash: 2a9dc7df 157d1efd e26552c4 3b1f5ee8 | |
b16eaf2c f9eef243 44e49d7f 0f76aeeb | |
10f8272f b1e8363a 3a739711 574bf433 | |
e0242565 275625c4 e7dbeb83 331dc5c1 |
import { createWriteStream, writeFileSync } from 'node:fs'; | |
import { createServer, request } from 'node:http'; | |
// Settings // | |
const TARGET_HOST = '127.0.0.1'; | |
const TARGET_PORT = 8545; | |
const PROXY_PORT = 8546; | |
// Server // |
type BuildTuple< | |
L extends number, | |
T extends any[] = [], | |
F = unknown, | |
> = `${L}` extends `-${number}` | |
? never | |
: T["length"] extends L | |
? T | |
: BuildTuple<L, [...T, F], F>; |
/** | |
* Get the length of a string. | |
* | |
* @example | |
* ```ts | |
* type L = Length<"hello">; // 5 | |
* ``` | |
*/ | |
type Length< | |
T extends string, |
/** | |
* Get a tuple type with a length of `TCount` where each element is of type `T`. | |
* | |
* @example | |
* ```ts | |
* type ThreeTuple = Tuple<string, 3>; | |
* // [string, string, string] | |
* ``` | |
*/ | |
export type Tuple<T = any, TCount extends number = number> = ( |
/** | |
* Get a superset of `T` that allows for arbitrary properties. | |
* | |
* @example | |
* | |
* ```ts | |
* interface Order { | |
* account: `0x${string}`; | |
* amount: bigint; | |
* } |
import { PutObjectCommand, S3Client } from "@aws-sdk/client-s3"; | |
const currentPath = []; | |
const csvRows = ["test_name,duration,passed,error,skipped,skip_message,logs"]; | |
let pendingRow; | |
let diagnostics = []; | |
/** | |
* A test reporter that formats results as CSV and uploads to S3. | |
* @see https://nodejs.org/api/test.html#custom-reporters |
/** | |
* Creates a new type that only includes properties from `T` that match the | |
* structure defined in `M`. Useful for creating a subset of an object type | |
* based on a mask/template type. Handles special cases for built-in objects | |
* (Functions, Maps, Sets, Arrays) by preserving their structure rather than | |
* attempting to deeply map their properties. | |
* | |
* | |
* @example | |
* ```ts |
// 🚧 WIP 🚧 // | |
/** | |
* Get the first member of a tuple, {@linkcode T}, that is more or as specific | |
* as the member following it. | |
* | |
* @example | |
* ```ts | |
* type Status = "success" | "error" | "idle" | |
* type ActiveStatus = "success" | "error" |