@fluentui-react-native/framework-base 0.2.1 → 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 (187) hide show
  1. package/CHANGELOG.json +1 -1
  2. package/CHANGELOG.md +35 -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 -64
  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 -56
  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 +69 -34
  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 -26
  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.ts +52 -4
  185. package/src/merge-props/mergeStyles.types.ts +2 -2
  186. package/src/utilities/filterProps.ts +14 -0
  187. package/src/component-patterns/stagedComponent.tsx +0 -45
@@ -1 +1 @@
1
- {"version":3,"file":"stagedComponent.js","sourceRoot":"","sources":["../../src/component-patterns/stagedComponent.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,SAAS,OAAO,CAAI,GAAY;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAS,MAA4B,EAAE,IAAc;IAClF,MAAM,SAAS,GAAG,CAAC,KAAsC,EAAE,EAAE;QAC3D,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QACpC,OAAO,MAAM,CAAC,IAAc,CAAC,CAAC,EAAqC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1F,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,OAAO,eAA6C,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAS,MAA8B;IACtE,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,KAAsC,EAAE,EAAE;QACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;QAC1C,MAAM,UAAU,GAAG,EAAE,QAAQ,EAAqC,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAoB,CAAC,CAAC;QAC3C,OAAO,UAAC,KAAK,OAAK,UAAU,GAAI,CAAC;IACnC,CAAC,EACD,EAAE,eAAe,EAAE,MAAM,EAAE,CAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"stagedComponent.js","sourceRoot":"","sources":["../../src/component-patterns/stagedComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,SAAS,OAAO,CAAI,GAAY,EAAO;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAAA,CACzC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAS,MAA4B,EAAE,IAAc,EAA8B;IAChH,MAAM,SAAS,GAAG,CAAC,KAAsC,EAAE,EAAE,CAAC;QAC5D,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QACpC,OAAO,MAAM,CAAC,IAAc,CAAC,CAAC,EAAqC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAAA,CACzF,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,OAAO,eAA6C,CAAC;AAAA,CACtD"}
@@ -11,5 +11,9 @@ import type React from 'react';
11
11
  *
12
12
  * See React.createElement
13
13
  */
14
- export declare function withSlots(reactType: Parameters<typeof React.createElement>[0], props?: unknown, ...children: React.ReactNode[]): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
15
- //# sourceMappingURL=withSlots.d.ts.map
14
+ export declare function withSlots(
15
+ reactType: Parameters<typeof React.createElement>[0],
16
+ props?: unknown,
17
+ ...children: React.ReactNode[]
18
+ ): import('..').FurnJSX.Element;
19
+ //# sourceMappingURL=withSlots.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withSlots.d.ts","sourceRoot":"","sources":["../../src/component-patterns/withSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;;;;;;;;GAWG;AAGH,wBAAgB,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,sEAG9H"}
1
+ {"version":3,"file":"withSlots.d.ts","sourceRoot":"","sources":["../../src/component-patterns/withSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;;;;;;;;GAWG;AAGH,wBAAgB,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,gCAG9H"}
@@ -13,7 +13,7 @@ import { renderForClassicRuntime } from './render';
13
13
  */
14
14
  // Can't use typeof on React.createElement since it's overloaded. Approximate createElement's signature for now and widen as needed.
15
15
  export function withSlots(reactType, props, ...children) {
16
- // if it is a non-string type with _canCompose set just call the function directly, otherwise call createElement as normal
17
- return renderForClassicRuntime(reactType, props, ...children);
16
+ // if it is a non-string type with _canCompose set just call the function directly, otherwise call createElement as normal
17
+ return renderForClassicRuntime(reactType, props, ...children);
18
18
  }
19
- //# sourceMappingURL=withSlots.js.map
19
+ //# sourceMappingURL=withSlots.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withSlots.js","sourceRoot":"","sources":["../../src/component-patterns/withSlots.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD;;;;;;;;;;;GAWG;AAEH,oIAAoI;AACpI,MAAM,UAAU,SAAS,CAAC,SAAoD,EAAE,KAAe,EAAE,GAAG,QAA2B;IAC7H,0HAA0H;IAC1H,OAAO,uBAAuB,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"withSlots.js","sourceRoot":"","sources":["../../src/component-patterns/withSlots.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD;;;;;;;;;;;GAWG;AAEH,oIAAoI;AACpI,MAAM,UAAU,SAAS,CAAC,SAAoD,EAAE,KAAe,EAAE,GAAG,QAA2B,EAAE;IAC/H,0HAA0H;IAC1H,OAAO,uBAAuB,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;AAAA,CAC/D"}
@@ -41,7 +41,7 @@ export type ExpandedTypeof = TypeofResult | 'array' | 'null';
41
41
  * - [key: string]: matches anything by name
42
42
  */
43
43
  export interface MergeOptions {
44
- [objectTypeOrKeyName: string]: RecursionOption | RecursionHandler | MergeOptions;
44
+ [objectTypeOrKeyName: string]: RecursionOption | RecursionHandler | MergeOptions;
45
45
  }
46
46
  /**
47
47
  * Filter a set of unknown values to only include those that extend ObjectBase
@@ -62,7 +62,10 @@ export declare function immutableMerge<T extends ObjectBase>(...objs: (T | undef
62
62
  * @param options - configuration options for the merge, this dictates what keys will be handled in what way
63
63
  * @param objs - set of objects to merge together
64
64
  */
65
- export declare function immutableMergeCore<T extends ObjectBase>(options: RecursionOption | MergeOptions, ...objs: (T | undefined)[]): T | undefined;
65
+ export declare function immutableMergeCore<T extends ObjectBase>(
66
+ options: RecursionOption | MergeOptions,
67
+ ...objs: (T | undefined)[]
68
+ ): T | undefined;
66
69
  /**
67
70
  * Process one or more immutable objects ensuring that handlers are called on every entry that applies. If a single object
68
71
  * is passed in and no changes are made, that object will be returned. If updates happen from the handlers it will return the
@@ -75,4 +78,4 @@ export declare function immutableMergeCore<T extends ObjectBase>(options: Recurs
75
78
  * @param objs - one or more objects to process. If multiple objects are passed they will be merged
76
79
  */
77
80
  export declare function processImmutable<T extends ObjectBase>(options: MergeOptions, ...objs: (T | undefined)[]): T | undefined;
78
- //# sourceMappingURL=Merge.d.ts.map
81
+ //# sourceMappingURL=Merge.d.ts.map
@@ -2,20 +2,20 @@
2
2
  * built in handlers for the module
3
3
  */
4
4
  const _builtinHandlers = {
5
- appendArray: (...objs) => {
6
- return [].concat(...objs);
7
- },
5
+ appendArray: (...objs) => {
6
+ return [].concat(...objs);
7
+ },
8
8
  };
9
9
  /**
10
10
  * This processes the various type options for merge core and turns them into a MergeConfig
11
11
  * @param options - options passed into immutableMergeCore
12
12
  */
13
13
  function normalizeOptions(options) {
14
- return typeof options === 'boolean'
15
- ? [{ object: options }, options]
16
- : typeof options === 'number'
17
- ? [{ object: options >= 0 ? options : true }, options !== 0]
18
- : [options, true];
14
+ return typeof options === 'boolean'
15
+ ? [{ object: options }, options]
16
+ : typeof options === 'number'
17
+ ? [{ object: options >= 0 ? options : true }, options !== 0]
18
+ : [options, true];
19
19
  }
20
20
  /**
21
21
  * Provide a more sensible type result that expands upon the built in typeof operator
@@ -23,41 +23,38 @@ function normalizeOptions(options) {
23
23
  * @param val - value to check type
24
24
  */
25
25
  function getEntityType(val) {
26
- switch (typeof val) {
27
- case 'object':
28
- if (val === null) {
29
- return 'null';
30
- }
31
- else if (Array.isArray(val)) {
32
- return 'array';
33
- }
34
- return 'object';
35
- default:
36
- return typeof val;
37
- }
26
+ switch (typeof val) {
27
+ case 'object':
28
+ if (val === null) {
29
+ return 'null';
30
+ } else if (Array.isArray(val)) {
31
+ return 'array';
32
+ }
33
+ return 'object';
34
+ default:
35
+ return typeof val;
36
+ }
38
37
  }
39
38
  /** resolve custom handlers if they are applicable */
40
39
  function resolveIfHandler(option) {
41
- return typeof option === 'function' ? option : typeof option === 'string' ? _builtinHandlers[option] : undefined;
40
+ return typeof option === 'function' ? option : typeof option === 'string' ? _builtinHandlers[option] : undefined;
42
41
  }
43
42
  /** pass array configurations down, this allows for saying all arrays should be appended rather than replaced */
44
43
  function getTypesMixin(config) {
45
- return config.array ? { array: config.array } : {};
44
+ return config.array ? { array: config.array } : {};
46
45
  }
47
46
  /** resolve the object behaviors for configuration */
48
47
  function resolveForObject(option, mixin) {
49
- if (typeof option === 'boolean') {
50
- // booleans won't recurse if false, otherwise recurse infinitely
51
- return option ? { object: option, ...mixin } : mixin;
52
- }
53
- else if (typeof option === 'number') {
54
- // numbers get decremented or set to false if we've reached zero. Negative values will have been converted to boolean true
55
- return option === 0 ? mixin : { object: option - 1, ...mixin };
56
- }
57
- else {
58
- // otherwise it is an object type so just pass the child object through
59
- return option;
60
- }
48
+ if (typeof option === 'boolean') {
49
+ // booleans won't recurse if false, otherwise recurse infinitely
50
+ return option ? { object: option, ...mixin } : mixin;
51
+ } else if (typeof option === 'number') {
52
+ // numbers get decremented or set to false if we've reached zero. Negative values will have been converted to boolean true
53
+ return option === 0 ? mixin : { object: option - 1, ...mixin };
54
+ } else {
55
+ // otherwise it is an object type so just pass the child object through
56
+ return option;
57
+ }
61
58
  }
62
59
  /**
63
60
  * Figure out the handler for this property.
@@ -65,17 +62,17 @@ function resolveForObject(option, mixin) {
65
62
  * in the undefined case, this key will be left as-is
66
63
  */
67
64
  function getHandlerForPropertyOfType(config, propKey, propType) {
68
- let result = undefined;
69
- const option = config[propKey] !== undefined ? config[propKey] : config[propType] !== undefined ? config[propType] : undefined;
70
- if (option !== undefined) {
71
- // try to resolve the option as a handler, either function or built-in first. This is the only option that is valid for non-object types.
72
- result = resolveIfHandler(option);
73
- // if it is an object then resolve boolean, number or config types
74
- if (result === undefined && propType === 'object') {
75
- result = resolveForObject(option, getTypesMixin(config));
76
- }
65
+ let result = undefined;
66
+ const option = config[propKey] !== undefined ? config[propKey] : config[propType] !== undefined ? config[propType] : undefined;
67
+ if (option !== undefined) {
68
+ // try to resolve the option as a handler, either function or built-in first. This is the only option that is valid for non-object types.
69
+ result = resolveIfHandler(option);
70
+ // if it is an object then resolve boolean, number or config types
71
+ if (result === undefined && propType === 'object') {
72
+ result = resolveForObject(option, getTypesMixin(config));
77
73
  }
78
- return result;
74
+ }
75
+ return result;
79
76
  }
80
77
  /**
81
78
  * Assign properties of source objects to a new target object. This is just a type wrapper around Object.assign
@@ -83,7 +80,7 @@ function getHandlerForPropertyOfType(config, propKey, propType) {
83
80
  * @returns the result of object assign on the objects, typed to T
84
81
  */
85
82
  function assignToNewObject(...objs) {
86
- return Object.assign({}, ...objs);
83
+ return Object.assign({}, ...objs);
87
84
  }
88
85
  /**
89
86
  * Filter a set of unknown values to only include those that extend ObjectBase
@@ -91,7 +88,7 @@ function assignToNewObject(...objs) {
91
88
  * @returns the filtered set of values
92
89
  */
93
90
  export function filterToObjects(values) {
94
- return values.filter((v) => v && getEntityType(v) === 'object' && Object.getOwnPropertyNames(v).length > 0);
91
+ return values.filter((v) => v && getEntityType(v) === 'object' && Object.getOwnPropertyNames(v).length > 0);
95
92
  }
96
93
  /**
97
94
  * This will merge two or more objects together using an immutable style merge pattern. If there is only one object or
@@ -107,42 +104,41 @@ export function filterToObjects(values) {
107
104
  * @param objs - an array of objects to merge together
108
105
  */
109
106
  function immutableMergeWorker(mergeOptions, singleMode, ...objs) {
110
- const setToMerge = filterToObjects(objs);
111
- const [options, mightRecurse] = normalizeOptions(mergeOptions);
112
- const processSingle = singleMode && setToMerge.length === 1;
113
- // there is work to do if there is more than one object to merge or if we are processing single objects
114
- if (setToMerge.length > 1 || (processSingle && setToMerge.length === 1)) {
115
- // now assign everything to get the normal property precedence (and merge all the keys)
116
- let result = processSingle ? undefined : assignToNewObject(...setToMerge);
117
- const processSet = result || setToMerge[0];
118
- for (const key in processSet) {
119
- if (processSet.hasOwnProperty(key)) {
120
- // only process if there is potential work to do
121
- if (mightRecurse) {
122
- const originalVal = processSet[key];
123
- const entityType = getEntityType(originalVal);
124
- const handler = getHandlerForPropertyOfType(options, key, entityType);
125
- if (handler !== undefined) {
126
- const values = setToMerge.map((set) => set[key]).filter((v) => v !== undefined);
127
- const updatedVal = typeof handler === 'function'
128
- ? handler(...values)
129
- : immutableMergeWorker(handler, singleMode, ...filterToObjects(values));
130
- if (updatedVal !== originalVal) {
131
- result = result || assignToNewObject(...setToMerge);
132
- result[key] = updatedVal;
133
- }
134
- }
135
- }
136
- // delete undefined keys from the object, otherwise there is no easy way to delete keys
137
- if (!processSingle && result[key] === undefined) {
138
- delete result[key];
139
- }
107
+ const setToMerge = filterToObjects(objs);
108
+ const [options, mightRecurse] = normalizeOptions(mergeOptions);
109
+ const processSingle = singleMode && setToMerge.length === 1;
110
+ // there is work to do if there is more than one object to merge or if we are processing single objects
111
+ if (setToMerge.length > 1 || (processSingle && setToMerge.length === 1)) {
112
+ // now assign everything to get the normal property precedence (and merge all the keys)
113
+ let result = processSingle ? undefined : assignToNewObject(...setToMerge);
114
+ const processSet = result || setToMerge[0];
115
+ for (const key in processSet) {
116
+ if (processSet.hasOwnProperty(key)) {
117
+ // only process if there is potential work to do
118
+ if (mightRecurse) {
119
+ const originalVal = processSet[key];
120
+ const entityType = getEntityType(originalVal);
121
+ const handler = getHandlerForPropertyOfType(options, key, entityType);
122
+ if (handler !== undefined) {
123
+ const values = setToMerge.map((set) => set[key]).filter((v) => v !== undefined);
124
+ const updatedVal =
125
+ typeof handler === 'function' ? handler(...values) : immutableMergeWorker(handler, singleMode, ...filterToObjects(values));
126
+ if (updatedVal !== originalVal) {
127
+ result = result || assignToNewObject(...setToMerge);
128
+ result[key] = updatedVal;
140
129
  }
130
+ }
131
+ }
132
+ // delete undefined keys from the object, otherwise there is no easy way to delete keys
133
+ if (!processSingle && result[key] === undefined) {
134
+ delete result[key];
141
135
  }
142
- // in the single processing case return the original if nothing changed, otherwise return result
143
- return result || processSet;
136
+ }
144
137
  }
145
- return setToMerge.length > 0 ? setToMerge[0] : undefined;
138
+ // in the single processing case return the original if nothing changed, otherwise return result
139
+ return result || processSet;
140
+ }
141
+ return setToMerge.length > 0 ? setToMerge[0] : undefined;
146
142
  }
147
143
  /**
148
144
  * Recursively immutable merge sets of objects infinitely deep. This behaves like a standard deep merge with arrays replacing
@@ -151,7 +147,7 @@ function immutableMergeWorker(mergeOptions, singleMode, ...objs) {
151
147
  * @param objs - variable input array of typed objects to merge
152
148
  */
153
149
  export function immutableMerge(...objs) {
154
- return immutableMergeWorker(true, false, ...objs);
150
+ return immutableMergeWorker(true, false, ...objs);
155
151
  }
156
152
  /**
157
153
  * Version of immutable merge that can be configured to behave in a variety of manners. See the documentation for details.
@@ -160,7 +156,7 @@ export function immutableMerge(...objs) {
160
156
  * @param objs - set of objects to merge together
161
157
  */
162
158
  export function immutableMergeCore(options, ...objs) {
163
- return immutableMergeWorker(options, false, ...objs);
159
+ return immutableMergeWorker(options, false, ...objs);
164
160
  }
165
161
  /**
166
162
  * Process one or more immutable objects ensuring that handlers are called on every entry that applies. If a single object
@@ -174,6 +170,6 @@ export function immutableMergeCore(options, ...objs) {
174
170
  * @param objs - one or more objects to process. If multiple objects are passed they will be merged
175
171
  */
176
172
  export function processImmutable(options, ...objs) {
177
- return immutableMergeWorker(options, true, ...objs);
173
+ return immutableMergeWorker(options, true, ...objs);
178
174
  }
179
- //# sourceMappingURL=Merge.js.map
175
+ //# sourceMappingURL=Merge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Merge.js","sourceRoot":"","sources":["../../src/immutable-merge/Merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Merge.js","sourceRoot":"","sources":["../../src/immutable-merge/Merge.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=Merge.test.d.ts.map
2
+ //# sourceMappingURL=Merge.test.d.ts.map