Skip to content

Revisit cloneWith function #739

Open
@pokey

Description

@pokey

Defined in BaseTarget.

readonly cloneWith = (parameters: CloneWithParameters) => {
const constructor = Object.getPrototypeOf(this).constructor;
return new constructor({
...this.getCloneParameters(),
...parameters,
});
};

It uses any, so programmer can forget clone parameters without Typescript detecting it. Possible solutions:

  • Enable explicit-function-return-type to force programmer to strongly type their clone parameters
  • Move implementation to derived types, maybe with a utility function that they can use?
  • Figure out a way to make it strongly typed in the base class?

Metadata

Metadata

Assignees

No one assigned

    Labels

    code qualityImprovements to code quality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions