Skip to content

Instantly share code, notes, and snippets.

  • npm init
  • git ignore
  • ni ts
  • add tsconfig.json, tsconfig.1.json, tsconfig2.json (+ schema)
  • add file.ts, file1.ts, file2.ts with params example
  • run from terminal, show IDE
  • add TS Config no property index
  • run from terminal, show IDE
  • Fix
  • run from terminal, show IDE
@unrevised6419
unrevised6419 / useStartTransition.tsx
Last active December 6, 2024 19:39
React startTransition wrapper
"use client";
import { startTransition, type TransitionFunction } from "react";
function useStartTransition<Args extends unknown[]>(
cb: (...args: Args) => ReturnType<TransitionFunction>,
) {
return (...args: Args) => startTransition(() => cb(...args));
}
@unrevised6419
unrevised6419 / InlineSvg.vue
Last active January 25, 2025 11:19
Vue InlineSvg Implementation
<template>
<component :is="vnode" />
</template>
<script setup lang="ts">
import {
h,
onServerPrefetch,
shallowRef,
watch,
@unrevised6419
unrevised6419 / README.md
Last active June 30, 2025 08:46
Support `exactOptionalPropertyTypes` compiler flag in TypeScript

Note

This is a generic issue template to raise awareness about exactOptionalPropertyTypes support across TypeScript libraries.

Summary

This package's types are not fully compatible with TypeScript's exactOptionalPropertyTypes compiler flag (tsconfig.json).

Problem

With exactOptionalPropertyTypes: true, optional properties behave differently — they can’t be assigned undefined unless it's explicitly part of the type. Currently, this library's types treat optional properties as implicitly allowing undefined, which causes type errors in strict setups.

@unrevised6419
unrevised6419 / youtube-transcript.js
Last active June 21, 2025 11:41
youtube transcript
javascript: (() => {
/* First open YT Transcript Panel, then copy paste this snippet into the console */
let linesEl = [...document.querySelector('#segments-container').children];
let linesTextIrregular = linesEl.map(el => el.textContent.trim());
let linesText = linesTextIrregular.map(l => l.split('\n').map(s => s.trim()).filter(Boolean).join(' '));
let paragraph = linesText.join('\n');
copy(paragraph);
})();