New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

mst-async-store

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mst-async-store - npm Package Compare versions

Comparing version 1.1.0 to 2.0.0

21

CHANGELOG.md

@@ -0,1 +1,22 @@

# [2.0.0](https://github.com/mekwall/mst-async-store/compare/v1.1.0...v2.0.0) (2019-02-04)
### Bug Fixes
* clearFailstate must be an action ([3b26d90](https://github.com/mekwall/mst-async-store/commit/3b26d90))
* ensure empty container can trigger fetch for itself from parent ([5f89b58](https://github.com/mekwall/mst-async-store/commit/5f89b58))
* expire when failstate is cleared ([c786dca](https://github.com/mekwall/mst-async-store/commit/c786dca))
### Features
* add store errors, custom batch size and support return maps ([5dca25c](https://github.com/mekwall/mst-async-store/commit/5dca25c))
* add support for providing a custom AsyncContainer ([3d59f4f](https://github.com/mekwall/mst-async-store/commit/3d59f4f))
* updateAPI to use options obj for everything ([e0c51b2](https://github.com/mekwall/mst-async-store/commit/e0c51b2))
### BREAKING CHANGES
* Not backwards compatible with previous API
# [1.1.0](https://github.com/mekwall/mst-async-store/compare/v1.0.0...v1.1.0) (2019-01-08)

@@ -2,0 +23,0 @@

27

lib/createAsyncContainer.d.ts

@@ -1,2 +0,2 @@

import { IAnyModelType, Instance } from 'mobx-state-tree';
import { IAnyModelType, Instance, IModelType, ISimpleType, IMaybe, ModelPropertiesDeclarationToProperties } from 'mobx-state-tree';
export interface VolatileAsyncContainerState {

@@ -15,8 +15,22 @@ isReady: boolean;

}
export declare function createAsyncContainer<T extends IAnyModelType>(ItemModel: T, options?: AsyncContainerOptions<T>): import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
_value: import("mobx-state-tree").IMaybe<T>;
export declare type AsyncContainerModel<I extends IAnyModelType> = IModelType<ModelPropertiesDeclarationToProperties<{
id: ISimpleType<string>;
_value: IMaybe<I>;
}>, VolatileAsyncContainerState & {
getFailstate(): undefined | Error;
clearFailstate(): void;
readonly hasExpired: boolean;
setReady(): void;
setPending(): void;
setFailstate(e: Error): void;
setValue(value: Instance<IAnyModelType>): void;
readonly inFailstate: boolean;
readonly shouldFetch: boolean;
readonly value: undefined | Instance<IAnyModelType>;
}>;
export declare function createAsyncContainer<T extends IAnyModelType>(ItemModel: T, options?: AsyncContainerOptions<T>): IModelType<ModelPropertiesDeclarationToProperties<{
id: ISimpleType<string>;
_value: IMaybe<T>;
}>, VolatileAsyncContainerState & {
getFailstate: () => Error | undefined;
clearFailstate: () => void;
readonly hasExpired: boolean;

@@ -27,2 +41,3 @@ } & {

setFailstate(e: Error): void;
clearFailstate: () => void;
} & {

@@ -35,3 +50,3 @@ setValue: (value: Instance<T>) => void;

} & {
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<T> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<T> : never>;
readonly value: import("mobx-state-tree/dist/internal").ExtractT<IMaybe<T> extends import("mobx-state-tree").IType<any, any, any> ? IMaybe<T> : never>;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;

@@ -12,3 +12,3 @@ "use strict";

.model(name, {
id: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.identifier),
id: mobx_state_tree_1.types.identifier,
_value: mobx_state_tree_1.types.maybe(ItemModel),

@@ -27,5 +27,2 @@ })

},
clearFailstate: function () {
self.error = undefined;
},
get hasExpired() {

@@ -52,2 +49,6 @@ return (self.expiresAt > 0 && mobx_utils_1.now(ttl < 1000 ? ttl : 1000) >= self.expiresAt);

},
clearFailstate: function () {
self.error = undefined;
self.expiresAt = Date.now() - 1;
},
}); })

@@ -94,7 +95,10 @@ .actions(function (self) { return ({

if (self.shouldFetch) {
if (mobx_state_tree_1.hasParent(self)) {
var parent_1 = mobx_state_tree_1.getParent(self);
if (mobx_state_tree_1.hasParent(self, 2)) {
var parent_1 = mobx_state_tree_1.getParent(self, 2);
if (parent_1.fetchOne) {
parent_1.fetchOne(self.id);
}
else if (parent_1.fetchMany) {
parent_1.fetchMany([self.id]);
}
}

@@ -101,0 +105,0 @@ else if (options.fetch) {

import { IAnyModelType, Instance, ModelInstanceType } from 'mobx-state-tree';
import { AsyncContainerModel } from './createAsyncContainer';
import { _NotCustomized } from 'mobx-state-tree/dist/internal';
declare type ReturnValueArray<T> = Array<Instance<T>>;
declare type ReturnValueMap<T> = Dict<Instance<T> | Error>;
export declare type AsyncFetchActions<T> = (self: ModelInstanceType<any, any, any, any>) => {
fetchOne?(id: string): Promise<Instance<T> | undefined>;
fetchMany?(ids: string[]): Promise<Array<Instance<T>>>;
fetchAll?(): Promise<Array<Instance<T>>>;
fetchMany?(ids: string[]): Promise<ReturnValueArray<T> | ReturnValueMap<T>>;
fetchAll?(): Promise<ReturnValueArray<T> | ReturnValueMap<T>>;
};

@@ -11,13 +15,19 @@ export interface VolatileAsyncStoreState {

fetchQueue: string[];
error?: Error;
}
export declare function createAsyncStore<T extends IAnyModelType>(name: string, ItemModel: T, fetchActions?: AsyncFetchActions<T>, options?: {
ttl: number;
failstateTtl: number;
}): import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
containers: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
_value: import("mobx-state-tree").IMaybe<T>;
export interface AsyncStoreOptions<ITEM, CONTAINER> {
name?: string;
itemModel: ITEM;
containerModel?: CONTAINER;
ttl?: number;
failstateTtl?: number;
batch?: number;
fetchActions?: AsyncFetchActions<ITEM>;
}
export declare function createAsyncStore<ITEM extends IAnyModelType, CONTAINER extends AsyncContainerModel<ITEM>>(options: AsyncStoreOptions<ITEM, CONTAINER>): import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
containers: import("mobx-state-tree").IMapType<CONTAINER | import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").ISimpleType<string>;
_value: import("mobx-state-tree").IMaybe<ITEM>;
}>, import("./createAsyncContainer").VolatileAsyncContainerState & {
getFailstate: () => Error | undefined;
clearFailstate: () => void;
readonly hasExpired: boolean;

@@ -28,4 +38,5 @@ } & {

setFailstate(e: Error): void;
clearFailstate: () => void;
} & {
setValue: (value: Instance<T>) => void;
setValue: (value: Instance<ITEM>) => void;
} & {

@@ -36,5 +47,9 @@ readonly inFailstate: boolean;

} & {
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<T> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<T> : never>;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<ITEM> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<ITEM> : never>;
}, _NotCustomized, _NotCustomized>>;
}>, VolatileAsyncStoreState & {
readonly errors: Dict<Error>;
} & {
readonly inFailstate: boolean;
} & {
setReady(): void;

@@ -49,8 +64,7 @@ setPending(): void;

} & {
createAsyncContainer(id: string): ModelInstanceType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
_value: import("mobx-state-tree").IMaybe<T>;
createAsyncContainer(id: string): NonNullable<import("mobx-state-tree/dist/internal").ExtractT<CONTAINER>> | NonNullable<import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").ISimpleType<string>;
_value: import("mobx-state-tree").IMaybe<ITEM>;
}>, import("./createAsyncContainer").VolatileAsyncContainerState & {
getFailstate: () => Error | undefined;
clearFailstate: () => void;
readonly hasExpired: boolean;

@@ -61,4 +75,5 @@ } & {

setFailstate(e: Error): void;
clearFailstate: () => void;
} & {
setValue: (value: Instance<T>) => void;
setValue: (value: Instance<ITEM>) => void;
} & {

@@ -69,4 +84,4 @@ readonly inFailstate: boolean;

} & {
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<T> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<T> : never>;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<ITEM> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<ITEM> : never>;
}, _NotCustomized, _NotCustomized>>>;
afterCreate(): void;

@@ -78,8 +93,7 @@ } & {

} & {
getOne(id: string): ModelInstanceType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
_value: import("mobx-state-tree").IMaybe<T>;
getOne(id: string): NonNullable<import("mobx-state-tree/dist/internal").ExtractT<CONTAINER>> | NonNullable<import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").ISimpleType<string>;
_value: import("mobx-state-tree").IMaybe<ITEM>;
}>, import("./createAsyncContainer").VolatileAsyncContainerState & {
getFailstate: () => Error | undefined;
clearFailstate: () => void;
readonly hasExpired: boolean;

@@ -90,4 +104,5 @@ } & {

setFailstate(e: Error): void;
clearFailstate: () => void;
} & {
setValue: (value: Instance<T>) => void;
setValue: (value: Instance<ITEM>) => void;
} & {

@@ -98,10 +113,9 @@ readonly inFailstate: boolean;

} & {
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<T> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<T> : never>;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
getMany(ids: string[]): (import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
_value: import("mobx-state-tree").IMaybe<T>;
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<ITEM> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<ITEM> : never>;
}, _NotCustomized, _NotCustomized>>>;
getMany(ids: string[]): (Instance<CONTAINER> | (import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").ISimpleType<string>;
_value: import("mobx-state-tree").IMaybe<ITEM>;
}>, import("./createAsyncContainer").VolatileAsyncContainerState & {
getFailstate: () => Error | undefined;
clearFailstate: () => void;
readonly hasExpired: boolean;

@@ -112,4 +126,5 @@ } & {

setFailstate(e: Error): void;
clearFailstate: () => void;
} & {
setValue: (value: Instance<T>) => void;
setValue: (value: Instance<ITEM>) => void;
} & {

@@ -120,9 +135,8 @@ readonly inFailstate: boolean;

} & {
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<T> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<T> : never>;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized> extends import("mobx-state-tree").IType<any, any, infer TT> ? TT : import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
_value: import("mobx-state-tree").IMaybe<T>;
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<ITEM> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<ITEM> : never>;
}, _NotCustomized, _NotCustomized> extends import("mobx-state-tree").IType<any, any, infer TT> ? TT : import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").ISimpleType<string>;
_value: import("mobx-state-tree").IMaybe<ITEM>;
}>, import("./createAsyncContainer").VolatileAsyncContainerState & {
getFailstate: () => Error | undefined;
clearFailstate: () => void;
readonly hasExpired: boolean;

@@ -133,4 +147,5 @@ } & {

setFailstate(e: Error): void;
clearFailstate: () => void;
} & {
setValue: (value: Instance<T>) => void;
setValue: (value: Instance<ITEM>) => void;
} & {

@@ -141,10 +156,9 @@ readonly inFailstate: boolean;

} & {
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<T> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<T> : never>;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>)[];
getAll(): (import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
_value: import("mobx-state-tree").IMaybe<T>;
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<ITEM> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<ITEM> : never>;
}, _NotCustomized, _NotCustomized>))[];
getAll(): (Instance<CONTAINER> | (import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").ISimpleType<string>;
_value: import("mobx-state-tree").IMaybe<ITEM>;
}>, import("./createAsyncContainer").VolatileAsyncContainerState & {
getFailstate: () => Error | undefined;
clearFailstate: () => void;
readonly hasExpired: boolean;

@@ -155,4 +169,5 @@ } & {

setFailstate(e: Error): void;
clearFailstate: () => void;
} & {
setValue: (value: Instance<T>) => void;
setValue: (value: Instance<ITEM>) => void;
} & {

@@ -163,9 +178,8 @@ readonly inFailstate: boolean;

} & {
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<T> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<T> : never>;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized> extends import("mobx-state-tree").IType<any, any, infer TT> ? TT : import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
_value: import("mobx-state-tree").IMaybe<T>;
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<ITEM> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<ITEM> : never>;
}, _NotCustomized, _NotCustomized> extends import("mobx-state-tree").IType<any, any, infer TT> ? TT : import("mobx-state-tree").IModelType<import("mobx-state-tree").ModelPropertiesDeclarationToProperties<{
id: import("mobx-state-tree").ISimpleType<string>;
_value: import("mobx-state-tree").IMaybe<ITEM>;
}>, import("./createAsyncContainer").VolatileAsyncContainerState & {
getFailstate: () => Error | undefined;
clearFailstate: () => void;
readonly hasExpired: boolean;

@@ -176,4 +190,5 @@ } & {

setFailstate(e: Error): void;
clearFailstate: () => void;
} & {
setValue: (value: Instance<T>) => void;
setValue: (value: Instance<ITEM>) => void;
} & {

@@ -184,4 +199,5 @@ readonly inFailstate: boolean;

} & {
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<T> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<T> : never>;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>)[];
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
readonly value: import("mobx-state-tree/dist/internal").ExtractT<import("mobx-state-tree").IMaybe<ITEM> extends import("mobx-state-tree").IType<any, any, any> ? import("mobx-state-tree").IMaybe<ITEM> : never>;
}, _NotCustomized, _NotCustomized>))[];
}, _NotCustomized, _NotCustomized>;
export {};

@@ -8,8 +8,9 @@ "use strict";

var createAsyncContainer_1 = require("./createAsyncContainer");
function createAsyncStore(name, ItemModel, fetchActions, options) {
if (options === void 0) { options = {
ttl: 0,
failstateTtl: 10000,
}; }
var AsyncContainer = createAsyncContainer_1.createAsyncContainer(ItemModel, options);
function createAsyncStore(options) {
var _a = options.name, name = _a === void 0 ? 'AnonymouseAsyncStore' : _a, itemModel = options.itemModel, containerModel = options.containerModel, _b = options.ttl, ttl = _b === void 0 ? 0 : _b, _c = options.failstateTtl, failstateTtl = _c === void 0 ? 10000 : _c, _d = options.batch, batch = _d === void 0 ? 40 : _d, fetchActions = options.fetchActions;
var AsyncContainer = containerModel ||
createAsyncContainer_1.createAsyncContainer(itemModel, {
ttl: ttl,
failstateTtl: failstateTtl,
});
return mobx_state_tree_1.types

@@ -24,2 +25,15 @@ .model(name, {

}); })
.views(function (self) { return ({
get errors() {
return mobx_1.values(self.containers).reduce(function (acc, c) {
var _a;
return tslib_1.__assign({}, acc, (_a = {}, _a[c.id] = c.error, _a));
}, {});
},
}); })
.views(function (self) { return ({
get inFailstate() {
return Object.keys(self.errors).length > 0;
},
}); })
.actions(function (self) { return ({

@@ -31,2 +45,3 @@ setReady: function () {

setPending: function () {
self.error = undefined;
self.isPending = true;

@@ -66,12 +81,21 @@ },

items = _a.sent();
if (items.length > 0) {
items.forEach(function (item) {
var ct = self.containers.get(item.id) ||
AsyncContainer.create({ id: item.id });
var idx = self.fetchQueue.indexOf(item.id);
self.fetchQueue.splice(idx, 1);
ct.setValue(item);
self.containers.set(item.id, ct);
});
if (Array.isArray(items)) {
items = items.reduce(function (acc, item) {
var _a;
return (tslib_1.__assign({}, acc, (_a = {}, _a[item.id] = item, _a)));
}, {});
}
Object.keys(items).forEach(function (id) {
var ct = self.containers.get(id) || AsyncContainer.create({ id: id });
var itemOrError = items[id];
var idx = self.fetchQueue.indexOf(id);
self.fetchQueue.splice(idx, 1);
if (itemOrError instanceof Error) {
ct.setFailstate(itemOrError);
}
else {
ct.setValue(itemOrError);
}
self.containers.set(id, ct);
});
self.setReady();

@@ -83,3 +107,3 @@ return [2 /*return*/];

_fetchMany: mobx_state_tree_1.flow(function (ids) {
var cts, items, e_1;
var cts, items_1, e_1;
return tslib_1.__generator(this, function (_a) {

@@ -102,6 +126,20 @@ switch (_a.label) {

case 2:
items = _a.sent();
items.forEach(function (item) {
var ct = self.containers.get(item.id);
ct.setValue(item);
items_1 = _a.sent();
if (Array.isArray(items_1)) {
items_1 = items_1.reduce(function (acc, item) {
var _a;
return (tslib_1.__assign({}, acc, (_a = {}, _a[item.id] = item, _a)));
}, {});
}
Object.keys(items_1).forEach(function (id) {
var ct = self.containers.get(id);
var itemOrError = items_1[id];
var idx = self.fetchQueue.indexOf(id);
self.fetchQueue.splice(idx, 1);
if (itemOrError instanceof Error) {
ct.setFailstate(itemOrError);
}
else {
ct.setValue(itemOrError);
}
});

@@ -154,5 +192,10 @@ return [3 /*break*/, 4];

createAsyncContainer: function (id) {
return AsyncContainer.create({ id: id });
if (self.containers.has(id)) {
throw Error("Container with id " + id + " already exists");
}
self.containers.put({ id: id, _value: undefined });
return self.containers.get(id);
},
afterCreate: function () {
var client = fetchActions ? fetchActions(self) : {};
mobx_state_tree_1.addDisposer(self, mobx_1.reaction(function () { return !self.isPending && self.fetchQueue.length > 0; }, function (shouldFetch) {

@@ -167,5 +210,5 @@ if (shouldFetch) {

else {
// Batch 40 items at a time
var idsToFetch = self.spliceFetchQueue(0, 40);
if (idsToFetch.length === 1) {
// Batch fetching
var idsToFetch = self.spliceFetchQueue(0, batch);
if (idsToFetch.length === 1 && client.fetchOne) {
self._fetchOne(idsToFetch[0]);

@@ -172,0 +215,0 @@ }

@@ -12,3 +12,3 @@ {

],
"version": "1.1.0",
"version": "2.0.0",
"author": "Marcus Ekwall <marcus.ekwall@gmail.com>",

@@ -15,0 +15,0 @@ "license": "ISC",

@@ -22,6 +22,8 @@ # mst-async-store

// Generate store model
const MyAsyncStore = createAsyncStore(
'MyAsyncStore', // Name of store
MyModel, // Your MST model representing one item
(self) => (
const MyAsyncStore = createAsyncStore({
name: 'MyAsyncStore',
itemModel: MyModel,
ttl: 10000,
failstateTtl: 5000
fetchActions: (self) => (
{

@@ -43,7 +45,5 @@ // Logic to fetch one item

},
},
// Store options
{ ttl: 10000, failstateTtl: 5000 }
}
)
);
});

@@ -50,0 +50,0 @@ // Instantiate store

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc