solid-ui
    Preparing search index...

    Class UpdateManager

    The UpdateManager is a helper object for a store. Just as a Fetcher provides the store with the ability to read and write, the Update Manager provides functionality for making small patches in real time, and also looking out for concurrent updates from other agents

    Index

    Constructors

    • Parameters

      • Optionalstore: Store

        The quadstore to store data and metadata. Created if not passed.

      Returns UpdateManager

    Properties

    fps: {}
    ifps: {}
    ns: any

    Object of namespaces

    patchControl: []

    Index of objects for coordinating incoming and outgoing patches

    store: UpdateManagerFormula

    Methods

    • Parameters

      • doc: NamedNode
      • listener: any

      Returns void

    • Parameters

      • obj: any

      Returns any

    • Parameters

      • stmt: Quad

      Returns string

    • Tests whether a file is editable. If the file has a specific annotation that it is machine written, for safety, it is editable (this doesn't actually check for write access) If the file has wac-allow and accept patch headers, those are respected. and local write access is determined by those headers. This async version not only looks at past HTTP requests, it also makes new ones if necessary.

      Parameters

      • uri: string | NamedNode
      • Optionalkb: Store

      Returns Promise<undefined | string | boolean>

      The method string N3PATCH or SPARQL or DAV or LOCALFILE or false if known, undefined if not known.

    • We want to start counting websocket notifications to distinguish the ones from others from our own.

      Parameters

      • doc: NamedNode

      Returns void

    • Parameters

      • st:
            | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
            | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
      • callbackFunction: CallBackFunction

      Returns void

    • Tests whether a file is editable. If the file has a specific annotation that it is machine written, for safety, it is editable (this doesn't actually check for write access) If the file has wac-allow and accept patch headers, those are respected. and local write access is determined by those headers. This synchronous version only looks at past HTTP requests, does not make new ones.

      Parameters

      • uri: string | NamedNode
      • Optionalkb: Store

      Returns undefined | string | boolean

      The method string SPARQL or DAV or LOCALFILE or false if known, undefined if not known.

    • Remove from the store HTTP authorization metadata The editable function below relies on copies we have in the store of the results of previous HTTP transactions. However, when the user logs in, then that data misrepresents what would happen if the user tried again.

      Parameters

      Returns void

    • Parameters

      • doc: NamedNode

      Returns null | string

    • Parameters

      • st: Quad
      • callbackFunction: CallBackFunction

      Returns void

    • Parameters

      • uri: string

      Returns boolean

    • Parameters

      • stmt: any

      Returns string

    • Parameters

      • doc: NamedNode

      Returns any

    • This is suitable for an initial creation of a document.

      Parameters

      • doc: NamedNode
      • data: string | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
      • contentType: string
      • callback: (uri: string, ok: boolean, errorMessage?: string, response?: unknown) => void

      Returns Promise<void>

    • Reloads a document.

      Fast and cheap, no metadata. Measure times for the document. Load it provisionally. Don't delete the statements before the load, or it will leave a broken document in the meantime.

      Parameters

      • kb: Store
      • doc: docReloadType

        {RDFlibNamedNode}

      • callbackFunction: (ok: boolean, message?: string, response?: Error | Response) => void | {}

      Returns void

    • Parameters

      • doc: NamedNode

      Returns void

    • Requests a now or future action to refresh changes coming downstream This is designed to allow the system to re-request the server version, when a websocket has pinged to say there are changes. If the websocket, by contrast, has sent a patch, then this may not be necessary.

      Parameters

      • doc: NamedNode
      • action: any

      Returns void

    • Parameters

      • uri: string
      • data: string | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
      • contentType: string

      Returns string

      On unsupported content type

    • Sets up websocket to listen on

      There is coordination between upstream changes and downstream ones so that a reload is not done in the middle of an upstream patch. If you use this API then you get called when a change happens, and you have to reload the file yourself, and then refresh the UI. Alternative is addDownstreamChangeListener(), where you do not have to do the reload yourself. Do mot mix them.

      kb contains the HTTP metadata from previous operations

      Parameters

      • doc: NamedNode
      • handler: any

      Returns boolean

    • This high-level function updates the local store if the web is changed successfully. Deletions, insertions may be undefined or single statements or lists or formulae (may contain bnodes which can be indirectly identified by a where clause). The why property of each statement must be the same and give the web document to be updated.

      Parameters

      • deletions: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

        Statement or statements to be deleted.

      • insertions: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

        Statement or statements to be inserted.

      • Optionalcallback: (
            uri: undefined | null | string,
            success: boolean,
            errorBody?: string,
            response?: Error | Response,
        ) => void

        called as callbackFunction(uri, success, errorbody) OR returns a promise

      • OptionalsecondTry: boolean
      • Optionaloptions: Partial<AutoInitOptions>

        Options for the fetch call

      Returns void | Promise<void>

    • return a statemnet updating function

      This does NOT update the statement. It returns an object which includes function which can be used to change the object of the statement.

      Parameters

      • statement: Quad

      Returns
          | undefined
          | {
              set_object: (obj: any, callbackFunction: any) => void;
              statement: undefined | Term[];
              statementNT: undefined | string;
              where: string;
          }

    • Parameters

      • doc: Quad_Subject
      • ds: any
      • is: any
      • callbackFunction: any
      • Optionaloptions: Partial<AutoInitOptions>

      Returns null | Promise<void>

    • Likely deprecated, since this lib no longer deals with browser extension

      Parameters

      • doc: NamedNode
      • ds: any
      • is: any
      • callbackFunction: any
      • Optionaloptions: Partial<AutoInitOptions>

      Returns void

    • This high-level function updates the local store iff the web is changed successfully. Deletions, insertions may be undefined or single statements or lists or formulae (may contain bnodes which can be indirectly identified by a where clause). The why property of each statement must be the give the web document to be updated. The statements to be deleted and inserted may span more than one web document.

      Parameters

      • deletions: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

        Statement or statements to be deleted.

      • Optionalinsertions: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

        Statement or statements to be inserted.

      Returns Promise<void[]>

      a promise