Fix return type on funcs in matrixClient to be optionally null#2488
Fix return type on funcs in matrixClient to be optionally null#2488t3chguy merged 1 commit intomatrix-org:developfrom
Conversation
src/client.ts
Outdated
| public getAccessToken(): string | undefined { | ||
| return this.http.opts.accessToken || null; |
There was a problem hiding this comment.
These lines contradict each other, undefined != null
There was a problem hiding this comment.
good point! still learning typescript.
a brief tour of the docs says
-
undefined is a type, null is an object, https://stackoverflow.com/questions/5076944/what-is-the-difference-between-null-and-undefined-in-javascript Declaring the type to be undefined and then returning null makes sense to me but it's wrong! and will fail type checking in later versions of typescript
-
we should probably use undefined everywhere https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines#null-and-undefined but we're not, and I see the utility of null
-
there are a couple more places we do this, i'll update this pr to use
| nulland fix the rest
The value can be null, but the type was just string or a type tests: Ran all tests
t3chguy
left a comment
There was a problem hiding this comment.
Looks sane to me, thanks for this!!
* Send call version `1` as a string (#2471) * test typescriptification - backup.spec (#2468) * renamed: spec/unit/crypto/crypto-utils.js -> spec/unit/crypto/crypto-utils.ts * ts fixes in crypto-utils * renamed: spec/unit/crypto/backup.spec.js -> spec/unit/crypto/backup.spec.ts * ts fixes in backup.spec * remove fit * remove debug * Prepare changelog for v19.0.0-rc.1 * v19.0.0-rc.1 * Update jest monorepo (#2476) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update all (#2475) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update dependency @types/jest to v28 (#2478) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Fix call.collectCallStats() (#2480) Regressed by #2352 (you can just use RTCStatsReport as an iterator directly (which was was what that code was doing before) which uses entries( which gives you key/value pairs, but using forEach gives you just the value. * Go back to forEach in collectcallstats (#2481) Older typescript library doesn't know about .values() on the stats object, so it was failing in react sdk which had an older typescript. matrix-org/matrix-react-sdk#8935 was an attempt to upgrade it but did not seem to be helping on CI, despite being fine locally. * Update babel monorepo to v7.18.6 (#2477) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Expose KNOWN_SAFE_ROOM_VERSION (#2474) * Fix return type on funcs in matrixClient to be optionally null (#2488) * Update pull_request.yaml (#2490) * Lock file maintenance (#2491) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Prepare changelog for v19.0.0 * v19.0.0 * Resetting package fields for development * Improve VoIP integrations testing (#2495) * Remove MSC3244 support (#2504) * Actually store the identity server in the client when given as an option (#2503) * Actually store the identity server in the client when given as an option * Update requestRegisterEmailToken to a modern spec version too * Properly re-insert room ID in bundled thread relation messages from sync (#2505) Events returned by the `/sync` endpoint, including relations bundled with other events, may have their `room_id`s stripped out. This causes decryption errors if the IDs aren't repopulated. Fixes element-hq/element-web#22094. * Remove `setNow` from `realtime-callbacks.ts` (#2509) Signed-off-by: Šimon Brandner <[email protected]> * Remove dead code (#2510) * Don't crash with undefined room in `processBeaconEvents()` (#2500) * Add a basic PR checklist for all PRs (#2511) It'll be mildly annoying for core developers who have to constantly remove or edit this, but it'll also serve as a good reminder to do these things. Note that signoff is not required for core developers. * Fix tests Co-authored-by: Šimon Brandner <[email protected]> Co-authored-by: Kerry <[email protected]> Co-authored-by: RiotRobot <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Weimann <[email protected]> Co-authored-by: texuf <[email protected]> Co-authored-by: Michael Telatynski <[email protected]> Co-authored-by: Travis Ralston <[email protected]> Co-authored-by: Faye Duxovni <[email protected]>
The value can be undefined, but the type was just string
tests: Ran all tests
signed-off-by: austin ellis [email protected]
notes: none
This change is marked as an internal change (Task), so will not be included in the changelog.