gitextract_8q21qzq_/ ├── .cursor/ │ └── commands/ │ └── armstrong.md ├── .github/ │ ├── CODE_OF_CONDUCT.md │ ├── CONTRIBUTING.md │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── SECURITY.md │ ├── actions/ │ │ └── setup/ │ │ └── action.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── pr.yml │ ├── publish.yml │ └── pullfrog.yml ├── .gitignore ├── .vscode/ │ ├── extensions.json │ ├── launch.json │ └── settings.json ├── LICENSE ├── ark/ │ ├── attest/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── assertions.test.ts │ │ │ ├── benchExpectedOutput.ts │ │ │ ├── benchTemplate.ts │ │ │ ├── completions.test.ts │ │ │ ├── demo.test.ts │ │ │ ├── externalSnapshots.test.ts │ │ │ ├── functions.test.ts │ │ │ ├── instantiations.test.ts │ │ │ ├── satisfies.test.ts │ │ │ ├── snap.test.ts │ │ │ ├── snapExpectedOutput.ts │ │ │ ├── snapPopulation.test.ts │ │ │ ├── snapTemplate.ts │ │ │ ├── unwrap.test.ts │ │ │ └── utils.ts │ │ ├── assert/ │ │ │ ├── assertions.ts │ │ │ ├── attest.ts │ │ │ └── chainableAssertions.ts │ │ ├── bench/ │ │ │ ├── await1k.ts │ │ │ ├── baseline.ts │ │ │ ├── bench.ts │ │ │ ├── call1k.ts │ │ │ ├── measure.ts │ │ │ └── type.ts │ │ ├── cache/ │ │ │ ├── getCachedAssertions.ts │ │ │ ├── snapshots.ts │ │ │ ├── ts.ts │ │ │ ├── utils.ts │ │ │ └── writeAssertionCache.ts │ │ ├── cli/ │ │ │ ├── cli.ts │ │ │ ├── precache.ts │ │ │ ├── shared.ts │ │ │ ├── stats.ts │ │ │ └── trace.ts │ │ ├── config.ts │ │ ├── fixtures.ts │ │ ├── index.ts │ │ ├── package.json │ │ ├── tsVersioning.ts │ │ └── utils.ts │ ├── docs/ │ │ ├── .turbo/ │ │ │ └── daemon/ │ │ │ └── a6661884d53fb864-turbo.log.2025-10-05 │ │ ├── README.md │ │ ├── app/ │ │ │ ├── (home)/ │ │ │ │ ├── layout.tsx │ │ │ │ └── page.tsx │ │ │ ├── api/ │ │ │ │ └── search/ │ │ │ │ └── route.ts │ │ │ ├── discord/ │ │ │ │ └── page.tsx │ │ │ ├── docs/ │ │ │ │ ├── [[...slug]]/ │ │ │ │ │ └── page.tsx │ │ │ │ └── layout.tsx │ │ │ ├── global-error.tsx │ │ │ ├── global.css │ │ │ ├── layout.config.tsx │ │ │ ├── layout.tsx │ │ │ ├── metadata.ts │ │ │ ├── playground/ │ │ │ │ └── page.tsx │ │ │ └── providers.tsx │ │ ├── components/ │ │ │ ├── AnchorAliases.tsx │ │ │ ├── ApiTable.tsx │ │ │ ├── ArkCard.tsx │ │ │ ├── AutoplayDemo.tsx │ │ │ ├── Badge.tsx │ │ │ ├── Banner.tsx │ │ │ ├── Button.tsx │ │ │ ├── CodeBlock.tsx │ │ │ ├── FloatYourBoat.tsx │ │ │ ├── GhStarButton.tsx │ │ │ ├── Head.tsx │ │ │ ├── Hero.tsx │ │ │ ├── InstallationTabs.tsx │ │ │ ├── KeywordTable.tsx │ │ │ ├── LinkCard.tsx │ │ │ ├── LocalFriendlyUrl.tsx │ │ │ ├── PlatformCloud.tsx │ │ │ ├── ReleaseBanner.tsx │ │ │ ├── RuntimeBenchmarksGraph.tsx │ │ │ ├── SyntaxTabs.tsx │ │ │ ├── apiData.ts │ │ │ ├── dts/ │ │ │ │ ├── regex.ts │ │ │ │ ├── schema.ts │ │ │ │ ├── type.ts │ │ │ │ └── util.ts │ │ │ ├── icons/ │ │ │ │ ├── arktype-logo.tsx │ │ │ │ ├── boat.tsx │ │ │ │ ├── bun.tsx │ │ │ │ ├── chromium.tsx │ │ │ │ ├── deno.tsx │ │ │ │ ├── intellij.tsx │ │ │ │ ├── js.tsx │ │ │ │ ├── neovim.tsx │ │ │ │ ├── node.tsx │ │ │ │ ├── npm.tsx │ │ │ │ ├── ts.tsx │ │ │ │ └── vscode.tsx │ │ │ ├── playground/ │ │ │ │ ├── ParseResult.tsx │ │ │ │ ├── Playground.tsx │ │ │ │ ├── PlaygroundTabs.tsx │ │ │ │ ├── RestoreDefault.tsx │ │ │ │ ├── ShareLink.tsx │ │ │ │ ├── TraverseResult.tsx │ │ │ │ ├── completions.ts │ │ │ │ ├── errorLens.ts │ │ │ │ ├── execute.ts │ │ │ │ ├── format.ts │ │ │ │ ├── highlights.ts │ │ │ │ ├── hovers.ts │ │ │ │ ├── tsserver.ts │ │ │ │ └── utils.ts │ │ │ └── snippets/ │ │ │ ├── betterErrors.twoslash.ts │ │ │ ├── clarityAndConcision.twoslash.js │ │ │ ├── contentsById.ts │ │ │ ├── deepIntrospectability.twoslash.js │ │ │ ├── intrinsicOptimization.twoslash.js │ │ │ ├── nestedTypeInScopeError.twoslash.js │ │ │ └── unparalleledDx.twoslash.js │ │ ├── content/ │ │ │ └── docs/ │ │ │ ├── blog/ │ │ │ │ ├── 2.0.mdx │ │ │ │ ├── 2.1.mdx │ │ │ │ ├── 2.2.mdx │ │ │ │ ├── arkregex.mdx │ │ │ │ ├── index.mdx │ │ │ │ └── meta.json │ │ │ ├── comparisons.mdx │ │ │ ├── configuration/ │ │ │ │ ├── index.mdx │ │ │ │ └── meta.json │ │ │ ├── declare.mdx │ │ │ ├── ecosystem/ │ │ │ │ ├── index.mdx │ │ │ │ └── meta.json │ │ │ ├── expressions/ │ │ │ │ ├── index.mdx │ │ │ │ └── meta.json │ │ │ ├── faq.mdx │ │ │ ├── generics/ │ │ │ │ ├── index.mdx │ │ │ │ └── meta.json │ │ │ ├── integrations/ │ │ │ │ ├── index.mdx │ │ │ │ └── meta.json │ │ │ ├── internal/ │ │ │ │ ├── index.mdx │ │ │ │ └── meta.json │ │ │ ├── intro/ │ │ │ │ ├── adding-constraints.mdx │ │ │ │ ├── meta.json │ │ │ │ ├── morphs-and-more.mdx │ │ │ │ ├── setup.mdx │ │ │ │ └── your-first-type.mdx │ │ │ ├── introspection/ │ │ │ │ ├── index.mdx │ │ │ │ └── meta.json │ │ │ ├── keywords.mdx │ │ │ ├── match.mdx │ │ │ ├── meta.json │ │ │ ├── objects/ │ │ │ │ ├── arrays/ │ │ │ │ │ └── meta.json │ │ │ │ ├── index.mdx │ │ │ │ ├── meta.json │ │ │ │ └── properties/ │ │ │ │ └── meta.json │ │ │ ├── primitives/ │ │ │ │ ├── index.mdx │ │ │ │ ├── meta.json │ │ │ │ ├── number/ │ │ │ │ │ └── meta.json │ │ │ │ └── string/ │ │ │ │ └── meta.json │ │ │ ├── scopes/ │ │ │ │ ├── index.mdx │ │ │ │ └── meta.json │ │ │ ├── traversal-api.mdx │ │ │ └── type-api/ │ │ │ ├── index.mdx │ │ │ └── meta.json │ │ ├── lib/ │ │ │ ├── ambient.d.ts │ │ │ ├── metadata.ts │ │ │ ├── shiki.ts │ │ │ ├── source.tsx │ │ │ ├── writeLlmsTxt.ts │ │ │ └── writeSnippetsEntrypoint.ts │ │ ├── next-env.d.ts │ │ ├── next.config.ts │ │ ├── package.json │ │ ├── postcss.config.cjs │ │ ├── public/ │ │ │ ├── CNAME │ │ │ ├── llms.txt │ │ │ └── onigasm.wasm │ │ ├── source.config.ts │ │ └── tsconfig.json │ ├── extension/ │ │ ├── .vscode/ │ │ │ └── launch.json │ │ ├── README.md │ │ ├── arktype.scratch.ts │ │ ├── injected.tmLanguage.json │ │ ├── package.json │ │ └── tsWithArkType.tmLanguage.json │ ├── fast-check/ │ │ ├── __tests__/ │ │ │ └── arktypeFastCheck.test.ts │ │ ├── arbitraries/ │ │ │ ├── array.ts │ │ │ ├── date.ts │ │ │ ├── domain.ts │ │ │ ├── number.ts │ │ │ ├── object.ts │ │ │ ├── proto.ts │ │ │ └── string.ts │ │ ├── arktypeFastCheck.ts │ │ ├── fastCheckContext.ts │ │ └── package.json │ ├── fs/ │ │ ├── caller.ts │ │ ├── fs.ts │ │ ├── getCurrentLine.ts │ │ ├── index.ts │ │ ├── package.json │ │ └── shell.ts │ ├── json-schema/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── array.test.ts │ │ │ ├── composition.test.ts │ │ │ ├── number.test.ts │ │ │ ├── object.test.ts │ │ │ └── string.test.ts │ │ ├── array.ts │ │ ├── common.ts │ │ ├── composition.ts │ │ ├── errors.ts │ │ ├── index.ts │ │ ├── json.ts │ │ ├── number.ts │ │ ├── object.ts │ │ ├── package.json │ │ ├── scope.ts │ │ └── string.ts │ ├── regex/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── regex.bench.ts │ │ │ └── regex.test.ts │ │ ├── charset.ts │ │ ├── escape.ts │ │ ├── execArray.ts │ │ ├── group.ts │ │ ├── index.ts │ │ ├── package.json │ │ ├── parse.ts │ │ ├── quantify.ts │ │ ├── regex.ts │ │ └── state.ts │ ├── repo/ │ │ ├── .prettierignore │ │ ├── __tests__/ │ │ │ └── standardSchema.test.ts │ │ ├── build.ts │ │ ├── config.ts │ │ ├── dtsGen.ts │ │ ├── jsdocGen.ts │ │ ├── mocha.globalSetup.ts │ │ ├── mocha.package.jsonc │ │ ├── nodeOptions.js │ │ ├── package.json │ │ ├── patchC8.cjs │ │ ├── publish.ts │ │ ├── scratch/ │ │ │ ├── fn.ts │ │ │ ├── matchComparison.bench.ts │ │ │ ├── realWorldComparison.ts │ │ │ ├── typeClass.ts │ │ │ └── unionComparison.ts │ │ ├── scratch.ts │ │ ├── shared.ts │ │ ├── testPackage.ts │ │ ├── testV8.js │ │ ├── ts.js │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.dts.json │ │ └── tsconfig.esm.json │ ├── schema/ │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── bounds.test.ts │ │ │ ├── errors.test.ts │ │ │ ├── intersection.test.ts │ │ │ ├── jsonSchema.test.ts │ │ │ ├── morphs.test.ts │ │ │ ├── onFail.test.ts │ │ │ ├── parse.test.ts │ │ │ ├── props.test.ts │ │ │ ├── proto.test.ts │ │ │ ├── scope.test.ts │ │ │ ├── select.test.ts │ │ │ ├── union.test.ts │ │ │ └── unit.test.ts │ │ ├── config.ts │ │ ├── constraint.ts │ │ ├── generic.ts │ │ ├── index.ts │ │ ├── intrinsic.ts │ │ ├── kinds.ts │ │ ├── module.ts │ │ ├── node.ts │ │ ├── package.json │ │ ├── parse.ts │ │ ├── predicate.ts │ │ ├── refinements/ │ │ │ ├── after.ts │ │ │ ├── before.ts │ │ │ ├── divisor.ts │ │ │ ├── exactLength.ts │ │ │ ├── kinds.ts │ │ │ ├── max.ts │ │ │ ├── maxLength.ts │ │ │ ├── min.ts │ │ │ ├── minLength.ts │ │ │ ├── pattern.ts │ │ │ └── range.ts │ │ ├── roots/ │ │ │ ├── alias.ts │ │ │ ├── basis.ts │ │ │ ├── domain.ts │ │ │ ├── intersection.ts │ │ │ ├── morph.ts │ │ │ ├── proto.ts │ │ │ ├── root.ts │ │ │ ├── union.ts │ │ │ ├── unit.ts │ │ │ └── utils.ts │ │ ├── scope.ts │ │ ├── shared/ │ │ │ ├── compile.ts │ │ │ ├── declare.ts │ │ │ ├── disjoint.ts │ │ │ ├── errors.ts │ │ │ ├── implement.ts │ │ │ ├── intersections.ts │ │ │ ├── jsonSchema.ts │ │ │ ├── registry.ts │ │ │ ├── standardSchema.ts │ │ │ ├── toJsonSchema.ts │ │ │ ├── traversal.ts │ │ │ └── utils.ts │ │ └── structure/ │ │ ├── index.ts │ │ ├── optional.ts │ │ ├── prop.ts │ │ ├── required.ts │ │ ├── sequence.ts │ │ ├── shared.ts │ │ └── structure.ts │ ├── themes/ │ │ ├── .vscode/ │ │ │ └── launch.json │ │ ├── README.md │ │ ├── arkdark.json │ │ ├── arkdarkItalic.json │ │ ├── arklight.json │ │ ├── arklightItalic.json │ │ └── package.json │ ├── type/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── arrays/ │ │ │ │ ├── array.test.ts │ │ │ │ ├── base.test.ts │ │ │ │ ├── defaults.test.ts │ │ │ │ ├── intersection.test.ts │ │ │ │ ├── nonVariadicTuple.test.ts │ │ │ │ └── variadicTuple.test.ts │ │ │ ├── badDefinitionType.test.ts │ │ │ ├── basis.test.ts │ │ │ ├── brand.test.ts │ │ │ ├── cast.test.ts │ │ │ ├── clone.test.ts │ │ │ ├── completions.test.ts │ │ │ ├── config.test.ts │ │ │ ├── cyclic.bench.ts │ │ │ ├── dateLiteral.test.ts │ │ │ ├── declared.test.ts │ │ │ ├── define.test.ts │ │ │ ├── discrimination.test.ts │ │ │ ├── divisor.test.ts │ │ │ ├── enclosed.test.ts │ │ │ ├── expressions.test.ts │ │ │ ├── filter.test.ts │ │ │ ├── fn.test.ts │ │ │ ├── generateBenchData.ts │ │ │ ├── generated/ │ │ │ │ └── cyclic.ts │ │ │ ├── generic.test.ts │ │ │ ├── get.test.ts │ │ │ ├── group.test.ts │ │ │ ├── imports.test.ts │ │ │ ├── instanceOf.test.ts │ │ │ ├── integration/ │ │ │ │ ├── allConfig.ts │ │ │ │ ├── eoptConfig.ts │ │ │ │ ├── generateAllConfig.ts │ │ │ │ ├── onFailConfig.ts │ │ │ │ ├── simpleConfig.ts │ │ │ │ ├── testAllConfig.ts │ │ │ │ ├── testEoptConfig.ts │ │ │ │ ├── testOnFailConfig.ts │ │ │ │ ├── testSimpleConfig.ts │ │ │ │ └── util.ts │ │ │ ├── intersection.test.ts │ │ │ ├── keyof.test.ts │ │ │ ├── keywords/ │ │ │ │ ├── date.test.ts │ │ │ │ ├── exclude.test.ts │ │ │ │ ├── extract.test.ts │ │ │ │ ├── formData.test.ts │ │ │ │ ├── format.test.ts │ │ │ │ ├── ip.test.ts │ │ │ │ ├── json.test.ts │ │ │ │ ├── merge.test.ts │ │ │ │ ├── number.test.ts │ │ │ │ ├── numericStrings.test.ts │ │ │ │ ├── object.test.ts │ │ │ │ ├── omit.test.ts │ │ │ │ ├── parse.test.ts │ │ │ │ ├── partial.test.ts │ │ │ │ ├── pick.test.ts │ │ │ │ ├── record.test.ts │ │ │ │ ├── required.test.ts │ │ │ │ ├── string.test.ts │ │ │ │ ├── tsPrimitives.test.ts │ │ │ │ ├── url.test.ts │ │ │ │ └── uuid.test.ts │ │ │ ├── literal.test.ts │ │ │ ├── match.bench.ts │ │ │ ├── match.test.ts │ │ │ ├── narrow.test.ts │ │ │ ├── nary.bench.ts │ │ │ ├── nary.test.ts │ │ │ ├── object.bench.ts │ │ │ ├── objects/ │ │ │ │ ├── defaults.test.ts │ │ │ │ ├── indexSignatures.test.ts │ │ │ │ ├── mapped.test.ts │ │ │ │ ├── namedKeys.test.ts │ │ │ │ ├── onUndeclaredKey.test.ts │ │ │ │ ├── props.test.ts │ │ │ │ └── spread.test.ts │ │ │ ├── operand.bench.ts │ │ │ ├── operator.bench.ts │ │ │ ├── optional.test.ts │ │ │ ├── pipe.test.ts │ │ │ ├── range.test.ts │ │ │ ├── realWorld.test.ts │ │ │ ├── regex.test.ts │ │ │ ├── runtime.bench.ts │ │ │ ├── scope.test.ts │ │ │ ├── select.test.ts │ │ │ ├── serialization.test.ts │ │ │ ├── standardSchema.test.ts │ │ │ ├── string.test.ts │ │ │ ├── submodule.test.ts │ │ │ ├── this.test.ts │ │ │ ├── thunk.test.ts │ │ │ ├── toJsonSchema.test.ts │ │ │ ├── traverse.test.ts │ │ │ ├── type.test.ts │ │ │ ├── typeReference.test.ts │ │ │ ├── unenclosed.test.ts │ │ │ └── union.test.ts │ │ ├── attributes.ts │ │ ├── config.ts │ │ ├── declare.ts │ │ ├── fn.ts │ │ ├── generic.ts │ │ ├── index.ts │ │ ├── keywords/ │ │ │ ├── Array.ts │ │ │ ├── FormData.ts │ │ │ ├── TypedArray.ts │ │ │ ├── builtins.ts │ │ │ ├── constructors.ts │ │ │ ├── keywords.ts │ │ │ ├── number.ts │ │ │ ├── string.ts │ │ │ └── ts.ts │ │ ├── match.ts │ │ ├── module.ts │ │ ├── nary.ts │ │ ├── package.json │ │ ├── parser/ │ │ │ ├── ast/ │ │ │ │ ├── bounds.ts │ │ │ │ ├── default.ts │ │ │ │ ├── divisor.ts │ │ │ │ ├── generic.ts │ │ │ │ ├── infer.ts │ │ │ │ ├── keyof.ts │ │ │ │ ├── utils.ts │ │ │ │ └── validate.ts │ │ │ ├── definition.ts │ │ │ ├── objectLiteral.ts │ │ │ ├── property.ts │ │ │ ├── reduce/ │ │ │ │ ├── dynamic.ts │ │ │ │ ├── shared.ts │ │ │ │ └── static.ts │ │ │ ├── shift/ │ │ │ │ ├── operand/ │ │ │ │ │ ├── date.ts │ │ │ │ │ ├── enclosed.ts │ │ │ │ │ ├── genericArgs.ts │ │ │ │ │ ├── operand.ts │ │ │ │ │ └── unenclosed.ts │ │ │ │ ├── operator/ │ │ │ │ │ ├── bounds.ts │ │ │ │ │ ├── brand.ts │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── divisor.ts │ │ │ │ │ └── operator.ts │ │ │ │ └── tokens.ts │ │ │ ├── string.ts │ │ │ ├── tupleExpressions.ts │ │ │ └── tupleLiteral.ts │ │ ├── scope.ts │ │ ├── type.ts │ │ └── variants/ │ │ ├── array.ts │ │ ├── base.ts │ │ ├── date.ts │ │ ├── instantiate.ts │ │ ├── number.ts │ │ ├── object.ts │ │ └── string.ts │ └── util/ │ ├── __tests__/ │ │ ├── arrays.test.ts │ │ ├── callable.test.ts │ │ ├── clone.test.ts │ │ ├── collapsibleDate.test.ts │ │ ├── flatMorph.test.ts │ │ ├── hkt.test.ts │ │ ├── intersections.test.ts │ │ ├── labels.test.ts │ │ ├── numbers.test.ts │ │ ├── overloads.test.ts │ │ ├── path.test.ts │ │ ├── printable.test.ts │ │ ├── records.test.ts │ │ ├── registry.test.ts │ │ ├── string.test.ts │ │ ├── traits.scratch.ts │ │ └── traits.test.ts │ ├── arrays.ts │ ├── clone.ts │ ├── describe.ts │ ├── domain.ts │ ├── errors.ts │ ├── flatMorph.ts │ ├── functions.ts │ ├── generics.ts │ ├── get.ts │ ├── hkt.ts │ ├── index.ts │ ├── intersections.ts │ ├── isomorphic.ts │ ├── keys.ts │ ├── lazily.ts │ ├── numbers.ts │ ├── objectKinds.ts │ ├── package.json │ ├── path.ts │ ├── primitive.ts │ ├── records.ts │ ├── registry.ts │ ├── scanner.ts │ ├── serialize.ts │ ├── strings.ts │ ├── traits.ts │ ├── tsconfig.base.json │ └── unionToTuple.ts ├── eslint.config.js ├── package.json ├── pnpm-workspace.yaml └── tsconfig.json