@fluentui-react-native/framework-base 0.2.0 → 0.3.0

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 (188) hide show
  1. package/CHANGELOG.json +16 -1
  2. package/CHANGELOG.md +43 -2
  3. package/README.md +18 -1
  4. package/babel.config.js +1 -1
  5. package/jsx-runtime.js +1 -0
  6. package/lib/component-patterns/directComponent.d.ts +7 -0
  7. package/lib/component-patterns/directComponent.d.ts.map +1 -0
  8. package/lib/component-patterns/directComponent.js +8 -0
  9. package/lib/component-patterns/directComponent.js.map +1 -0
  10. package/lib/component-patterns/extract.d.ts +22 -0
  11. package/lib/component-patterns/extract.d.ts.map +1 -0
  12. package/lib/component-patterns/extract.js +25 -0
  13. package/lib/component-patterns/extract.js.map +1 -0
  14. package/lib/component-patterns/phasedComponent.d.ts +18 -0
  15. package/lib/component-patterns/phasedComponent.d.ts.map +1 -0
  16. package/lib/component-patterns/phasedComponent.js +51 -0
  17. package/lib/component-patterns/phasedComponent.js.map +1 -0
  18. package/lib/component-patterns/render.d.ts +9 -3
  19. package/lib/component-patterns/render.d.ts.map +1 -1
  20. package/lib/component-patterns/render.js +39 -32
  21. package/lib/component-patterns/render.js.map +1 -1
  22. package/lib/component-patterns/render.types.d.ts +60 -34
  23. package/lib/component-patterns/render.types.d.ts.map +1 -1
  24. package/lib/component-patterns/render.types.js +1 -1
  25. package/lib/component-patterns/stagedComponent.d.ts +3 -8
  26. package/lib/component-patterns/stagedComponent.d.ts.map +1 -1
  27. package/lib/component-patterns/stagedComponent.js +10 -27
  28. package/lib/component-patterns/stagedComponent.js.map +1 -1
  29. package/lib/component-patterns/withSlots.d.ts +6 -2
  30. package/lib/component-patterns/withSlots.d.ts.map +1 -1
  31. package/lib/component-patterns/withSlots.js +3 -3
  32. package/lib/component-patterns/withSlots.js.map +1 -1
  33. package/lib/immutable-merge/Merge.d.ts +6 -3
  34. package/lib/immutable-merge/Merge.js +79 -83
  35. package/lib/immutable-merge/Merge.js.map +1 -1
  36. package/lib/immutable-merge/Merge.test.d.ts +1 -1
  37. package/lib/immutable-merge/Merge.test.js +231 -219
  38. package/lib/immutable-merge/Merge.test.js.map +1 -1
  39. package/lib/index.d.ts +33 -5
  40. package/lib/index.d.ts.map +1 -1
  41. package/lib/index.js +13 -4
  42. package/lib/index.js.map +1 -1
  43. package/lib/jsx-namespace.d.ts +65 -0
  44. package/lib/jsx-namespace.d.ts.map +1 -0
  45. package/lib/jsx-namespace.js +2 -0
  46. package/lib/jsx-namespace.js.map +1 -0
  47. package/lib/jsx-runtime.d.ts +6 -4
  48. package/lib/jsx-runtime.d.ts.map +1 -1
  49. package/lib/jsx-runtime.js +9 -7
  50. package/lib/jsx-runtime.js.map +1 -1
  51. package/lib/memo-cache/getCacheEntry.d.ts +13 -13
  52. package/lib/memo-cache/getCacheEntry.js +20 -22
  53. package/lib/memo-cache/getCacheEntry.js.map +1 -1
  54. package/lib/memo-cache/getCacheEntry.test.d.ts +1 -1
  55. package/lib/memo-cache/getCacheEntry.test.js +90 -90
  56. package/lib/memo-cache/getCacheEntry.test.js.map +1 -1
  57. package/lib/memo-cache/getMemoCache.d.ts +1 -1
  58. package/lib/memo-cache/getMemoCache.js +11 -11
  59. package/lib/memo-cache/getMemoCache.js.map +1 -1
  60. package/lib/memo-cache/getMemoCache.test.d.ts +1 -1
  61. package/lib/memo-cache/getMemoCache.test.js +73 -73
  62. package/lib/memo-cache/getMemoCache.test.js.map +1 -1
  63. package/lib/memo-cache/memoize.d.ts +1 -1
  64. package/lib/memo-cache/memoize.js +9 -9
  65. package/lib/memo-cache/memoize.js.map +1 -1
  66. package/lib/memo-cache/memoize.test.d.ts +1 -1
  67. package/lib/memo-cache/memoize.test.js +36 -38
  68. package/lib/memo-cache/memoize.test.js.map +1 -1
  69. package/lib/merge-props/index.d.ts +1 -1
  70. package/lib/merge-props/index.js +1 -1
  71. package/lib/merge-props/mergeProps.d.ts +1 -1
  72. package/lib/merge-props/mergeProps.js +4 -4
  73. package/lib/merge-props/mergeProps.js.map +1 -1
  74. package/lib/merge-props/mergeStyles.d.ts +33 -4
  75. package/lib/merge-props/mergeStyles.d.ts.map +1 -1
  76. package/lib/merge-props/mergeStyles.js +16 -17
  77. package/lib/merge-props/mergeStyles.js.map +1 -1
  78. package/lib/merge-props/mergeStyles.test.d.ts +1 -1
  79. package/lib/merge-props/mergeStyles.test.js +75 -75
  80. package/lib/merge-props/mergeStyles.test.js.map +1 -1
  81. package/lib/merge-props/mergeStyles.types.d.ts +4 -4
  82. package/lib/merge-props/mergeStyles.types.d.ts.map +1 -1
  83. package/lib/merge-props/mergeStyles.types.js +1 -1
  84. package/lib/utilities/filterProps.d.ts +3 -0
  85. package/lib/utilities/filterProps.d.ts.map +1 -0
  86. package/lib/utilities/filterProps.js +12 -0
  87. package/lib/utilities/filterProps.js.map +1 -0
  88. package/lib-commonjs/component-patterns/directComponent.d.ts +7 -0
  89. package/lib-commonjs/component-patterns/directComponent.d.ts.map +1 -0
  90. package/lib-commonjs/component-patterns/directComponent.js +11 -0
  91. package/lib-commonjs/component-patterns/directComponent.js.map +1 -0
  92. package/lib-commonjs/component-patterns/extract.d.ts +22 -0
  93. package/lib-commonjs/component-patterns/extract.d.ts.map +1 -0
  94. package/lib-commonjs/component-patterns/extract.js +30 -0
  95. package/lib-commonjs/component-patterns/extract.js.map +1 -0
  96. package/lib-commonjs/component-patterns/phasedComponent.d.ts +18 -0
  97. package/lib-commonjs/component-patterns/phasedComponent.d.ts.map +1 -0
  98. package/lib-commonjs/component-patterns/phasedComponent.js +60 -0
  99. package/lib-commonjs/component-patterns/phasedComponent.js.map +1 -0
  100. package/lib-commonjs/component-patterns/render.d.ts +9 -3
  101. package/lib-commonjs/component-patterns/render.d.ts.map +1 -1
  102. package/lib-commonjs/component-patterns/render.js +101 -39
  103. package/lib-commonjs/component-patterns/render.js.map +1 -1
  104. package/lib-commonjs/component-patterns/render.types.d.ts +60 -34
  105. package/lib-commonjs/component-patterns/render.types.d.ts.map +1 -1
  106. package/lib-commonjs/component-patterns/render.types.js +3 -3
  107. package/lib-commonjs/component-patterns/stagedComponent.d.ts +3 -8
  108. package/lib-commonjs/component-patterns/stagedComponent.d.ts.map +1 -1
  109. package/lib-commonjs/component-patterns/stagedComponent.js +64 -34
  110. package/lib-commonjs/component-patterns/stagedComponent.js.map +1 -1
  111. package/lib-commonjs/component-patterns/withSlots.d.ts +6 -2
  112. package/lib-commonjs/component-patterns/withSlots.d.ts.map +1 -1
  113. package/lib-commonjs/component-patterns/withSlots.js +7 -8
  114. package/lib-commonjs/component-patterns/withSlots.js.map +1 -1
  115. package/lib-commonjs/immutable-merge/Merge.d.ts +6 -3
  116. package/lib-commonjs/immutable-merge/Merge.js +85 -90
  117. package/lib-commonjs/immutable-merge/Merge.js.map +1 -1
  118. package/lib-commonjs/immutable-merge/Merge.test.d.ts +1 -1
  119. package/lib-commonjs/immutable-merge/Merge.test.js +234 -222
  120. package/lib-commonjs/immutable-merge/Merge.test.js.map +1 -1
  121. package/lib-commonjs/index.d.ts +33 -5
  122. package/lib-commonjs/index.d.ts.map +1 -1
  123. package/lib-commonjs/index.js +184 -31
  124. package/lib-commonjs/index.js.map +1 -1
  125. package/lib-commonjs/jsx-namespace.d.ts +65 -0
  126. package/lib-commonjs/jsx-namespace.d.ts.map +1 -0
  127. package/lib-commonjs/jsx-namespace.js +3 -0
  128. package/lib-commonjs/jsx-namespace.js.map +1 -0
  129. package/lib-commonjs/jsx-runtime.d.ts +6 -4
  130. package/lib-commonjs/jsx-runtime.d.ts.map +1 -1
  131. package/lib-commonjs/jsx-runtime.js +70 -13
  132. package/lib-commonjs/jsx-runtime.js.map +1 -1
  133. package/lib-commonjs/memo-cache/getCacheEntry.d.ts +13 -13
  134. package/lib-commonjs/memo-cache/getCacheEntry.js +23 -26
  135. package/lib-commonjs/memo-cache/getCacheEntry.js.map +1 -1
  136. package/lib-commonjs/memo-cache/getCacheEntry.test.d.ts +1 -1
  137. package/lib-commonjs/memo-cache/getCacheEntry.test.js +93 -93
  138. package/lib-commonjs/memo-cache/getCacheEntry.test.js.map +1 -1
  139. package/lib-commonjs/memo-cache/getMemoCache.d.ts +1 -1
  140. package/lib-commonjs/memo-cache/getMemoCache.js +16 -17
  141. package/lib-commonjs/memo-cache/getMemoCache.js.map +1 -1
  142. package/lib-commonjs/memo-cache/getMemoCache.test.d.ts +1 -1
  143. package/lib-commonjs/memo-cache/getMemoCache.test.js +76 -76
  144. package/lib-commonjs/memo-cache/getMemoCache.test.js.map +1 -1
  145. package/lib-commonjs/memo-cache/memoize.d.ts +1 -1
  146. package/lib-commonjs/memo-cache/memoize.js +13 -14
  147. package/lib-commonjs/memo-cache/memoize.js.map +1 -1
  148. package/lib-commonjs/memo-cache/memoize.test.d.ts +1 -1
  149. package/lib-commonjs/memo-cache/memoize.test.js +39 -41
  150. package/lib-commonjs/memo-cache/memoize.test.js.map +1 -1
  151. package/lib-commonjs/merge-props/index.d.ts +1 -1
  152. package/lib-commonjs/merge-props/index.js +17 -7
  153. package/lib-commonjs/merge-props/index.js.map +1 -1
  154. package/lib-commonjs/merge-props/mergeProps.d.ts +1 -1
  155. package/lib-commonjs/merge-props/mergeProps.js +9 -10
  156. package/lib-commonjs/merge-props/mergeProps.js.map +1 -1
  157. package/lib-commonjs/merge-props/mergeStyles.d.ts +33 -4
  158. package/lib-commonjs/merge-props/mergeStyles.d.ts.map +1 -1
  159. package/lib-commonjs/merge-props/mergeStyles.js +23 -25
  160. package/lib-commonjs/merge-props/mergeStyles.js.map +1 -1
  161. package/lib-commonjs/merge-props/mergeStyles.test.d.ts +1 -1
  162. package/lib-commonjs/merge-props/mergeStyles.test.js +78 -78
  163. package/lib-commonjs/merge-props/mergeStyles.test.js.map +1 -1
  164. package/lib-commonjs/merge-props/mergeStyles.types.d.ts +4 -4
  165. package/lib-commonjs/merge-props/mergeStyles.types.d.ts.map +1 -1
  166. package/lib-commonjs/merge-props/mergeStyles.types.js +3 -3
  167. package/lib-commonjs/utilities/filterProps.d.ts +3 -0
  168. package/lib-commonjs/utilities/filterProps.d.ts.map +1 -0
  169. package/lib-commonjs/utilities/filterProps.js +15 -0
  170. package/lib-commonjs/utilities/filterProps.js.map +1 -0
  171. package/package.json +48 -20
  172. package/src/component-patterns/README.md +53 -16
  173. package/src/component-patterns/directComponent.ts +9 -0
  174. package/src/component-patterns/extract.ts +32 -0
  175. package/src/component-patterns/phasedComponent.ts +54 -0
  176. package/src/component-patterns/render.ts +21 -13
  177. package/src/component-patterns/render.types.ts +55 -30
  178. package/src/component-patterns/stagedComponent.ts +24 -0
  179. package/src/immutable-merge/Merge.test.ts +5 -1
  180. package/src/index.ts +27 -7
  181. package/src/jsx-namespace.ts +83 -0
  182. package/src/jsx-runtime.ts +8 -4
  183. package/src/memo-cache/README.md +1 -1
  184. package/src/merge-props/mergeStyles.test.ts +3 -2
  185. package/src/merge-props/mergeStyles.ts +52 -4
  186. package/src/merge-props/mergeStyles.types.ts +2 -2
  187. package/src/utilities/filterProps.ts +14 -0
  188. package/src/component-patterns/stagedComponent.tsx +0 -45
@@ -1,97 +1,97 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const getCacheEntry_1 = require("./getCacheEntry");
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ const getCacheEntry_1 = require('./getCacheEntry');
4
4
  function compareResults(base, args, argsNoMatch) {
5
- const e1 = (0, getCacheEntry_1.getCacheEntry)(base, args);
6
- expect((0, getCacheEntry_1.getCacheEntry)(base, args)).toBe(e1);
7
- if (argsNoMatch) {
8
- expect((0, getCacheEntry_1.getCacheEntry)(base, argsNoMatch)).not.toBe(e1);
9
- }
5
+ const e1 = (0, getCacheEntry_1.getCacheEntry)(base, args);
6
+ expect((0, getCacheEntry_1.getCacheEntry)(base, args)).toBe(e1);
7
+ if (argsNoMatch) {
8
+ expect((0, getCacheEntry_1.getCacheEntry)(base, argsNoMatch)).not.toBe(e1);
9
+ }
10
10
  }
11
11
  describe('Memo cache unit tests', () => {
12
- test('undefined args to return noargs', () => {
13
- const base = {};
14
- expect((0, getCacheEntry_1.getCacheEntry)(base, undefined)).toBe(base.noargs);
15
- });
16
- test('empty args array to return noargs entry', () => {
17
- const base = {};
18
- expect((0, getCacheEntry_1.getCacheEntry)(base, [])).toBe(base.noargs);
19
- });
20
- test('undefined goes to empty entry', () => {
21
- const base = {};
22
- expect((0, getCacheEntry_1.getCacheEntry)(base, [undefined])).toBe(base.empty);
23
- });
24
- test('null to go to empty entry', () => {
25
- const base = {};
26
- expect((0, getCacheEntry_1.getCacheEntry)(base, [null])).toBe(base.empty);
27
- });
28
- test('string gets keyed correctly', () => {
29
- const base = {};
30
- const key = 'foo';
31
- expect((0, getCacheEntry_1.getCacheEntry)(base, [key])).toBe(base.str[key]);
32
- });
33
- test('number gets keyed correctly', () => {
34
- const base = {};
35
- const val = 235;
36
- const key = val + '';
37
- expect((0, getCacheEntry_1.getCacheEntry)(base, [val])).toBe(base.str[key]);
38
- });
39
- test('bool gets keyed correctly', () => {
40
- const base = {};
41
- const val = true;
42
- const key = val + '';
43
- expect((0, getCacheEntry_1.getCacheEntry)(base, [val])).toBe(base.str[key]);
44
- });
45
- test('false bool gets keyed correctly', () => {
46
- const base = {};
47
- const val = false;
48
- const key = val + '';
49
- expect((0, getCacheEntry_1.getCacheEntry)(base, [val])).toBe(base.str[key]);
50
- });
51
- test('object gets keyed correctly', () => {
52
- const base = {};
53
- const key = {};
54
- expect((0, getCacheEntry_1.getCacheEntry)(base, [key])).toBe(base.obj.get(key));
55
- });
56
- test('function gets keyed correctly', () => {
57
- const base = {};
58
- const key = () => {
59
- return 'hello world';
60
- };
61
- expect((0, getCacheEntry_1.getCacheEntry)(base, [key])).toBe(base.obj.get(key));
62
- });
63
- test('basic string retrieval', () => {
64
- compareResults({}, ['hello', 'world'], ['hello world']);
65
- });
66
- test('mixed keys with strings', () => {
67
- compareResults({}, ['hello', 1, true, undefined, 'world'], ['hello', 1, true, '', 'world']);
68
- });
69
- test('basic object matches', () => {
70
- const obj = {};
71
- compareResults({}, [obj]);
72
- });
73
- test('mixed object and string matches', () => {
74
- const obj = {};
75
- compareResults({}, [obj, 'hello', 1, 'world']);
76
- });
77
- test('mixed obj and strings with obj at end', () => {
78
- const obj = {};
79
- const obj2 = {};
80
- compareResults({}, ['hello', 1, 'world', obj], ['hello', 1, 'world', obj2]);
81
- });
82
- test('hybrid sets', () => {
83
- const obj = {};
84
- const obj2 = {};
85
- compareResults({}, ['hello', obj, 'world', 1, false, obj2, undefined]);
86
- });
87
- test('sub cache on object', () => {
88
- const obj = {};
89
- const args1 = ['hello', obj];
90
- const base = {};
91
- const subRoot = (0, getCacheEntry_1.getCacheEntry)(base, args1);
92
- const args2 = ['world', base];
93
- const target = (0, getCacheEntry_1.getCacheEntry)(subRoot, args2);
94
- expect((0, getCacheEntry_1.getCacheEntry)(base, [...args1, ...args2])).toBe(target);
95
- });
12
+ test('undefined args to return noargs', () => {
13
+ const base = {};
14
+ expect((0, getCacheEntry_1.getCacheEntry)(base, undefined)).toBe(base.noargs);
15
+ });
16
+ test('empty args array to return noargs entry', () => {
17
+ const base = {};
18
+ expect((0, getCacheEntry_1.getCacheEntry)(base, [])).toBe(base.noargs);
19
+ });
20
+ test('undefined goes to empty entry', () => {
21
+ const base = {};
22
+ expect((0, getCacheEntry_1.getCacheEntry)(base, [undefined])).toBe(base.empty);
23
+ });
24
+ test('null to go to empty entry', () => {
25
+ const base = {};
26
+ expect((0, getCacheEntry_1.getCacheEntry)(base, [null])).toBe(base.empty);
27
+ });
28
+ test('string gets keyed correctly', () => {
29
+ const base = {};
30
+ const key = 'foo';
31
+ expect((0, getCacheEntry_1.getCacheEntry)(base, [key])).toBe(base.str[key]);
32
+ });
33
+ test('number gets keyed correctly', () => {
34
+ const base = {};
35
+ const val = 235;
36
+ const key = val + '';
37
+ expect((0, getCacheEntry_1.getCacheEntry)(base, [val])).toBe(base.str[key]);
38
+ });
39
+ test('bool gets keyed correctly', () => {
40
+ const base = {};
41
+ const val = true;
42
+ const key = val + '';
43
+ expect((0, getCacheEntry_1.getCacheEntry)(base, [val])).toBe(base.str[key]);
44
+ });
45
+ test('false bool gets keyed correctly', () => {
46
+ const base = {};
47
+ const val = false;
48
+ const key = val + '';
49
+ expect((0, getCacheEntry_1.getCacheEntry)(base, [val])).toBe(base.str[key]);
50
+ });
51
+ test('object gets keyed correctly', () => {
52
+ const base = {};
53
+ const key = {};
54
+ expect((0, getCacheEntry_1.getCacheEntry)(base, [key])).toBe(base.obj.get(key));
55
+ });
56
+ test('function gets keyed correctly', () => {
57
+ const base = {};
58
+ const key = () => {
59
+ return 'hello world';
60
+ };
61
+ expect((0, getCacheEntry_1.getCacheEntry)(base, [key])).toBe(base.obj.get(key));
62
+ });
63
+ test('basic string retrieval', () => {
64
+ compareResults({}, ['hello', 'world'], ['hello world']);
65
+ });
66
+ test('mixed keys with strings', () => {
67
+ compareResults({}, ['hello', 1, true, undefined, 'world'], ['hello', 1, true, '', 'world']);
68
+ });
69
+ test('basic object matches', () => {
70
+ const obj = {};
71
+ compareResults({}, [obj]);
72
+ });
73
+ test('mixed object and string matches', () => {
74
+ const obj = {};
75
+ compareResults({}, [obj, 'hello', 1, 'world']);
76
+ });
77
+ test('mixed obj and strings with obj at end', () => {
78
+ const obj = {};
79
+ const obj2 = {};
80
+ compareResults({}, ['hello', 1, 'world', obj], ['hello', 1, 'world', obj2]);
81
+ });
82
+ test('hybrid sets', () => {
83
+ const obj = {};
84
+ const obj2 = {};
85
+ compareResults({}, ['hello', obj, 'world', 1, false, obj2, undefined]);
86
+ });
87
+ test('sub cache on object', () => {
88
+ const obj = {};
89
+ const args1 = ['hello', obj];
90
+ const base = {};
91
+ const subRoot = (0, getCacheEntry_1.getCacheEntry)(base, args1);
92
+ const args2 = ['world', base];
93
+ const target = (0, getCacheEntry_1.getCacheEntry)(subRoot, args2);
94
+ expect((0, getCacheEntry_1.getCacheEntry)(base, [...args1, ...args2])).toBe(target);
95
+ });
96
96
  });
97
- //# sourceMappingURL=getCacheEntry.test.js.map
97
+ //# sourceMappingURL=getCacheEntry.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCacheEntry.test.js","sourceRoot":"","sources":["../../src/memo-cache/getCacheEntry.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getCacheEntry.test.js","sourceRoot":"","sources":["../../src/memo-cache/getCacheEntry.test.ts"],"names":[],"mappings":"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"}
@@ -20,4 +20,4 @@ export declare function getMemoCache(globalKey?: object): GetMemoValue;
20
20
  * to retrieve the same cache from the global call. If not specified the returned cache will be completely isolated.
21
21
  */
22
22
  export declare function getTypedMemoCache<T>(globalKey?: object): GetTypedMemoValue<T>;
23
- //# sourceMappingURL=getMemoCache.d.ts.map
23
+ //# sourceMappingURL=getMemoCache.d.ts.map
@@ -1,7 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTypedMemoCache = exports.getMemoCache = void 0;
4
- const getCacheEntry_1 = require("./getCacheEntry");
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ exports.getMemoCache = getMemoCache;
4
+ exports.getTypedMemoCache = getTypedMemoCache;
5
+ const getCacheEntry_1 = require('./getCacheEntry');
5
6
  /** base node used to remember references when a globalKey is set */
6
7
  const _baseEntry = {};
7
8
  /**
@@ -12,12 +13,12 @@ const _baseEntry = {};
12
13
  * @param keys - an ordered array of values of any type, used as keys to look up the entry
13
14
  */
14
15
  function getMemoValueWorker(entry, factory, keys) {
15
- const foundEntry = (0, getCacheEntry_1.getCacheEntry)(entry, keys);
16
- // check the key being set, not the value to disambiguate an undefined factory result/value from never having run the factory
17
- if (!Object.prototype.hasOwnProperty.call(foundEntry, 'value')) {
18
- foundEntry.value = typeof factory === 'function' ? factory() : factory;
19
- }
20
- return [foundEntry.value, (fact, args) => getMemoValueWorker(foundEntry, fact, args)];
16
+ const foundEntry = (0, getCacheEntry_1.getCacheEntry)(entry, keys);
17
+ // check the key being set, not the value to disambiguate an undefined factory result/value from never having run the factory
18
+ if (!Object.prototype.hasOwnProperty.call(foundEntry, 'value')) {
19
+ foundEntry.value = typeof factory === 'function' ? factory() : factory;
20
+ }
21
+ return [foundEntry.value, (fact, args) => getMemoValueWorker(foundEntry, fact, args)];
21
22
  }
22
23
  /**
23
24
  * Get a memo cache instance, this can either be completely self-contained or associated with a global key
@@ -26,10 +27,9 @@ function getMemoValueWorker(entry, factory, keys) {
26
27
  * to retrieve the same cache from the global call. If not specified the returned cache will be completely isolated.
27
28
  */
28
29
  function getMemoCache(globalKey) {
29
- const entry = globalKey ? (0, getCacheEntry_1.getCacheEntry)(_baseEntry, [globalKey]) : {};
30
- return (fact, args) => getMemoValueWorker(entry, fact, args);
30
+ const entry = globalKey ? (0, getCacheEntry_1.getCacheEntry)(_baseEntry, [globalKey]) : {};
31
+ return (fact, args) => getMemoValueWorker(entry, fact, args);
31
32
  }
32
- exports.getMemoCache = getMemoCache;
33
33
  /**
34
34
  * Get a typed memo cache instance, this can either be completely self-contained or associated with a global key
35
35
  *
@@ -37,8 +37,7 @@ exports.getMemoCache = getMemoCache;
37
37
  * to retrieve the same cache from the global call. If not specified the returned cache will be completely isolated.
38
38
  */
39
39
  function getTypedMemoCache(globalKey) {
40
- const entry = globalKey ? (0, getCacheEntry_1.getCacheEntry)(_baseEntry, [globalKey]) : {};
41
- return (fact, args) => getMemoValueWorker(entry, fact, args);
40
+ const entry = globalKey ? (0, getCacheEntry_1.getCacheEntry)(_baseEntry, [globalKey]) : {};
41
+ return (fact, args) => getMemoValueWorker(entry, fact, args);
42
42
  }
43
- exports.getTypedMemoCache = getTypedMemoCache;
44
- //# sourceMappingURL=getMemoCache.js.map
43
+ //# sourceMappingURL=getMemoCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getMemoCache.js","sourceRoot":"","sources":["../../src/memo-cache/getMemoCache.ts"],"names":[],"mappings":";;;AACA,mDAAgD;AAYhD,oEAAoE;AACpE,MAAM,UAAU,GAAe,EAAE,CAAC;AAElC;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAI,KAAiB,EAAE,OAA4B,EAAE,IAAe;IAC7F,MAAM,UAAU,GAAG,IAAA,6BAAa,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9C,6HAA6H;IAC7H,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE;QAC9D,UAAU,CAAC,KAAK,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAE,OAA2B,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KAC7F;IACD,OAAO,CAAC,UAAU,CAAC,KAAU,EAAE,CAAI,IAAyB,EAAE,IAAe,EAAE,EAAE,CAAC,kBAAkB,CAAI,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACnI,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,SAAkB;IAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,6BAAa,EAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAHD,oCAGC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,SAAkB;IACrD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,6BAAa,EAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAHD,8CAGC"}
1
+ {"version":3,"file":"getMemoCache.js","sourceRoot":"","sources":["../../src/memo-cache/getMemoCache.ts"],"names":[],"mappings":";;;;AACA,mDAAgD;AAYhD,oEAAoE;AACpE,MAAM,UAAU,GAAe,EAAE,CAAC;AAElC;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAI,KAAiB,EAAE,OAA4B,EAAE,IAAe,EAAqB;IAClH,MAAM,UAAU,GAAG,IAAA,6BAAa,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9C,6HAA6H;IAC7H,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;QAC/D,UAAU,CAAC,KAAK,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAE,OAA2B,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9F,CAAC;IACD,OAAO,CAAC,UAAU,CAAC,KAAU,EAAE,CAAI,IAAyB,EAAE,IAAe,EAAE,EAAE,CAAC,kBAAkB,CAAI,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAAA,CAClI;AAED;;;;;GAKG;AACH,sBAA6B,SAAkB,EAAgB;IAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,6BAAa,EAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAAA,CAC9D;AAED;;;;;GAKG;AACH,2BAAqC,SAAkB,EAAwB;IAC7E,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,6BAAa,EAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAAA,CAC9D"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=getMemoCache.test.d.ts.map
2
+ //# sourceMappingURL=getMemoCache.test.d.ts.map
@@ -1,80 +1,80 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const getMemoCache_1 = require("./getMemoCache");
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ const getMemoCache_1 = require('./getMemoCache');
4
4
  function getObjFactory() {
5
- const obj = { id: 0 };
6
- return () => ({
7
- id: obj.id++,
8
- });
5
+ const obj = { id: 0 };
6
+ return () => ({
7
+ id: obj.id++,
8
+ });
9
9
  }
10
10
  describe('getMemoCache unit tests', () => {
11
- test('memoValue with null function', () => {
12
- const memoValue = (0, getMemoCache_1.getMemoCache)();
13
- const [val] = memoValue(null, ['foo', 'bar']);
14
- expect(val).toBeNull();
15
- });
16
- test('memoValue with undefined', () => {
17
- const memoValue = (0, getMemoCache_1.getMemoCache)();
18
- const [val] = memoValue(undefined, ['foo', 'bar']);
19
- expect(val).toBeUndefined();
20
- });
21
- test('memoValue with string', () => {
22
- const memoValue = (0, getMemoCache_1.getMemoCache)();
23
- const [val] = memoValue('foo', ['bar', 'baz']);
24
- expect(val).toEqual('foo');
25
- });
26
- test('memoValue with object', () => {
27
- const memoValue = (0, getMemoCache_1.getMemoCache)();
28
- const obj = { foo: 'hello', bar: 2, baz: 'you' };
29
- const [val] = memoValue(obj, ['hello', obj]);
30
- expect(val).toBe(obj);
31
- });
32
- test('memoValue executes function', () => {
33
- const memoValue = (0, getMemoCache_1.getTypedMemoCache)();
34
- const fn = getObjFactory();
35
- const v1 = fn();
36
- const [v2] = memoValue(fn, ['bar', 'baz']);
37
- expect(v1).not.toBe(v2);
38
- expect(v1.id).not.toEqual(v2.id);
39
- });
40
- test('memo calls function only once', () => {
41
- const memoValue = (0, getMemoCache_1.getMemoCache)();
42
- const fn = getObjFactory();
43
- const keys = ['hello', 'world'];
44
- const [o1] = memoValue(fn, keys);
45
- const [o2] = memoValue(fn, keys);
46
- expect(o2).toBe(o1);
47
- });
48
- test('memo calls function only once for empty inputs', () => {
49
- const memoValue = (0, getMemoCache_1.getMemoCache)();
50
- const fn = getObjFactory();
51
- const [o1] = memoValue(fn, undefined);
52
- const [o2] = memoValue(fn, undefined);
53
- expect(o2).toBe(o1);
54
- });
55
- test('sub caches are separate', () => {
56
- const memoValue = (0, getMemoCache_1.getMemoCache)();
57
- const base1 = {};
58
- const base2 = {};
59
- const [, getCache1] = memoValue(null, [base1]);
60
- const [, getCache2] = memoValue(null, [base2]);
61
- const objKey = {};
62
- const fn = getObjFactory();
63
- const [o1] = getCache1(fn, [objKey]);
64
- const [o2] = getCache2(fn, [objKey]);
65
- const [o3] = getCache2(fn, [objKey]);
66
- expect(o1).not.toBe(o2);
67
- expect(o3).toBe(o2);
68
- });
69
- test('sub caches work on branches', () => {
70
- const memoValue = (0, getMemoCache_1.getMemoCache)();
71
- const keys1 = [{}, 2, 'hello'];
72
- const keys2 = [{}, true];
73
- const fn = getObjFactory();
74
- const [, getMemoValue] = memoValue(null, keys1);
75
- const [val1] = getMemoValue(fn, keys2);
76
- const [val2] = memoValue(fn, [...keys1, ...keys2]);
77
- expect(val2).toBe(val1);
78
- });
11
+ test('memoValue with null function', () => {
12
+ const memoValue = (0, getMemoCache_1.getMemoCache)();
13
+ const [val] = memoValue(null, ['foo', 'bar']);
14
+ expect(val).toBeNull();
15
+ });
16
+ test('memoValue with undefined', () => {
17
+ const memoValue = (0, getMemoCache_1.getMemoCache)();
18
+ const [val] = memoValue(undefined, ['foo', 'bar']);
19
+ expect(val).toBeUndefined();
20
+ });
21
+ test('memoValue with string', () => {
22
+ const memoValue = (0, getMemoCache_1.getMemoCache)();
23
+ const [val] = memoValue('foo', ['bar', 'baz']);
24
+ expect(val).toEqual('foo');
25
+ });
26
+ test('memoValue with object', () => {
27
+ const memoValue = (0, getMemoCache_1.getMemoCache)();
28
+ const obj = { foo: 'hello', bar: 2, baz: 'you' };
29
+ const [val] = memoValue(obj, ['hello', obj]);
30
+ expect(val).toBe(obj);
31
+ });
32
+ test('memoValue executes function', () => {
33
+ const memoValue = (0, getMemoCache_1.getTypedMemoCache)();
34
+ const fn = getObjFactory();
35
+ const v1 = fn();
36
+ const [v2] = memoValue(fn, ['bar', 'baz']);
37
+ expect(v1).not.toBe(v2);
38
+ expect(v1.id).not.toEqual(v2.id);
39
+ });
40
+ test('memo calls function only once', () => {
41
+ const memoValue = (0, getMemoCache_1.getMemoCache)();
42
+ const fn = getObjFactory();
43
+ const keys = ['hello', 'world'];
44
+ const [o1] = memoValue(fn, keys);
45
+ const [o2] = memoValue(fn, keys);
46
+ expect(o2).toBe(o1);
47
+ });
48
+ test('memo calls function only once for empty inputs', () => {
49
+ const memoValue = (0, getMemoCache_1.getMemoCache)();
50
+ const fn = getObjFactory();
51
+ const [o1] = memoValue(fn, undefined);
52
+ const [o2] = memoValue(fn, undefined);
53
+ expect(o2).toBe(o1);
54
+ });
55
+ test('sub caches are separate', () => {
56
+ const memoValue = (0, getMemoCache_1.getMemoCache)();
57
+ const base1 = {};
58
+ const base2 = {};
59
+ const [, getCache1] = memoValue(null, [base1]);
60
+ const [, getCache2] = memoValue(null, [base2]);
61
+ const objKey = {};
62
+ const fn = getObjFactory();
63
+ const [o1] = getCache1(fn, [objKey]);
64
+ const [o2] = getCache2(fn, [objKey]);
65
+ const [o3] = getCache2(fn, [objKey]);
66
+ expect(o1).not.toBe(o2);
67
+ expect(o3).toBe(o2);
68
+ });
69
+ test('sub caches work on branches', () => {
70
+ const memoValue = (0, getMemoCache_1.getMemoCache)();
71
+ const keys1 = [{}, 2, 'hello'];
72
+ const keys2 = [{}, true];
73
+ const fn = getObjFactory();
74
+ const [, getMemoValue] = memoValue(null, keys1);
75
+ const [val1] = getMemoValue(fn, keys2);
76
+ const [val2] = memoValue(fn, [...keys1, ...keys2]);
77
+ expect(val2).toBe(val1);
78
+ });
79
79
  });
80
- //# sourceMappingURL=getMemoCache.test.js.map
80
+ //# sourceMappingURL=getMemoCache.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getMemoCache.test.js","sourceRoot":"","sources":["../../src/memo-cache/getMemoCache.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getMemoCache.test.js","sourceRoot":"","sources":["../../src/memo-cache/getMemoCache.test.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,4 @@
3
3
  * @param fn - function to memoize
4
4
  */
5
5
  export declare function memoize<T extends Function>(fn: T): T;
6
- //# sourceMappingURL=memoize.d.ts.map
6
+ //# sourceMappingURL=memoize.d.ts.map
@@ -1,21 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.memoize = void 0;
4
- const getMemoCache_1 = require("./getMemoCache");
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ exports.memoize = memoize;
4
+ const getMemoCache_1 = require('./getMemoCache');
5
5
  /**
6
6
  * This wraps a function to memoize the results using the standard javascript memoization pattern
7
7
  * @param fn - function to memoize
8
8
  */
9
9
  // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
10
10
  function memoize(fn) {
11
- // create a unique cache that will be captured in the closure
12
- const cache = (0, getMemoCache_1.getMemoCache)();
13
- // create the closure which wraps the calling function
14
- const closure = (...args) => {
15
- return cache(() => fn(...(args || [])), args)[0];
16
- };
17
- // now return that closure strongly typed as the function.
18
- return closure;
11
+ // create a unique cache that will be captured in the closure
12
+ const cache = (0, getMemoCache_1.getMemoCache)();
13
+ // create the closure which wraps the calling function
14
+ const closure = (...args) => {
15
+ return cache(() => fn(...(args || [])), args)[0];
16
+ };
17
+ // now return that closure strongly typed as the function.
18
+ return closure;
19
19
  }
20
- exports.memoize = memoize;
21
- //# sourceMappingURL=memoize.js.map
20
+ //# sourceMappingURL=memoize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../src/memo-cache/memoize.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C;;;GAGG;AACH,sEAAsE;AACtE,SAAgB,OAAO,CAAqB,EAAK;IAC/C,6DAA6D;IAC7D,MAAM,KAAK,GAAG,IAAA,2BAAY,GAAE,CAAC;IAC7B,sDAAsD;IACtD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;QACrC,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC;IACF,0DAA0D;IAC1D,OAAO,OAAuB,CAAC;AACjC,CAAC;AATD,0BASC"}
1
+ {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../src/memo-cache/memoize.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C;;;GAGG;AACH,sEAAsE;AACtE,iBAA4C,EAAK,EAAK;IACpD,6DAA6D;IAC7D,MAAM,KAAK,GAAG,IAAA,2BAAY,GAAE,CAAC;IAC7B,sDAAsD;IACtD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAAA,CAClD,CAAC;IACF,0DAA0D;IAC1D,OAAO,OAAuB,CAAC;AAAA,CAChC"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=memoize.test.d.ts.map
2
+ //# sourceMappingURL=memoize.test.d.ts.map
@@ -1,47 +1,45 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const memoize_1 = require("./memoize");
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ const memoize_1 = require('./memoize');
4
4
  let _globalCalls = 0;
5
5
  describe('Memoize unit tests', () => {
6
- test('simple function no args', () => {
7
- const noArgsFn = (0, memoize_1.memoize)(() => {
8
- return ++_globalCalls;
9
- });
10
- const result1 = noArgsFn();
11
- expect(noArgsFn()).toEqual(result1);
6
+ test('simple function no args', () => {
7
+ const noArgsFn = (0, memoize_1.memoize)(() => {
8
+ return ++_globalCalls;
12
9
  });
13
- test('simple function 1 arg', () => {
14
- const incrementFn = (0, memoize_1.memoize)((bump) => {
15
- ++_globalCalls;
16
- return bump + 1;
17
- });
18
- expect(incrementFn(3)).toEqual(4);
19
- const calls = _globalCalls;
20
- incrementFn(3);
21
- expect(_globalCalls).toEqual(calls);
22
- incrementFn(4);
23
- expect(_globalCalls).toEqual(calls + 1);
24
- incrementFn(4);
25
- expect(_globalCalls).toEqual(calls + 1);
10
+ const result1 = noArgsFn();
11
+ expect(noArgsFn()).toEqual(result1);
12
+ });
13
+ test('simple function 1 arg', () => {
14
+ const incrementFn = (0, memoize_1.memoize)((bump) => {
15
+ ++_globalCalls;
16
+ return bump + 1;
26
17
  });
27
- test('void function 2 args', () => {
28
- const voidFn = (0, memoize_1.memoize)((a, b) => {
29
- if (a) {
30
- ++_globalCalls;
31
- }
32
- else if (b) {
33
- ++_globalCalls;
34
- }
35
- else {
36
- ++_globalCalls;
37
- }
38
- });
39
- voidFn(3, 'hello');
40
- const calls = _globalCalls;
41
- voidFn(3, 'hello');
42
- expect(_globalCalls).toEqual(calls);
43
- voidFn(3, 'world');
44
- expect(_globalCalls).toEqual(calls + 1);
18
+ expect(incrementFn(3)).toEqual(4);
19
+ const calls = _globalCalls;
20
+ incrementFn(3);
21
+ expect(_globalCalls).toEqual(calls);
22
+ incrementFn(4);
23
+ expect(_globalCalls).toEqual(calls + 1);
24
+ incrementFn(4);
25
+ expect(_globalCalls).toEqual(calls + 1);
26
+ });
27
+ test('void function 2 args', () => {
28
+ const voidFn = (0, memoize_1.memoize)((a, b) => {
29
+ if (a) {
30
+ ++_globalCalls;
31
+ } else if (b) {
32
+ ++_globalCalls;
33
+ } else {
34
+ ++_globalCalls;
35
+ }
45
36
  });
37
+ voidFn(3, 'hello');
38
+ const calls = _globalCalls;
39
+ voidFn(3, 'hello');
40
+ expect(_globalCalls).toEqual(calls);
41
+ voidFn(3, 'world');
42
+ expect(_globalCalls).toEqual(calls + 1);
43
+ });
46
44
  });
47
- //# sourceMappingURL=memoize.test.js.map
45
+ //# sourceMappingURL=memoize.test.js.map