Advertisement
twokay

lit capture error json

Apr 1st, 2024
649
0
131 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
TypeScript 1.37 KB | Source Code | 0 0
  1. import {LitElement, html} from 'lit';
  2. import {customElement, property} from 'lit/decorators.js';
  3. import {Task} from '@lit/task';
  4. import type {DnsRecord} from "../types/dns"
  5.  
  6. @customElement('dns-entry')
  7. class DnsEntry extends LitElement {
  8.   @property()
  9.   public entryid?: string;
  10.  
  11.   private _entryTask = new Task(this, {
  12.     task: async ([entryId], {signal}) => {
  13.       const response = await fetch(`https://dns.api.local.entitywind.io/heartbeat`, {
  14.         method: "POST", mode: 'no-cors', headers: {
  15.           'Accept': 'application/json',
  16.           'Content-Type': 'application/json',
  17.         },
  18.         body: JSON.stringify({a: 1, b: 'Textual content', c: this.entryid}),
  19.  
  20.         signal
  21.       });
  22.       if (!response.ok) {
  23.         let t = await response.json()
  24.         throw new Error(`${t} ${response.status}`);
  25.       }
  26.       return await response.json() as Promise<DnsRecord>
  27.     },
  28.     args: () => [this.entryid]
  29.   });
  30.  
  31.   render() {
  32.     return this._entryTask.render({
  33.       pending: () => html`<p>Loading dns record...</p>`,
  34.       complete: (dnsRecord) => html`
  35.         <ul>
  36.           <li>${dnsRecord.domain}</li>
  37.           <li>${dnsRecord.ttl}</li>
  38.           <li>${dnsRecord.class}</li>
  39.           <li>${dnsRecord.recordType}</li>
  40.           <li>${dnsRecord.record}</li>
  41.         </ul>
  42.       `,
  43.       error: (e) => html`<p>Error: ${e}</p>`
  44.     });
  45.   }
  46. }
  47.  
Tags: lit error
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement