react-native-reanimated-carousel 4.0.0-alpha.1 → 4.0.0-alpha.3

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.
Files changed (49) hide show
  1. package/lib/commonjs/components/rnr-demo.test.js +45 -0
  2. package/lib/commonjs/components/rnr-demo.test.js.map +1 -0
  3. package/lib/commonjs/hooks/useCommonVariables.js +38 -12
  4. package/lib/commonjs/hooks/useCommonVariables.js.map +1 -1
  5. package/lib/commonjs/hooks/useCommonVariables.test.js +38 -0
  6. package/lib/commonjs/hooks/useCommonVariables.test.js.map +1 -0
  7. package/lib/commonjs/utils/{computeNewIndexWhenDataChanges.js → compute-offset-if-data-changed.js} +3 -3
  8. package/lib/commonjs/utils/compute-offset-if-data-changed.js.map +1 -0
  9. package/lib/commonjs/utils/compute-offset-if-data-changed.test.js +30 -0
  10. package/lib/commonjs/utils/compute-offset-if-data-changed.test.js.map +1 -0
  11. package/lib/commonjs/utils/compute-offset-if-size-changed.js +18 -0
  12. package/lib/commonjs/utils/compute-offset-if-size-changed.js.map +1 -0
  13. package/lib/commonjs/utils/compute-offset-if-size-changed.test.js +72 -0
  14. package/lib/commonjs/utils/compute-offset-if-size-changed.test.js.map +1 -0
  15. package/lib/commonjs/utils/index.test.js +6 -6
  16. package/lib/commonjs/utils/index.test.js.map +1 -1
  17. package/lib/module/components/rnr-demo.test.js +33 -0
  18. package/lib/module/components/rnr-demo.test.js.map +1 -0
  19. package/lib/module/hooks/useCommonVariables.js +38 -8
  20. package/lib/module/hooks/useCommonVariables.js.map +1 -1
  21. package/lib/module/hooks/useCommonVariables.test.js +34 -0
  22. package/lib/module/hooks/useCommonVariables.test.js.map +1 -0
  23. package/lib/module/utils/{computeNewIndexWhenDataChanges.js → compute-offset-if-data-changed.js} +2 -2
  24. package/lib/module/utils/compute-offset-if-data-changed.js.map +1 -0
  25. package/lib/module/utils/compute-offset-if-data-changed.test.js +27 -0
  26. package/lib/module/utils/compute-offset-if-data-changed.test.js.map +1 -0
  27. package/lib/module/utils/compute-offset-if-size-changed.js +11 -0
  28. package/lib/module/utils/compute-offset-if-size-changed.js.map +1 -0
  29. package/lib/module/utils/compute-offset-if-size-changed.test.js +69 -0
  30. package/lib/module/utils/compute-offset-if-size-changed.test.js.map +1 -0
  31. package/lib/module/utils/index.test.js +6 -6
  32. package/lib/module/utils/index.test.js.map +1 -1
  33. package/lib/typescript/components/rnr-demo.test.d.ts +1 -0
  34. package/lib/typescript/hooks/useCommonVariables.test.d.ts +1 -0
  35. package/lib/typescript/utils/{computeNewIndexWhenDataChanges.d.ts → compute-offset-if-data-changed.d.ts} +1 -1
  36. package/lib/typescript/utils/compute-offset-if-data-changed.test.d.ts +1 -0
  37. package/lib/typescript/utils/compute-offset-if-size-changed.d.ts +5 -0
  38. package/lib/typescript/utils/compute-offset-if-size-changed.test.d.ts +1 -0
  39. package/package.json +9 -48
  40. package/src/components/rnr-demo.test.tsx +43 -0
  41. package/src/hooks/useCommonVariables.test.tsx +41 -0
  42. package/src/hooks/useCommonVariables.ts +35 -10
  43. package/src/utils/compute-offset-if-data-changed.test.ts +30 -0
  44. package/src/utils/{computeNewIndexWhenDataChanges.ts → compute-offset-if-data-changed.ts} +1 -1
  45. package/src/utils/compute-offset-if-size-changed.test.ts +78 -0
  46. package/src/utils/compute-offset-if-size-changed.ts +11 -0
  47. package/src/utils/index.test.ts +6 -6
  48. package/lib/commonjs/utils/computeNewIndexWhenDataChanges.js.map +0 -1
  49. package/lib/module/utils/computeNewIndexWhenDataChanges.js.map +0 -1
@@ -0,0 +1,78 @@
1
+ import { computeOffsetIfSizeChanged } from "./compute-offset-if-size-changed";
2
+
3
+ describe("computeOffsetIfSizeChanged", () => {
4
+ it("[CASE 1] should return the correct values when size does not change", () => {
5
+ const prevIndex = 1;
6
+ const prevSize = 500;
7
+ const size = 500;
8
+ const handlerOffset = prevIndex * size;
9
+ const result = computeOffsetIfSizeChanged({
10
+ prevSize,
11
+ size,
12
+ handlerOffset,
13
+ });
14
+
15
+ const finallyIndex = result / size;
16
+ expect(finallyIndex).toEqual(prevIndex);
17
+ });
18
+
19
+ it("[CASE 2] should return the correct values when size changes from 500 to 400", () => {
20
+ const prevIndex = 1;
21
+ const prevSize = 500;
22
+ const size = 400;
23
+ const handlerOffset = prevIndex * prevSize;
24
+ const result = computeOffsetIfSizeChanged({
25
+ prevSize,
26
+ size,
27
+ handlerOffset,
28
+ });
29
+
30
+ const finallyIndex = result / size;
31
+ expect(finallyIndex).toEqual(prevIndex);
32
+ });
33
+
34
+ it("[CASE 3] should return the correct values when size changes from 500 to 499", () => {
35
+ const prevIndex = 1;
36
+ const prevSize = 500;
37
+ const size = 499;
38
+ const handlerOffset = prevIndex * prevSize;
39
+ const result = computeOffsetIfSizeChanged({
40
+ prevSize,
41
+ size,
42
+ handlerOffset,
43
+ });
44
+
45
+ const finallyIndex = result / size;
46
+ expect(finallyIndex).toEqual(prevIndex);
47
+ });
48
+
49
+ it("[CASE 4] should return the correct values when size changes from 500 to 501", () => {
50
+ const prevIndex = 1;
51
+ const prevSize = 500;
52
+ const size = 501;
53
+ const handlerOffset = prevIndex * prevSize;
54
+ const result = computeOffsetIfSizeChanged({
55
+ prevSize,
56
+ size,
57
+ handlerOffset,
58
+ });
59
+
60
+ const finallyIndex = result / size;
61
+ expect(finallyIndex).toEqual(prevIndex);
62
+ });
63
+
64
+ it("[CASE 5] should return the correct values when size changes from 224 to 524", () => {
65
+ const prevIndex = 1;
66
+ const prevSize = 224;
67
+ const size = 524;
68
+ const handlerOffset = prevIndex * prevSize;
69
+ const result = computeOffsetIfSizeChanged({
70
+ prevSize,
71
+ size,
72
+ handlerOffset,
73
+ });
74
+
75
+ const finallyIndex = result / size;
76
+ expect(finallyIndex).toEqual(prevIndex);
77
+ });
78
+ });
@@ -0,0 +1,11 @@
1
+ export function computeOffsetIfSizeChanged(params: {
2
+ handlerOffset: number
3
+ prevSize: number
4
+ size: number
5
+ }) {
6
+ "worklet";
7
+ const { handlerOffset, prevSize, size } = params;
8
+
9
+ return handlerOffset / prevSize * size;
10
+ }
11
+
@@ -1,4 +1,4 @@
1
- import { computeNewIndexWhenDataChanges } from "./computeNewIndexWhenDataChanges";
1
+ import { computeOffsetIfDataChanged } from "./compute-offset-if-data-changed";
2
2
 
3
3
  describe("should work as expected", () => {
4
4
  const size = 375;
@@ -24,7 +24,7 @@ describe("should work as expected", () => {
24
24
 
25
25
  it("The direction is negative, And changing length of data set from 4 to 3, the new index will to be 2.", async () => {
26
26
  const currentIndex = 1;
27
- const handlerOffset = computeNewIndexWhenDataChanges(params({
27
+ const handlerOffset = computeOffsetIfDataChanged(params({
28
28
  currentIndex,
29
29
  direction: "negative",
30
30
  previousLength: 4,
@@ -35,7 +35,7 @@ describe("should work as expected", () => {
35
35
  });
36
36
 
37
37
  it("The direction is negative, Changing length of data set from 4 to 3, the index remains original.", async () => {
38
- const handlerOffset = computeNewIndexWhenDataChanges(params({
38
+ const handlerOffset = computeOffsetIfDataChanged(params({
39
39
  currentIndex: 2,
40
40
  direction: "negative",
41
41
  previousLength: 4,
@@ -46,7 +46,7 @@ describe("should work as expected", () => {
46
46
  });
47
47
 
48
48
  it("The direction is positive, Changing length of data set from 4 to 5, the index remains original.", async () => {
49
- const handlerOffset = computeNewIndexWhenDataChanges(params({
49
+ const handlerOffset = computeOffsetIfDataChanged(params({
50
50
  currentIndex: 3,
51
51
  direction: "positive",
52
52
  previousLength: 4,
@@ -57,7 +57,7 @@ describe("should work as expected", () => {
57
57
  });
58
58
 
59
59
  it("The direction is negative, Changing length of data set from 4 to 5, the index remains original.", async () => {
60
- const handlerOffset = computeNewIndexWhenDataChanges(params({
60
+ const handlerOffset = computeOffsetIfDataChanged(params({
61
61
  currentIndex: 3,
62
62
  direction: "negative",
63
63
  previousLength: 4,
@@ -68,7 +68,7 @@ describe("should work as expected", () => {
68
68
  });
69
69
 
70
70
  it("Changing length of data set from 0 to 3, the index remains original.", async () => {
71
- const handlerOffset = computeNewIndexWhenDataChanges(params({
71
+ const handlerOffset = computeOffsetIfDataChanged(params({
72
72
  currentIndex: 0,
73
73
  direction: "positive",
74
74
  previousLength: 0,
@@ -1 +0,0 @@
1
- {"version":3,"sources":["computeNewIndexWhenDataChanges.ts"],"names":["omitZero","a","b","computeNewIndexWhenDataChanges","params","direction","handlerOffset","_handlerOffset","size","previousLength","currentLength","positionIndex","round","isPositive","Math","abs","parseInt","String","prevOffset","prevIndex","changedLength","changedOffset"],"mappings":";;;;;;;;AAAO,SAASA,QAAT,CAAkBC,CAAlB,EAA6BC,CAA7B,EAAwC;AAC7C;;AACA,MAAID,CAAC,KAAK,CAAV,EACE,OAAO,CAAP;AAEF,SAAOC,CAAP;AACD;;AAEM,SAASC,8BAAT,CAAwCC,MAAxC,EAMJ;AACD;;AACA,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,aAAa,EAAEC,cAA5B;AAA4CC,IAAAA,IAA5C;AAAkDC,IAAAA,cAAlD;AAAkEC,IAAAA;AAAlE,MAAoFN,MAA1F;AAEA,MAAIE,aAAa,GAAGC,cAApB;AACA,MAAII,aAAJ;AACA,MAAIC,KAAJ;AAEA,QAAMC,UAAU,GAAGR,SAAS,GAAG,CAA/B;;AAEA,MAAIQ,UAAJ,EAAgB;AACdF,IAAAA,aAAa,GAAIG,IAAI,CAACC,GAAL,CAAST,aAAT,CAAD,GAA4BE,IAA5C;AACAI,IAAAA,KAAK,GAAGI,QAAQ,CAACC,MAAM,CAACjB,QAAQ,CAACS,cAAD,EAAiBE,aAAa,GAAGF,cAAjC,CAAT,CAAP,CAAhB;AACD,GAHD,MAIK;AACHE,IAAAA,aAAa,GAAG,CAACG,IAAI,CAACC,GAAL,CAAST,aAAT,IAA0BE,IAA3B,IAAmCA,IAAnD;AACAI,IAAAA,KAAK,GAAGI,QAAQ,CAACC,MAAM,CAACjB,QAAQ,CAACS,cAAD,EAAiBE,aAAa,GAAGF,cAAjC,CAAT,CAAP,CAAR,GAA6E,CAArF;AACD;;AAED,QAAMS,UAAU,GAAGlB,QAAQ,CAACS,cAAD,EAAiBE,aAAa,GAAGF,cAAjC,CAA3B;AACA,QAAMU,SAAS,GAAGN,UAAU,GAAGK,UAAH,GAAgBT,cAAc,GAAGS,UAAjB,GAA8B,CAA1E;AACA,QAAME,aAAa,GAAGR,KAAK,IAAIF,aAAa,GAAGD,cAApB,CAA3B;AACA,QAAMY,aAAa,GAAGD,aAAa,GAAGZ,IAAtC;;AACA,MAAIW,SAAS,GAAGT,aAAa,GAAG,CAA5B,IAAiCA,aAAa,GAAGD,cAArD,EAAqE;AACnE,QAAII,UAAJ,EACEP,aAAa,GAAG,CAACI,aAAa,GAAG,CAAjB,IAAsBF,IAAtB,GAA6BH,SAA7C,CADF,KAIEC,aAAa,GAAG,CAACI,aAAa,GAAG,CAAjB,IAAsBF,IAAtB,GAA6B,CAAC,CAA9C;AACH,GAND,MAOK;AACHF,IAAAA,aAAa,IAAIe,aAAa,GAAGhB,SAAjC;AACD;;AAED,SAAOC,aAAP;AACD","sourcesContent":["export function omitZero(a: number, b: number) {\n \"worklet\";\n if (a === 0)\n return 0;\n\n return b;\n}\n\nexport function computeNewIndexWhenDataChanges(params: {\n direction: number\n handlerOffset: number\n size: number\n previousLength: number\n currentLength: number\n}) {\n \"worklet\";\n const { direction, handlerOffset: _handlerOffset, size, previousLength, currentLength } = params;\n\n let handlerOffset = _handlerOffset;\n let positionIndex;\n let round;\n\n const isPositive = direction < 0;\n\n if (isPositive) {\n positionIndex = (Math.abs(handlerOffset)) / size;\n round = parseInt(String(omitZero(previousLength, positionIndex / previousLength)));\n }\n else {\n positionIndex = (Math.abs(handlerOffset) - size) / size;\n round = parseInt(String(omitZero(previousLength, positionIndex / previousLength))) + 1;\n }\n\n const prevOffset = omitZero(previousLength, positionIndex % previousLength);\n const prevIndex = isPositive ? prevOffset : previousLength - prevOffset - 1;\n const changedLength = round * (currentLength - previousLength);\n const changedOffset = changedLength * size;\n if (prevIndex > currentLength - 1 && currentLength < previousLength) {\n if (isPositive)\n handlerOffset = (currentLength - 1) * size * direction;\n\n else\n handlerOffset = (currentLength - 1) * size * -1;\n }\n else {\n handlerOffset += changedOffset * direction;\n }\n\n return handlerOffset;\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["computeNewIndexWhenDataChanges.ts"],"names":["omitZero","a","b","computeNewIndexWhenDataChanges","params","direction","handlerOffset","_handlerOffset","size","previousLength","currentLength","positionIndex","round","isPositive","Math","abs","parseInt","String","prevOffset","prevIndex","changedLength","changedOffset"],"mappings":"AAAA,OAAO,SAASA,QAAT,CAAkBC,CAAlB,EAA6BC,CAA7B,EAAwC;AAC7C;;AACA,MAAID,CAAC,KAAK,CAAV,EACE,OAAO,CAAP;AAEF,SAAOC,CAAP;AACD;AAED,OAAO,SAASC,8BAAT,CAAwCC,MAAxC,EAMJ;AACD;;AACA,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,aAAa,EAAEC,cAA5B;AAA4CC,IAAAA,IAA5C;AAAkDC,IAAAA,cAAlD;AAAkEC,IAAAA;AAAlE,MAAoFN,MAA1F;AAEA,MAAIE,aAAa,GAAGC,cAApB;AACA,MAAII,aAAJ;AACA,MAAIC,KAAJ;AAEA,QAAMC,UAAU,GAAGR,SAAS,GAAG,CAA/B;;AAEA,MAAIQ,UAAJ,EAAgB;AACdF,IAAAA,aAAa,GAAIG,IAAI,CAACC,GAAL,CAAST,aAAT,CAAD,GAA4BE,IAA5C;AACAI,IAAAA,KAAK,GAAGI,QAAQ,CAACC,MAAM,CAACjB,QAAQ,CAACS,cAAD,EAAiBE,aAAa,GAAGF,cAAjC,CAAT,CAAP,CAAhB;AACD,GAHD,MAIK;AACHE,IAAAA,aAAa,GAAG,CAACG,IAAI,CAACC,GAAL,CAAST,aAAT,IAA0BE,IAA3B,IAAmCA,IAAnD;AACAI,IAAAA,KAAK,GAAGI,QAAQ,CAACC,MAAM,CAACjB,QAAQ,CAACS,cAAD,EAAiBE,aAAa,GAAGF,cAAjC,CAAT,CAAP,CAAR,GAA6E,CAArF;AACD;;AAED,QAAMS,UAAU,GAAGlB,QAAQ,CAACS,cAAD,EAAiBE,aAAa,GAAGF,cAAjC,CAA3B;AACA,QAAMU,SAAS,GAAGN,UAAU,GAAGK,UAAH,GAAgBT,cAAc,GAAGS,UAAjB,GAA8B,CAA1E;AACA,QAAME,aAAa,GAAGR,KAAK,IAAIF,aAAa,GAAGD,cAApB,CAA3B;AACA,QAAMY,aAAa,GAAGD,aAAa,GAAGZ,IAAtC;;AACA,MAAIW,SAAS,GAAGT,aAAa,GAAG,CAA5B,IAAiCA,aAAa,GAAGD,cAArD,EAAqE;AACnE,QAAII,UAAJ,EACEP,aAAa,GAAG,CAACI,aAAa,GAAG,CAAjB,IAAsBF,IAAtB,GAA6BH,SAA7C,CADF,KAIEC,aAAa,GAAG,CAACI,aAAa,GAAG,CAAjB,IAAsBF,IAAtB,GAA6B,CAAC,CAA9C;AACH,GAND,MAOK;AACHF,IAAAA,aAAa,IAAIe,aAAa,GAAGhB,SAAjC;AACD;;AAED,SAAOC,aAAP;AACD","sourcesContent":["export function omitZero(a: number, b: number) {\n \"worklet\";\n if (a === 0)\n return 0;\n\n return b;\n}\n\nexport function computeNewIndexWhenDataChanges(params: {\n direction: number\n handlerOffset: number\n size: number\n previousLength: number\n currentLength: number\n}) {\n \"worklet\";\n const { direction, handlerOffset: _handlerOffset, size, previousLength, currentLength } = params;\n\n let handlerOffset = _handlerOffset;\n let positionIndex;\n let round;\n\n const isPositive = direction < 0;\n\n if (isPositive) {\n positionIndex = (Math.abs(handlerOffset)) / size;\n round = parseInt(String(omitZero(previousLength, positionIndex / previousLength)));\n }\n else {\n positionIndex = (Math.abs(handlerOffset) - size) / size;\n round = parseInt(String(omitZero(previousLength, positionIndex / previousLength))) + 1;\n }\n\n const prevOffset = omitZero(previousLength, positionIndex % previousLength);\n const prevIndex = isPositive ? prevOffset : previousLength - prevOffset - 1;\n const changedLength = round * (currentLength - previousLength);\n const changedOffset = changedLength * size;\n if (prevIndex > currentLength - 1 && currentLength < previousLength) {\n if (isPositive)\n handlerOffset = (currentLength - 1) * size * direction;\n\n else\n handlerOffset = (currentLength - 1) * size * -1;\n }\n else {\n handlerOffset += changedOffset * direction;\n }\n\n return handlerOffset;\n}\n\n"]}