All Projects → type-challenges → Type Challenges

type-challenges / Type Challenges

Licence: mit
Collection of TypeScript type challenges with online judge

Programming Languages

typescript
32286 projects
HTML
75241 projects
CSS
56736 projects
shell
77523 projects

Projects that are alternatives of or similar to Type Challenges

Flutter UI Projects
Repositório destinado a criaçao de telas em Flutter, tendo seu maior foco a UI.
Stars: ✭ 30 (-99.72%)
Mutual labels:  challenges
rot13
This is a collection of ROT13 encoding programms written in different languages. Just for fun.
Stars: ✭ 24 (-99.78%)
Mutual labels:  challenges
typeql
TypeQL: the query language of TypeDB - a strongly-typed database
Stars: ✭ 157 (-98.55%)
Mutual labels:  type-system
AIODrive
Official Python/PyTorch Implementation for "All-In-One Drive: A Large-Scale Comprehensive Perception Dataset with High-Density Long-Range Point Clouds"
Stars: ✭ 32 (-99.7%)
Mutual labels:  challenges
Typology
Swift type checking and semantic analysis for developer tools
Stars: ✭ 68 (-99.37%)
Mutual labels:  type-system
visions
Type System for Data Analysis in Python
Stars: ✭ 136 (-98.74%)
Mutual labels:  type-system
get hired training
A set of videos and tips to help our students to be hired as developers 💯
Stars: ✭ 18 (-99.83%)
Mutual labels:  challenges
code-challenges
algorithm code challenges solutions (codility / hackerrank / eular / topcoder)
Stars: ✭ 84 (-99.22%)
Mutual labels:  challenges
codewars-python
No description or website provided.
Stars: ✭ 20 (-99.82%)
Mutual labels:  challenges
REInfer
Runtime Extended Inference for json data.
Stars: ✭ 23 (-99.79%)
Mutual labels:  type-system
desafios flutterando
Repositório destinado aos desafios proposto pela comunidade Fluterando.
Stars: ✭ 33 (-99.69%)
Mutual labels:  challenges
easy-to-git
👩‍🔬 👨‍💻 A project designed to start you on your journey as an Open-source contributor
Stars: ✭ 33 (-99.69%)
Mutual labels:  challenges
EasyEuler
A command line tool for Project Euler
Stars: ✭ 29 (-99.73%)
Mutual labels:  challenges
desafios-DIO
Desafios em C#, Java, JavaScript, Kotlin, Python e Ruby dos Bootcamps da Digital Innovation One
Stars: ✭ 140 (-98.71%)
Mutual labels:  challenges
Challenges
ICDSS Advanced Data Science Team Challenges 2020-2021
Stars: ✭ 14 (-99.87%)
Mutual labels:  challenges
floweret
Runtime type annotations for CoffeeScript (and JavaScript too!)
Stars: ✭ 20 (-99.82%)
Mutual labels:  type-system
duolingo-solution-viewer
A browser extension providing access to the lists of solutions to the translation / listening challenges on Duolingo, and restoring the correction of typos for listening challenges.
Stars: ✭ 31 (-99.71%)
Mutual labels:  challenges
Write You A Haskell
Building a modern functional compiler from first principles. (http://dev.stephendiehl.com/fun/)
Stars: ✭ 3,064 (-71.66%)
Mutual labels:  type-system
core
The XP Framework is an all-purpose, object oriented PHP framework.
Stars: ✭ 13 (-99.88%)
Mutual labels:  type-system
tix
[WIP] A type system for nix
Stars: ✭ 59 (-99.45%)
Mutual labels:  type-system

Collection of TypeScript type challenges


English | 简体中文 | 日本語

Intro

by the power of TypeScript's well-known Turing Completed type system

High-quality types can help improve projects' maintainability while avoiding potential bugs.

There are a bunch of awesome type utility libraries may boost your works on types, like ts-toolbelt, utility-types, SimplyTyped, etc., which you can already use.

This project is aimed at helping you better understand how the type system works, writing your own utilities, or just having fun with the challenges. We are also trying to form a community where you can ask questions and get answers you have faced in the real world - they may become part of the challenges!

Challenges

Click the following badges to see details of the challenges.

1
13・Hello World

13
4・Pick 7・Readonly 11・Tuple to Object 14・First of Array 18・Length of Tuple 43・Exclude 189・Awaited 268・If 533・Concat 898・Includes 3057・Push 3060・Unshift 3312・Parameters

61
2・Get Return Type 3・Omit 8・Readonly 2 9・Deep Readonly 10・Tuple to Union 12・Chainable Options 15・Last of Array 16・Pop 20・Promise.all 62・Type Lookup 106・Trim Left 108・Trim 110・Capitalize 116・Replace 119・ReplaceAll 191・Append Argument 296・Permutation 298・Length of String 459・Flatten 527・Append to object 529・Absolute 531・String to Union 599・Merge 610・CamelCase 612・KebabCase 645・Diff 949・AnyOf 1042・IsNever 1097・IsUnion 1130・ReplaceKeys 1367・Remove Index Signature 1978・Percentage Parser 2070・Drop Char 2257・MinusOne 2595・PickByType 2688・StartsWith 2693・EndsWith 2757・PartialByKeys 2759・RequiredByKeys 2793・Mutable 2852・OmitByType 2946・ObjectEntries 3062・Shift 3188・Tuple to Nested Object 3192・Reverse 3196・Flip Arguments 3243・FlattenDepth 3326・BEM style string 3376・InorderTraversal 4179・Flip 4182・Fibonacci Sequence 4260・AllCombinations 4425・Greater Than 4471・Zip 4484・IsTuple 4499・Chunk 4518・Fill 4803・Trim Right 5117・Without 5140・Trunc 5153・IndexOf

31
6・Simple Vue 17・Currying 1 55・Union to Intersection 57・Get Required 59・Get Optional 89・Required Keys 90・Optional Keys 112・Capitalize Words 114・CamelCase 147・C-printf Parser 213・Vue Basic Props 223・IsAny 270・Typed Get 300・String to Number 399・Tuple Filter 472・Tuple to Enum Object 545・printf 553・Deep object to unique 651・Length of String 2 730・Union to Tuple 847・String Join 956・DeepPick 1290・Pinia 1383・Camelize 2059・Drop String 2822・Split 2828・ClassPublicKeys 2857・IsRequiredKey 2949・ObjectFromEntries 4037・IsPalindrome 5181・Mutable Keys

12
5・Get Readonly Keys 151・Query String Parser 216・Slice 274・Integers Comparator 462・Currying 2 476・Sum 517・Multiply 697・Tag 734・Inclusive Range 741・Sort 869・DistributeUnions 925・Assert Array Index

By Tags
#application12・Chainable Options 6・Simple Vue 213・Vue Basic Props
#arguments191・Append Argument 3196・Flip Arguments
#array14・First of Array 533・Concat 898・Includes 3057・Push 3060・Unshift 15・Last of Array 16・Pop 20・Promise.all 459・Flatten 949・AnyOf 3062・Shift 3243・FlattenDepth 4425・Greater Than 5117・Without 5153・IndexOf 17・Currying 1 2822・Split 216・Slice 734・Inclusive Range 741・Sort 925・Assert Array Index
#built-in4・Pick 7・Readonly 43・Exclude 189・Awaited 3312・Parameters 2・Get Return Type 3・Omit 20・Promise.all
#deep9・Deep Readonly 553・Deep object to unique 956・DeepPick
#infer3312・Parameters 2・Get Return Type 10・Tuple to Union 2070・Drop Char 55・Union to Intersection 57・Get Required 59・Get Optional 399・Tuple Filter 730・Union to Tuple 2059・Drop String 734・Inclusive Range 741・Sort
#map62・Type Lookup
#math529・Absolute 2257・MinusOne 274・Integers Comparator 476・Sum 517・Multiply
#object599・Merge 645・Diff 2595・PickByType 2757・PartialByKeys 2759・RequiredByKeys 2852・OmitByType 2946・ObjectEntries 3188・Tuple to Nested Object 3376・InorderTraversal 4179・Flip 2949・ObjectFromEntries
#object-keys7・Readonly 8・Readonly 2 9・Deep Readonly 527・Append to object 2793・Mutable 5・Get Readonly Keys
#promise189・Awaited
#readonly7・Readonly 8・Readonly 2 9・Deep Readonly 2793・Mutable
#recursion1383・Camelize
#split2822・Split
#string531・String to Union 2822・Split 4037・IsPalindrome
#template-literal106・Trim Left 108・Trim 110・Capitalize 116・Replace 119・ReplaceAll 298・Length of String 529・Absolute 610・CamelCase 612・KebabCase 2070・Drop Char 2688・StartsWith 2693・EndsWith 3326・BEM style string 5140・Trunc 112・Capitalize Words 114・CamelCase 147・C-printf Parser 270・Typed Get 300・String to Number 472・Tuple to Enum Object 545・printf 651・Length of String 2 2059・Drop String 151・Query String Parser 274・Integers Comparator 476・Sum 517・Multiply
#this6・Simple Vue 1290・Pinia
#tuple18・Length of Tuple 3312・Parameters 10・Tuple to Union 3192・Reverse 3326・BEM style string 4471・Zip 4484・IsTuple 4499・Chunk 4518・Fill 399・Tuple Filter 472・Tuple to Enum Object 730・Union to Tuple 2822・Split
#union4・Pick 3・Omit 10・Tuple to Union 62・Type Lookup 296・Permutation 531・String to Union 1042・IsNever 3326・BEM style string 5117・Without 730・Union to Tuple 1383・Camelize
#utils268・If 1042・IsNever 55・Union to Intersection 57・Get Required 59・Get Optional 89・Required Keys 90・Optional Keys 223・IsAny 270・Typed Get 2828・ClassPublicKeys 2857・IsRequiredKey 5181・Mutable Keys 5・Get Readonly Keys
#vue6・Simple Vue 213・Vue Basic Props 1290・Pinia
          

Upcoming challenges

🔥 Start the challenge in TypeScript Playground

Recommended Readings

Official

Articles

Projects / Solutions

TODO

How to Contribute

There are several ways you can contribute to this project

  • Share your answers / solutions
  • Propose new challenges
  • Add more test cases to the existing challenges
  • Provide learning resources or ideas of how to solve challenges
  • Share the problems you have faced in real-world projects, regardless you having the solution or not - the community would help you as well
  • Help with others by discussion in issues
  • Contribute the infra of this project TODOs.md

Just open an issue and choose the corresponding template. Thanks!

Thanks

This project was born from solving real-world types problem with @hardfist and @MeCKodo. And great thanks to @sinoon who contributed a lot while giving early feedback on this project.

Inspired by

Contributors

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].