shelving
Version:
Toolkit for using data in JavaScript.
17 lines (16 loc) • 606 B
JavaScript
import { PayloadFetchStore } from "../../store/PayloadFetchStore.js";
import { NONE } from "../../util/constants.js";
/** Store object that loads a result from an API endpoint and provider. */
export class EndpointStore extends PayloadFetchStore {
provider;
endpoint;
constructor(endpoint, payload, provider) {
super(payload, NONE);
this.endpoint = endpoint;
this.provider = provider;
}
// Override to fetch the value using the provider and endpoint.
_fetch(signal) {
return this.provider.call(this.endpoint, this.payload.value, { signal });
}
}