react-native-maplibre-gl-js 1.23.2 → 1.23.4
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/lib/module/communication/messages.utils.js +61 -0
- package/lib/module/communication/messages.utils.js.map +1 -1
- package/lib/module/react-native/components/core/MapProvider/MapProvider.hooks.js +19 -0
- package/lib/module/react-native/components/core/MapProvider/MapProvider.hooks.js.map +1 -1
- package/lib/module/react-native/components/core/MapProvider/MapProvider.js +7 -3
- package/lib/module/react-native/components/core/MapProvider/MapProvider.js.map +1 -1
- package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.js +33 -30
- package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.js.map +1 -1
- package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.js +8 -61
- package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.js.map +1 -1
- package/lib/module/react-native/components-factories/hooks/useWebObjectMethodsProxy.js +1 -1
- package/lib/module/react-native/components-factories/hooks/useWebObjectMethodsProxy.js.map +1 -1
- package/lib/typescript/src/communication/messages.utils.d.ts +4 -1
- package/lib/typescript/src/communication/messages.utils.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.hooks.d.ts +11 -0
- package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.hooks.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.d.ts +1 -4
- package/lib/typescript/src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -25,4 +25,65 @@ export const isWebObjectListenerOnHTMLElement = listener => {
|
|
|
25
25
|
return 'elementListener' in listener;
|
|
26
26
|
};
|
|
27
27
|
export const getHTMLElementDescriptorListenerName = listener => `${listener.eventName}${listener.cssSelector}`;
|
|
28
|
+
export const removeHTMLElementListeners = (options, optionsThatAreHTMLElements) => {
|
|
29
|
+
if (!options || typeof options !== 'object') {
|
|
30
|
+
return options;
|
|
31
|
+
}
|
|
32
|
+
if (Array.isArray(options)) {
|
|
33
|
+
return options.map(opt => removeHTMLElementListeners(opt, optionsThatAreHTMLElements));
|
|
34
|
+
}
|
|
35
|
+
const result = {};
|
|
36
|
+
for (const key in options) {
|
|
37
|
+
if (optionsThatAreHTMLElements.includes(key) && Array.isArray(options[key]?.listeners)) {
|
|
38
|
+
result[key] = {
|
|
39
|
+
...options[key],
|
|
40
|
+
listeners: options[key].listeners.map(({
|
|
41
|
+
cssSelector,
|
|
42
|
+
eventName
|
|
43
|
+
}) => ({
|
|
44
|
+
cssSelector,
|
|
45
|
+
eventName
|
|
46
|
+
}))
|
|
47
|
+
};
|
|
48
|
+
} else {
|
|
49
|
+
result[key] = removeHTMLElementListeners(options[key], optionsThatAreHTMLElements);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
};
|
|
54
|
+
export const extractHTMLElementListenersFromOptions = (options, optionsThatAreHTMLElements) => {
|
|
55
|
+
let callbacks = {};
|
|
56
|
+
for (const key of optionsThatAreHTMLElements) {
|
|
57
|
+
callbacks = {
|
|
58
|
+
...callbacks,
|
|
59
|
+
...extractHTMLElementListenersFromDescriptor(options?.[key])
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return callbacks;
|
|
63
|
+
};
|
|
64
|
+
export const extractHTMLElementListenersFromMethodArgs = methodArgs => {
|
|
65
|
+
let callbacks = {};
|
|
66
|
+
for (const arg of methodArgs) {
|
|
67
|
+
// TODO we need a more robust way to identify HTMLElements. A class for
|
|
68
|
+
// HTMLElementDescriptor could be created.
|
|
69
|
+
if (!arg?.listeners) {
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
callbacks = {
|
|
73
|
+
...callbacks,
|
|
74
|
+
...extractHTMLElementListenersFromDescriptor(arg)
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return callbacks;
|
|
78
|
+
};
|
|
79
|
+
const extractHTMLElementListenersFromDescriptor = htmlElement => {
|
|
80
|
+
const callbacks = {};
|
|
81
|
+
const htmlListeners = htmlElement?.listeners;
|
|
82
|
+
htmlListeners?.forEach(listener => {
|
|
83
|
+
callbacks[getHTMLElementDescriptorListenerName(listener)] = {
|
|
84
|
+
elementListener: listener.callback
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
return callbacks;
|
|
88
|
+
};
|
|
28
89
|
//# sourceMappingURL=messages.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isWebObjectListenerOnRN","listener","isWebObjectListenerOnObject","isWebObjectListenerOnMapLayer","isWebObjectListenerOnHTMLElement","getHTMLElementDescriptorListenerName","eventName","cssSelector"],"sourceRoot":"../../../src","sources":["communication/messages.utils.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["isWebObjectListenerOnRN","listener","isWebObjectListenerOnObject","isWebObjectListenerOnMapLayer","isWebObjectListenerOnHTMLElement","getHTMLElementDescriptorListenerName","eventName","cssSelector","removeHTMLElementListeners","options","optionsThatAreHTMLElements","Array","isArray","map","opt","result","key","includes","listeners","extractHTMLElementListenersFromOptions","callbacks","extractHTMLElementListenersFromDescriptor","extractHTMLElementListenersFromMethodArgs","methodArgs","arg","htmlElement","htmlListeners","forEach","elementListener","callback"],"sourceRoot":"../../../src","sources":["communication/messages.utils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -160,6 +160,25 @@ export const useFlushMessagesOnMapMounted = () => {
|
|
|
160
160
|
}, [flushMessages, isMapMountMessageReady]);
|
|
161
161
|
};
|
|
162
162
|
|
|
163
|
+
/**
|
|
164
|
+
* Stable values for the native scripts and CSS styles to avoid unnecessary
|
|
165
|
+
* executions.
|
|
166
|
+
* @param nativeScripts - A list of scripts to be injected into the WebView.
|
|
167
|
+
* @param cssStyles - The CSS to be made available within the webview.
|
|
168
|
+
* @returns - The stable values for the native scripts and CSS styles.
|
|
169
|
+
*/
|
|
170
|
+
export const useStableNativeScriptsAndCssStyles = (nativeScripts, cssStyles) => {
|
|
171
|
+
const stableNativeScripts = useMemo(() => nativeScripts,
|
|
172
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
173
|
+
[Array.isArray(nativeScripts) ? nativeScripts.join('||') : nativeScripts]);
|
|
174
|
+
const stableCssStyles = useMemo(() => cssStyles,
|
|
175
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
176
|
+
[Array.isArray(cssStyles) ? cssStyles.join('||') : cssStyles]);
|
|
177
|
+
return {
|
|
178
|
+
stableNativeScripts,
|
|
179
|
+
stableCssStyles
|
|
180
|
+
};
|
|
181
|
+
};
|
|
163
182
|
/**
|
|
164
183
|
* @param cssStyles - The CSS to be made available within the webview.
|
|
165
184
|
* @returns - A script to provide the given parameters to the Web world, using
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","useCallback","useEffect","useMemo","useRef","RNLogger","isWebObjectListenerOnHTMLElement","isWebObjectListenerOnMapLayer","isWebObjectListenerOnObject","isWebObjectListenerOnRN","useMapAtoms","buildCssInjectionScript","normalizeData","useStyles","create","container","width","height","overflow","webView","flex","backgroundColor","useWebMessageHandler","setIsWebWorldReady","getWebObjectListeners","getMapSourceListeners","resolveWebObjectPendingMethodResponse","createWebViewMessageHandler","handlers","handleMessage","event","debug","name","nativeEvent","data","message","JSON","parse","messages","type","payload","forEach","item","handler","error","console","args","level","slice","ready","webObjectListenerEvent","objectId","eventName","listener","rnListener","objectListener","layerListener","elementListener","webObjectMethodResponse","requestId","result","mapSourceListenerEvent","sourceId","layerId","useEnableDisableRNLogger","isEnabled","enable","disable","useFlushMessagesOnMapMounted","isMapMountMessageReady","flushMessages","
|
|
1
|
+
{"version":3,"names":["StyleSheet","useCallback","useEffect","useMemo","useRef","RNLogger","isWebObjectListenerOnHTMLElement","isWebObjectListenerOnMapLayer","isWebObjectListenerOnObject","isWebObjectListenerOnRN","useMapAtoms","buildCssInjectionScript","normalizeData","useStyles","create","container","width","height","overflow","webView","flex","backgroundColor","useWebMessageHandler","setIsWebWorldReady","getWebObjectListeners","getMapSourceListeners","resolveWebObjectPendingMethodResponse","createWebViewMessageHandler","handlers","handleMessage","event","debug","name","nativeEvent","data","message","JSON","parse","messages","type","payload","forEach","item","handler","error","console","args","level","slice","ready","webObjectListenerEvent","objectId","eventName","listener","rnListener","objectListener","layerListener","elementListener","webObjectMethodResponse","requestId","result","mapSourceListenerEvent","sourceId","layerId","useEnableDisableRNLogger","isEnabled","enable","disable","useFlushMessagesOnMapMounted","isMapMountMessageReady","flushMessages","useStableNativeScriptsAndCssStyles","nativeScripts","cssStyles","stableNativeScripts","Array","isArray","join","stableCssStyles","useCssStylesInjectionScript","cssStylesInjectionScript","normalizedCss","undefined","useWebLoggerEnabledInjectionScript","webLoggerEnabledInjectionScript","useMessageOptionsInjectionScript","messageOptions","messageOptionsInjectionScript","flushIntervalMs","keepOnlyLastMessagePerType","useInjectJavaScriptIfScriptChanged","script","lastInjectedScriptRef","isWebWorldReady","current","injectJavaScript","useInjectJavaScriptIfAScriptChanged","scripts","lastInjectedScriptsRef","lastScripts","scriptsChanged","length","some","s","i","normalizedScripts"],"sourceRoot":"../../../../../../src","sources":["react-native/components/core/MapProvider/MapProvider.hooks.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import { View } from 'react-native';
|
|
|
4
4
|
import { WebView } from 'react-native-webview';
|
|
5
5
|
import { WEBVIEW_STATIC_HTML } from "../../../../web/generated/webview_static_html.js";
|
|
6
6
|
import useMapAtoms from "../../../hooks/atoms/useMapAtoms.js";
|
|
7
|
-
import { useCssStylesInjectionScript, useEnableDisableRNLogger, useFlushMessagesOnMapMounted, useInjectJavaScriptIfAScriptChanged, useInjectJavaScriptIfScriptChanged, useMessageOptionsInjectionScript, useStyles, useWebLoggerEnabledInjectionScript, useWebMessageHandler } from "./MapProvider.hooks.js";
|
|
7
|
+
import { useCssStylesInjectionScript, useEnableDisableRNLogger, useFlushMessagesOnMapMounted, useInjectJavaScriptIfAScriptChanged, useInjectJavaScriptIfScriptChanged, useMessageOptionsInjectionScript, useStableNativeScriptsAndCssStyles, useStyles, useWebLoggerEnabledInjectionScript, useWebMessageHandler } from "./MapProvider.hooks.js";
|
|
8
8
|
import { ScopeProvider } from 'jotai-scope';
|
|
9
9
|
import { mapAtomsList } from "../../../hooks/atoms/mapAtoms.js";
|
|
10
10
|
|
|
@@ -63,6 +63,10 @@ const MapProviderInner = ({
|
|
|
63
63
|
// Theme.
|
|
64
64
|
const styles = useStyles();
|
|
65
65
|
// Behaviors.
|
|
66
|
+
const {
|
|
67
|
+
stableNativeScripts,
|
|
68
|
+
stableCssStyles
|
|
69
|
+
} = useStableNativeScriptsAndCssStyles(nativeScripts, cssStyles);
|
|
66
70
|
const {
|
|
67
71
|
handler
|
|
68
72
|
} = useWebMessageHandler();
|
|
@@ -70,7 +74,7 @@ const MapProviderInner = ({
|
|
|
70
74
|
useFlushMessagesOnMapMounted();
|
|
71
75
|
const {
|
|
72
76
|
cssStylesInjectionScript
|
|
73
|
-
} = useCssStylesInjectionScript(
|
|
77
|
+
} = useCssStylesInjectionScript(stableCssStyles);
|
|
74
78
|
const {
|
|
75
79
|
webLoggerEnabledInjectionScript
|
|
76
80
|
} = useWebLoggerEnabledInjectionScript(webLoggerEnabled);
|
|
@@ -80,7 +84,7 @@ const MapProviderInner = ({
|
|
|
80
84
|
useInjectJavaScriptIfScriptChanged(cssStylesInjectionScript);
|
|
81
85
|
useInjectJavaScriptIfScriptChanged(webLoggerEnabledInjectionScript);
|
|
82
86
|
useInjectJavaScriptIfScriptChanged(messageOptionsInjectionScript);
|
|
83
|
-
useInjectJavaScriptIfAScriptChanged(
|
|
87
|
+
useInjectJavaScriptIfAScriptChanged(stableNativeScripts);
|
|
84
88
|
return /*#__PURE__*/_jsxs(View, {
|
|
85
89
|
style: [styles.container, style],
|
|
86
90
|
children: [/*#__PURE__*/_jsx(WebView, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","WebView","WEBVIEW_STATIC_HTML","useMapAtoms","useCssStylesInjectionScript","useEnableDisableRNLogger","useFlushMessagesOnMapMounted","useInjectJavaScriptIfAScriptChanged","useInjectJavaScriptIfScriptChanged","useMessageOptionsInjectionScript","useStyles","useWebLoggerEnabledInjectionScript","useWebMessageHandler","ScopeProvider","mapAtomsList","jsx","_jsx","jsxs","_jsxs","MapProvider","props","atoms","children","MapProviderInner","style","webViewStyle","cssStyles","nativeScripts","rnLoggerEnabled","webLoggerEnabled","webMessageOptions","flushIntervalMs","keepOnlyLastMessagePerType","onWebViewReset","setWebView","webWorldSessionKey","reset","styles","handler","cssStylesInjectionScript","webLoggerEnabledInjectionScript","messageOptionsInjectionScript","container","testID","ref","webView","scrollEnabled","javaScriptEnabled","domStorageEnabled","onMessage","source","html","injectedJavaScriptBeforeContentLoaded","join","onContentProcessDidTerminate","onRenderProcessGone"],"sourceRoot":"../../../../../../src","sources":["react-native/components/core/MapProvider/MapProvider.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,mBAAmB,QAAQ,kDAA+C;AACnF,OAAOC,WAAW,MAAM,qCAAkC;AAC1D,SACEC,2BAA2B,EAC3BC,wBAAwB,EACxBC,4BAA4B,EAC5BC,mCAAmC,EACnCC,kCAAkC,EAClCC,gCAAgC,EAChCC,SAAS,EACTC,kCAAkC,EAClCC,oBAAoB,QACf,wBAAqB;AAE5B,SAASC,aAAa,QAAQ,aAAa;AAC3C,SAASC,YAAY,QAAQ,kCAA+B;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAeA,MAAMC,WAAW,GAAIC,KAAuB,IAAK;EAC/C;EACA;EACA;EACA,oBACEJ,IAAA,CAACH,aAAa;IAACQ,KAAK,EAAEP,YAAa;IAAAQ,QAAA,eACjCN,IAAA,CAACO,gBAAgB;MAAA,GAAKH;IAAK,CAAG;EAAC,CAClB,CAAC;AAEpB,CAAC;;AAED;AACA;AACA;AACA,MAAMG,gBAAgB,GAAGA,CAAC;EACxBC,KAAK;EACLC,YAAY;EACZH,QAAQ;EACRI,SAAS;EACTC,aAAa;EACbC,eAAe,GAAG,KAAK;EACvBC,gBAAgB,GAAG,KAAK;EACxBC,iBAAiB,GAAG;IAClBC,eAAe,EAAE,GAAG;IACpBC,0BAA0B,EAAE;EAC9B,CAAC;EACDC,cAAc,GAAGA,CAAA,KAAM,CAAC;AACR,CAAC,KAAK;EACtB;EACA;EACA,MAAM;IAAEC,UAAU;IAAEC,kBAAkB;IAAEC;EAAM,CAAC,
|
|
1
|
+
{"version":3,"names":["View","WebView","WEBVIEW_STATIC_HTML","useMapAtoms","useCssStylesInjectionScript","useEnableDisableRNLogger","useFlushMessagesOnMapMounted","useInjectJavaScriptIfAScriptChanged","useInjectJavaScriptIfScriptChanged","useMessageOptionsInjectionScript","useStableNativeScriptsAndCssStyles","useStyles","useWebLoggerEnabledInjectionScript","useWebMessageHandler","ScopeProvider","mapAtomsList","jsx","_jsx","jsxs","_jsxs","MapProvider","props","atoms","children","MapProviderInner","style","webViewStyle","cssStyles","nativeScripts","rnLoggerEnabled","webLoggerEnabled","webMessageOptions","flushIntervalMs","keepOnlyLastMessagePerType","onWebViewReset","setWebView","webWorldSessionKey","reset","styles","stableNativeScripts","stableCssStyles","handler","cssStylesInjectionScript","webLoggerEnabledInjectionScript","messageOptionsInjectionScript","container","testID","ref","webView","scrollEnabled","javaScriptEnabled","domStorageEnabled","onMessage","source","html","injectedJavaScriptBeforeContentLoaded","join","onContentProcessDidTerminate","onRenderProcessGone"],"sourceRoot":"../../../../../../src","sources":["react-native/components/core/MapProvider/MapProvider.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.js
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { useCallback } from 'react';
|
|
4
4
|
import useMapAtoms from "../../hooks/atoms/useMapAtoms.js";
|
|
5
|
-
import {
|
|
5
|
+
import { useStableValue } from "./useMountUnmountUpdateCallbacks.utils.js";
|
|
6
|
+
import { extractHTMLElementListenersFromOptions, removeHTMLElementListeners } from "../../../communication/messages.utils.js";
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* @param input - The RN object props, etc.
|
|
@@ -19,24 +20,26 @@ const useMountUnmountUpdateCallbacks = input => {
|
|
|
19
20
|
setMapSourceListeners,
|
|
20
21
|
deleteMapSourceListeners
|
|
21
22
|
} = useMapAtoms();
|
|
23
|
+
// Behaviors.
|
|
24
|
+
const stableInput = useStableValue(input);
|
|
22
25
|
const mount = useCallback(() => {
|
|
23
|
-
switch (
|
|
26
|
+
switch (stableInput.type) {
|
|
24
27
|
case 'webObject':
|
|
25
28
|
{
|
|
26
29
|
dispatchMessage({
|
|
27
30
|
type: `webObjectMount`,
|
|
28
31
|
payload: {
|
|
29
|
-
options: removeHTMLElementListeners(
|
|
30
|
-
listeners:
|
|
31
|
-
objectId:
|
|
32
|
-
objectType:
|
|
32
|
+
options: removeHTMLElementListeners(stableInput.props.options, stableInput.optionsThatAreHTMLElements),
|
|
33
|
+
listeners: stableInput.props.listeners,
|
|
34
|
+
objectId: stableInput.objectId,
|
|
35
|
+
objectType: stableInput.objectType
|
|
33
36
|
}
|
|
34
37
|
});
|
|
35
38
|
setWebObjectListeners({
|
|
36
|
-
objectId:
|
|
39
|
+
objectId: stableInput.objectId,
|
|
37
40
|
listeners: {
|
|
38
|
-
...(
|
|
39
|
-
...extractHTMLElementListenersFromOptions(
|
|
41
|
+
...(stableInput.props.listeners ?? {}),
|
|
42
|
+
...extractHTMLElementListenersFromOptions(stableInput.props.options, stableInput.optionsThatAreHTMLElements)
|
|
40
43
|
}
|
|
41
44
|
});
|
|
42
45
|
break;
|
|
@@ -45,11 +48,11 @@ const useMountUnmountUpdateCallbacks = input => {
|
|
|
45
48
|
{
|
|
46
49
|
dispatchMessage({
|
|
47
50
|
type: `mapSourceMount`,
|
|
48
|
-
payload:
|
|
51
|
+
payload: stableInput.props
|
|
49
52
|
});
|
|
50
53
|
setMapSourceListeners({
|
|
51
|
-
sourceId:
|
|
52
|
-
listeners:
|
|
54
|
+
sourceId: stableInput.props.id,
|
|
55
|
+
listeners: stableInput.props.layers.map(item => item.listeners ? {
|
|
53
56
|
layerId: item.layer.id,
|
|
54
57
|
listeners: item.listeners
|
|
55
58
|
} : undefined).filter(item => item !== undefined) ?? []
|
|
@@ -57,23 +60,23 @@ const useMountUnmountUpdateCallbacks = input => {
|
|
|
57
60
|
break;
|
|
58
61
|
}
|
|
59
62
|
}
|
|
60
|
-
}, [
|
|
63
|
+
}, [stableInput, dispatchMessage, setWebObjectListeners, setMapSourceListeners]);
|
|
61
64
|
const update = useCallback(() => {
|
|
62
|
-
switch (
|
|
65
|
+
switch (stableInput.type) {
|
|
63
66
|
case 'webObject':
|
|
64
67
|
{
|
|
65
68
|
dispatchMessage({
|
|
66
69
|
type: `webObjectUpdate`,
|
|
67
70
|
payload: {
|
|
68
|
-
options:
|
|
69
|
-
listeners:
|
|
70
|
-
objectId:
|
|
71
|
-
objectType:
|
|
71
|
+
options: stableInput.props.options,
|
|
72
|
+
listeners: stableInput.props.listeners,
|
|
73
|
+
objectId: stableInput.objectId,
|
|
74
|
+
objectType: stableInput.objectType
|
|
72
75
|
}
|
|
73
76
|
});
|
|
74
77
|
setWebObjectListeners({
|
|
75
|
-
objectId:
|
|
76
|
-
listeners:
|
|
78
|
+
objectId: stableInput.objectId,
|
|
79
|
+
listeners: stableInput.props.listeners ?? {}
|
|
77
80
|
});
|
|
78
81
|
break;
|
|
79
82
|
}
|
|
@@ -81,11 +84,11 @@ const useMountUnmountUpdateCallbacks = input => {
|
|
|
81
84
|
{
|
|
82
85
|
dispatchMessage({
|
|
83
86
|
type: `mapSourceUpdate`,
|
|
84
|
-
payload:
|
|
87
|
+
payload: stableInput.props
|
|
85
88
|
});
|
|
86
89
|
setMapSourceListeners({
|
|
87
|
-
sourceId:
|
|
88
|
-
listeners:
|
|
90
|
+
sourceId: stableInput.props.id,
|
|
91
|
+
listeners: stableInput.props.layers.map(item => item.listeners ? {
|
|
89
92
|
layerId: item.layer.id,
|
|
90
93
|
listeners: item.listeners
|
|
91
94
|
} : undefined).filter(item => item !== undefined) ?? []
|
|
@@ -93,19 +96,19 @@ const useMountUnmountUpdateCallbacks = input => {
|
|
|
93
96
|
break;
|
|
94
97
|
}
|
|
95
98
|
}
|
|
96
|
-
}, [
|
|
99
|
+
}, [stableInput, dispatchMessage, setWebObjectListeners, setMapSourceListeners]);
|
|
97
100
|
const unmount = useCallback(() => {
|
|
98
|
-
switch (
|
|
101
|
+
switch (stableInput.type) {
|
|
99
102
|
case 'webObject':
|
|
100
103
|
{
|
|
101
104
|
dispatchMessage({
|
|
102
105
|
type: `webObjectUnmount`,
|
|
103
106
|
payload: {
|
|
104
|
-
objectId:
|
|
107
|
+
objectId: stableInput.objectId
|
|
105
108
|
}
|
|
106
109
|
});
|
|
107
110
|
deleteWebObjectListeners({
|
|
108
|
-
objectId:
|
|
111
|
+
objectId: stableInput.objectId
|
|
109
112
|
});
|
|
110
113
|
break;
|
|
111
114
|
}
|
|
@@ -114,16 +117,16 @@ const useMountUnmountUpdateCallbacks = input => {
|
|
|
114
117
|
dispatchMessage({
|
|
115
118
|
type: `mapSourceUnmount`,
|
|
116
119
|
payload: {
|
|
117
|
-
sourceId:
|
|
120
|
+
sourceId: stableInput.props.id
|
|
118
121
|
}
|
|
119
122
|
});
|
|
120
123
|
deleteMapSourceListeners({
|
|
121
|
-
sourceId:
|
|
124
|
+
sourceId: stableInput.props.id
|
|
122
125
|
});
|
|
123
126
|
break;
|
|
124
127
|
}
|
|
125
128
|
}
|
|
126
|
-
}, [
|
|
129
|
+
}, [stableInput, dispatchMessage, deleteWebObjectListeners, deleteMapSourceListeners]);
|
|
127
130
|
return {
|
|
128
131
|
mount,
|
|
129
132
|
update,
|
package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useMapAtoms","extractHTMLElementListenersFromOptions","removeHTMLElementListeners","useMountUnmountUpdateCallbacks","input","dispatchMessage","setWebObjectListeners","deleteWebObjectListeners","setMapSourceListeners","deleteMapSourceListeners","mount","type","payload","options","props","optionsThatAreHTMLElements","listeners","objectId","objectType","sourceId","id","layers","map","item","layerId","layer","undefined","filter","update","unmount"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAEnC,OAAOC,WAAW,MAAM,kCAA+B;AACvD,SACEC,sCAAsC,EACtCC,0BAA0B,QACrB,
|
|
1
|
+
{"version":3,"names":["useCallback","useMapAtoms","useStableValue","extractHTMLElementListenersFromOptions","removeHTMLElementListeners","useMountUnmountUpdateCallbacks","input","dispatchMessage","setWebObjectListeners","deleteWebObjectListeners","setMapSourceListeners","deleteMapSourceListeners","stableInput","mount","type","payload","options","props","optionsThatAreHTMLElements","listeners","objectId","objectType","sourceId","id","layers","map","item","layerId","layer","undefined","filter","update","unmount"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.js
CHANGED
|
@@ -1,65 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const result = {};
|
|
12
|
-
for (const key in options) {
|
|
13
|
-
if (optionsThatAreHTMLElements.includes(key) && Array.isArray(options[key]?.listeners)) {
|
|
14
|
-
result[key] = {
|
|
15
|
-
...options[key],
|
|
16
|
-
listeners: options[key].listeners.map(({
|
|
17
|
-
cssSelector,
|
|
18
|
-
eventName
|
|
19
|
-
}) => ({
|
|
20
|
-
cssSelector,
|
|
21
|
-
eventName
|
|
22
|
-
}))
|
|
23
|
-
};
|
|
24
|
-
} else {
|
|
25
|
-
result[key] = removeHTMLElementListeners(options[key], optionsThatAreHTMLElements);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return result;
|
|
29
|
-
};
|
|
30
|
-
export const extractHTMLElementListenersFromOptions = (options, optionsThatAreHTMLElements) => {
|
|
31
|
-
let callbacks = {};
|
|
32
|
-
for (const key of optionsThatAreHTMLElements) {
|
|
33
|
-
callbacks = {
|
|
34
|
-
...callbacks,
|
|
35
|
-
...extractHTMLElementListenersFromDescriptor(options?.[key])
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
return callbacks;
|
|
39
|
-
};
|
|
40
|
-
export const extractHTMLElementListenersFromMethodArgs = methodArgs => {
|
|
41
|
-
let callbacks = {};
|
|
42
|
-
for (const arg of methodArgs) {
|
|
43
|
-
// TODO we need a more robust way to identify HTMLElements. A class for
|
|
44
|
-
// HTMLElementDescriptor could be created.
|
|
45
|
-
if (!arg?.listeners) {
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
callbacks = {
|
|
49
|
-
...callbacks,
|
|
50
|
-
...extractHTMLElementListenersFromDescriptor(arg)
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
return callbacks;
|
|
54
|
-
};
|
|
55
|
-
const extractHTMLElementListenersFromDescriptor = htmlElement => {
|
|
56
|
-
const callbacks = {};
|
|
57
|
-
const htmlListeners = htmlElement?.listeners;
|
|
58
|
-
htmlListeners?.forEach(listener => {
|
|
59
|
-
callbacks[getHTMLElementDescriptorListenerName(listener)] = {
|
|
60
|
-
elementListener: listener.callback
|
|
61
|
-
};
|
|
62
|
-
});
|
|
63
|
-
return callbacks;
|
|
3
|
+
import { useRef } from 'react';
|
|
4
|
+
import equal from 'fast-deep-equal';
|
|
5
|
+
export const useStableValue = value => {
|
|
6
|
+
const ref = useRef(value);
|
|
7
|
+
if (!equal(ref.current, value)) {
|
|
8
|
+
ref.current = value;
|
|
9
|
+
}
|
|
10
|
+
return ref.current;
|
|
64
11
|
};
|
|
65
12
|
//# sourceMappingURL=useMountUnmountUpdateCallbacks.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useRef","equal","useStableValue","value","ref","current"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,OAAOC,KAAK,MAAM,iBAAiB;AAEnC,OAAO,MAAMC,cAAc,GAAOC,KAAQ,IAAQ;EAChD,MAAMC,GAAG,GAAGJ,MAAM,CAAIG,KAAK,CAAC;EAC5B,IAAI,CAACF,KAAK,CAACG,GAAG,CAACC,OAAO,EAAEF,KAAK,CAAC,EAAE;IAC9BC,GAAG,CAACC,OAAO,GAAGF,KAAK;EACrB;EACA,OAAOC,GAAG,CAACC,OAAO;AACpB,CAAC","ignoreList":[]}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { useCallback, useImperativeHandle, useMemo, useRef } from 'react';
|
|
4
4
|
import useMapAtoms from "../../hooks/atoms/useMapAtoms.js";
|
|
5
|
-
import { extractHTMLElementListenersFromMethodArgs } from "./useMountUnmountUpdateCallbacks.utils.js";
|
|
6
5
|
import { genRequestId } from "./useWebObjectMethodsProxy.utils.js";
|
|
6
|
+
import { extractHTMLElementListenersFromMethodArgs } from "../../../communication/messages.utils.js";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Create a proxy to call the methods of the corresponding web world object,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useImperativeHandle","useMemo","useRef","useMapAtoms","
|
|
1
|
+
{"version":3,"names":["useCallback","useImperativeHandle","useMemo","useRef","useMapAtoms","genRequestId","extractHTMLElementListenersFromMethodArgs","useWebObjectMethodsProxy","ref","objectId","methodsThatContainHTMLElements","methodsThatContainHTMLElementsRef","dispatchMessage","setWebObjectPendingMethodResponse","updateWebObjectListeners","createProxy","Proxy","get","_","propKey","args","Promise","resolve","requestId","current","includes","newListeners","type","payload","method","methodsProxy"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/hooks/useWebObjectMethodsProxy.ts"],"mappings":";;AAAA,SAEEA,WAAW,EACXC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,QACD,OAAO;AAKd,OAAOC,WAAW,MAAM,kCAA+B;AACvD,SAASC,YAAY,QAAQ,qCAAkC;AAC/D,SAASC,yCAAyC,QAAQ,0CAAuC;;AAEjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAGA,CACtCC,GAAsB,EACtBC,QAAqB,EACrBC,8BAAiD,KAC9C;EACH;EACA,MAAMC,iCAAiC,GAAGR,MAAM,CAC9CO,8BACF,CAAC;EACD;EACA;EACA,MAAM;IACJE,eAAe;IACfC,iCAAiC;IACjCC;EACF,CAAC,GAAGV,WAAW,CAAC,CAAC;EAEjB,MAAMW,WAAW,GAAGf,WAAW,CAAC,MAAW;IACzC,OAAO,IAAIgB,KAAK,CACd,CAAC,CAAC,EACF;MACEC,GAAGA,CAACC,CAAC,EAAEC,OAAO,EAAE;QACd,IAAIA,OAAO,KAAK,OAAO,EAAE;UACvB,OAAO,MAAMV,QAAQ;QACvB;QACA,OAAO,CAAC,GAAGW,IAAW,KAAK;UACzB,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;YAC9B,MAAMC,SAAS,GAAGlB,YAAY,CAAC,CAAC;YAChC;YACA,IACEM,iCAAiC,CAACa,OAAO,CAACC,QAAQ,CAChDN,OACF,CAAC,EACD;cACAL,wBAAwB,CAAC;gBACvBL,QAAQ;gBACRiB,YAAY,EAAEpB,yCAAyC,CAACc,IAAI;cAC9D,CAAC,CAAC;YACJ;YACA;YACAP,iCAAiC,CAAC;cAAEU,SAAS;cAAED;YAAQ,CAAC,CAAC;YACzD;YACAV,eAAe,CAAC;cACde,IAAI,EAAE,qBAAqB;cAC3BC,OAAO,EAAE;gBACPL,SAAS;gBACTd,QAAQ;gBACRoB,MAAM,EAAEV,OAAiB;gBACzBC;cACF;YACF,CAAC,CAAC;UACJ,CAAC,CAAC;QACJ,CAAC;MACH;IACF,CACF,CAAC;EACH,CAAC,EAAE,CACDX,QAAQ,EACRI,iCAAiC,EACjCD,eAAe,EACfE,wBAAwB,CACzB,CAAC;EAEF,MAAMgB,YAAY,GAAG5B,OAAO,CAAC,MAAMa,WAAW,CAAC,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAChE;EACAd,mBAAmB,CAACO,GAAG,EAAE,MAAMsB,YAAY,CAAC;AAC9C,CAAC;AAED,eAAevB,wBAAwB","ignoreList":[]}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import type { WebObjectListenerOnHTMLElement, WebObjectListenerOnMapLayer, WebObjectListenerOnObject, WebObjectListenerOnRN } from '../react-native/components-factories/web-objects/createWebObjectAsComponent.types';
|
|
1
|
+
import type { WebObjectListenerOnHTMLElement, WebObjectListenerOnMapLayer, WebObjectListenerOnObject, WebObjectListenerOnRN, WebObjectListeners } from '../react-native/components-factories/web-objects/createWebObjectAsComponent.types';
|
|
2
2
|
import type { HTMLElementDescriptorListener } from './messages.types';
|
|
3
3
|
export declare const isWebObjectListenerOnRN: (listener?: WebObjectListenerOnRN<any> | WebObjectListenerOnObject<any> | WebObjectListenerOnHTMLElement<any> | WebObjectListenerOnMapLayer<any>) => boolean;
|
|
4
4
|
export declare const isWebObjectListenerOnObject: (listener?: WebObjectListenerOnRN<any> | WebObjectListenerOnObject<any> | WebObjectListenerOnHTMLElement<any> | WebObjectListenerOnMapLayer<any>) => boolean;
|
|
5
5
|
export declare const isWebObjectListenerOnMapLayer: (listener?: WebObjectListenerOnRN<any> | WebObjectListenerOnObject<any> | WebObjectListenerOnHTMLElement<any> | WebObjectListenerOnMapLayer<any>) => boolean;
|
|
6
6
|
export declare const isWebObjectListenerOnHTMLElement: (listener?: WebObjectListenerOnRN<any> | WebObjectListenerOnObject<any> | WebObjectListenerOnHTMLElement<any> | WebObjectListenerOnMapLayer<any>) => boolean;
|
|
7
7
|
export declare const getHTMLElementDescriptorListenerName: (listener: HTMLElementDescriptorListener) => string;
|
|
8
|
+
export declare const removeHTMLElementListeners: (options: any, optionsThatAreHTMLElements: readonly string[]) => any;
|
|
9
|
+
export declare const extractHTMLElementListenersFromOptions: (options: any, optionsThatAreHTMLElements: readonly string[]) => WebObjectListeners;
|
|
10
|
+
export declare const extractHTMLElementListenersFromMethodArgs: (methodArgs: any[]) => WebObjectListeners;
|
|
8
11
|
//# sourceMappingURL=messages.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.utils.d.ts","sourceRoot":"","sources":["../../../../src/communication/messages.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"messages.utils.d.ts","sourceRoot":"","sources":["../../../../src/communication/messages.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,mFAAmF,CAAA;AAC1F,OAAO,KAAK,EAEV,6BAA6B,EAC9B,MAAM,kBAAkB,CAAA;AAEzB,eAAO,MAAM,uBAAuB,GAClC,WACI,qBAAqB,CAAC,GAAG,CAAC,GAC1B,yBAAyB,CAAC,GAAG,CAAC,GAC9B,8BAA8B,CAAC,GAAG,CAAC,GACnC,2BAA2B,CAAC,GAAG,CAAC,KACnC,OAKF,CAAA;AAED,eAAO,MAAM,2BAA2B,GACtC,WACI,qBAAqB,CAAC,GAAG,CAAC,GAC1B,yBAAyB,CAAC,GAAG,CAAC,GAC9B,8BAA8B,CAAC,GAAG,CAAC,GACnC,2BAA2B,CAAC,GAAG,CAAC,KACnC,OAKF,CAAA;AAED,eAAO,MAAM,6BAA6B,GACxC,WACI,qBAAqB,CAAC,GAAG,CAAC,GAC1B,yBAAyB,CAAC,GAAG,CAAC,GAC9B,8BAA8B,CAAC,GAAG,CAAC,GACnC,2BAA2B,CAAC,GAAG,CAAC,KACnC,OAKF,CAAA;AAED,eAAO,MAAM,gCAAgC,GAC3C,WACI,qBAAqB,CAAC,GAAG,CAAC,GAC1B,yBAAyB,CAAC,GAAG,CAAC,GAC9B,8BAA8B,CAAC,GAAG,CAAC,GACnC,2BAA2B,CAAC,GAAG,CAAC,KACnC,OAKF,CAAA;AAED,eAAO,MAAM,oCAAoC,GAC/C,UAAU,6BAA6B,KACtC,MAAwD,CAAA;AAE3D,eAAO,MAAM,0BAA0B,GACrC,SAAS,GAAG,EACZ,4BAA4B,SAAS,MAAM,EAAE,KAC5C,GAiCF,CAAA;AAED,eAAO,MAAM,sCAAsC,GACjD,SAAS,GAAG,EACZ,4BAA4B,SAAS,MAAM,EAAE,KAC5C,kBAWF,CAAA;AAED,eAAO,MAAM,yCAAyC,GACpD,YAAY,GAAG,EAAE,KAChB,kBAgBF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapProvider.d.ts","sourceRoot":"","sources":["../../../../../../../src/react-native/components/core/MapProvider/MapProvider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MapProvider.d.ts","sourceRoot":"","sources":["../../../../../../../src/react-native/components/core/MapProvider/MapProvider.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAI3D;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,WAAW,GAAI,OAAO,gBAAgB,4CAS3C,CAAA;AA8ED,eAAe,WAAW,CAAA"}
|
|
@@ -24,6 +24,17 @@ export declare const useEnableDisableRNLogger: (isEnabled: boolean) => void;
|
|
|
24
24
|
* the web world.
|
|
25
25
|
*/
|
|
26
26
|
export declare const useFlushMessagesOnMapMounted: () => void;
|
|
27
|
+
/**
|
|
28
|
+
* Stable values for the native scripts and CSS styles to avoid unnecessary
|
|
29
|
+
* executions.
|
|
30
|
+
* @param nativeScripts - A list of scripts to be injected into the WebView.
|
|
31
|
+
* @param cssStyles - The CSS to be made available within the webview.
|
|
32
|
+
* @returns - The stable values for the native scripts and CSS styles.
|
|
33
|
+
*/
|
|
34
|
+
export declare const useStableNativeScriptsAndCssStyles: (nativeScripts: string | string[] | undefined, cssStyles: string | string[] | undefined) => {
|
|
35
|
+
stableNativeScripts: string | string[] | undefined;
|
|
36
|
+
stableCssStyles: string | string[] | undefined;
|
|
37
|
+
};
|
|
27
38
|
/**
|
|
28
39
|
* @param cssStyles - The CSS to be made available within the webview.
|
|
29
40
|
* @returns - A script to provide the given parameters to the Web world, using
|
package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapProvider.hooks.d.ts","sourceRoot":"","sources":["../../../../../../../src/react-native/components/core/MapProvider/MapProvider.hooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAkB/D,eAAO,MAAM,SAAS;;;;;;;;;;EASrB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;qBAaU,mBAAmB;CA8F7D,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,WAAW,OAAO,SAQ1D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,YAUxC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GAAI,YAAY,MAAM,GAAG,MAAM,EAAE;;CAMxE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAAI,YAAY,OAAO;;CAYrE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAC3C,gBAAgB,iBAAiB;;CAclC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kCAAkC,GAAI,SAAS,MAAM,SAmBjE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC,GAC9C,UAAU,MAAM,GAAG,MAAM,EAAE,SA8B5B,CAAA"}
|
|
1
|
+
{"version":3,"file":"MapProvider.hooks.d.ts","sourceRoot":"","sources":["../../../../../../../src/react-native/components/core/MapProvider/MapProvider.hooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAkB/D,eAAO,MAAM,SAAS;;;;;;;;;;EASrB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;qBAaU,mBAAmB;CA8F7D,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,WAAW,OAAO,SAQ1D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,YAUxC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,GAC7C,eAAe,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EAC5C,WAAW,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;;;CAiBzC,CAAA;AACD;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GAAI,YAAY,MAAM,GAAG,MAAM,EAAE;;CAMxE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAAI,YAAY,OAAO;;CAYrE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAC3C,gBAAgB,iBAAiB;;CAclC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kCAAkC,GAAI,SAAS,MAAM,SAmBjE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC,GAC9C,UAAU,MAAM,GAAG,MAAM,EAAE,SA8B5B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMountUnmountUpdateCallbacks.d.ts","sourceRoot":"","sources":["../../../../../../src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;
|
|
1
|
+
{"version":3,"file":"useMountUnmountUpdateCallbacks.d.ts","sourceRoot":"","sources":["../../../../../../src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAQrF;;;;GAIG;AACH,QAAA,MAAM,8BAA8B,GAAI,OAAO,uBAAuB;;;;CA+IrE,CAAA;AAED,eAAe,8BAA8B,CAAA"}
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const removeHTMLElementListeners: (options: any, optionsThatAreHTMLElements: readonly string[]) => any;
|
|
3
|
-
export declare const extractHTMLElementListenersFromOptions: (options: any, optionsThatAreHTMLElements: readonly string[]) => WebObjectListeners;
|
|
4
|
-
export declare const extractHTMLElementListenersFromMethodArgs: (methodArgs: any[]) => WebObjectListeners;
|
|
1
|
+
export declare const useStableValue: <T>(value: T) => T;
|
|
5
2
|
//# sourceMappingURL=useMountUnmountUpdateCallbacks.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMountUnmountUpdateCallbacks.utils.d.ts","sourceRoot":"","sources":["../../../../../../src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMountUnmountUpdateCallbacks.utils.d.ts","sourceRoot":"","sources":["../../../../../../src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,CAM5C,CAAA"}
|
package/package.json
CHANGED