{"id":37840999,"url":"https://github.com/gitrust/typescript-sandbox","last_synced_at":"2026-01-16T16:00:09.302Z","repository":{"id":204953361,"uuid":"165200964","full_name":"gitrust/typescript-sandbox","owner":"gitrust","description":"This repository is a Typescript sandbox where I try\u0026test Typescript functionality","archived":false,"fork":false,"pushed_at":"2019-01-30T13:28:47.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2023-11-01T19:33:10.287Z","etag":null,"topics":["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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gitrust.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-01-11T07:42:04.000Z","updated_at":"2023-11-01T19:33:11.892Z","dependencies_parsed_at":null,"dependency_job_id":"262f86e4-67a4-4b28-95fe-c9593c2aa9f2","html_url":"https://github.com/gitrust/typescript-sandbox","commit_stats":null,"previous_names":["gitrust/typescript-sandbox"],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/gitrust/typescript-sandbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitrust%2Ftypescript-sandbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitrust%2Ftypescript-sandbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitrust%2Ftypescript-sandbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitrust%2Ftypescript-sandbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitrust","download_url":"https://codeload.github.com/gitrust/typescript-sandbox/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitrust%2Ftypescript-sandbox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["typescript"],"created_at":"2026-01-16T16:00:08.599Z","updated_at":"2026-01-16T16:00:09.178Z","avatar_url":"https://github.com/gitrust.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# typescript-sandbox\n\nThis repository is a Typescript sandbox where I try\u0026amp;test Typescript functionality\n\n# Source Code\n\nAll Typescript source files base on Typescript version  3.1.\nAll source file represent sample code where I tried out Typescript functionality.\n\n## Commands\n\nTo compile a typescript into Javascript and run it with `node`.\n\n    tsc ts-file | node js-file.js\n\n## Typescript List\n\nThis list contains some text excerpts and typescript keywords which I found important when reading the type script documentation\n\n- https://www.typescriptlang.org/docs\n- Typescript is a superset of Javascript\n- Type inference\n- Type assertion (casting)\n- *var* declarations have some odd scoping rules\n- By default null and undefined are subtypes of all other types\n- The *never* type represents the type of values that never occur\n- The *never* type is a subtype of, and assignable to, every type\n- Spread operator (spread operator is the opposite of destructuring)\n- Variable capturing\n- Indexable Types ( e.g.: numbers[12] or personsMap[\"Alex\"] )\n- Union Types ( Person | Animal )\n- Block Scoping\n- Re-declarations\n- Shadowing (The act of introducing a new name in a more nested scope)\n- Block-scoped variable capturing\n- IIFE - an Immediately Invoked Function Expression\n- Destructuring\n- Interface with call signature (Function Types)\n- Typescript has contextual typing\n- Indexable Types (with index signatures), two types (string, number)\n- Construct signatures in interfaces are not implementable in classes\n- A class implementing an interface is a contract on what an instance of the class has\n- Like classes, interfaces can extend each other\n- Difference between the static and instance sides of classes\n- A Class has two sides to its type: the static side and the instance side\n- Interfaces extending classes (inherits members but not implementations)\n- Classes inherit properties and methods from base classes\n- In TypeScript, each member is *public* by default\n- A class constructor may also be marked protected (this class can then only be extended)\n- Readonly modifier\n- Constructor Parameter properties are declared by prefixing a parameter with an accessibility modifier or readonly\n- Accessors (getters,setters)\n- Class static properties\n- Contextual Typing\n- Arrow functions  =\u003e (lambdas)\n- Arrow functions capture the *this* where the function is created\n- Arrow functions don't capture *this*, they use it from its enclosing environment\n- Arrow functions cannot be used as constructors\n- In JavaScript, *this* is a variable that’s set when a function is called\n- *this* parameters are fake parameters that come first in the parameter list of a function\n- Generics, Type argument inference\n- Generic classes are only generic over their instance side\n- Putting constraints on generic types (keyof)\n- Enums are real objects that exist at runtime\n- Ambient enums (describe shape of already existing enum types)\n- Type compatibility (structural typing)\n- Type compatibility: only members of target type are considered when checking for compat.\n- Modules are executed in their own scope, not in the global scope\n- One have to use export and import forms to use module members\n- Modules are declarative\n- Modules import one another using a module loader ( Common.js or require.js )\n- Any declaration can be exported by adding the export keyword\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitrust%2Ftypescript-sandbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitrust%2Ftypescript-sandbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitrust%2Ftypescript-sandbox/lists"}