A SizeReporter's only purpose (at the moment) is to calculate the size of a resource. How the size is calculated or what unit it is in is defined by the class implementing this interface. One might use the amount of bytes and another might use the amount of triples stored in a resource.

Type Parameters

  • T


  • SizeReporter

Implemented by


calculateChunkSize: ((chunk: T) => Promise<number>)

Type declaration

    • (chunk: T): Promise<number>
    • Calculate the size of a chunk based on which SizeReporter is being used


      the size of the passed chunk as a number


      • chunk: T

        the chunk of which you want the size

      Returns Promise<number>

estimateSize: ((metadata: RepresentationMetadata) => Promise<undefined | number>)

Type declaration

    • (metadata: RepresentationMetadata): Promise<undefined | number>
    • Estimate the size of a body / request by looking at its metadata


      the estimated size of the body / request or undefined if no meaningful estimation can be made


      Returns Promise<undefined | number>

getSize: ((identifier: ResourceIdentifier) => Promise<Size>)

Type declaration

    • (identifier: ResourceIdentifier): Promise<Size>
    • Get the size of a given resource


      The size of the resource as a Size object calculated recursively if the identifier leads to a container


      Returns Promise<Size>

getUnit: (() => string)

Type declaration

    • (): string
    • Get the unit as a string in which a SizeReporter returns data

      Returns string