gitextract_ejzj_xdd/ ├── .github/ │ ├── FUNDING.yml │ └── ISSUE_TEMPLATE/ │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── .prettierrc ├── LICENSE ├── README.md ├── benchmarks/ │ ├── always-last-digit.ts │ ├── nested-objects.ts │ ├── package.json │ └── random-digit.ts ├── docs/ │ ├── roadmap.md │ ├── v3-to-v4-migration-guide.md │ └── v4-to-v5-migration-guide.md ├── examples/ │ ├── gif-fetcher/ │ │ ├── package.json │ │ ├── public/ │ │ │ └── index.html │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── constants.ts │ │ │ ├── index.tsx │ │ │ ├── searchGif.ts │ │ │ └── styles.css │ │ └── tsconfig.json │ └── one-file-demo/ │ ├── one-file-demo.ts │ ├── package.json │ └── tsconfig.json ├── jest.config.cjs ├── jsr.json ├── package.json ├── scripts/ │ └── generate-cts.sh ├── src/ │ ├── errors.ts │ ├── index.ts │ ├── internals/ │ │ ├── helpers.ts │ │ └── symbols.ts │ ├── is-matching.ts │ ├── match.ts │ ├── patterns.ts │ └── types/ │ ├── BuildMany.ts │ ├── DeepExclude.ts │ ├── DistributeUnions.ts │ ├── ExtractPreciseValue.ts │ ├── FindSelected.ts │ ├── InvertPattern.ts │ ├── IsMatching.ts │ ├── Match.ts │ ├── Pattern.ts │ ├── helpers.ts │ └── index.ts ├── tests/ │ ├── bigints.test.ts │ ├── branded-nominal-types.test.ts │ ├── build-many.test.ts │ ├── chainable.test.ts │ ├── deep-exclude.test.ts │ ├── distribute-unions.test.ts │ ├── exhaustive-fallback.test.ts │ ├── exhaustive-match.test.ts │ ├── extract-precise-value.test.ts │ ├── find-selected.test.ts │ ├── generics.test.ts │ ├── helpers.test.ts │ ├── infer.test.ts │ ├── instance-of.test.ts │ ├── intersection-and-union.test.ts │ ├── invert-pattern.test.ts │ ├── is-matching.test.ts │ ├── large-exhaustive.test.ts │ ├── lists.test.ts │ ├── maps.test.ts │ ├── matcher-protocol.test.ts │ ├── multiple-patterns.test.ts │ ├── narrow.test.ts │ ├── nesting.test.ts │ ├── not.test.ts │ ├── numbers.test.ts │ ├── objects.test.ts │ ├── optional-props.test.ts │ ├── optional.test.ts │ ├── otherwise.test.ts │ ├── output-type.test.ts │ ├── pattern.test.ts │ ├── primitive-values.test.ts │ ├── readonly.test.ts │ ├── real-world.test.ts │ ├── record.test.ts │ ├── return-type.test.ts │ ├── select.test.ts │ ├── sets.test.ts │ ├── strings.test.ts │ ├── tsconfig.json │ ├── tuples.test.ts │ ├── type-error.test.ts │ ├── type-is-matching.test.ts │ ├── types-catalog/ │ │ ├── definition.ts │ │ └── utils.ts │ ├── types.test.ts │ ├── unions.test.ts │ ├── variadic-tuples.test.ts │ ├── when.test.ts │ └── wildcards.test.ts └── tsconfig.json