Hopp til hovedinnhold
Meny

lmfaole.party / designsystem / funksjoner / Les ekstern store

  • Forside
  • Turer
  • Økonomi
  • Slides
  • readExternalStore – Les ekstern store / Read external store

    Om funksjonen

    Formål

    Muliggjør integrasjon mellom to selvstendige apper på samme origin (f.eks. turer/ og okonomi/) ved at én app leser (aldri skriver) rader direkte fra den andres IndexedDB, uten server, uten delt kodebase, og uten at noen av appene trenger å vite om den andre ved oppstart.

    Egner seg for

    • Å vise data fra en annen app i denne løsningen som supplerende kontekst - f.eks. en tur-velger i okonomi/ bygget fra turer/ sine reiser, eller faktisk transaksjonsforbruk i turer/ hentet fra okonomi/ sine transaksjoner.
    • Situasjoner der den andre appen kanskje aldri har vært brukt på denne enheten - funksjonen gir da bare en tom liste, ikke en feil.

    Egner seg ikke for

    • Skriving/endring av data i en annen apps database - funksjonen støtter kun lesing, og skal ikke utvides til å skrive; hver app eier fortsatt sin egen database fullt ut.
    • Oppslag i egen apps database - bruk det vanlige js/shared/db.js-oppsettet direkte, denne funksjonen er kun for å krysse app-grenser.

    Signatur(er)

    readExternalStore(databaseName: string, storeName: string) => Promise<Array<object>>

    Parameter Type Beskrivelse
    databaseNamestringNavnet på den andre appens IndexedDB-database (samme streng som gis til indexedDB.open i dens egen js/shared/db.js).
    storeNamestringNavnet på object store-en som skal leses ut i sin helhet.

    Returnerer: Alle rader i storen, eller en tom liste hvis databasen/storen ikke finnes ennå, åpningen ble blokkert, eller lesingen av annen grunn feilet.

    import {readExternalStore} from "/designsystem/funksjoner/lagring/read-external-store/read-external-store.js";
    
    // Fra okonomi/: les turer/ sine reiser for å tilby et velg-tur-felt.
    const trips = await readExternalStore("turer", "trips");

    Tilgjengelighet

    Ikke relevant: ren logikk uten DOM eller UI.

    Referanser

    Se også:

    Avhengigheter: ../../nettverk/fetch-with-cache/fetch-with-cache.js