projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into 13864-Virtual-machines
[arvados.git]
/
src
/
store
/
resources
/
resources.ts
diff --git
a/src/store/resources/resources.ts
b/src/store/resources/resources.ts
index add4efef54b4cd4d63178e0239927f4619587160..e7153decd70af11a91131c8f8009a26a74df73eb 100644
(file)
--- a/
src/store/resources/resources.ts
+++ b/
src/store/resources/resources.ts
@@
-3,7
+3,7
@@
// SPDX-License-Identifier: AGPL-3.0
import { Resource } from "~/models/resource";
// SPDX-License-Identifier: AGPL-3.0
import { Resource } from "~/models/resource";
-import { ResourceKind } from '
../..
/models/resource';
+import { ResourceKind } from '
~
/models/resource';
export type ResourcesState = { [key: string]: Resource };
export type ResourcesState = { [key: string]: Resource };
@@
-19,7
+19,7
@@
export const setResource = <T extends Resource>(id: string, data: T) =>
export const deleteResource = (id: string) =>
(state: ResourcesState) => {
export const deleteResource = (id: string) =>
(state: ResourcesState) => {
- const newState = {
...state
};
+ const newState = {
...state
};
delete newState[id];
return newState;
};
delete newState[id];
return newState;
};
@@
-28,10
+28,14
@@
export const filterResources = (filter: (resource: Resource) => boolean) =>
(state: ResourcesState) =>
Object
.keys(state)
(state: ResourcesState) =>
Object
.keys(state)
- .map(id => getResource(id)(state))
+ .reduce((resources, id) => {
+ const resource = getResource(id)(state);
+ return resource
+ ? [...resources, resource]
+ : resources;
+ }, [])
.filter(filter);
export const filterResourcesByKind = (kind: ResourceKind) =>
(state: ResourcesState) =>
filterResources(resource => resource.kind === kind)(state);
.filter(filter);
export const filterResourcesByKind = (kind: ResourceKind) =>
(state: ResourcesState) =>
filterResources(resource => resource.kind === kind)(state);
-