1"use strict";(self.webpackChunkrdc_website=self.webpackChunkrdc_website||[]).push([[143,1028],{67744(e,t,r){r.r(t),r.d(t,{assets:()=>x,contentTitle:()=>o,default:()=>u,frontMatter:()=>h,metadata:()=>n,toc:()=>j});const n=JSON.parse('{"id":"concepts/overview","title":"Overview","description":"API Definition","source":"@site/../docs/core/concepts/overview.md","sourceDirName":"concepts","slug":"/concepts/overview","permalink":"/docs/concepts/overview","draft":false,"unlisted":true,"editUrl":"https://github.com/reactive/data-client/edit/master/docs/concepts/overview.md","tags":[],"version":"current","lastUpdatedBy":"Nathaniel Tucker","lastUpdatedAt":1741607507000,"frontMatter":{"title":"Overview","unlisted":true},"sidebar":"docs"}');var i=r(62540),s=r(43023),d=r(27636),l=r(67286),c=r(13570),a=r(94005);const h={title:"Overview",unlisted:!0},o=void 0,x={},j=[{value:"API Definition",id:"api-definition",level:2},{value:"Endpoint Conditions",id:"endpoint-conditions",level:3},{value:"Schema",id:"schema",level:3},...d.toc,{value:"Client",id:"client",level:2}];function p(e){const t={a:"a",h2:"h2",h3:"h3",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"api-definition",children:"API Definition"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"center"},children:"Name"}),(0,i.jsx)(t.th,{children:"Definition"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.a,{href:"/rest/api/Endpoint",children:"Endpoint"})}),(0,i.jsx)(t.td,{children:"Async methods"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.a,{href:"/docs/concepts/normalization",children:"Schema"})}),(0,i.jsx)(t.td,{children:"Declarative Data model"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.a,{href:"/rest/api/resource",children:"Resource"})}),(0,i.jsx)(t.td,{children:"Collection of methods for a given data model."})]})]})]}),"\n",(0,i.jsx)(t.h3,{id:"endpoint-conditions",children:"Endpoint Conditions"}),"\n",(0,i.jsxs)("table",{children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:"Value"}),(0,i.jsx)("th",{children:"Definition"})]})}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{class:"grouplabel",children:(0,i.jsx)("th",{colSpan:"2",children:(0,i.jsx)(a.A,{to:"./expiry-policy",children:"Expiry Status"})})}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:"Fresh"}),(0,i.jsx)("td",{children:"Data can always be used and needs no updates."})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:"Stale"}),(0,i.jsx)("td",{children:"Data can be shown, but needs to be updated."})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:"Invalid"}),(0,i.jsx)("td",{children:"Data should not be shown."})]})]}),(0,i.jsxs)("tbody",{children:[(0,i.jsx)("tr",{class:"grouplabel",children:(0,i.jsx)("th",{colSpan:"2",children:(0,i.jsx)(a.A,{to:"./error-policy",children:"Error Policy"})})}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:"Soft"}),(0,i.jsx)("td",{children:"Transient errors that should not invalidate existing data."})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:"Hard"}),(0,i.jsx)("td",{children:"Always invalidate endpoint."})]})]})]}),"\n",(0,i.jsx)(t.h3,{id:"schema",children:"Schema"}),"\n",(0,i.jsx)(d.default,{}),"\n",(0,i.jsx)(t.h2,{id:"client",children:"Client"}),"\n",(0,i.jsx)(l.A,{alt:"FLUX",sources:{light:(0,c.Ay)("/img/flux-full.png"),dark:(0,c.Ay)("/img/flux-full-dark.png")}}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"center"},children:"Name"}),(0,i.jsx)(t.th,{children:"Definition"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.a,{href:"https://facebookarchive.github.io/flux/docs/in-depth-overview/",children:"Flux"})}),(0,i.jsx)(t.td,{children:"Unidirectional data flow"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:"Store"}),(0,i.jsx)(t.td,{children:"Centralized location for holding data and processing it"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.a,{href:"/docs/concepts/managers",children:"Manager"})}),(0,i.jsx)(t.td,{children:"Orchestrates global control flow. Interfaces with store b
1y providing a middleware."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.a,{href:"/docs/api/Controller",children:"Controller"})}),(0,i.jsx)(t.td,{children:"Type-safe imperative access to store."})]})]})]})]})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},27636(e,t,r){r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>o,frontMatter:()=>d,metadata:()=>n,toc:()=>a});const n=JSON.parse('{"id":"shared/_schema_table","title":"_schema_table","description":"Data Type","source":"@site/../docs/core/shared/_schema_table.mdx","sourceDirName":"shared","slug":"/shared/_schema_table","permalink":"/docs/shared/_schema_table","draft":false,"unlisted":false,"editUrl":"https://github.com/reactive/data-client/edit/master/docs/shared/_schema_table.mdx","tags":[],"version":"current","lastUpdatedBy":"Nathaniel Tucker","lastUpdatedAt":1777353004000,"frontMatter":{}}');var i=r(62540),s=r(43023);const d={},l=void 0,c={},a=[];function h(e){const t={a:"a",...(0,s.R)(),...e.components};return(0,i.jsxs)("table",{children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:"Data Type"}),(0,i.jsx)("th",{children:"Mutable"}),(0,i.jsx)("th",{children:"Schema"}),(0,i.jsx)("th",{children:"Description"}),(0,i.jsx)("th",{children:(0,i.jsx)(t.a,{href:"/rest/api/schema#queryable",children:"Queryable"})})]})}),(0,i.jsxs)("tbody",{children:[(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{rowSpan:4,children:(0,i.jsx)("a",{href:"https://en.wikipedia.org/wiki/Object_(computer_science)",children:"Object"})}),(0,i.jsx)("td",{align:"center",children:"\u2705"}),(0,i.jsx)("td",{children:(0,i.jsx)(t.a,{href:"/rest/api/Entity",children:"Entity"})}),(0,i.jsxs)("td",{children:["single ",(0,i.jsx)("em",{children:"unique"})," object"]}),(0,i.jsx)("td",{align:"center",children:"\u2705"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{align:"center",children:"\u2705"}),(0,i.jsx)("td",{children:(0,i.jsx)(t.a,{href:"/rest/api/Union",children:"Union(Entity)"})}),(0,i.jsxs)("td",{children:["polymorphic objects (",(0,i.jsx)("code",{children:"A | B"}),")"]}),(0,i.jsx)("td",{align:"center",children:"\u2705"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{align:"center",children:"\ud83d\uded1"}),(0,i.jsx)("td",{children:(0,i.jsx)(t.a,{href:"/rest/api/Object",children:"Object"})}),(0,i.jsx)("td",{children:"statically known keys"}),(0,i.jsx)("td",{align:"center",children:"\ud83d\uded1"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{align:"center"}),(0,i.jsx)("td",{children:(0,i.jsx)(t.a,{href:"/rest/api/Invalidate",children:"Invalidate(Entity)"})}),(0,i.jsx)("td",{children:(0,i.jsx)(t.a,{href:"/docs/concepts/expiry-policy#invalidate-entity",children:"delete an entity"})}),(0,i.jsx)("td",{align:"center",children:"\ud83d\uded1"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{rowSpan:3,children:(0,i.jsx)("a",{href:"https://en.wikipedia.org/wiki/List_(abstract_data_type)",children:"List"})}),(0,i.jsx)("td",{align:"center",children:"\u2705"}),(0,i.jsx)("td",{children:(0,i.jsx)(t.a,{href:"/rest/api/Collection",children:"Collection(Array)"})}),(0,i.jsx)("td",{children:"growable lists"}),(0,i.jsx)("td",{align:"center",children:"\u2705"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{align:"center",children:"\ud83d\uded1"}),(0,i.jsx)("td",{children:(0,i.jsx)(t.a,{href:"/rest/api/Array",children:"Array"})}),(0,i.jsx)("td",{children:"immutable lists"}),(0,i.jsx)("td",{align:"center",children:"\ud83d\uded1"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{align:"center"}),(0,i.jsx)("td",{children:(0,i.jsx)(t.a,{href:"/rest/api/All",children:"All"})}),(0,i.jsx)("td",{children:"list of all entities of a kind"}),(0,i.jsx)("td",{align:"center",children:"\u2705"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{rowSpan:2,children:(0,i.jsx)("a",{href:"https://en.wikipedia.org/wiki/Associative_array",children:"Map"})}),(0,i.jsx)("td",{align:"center",children:"\u2705"}),(0,i.jsx)("td",{children:(0,i.jsx)(t.a,{href:"/rest/api/Collection",children:"Collection(Values)"})}),(0,i.jsx)("td",{children:"growable maps"}),(0,i.jsx)("td",{align:"center",children:"\u2705"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{align:"center",children:"\ud83d\uded1"}),(0,i.jsx)("td",{children:(0,i.jsx)(t.a,{href:"/rest/api/Values",children:"Values"})}),(0,i.jsx)("td",{children:"immutable maps"}),(0,i.jsx)("td",{align:"center",children:"\ud83d\uded1"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{rowSpan:1,children:(0,i.jsx)("a",{href:"https://en.wikipedia.org/wiki/Scalar_(mathematics)",children:"Scalar"})}),(0,i.jsx)("td",{align:"center",children:"\u2705"}),(0,i.jsx)("td",{children:(0,i.jsx)(t.a,{href:"/rest/api/Scalar",children:"Scalar"})}),(0,i.jsx)("td",{children:"lens-dependent entity fields"}),(0,i.jsx)("td",{align:"center",children:"\u2705"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{rowSpan:2,children:"any"}),(0,i.jsx)("td",{align:"center"}),(0,i.jsx)("td",{children:(0,i.jsx)(t.a,{href:"/rest/api/Query",children:"Query(Queryable)"})}),(0,i.jsx)("td",{children:"memoized custom transforms"}),(0,i.jsx)("td",{align:"center",children:"\u2705"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{align:"center"}),(0,i.jsx)("td",{children:(0,i.jsx)(t.a,{href:"/rest/api/Lazy",children:"Lazy(Schema)"})}
1),(0,i.jsx)("td",{children:"deferred denormalization"}),(0,i.jsx)("td",{align:"center",children:"\u2705"})]})]})]})}function o(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.