@micromag/core 0.3.122 → 0.3.135

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.
package/es/hooks.js CHANGED
@@ -736,6 +736,8 @@ var useMediaApi = function useMediaApi() {
736
736
  onEnded = _ref$onEnded === void 0 ? null : _ref$onEnded,
737
737
  _ref$onSeeked = _ref.onSeeked,
738
738
  onSeeked = _ref$onSeeked === void 0 ? null : _ref$onSeeked,
739
+ _ref$onSuspended = _ref.onSuspended,
740
+ onSuspended = _ref$onSuspended === void 0 ? null : _ref$onSuspended,
739
741
  _ref$onLoadStart = _ref.onLoadStart,
740
742
  onLoadStart = _ref$onLoadStart === void 0 ? null : _ref$onLoadStart,
741
743
  _ref$onCanPlayThough = _ref.onCanPlayThough,
@@ -784,6 +786,11 @@ var useMediaApi = function useMediaApi() {
784
786
  initialPlay = _useState14[0],
785
787
  setInitialPlay = _useState14[1];
786
788
 
789
+ var _useState15 = useState(false),
790
+ _useState16 = _slicedToArray(_useState15, 2),
791
+ suspended = _useState16[0],
792
+ setSuspended = _useState16[1];
793
+
787
794
  var progressStepsReached = useRef({});
788
795
  var paused = !playing; // Exposed methods
789
796
 
@@ -959,44 +966,102 @@ var useMediaApi = function useMediaApi() {
959
966
  onLoadedData();
960
967
  }
961
968
  }, [setDataReady, onLoadedData]);
969
+ var onCustomSuspended = useCallback(function () {
970
+ setSuspended(true);
971
+
972
+ if (onSuspended !== null) {
973
+ onSuspended();
974
+ }
975
+ }, [setDataReady, onLoadedData]);
962
976
  useEffect(function () {
963
977
  var _ref$current = ref.current,
964
- media = _ref$current === void 0 ? null : _ref$current;
978
+ media = _ref$current === void 0 ? null : _ref$current; // console.log('actions', url);
965
979
 
966
980
  if (media !== null) {
967
- media.addEventListener('timeupdate', onCustomTimeUpdate);
968
- media.addEventListener('durationchange', onCustomDurationChange);
969
981
  media.addEventListener('volumechange', onCustomVolumeChange);
970
982
  media.addEventListener('play', onCustomPlay);
971
983
  media.addEventListener('pause', onCustomPause);
972
984
  media.addEventListener('ended', onCustomEnded);
973
- media.addEventListener('seeked', onCustomSeeked);
985
+ media.addEventListener('seeked', onCustomSeeked); // media.addEventListener('loadstart', onCustomLoadStart);
986
+ // media.addEventListener('canplaythrough', onCustomCanPlayThrough);
987
+ // media.addEventListener('canplay', onCustomCanPlay);
988
+ // media.addEventListener('loadedmetadata', onCustomLoadedMetadata);
989
+ // media.addEventListener('loadeddata', onCustomLoadedData);
990
+ }
991
+
992
+ return function () {
993
+ if (media !== null) {
994
+ media.removeEventListener('volumechange', onCustomVolumeChange);
995
+ media.removeEventListener('play', onCustomPlay);
996
+ media.removeEventListener('pause', onCustomPause);
997
+ media.removeEventListener('ended', onCustomEnded);
998
+ media.removeEventListener('seeked', onCustomSeeked); // media.removeEventListener('loadstart', onCustomLoadStart);
999
+ // media.removeEventListener('canplaythrough', onCustomCanPlayThrough);
1000
+ // media.removeEventListener('canplay', onCustomCanPlay);
1001
+ // media.removeEventListener('loadedmetadata', onCustomLoadedMetadata);
1002
+ }
1003
+ };
1004
+ }, [url, onCustomVolumeChange, onCustomPlay, onCustomPause, onCustomEnded, onCustomSeeked, onCustomSuspended // onCustomLoadStart,
1005
+ // onCustomCanPlayThrough,
1006
+ // onCustomCanPlay,
1007
+ // onCustomLoadedMetadata,
1008
+ ]);
1009
+ useEffect(function () {
1010
+ var _ref$current2 = ref.current,
1011
+ media = _ref$current2 === void 0 ? null : _ref$current2;
1012
+
1013
+ if (media !== null) {
974
1014
  media.addEventListener('loadstart', onCustomLoadStart);
975
1015
  media.addEventListener('canplaythrough', onCustomCanPlayThrough);
976
1016
  media.addEventListener('canplay', onCustomCanPlay);
977
1017
  media.addEventListener('loadedmetadata', onCustomLoadedMetadata);
978
1018
  media.addEventListener('loadeddata', onCustomLoadedData);
1019
+ media.addEventListener('suspend', onCustomSuspended);
979
1020
  }
980
1021
 
981
1022
  return function () {
982
1023
  if (media !== null) {
983
- media.removeEventListener('timeupdate', onCustomTimeUpdate);
984
- media.removeEventListener('durationchange', onCustomDurationChange);
985
- media.removeEventListener('volumechange', onCustomVolumeChange);
986
- media.removeEventListener('play', onCustomPlay);
987
- media.removeEventListener('pause', onCustomPause);
988
- media.removeEventListener('ended', onCustomEnded);
989
- media.removeEventListener('seeked', onCustomSeeked);
990
1024
  media.removeEventListener('loadstart', onCustomLoadStart);
991
1025
  media.removeEventListener('canplaythrough', onCustomCanPlayThrough);
992
1026
  media.removeEventListener('canplay', onCustomCanPlay);
993
1027
  media.removeEventListener('loadedmetadata', onCustomLoadedMetadata);
1028
+ media.removeEventListener('suspend', onCustomSuspended);
994
1029
  }
995
1030
  };
996
- }, [url, onCustomTimeUpdate, onCustomDurationChange, onCustomVolumeChange, onCustomPlay, onCustomPause, onCustomEnded, onCustomSeeked, onCustomLoadStart, onCustomCanPlayThrough, onCustomCanPlay, onCustomLoadedMetadata]);
1031
+ }, [url, onCustomLoadStart, onCustomCanPlayThrough, onCustomCanPlay, onCustomLoadedMetadata, onCustomSuspended]); // Duration
1032
+
997
1033
  useEffect(function () {
998
- var _ref$current2 = ref.current,
999
- media = _ref$current2 === void 0 ? null : _ref$current2;
1034
+ var _ref$current3 = ref.current,
1035
+ media = _ref$current3 === void 0 ? null : _ref$current3;
1036
+
1037
+ if (media !== null) {
1038
+ media.addEventListener('durationchange', onCustomDurationChange);
1039
+ }
1040
+
1041
+ return function () {
1042
+ if (media !== null) {
1043
+ media.removeEventListener('durationchange', onCustomDurationChange);
1044
+ }
1045
+ };
1046
+ }, [url, onCustomDurationChange]); // Timeupdate
1047
+
1048
+ useEffect(function () {
1049
+ var _ref$current4 = ref.current,
1050
+ media = _ref$current4 === void 0 ? null : _ref$current4; // console.log('timeupdate', url);
1051
+
1052
+ if (media !== null) {
1053
+ media.addEventListener('timeupdate', onCustomTimeUpdate);
1054
+ }
1055
+
1056
+ return function () {
1057
+ if (media !== null) {
1058
+ media.removeEventListener('timeupdate', onCustomTimeUpdate);
1059
+ }
1060
+ };
1061
+ }, [url, onCustomTimeUpdate, onCustomDurationChange]);
1062
+ useEffect(function () {
1063
+ var _ref$current5 = ref.current,
1064
+ media = _ref$current5 === void 0 ? null : _ref$current5;
1000
1065
 
1001
1066
  if (media !== null && media.readyState > 1) {
1002
1067
  setDataReady(true);
@@ -1026,7 +1091,8 @@ var useMediaApi = function useMediaApi() {
1026
1091
  playing: playing,
1027
1092
  paused: paused,
1028
1093
  ready: ready,
1029
- dataReady: dataReady
1094
+ dataReady: dataReady,
1095
+ suspended: suspended
1030
1096
  };
1031
1097
  };
1032
1098
 
package/es/utils.js CHANGED
@@ -928,8 +928,22 @@ var setValue = function setValue(value, keyParts, fieldValue) {
928
928
  if (isArray) {
929
929
  var index = parseInt(key, 10); // TODO: fix this with an explicit delete
930
930
  // instead on splicing out the element on null fieldValue
931
-
932
- var newArrayValue = fieldValue !== null ? [].concat(_toConsumableArray(value.slice(0, index)), [keyParts.length > 0 ? setValue(value !== null ? value[index] || null : null, keyParts, fieldValue) : fieldValue], _toConsumableArray(value.slice(index + 1))) : [].concat(_toConsumableArray(value.slice(0, index)), _toConsumableArray(value.slice(index + 1)));
931
+ // const newArrayValue =
932
+ // fieldValue !== null
933
+ // ? [
934
+ // ...value.slice(0, index),
935
+ // keyParts.length > 0
936
+ // ? setValue(
937
+ // value !== null ? value[index] || null : null,
938
+ // keyParts,
939
+ // fieldValue,
940
+ // )
941
+ // : fieldValue,
942
+ // ...value.slice(index + 1),
943
+ // ]
944
+ // : [...value.slice(0, index), ...value.slice(index + 1)];
945
+
946
+ var newArrayValue = [].concat(_toConsumableArray(value.slice(0, index)), [keyParts.length > 0 ? setValue(value !== null ? value[index] || null : null, keyParts, fieldValue) : fieldValue], _toConsumableArray(value.slice(index + 1)));
933
947
  return newArrayValue.length > 0 ? newArrayValue : null;
934
948
  }
935
949
 
package/lib/hooks.js CHANGED
@@ -772,6 +772,8 @@ var useMediaApi = function useMediaApi() {
772
772
  onEnded = _ref$onEnded === void 0 ? null : _ref$onEnded,
773
773
  _ref$onSeeked = _ref.onSeeked,
774
774
  onSeeked = _ref$onSeeked === void 0 ? null : _ref$onSeeked,
775
+ _ref$onSuspended = _ref.onSuspended,
776
+ onSuspended = _ref$onSuspended === void 0 ? null : _ref$onSuspended,
775
777
  _ref$onLoadStart = _ref.onLoadStart,
776
778
  onLoadStart = _ref$onLoadStart === void 0 ? null : _ref$onLoadStart,
777
779
  _ref$onCanPlayThough = _ref.onCanPlayThough,
@@ -820,6 +822,11 @@ var useMediaApi = function useMediaApi() {
820
822
  initialPlay = _useState14[0],
821
823
  setInitialPlay = _useState14[1];
822
824
 
825
+ var _useState15 = react.useState(false),
826
+ _useState16 = _slicedToArray__default["default"](_useState15, 2),
827
+ suspended = _useState16[0],
828
+ setSuspended = _useState16[1];
829
+
823
830
  var progressStepsReached = react.useRef({});
824
831
  var paused = !playing; // Exposed methods
825
832
 
@@ -995,44 +1002,102 @@ var useMediaApi = function useMediaApi() {
995
1002
  onLoadedData();
996
1003
  }
997
1004
  }, [setDataReady, onLoadedData]);
1005
+ var onCustomSuspended = react.useCallback(function () {
1006
+ setSuspended(true);
1007
+
1008
+ if (onSuspended !== null) {
1009
+ onSuspended();
1010
+ }
1011
+ }, [setDataReady, onLoadedData]);
998
1012
  react.useEffect(function () {
999
1013
  var _ref$current = ref.current,
1000
- media = _ref$current === void 0 ? null : _ref$current;
1014
+ media = _ref$current === void 0 ? null : _ref$current; // console.log('actions', url);
1001
1015
 
1002
1016
  if (media !== null) {
1003
- media.addEventListener('timeupdate', onCustomTimeUpdate);
1004
- media.addEventListener('durationchange', onCustomDurationChange);
1005
1017
  media.addEventListener('volumechange', onCustomVolumeChange);
1006
1018
  media.addEventListener('play', onCustomPlay);
1007
1019
  media.addEventListener('pause', onCustomPause);
1008
1020
  media.addEventListener('ended', onCustomEnded);
1009
- media.addEventListener('seeked', onCustomSeeked);
1021
+ media.addEventListener('seeked', onCustomSeeked); // media.addEventListener('loadstart', onCustomLoadStart);
1022
+ // media.addEventListener('canplaythrough', onCustomCanPlayThrough);
1023
+ // media.addEventListener('canplay', onCustomCanPlay);
1024
+ // media.addEventListener('loadedmetadata', onCustomLoadedMetadata);
1025
+ // media.addEventListener('loadeddata', onCustomLoadedData);
1026
+ }
1027
+
1028
+ return function () {
1029
+ if (media !== null) {
1030
+ media.removeEventListener('volumechange', onCustomVolumeChange);
1031
+ media.removeEventListener('play', onCustomPlay);
1032
+ media.removeEventListener('pause', onCustomPause);
1033
+ media.removeEventListener('ended', onCustomEnded);
1034
+ media.removeEventListener('seeked', onCustomSeeked); // media.removeEventListener('loadstart', onCustomLoadStart);
1035
+ // media.removeEventListener('canplaythrough', onCustomCanPlayThrough);
1036
+ // media.removeEventListener('canplay', onCustomCanPlay);
1037
+ // media.removeEventListener('loadedmetadata', onCustomLoadedMetadata);
1038
+ }
1039
+ };
1040
+ }, [url, onCustomVolumeChange, onCustomPlay, onCustomPause, onCustomEnded, onCustomSeeked, onCustomSuspended // onCustomLoadStart,
1041
+ // onCustomCanPlayThrough,
1042
+ // onCustomCanPlay,
1043
+ // onCustomLoadedMetadata,
1044
+ ]);
1045
+ react.useEffect(function () {
1046
+ var _ref$current2 = ref.current,
1047
+ media = _ref$current2 === void 0 ? null : _ref$current2;
1048
+
1049
+ if (media !== null) {
1010
1050
  media.addEventListener('loadstart', onCustomLoadStart);
1011
1051
  media.addEventListener('canplaythrough', onCustomCanPlayThrough);
1012
1052
  media.addEventListener('canplay', onCustomCanPlay);
1013
1053
  media.addEventListener('loadedmetadata', onCustomLoadedMetadata);
1014
1054
  media.addEventListener('loadeddata', onCustomLoadedData);
1055
+ media.addEventListener('suspend', onCustomSuspended);
1015
1056
  }
1016
1057
 
1017
1058
  return function () {
1018
1059
  if (media !== null) {
1019
- media.removeEventListener('timeupdate', onCustomTimeUpdate);
1020
- media.removeEventListener('durationchange', onCustomDurationChange);
1021
- media.removeEventListener('volumechange', onCustomVolumeChange);
1022
- media.removeEventListener('play', onCustomPlay);
1023
- media.removeEventListener('pause', onCustomPause);
1024
- media.removeEventListener('ended', onCustomEnded);
1025
- media.removeEventListener('seeked', onCustomSeeked);
1026
1060
  media.removeEventListener('loadstart', onCustomLoadStart);
1027
1061
  media.removeEventListener('canplaythrough', onCustomCanPlayThrough);
1028
1062
  media.removeEventListener('canplay', onCustomCanPlay);
1029
1063
  media.removeEventListener('loadedmetadata', onCustomLoadedMetadata);
1064
+ media.removeEventListener('suspend', onCustomSuspended);
1030
1065
  }
1031
1066
  };
1032
- }, [url, onCustomTimeUpdate, onCustomDurationChange, onCustomVolumeChange, onCustomPlay, onCustomPause, onCustomEnded, onCustomSeeked, onCustomLoadStart, onCustomCanPlayThrough, onCustomCanPlay, onCustomLoadedMetadata]);
1067
+ }, [url, onCustomLoadStart, onCustomCanPlayThrough, onCustomCanPlay, onCustomLoadedMetadata, onCustomSuspended]); // Duration
1068
+
1033
1069
  react.useEffect(function () {
1034
- var _ref$current2 = ref.current,
1035
- media = _ref$current2 === void 0 ? null : _ref$current2;
1070
+ var _ref$current3 = ref.current,
1071
+ media = _ref$current3 === void 0 ? null : _ref$current3;
1072
+
1073
+ if (media !== null) {
1074
+ media.addEventListener('durationchange', onCustomDurationChange);
1075
+ }
1076
+
1077
+ return function () {
1078
+ if (media !== null) {
1079
+ media.removeEventListener('durationchange', onCustomDurationChange);
1080
+ }
1081
+ };
1082
+ }, [url, onCustomDurationChange]); // Timeupdate
1083
+
1084
+ react.useEffect(function () {
1085
+ var _ref$current4 = ref.current,
1086
+ media = _ref$current4 === void 0 ? null : _ref$current4; // console.log('timeupdate', url);
1087
+
1088
+ if (media !== null) {
1089
+ media.addEventListener('timeupdate', onCustomTimeUpdate);
1090
+ }
1091
+
1092
+ return function () {
1093
+ if (media !== null) {
1094
+ media.removeEventListener('timeupdate', onCustomTimeUpdate);
1095
+ }
1096
+ };
1097
+ }, [url, onCustomTimeUpdate, onCustomDurationChange]);
1098
+ react.useEffect(function () {
1099
+ var _ref$current5 = ref.current,
1100
+ media = _ref$current5 === void 0 ? null : _ref$current5;
1036
1101
 
1037
1102
  if (media !== null && media.readyState > 1) {
1038
1103
  setDataReady(true);
@@ -1062,7 +1127,8 @@ var useMediaApi = function useMediaApi() {
1062
1127
  playing: playing,
1063
1128
  paused: paused,
1064
1129
  ready: ready,
1065
- dataReady: dataReady
1130
+ dataReady: dataReady,
1131
+ suspended: suspended
1066
1132
  };
1067
1133
  };
1068
1134
 
package/lib/utils.js CHANGED
@@ -947,8 +947,22 @@ var setValue = function setValue(value, keyParts, fieldValue) {
947
947
  if (isArray) {
948
948
  var index = parseInt(key, 10); // TODO: fix this with an explicit delete
949
949
  // instead on splicing out the element on null fieldValue
950
-
951
- var newArrayValue = fieldValue !== null ? [].concat(_toConsumableArray__default["default"](value.slice(0, index)), [keyParts.length > 0 ? setValue(value !== null ? value[index] || null : null, keyParts, fieldValue) : fieldValue], _toConsumableArray__default["default"](value.slice(index + 1))) : [].concat(_toConsumableArray__default["default"](value.slice(0, index)), _toConsumableArray__default["default"](value.slice(index + 1)));
950
+ // const newArrayValue =
951
+ // fieldValue !== null
952
+ // ? [
953
+ // ...value.slice(0, index),
954
+ // keyParts.length > 0
955
+ // ? setValue(
956
+ // value !== null ? value[index] || null : null,
957
+ // keyParts,
958
+ // fieldValue,
959
+ // )
960
+ // : fieldValue,
961
+ // ...value.slice(index + 1),
962
+ // ]
963
+ // : [...value.slice(0, index), ...value.slice(index + 1)];
964
+
965
+ var newArrayValue = [].concat(_toConsumableArray__default["default"](value.slice(0, index)), [keyParts.length > 0 ? setValue(value !== null ? value[index] || null : null, keyParts, fieldValue) : fieldValue], _toConsumableArray__default["default"](value.slice(index + 1)));
952
966
  return newArrayValue.length > 0 ? newArrayValue : null;
953
967
  }
954
968
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/core",
3
- "version": "0.3.122",
3
+ "version": "0.3.135",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -132,5 +132,5 @@
132
132
  "publishConfig": {
133
133
  "access": "public"
134
134
  },
135
- "gitHead": "4fbee9b4305d9a4ae0e4532a1d8e143155499878"
135
+ "gitHead": "b9bd185aacc16b6fb5540aa113dc7872c822e279"
136
136
  }