{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":325283778,"defaultBranch":"main","name":"stc","ownerLogin":"dudykr","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-12-29T12:41:02.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/56416142?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1685266618.867947","currentOid":""},"activityList":{"items":[{"before":"fa1547038db4caa39543843b314c8ebdf1a7b815","after":"34abe15fab75bd28122be339d739980cd2312d49","ref":"refs/heads/main","pushedAt":"2023-11-17T00:59:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"chore: Update TypeScript from `v4.3.5` to `v5.1.3` (#1105)","shortMessageHtmlLink":"chore: Update TypeScript from v4.3.5 to v5.1.3 (#1105)"}},{"before":"b81ae80cefcddacd814660d64111c3fb326b139e","after":"fa1547038db4caa39543843b314c8ebdf1a7b815","ref":"refs/heads/main","pushedAt":"2023-11-14T13:44:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"feat: Remove extra error at `interfaceExtendsObjectIntersectionErrors` (#1103)\n\n**Description:**\r\n\r\n```ts\r\ninterface I31 extends T { x: string }\r\n```\r\n\r\nI have a concern.\r\n\r\nThe following functions cause duplicate error handling due to duplicate\r\nfunction calls.\r\n\r\n```rs\r\n#[validator]\r\nimpl Analyzer<'_, '_> {\r\n fn validate(&mut self, d: &RTsInterfaceDecl) -> VResult {\r\n let ty = self.with_child(ScopeKind::Flow, Default::default(), |child: &mut Analyzer| -> VResult<_> {\r\n match &*d.id.sym {\r\n \"any\" | \"void\" | \"never\" | \"unknown\" | \"string\" | \"number\" | \"bigint\" | \"boolean\" | \"null\" | \"undefined\" | \"symbol\" => {\r\n child.storage.report(ErrorKind::InvalidInterfaceName { span: d.id.span }.into());\r\n }\r\n _ => {}\r\n }\r\n\r\n let mut ty = Interface {\r\n span: d.span,\r\n name: d.id.clone().into(),\r\n type_params: try_opt!(d.type_params.validate_with(&mut *child).map(|v| v.map(Box::new))),\r\n extends: d.extends.validate_with(child)?.freezed(),\r\n body: d.body.validate_with(child)?,\r\n metadata: Default::default(),\r\n tracker: Default::default(),\r\n };\r\n child.prevent_expansion(&mut ty.body);\r\n ty.body.freeze();\r\n\r\n child.resolve_parent_interfaces(&d.extends, true);\r\n child.report_error_for_conflicting_parents(d.id.span, &ty.extends);\r\n child.report_error_for_wrong_interface_inheritance(d.id.span, &ty.body, &ty.extends);\r\n\r\n let ty = Type::Interface(ty).freezed();\r\n\r\n Ok(ty)\r\n })?;\r\n\r\n // TODO(kdy1): Recover\r\n self.register_type(d.id.clone().into(), ty.clone());\r\n\r\n Ok(ty)\r\n }\r\n}\r\n```\r\n\r\n`child.resolve_parent_interfaces` and\r\n`child.report_error_for_wrong_interface_inheritance` call\r\n`report_error_for_unresolved_type`\r\nthis fn cause `ErrorKind::TypeNotFound`\r\n\r\nThis PR only clogs the hole.\r\n\r\nIf there seems to be a need for fundamental improvement, please open up\r\nthe issue","shortMessageHtmlLink":"feat: Remove extra error at interfaceExtendsObjectIntersectionErrors ("}},{"before":"9e4c9b300e5e37311472d722b1c933a7ee4280dc","after":"b81ae80cefcddacd814660d64111c3fb326b139e","ref":"refs/heads/main","pushedAt":"2023-10-16T04:55:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"fix: Import local type from module and namespace (#1099)\n\n**Description:**\r\n```ts\r\n\r\ndeclare module \"foo2\" {\r\n namespace Bar {\r\n interface I {\r\n a: string;\r\n b: number;\r\n }\r\n }\r\n\r\n namespace Baz {\r\n interface J {\r\n a: number;\r\n b: string;\r\n }\r\n }\r\n\r\n class Bar {\r\n item: Bar.I;\r\n constructor(input: Baz.J);\r\n }\r\n}\r\n\r\nlet y: import(\"foo2\").Bar.I = { a: \"\", b: 0 };\r\n```","shortMessageHtmlLink":"fix: Import local type from module and namespace (#1099)"}},{"before":"bec48cea793b2056f1335da9f2a76d1f988417da","after":"9e4c9b300e5e37311472d722b1c933a7ee4280dc","ref":"refs/heads/main","pushedAt":"2023-10-11T00:48:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"fix: Handle `module-not-found` error occurred while preparing module (#1098)","shortMessageHtmlLink":"fix: Handle module-not-found error occurred while preparing module (#…"}},{"before":"105ff10bc9919857f1c18a30547a2d46ac2dfdbe","after":"bec48cea793b2056f1335da9f2a76d1f988417da","ref":"refs/heads/main","pushedAt":"2023-10-06T06:01:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"feat: Add wasm support for playground (#1082)\n\n**Description:**\r\n\r\nThis PR implements checker behaviors for `wasm` binding. By supporting wasm, implementing playground will become very easy. I also implemented PoC of playground and it works well. I'll contribute on that when this PR is ready and merged.\r\n\r\nDue to the constraints of wasm, there is a few APIs that should not be used. Below is the list.\r\n\r\n- `std::time::Instant`\r\n- `mimalloc_rust` from `swc_node_base`\r\n- All file-system related APIs.\r\n\r\nWe dropped some code to avoid use of the APIs, and this PR contains those changes. I marked this PR as draft; we have to manage them somehow before merge it.\r\n\r\n**Related issue:**\r\n\r\n - #300\r\n - #1021","shortMessageHtmlLink":"feat: Add wasm support for playground (#1082)"}},{"before":"796da7dc81438ef92737a4317c4c70bae296f81c","after":"105ff10bc9919857f1c18a30547a2d46ac2dfdbe","ref":"refs/heads/main","pushedAt":"2023-10-05T01:46:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"chore: Update rust-toolchain to `nightly-2023-10-04` (#1095)","shortMessageHtmlLink":"chore: Update rust-toolchain to nightly-2023-10-04 (#1095)"}},{"before":"174627d58d3cb2d201dfc90ddc84166d70683d7d","after":"796da7dc81438ef92737a4317c4c70bae296f81c","ref":"refs/heads/main","pushedAt":"2023-10-02T06:14:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"feat: Resolve private names and property signatures (#1093)","shortMessageHtmlLink":"feat: Resolve private names and property signatures (#1093)"}},{"before":"21a0da526509e416a253d3a6f404c893635f9a83","after":"174627d58d3cb2d201dfc90ddc84166d70683d7d","ref":"refs/heads/main","pushedAt":"2023-10-02T03:16:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"fix: Freeze the return value of `access_property` (#1094)","shortMessageHtmlLink":"fix: Freeze the return value of access_property (#1094)"}},{"before":"cf8baebfe087e9fc377871754100d9f2b7f86929","after":"21a0da526509e416a253d3a6f404c893635f9a83","ref":"refs/heads/main","pushedAt":"2023-09-22T22:48:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"refactor: Split `analyzer/types/mod.rs` (#1091)","shortMessageHtmlLink":"refactor: Split analyzer/types/mod.rs (#1091)"}},{"before":"8ac1d0dd8ce710c61dd454bb3208f9bcf62d97e4","after":"cf8baebfe087e9fc377871754100d9f2b7f86929","ref":"refs/heads/main","pushedAt":"2023-09-22T22:39:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"feat: Remove panic when `main_source` contains reference comment (#1086)\n\n**Description:**\r\n\r\n```rs\r\nlet main_src = Arc::new(fs::read_to_string(file_name).unwrap());\r\n// Postpone multi-file tests.\r\nif main_src.contains(\"\r\n```\r\n\r\n**Deep Dive**\r\nthis code wrote #487\r\n\r\nI'm guessing it was used as a pass-through because it was a test case\r\nthat was too much for the code to handle at the time.\r\nAnd I don't think it matters if you delete that code now.","shortMessageHtmlLink":"feat: Remove panic when main_source contains reference comment (#1086)"}},{"before":"f390577bcea611fa67d4763998a024ae8d6d7117","after":"8ac1d0dd8ce710c61dd454bb3208f9bcf62d97e4","ref":"refs/heads/main","pushedAt":"2023-09-18T12:37:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"feat: Resolve `panic!` cause by `import.meta` (#1089)\n\n**Description:**\r\n\r\n```ts\r\ndeclare global { interface ImportMeta {foo?: () => void} };\r\n\r\nif (import.meta.foo) {\r\n import.meta.foo();\r\n}\r\n```","shortMessageHtmlLink":"feat: Resolve panic! cause by import.meta (#1089)"}},{"before":"7c45da4fa4a1ba5c38bcf1fede18d8d718cadb17","after":"f390577bcea611fa67d4763998a024ae8d6d7117","ref":"refs/heads/main","pushedAt":"2023-09-14T02:45:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"fix: Fix parsing of numeric literals like `0x9E` (#1087)\n\n**Description:**\r\n\r\n```ts\r\ntype TBigInt2 = \"0x10\" extends `${infer N extends bigint}` ? N : never; // bigint (not round-trippable)\r\ntype TBigInt3 = \"0o10\" extends `${infer N extends bigint}` ? N : never; // bigint (not round-trippable)\r\ntype TBigInt4 = \"0b10\" extends `${infer N extends bigint}` ? N : never; // bigint (not round-trippable)\r\n```","shortMessageHtmlLink":"fix: Fix parsing of numeric literals like 0x9E (#1087)"}},{"before":"804a0beef80180d41d7b66aa055a52671867c40f","after":"7c45da4fa4a1ba5c38bcf1fede18d8d718cadb17","ref":"refs/heads/main","pushedAt":"2023-09-14T01:24:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"fix: Resolve panic about module not found with `es5` (#1088)","shortMessageHtmlLink":"fix: Resolve panic about module not found with es5 (#1088)"}},{"before":"c5a9d98136fc9e27d5e27fb8648c56e04873a17c","after":"804a0beef80180d41d7b66aa055a52671867c40f","ref":"refs/heads/main","pushedAt":"2023-09-11T09:58:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"refactor: Collect use of `std::time::Instant` into dedicated timer module (#1085)","shortMessageHtmlLink":"refactor: Collect use of std::time::Instant into dedicated timer mo…"}},{"before":"13696aebda0ec727b2e885be46b7da03847d76a3","after":"c5a9d98136fc9e27d5e27fb8648c56e04873a17c","ref":"refs/heads/main","pushedAt":"2023-09-11T08:19:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"feat: Improve optional chaining validation (#1084)","shortMessageHtmlLink":"feat: Improve optional chaining validation (#1084)"}},{"before":"90f7c040c49ea49cca0fc44d2fb54f168797418b","after":"13696aebda0ec727b2e885be46b7da03847d76a3","ref":"refs/heads/main","pushedAt":"2023-09-10T08:03:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"refactor: Use `Type::xx` as constructor for readability (#1079)","shortMessageHtmlLink":"refactor: Use Type::xx as constructor for readability (#1079)"}},{"before":"637a99c41c5c51308ea5144a7889d7e848179853","after":"90f7c040c49ea49cca0fc44d2fb54f168797418b","ref":"refs/heads/main","pushedAt":"2023-09-10T07:43:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"feat: Implement error emission about existing file (#1076)\n\n**Related issue:**\r\n\r\n - Part of #705","shortMessageHtmlLink":"feat: Implement error emission about existing file (#1076)"}},{"before":"1ae919e56b68074e5f551c5fdf18c2bde9a8475a","after":"637a99c41c5c51308ea5144a7889d7e848179853","ref":"refs/heads/main","pushedAt":"2023-09-09T03:51:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"refactor: Remove duplicate code (#1080)","shortMessageHtmlLink":"refactor: Remove duplicate code (#1080)"}},{"before":"a354f079198ba7c95ee488963ba6f54d1ac922c8","after":"1ae919e56b68074e5f551c5fdf18c2bde9a8475a","ref":"refs/heads/main","pushedAt":"2023-09-09T03:40:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"refactor: Reduce unused code (#1078)","shortMessageHtmlLink":"refactor: Reduce unused code (#1078)"}},{"before":"f46b724f597e181200807f229f543a1ec0b9606c","after":"a354f079198ba7c95ee488963ba6f54d1ac922c8","ref":"refs/heads/main","pushedAt":"2023-09-01T09:09:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"feat: Implement property access about non-primitive constraints of IAT (#1067)\n\n**Description:**\r\n```ts\r\nfunction l(s: string, tp: T[P]): void {\r\n tp = s;\r\n}\r\nfunction m(s: string, tp: T[P]): void {\r\n tp = s;\r\n}\r\nfunction f(s: string, tp: T[P]): void {\r\n tp = s;\r\n}\r\n```","shortMessageHtmlLink":"feat: Implement property access about non-primitive constraints of IAT ("}},{"before":"57e0f3fae1089a7ee6119637ec4e4c3da3fc10f8","after":"f46b724f597e181200807f229f543a1ec0b9606c","ref":"refs/heads/main","pushedAt":"2023-08-24T01:57:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"feat: Union the type of an optional property of a mapped type with `undefined` (#1073)\n\n**Description:**\r\n\r\n```ts\r\nfunction f10(x: T, y: Partial, k: keyof T) {\r\n x[k] = y[k]; // Error\r\n y[k] = x[k];\r\n}\r\n```","shortMessageHtmlLink":"feat: Union the type of an optional property of a mapped type with `u…"}},{"before":"277b967403b38526a373f5aed05c0320f744feb4","after":"57e0f3fae1089a7ee6119637ec4e4c3da3fc10f8","ref":"refs/heads/main","pushedAt":"2023-08-20T12:20:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"feat: Implement `assign` about indexed access types (#1071)\n\n**Description:**\r\n\r\n```ts\r\ntype A = 1 | 2;\r\nfunction f(a: T): A & T { return a; } // Shouldn't error\r\n```","shortMessageHtmlLink":"feat: Implement assign about indexed access types (#1071)"}},{"before":"96ad01d46cd8920d08479e357d9e8da56e6e98da","after":"277b967403b38526a373f5aed05c0320f744feb4","ref":"refs/heads/main","pushedAt":"2023-08-20T03:27:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"fix: Fix panic from `parse().unwrap()` at generic inference (#1070)\n\n**Description:**\r\n\r\n```rs\r\n if r.is_num() {\r\n match src.parse() {\r\n Ok(v) => {\r\n return Type::Lit(LitType {\r\n span,\r\n lit: RTsLit::Number(RNumber { span, value: v, raw: None }),\r\n metadata: Default::default(),\r\n tracker: Default::default(),\r\n })\r\n }\r\n Err(..) => {\r\n return Type::Keyword(KeywordType {\r\n span,\r\n kind: TsKeywordTypeKind::TsNumberKeyword,\r\n metadata: Default::default(),\r\n tracker: Default::default(),\r\n })\r\n }\r\n }\r\n }\r\n```","shortMessageHtmlLink":"fix: Fix panic from parse().unwrap() at generic inference (#1070)"}},{"before":"d5a01edccca9cf31d577e7cdb530651e501ddc13","after":"96ad01d46cd8920d08479e357d9e8da56e6e98da","ref":"refs/heads/main","pushedAt":"2023-08-20T03:16:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"feat: Support accessing nom primitive constraint of an empty object (#1072)\n\n**Description:**\r\n\r\n```ts\r\nfunction l(s: string, tp: T[P]): void {\r\n tp = s;\r\n}\r\n```","shortMessageHtmlLink":"feat: Support accessing nom primitive constraint of an empty object (#…"}},{"before":"a04f4b13f2afe89f435f6af5cbfe6f1bb0cf89fd","after":"d5a01edccca9cf31d577e7cdb530651e501ddc13","ref":"refs/heads/main","pushedAt":"2023-08-17T20:02:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"test: Support more directives in file analyzer testing system (#1069)\n\n**Description:**\r\n\r\nWhen comparing TSC to error, we took the error results from ACTUAL.\r\n\r\nIn actual, the rules for each file were not applied properly,\r\nAs a result, tests like strictNullCheck didn't work correctly.\r\n\r\nTo fix this, we unified the env import code within the tests.","shortMessageHtmlLink":"test: Support more directives in file analyzer testing system (#1069)"}},{"before":"f78187b937c25de240b7196b9b8cae6bc9a059fc","after":"a04f4b13f2afe89f435f6af5cbfe6f1bb0cf89fd","ref":"refs/heads/main","pushedAt":"2023-08-15T05:34:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"test: Update `conformance` test error message format (#1068)","shortMessageHtmlLink":"test: Update conformance test error message format (#1068)"}},{"before":"92191dc1e10504d00cb08edb9a155123885b8841","after":"f78187b937c25de240b7196b9b8cae6bc9a059fc","ref":"refs/heads/main","pushedAt":"2023-08-14T09:46:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"refactor: Create `Type::get_any_key_type` (#1066)","shortMessageHtmlLink":"refactor: Create Type::get_any_key_type (#1066)"}},{"before":"e6e4c6320d5ad6965ff53600ea9eab275cdf38b3","after":"92191dc1e10504d00cb08edb9a155123885b8841","ref":"refs/heads/main","pushedAt":"2023-08-13T13:54:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"feat: Support more `keyof` for `IndexedAccessType`s (#1065)\n\n**Description:**\r\n\r\n```ts\r\nfunction f90(x1: S2[keyof S2], x2: T[keyof S2], x3: S2[K]) {\r\n x1 = x2;\r\n x1 = x3;\r\n x2 = x1;\r\n x2 = x3;\r\n x3 = x1;\r\n x3 = x2;\r\n x1.length;\r\n x2.length;\r\n x3.length;\r\n}\r\n```","shortMessageHtmlLink":"feat: Support more keyof for IndexedAccessTypes (#1065)"}},{"before":"0130bbe856f2582d5f50b3241bf72afe46ea6b22","after":"e6e4c6320d5ad6965ff53600ea9eab275cdf38b3","ref":"refs/heads/main","pushedAt":"2023-08-13T13:20:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"test: Handle `.` in conformance test resolver (#1064)","shortMessageHtmlLink":"test: Handle . in conformance test resolver (#1064)"}},{"before":"9d957b449ee6f0b4902c2a1bad5d15caf66c51ee","after":"0130bbe856f2582d5f50b3241bf72afe46ea6b22","ref":"refs/heads/main","pushedAt":"2023-08-10T03:28:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"feat: Implement `this` types in method parameters (#1062)\n\n**Description:**\r\n\r\n```ts\r\n// @strictNullChecks: true\r\n// @declaration: true\r\n\r\n\r\nclass A {\r\n\tprops: T & { foo: string };\r\n}\r\n\r\nclass B extends A<{ x: number}> {\r\n\tf(p: this[\"props\"]) {\r\n\t\tp.x;\r\n\t}\r\n}\r\n```","shortMessageHtmlLink":"feat: Implement this types in method parameters (#1062)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADsS03dgA","startCursor":null,"endCursor":null}},"title":"Activity · dudykr/stc"}