Browse Source

Fix typing errors from the refactoring

new-web-push
Matthew Raymer 1 year ago
parent
commit
5b5c631001
  1. 231
      sample.txt
  2. 6
      src/libs/endorserServer.ts
  3. 39
      src/views/AccountViewView.vue

231
sample.txt

@ -6,65 +6,172 @@ All browser targets in the browserslist configuration have supported ES module.
Therefore we don't build two separate bundles for differential loading. Therefore we don't build two separate bundles for differential loading.
ERROR Failed to compile with 6 errors8:44:37 PM WARNING Compiled with 5 warnings6:06:43 PM
error in ./src/views/AccountViewView.vue?vue&type=script&lang=ts [eslint]
/home/matthew/projects/kick-starter-for-time-pwa/src/components/World/components/objects/landmarks.js
Module not found: Error: Package path ./index is not exported from package /home/matthew/projects/kick-starter-for-time-pwa/node_modules/axios (see exports field in /home/matthew/projects/kick-starter-for-time-pwa/node_modules/axios/package.json) 98:11 warning Unexpected console statement no-console
133:7 warning Unexpected console statement no-console
error in src/libs/endorserServer.ts:226:53 144:5 warning Unexpected console statement no-console
TS18047: 'error' is possibly 'null'. /home/matthew/projects/kick-starter-for-time-pwa/src/router/index.ts
224 | error instanceof Error 210:3 warning Unexpected console statement no-console
225 | ? error.message
> 226 | : typeof error === "object" && "message" in error /home/matthew/projects/kick-starter-for-time-pwa/src/views/AccountViewView.vue
| ^^^^^ 362:7 warning Unexpected console statement no-console
227 | ? (error as { message: string }).message 375:7 warning Unexpected console statement no-console
228 | : "Unknown error"; 404:7 warning Unexpected console statement no-console
229 | 516:7 warning Unexpected console statement no-console
536:7 warning Unexpected console statement no-console
error in src/views/AccountViewView.vue:474:29 630:5 warning Unexpected console statement no-console
682:7 warning Unexpected console statement no-console
TS2304: Cannot find name 'IdentityType'.
472 | * @param {IdentityType} identity - Object containing identity information. /home/matthew/projects/kick-starter-for-time-pwa/src/views/ContactAmountsView.vue
473 | */ 206:9 warning Unexpected console statement no-console
> 474 | processIdentity(identity: IdentityType) { 233:9 warning Unexpected console statement no-console
| ^^^^^^^^^^^^
475 | this.publicHex = identity.keys[0].publicKeyHex; /home/matthew/projects/kick-starter-for-time-pwa/src/views/ContactGiftingView.vue
476 | this.publicBase64 = Buffer.from(this.publicHex, "hex").toString("base64"); 244:9 warning Unexpected console statement no-console
477 | this.derivationPath = identity.keys[0].meta.derivationPath; 267:7 warning Unexpected console statement no-console
error in src/views/AccountViewView.vue:491:7 /home/matthew/projects/kick-starter-for-time-pwa/src/views/ContactsView.vue
340:9 warning Unexpected console statement no-console
TS18046: 'err' is of type 'unknown'. 577:9 warning Unexpected console statement no-console
489 | handleError(err: unknown) {
490 | if ( /home/matthew/projects/kick-starter-for-time-pwa/src/views/DiscoverView.vue
> 491 | err.message === 315:9 warning Unexpected console statement no-console
| ^^^ 343:7 warning Unexpected console statement no-console
492 | "Attempted to load account records with no identity available." 390:9 warning Unexpected console statement no-console
493 | ) { 423:7 warning Unexpected console statement no-console
494 | this.limitsMessage = "No identity."; 532:9 warning Unexpected console statement no-console
575:7 warning Unexpected console statement no-console
error in src/views/AccountViewView.vue:645:34
/home/matthew/projects/kick-starter-for-time-pwa/src/views/HomeView.vue
TS2345: Argument of type 'unknown' is not assignable to parameter of type 'Error | AxiosError<unknown, any>'. 349:9 warning Unexpected console statement no-console
643 | } 498:9 warning Unexpected console statement no-console
644 | } catch (error) { 521:7 warning Unexpected console statement no-console
> 645 | this.handleRateLimitsError(error);
| ^^^^^ /home/matthew/projects/kick-starter-for-time-pwa/src/views/IdentitySwitcherView.vue
646 | } 142:7 warning Unexpected console statement no-console
647 |
648 | this.loadingLimits = false; /home/matthew/projects/kick-starter-for-time-pwa/src/views/ImportAccountView.vue
123:9 warning Unexpected console statement no-console
error in src/views/AccountViewView.vue:726:40
/home/matthew/projects/kick-starter-for-time-pwa/src/views/ImportDerivedAccountView.vue
TS2345: Argument of type 'Account' is not assignable to parameter of type 'IAccount'. 159:7 warning Unexpected console statement no-console
Property 'privateHex' is missing in type 'Account' but required in type 'IAccount'.
724 | await db.settings.update(MASTER_SETTINGS_KEY, { activeDid: account.did }); /home/matthew/projects/kick-starter-for-time-pwa/src/views/NewEditProjectView.vue
725 | 183:9 warning Unexpected console statement no-console
> 726 | this.updateActiveAccountProperties(account); 215:7 warning Unexpected console statement no-console
| ^^^^^^^ 297:13 warning Unexpected console statement no-console
727 | } 320:11 warning Unexpected console statement no-console
728 | 345:7 warning Unexpected console statement no-console
729 | /**
/home/matthew/projects/kick-starter-for-time-pwa/src/views/ProjectViewView.vue
387:9 warning Unexpected console statement no-console
421:7 warning Unexpected console statement no-console
457:7 warning Unexpected console statement no-console
552:9 warning Unexpected console statement no-console
554:11 warning Unexpected console statement no-console
/home/matthew/projects/kick-starter-for-time-pwa/src/views/ProjectsView.vue
131:9 warning Unexpected console statement no-console
144:7 warning Unexpected console statement no-console
221:9 warning Unexpected console statement no-console
237:7 warning Unexpected console statement no-console
/home/matthew/projects/kick-starter-for-time-pwa/src/views/SeedBackupView.vue
94:7 warning Unexpected console statement no-console
✖ 44 problems (0 errors, 44 warnings)
You may use special comments to disable some warnings.
Use // eslint-disable-next-line to ignore the next line.
Use /* eslint-disable */ to ignore all warnings in a file.
warning
/models/lupine_plant/textures/lambert2SG_baseColor.png is 3.75 MB, and won't be precached. Configure maximumFileSizeToCacheInBytes to change this limit.
warning
/models/lupine_plant/textures/lambert2SG_normal.png is 4.91 MB, and won't be precached. Configure maximumFileSizeToCacheInBytes to change this limit.
warning
asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets:
js/project.44f30c9f.js (318 KiB)
js/statistics.8a97010a.js (586 KiB)
js/chunk-vendors.a4845bfb.js (411 KiB)
js/705.f6a6ce2a.js (252 KiB)
img/textures/leafy-autumn-forest-floor.jpg (705 KiB)
models/lupine_plant/textures/lambert2SG_baseColor.png (3.58 MiB)
models/lupine_plant/textures/lambert2SG_normal.png (4.69 MiB)
warning
entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
app (447 KiB)
js/chunk-vendors.a4845bfb.js
css/app.8f21529c.css
js/app.8833cebc.js
File Size Gzipped
dist/js/statistics.8a97010a.js 585.72 KiB 148.80 KiB
dist/js/chunk-vendors.a4845bfb.js 411.44 KiB 137.82 KiB
dist/js/project.44f30c9f.js 317.61 KiB 78.67 KiB
dist/js/705.f6a6ce2a.js 251.66 KiB 87.12 KiB
dist/js/891.33615e4f.js 147.32 KiB 42.09 KiB
dist/js/153.e2c8e249.js 146.26 KiB 42.21 KiB
dist/js/820.13565d16.js 66.10 KiB 18.33 KiB
dist/js/contact-qr.e170ec33.js 54.85 KiB 15.63 KiB
dist/js/772.7b4c53a7.js 30.29 KiB 7.21 KiB
dist/js/361.898a4525.js 27.40 KiB 8.19 KiB
dist/js/account.77d86130.js 17.51 KiB 5.93 KiB
dist/js/app.8833cebc.js 17.31 KiB 5.84 KiB
dist/js/contacts.3fc90ff8.js 16.94 KiB 5.52 KiB
dist/js/discover.24106939.js 15.30 KiB 5.22 KiB
dist/js/536.3bb13201.js 15.23 KiB 4.84 KiB
dist/workbox-5b385ed2.js 14.11 KiB 4.93 KiB
dist/js/home.218b99dd.js 13.89 KiB 4.97 KiB
dist/js/help.50d3117b.js 12.49 KiB 4.38 KiB
dist/js/projects.417a6cb7.js 8.71 KiB 3.00 KiB
dist/js/contact-amounts.a32b0ccd.js 8.44 KiB 3.25 KiB
dist/js/229.120e09bf.js 7.99 KiB 2.72 KiB
dist/js/identity-switcher.c7937333.js 7.44 KiB 2.52 KiB
dist/js/new-edit-project.0552181b.js 7.36 KiB 3.11 KiB
dist/js/300.dcaeb2a3.js 6.56 KiB 3.24 KiB
dist/js/seed-backup.76a0f7b3.js 3.99 KiB 1.97 KiB
dist/js/import-derive.c688d4b8.js 3.81 KiB 1.82 KiB
dist/js/import-account.c3fa35fd.js 3.54 KiB 1.66 KiB
dist/js/new-edit-account.bb763be2.js 3.39 KiB 1.51 KiB
dist/js/431.5a6d64e0.js 3.38 KiB 2.56 KiB
dist/service-worker.js 3.37 KiB 1.38 KiB
dist/js/scan-contact.46be989a.js 2.79 KiB 1.18 KiB
dist/js/start.091a7740.js 2.70 KiB 1.30 KiB
dist/js/new-identifier.bb379420.js 2.12 KiB 1.18 KiB
dist/js/93.b873dbbf.js 2.08 KiB 1.61 KiB
dist/js/new-edit-commitment.9248d367.j 1.96 KiB 1.05 KiB
s
dist/js/confirm-contact.02004d1d.js 1.89 KiB 1.04 KiB
dist/js/858.ae4c08ec.js 0.97 KiB 0.78 KiB
dist/css/app.8f21529c.css 18.41 KiB 4.39 KiB
dist/css/discover.73ee9bd3.css 14.77 KiB 6.25 KiB
dist/css/new-edit-project.73ee9bd3.css 14.77 KiB 6.25 KiB
dist/css/contacts.abb5e493.css 0.40 KiB 0.23 KiB
dist/css/contact-amounts.5b26ccd4.css 0.31 KiB 0.20 KiB
dist/css/home.828bc66e.css 0.25 KiB 0.19 KiB
dist/css/project.828bc66e.css 0.25 KiB 0.19 KiB
dist/css/statistics.828bc66e.css 0.25 KiB 0.19 KiB
Images and other types of assets omitted.
Build at: 2023-09-07T10:06:43.972Z - Hash: 2b39fcd4d0e78263 - Time: 32016ms
DONE Build complete. The dist directory is ready to be deployed.
INFO Check out deployment instructions at https://cli.vuejs.org/guide/deployment.html

6
src/libs/endorserServer.ts

@ -221,9 +221,11 @@ export async function createAndSubmitGive(
return { type: "success", response }; return { type: "success", response };
} catch (error: unknown) { } catch (error: unknown) {
const errorMessage: string = const errorMessage: string =
error instanceof Error error === null
? "Null error"
: error instanceof Error
? error.message ? error.message
: typeof error === "object" && "message" in error : typeof error === "object" && error !== null && "message" in error
? (error as { message: string }).message ? (error as { message: string }).message
: "Unknown error"; : "Unknown error";

39
src/views/AccountViewView.vue

@ -287,7 +287,7 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { AxiosError } from "axios/index"; import { AxiosError } from "axios";
import "dexie-export-import"; import "dexie-export-import";
import { Component, Vue } from "vue-facing-decorator"; import { Component, Vue } from "vue-facing-decorator";
import { useClipboard } from "@vueuse/core"; import { useClipboard } from "@vueuse/core";
@ -313,7 +313,7 @@ interface Notification {
interface IAccount { interface IAccount {
did: string; did: string;
publicKeyHex: string; publicKeyHex: string;
privateHex: string; privateHex?: string;
derivationPath: string; derivationPath: string;
} }
@ -471,15 +471,24 @@ export default class AccountViewView extends Vue {
* Processes the identity and updates the component's state. * Processes the identity and updates the component's state.
* @param {IdentityType} identity - Object containing identity information. * @param {IdentityType} identity - Object containing identity information.
*/ */
processIdentity(identity: IdentityType) { processIdentity(identity: IIdentifier) {
this.publicHex = identity.keys[0].publicKeyHex; if (
this.publicBase64 = Buffer.from(this.publicHex, "hex").toString("base64"); identity &&
this.derivationPath = identity.keys[0].meta.derivationPath; identity.keys &&
identity.keys.length > 0 &&
identity.keys[0].meta
) {
this.publicHex = identity.keys[0].publicKeyHex;
this.publicBase64 = Buffer.from(this.publicHex, "hex").toString("base64");
this.derivationPath = identity.keys[0].meta.derivationPath;
db.settings.update(MASTER_SETTINGS_KEY, { db.settings.update(MASTER_SETTINGS_KEY, {
activeDid: identity.did, activeDid: identity.did,
}); });
this.checkLimitsFor(identity); this.checkLimitsFor(identity);
} else {
// Handle the case where any of these are null or undefined
}
} }
/** /**
@ -488,8 +497,9 @@ export default class AccountViewView extends Vue {
*/ */
handleError(err: unknown) { handleError(err: unknown) {
if ( if (
err instanceof Error &&
err.message === err.message ===
"Attempted to load account records with no identity available." "Attempted to load account records with no identity available."
) { ) {
this.limitsMessage = "No identity."; this.limitsMessage = "No identity.";
this.loadingLimits = false; this.loadingLimits = false;
@ -665,16 +675,19 @@ export default class AccountViewView extends Vue {
* *
* @param {AxiosError | Error} error - The error object. * @param {AxiosError | Error} error - The error object.
*/ */
private handleRateLimitsError(error: AxiosError | Error) { private handleRateLimitsError(error: unknown) {
if (error instanceof AxiosError) { if (error instanceof AxiosError) {
const data = error.response?.data as ErrorResponse; const data = error.response?.data as ErrorResponse;
this.limitsMessage = data?.error?.message || "Bad server response."; this.limitsMessage = data?.error?.message || "Bad server response.";
console.error("Bad response retrieving limits:", error); console.error("Bad response retrieving limits:", error);
} else if ( } else if (
error instanceof Error &&
error.message === error.message ===
"Attempted to load Give records with no identity available." "Attempted to load Give records with no identity available."
) { ) {
this.limitsMessage = "No identity."; this.limitsMessage = "No identity.";
} else {
// Handle other unknown errors
} }
} }

Loading…
Cancel
Save