{"id":21680125,"url":"https://github.com/matthisk/beyond-ts-101","last_synced_at":"2026-04-15T22:35:34.501Z","repository":{"id":71360886,"uuid":"216578460","full_name":"matthisk/beyond-ts-101","owner":"matthisk","description":"Code samples for my talk \"Beyond TypeScript 101\"","archived":false,"fork":false,"pushed_at":"2019-10-22T08:01:16.000Z","size":86298,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-20T10:34:08.068Z","etag":null,"topics":["meetup","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matthisk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-21T13:43:26.000Z","updated_at":"2025-02-23T10:03:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"551b767f-e589-4d97-aa24-5b42b5110dc4","html_url":"https://github.com/matthisk/beyond-ts-101","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/matthisk/beyond-ts-101","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthisk%2Fbeyond-ts-101","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthisk%2Fbeyond-ts-101/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthisk%2Fbeyond-ts-101/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthisk%2Fbeyond-ts-101/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthisk","download_url":"https://codeload.github.com/matthisk/beyond-ts-101/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthisk%2Fbeyond-ts-101/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263818950,"owners_count":23516092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["meetup","typescript"],"created_at":"2024-11-25T15:14:36.301Z","updated_at":"2026-04-15T22:35:34.495Z","avatar_url":"https://github.com/matthisk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 👨🏼‍💻 Beyond TypeScript 101\n\nThese are the code examples for my talk given at \"The Frontend Meetup @ Xebia\" on october 21st.\n\n## Talk Description\n\nSo you know how to type a literal or write an interface, now it is time for the next step. In the talk \"Beyond TypeScript 101\" I will explain how the TypeScript compiler can type-check dynamic code. To check code that dynamically reads or writes properties we need to be able to alter types. There exist several techniques in the TypeScript language to perform these alterations, we will look at index types, mapped types and some of the type level methods available in the TypeScript standard library. These constructs can help you guard your code from type errors while still leveraging the power of the underlying dynamic runtime.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthisk%2Fbeyond-ts-101","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatthisk%2Fbeyond-ts-101","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthisk%2Fbeyond-ts-101/lists"}