@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,262 +1,274 @@
1
1
  import { immutableMerge, immutableMergeCore, processImmutable } from './Merge';
2
2
  const sett1 = {
3
- root: {
4
- p2: 1,
5
- nm: { nm1: 1 },
6
- style: { s1: 'foo', s2: 2, nm: { nm1: 1 } },
7
- },
8
- fakeSlot: {
9
- ps2: 2,
10
- },
3
+ root: {
4
+ p2: 1,
5
+ nm: { nm1: 1 },
6
+ style: { s1: 'foo', s2: 2, nm: { nm1: 1 } },
7
+ },
8
+ fakeSlot: {
9
+ ps2: 2,
10
+ },
11
11
  };
12
12
  const sett2 = {
13
- root: {
14
- p1: 'sett2',
15
- p2: 2,
16
- nm: { nm2: 2 },
17
- },
18
- fakeSlot: {
19
- style: { s1: 'sett2' },
20
- },
13
+ root: {
14
+ p1: 'sett2',
15
+ p2: 2,
16
+ nm: { nm2: 2 },
17
+ },
18
+ fakeSlot: {
19
+ style: { s1: 'sett2' },
20
+ },
21
21
  };
22
22
  const sett1plus2 = {
23
- root: {
24
- p1: 'sett2',
25
- p2: 2,
26
- nm: { nm2: 2 },
27
- style: { s1: 'foo', s2: 2, nm: { nm1: 1 } },
28
- },
29
- fakeSlot: {
30
- ps2: 2,
31
- style: { s1: 'sett2' },
32
- },
23
+ root: {
24
+ p1: 'sett2',
25
+ p2: 2,
26
+ nm: { nm2: 2 },
27
+ style: { s1: 'foo', s2: 2, nm: { nm1: 1 } },
28
+ },
29
+ fakeSlot: {
30
+ ps2: 2,
31
+ style: { s1: 'sett2' },
32
+ },
33
33
  };
34
34
  const sett3 = {
35
- root: {
36
- p1: 'sett3',
37
- style: { s2: 3, nm: { nm2: 2 } },
38
- },
35
+ root: {
36
+ p1: 'sett3',
37
+ style: { s2: 3, nm: { nm2: 2 } },
38
+ },
39
39
  };
40
40
  const sett1plus3 = {
41
- root: {
42
- p1: 'sett3',
43
- p2: 1,
44
- nm: { nm1: 1 },
45
- style: { s1: 'foo', s2: 3, nm: { nm2: 2 } },
46
- },
47
- fakeSlot: {
48
- ps2: 2,
49
- },
41
+ root: {
42
+ p1: 'sett3',
43
+ p2: 1,
44
+ nm: { nm1: 1 },
45
+ style: { s1: 'foo', s2: 3, nm: { nm2: 2 } },
46
+ },
47
+ fakeSlot: {
48
+ ps2: 2,
49
+ },
50
50
  };
51
51
  const sett1plus2plus3 = {
52
- root: {
53
- p1: 'sett3',
54
- p2: 2,
55
- nm: { nm2: 2 },
56
- style: { s1: 'foo', s2: 3, nm: { nm2: 2 } },
57
- },
58
- fakeSlot: {
59
- ps2: 2,
60
- style: { s1: 'sett2' },
61
- },
52
+ root: {
53
+ p1: 'sett3',
54
+ p2: 2,
55
+ nm: { nm2: 2 },
56
+ style: { s1: 'foo', s2: 3, nm: { nm2: 2 } },
57
+ },
58
+ fakeSlot: {
59
+ ps2: 2,
60
+ style: { s1: 'sett2' },
61
+ },
62
62
  };
63
63
  const mergeOptions = {
64
- object: {
65
- style: 0,
66
- },
64
+ object: {
65
+ style: 0,
66
+ },
67
67
  };
68
68
  const deep1 = {
69
- a: { b: { c: 1 } },
70
- b: { c: { d: { d: 'foo' } } },
71
- c: { e: 4 },
69
+ a: { b: { c: 1 } },
70
+ b: { c: { d: { d: 'foo' } } },
71
+ c: { e: 4 },
72
72
  };
73
73
  const deep2 = {
74
- a: { b1: 3, b: { c: 2 } },
75
- b: { c: { d2: 'bar' } },
76
- c: { e2: { f: 'baz' } },
74
+ a: { b1: 3, b: { c: 2 } },
75
+ b: { c: { d2: 'bar' } },
76
+ c: { e2: { f: 'baz' } },
77
77
  };
78
78
  const deepMerged = {
79
- a: { b1: 3, b: { c: 2 } },
80
- b: { c: { d: { d: 'foo' }, d2: 'bar' } },
81
- c: { e: 4, e2: { f: 'baz' } },
79
+ a: { b1: 3, b: { c: 2 } },
80
+ b: { c: { d: { d: 'foo' }, d2: 'bar' } },
81
+ c: { e: 4, e2: { f: 'baz' } },
82
82
  };
83
83
  const singleToChange = {
84
- a: { b: { c: { changeMe: { color: 'blue' } } } },
85
- b: { d: { changeMe: { font: 'fixed' } } },
84
+ a: { b: { c: { changeMe: { color: 'blue' } } } },
85
+ b: { d: { changeMe: { font: 'fixed' } } },
86
86
  };
87
87
  const singleWithChanges = {
88
- a: { b: { c: { changeMe: { color: 'changed' } } } },
89
- b: { d: { changeMe: { font: 'fixed' } } },
88
+ a: { b: { c: { changeMe: { color: 'changed' } } } },
89
+ b: { d: { changeMe: { font: 'fixed' } } },
90
90
  };
91
91
  const _colorKey = 'color';
92
92
  const changeMeHandler = (...objs) => {
93
- // written always assuming only one entry
94
- if (objs.length === 1) {
95
- const firstObj = objs[0];
96
- if (firstObj[_colorKey]) {
97
- return { ...firstObj, color: 'changed' };
98
- }
99
- return firstObj;
93
+ // written always assuming only one entry
94
+ if (objs.length === 1) {
95
+ const firstObj = objs[0];
96
+ if (firstObj[_colorKey]) {
97
+ return { ...firstObj, color: 'changed' };
100
98
  }
101
- return undefined;
99
+ return firstObj;
100
+ }
101
+ return undefined;
102
102
  };
103
103
  const changeMeOption1 = {
104
- a: {
105
- b: {
106
- c: {
107
- changeMe: changeMeHandler,
108
- },
109
- },
104
+ a: {
105
+ b: {
106
+ c: {
107
+ changeMe: changeMeHandler,
108
+ },
110
109
  },
110
+ },
111
111
  };
112
112
  const changeMeOption2 = {
113
+ object: {
113
114
  object: {
114
- object: {
115
- object: {
116
- changeMe: changeMeHandler,
117
- },
118
- changeMe: changeMeHandler,
119
- },
115
+ object: {
116
+ changeMe: changeMeHandler,
117
+ },
118
+ changeMe: changeMeHandler,
120
119
  },
120
+ },
121
121
  };
122
122
  describe('Immutable merge unit tests', () => {
123
- test('merge one returns same object', () => {
124
- const obj = {
125
- a: 'a',
126
- b: 2,
127
- };
128
- expect(immutableMerge(obj, undefined)).toBe(obj);
129
- expect(immutableMerge(undefined, obj)).toBe(obj);
130
- });
131
- test('merge flat is like assign', () => {
132
- const obj1 = { a: 'a', b: 1 };
133
- const obj2 = { b: 2, c: true };
134
- const merged = { a: 'a', b: 2, c: true };
135
- expect(immutableMerge(obj1, obj2)).toEqual(merged);
136
- expect(immutableMergeCore(0, obj1, obj2)).toEqual(merged);
137
- expect(immutableMergeCore(true, obj1, obj2)).toEqual(merged);
138
- });
139
- const dm1 = {
140
- a: { b: { c: { foo: 'foo', bar: 'bar' } } },
141
- d: { e: 1, f: { g: 'hello', h: 2 } },
142
- };
143
- const dm2 = {
144
- a: { b: { c: { bar: 'bar2', baz: 'baz' } }, i: 'world' },
145
- d: { j: 4 },
123
+ test('merge one returns same object', () => {
124
+ const obj = {
125
+ a: 'a',
126
+ b: 2,
146
127
  };
147
- test('deep merge', () => {
148
- expect(immutableMerge(dm1, dm2)).toEqual({
149
- a: { b: { c: { foo: 'foo', bar: 'bar2', baz: 'baz' } }, i: 'world' },
150
- d: { e: 1, f: { g: 'hello', h: 2 }, j: 4 },
151
- });
128
+ expect(immutableMerge(obj, undefined)).toBe(obj);
129
+ expect(immutableMerge(undefined, obj)).toBe(obj);
130
+ });
131
+ test('merge flat is like assign', () => {
132
+ const obj1 = { a: 'a', b: 1 };
133
+ const obj2 = { b: 2, c: true };
134
+ const merged = { a: 'a', b: 2, c: true };
135
+ expect(immutableMerge(obj1, obj2)).toEqual(merged);
136
+ expect(immutableMergeCore(0, obj1, obj2)).toEqual(merged);
137
+ expect(immutableMergeCore(true, obj1, obj2)).toEqual(merged);
138
+ });
139
+ const dm1 = {
140
+ a: { b: { c: { foo: 'foo', bar: 'bar' } } },
141
+ d: { e: 1, f: { g: 'hello', h: 2 } },
142
+ };
143
+ const dm2 = {
144
+ a: { b: { c: { bar: 'bar2', baz: 'baz' } }, i: 'world' },
145
+ d: { j: 4 },
146
+ };
147
+ test('deep merge', () => {
148
+ expect(immutableMerge(dm1, dm2)).toEqual({
149
+ a: { b: { c: { foo: 'foo', bar: 'bar2', baz: 'baz' } }, i: 'world' },
150
+ d: { e: 1, f: { g: 'hello', h: 2 }, j: 4 },
152
151
  });
153
- test('merge zero levels', () => {
154
- expect(immutableMergeCore(0, dm1, dm2)).toEqual(dm2);
155
- });
156
- test('merge one level deep', () => {
157
- const result = {
158
- a: dm2.a,
159
- d: { ...dm1.d, ...dm2.d },
160
- };
161
- expect(immutableMergeCore(1, dm1, dm2)).toEqual(result);
162
- expect(immutableMergeCore({ object: 0 }, dm1, dm2)).toEqual(result);
163
- });
164
- test('merge with empty object', () => {
165
- const merged = immutableMergeCore(mergeOptions, sett1, {});
166
- expect(merged).toBe(sett1);
167
- const merged2 = immutableMergeCore(mergeOptions, {}, sett2);
168
- expect(merged2).toBe(sett2);
169
- });
170
- test('merge sett1 and sett2', () => {
171
- const merged = immutableMergeCore(mergeOptions, sett1, sett2);
172
- expect(merged).toEqual(sett1plus2);
173
- expect(merged.root.style).toBe(sett1.root.style);
174
- expect(merged.fakeSlot.style).toBe(sett2.fakeSlot.style);
175
- });
176
- test('merge sett1 and sett3', () => {
177
- const merged = immutableMergeCore(mergeOptions, sett1, sett3);
178
- expect(merged).toEqual(sett1plus3);
179
- expect(merged.fakeSlot).toBe(sett1.fakeSlot);
180
- });
181
- test('merge three', () => {
182
- const merged = immutableMergeCore(mergeOptions, sett1, sett2, sett3);
183
- expect(merged).toEqual(sett1plus2plus3);
184
- });
185
- test('deepMerge', () => {
186
- const merged = immutableMergeCore(-1, deep1, deep2);
187
- expect(merged).toEqual(deepMerged);
188
- expect(merged.b.c.d).toBe(deep1.b.c.d);
189
- expect(merged.a.b).not.toBe(deep2.a.b);
190
- });
191
- test('singleProcessNoChange', () => {
192
- const merged = processImmutable({ object: true }, singleToChange);
193
- expect(merged).toBe(singleToChange);
194
- });
195
- test('single process with change', () => {
196
- const merged = processImmutable(changeMeOption1, singleToChange);
197
- expect(merged).toEqual(singleWithChanges);
198
- expect(merged).not.toBe(singleToChange);
199
- expect(merged.b).toBe(singleToChange.b);
200
- });
201
- test('single process with change - alternative', () => {
202
- const merged = processImmutable(changeMeOption2, singleToChange);
203
- expect(merged).toEqual(singleWithChanges);
204
- expect(merged).not.toBe(singleToChange);
205
- expect(merged.b).toBe(singleToChange.b);
206
- });
207
- const withArray1 = {
208
- baseArray: [1, 2, 3],
209
- sub: { subArray: ['a', 'b', 'c'] },
152
+ });
153
+ test('merge zero levels', () => {
154
+ expect(immutableMergeCore(0, dm1, dm2)).toEqual(dm2);
155
+ });
156
+ test('merge one level deep', () => {
157
+ const result = {
158
+ a: dm2.a,
159
+ d: { ...dm1.d, ...dm2.d },
210
160
  };
211
- const withArray2 = {
212
- baseArray: [4, 5, 6],
213
- sub: { subArray: ['d', 'e', 'f'] },
214
- };
215
- test('arrays overwrite each other', () => {
216
- const merged = immutableMergeCore({ depth: -1 }, withArray1, withArray2);
217
- expect(merged).toEqual(withArray2);
218
- expect(merged).not.toBe(withArray2);
219
- });
220
- const withObj = {
221
- a: { foo: 'bar' },
222
- b: 2,
223
- };
224
- const withNonObj = {
225
- a: 'hello',
226
- b: 3,
227
- };
228
- test('last writer wins for objects and non-objects', () => {
229
- const merged = immutableMerge(withObj, withNonObj);
230
- expect(merged).toEqual(withNonObj);
231
- const merged2 = immutableMerge(withNonObj, withObj);
232
- expect(merged2).toEqual(withObj);
233
- });
234
- const arrayMerger = (...targets) => {
235
- const arrays = targets.filter((t) => Array.isArray(t));
236
- let result = [];
237
- arrays.forEach((v) => (result = result.concat(...v)));
238
- return result;
239
- };
240
- test('arrays can merge with handler', () => {
241
- const merged = immutableMergeCore({
242
- object: {
243
- subArray: arrayMerger,
244
- },
245
- }, withArray1, withArray2);
246
- expect(merged).toEqual({
247
- baseArray: [4, 5, 6],
248
- sub: { subArray: ['a', 'b', 'c', 'd', 'e', 'f'] },
249
- });
161
+ expect(immutableMergeCore(1, dm1, dm2)).toEqual(result);
162
+ expect(immutableMergeCore({ object: 0 }, dm1, dm2)).toEqual(result);
163
+ });
164
+ test('merge with empty object', () => {
165
+ const merged = immutableMergeCore(mergeOptions, sett1, {});
166
+ expect(merged).toBe(sett1);
167
+ const merged2 = immutableMergeCore(mergeOptions, {}, sett2);
168
+ expect(merged2).toBe(sett2);
169
+ });
170
+ test('merge sett1 and sett2', () => {
171
+ const merged = immutableMergeCore(mergeOptions, sett1, sett2);
172
+ expect(merged).toEqual(sett1plus2);
173
+ expect(merged.root.style).toBe(sett1.root.style);
174
+ expect(merged.fakeSlot.style).toBe(sett2.fakeSlot.style);
175
+ });
176
+ test('merge sett1 and sett3', () => {
177
+ const merged = immutableMergeCore(mergeOptions, sett1, sett3);
178
+ expect(merged).toEqual(sett1plus3);
179
+ expect(merged.fakeSlot).toBe(sett1.fakeSlot);
180
+ });
181
+ test('merge three', () => {
182
+ const merged = immutableMergeCore(mergeOptions, sett1, sett2, sett3);
183
+ expect(merged).toEqual(sett1plus2plus3);
184
+ });
185
+ test('deepMerge', () => {
186
+ const merged = immutableMergeCore(-1, deep1, deep2);
187
+ expect(merged).toEqual(deepMerged);
188
+ expect(merged.b.c.d).toBe(deep1.b.c.d);
189
+ expect(merged.a.b).not.toBe(deep2.a.b);
190
+ });
191
+ test('singleProcessNoChange', () => {
192
+ const merged = processImmutable({ object: true }, singleToChange);
193
+ expect(merged).toBe(singleToChange);
194
+ });
195
+ test('single process with change', () => {
196
+ const merged = processImmutable(changeMeOption1, singleToChange);
197
+ expect(merged).toEqual(singleWithChanges);
198
+ expect(merged).not.toBe(singleToChange);
199
+ expect(merged.b).toBe(singleToChange.b);
200
+ });
201
+ test('single process with change - alternative', () => {
202
+ const merged = processImmutable(changeMeOption2, singleToChange);
203
+ expect(merged).toEqual(singleWithChanges);
204
+ expect(merged).not.toBe(singleToChange);
205
+ expect(merged.b).toBe(singleToChange.b);
206
+ });
207
+ const withArray1 = {
208
+ baseArray: [1, 2, 3],
209
+ sub: { subArray: ['a', 'b', 'c'] },
210
+ };
211
+ const withArray2 = {
212
+ baseArray: [4, 5, 6],
213
+ sub: { subArray: ['d', 'e', 'f'] },
214
+ };
215
+ test('arrays overwrite each other', () => {
216
+ const merged = immutableMergeCore({ depth: -1 }, withArray1, withArray2);
217
+ expect(merged).toEqual(withArray2);
218
+ expect(merged).not.toBe(withArray2);
219
+ });
220
+ const withObj = {
221
+ a: { foo: 'bar' },
222
+ b: 2,
223
+ };
224
+ const withNonObj = {
225
+ a: 'hello',
226
+ b: 3,
227
+ };
228
+ test('last writer wins for objects and non-objects', () => {
229
+ const merged = immutableMerge(withObj, withNonObj);
230
+ expect(merged).toEqual(withNonObj);
231
+ const merged2 = immutableMerge(withNonObj, withObj);
232
+ expect(merged2).toEqual(withObj);
233
+ });
234
+ const arrayMerger = (...targets) => {
235
+ const arrays = targets.filter((t) => Array.isArray(t));
236
+ let result = [];
237
+ for (const v of arrays) {
238
+ if (v.length > 0) {
239
+ result = result.concat(...v);
240
+ }
241
+ }
242
+ return result;
243
+ };
244
+ test('arrays can merge with handler', () => {
245
+ const merged = immutableMergeCore(
246
+ {
247
+ object: {
248
+ subArray: arrayMerger,
249
+ },
250
+ },
251
+ withArray1,
252
+ withArray2,
253
+ );
254
+ expect(merged).toEqual({
255
+ baseArray: [4, 5, 6],
256
+ sub: { subArray: ['a', 'b', 'c', 'd', 'e', 'f'] },
250
257
  });
251
- test('arrays can merge deeply', () => {
252
- const merged = immutableMergeCore({
253
- object: true,
254
- array: 'appendArray',
255
- }, withArray1, withArray2);
256
- expect(merged).toEqual({
257
- baseArray: [1, 2, 3, 4, 5, 6],
258
- sub: { subArray: ['a', 'b', 'c', 'd', 'e', 'f'] },
259
- });
258
+ });
259
+ test('arrays can merge deeply', () => {
260
+ const merged = immutableMergeCore(
261
+ {
262
+ object: true,
263
+ array: 'appendArray',
264
+ },
265
+ withArray1,
266
+ withArray2,
267
+ );
268
+ expect(merged).toEqual({
269
+ baseArray: [1, 2, 3, 4, 5, 6],
270
+ sub: { subArray: ['a', 'b', 'c', 'd', 'e', 'f'] },
260
271
  });
272
+ });
261
273
  });
262
- //# sourceMappingURL=Merge.test.js.map
274
+ //# sourceMappingURL=Merge.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Merge.test.js","sourceRoot":"","sources":["../../src/immutable-merge/Merge.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA2B/E,MAAM,KAAK,GAAkB;IAC3B,IAAI,EAAE;QACJ,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;QACd,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;KAC5C;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,CAAC;KACP;CACF,CAAC;AAEF,MAAM,KAAK,GAAkB;IAC3B,IAAI,EAAE;QACJ,EAAE,EAAE,OAAO;QACX,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;KACf;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;KACvB;CACF,CAAC;AAEF,MAAM,UAAU,GAAkB;IAChC,IAAI,EAAE;QACJ,EAAE,EAAE,OAAO;QACX,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;QACd,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;KAC5C;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;KACvB;CACF,CAAC;AAEF,MAAM,KAAK,GAAkB;IAC3B,IAAI,EAAE;QACJ,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;KACjC;CACF,CAAC;AAEF,MAAM,UAAU,GAAkB;IAChC,IAAI,EAAE;QACJ,EAAE,EAAE,OAAO;QACX,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;QACd,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;KAC5C;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,CAAC;KACP;CACF,CAAC;AAEF,MAAM,eAAe,GAAkB;IACrC,IAAI,EAAE;QACJ,EAAE,EAAE,OAAO;QACX,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;QACd,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;KAC5C;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;KACvB;CACF,CAAC;AAEF,MAAM,YAAY,GAAiB;IACjC,MAAM,EAAE;QACN,KAAK,EAAE,CAAC;KACT;CACF,CAAC;AAOF,MAAM,KAAK,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IAClB,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC7B,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;CACZ,CAAC;AAEF,MAAM,KAAK,GAAG;IACZ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACzB,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;IACvB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;CACxB,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACzB,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;IACxC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;CAC9B,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;IAChD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;CAC1C,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACxB,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE;IACnD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;CAC1C,CAAC;AAEF,MAAM,SAAS,GAAG,OAAO,CAAC;AAE1B,MAAM,eAAe,GAAG,CAAC,GAAG,IAA6C,EAAE,EAAE;IAC3E,yCAAyC;IACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QAE1B,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE;YACvB,OAAO,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SAC1C;QAED,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAiB;IACpC,CAAC,EAAE;QACD,CAAC,EAAE;YACD,CAAC,EAAE;gBACD,QAAQ,EAAE,eAAe;aAC1B;SACF;KACF;CACF,CAAC;AAEF,MAAM,eAAe,GAAiB;IACpC,MAAM,EAAE;QACN,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,QAAQ,EAAE,eAAe;aAC1B;YACD,QAAQ,EAAE,eAAe;SAC1B;KACF;CACF,CAAC;AAEF,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG;YACV,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,CAAC;SACL,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACrC,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QACzC,MAAM,CAAC,cAAc,CAAM,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,CAAC,kBAAkB,CAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,CAAC,kBAAkB,CAAM,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG;QACV,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QAC3C,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;KACrC,CAAC;IAEF,MAAM,GAAG,GAAG;QACV,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE;QACxD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;KACZ,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;QACtB,MAAM,CAAC,cAAc,CAAM,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5C,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE;YACpE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,kBAAkB,CAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAChC,MAAM,MAAM,GAAG;YACb,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE;SAC1B,CAAC;QACF,MAAM,CAAC,kBAAkB,CAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,CAAC,kBAAkB,CAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAkB,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,MAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,MAAO,CAAC,QAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAS,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAkB,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,MAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE;QACvB,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;QACrB,MAAM,MAAM,GAAG,kBAAkB,CAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAa,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,MAAM,GAAG,gBAAgB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxC,MAAM,CAAE,MAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,gBAAgB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxC,MAAM,CAAE,MAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG;QACjB,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACpB,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;KACnC,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACpB,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;KACnC,CAAC;IAEF,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACvC,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG;QACd,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;QACjB,CAAC,EAAE,CAAC;KACL,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,CAAC,EAAE,OAAO;QACV,CAAC,EAAE,CAAC;KACL,CAAC;IAEF,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACxD,MAAM,MAAM,GAAG,cAAc,CAAM,OAAO,EAAE,UAAU,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,cAAc,CAAM,UAAU,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,CAAC,GAAG,OAAc,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,kBAAkB,CAC/B;YACE,MAAM,EAAE;gBACN,QAAQ,EAAE,WAAW;aACtB;SACF,EACD,UAAU,EACV,UAAU,CACX,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpB,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;SAClD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,MAAM,MAAM,GAAG,kBAAkB,CAC/B;YACE,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,aAAa;SACrB,EACD,UAAU,EACV,UAAU,CACX,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7B,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;SAClD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Merge.test.js","sourceRoot":"","sources":["../../src/immutable-merge/Merge.test.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,14 +1,42 @@
1
1
  export { immutableMerge, immutableMergeCore, processImmutable, filterToObjects } from './immutable-merge/Merge';
2
- export type { BuiltinRecursionHandlers, CustomRecursionHandler, MergeOptions, ObjectBase, RecursionHandler, RecursionOption, } from './immutable-merge/Merge';
2
+ export type {
3
+ BuiltinRecursionHandlers,
4
+ CustomRecursionHandler,
5
+ MergeOptions,
6
+ ObjectBase,
7
+ RecursionHandler,
8
+ RecursionOption,
9
+ } from './immutable-merge/Merge';
3
10
  export type { GetMemoValue, GetTypedMemoValue } from './memo-cache/getMemoCache';
4
11
  export { getMemoCache, getTypedMemoCache } from './memo-cache/getMemoCache';
5
12
  export { memoize } from './memo-cache/memoize';
6
13
  export type { StyleProp } from './merge-props/mergeStyles.types';
7
14
  export { mergeStyles } from './merge-props/mergeStyles';
8
15
  export { mergeProps } from './merge-props/mergeProps';
9
- export { renderForClassicRuntime, renderForJsxRuntime, renderSlot } from './component-patterns/render';
10
- export type { DirectComponent, DirectComponentFunction, LegacyDirectComponent, StagedComponent, StagedRender, TwoStageRender, RenderType, RenderResult, ComposableFunction, FinalRender, SlotFn, NativeReactType, } from './component-patterns/render.types';
16
+ export { extractChildren, extractProps, extractStyle } from './component-patterns/extract';
17
+ export { renderForJsxRuntime, renderSlot, asDirectComponent } from './component-patterns/render';
18
+ export type {
19
+ DirectComponent,
20
+ FunctionComponent,
21
+ FunctionComponentCore,
22
+ LegacyDirectComponent,
23
+ PhasedComponent,
24
+ PhasedRender,
25
+ PropsOf,
26
+ RenderType,
27
+ RenderResult,
28
+ StagedRender,
29
+ ComposableFunction,
30
+ FinalRender,
31
+ SlotFn,
32
+ NativeReactType,
33
+ } from './component-patterns/render.types';
34
+ export { directComponent } from './component-patterns/directComponent';
35
+ export { getPhasedRender, phasedComponent } from './component-patterns/phasedComponent';
36
+ export { stagedComponent } from './component-patterns/stagedComponent';
11
37
  export { withSlots } from './component-patterns/withSlots';
12
- export { stagedComponent, twoStageComponent } from './component-patterns/stagedComponent';
13
38
  export { jsx, jsxs } from './jsx-runtime';
14
- //# sourceMappingURL=index.d.ts.map
39
+ export type { FurnJSX } from './jsx-namespace';
40
+ export { filterProps } from './utilities/filterProps';
41
+ export type { PropsFilter } from './utilities/filterProps';
42
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAChH,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,YAAY,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACvG,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAChH,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,YAAY,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG3F,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGjG,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,YAAY,EACZ,OAAO,EACP,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAGvE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAG3D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC"}
package/lib/index.js CHANGED
@@ -4,9 +4,18 @@ export { getMemoCache, getTypedMemoCache } from './memo-cache/getMemoCache';
4
4
  export { memoize } from './memo-cache/memoize';
5
5
  export { mergeStyles } from './merge-props/mergeStyles';
6
6
  export { mergeProps } from './merge-props/mergeProps';
7
- // component pattern exports
8
- export { renderForClassicRuntime, renderForJsxRuntime, renderSlot } from './component-patterns/render';
7
+ // component pattern exports - extracting from elements
8
+ export { extractChildren, extractProps, extractStyle } from './component-patterns/extract';
9
+ // component pattern exports - rendering utilities
10
+ export { renderForJsxRuntime, renderSlot, asDirectComponent } from './component-patterns/render';
11
+ // component pattern exports - component builders
12
+ export { directComponent } from './component-patterns/directComponent';
13
+ export { getPhasedRender, phasedComponent } from './component-patterns/phasedComponent';
14
+ export { stagedComponent } from './component-patterns/stagedComponent';
15
+ // component pattern exports - legacy JSX handlers
9
16
  export { withSlots } from './component-patterns/withSlots';
10
- export { stagedComponent, twoStageComponent } from './component-patterns/stagedComponent';
17
+ // jsx runtime exports
11
18
  export { jsx, jsxs } from './jsx-runtime';
12
- //# sourceMappingURL=index.js.map
19
+ // general utilities
20
+ export { filterProps } from './utilities/filterProps';
21
+ //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAYhH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAI/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,4BAA4B;AAC5B,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAevG,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAYhH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAI/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,uDAAuD;AACvD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE3F,kDAAkD;AAClD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAoBjG,iDAAiD;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,kDAAkD;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,sBAAsB;AACtB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,oBAAoB;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC"}