Installable agent skill for rigorous qualitative interview analysis using grounded theory-informed methods.
Install it with the Gist git URL:
npx skills add https://gist.github.com/151626c09bdca54a14eef26241994974.git -g -a codex -a claude-code -ythere's a somewhat older github issue in the typescript repo that made the observation that typescript was turning complete
linked was also a proof via implement a turing machine within the typesystem.
that proof no longer works, and with the addition of template literal types, there comes a much more straightforward way to do this. that's what this is — a proof that typescript's type system is turning complete, 4 years later
| const path = require('path'); | |
| require('@babel/register')({ extensions: ['.js', '.ts', '.tsx'] }); | |
| const args = process.argv.slice(2); | |
| if (args[0] === '--') { | |
| const filename = args[1]; | |
| // require relative to the root | |
| require(path.resolve(__dirname, '../', filename)); | |
| } |
| import parseToRgba from '@color2k/parse-to-rgba'; | |
| export { default as parseToRgba } from '@color2k/parse-to-rgba'; | |
| // taken from: | |
| /** | |
| * Parses a color in hue, saturation, lightness, and the alpha channel. | |
| * | |
| * Hue is a number between 0 and 360, saturation, lightness, and alpha are | |
| * decimal percentages between 0 and 1 | |
| */ |
| import React, { memo, useMemo, useLayoutEffect, useRef } from 'react'; | |
| import objectHash from 'object-hash'; | |
| import _partition from 'lodash/partition'; | |
| import _fromPairs from 'lodash/fromPairs'; | |
| /** | |
| * an HOC that uses `React.memo` to memoize component expect it ignores changes | |
| * to functions while also keeping those functions up-to-date somehow | |
| */ | |
| function memoIgnoringFunctions(Component, propsAreEqual) { |
| import React, { useCallback } from 'react'; | |
| function usePullValue(value) { | |
| const ref = useRef(value); | |
| useLayoutEffect(() => { | |
| ref.current = value; | |
| }, [value]); | |
| return useCallback(() => { |
| interface Request { | |
| queries: Array<Query>; | |
| filters?: Filter; | |
| } | |
| interface Response extends Array<Result> {} | |
| interface Result { | |
| id: string; | |
| results: Array<number>; |
| node_modules |
| class Something { | |
| foo: string; | |
| bar: string; | |
| x: number; | |
| constructor(x: number) { | |
| this.x = x; | |
| this.foo = 'foo'; | |
| this.bar = 'bar'; | |
| } | |
| } |
| <html> | |
| <head> | |
| <title>what up</title> | |
| </head> | |
| <body> | |
| <h1 class="foo"></h1> | |
| <div class="stuff"></div> | |
| <script> | |
| async function loadData() { | |
| const response = await fetch('https://api.github.com/users/ricokahler/gists'); |