Skip to content

Conversation

frost-cy
Copy link
Contributor

…ed in the constructor.

Motivation for features / changes

When public class fields are enabled, such cases throw a TS error similar to this.

third_party/javascript/angular_components/src/cdk/platform/platform.ts:37:29 - error TS2729: Property '_platformId' is used before its initialization.

37   isBrowser: boolean = this._platformId
                               ~~~~~~~~~~~

  third_party/javascript/angular_components/src/cdk/platform/platform.ts:87:15
    87   constructor(@Inject(PLATFORM_ID) private _platformId: Object) {}
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    '_platformId' is declared here.

This error is fixed by moving the initializer of such class members into the constructor.

This is a no-op change

See go/lsc-fix-properties-used-before-initialization

Technical description of changes

Fix initializer of instance members that reference identifiers declared in the constructor.

Screenshots of UI changes (or N/A)

N/A

Detailed steps to verify changes work correctly (as executed by you)

This is a no-op change

Alternate designs / implementations considered (or N/A)

N/A

@frost-cy frost-cy marked this pull request as ready for review July 17, 2024 20:11
@rileyajones
Copy link
Contributor

Unfortunately our OSS project uses different lint rules. Please run yarn fix-lint. Alternatively patch this commit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants