@tamagui/web 1.22.11 → 1.23.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.
- package/dist/cjs/constants/accessibilityDirectMap.js +76 -0
- package/dist/cjs/constants/accessibilityDirectMap.js.map +6 -0
- package/dist/cjs/createTamagui.js +19 -10
- package/dist/cjs/createTamagui.js.map +1 -1
- package/dist/cjs/helpers/ThemeManager.js +3 -3
- package/dist/cjs/helpers/ThemeManager.js.map +1 -1
- package/dist/cjs/helpers/accessibilityDirectMap.js +76 -0
- package/dist/cjs/helpers/accessibilityDirectMap.js.map +6 -0
- package/dist/cjs/helpers/createChainedWeakCache.js +63 -0
- package/dist/cjs/helpers/createChainedWeakCache.js.map +6 -0
- package/dist/cjs/helpers/getSplitStyles.js +46 -101
- package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
- package/dist/cjs/helpers/memoizeArgumentsWeak.js +57 -0
- package/dist/cjs/helpers/memoizeArgumentsWeak.js.map +6 -0
- package/dist/cjs/helpers/memoizeFunctionByArgumentsReference.js +1 -1
- package/dist/cjs/helpers/memoizeFunctionByArgumentsReference.js.map +1 -1
- package/dist/cjs/hooks/useTheme.js +8 -2
- package/dist/cjs/hooks/useTheme.js.map +1 -1
- package/dist/esm/constants/accessibilityDirectMap.js +52 -0
- package/dist/esm/constants/accessibilityDirectMap.js.map +6 -0
- package/dist/esm/constants/accessibilityDirectMap.mjs +52 -0
- package/dist/esm/constants/accessibilityDirectMap.mjs.map +6 -0
- package/dist/esm/createTamagui.js +19 -10
- package/dist/esm/createTamagui.js.map +1 -1
- package/dist/esm/createTamagui.mjs +19 -10
- package/dist/esm/createTamagui.mjs.map +1 -1
- package/dist/esm/helpers/ThemeManager.js +3 -3
- package/dist/esm/helpers/ThemeManager.js.map +1 -1
- package/dist/esm/helpers/ThemeManager.mjs +3 -3
- package/dist/esm/helpers/ThemeManager.mjs.map +1 -1
- package/dist/esm/helpers/accessibilityDirectMap.js +52 -0
- package/dist/esm/helpers/accessibilityDirectMap.js.map +6 -0
- package/dist/esm/helpers/accessibilityDirectMap.mjs +52 -0
- package/dist/esm/helpers/accessibilityDirectMap.mjs.map +6 -0
- package/dist/esm/helpers/createChainedWeakCache.js +39 -0
- package/dist/esm/helpers/createChainedWeakCache.js.map +6 -0
- package/dist/esm/helpers/createChainedWeakCache.mjs +39 -0
- package/dist/esm/helpers/createChainedWeakCache.mjs.map +6 -0
- package/dist/esm/helpers/getSplitStyles.js +43 -98
- package/dist/esm/helpers/getSplitStyles.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +43 -98
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/memoizeArgumentsWeak.js +33 -0
- package/dist/esm/helpers/memoizeArgumentsWeak.js.map +6 -0
- package/dist/esm/helpers/memoizeArgumentsWeak.mjs +33 -0
- package/dist/esm/helpers/memoizeArgumentsWeak.mjs.map +6 -0
- package/dist/esm/helpers/memoizeFunctionByArgumentsReference.js +1 -1
- package/dist/esm/helpers/memoizeFunctionByArgumentsReference.js.map +1 -1
- package/dist/esm/helpers/memoizeFunctionByArgumentsReference.mjs +1 -1
- package/dist/esm/helpers/memoizeFunctionByArgumentsReference.mjs.map +1 -1
- package/dist/esm/hooks/useTheme.js +8 -2
- package/dist/esm/hooks/useTheme.js.map +1 -1
- package/dist/esm/hooks/useTheme.mjs +8 -2
- package/dist/esm/hooks/useTheme.mjs.map +1 -1
- package/package.json +9 -9
- package/src/constants/accessibilityDirectMap.tsx +51 -0
- package/src/createTamagui.ts +28 -10
- package/src/helpers/ThemeManager.tsx +8 -4
- package/src/helpers/createChainedWeakCache.tsx +39 -0
- package/src/helpers/getSplitStyles.tsx +85 -114
- package/src/hooks/useTheme.tsx +10 -2
- package/src/types.tsx +9 -2
- package/types/constants/accessibilityDirectMap.d.ts +2 -0
- package/types/constants/accessibilityDirectMap.d.ts.map +1 -0
- package/types/createTamagui.d.ts.map +1 -1
- package/types/helpers/ThemeManager.d.ts +2 -2
- package/types/helpers/ThemeManager.d.ts.map +1 -1
- package/types/helpers/accessibilityDirectMap.d.ts +2 -0
- package/types/helpers/accessibilityDirectMap.d.ts.map +1 -0
- package/types/helpers/createChainedWeakCache.d.ts +5 -0
- package/types/helpers/createChainedWeakCache.d.ts.map +1 -0
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/memoizeArgumentsWeak.d.ts +5 -0
- package/types/helpers/memoizeArgumentsWeak.d.ts.map +1 -0
- package/types/helpers/memoizeFunctionByArgumentsReference.d.ts +1 -1
- package/types/helpers/memoizeFunctionByArgumentsReference.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/types.d.ts +8 -2
- package/types/types.d.ts.map +1 -1
- package/src/helpers/memoizeFunctionByArgumentsReference.ts +0 -38
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unused for now but useful function and could replace various caches we use with some testing
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
function isObject(arg) {
|
|
6
|
-
const t = typeof arg
|
|
7
|
-
return (t === 'object' || t === 'function') && arg !== null
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
class FunctionArgumentCache {
|
|
11
|
-
map = new Map()
|
|
12
|
-
weakmap = new WeakMap()
|
|
13
|
-
|
|
14
|
-
get(args: any[]): any {
|
|
15
|
-
let cache = this
|
|
16
|
-
for (let value of args) {
|
|
17
|
-
const map = cache[isObject(value) ? 'weakmap' : 'map']
|
|
18
|
-
cache = map.get(value) || map.set(value, new FunctionArgumentCache()).get(value)
|
|
19
|
-
}
|
|
20
|
-
return cache
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function memoize<Fn extends Function>(fn: Fn): Fn {
|
|
25
|
-
const cache = new FunctionArgumentCache()
|
|
26
|
-
|
|
27
|
-
return function (this: any, ...args: any[]) {
|
|
28
|
-
// get (or create) a cache item
|
|
29
|
-
const item = cache.get(args)
|
|
30
|
-
|
|
31
|
-
if (item.hasOwnProperty('value')) {
|
|
32
|
-
console.warn('cached')
|
|
33
|
-
return item.value
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return (item.value = fn.apply(this, args))
|
|
37
|
-
} as any as Fn
|
|
38
|
-
}
|