diff --git a/src/generators/metadata/maps/builtin.json b/src/generators/metadata/maps/builtin.json index 06fa4575..5601f242 100644 --- a/src/generators/metadata/maps/builtin.json +++ b/src/generators/metadata/maps/builtin.json @@ -1,5 +1,7 @@ { "asynciterable": "https://tc39.github.io/ecma262/#sec-asynciterable-interface", + "iterable": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Iteration_protocols#the_iterable_protocol", + "void": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/void", "module namespace object": "https://tc39.github.io/ecma262/#sec-module-namespace-exotic-objects", "null": "https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type", "undefined": "https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type", diff --git a/src/generators/metadata/utils/__tests__/transformers.test.mjs b/src/generators/metadata/utils/__tests__/transformers.test.mjs index cbb5836e..7405ddcb 100644 --- a/src/generators/metadata/utils/__tests__/transformers.test.mjs +++ b/src/generators/metadata/utils/__tests__/transformers.test.mjs @@ -55,10 +55,13 @@ describe('transformTypeToReferenceLink', () => { ); }); - it('should handle outer unions with generics like {Promise | boolean}', () => { + it('should handle outer unions with generics like {Promise | Iterable}', () => { strictEqual( - transformTypeToReferenceLink('{Promise | boolean}', {}), - '[``](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[``](https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type) | [``](https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#number_type)> | [``](https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#boolean_type)' + transformTypeToReferenceLink( + '{Promise | Iterable}', + {} + ), + '[``](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[``](https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type) | [``](https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#number_type)> | [``](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Iteration_protocols#the_iterable_protocol)<[``](https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#boolean_type)>' ); }); @@ -105,7 +108,7 @@ describe('transformTypeToReferenceLink', () => { '(cb: ([first, second]: string[]) => void) => ({ id, name }: User) => boolean'; const expected = - '(cb: ([first, second]: [``](https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type)[]) => ``) => ({ id, name }: [``](userLink)) => [``](https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#boolean_type)'; + '(cb: ([first, second]: [``](https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type)[]) => [``](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/void)) => ({ id, name }: [``](userLink)) => [``](https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#boolean_type)'; strictEqual( transformTypeToReferenceLink(input, { User: 'userLink' }),