@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
@@ -0,0 +1,65 @@
1
+ import type React from 'react';
2
+ /**
3
+ * This file defines a custom JSX namespace that re-exports React's JSX types, but also allows us to add our own custom behavior to the JSX runtime.
4
+ * The main reason we need this is to support our "direct component" pattern, which allows certain components to bypass React's createElement and
5
+ * return their own React elements directly from the JSX runtime.
6
+ *
7
+ * Exporting this custom namespace is required to make intrinsic attributes like key and ref work correctly with our custom JSX functions. The normal
8
+ * fallback behavior if not defined is to not allow any attributes on intrinsic elements, which breaks a lot of React functionality.
9
+ *
10
+ * The custom behavior is implemented in the jsx and jsxs functions, which first check if the type being rendered is a direct component and if so, call it directly.
11
+ *
12
+ * Thanks to the emotion library's jsx-namespace for providing a reference implementation of how to do this while handling both React 18 and React 19's
13
+ * changes to the JSX types.
14
+ */
15
+ type IsPreReact19 = 2 extends Parameters<React.FunctionComponent<any>>['length'] ? true : false;
16
+ /**
17
+ * The following types are intrinsic types for React, but handled in a way that allows them to be correctly resolved in both
18
+ * React 18 and React 19.
19
+ *
20
+ * React 18:
21
+ * - JSX.Element, JSX.ElementClass, etc.
22
+ * - no React.JSX namespace
23
+ *
24
+ * React 19:
25
+ * - React.JSX.Element, React.JSX.ElementClass, etc.
26
+ * - no global JSX namespace
27
+ *
28
+ * In both cases, we want to be able to reference these types in our custom JSX namespace, so we conditionally define them based on whether we're in
29
+ * a pre-React 19 environment or not. The @ts-expect-error comments are used because both can't be valid at the same time so there will always be
30
+ * an error.
31
+ */
32
+ /** @ts-expect-error references types for both react 18 and react 19, only one can be valid at a time */
33
+ type ReactJSXElement = true extends IsPreReact19 ? JSX.Element : React.JSX.Element;
34
+ /** @ts-expect-error references types for both react 18 and react 19, only one can be valid at a time */
35
+ type ReactJSXElementClass = true extends IsPreReact19 ? JSX.ElementClass : React.JSX.ElementClass;
36
+ /** @ts-expect-error references types for both react 18 and react 19, only one can be valid at a time */
37
+ type ReactJSXElementAttributesProperty = true extends IsPreReact19 ? JSX.ElementAttributesProperty : React.JSX.ElementAttributesProperty;
38
+ /** @ts-expect-error references types for both react 18 and react 19, only one can be valid at a time */
39
+ type ReactJSXElementChildrenAttribute = true extends IsPreReact19 ? JSX.ElementChildrenAttribute : React.JSX.ElementChildrenAttribute;
40
+ /** @ts-expect-error references types for both react 18 and react 19, only one can be valid at a time */
41
+ type ReactJSXLibraryManagedAttributes<C, P> = true extends IsPreReact19
42
+ ? JSX.LibraryManagedAttributes<C, P>
43
+ : React.JSX.LibraryManagedAttributes<C, P>;
44
+ /** @ts-expect-error references types for both react 18 and react 19, only one can be valid at a time */
45
+ type ReactJSXIntrinsicAttributes = true extends IsPreReact19 ? JSX.IntrinsicAttributes : React.JSX.IntrinsicAttributes;
46
+ /** @ts-expect-error references types for both react 18 and react 19, only one can be valid at a time */
47
+ type ReactJSXIntrinsicClassAttributes<T> = true extends IsPreReact19
48
+ ? JSX.IntrinsicClassAttributes<T>
49
+ : React.JSX.IntrinsicClassAttributes<T>;
50
+ /** @ts-expect-error references types for both react 18 and react 19, only one can be valid at a time */
51
+ type ReactJSXIntrinsicElements = true extends IsPreReact19 ? JSX.IntrinsicElements : React.JSX.IntrinsicElements;
52
+ type ReactJSXElementType = true extends IsPreReact19 ? string | React.JSXElementConstructor<any> : React.JSX.ElementType;
53
+ export declare namespace FurnJSX {
54
+ type ElementType = ReactJSXElementType;
55
+ interface Element extends ReactJSXElement {}
56
+ interface ElementClass extends ReactJSXElementClass {}
57
+ interface ElementAttributesProperty extends ReactJSXElementAttributesProperty {}
58
+ interface ElementChildrenAttribute extends ReactJSXElementChildrenAttribute {}
59
+ type LibraryManagedAttributes<C, P> = ReactJSXLibraryManagedAttributes<C, P>;
60
+ interface IntrinsicAttributes extends ReactJSXIntrinsicAttributes {}
61
+ interface IntrinsicClassAttributes<T> extends ReactJSXIntrinsicClassAttributes<T> {}
62
+ type IntrinsicElements = ReactJSXIntrinsicElements;
63
+ }
64
+ export {};
65
+ //# sourceMappingURL=jsx-namespace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-namespace.d.ts","sourceRoot":"","sources":["../src/jsx-namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;GAYG;AAEH,KAAK,YAAY,GAAG,CAAC,SAAS,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAEhG;;;;;;;;;;;;;;;GAeG;AAEH,wGAAwG;AACxG,KAAK,eAAe,GAAG,IAAI,SAAS,YAAY,GAAG,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;AAEnF,wGAAwG;AACxG,KAAK,oBAAoB,GAAG,IAAI,SAAS,YAAY,GAAG,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;AAElG,wGAAwG;AACxG,KAAK,iCAAiC,GAAG,IAAI,SAAS,YAAY,GAAG,GAAG,CAAC,yBAAyB,GAAG,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC;AAEzI,wGAAwG;AACxG,KAAK,gCAAgC,GAAG,IAAI,SAAS,YAAY,GAAG,GAAG,CAAC,wBAAwB,GAAG,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC;AAGtI,wGAAwG;AACxG,KAAK,gCAAgC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,SAAS,YAAY,GAAG,GAAG,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAExJ,wGAAwG;AACxG,KAAK,2BAA2B,GAAG,IAAI,SAAS,YAAY,GAAG,GAAG,CAAC,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAGvH,wGAAwG;AACxG,KAAK,gCAAgC,CAAC,CAAC,IAAI,IAAI,SAAS,YAAY,GAAG,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;AAE/I,wGAAwG;AACxG,KAAK,yBAAyB,GAAG,IAAI,SAAS,YAAY,GAAG,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC;AAIjH,KAAK,mBAAmB,GAAG,IAAI,SAAS,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;AAGzH,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC,CAAC;IAChC,KAAY,WAAW,GAAG,mBAAmB,CAAC;IAE9C,UAAiB,OAAQ,SAAQ,eAAe;KAAG;IAEnD,UAAiB,YAAa,SAAQ,oBAAoB;KAAG;IAE7D,UAAiB,yBAA0B,SAAQ,iCAAiC;KAAG;IAEvF,UAAiB,wBAAyB,SAAQ,gCAAgC;KAAG;IACrF,KAAY,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI,gCAAgC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpF,UAAiB,mBAAoB,SAAQ,2BAA2B;KAAG;IAE3E,UAAiB,wBAAwB,CAAC,CAAC,CAAE,SAAQ,gCAAgC,CAAC,CAAC,CAAC;KAAG;IAC3F,KAAY,iBAAiB,GAAG,yBAAyB,CAAC;CAC3D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jsx-namespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-namespace.js","sourceRoot":"","sources":["../src/jsx-namespace.ts"],"names":[],"mappings":""}
@@ -1,4 +1,6 @@
1
- import type React from 'react';
2
- export declare function jsx(type: React.ElementType, props: React.PropsWithChildren<unknown>, key?: React.Key): React.ReactElement;
3
- export declare function jsxs(type: React.ElementType, props: React.PropsWithChildren<unknown>, key?: React.Key): React.ReactElement;
4
- //# sourceMappingURL=jsx-runtime.d.ts.map
1
+ import * as ReactJSX from 'react/jsx-runtime';
2
+ export type { FurnJSX as JSX } from './jsx-namespace';
3
+ export declare const jsx: typeof ReactJSX.jsx;
4
+ export declare const jsxs: typeof ReactJSX.jsxs;
5
+ export { Fragment } from 'react/jsx-runtime';
6
+ //# sourceMappingURL=jsx-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,wBAAgB,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,YAAY,CAEzH;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,YAAY,CAE1H"}
1
+ {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAE9C,YAAY,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtD,eAAO,MAAM,GAAG,EAAE,OAAO,QAAQ,CAAC,GAEjC,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,OAAO,QAAQ,CAAC,IAElC,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import * as ReactJSX from 'react/jsx-runtime';
2
2
  import { renderForJsxRuntime } from './component-patterns/render';
3
- export function jsx(type, props, key) {
4
- return renderForJsxRuntime(type, props, key, ReactJSX.jsx);
5
- }
6
- export function jsxs(type, props, key) {
7
- return renderForJsxRuntime(type, props, key, ReactJSX.jsxs);
8
- }
9
- //# sourceMappingURL=jsx-runtime.js.map
3
+ export const jsx = (type, props, key) => {
4
+ return renderForJsxRuntime(type, props, key, ReactJSX.jsx);
5
+ };
6
+ export const jsxs = (type, props, key) => {
7
+ return renderForJsxRuntime(type, props, key, ReactJSX.jsxs);
8
+ };
9
+ // Re-export Fragment for <></> syntax
10
+ export { Fragment } from 'react/jsx-runtime';
11
+ //# sourceMappingURL=jsx-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,UAAU,GAAG,CAAC,IAAuB,EAAE,KAAuC,EAAE,GAAe;IACnG,OAAO,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,IAAuB,EAAE,KAAuC,EAAE,GAAe;IACpG,OAAO,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,MAAM,CAAC,MAAM,GAAG,GAAwB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAe,EAAE,EAAE,CAAC;IACxE,OAAO,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;AAAA,CAC5D,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAe,EAAE,EAAE,CAAC;IAC1E,OAAO,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AAAA,CAC7D,CAAC;AAEF,sCAAsC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,18 +1,18 @@
1
1
  /** signature for the object/function key values, used for memoization */
2
2
  export type MemoObjectKey = object | Function;
3
3
  export type CacheEntry<T = unknown> = {
4
- /** stores the cached value if any */
5
- value?: T;
6
- /** entry used for undefined and null values, these both collapse to the same type */
7
- empty?: CacheEntry<T>;
8
- /** entry used for the case where the array of args is null or length 0 */
9
- noargs?: CacheEntry<T>;
10
- /** all remaining non-object types are keyed as strings for lookups */
11
- str?: {
12
- [key: string]: CacheEntry<T>;
13
- };
14
- /** object types are keyed in a weak map on object identity */
15
- obj?: WeakMap<MemoObjectKey, CacheEntry<T>>;
4
+ /** stores the cached value if any */
5
+ value?: T;
6
+ /** entry used for undefined and null values, these both collapse to the same type */
7
+ empty?: CacheEntry<T>;
8
+ /** entry used for the case where the array of args is null or length 0 */
9
+ noargs?: CacheEntry<T>;
10
+ /** all remaining non-object types are keyed as strings for lookups */
11
+ str?: {
12
+ [key: string]: CacheEntry<T>;
13
+ };
14
+ /** object types are keyed in a weak map on object identity */
15
+ obj?: WeakMap<MemoObjectKey, CacheEntry<T>>;
16
16
  };
17
17
  /**
18
18
  * Given a base entry, either traverse or build the cache tree that matches the provided args
@@ -21,4 +21,4 @@ export type CacheEntry<T = unknown> = {
21
21
  * @param args - array of arguments to use to progress deeper into the cache
22
22
  */
23
23
  export declare function getCacheEntry(entry: CacheEntry, args: unknown[]): CacheEntry;
24
- //# sourceMappingURL=getCacheEntry.d.ts.map
24
+ //# sourceMappingURL=getCacheEntry.d.ts.map
@@ -5,21 +5,21 @@
5
5
  * @param val - value to use as the key for progressing to the next level of the cache
6
6
  */
7
7
  function jumpToCacheEntry(entry, val) {
8
- if (val === undefined || val === null) {
9
- // undefined or null just routes directly to the empty object. This avoids the issues of string collisions with 'null' or 'undefined'
10
- // when using the string key map, it also avoids creating the WeakMap (since null is technically typoef object), particularly in cases
11
- // where null is just being set on non-object types.
12
- return (entry.empty ??= {});
13
- }
14
- if (typeof val === 'object' || typeof val === 'function') {
15
- // objects and functions will be treated as key values in a WeakMap
16
- const byObj = (entry.obj ??= new WeakMap());
17
- return byObj.get(val) || byObj.set(val, {}).get(val);
18
- }
19
- // otherwise convert everything to a string and store it in the str object (using it as a map)
20
- const key = val + '';
21
- const byString = (entry.str ??= {});
22
- return (byString[key] ??= {});
8
+ if (val === undefined || val === null) {
9
+ // undefined or null just routes directly to the empty object. This avoids the issues of string collisions with 'null' or 'undefined'
10
+ // when using the string key map, it also avoids creating the WeakMap (since null is technically typoef object), particularly in cases
11
+ // where null is just being set on non-object types.
12
+ return (entry.empty ??= {});
13
+ }
14
+ if (typeof val === 'object' || typeof val === 'function') {
15
+ // objects and functions will be treated as key values in a WeakMap
16
+ const byObj = (entry.obj ??= new WeakMap());
17
+ return byObj.get(val) || byObj.set(val, {}).get(val);
18
+ }
19
+ // otherwise convert everything to a string and store it in the str object (using it as a map)
20
+ const key = val + '';
21
+ const byString = (entry.str ??= {});
22
+ return (byString[key] ??= {});
23
23
  }
24
24
  /**
25
25
  * Given a base entry, either traverse or build the cache tree that matches the provided args
@@ -28,11 +28,9 @@ function jumpToCacheEntry(entry, val) {
28
28
  * @param args - array of arguments to use to progress deeper into the cache
29
29
  */
30
30
  export function getCacheEntry(entry, args) {
31
- // in the case where the args array exists and is > 0 length:
32
- // - walk the cache from entry, like a linked list, jumping to the next entry by key, building it up as you go
33
- // - otherwise if there are no args just use the noargs branch
34
- return args && args.length > 0
35
- ? args.reduce((previous, arg) => jumpToCacheEntry(previous, arg), entry)
36
- : (entry.noargs ??= {});
31
+ // in the case where the args array exists and is > 0 length:
32
+ // - walk the cache from entry, like a linked list, jumping to the next entry by key, building it up as you go
33
+ // - otherwise if there are no args just use the noargs branch
34
+ return args && args.length > 0 ? args.reduce((previous, arg) => jumpToCacheEntry(previous, arg), entry) : (entry.noargs ??= {});
37
35
  }
38
- //# sourceMappingURL=getCacheEntry.js.map
36
+ //# sourceMappingURL=getCacheEntry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCacheEntry.js","sourceRoot":"","sources":["../../src/memo-cache/getCacheEntry.ts"],"names":[],"mappings":"AAqBA;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,KAAiB,EAAE,GAAQ;IACnD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;QACrC,sIAAsI;QACtI,sIAAsI;QACtI,oDAAoD;QACpD,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;KAC7B;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;QACxD,mEAAmE;QACnE,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,OAAO,EAA6B,CAAC,CAAC;QACvE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACtD;IACD,8FAA8F;IAC9F,MAAM,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAiB,EAAE,IAAe;IAC9D,6DAA6D;IAC7D,8GAA8G;IAC9G,8DAA8D;IAC9D,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAC5B,CAAC,CAAE,IAAI,CAAC,MAAM,CAAC,CAAC,QAAoB,EAAE,GAAY,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,KAAK,CAAgB;QAC7G,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"getCacheEntry.js","sourceRoot":"","sources":["../../src/memo-cache/getCacheEntry.ts"],"names":[],"mappings":"AAqBA;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,KAAiB,EAAE,GAAQ,EAAc;IACjE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACtC,sIAAsI;QACtI,sIAAsI;QACtI,oDAAoD;QACpD,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;QACzD,mEAAmE;QACnE,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,OAAO,EAA6B,CAAC,CAAC;QACvE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,8FAA8F;IAC9F,MAAM,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AAAA,CAC/B;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAiB,EAAE,IAAe,EAAc;IAC5E,6DAA6D;IAC7D,8GAA8G;IAC9G,8DAA8D;IAC9D,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAC5B,CAAC,CAAE,IAAI,CAAC,MAAM,CAAC,CAAC,QAAoB,EAAE,GAAY,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,KAAK,CAAgB;QAC7G,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;AAAA,CAC3B"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=getCacheEntry.test.d.ts.map
2
+ //# sourceMappingURL=getCacheEntry.test.d.ts.map
@@ -1,95 +1,95 @@
1
1
  import { getCacheEntry } from './getCacheEntry';
2
2
  function compareResults(base, args, argsNoMatch) {
3
- const e1 = getCacheEntry(base, args);
4
- expect(getCacheEntry(base, args)).toBe(e1);
5
- if (argsNoMatch) {
6
- expect(getCacheEntry(base, argsNoMatch)).not.toBe(e1);
7
- }
3
+ const e1 = getCacheEntry(base, args);
4
+ expect(getCacheEntry(base, args)).toBe(e1);
5
+ if (argsNoMatch) {
6
+ expect(getCacheEntry(base, argsNoMatch)).not.toBe(e1);
7
+ }
8
8
  }
9
9
  describe('Memo cache unit tests', () => {
10
- test('undefined args to return noargs', () => {
11
- const base = {};
12
- expect(getCacheEntry(base, undefined)).toBe(base.noargs);
13
- });
14
- test('empty args array to return noargs entry', () => {
15
- const base = {};
16
- expect(getCacheEntry(base, [])).toBe(base.noargs);
17
- });
18
- test('undefined goes to empty entry', () => {
19
- const base = {};
20
- expect(getCacheEntry(base, [undefined])).toBe(base.empty);
21
- });
22
- test('null to go to empty entry', () => {
23
- const base = {};
24
- expect(getCacheEntry(base, [null])).toBe(base.empty);
25
- });
26
- test('string gets keyed correctly', () => {
27
- const base = {};
28
- const key = 'foo';
29
- expect(getCacheEntry(base, [key])).toBe(base.str[key]);
30
- });
31
- test('number gets keyed correctly', () => {
32
- const base = {};
33
- const val = 235;
34
- const key = val + '';
35
- expect(getCacheEntry(base, [val])).toBe(base.str[key]);
36
- });
37
- test('bool gets keyed correctly', () => {
38
- const base = {};
39
- const val = true;
40
- const key = val + '';
41
- expect(getCacheEntry(base, [val])).toBe(base.str[key]);
42
- });
43
- test('false bool gets keyed correctly', () => {
44
- const base = {};
45
- const val = false;
46
- const key = val + '';
47
- expect(getCacheEntry(base, [val])).toBe(base.str[key]);
48
- });
49
- test('object gets keyed correctly', () => {
50
- const base = {};
51
- const key = {};
52
- expect(getCacheEntry(base, [key])).toBe(base.obj.get(key));
53
- });
54
- test('function gets keyed correctly', () => {
55
- const base = {};
56
- const key = () => {
57
- return 'hello world';
58
- };
59
- expect(getCacheEntry(base, [key])).toBe(base.obj.get(key));
60
- });
61
- test('basic string retrieval', () => {
62
- compareResults({}, ['hello', 'world'], ['hello world']);
63
- });
64
- test('mixed keys with strings', () => {
65
- compareResults({}, ['hello', 1, true, undefined, 'world'], ['hello', 1, true, '', 'world']);
66
- });
67
- test('basic object matches', () => {
68
- const obj = {};
69
- compareResults({}, [obj]);
70
- });
71
- test('mixed object and string matches', () => {
72
- const obj = {};
73
- compareResults({}, [obj, 'hello', 1, 'world']);
74
- });
75
- test('mixed obj and strings with obj at end', () => {
76
- const obj = {};
77
- const obj2 = {};
78
- compareResults({}, ['hello', 1, 'world', obj], ['hello', 1, 'world', obj2]);
79
- });
80
- test('hybrid sets', () => {
81
- const obj = {};
82
- const obj2 = {};
83
- compareResults({}, ['hello', obj, 'world', 1, false, obj2, undefined]);
84
- });
85
- test('sub cache on object', () => {
86
- const obj = {};
87
- const args1 = ['hello', obj];
88
- const base = {};
89
- const subRoot = getCacheEntry(base, args1);
90
- const args2 = ['world', base];
91
- const target = getCacheEntry(subRoot, args2);
92
- expect(getCacheEntry(base, [...args1, ...args2])).toBe(target);
93
- });
10
+ test('undefined args to return noargs', () => {
11
+ const base = {};
12
+ expect(getCacheEntry(base, undefined)).toBe(base.noargs);
13
+ });
14
+ test('empty args array to return noargs entry', () => {
15
+ const base = {};
16
+ expect(getCacheEntry(base, [])).toBe(base.noargs);
17
+ });
18
+ test('undefined goes to empty entry', () => {
19
+ const base = {};
20
+ expect(getCacheEntry(base, [undefined])).toBe(base.empty);
21
+ });
22
+ test('null to go to empty entry', () => {
23
+ const base = {};
24
+ expect(getCacheEntry(base, [null])).toBe(base.empty);
25
+ });
26
+ test('string gets keyed correctly', () => {
27
+ const base = {};
28
+ const key = 'foo';
29
+ expect(getCacheEntry(base, [key])).toBe(base.str[key]);
30
+ });
31
+ test('number gets keyed correctly', () => {
32
+ const base = {};
33
+ const val = 235;
34
+ const key = val + '';
35
+ expect(getCacheEntry(base, [val])).toBe(base.str[key]);
36
+ });
37
+ test('bool gets keyed correctly', () => {
38
+ const base = {};
39
+ const val = true;
40
+ const key = val + '';
41
+ expect(getCacheEntry(base, [val])).toBe(base.str[key]);
42
+ });
43
+ test('false bool gets keyed correctly', () => {
44
+ const base = {};
45
+ const val = false;
46
+ const key = val + '';
47
+ expect(getCacheEntry(base, [val])).toBe(base.str[key]);
48
+ });
49
+ test('object gets keyed correctly', () => {
50
+ const base = {};
51
+ const key = {};
52
+ expect(getCacheEntry(base, [key])).toBe(base.obj.get(key));
53
+ });
54
+ test('function gets keyed correctly', () => {
55
+ const base = {};
56
+ const key = () => {
57
+ return 'hello world';
58
+ };
59
+ expect(getCacheEntry(base, [key])).toBe(base.obj.get(key));
60
+ });
61
+ test('basic string retrieval', () => {
62
+ compareResults({}, ['hello', 'world'], ['hello world']);
63
+ });
64
+ test('mixed keys with strings', () => {
65
+ compareResults({}, ['hello', 1, true, undefined, 'world'], ['hello', 1, true, '', 'world']);
66
+ });
67
+ test('basic object matches', () => {
68
+ const obj = {};
69
+ compareResults({}, [obj]);
70
+ });
71
+ test('mixed object and string matches', () => {
72
+ const obj = {};
73
+ compareResults({}, [obj, 'hello', 1, 'world']);
74
+ });
75
+ test('mixed obj and strings with obj at end', () => {
76
+ const obj = {};
77
+ const obj2 = {};
78
+ compareResults({}, ['hello', 1, 'world', obj], ['hello', 1, 'world', obj2]);
79
+ });
80
+ test('hybrid sets', () => {
81
+ const obj = {};
82
+ const obj2 = {};
83
+ compareResults({}, ['hello', obj, 'world', 1, false, obj2, undefined]);
84
+ });
85
+ test('sub cache on object', () => {
86
+ const obj = {};
87
+ const args1 = ['hello', obj];
88
+ const base = {};
89
+ const subRoot = getCacheEntry(base, args1);
90
+ const args2 = ['world', base];
91
+ const target = getCacheEntry(subRoot, args2);
92
+ expect(getCacheEntry(base, [...args1, ...args2])).toBe(target);
93
+ });
94
94
  });
95
- //# sourceMappingURL=getCacheEntry.test.js.map
95
+ //# 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
@@ -9,12 +9,12 @@ const _baseEntry = {};
9
9
  * @param keys - an ordered array of values of any type, used as keys to look up the entry
10
10
  */
11
11
  function getMemoValueWorker(entry, factory, keys) {
12
- const foundEntry = getCacheEntry(entry, keys);
13
- // check the key being set, not the value to disambiguate an undefined factory result/value from never having run the factory
14
- if (!Object.prototype.hasOwnProperty.call(foundEntry, 'value')) {
15
- foundEntry.value = typeof factory === 'function' ? factory() : factory;
16
- }
17
- return [foundEntry.value, (fact, args) => getMemoValueWorker(foundEntry, fact, args)];
12
+ const foundEntry = getCacheEntry(entry, keys);
13
+ // check the key being set, not the value to disambiguate an undefined factory result/value from never having run the factory
14
+ if (!Object.prototype.hasOwnProperty.call(foundEntry, 'value')) {
15
+ foundEntry.value = typeof factory === 'function' ? factory() : factory;
16
+ }
17
+ return [foundEntry.value, (fact, args) => getMemoValueWorker(foundEntry, fact, args)];
18
18
  }
19
19
  /**
20
20
  * Get a memo cache instance, this can either be completely self-contained or associated with a global key
@@ -23,8 +23,8 @@ function getMemoValueWorker(entry, factory, keys) {
23
23
  * to retrieve the same cache from the global call. If not specified the returned cache will be completely isolated.
24
24
  */
25
25
  export function getMemoCache(globalKey) {
26
- const entry = globalKey ? getCacheEntry(_baseEntry, [globalKey]) : {};
27
- return (fact, args) => getMemoValueWorker(entry, fact, args);
26
+ const entry = globalKey ? getCacheEntry(_baseEntry, [globalKey]) : {};
27
+ return (fact, args) => getMemoValueWorker(entry, fact, args);
28
28
  }
29
29
  /**
30
30
  * Get a typed memo cache instance, this can either be completely self-contained or associated with a global key
@@ -33,7 +33,7 @@ export function getMemoCache(globalKey) {
33
33
  * to retrieve the same cache from the global call. If not specified the returned cache will be completely isolated.
34
34
  */
35
35
  export function getTypedMemoCache(globalKey) {
36
- const entry = globalKey ? getCacheEntry(_baseEntry, [globalKey]) : {};
37
- return (fact, args) => getMemoValueWorker(entry, fact, args);
36
+ const entry = globalKey ? getCacheEntry(_baseEntry, [globalKey]) : {};
37
+ return (fact, args) => getMemoValueWorker(entry, fact, args);
38
38
  }
39
- //# sourceMappingURL=getMemoCache.js.map
39
+ //# sourceMappingURL=getMemoCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getMemoCache.js","sourceRoot":"","sources":["../../src/memo-cache/getMemoCache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAYhD,oEAAoE;AACpE,MAAM,UAAU,GAAe,EAAE,CAAC;AAElC;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAI,KAAiB,EAAE,OAA4B,EAAE,IAAe;IAC7F,MAAM,UAAU,GAAG,aAAa,CAAC,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,MAAM,UAAU,YAAY,CAAC,SAAkB;IAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,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;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAI,SAAkB;IACrD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,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"}
1
+ {"version":3,"file":"getMemoCache.js","sourceRoot":"","sources":["../../src/memo-cache/getMemoCache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAYhD,oEAAoE;AACpE,MAAM,UAAU,GAAe,EAAE,CAAC;AAElC;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAI,KAAiB,EAAE,OAA4B,EAAE,IAAe,EAAqB;IAClH,MAAM,UAAU,GAAG,aAAa,CAAC,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,MAAM,UAAU,YAAY,CAAC,SAAkB,EAAgB;IAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,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,MAAM,UAAU,iBAAiB,CAAI,SAAkB,EAAwB;IAC7E,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,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