Using identical generic types in both the @param and @returns sections of a function

Is there a way to use JSDoc comments to annotate a function that accepts and returns an object of the same type? For example, something like this:

/** 
* Performs a task and returns an object of the same type
* @param {T extends Object} src Source object 
* @returns {T} An object of the same type
*/
function chainFoo(src) {
  // do some work
  return Object.assign({}, src); // just as an example    
}

Can this be done?

Answer â„–1

To address the issue, you need to define @template T

Here's how it should appear:

/** 
* Performs a task and returns the same type
* @template T
* @param {T} src Source object 
* @returns {T} object of the **same** type
*/
function chainFoo(src) {
  // carry out a task
 return Object.assign({}, src); // just an example    
}

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

The ambiguity surrounding the timing of decorator invocation in TypeScript

My understanding was that decorators in TypeScript are invoked after the constructor of a class. However, I recently learned otherwise. For example, the primary response on this thread suggests that Decorators are called when the class is declared—not wh ...

Calculate the total value of selected checkboxes in every row of the table

I am looking to calculate the total sum of checkboxes for each row in a table Javascript : For Sum $('input[type="checkbox"]').change(function() { var total = 0; $('#mytable tr').each(functi ...

What are some tips for incorporating vue.js into a basic web application?

I've been trying to incorporate vue.js into my web application, but for some reason, it's not loading and the HTML is not firing in the browser. Please take a look at the code snippet below: <!DOCTYPE html> <html> < ...

Fetch begins its journey to retrieve html content before reaching its intended destination

While using fetch to populate a webpage with HTML, the backend server is self-hosted, the DNS is managed with Cloudflare, and Nginx is being used. The application is running on Node.js, Express, and EJS. However, an issue arose where the fetch operation st ...

How can I track monthly data in MongoDB using Mongoose?

My current project involves creating a demonstration using mongodb mongoose. The challenge I am facing is to generate collections based on the month such as SEP_2019, OCT_2019, and DEC_2019. However, it is important to note that all collection schemas are ...

What is the most effective way to utilize an existing table in MySQL with a TypeORM entity?

While working with typeorm to connect to a mysql db, I encountered an issue where my table definition was overwriting an existing table in the database. Is there a way for me to use the entity module to fully inherit from an existing table without causin ...

The error "Property 'user' does not exist on type 'Session'." occurred while attempting to pass session data using express-session and accessing req.session.user

I'm currently working on creating a basic login form for users to access a website, where I plan to store their session data in a session cookie. The express-session documentation provides the following example for setting it up: app.post('/login ...

Creating a transparent background for a Canvas animation with three.js and dat.gui

I'm struggling to set up a background animation on this canvas using three.js. However, the background renders as black instead of transparent. I attempted to adjust it with CSS by adding background-color:transparent;, but to no avail. I've searc ...

Having trouble with the onClick function in React?

Here is my simple react code: Main.js: var ReactDom = require('react-dom'); var Main = React.createClass({ render: function(){ return( <div> <a onClick={alert("hello world")} >hello</a> </ ...

Switch up the picture when you press on it

I have a task involving a table where I want to switch out an image in the <td> when it is clicked, using a URL that I specify beforehand. The URL of the image will be provided when clicking on a link within the page. For example: index.html?type=d ...

Reveal or conceal elements with a touch of animation

I am in the process of building my own website and I've been working on implementing a button that can toggle the visibility of a specific div element. While the functionality is there, I really want to incorporate an animation to enhance it. I attem ...

Evaluating the functionality of download links using Nightwatch.js

My goal is to create an automated test using Nightwatch.js to validate the functionality of software download links. Instead of downloading the files, I simply want to confirm that the links are returning a 200 HTTP response, indicating that they are direc ...

Error: The injected script in Angular 2 using JSONP did not trigger the specified callback function

I am currently utilizing Angular 2.RC4 along with typescript Within my class, I have the following data: import {Injectable, Injector, ReflectiveInjector} from '@angular/core'; import { Http, Response, Headers, RequestOptions, HTTP_PROV ...

Slow auto page refresh in local development for Angular2 on Windows can be quite frustrating

Recently diving into angular2 and following the heros tutorial from docs. Struggling with a sluggish development experience while working with angular2. It's taking approximately 5 seconds for angular2 to recognize changes in files, followed by anothe ...

Implementing custom routing in Express based on specific route parameter values

Scenario I am currently working with a route that has the following structure: router.get('/api/v1/tokens/:token_name', middleware1, middleware2) While this setup works well for most values of token_name, I now need to incorporate special handl ...

What is the best way to retrieve data from ng-controller to use in the 'src' attribute of an <img> tag?

Check out this snippet of HTML: <div data-ng-controller="sampleCtrl" > <ul data-ng-repeat="item in sampleData"> <li class="message"> <img src="img-source" width="30" height="30"> <div class="message-text"> ...

Why is it that one of my useQuery hooks is returning a value while the other one is returning undefined?

I'm currently facing an issue with React Query where one of my useQuery hooks is logging undefined while the other one is displaying the correct data. Both functions are async and perform similar tasks. I've been troubleshooting this problem for ...

How do I retrieve the date from a dynamically generated text field within an ng-repeat loop and pass it

I have a specific issue with accessing the value of dynamically created input text in my web form. The problem arises when using ngRepeat to manage items, particularly with $scope.newValueItem being undefined. How can I retrieve the value from dynamically ...

Printing doesn't display CSS styling

I am currently working on creating a function to change the font color, however, I am facing issues with the CSS when it comes to printing. Here is the code I have: $('#draw').on('click', 'p', function () { if($(this).ha ...

Creating a three-row CSS layout where the middle row aligns to the right side

I am working on developing a mobile device layout with 3 blocks. The first and third blocks contain text fields, while the second block is filled with a map. However, all of my blocks don't look good when they are too wide. The browser window can have ...