@haniffalab/cherita-react 1.2.0-dev.2025-05-21.6154c7e3 → 1.2.0-dev.2025-05-21.f93366f0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,18 +18,11 @@ const useObsmData = function () {
18
18
  const dataset = (0, _DatasetContext.useDataset)();
19
19
  const settings = (0, _SettingsContext.useSettings)();
20
20
  obsm = obsm || settings.selectedObsm;
21
- const [obsmParams, setObsmParams] = (0, _react.useState)({
21
+ const obsmParams = (0, _react.useMemo)(() => ({
22
22
  url: dataset.url,
23
23
  path: "obsm/" + obsm,
24
24
  s: [null, (0, _zarr.slice)(null, 2)] // load only [:, :2]
25
- });
26
- (0, _react.useEffect)(() => {
27
- setObsmParams({
28
- url: dataset.url,
29
- path: "obsm/" + obsm,
30
- s: [null, (0, _zarr.slice)(null, 2)]
31
- });
32
- }, [dataset.url, obsm]);
25
+ }), [dataset.url, obsm]);
33
26
  return (0, _zarrHelper.useZarr)(obsmParams, _zarrHelper.GET_OPTIONS, {
34
27
  enabled: !!obsm
35
28
  });
@@ -44,34 +37,22 @@ const meanData = (_i, data) => {
44
37
  });
45
38
  };
46
39
  const useXData = function () {
47
- var _settings$selectedVar, _settings$selectedVar2, _settings$selectedVar3;
48
40
  let agg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : meanData;
49
41
  const dataset = (0, _DatasetContext.useDataset)();
50
42
  const settings = (0, _SettingsContext.useSettings)();
51
- const [xParams, setXParams] = (0, _react.useState)(!settings.selectedVar ? [] : !((_settings$selectedVar = settings.selectedVar) !== null && _settings$selectedVar !== void 0 && _settings$selectedVar.isSet) ? [{
52
- url: dataset.url,
53
- path: "X",
54
- s: [null, (_settings$selectedVar2 = settings.selectedVar) === null || _settings$selectedVar2 === void 0 ? void 0 : _settings$selectedVar2.matrix_index]
55
- }] : _lodash.default.map((_settings$selectedVar3 = settings.selectedVar) === null || _settings$selectedVar3 === void 0 ? void 0 : _settings$selectedVar3.vars, v => {
56
- return {
43
+ const xParams = (0, _react.useMemo)(() => {
44
+ var _settings$selectedVar, _settings$selectedVar2, _settings$selectedVar3;
45
+ return !settings.selectedVar ? [] : !((_settings$selectedVar = settings.selectedVar) !== null && _settings$selectedVar !== void 0 && _settings$selectedVar.isSet) ? [{
57
46
  url: dataset.url,
58
47
  path: "X",
59
- s: [null, v.matrix_index]
60
- };
61
- }));
62
- (0, _react.useEffect)(() => {
63
- var _settings$selectedVar4, _settings$selectedVar5, _settings$selectedVar6;
64
- setXParams(!settings.selectedVar ? [] : !((_settings$selectedVar4 = settings.selectedVar) !== null && _settings$selectedVar4 !== void 0 && _settings$selectedVar4.isSet) ? [{
65
- url: dataset.url,
66
- path: "X",
67
- s: [null, (_settings$selectedVar5 = settings.selectedVar) === null || _settings$selectedVar5 === void 0 ? void 0 : _settings$selectedVar5.matrix_index]
68
- }] : _lodash.default.map((_settings$selectedVar6 = settings.selectedVar) === null || _settings$selectedVar6 === void 0 ? void 0 : _settings$selectedVar6.vars, v => {
48
+ s: [null, (_settings$selectedVar2 = settings.selectedVar) === null || _settings$selectedVar2 === void 0 ? void 0 : _settings$selectedVar2.matrix_index]
49
+ }] : _lodash.default.map((_settings$selectedVar3 = settings.selectedVar) === null || _settings$selectedVar3 === void 0 ? void 0 : _settings$selectedVar3.vars, v => {
69
50
  return {
70
51
  url: dataset.url,
71
52
  path: "X",
72
53
  s: [null, v.matrix_index]
73
54
  };
74
- }));
55
+ });
75
56
  }, [dataset.url, settings.selectedVar]);
76
57
  return (0, _zarrHelper.useMultipleZarr)(xParams, _zarrHelper.GET_OPTIONS, {
77
58
  enabled: !!xParams.length
@@ -79,22 +60,18 @@ const useXData = function () {
79
60
  };
80
61
  exports.useXData = useXData;
81
62
  const useObsData = function () {
82
- var _obs, _obs2;
63
+ var _obs3, _obs4;
83
64
  let obs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
84
65
  const dataset = (0, _DatasetContext.useDataset)();
85
66
  const settings = (0, _SettingsContext.useSettings)();
86
67
  obs = obs || settings.selectedObs;
87
- const [obsParams, setObsParams] = (0, _react.useState)({
88
- url: dataset.url,
89
- path: "obs/" + ((_obs = obs) === null || _obs === void 0 ? void 0 : _obs.name) + (((_obs2 = obs) === null || _obs2 === void 0 ? void 0 : _obs2.type) === _constants.OBS_TYPES.CATEGORICAL ? "/codes" : "")
90
- });
91
- (0, _react.useEffect)(() => {
92
- var _obs3, _obs4;
93
- setObsParams({
68
+ const obsParams = (0, _react.useMemo)(() => {
69
+ var _obs, _obs2;
70
+ return {
94
71
  url: dataset.url,
95
- path: "obs/" + ((_obs3 = obs) === null || _obs3 === void 0 ? void 0 : _obs3.name) + (((_obs4 = obs) === null || _obs4 === void 0 ? void 0 : _obs4.type) === _constants.OBS_TYPES.CATEGORICAL ? "/codes" : "")
96
- });
97
- }, [dataset.url, obs]);
72
+ path: "obs/" + ((_obs = obs) === null || _obs === void 0 ? void 0 : _obs.name) + (((_obs2 = obs) === null || _obs2 === void 0 ? void 0 : _obs2.type) === _constants.OBS_TYPES.CATEGORICAL ? "/codes" : "")
73
+ };
74
+ }, [dataset.url, (_obs3 = obs) === null || _obs3 === void 0 ? void 0 : _obs3.name, (_obs4 = obs) === null || _obs4 === void 0 ? void 0 : _obs4.type]);
98
75
  return (0, _zarrHelper.useZarr)(obsParams, _zarrHelper.GET_OPTIONS, {
99
76
  enabled: !!obs
100
77
  });
@@ -103,22 +80,13 @@ exports.useObsData = useObsData;
103
80
  const useLabelObsData = () => {
104
81
  const dataset = (0, _DatasetContext.useDataset)();
105
82
  const settings = (0, _SettingsContext.useSettings)();
106
- const [labelObsParams, setLabelObsParams] = (0, _react.useState)(_lodash.default.map(settings.labelObs, obs => {
83
+ const labelObsParams = (0, _react.useMemo)(() => _lodash.default.map(settings.labelObs, obs => {
107
84
  return {
108
85
  url: dataset.url,
109
86
  path: "obs/" + obs.name + (obs.type === _constants.OBS_TYPES.CATEGORICAL ? "/codes" : ""),
110
87
  key: obs.name
111
88
  };
112
- }));
113
- (0, _react.useEffect)(() => {
114
- setLabelObsParams(_lodash.default.map(settings.labelObs, obs => {
115
- return {
116
- url: dataset.url,
117
- path: "obs/" + obs.name + (obs.type === _constants.OBS_TYPES.CATEGORICAL ? "/codes" : ""),
118
- key: obs.name
119
- };
120
- }));
121
- }, [settings.labelObs, dataset.url]);
89
+ }), [dataset.url, settings.labelObs]);
122
90
  return (0, _zarrHelper.useMultipleZarr)(labelObsParams, _zarrHelper.GET_OPTIONS, {
123
91
  enabled: !!labelObsParams.length
124
92
  });
@@ -1,4 +1,4 @@
1
- import { useEffect, useState } from "react";
1
+ import { useMemo } from "react";
2
2
  import _ from "lodash";
3
3
  import { slice } from "zarr";
4
4
  import { OBS_TYPES } from "../constants/constants";
@@ -12,18 +12,11 @@ export const useObsmData = function () {
12
12
  const dataset = useDataset();
13
13
  const settings = useSettings();
14
14
  obsm = obsm || settings.selectedObsm;
15
- const [obsmParams, setObsmParams] = useState({
15
+ const obsmParams = useMemo(() => ({
16
16
  url: dataset.url,
17
17
  path: "obsm/" + obsm,
18
18
  s: [null, slice(null, 2)] // load only [:, :2]
19
- });
20
- useEffect(() => {
21
- setObsmParams({
22
- url: dataset.url,
23
- path: "obsm/" + obsm,
24
- s: [null, slice(null, 2)]
25
- });
26
- }, [dataset.url, obsm]);
19
+ }), [dataset.url, obsm]);
27
20
  return useZarr(obsmParams, GET_OPTIONS, {
28
21
  enabled: !!obsm
29
22
  });
@@ -37,56 +30,40 @@ const meanData = (_i, data) => {
37
30
  });
38
31
  };
39
32
  export const useXData = function () {
40
- var _settings$selectedVar, _settings$selectedVar2, _settings$selectedVar3;
41
33
  let agg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : meanData;
42
34
  const dataset = useDataset();
43
35
  const settings = useSettings();
44
- const [xParams, setXParams] = useState(!settings.selectedVar ? [] : !((_settings$selectedVar = settings.selectedVar) !== null && _settings$selectedVar !== void 0 && _settings$selectedVar.isSet) ? [{
45
- url: dataset.url,
46
- path: "X",
47
- s: [null, (_settings$selectedVar2 = settings.selectedVar) === null || _settings$selectedVar2 === void 0 ? void 0 : _settings$selectedVar2.matrix_index]
48
- }] : _.map((_settings$selectedVar3 = settings.selectedVar) === null || _settings$selectedVar3 === void 0 ? void 0 : _settings$selectedVar3.vars, v => {
49
- return {
36
+ const xParams = useMemo(() => {
37
+ var _settings$selectedVar, _settings$selectedVar2, _settings$selectedVar3;
38
+ return !settings.selectedVar ? [] : !((_settings$selectedVar = settings.selectedVar) !== null && _settings$selectedVar !== void 0 && _settings$selectedVar.isSet) ? [{
50
39
  url: dataset.url,
51
40
  path: "X",
52
- s: [null, v.matrix_index]
53
- };
54
- }));
55
- useEffect(() => {
56
- var _settings$selectedVar4, _settings$selectedVar5, _settings$selectedVar6;
57
- setXParams(!settings.selectedVar ? [] : !((_settings$selectedVar4 = settings.selectedVar) !== null && _settings$selectedVar4 !== void 0 && _settings$selectedVar4.isSet) ? [{
58
- url: dataset.url,
59
- path: "X",
60
- s: [null, (_settings$selectedVar5 = settings.selectedVar) === null || _settings$selectedVar5 === void 0 ? void 0 : _settings$selectedVar5.matrix_index]
61
- }] : _.map((_settings$selectedVar6 = settings.selectedVar) === null || _settings$selectedVar6 === void 0 ? void 0 : _settings$selectedVar6.vars, v => {
41
+ s: [null, (_settings$selectedVar2 = settings.selectedVar) === null || _settings$selectedVar2 === void 0 ? void 0 : _settings$selectedVar2.matrix_index]
42
+ }] : _.map((_settings$selectedVar3 = settings.selectedVar) === null || _settings$selectedVar3 === void 0 ? void 0 : _settings$selectedVar3.vars, v => {
62
43
  return {
63
44
  url: dataset.url,
64
45
  path: "X",
65
46
  s: [null, v.matrix_index]
66
47
  };
67
- }));
48
+ });
68
49
  }, [dataset.url, settings.selectedVar]);
69
50
  return useMultipleZarr(xParams, GET_OPTIONS, {
70
51
  enabled: !!xParams.length
71
52
  }, agg);
72
53
  };
73
54
  export const useObsData = function () {
74
- var _obs, _obs2;
55
+ var _obs3, _obs4;
75
56
  let obs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
76
57
  const dataset = useDataset();
77
58
  const settings = useSettings();
78
59
  obs = obs || settings.selectedObs;
79
- const [obsParams, setObsParams] = useState({
80
- url: dataset.url,
81
- path: "obs/" + ((_obs = obs) === null || _obs === void 0 ? void 0 : _obs.name) + (((_obs2 = obs) === null || _obs2 === void 0 ? void 0 : _obs2.type) === OBS_TYPES.CATEGORICAL ? "/codes" : "")
82
- });
83
- useEffect(() => {
84
- var _obs3, _obs4;
85
- setObsParams({
60
+ const obsParams = useMemo(() => {
61
+ var _obs, _obs2;
62
+ return {
86
63
  url: dataset.url,
87
- path: "obs/" + ((_obs3 = obs) === null || _obs3 === void 0 ? void 0 : _obs3.name) + (((_obs4 = obs) === null || _obs4 === void 0 ? void 0 : _obs4.type) === OBS_TYPES.CATEGORICAL ? "/codes" : "")
88
- });
89
- }, [dataset.url, obs]);
64
+ path: "obs/" + ((_obs = obs) === null || _obs === void 0 ? void 0 : _obs.name) + (((_obs2 = obs) === null || _obs2 === void 0 ? void 0 : _obs2.type) === OBS_TYPES.CATEGORICAL ? "/codes" : "")
65
+ };
66
+ }, [dataset.url, (_obs3 = obs) === null || _obs3 === void 0 ? void 0 : _obs3.name, (_obs4 = obs) === null || _obs4 === void 0 ? void 0 : _obs4.type]);
90
67
  return useZarr(obsParams, GET_OPTIONS, {
91
68
  enabled: !!obs
92
69
  });
@@ -94,22 +71,13 @@ export const useObsData = function () {
94
71
  export const useLabelObsData = () => {
95
72
  const dataset = useDataset();
96
73
  const settings = useSettings();
97
- const [labelObsParams, setLabelObsParams] = useState(_.map(settings.labelObs, obs => {
74
+ const labelObsParams = useMemo(() => _.map(settings.labelObs, obs => {
98
75
  return {
99
76
  url: dataset.url,
100
77
  path: "obs/" + obs.name + (obs.type === OBS_TYPES.CATEGORICAL ? "/codes" : ""),
101
78
  key: obs.name
102
79
  };
103
- }));
104
- useEffect(() => {
105
- setLabelObsParams(_.map(settings.labelObs, obs => {
106
- return {
107
- url: dataset.url,
108
- path: "obs/" + obs.name + (obs.type === OBS_TYPES.CATEGORICAL ? "/codes" : ""),
109
- key: obs.name
110
- };
111
- }));
112
- }, [settings.labelObs, dataset.url]);
80
+ }), [dataset.url, settings.labelObs]);
113
81
  return useMultipleZarr(labelObsParams, GET_OPTIONS, {
114
82
  enabled: !!labelObsParams.length
115
83
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haniffalab/cherita-react",
3
- "version": "1.2.0-dev.2025-05-21.6154c7e3",
3
+ "version": "1.2.0-dev.2025-05-21.f93366f0",
4
4
  "author": "Haniffa Lab",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -126,5 +126,5 @@
126
126
  "url": "https://github.com/haniffalab/cherita-react/issues"
127
127
  },
128
128
  "homepage": "https://github.com/haniffalab/cherita-react#readme",
129
- "prereleaseSha": "6154c7e36a41acbf72162393ed92cb64c8d552c7"
129
+ "prereleaseSha": "f93366f0ccfa157ef61ffeeb7bca2c095846d7a4"
130
130
  }