-
Notifications
You must be signed in to change notification settings - Fork 1
HalDocument
When fetching a list of resources, some other data may be retrieved in the response (ie. pagination information).
Note: HalDocument is opinionated. If behaviours of HalDocument are not fully suitable for your case, you can create an additional class which extends HalDocument and then use that class instead of pure HalDocument class. A custom HalDocument class can be set on a model level (see ModelConfig) or on a datastore level (see DatastoreConfig).
When an instance of HalDocument is created, it gets a few parameters in the constructor:
-
rawResource:RawHalResource- HAL formatted object fetched from the server
-
rawResponse:HttpResponse<any>- raw HTTP response fetched from the server
-
modelClass:ModelConstructor<T>- model class which will be used for creating models
-
datastore:DatastoreService
Once instantiated, HalDocument parses rawResponse and generates models and pagination properties.
-
models:Array<Model>- instances of
modelClassclass which is passed through the constructor
- instances of
-
pagination:Pagination- instance of
Paginationclass - TODO make a way to override Pagination class on DatastoreService level, and on ModelService level
- instance of
-
hasEmbeddedItems:boolean- returns
trueif list items were included in the first HTTP request
- returns
-
itemLinks:Array<RawHalLink>- returns links to the specific list items