yeet
This commit is contained in:
32
node_modules/react-native/Libraries/Renderer/shims/ReactFabric.js
generated
vendored
Normal file
32
node_modules/react-native/Libraries/Renderer/shims/ReactFabric.js
generated
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
* @flow
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import {BatchedBridge} from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface';
|
||||
|
||||
// TODO @sema: Adjust types
|
||||
import type {ReactNativeType} from './ReactNativeTypes';
|
||||
|
||||
let ReactFabric;
|
||||
|
||||
if (__DEV__) {
|
||||
ReactFabric = require('../implementations/ReactFabric-dev');
|
||||
} else {
|
||||
ReactFabric = require('../implementations/ReactFabric-prod');
|
||||
}
|
||||
|
||||
if (global.RN$Bridgeless) {
|
||||
global.RN$stopSurface = ReactFabric.stopSurface;
|
||||
} else {
|
||||
BatchedBridge.registerCallableModule('ReactFabric', ReactFabric);
|
||||
}
|
||||
|
||||
module.exports = (ReactFabric: ReactNativeType);
|
17
node_modules/react-native/Libraries/Renderer/shims/ReactFeatureFlags.js
generated
vendored
Normal file
17
node_modules/react-native/Libraries/Renderer/shims/ReactFeatureFlags.js
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
* @flow strict-local
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
const ReactFeatureFlags = {
|
||||
debugRenderPhaseSideEffects: false,
|
||||
};
|
||||
|
||||
module.exports = ReactFeatureFlags;
|
23
node_modules/react-native/Libraries/Renderer/shims/ReactNative.js
generated
vendored
Normal file
23
node_modules/react-native/Libraries/Renderer/shims/ReactNative.js
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
* @flow
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import type {ReactNativeType} from './ReactNativeTypes';
|
||||
|
||||
let ReactNative;
|
||||
|
||||
if (__DEV__) {
|
||||
ReactNative = require('../implementations/ReactNativeRenderer-dev');
|
||||
} else {
|
||||
ReactNative = require('../implementations/ReactNativeRenderer-prod');
|
||||
}
|
||||
|
||||
module.exports = (ReactNative: ReactNativeType);
|
213
node_modules/react-native/Libraries/Renderer/shims/ReactNativeTypes.js
generated
vendored
Normal file
213
node_modules/react-native/Libraries/Renderer/shims/ReactNativeTypes.js
generated
vendored
Normal file
@ -0,0 +1,213 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
* @flow
|
||||
*/
|
||||
|
||||
import type {ElementRef, AbstractComponent} from 'react';
|
||||
|
||||
export type MeasureOnSuccessCallback = (
|
||||
x: number,
|
||||
y: number,
|
||||
width: number,
|
||||
height: number,
|
||||
pageX: number,
|
||||
pageY: number,
|
||||
) => void;
|
||||
|
||||
export type MeasureInWindowOnSuccessCallback = (
|
||||
x: number,
|
||||
y: number,
|
||||
width: number,
|
||||
height: number,
|
||||
) => void;
|
||||
|
||||
export type MeasureLayoutOnSuccessCallback = (
|
||||
left: number,
|
||||
top: number,
|
||||
width: number,
|
||||
height: number,
|
||||
) => void;
|
||||
|
||||
type AttributeType =
|
||||
| true
|
||||
| $ReadOnly<{|
|
||||
diff?: <T>(arg1: T, arg2: T) => boolean,
|
||||
process?: (arg1: any) => any,
|
||||
|}>;
|
||||
|
||||
export type AttributeConfiguration<
|
||||
TProps = string,
|
||||
TStyleProps = string,
|
||||
> = $ReadOnly<{
|
||||
[propName: TProps]: AttributeType,
|
||||
style: $ReadOnly<{[propName: TStyleProps]: AttributeType, ...}>,
|
||||
...
|
||||
}>;
|
||||
|
||||
export type ReactNativeBaseComponentViewConfig<
|
||||
TProps = string,
|
||||
TStyleProps = string,
|
||||
> = $ReadOnly<{|
|
||||
baseModuleName?: string,
|
||||
bubblingEventTypes?: $ReadOnly<{
|
||||
[eventName: string]: $ReadOnly<{|
|
||||
phasedRegistrationNames: $ReadOnly<{|
|
||||
captured: string,
|
||||
bubbled: string,
|
||||
|}>,
|
||||
|}>,
|
||||
...,
|
||||
}>,
|
||||
Commands?: $ReadOnly<{[commandName: string]: number, ...}>,
|
||||
directEventTypes?: $ReadOnly<{
|
||||
[eventName: string]: $ReadOnly<{|
|
||||
registrationName: string,
|
||||
|}>,
|
||||
...,
|
||||
}>,
|
||||
NativeProps?: $ReadOnly<{[propName: string]: string, ...}>,
|
||||
uiViewClassName: string,
|
||||
validAttributes: AttributeConfiguration<TProps, TStyleProps>,
|
||||
|}>;
|
||||
|
||||
export type ViewConfigGetter = () => ReactNativeBaseComponentViewConfig<>;
|
||||
|
||||
export type NativeMethods = {
|
||||
blur(): void,
|
||||
focus(): void,
|
||||
measure(callback: MeasureOnSuccessCallback): void,
|
||||
measureInWindow(callback: MeasureInWindowOnSuccessCallback): void,
|
||||
measureLayout(
|
||||
relativeToNativeNode: number | ElementRef<HostComponent<mixed>>,
|
||||
onSuccess: MeasureLayoutOnSuccessCallback,
|
||||
onFail?: () => void,
|
||||
): void,
|
||||
setNativeProps(nativeProps: Object): void,
|
||||
...
|
||||
};
|
||||
|
||||
export type HostComponent<T> = AbstractComponent<T, $ReadOnly<NativeMethods>>;
|
||||
|
||||
type SecretInternalsType = {
|
||||
computeComponentStackForErrorReporting(tag: number): string,
|
||||
// TODO (bvaughn) Decide which additional types to expose here?
|
||||
// And how much information to fill in for the above types.
|
||||
...
|
||||
};
|
||||
|
||||
type InspectorDataProps = $ReadOnly<{
|
||||
[propName: string]: string,
|
||||
...,
|
||||
}>;
|
||||
|
||||
type InspectorDataSource = $ReadOnly<{|
|
||||
fileName?: string,
|
||||
lineNumber?: number,
|
||||
|}>;
|
||||
|
||||
type InspectorDataGetter = (
|
||||
(componentOrHandle: any) => ?number,
|
||||
) => $ReadOnly<{|
|
||||
measure: Function,
|
||||
props: InspectorDataProps,
|
||||
source: InspectorDataSource,
|
||||
|}>;
|
||||
|
||||
export type InspectorData = $ReadOnly<{|
|
||||
hierarchy: Array<{|
|
||||
name: ?string,
|
||||
getInspectorData: InspectorDataGetter,
|
||||
|}>,
|
||||
selectedIndex: ?number,
|
||||
props: InspectorDataProps,
|
||||
source: ?InspectorDataSource,
|
||||
|}>;
|
||||
|
||||
export type TouchedViewDataAtPoint = $ReadOnly<{|
|
||||
pointerY: number,
|
||||
touchedViewTag?: number,
|
||||
frame: $ReadOnly<{|
|
||||
top: number,
|
||||
left: number,
|
||||
width: number,
|
||||
height: number,
|
||||
|}>,
|
||||
...InspectorData,
|
||||
|}>;
|
||||
|
||||
/**
|
||||
* Flat ReactNative renderer bundles are too big for Flow to parse efficiently.
|
||||
* Provide minimal Flow typing for the high-level RN API and call it a day.
|
||||
*/
|
||||
export type ReactNativeType = {
|
||||
findHostInstance_DEPRECATED(
|
||||
componentOrHandle: any,
|
||||
): ?ElementRef<HostComponent<mixed>>,
|
||||
findNodeHandle(componentOrHandle: any): ?number,
|
||||
dispatchCommand(handle: any, command: string, args: Array<any>): void,
|
||||
render(
|
||||
element: React$Element<any>,
|
||||
containerTag: any,
|
||||
callback: ?Function,
|
||||
): any,
|
||||
unmountComponentAtNode(containerTag: number): any,
|
||||
unmountComponentAtNodeAndRemoveContainer(containerTag: number): any,
|
||||
// TODO (bvaughn) Add types
|
||||
unstable_batchedUpdates: any,
|
||||
__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: SecretInternalsType,
|
||||
...
|
||||
};
|
||||
|
||||
export type ReactFabricType = {
|
||||
findHostInstance_DEPRECATED(
|
||||
componentOrHandle: any,
|
||||
): ?ElementRef<HostComponent<mixed>>,
|
||||
findNodeHandle(componentOrHandle: any): ?number,
|
||||
dispatchCommand(handle: any, command: string, args: Array<any>): void,
|
||||
render(
|
||||
element: React$Element<any>,
|
||||
containerTag: any,
|
||||
callback: ?Function,
|
||||
): any,
|
||||
unmountComponentAtNode(containerTag: number): any,
|
||||
...
|
||||
};
|
||||
|
||||
export type ReactNativeEventTarget = {
|
||||
node: Object,
|
||||
canonical: {
|
||||
_nativeTag: number,
|
||||
viewConfig: ReactNativeBaseComponentViewConfig<>,
|
||||
currentProps: Object,
|
||||
_internalInstanceHandle: Object,
|
||||
...
|
||||
},
|
||||
...
|
||||
};
|
||||
|
||||
export type ReactFaricEventTouch = {
|
||||
identifier: number,
|
||||
locationX: number,
|
||||
locationY: number,
|
||||
pageX: number,
|
||||
pageY: number,
|
||||
screenX: number,
|
||||
screenY: number,
|
||||
target: number,
|
||||
timestamp: number,
|
||||
force: number,
|
||||
...
|
||||
};
|
||||
|
||||
export type ReactFaricEvent = {
|
||||
touches: Array<ReactFaricEventTouch>,
|
||||
changedTouches: Array<ReactFaricEventTouch>,
|
||||
targetTouches: Array<ReactFaricEventTouch>,
|
||||
target: number,
|
||||
...
|
||||
};
|
133
node_modules/react-native/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js
generated
vendored
Normal file
133
node_modules/react-native/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js
generated
vendored
Normal file
@ -0,0 +1,133 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
* @flow strict-local
|
||||
*/
|
||||
|
||||
/* eslint-disable react-internal/invariant-args */
|
||||
|
||||
'use strict';
|
||||
|
||||
import type {
|
||||
ReactNativeBaseComponentViewConfig,
|
||||
ViewConfigGetter,
|
||||
} from './ReactNativeTypes';
|
||||
|
||||
const invariant = require('invariant');
|
||||
|
||||
// Event configs
|
||||
const customBubblingEventTypes: {
|
||||
[eventName: string]: $ReadOnly<{|
|
||||
phasedRegistrationNames: $ReadOnly<{|
|
||||
captured: string,
|
||||
bubbled: string,
|
||||
|}>,
|
||||
|}>,
|
||||
...,
|
||||
} = {};
|
||||
const customDirectEventTypes: {
|
||||
[eventName: string]: $ReadOnly<{|
|
||||
registrationName: string,
|
||||
|}>,
|
||||
...,
|
||||
} = {};
|
||||
|
||||
exports.customBubblingEventTypes = customBubblingEventTypes;
|
||||
exports.customDirectEventTypes = customDirectEventTypes;
|
||||
|
||||
const viewConfigCallbacks = new Map();
|
||||
const viewConfigs = new Map();
|
||||
|
||||
function processEventTypes(
|
||||
viewConfig: ReactNativeBaseComponentViewConfig<>,
|
||||
): void {
|
||||
const {bubblingEventTypes, directEventTypes} = viewConfig;
|
||||
|
||||
if (__DEV__) {
|
||||
if (bubblingEventTypes != null && directEventTypes != null) {
|
||||
for (const topLevelType in directEventTypes) {
|
||||
invariant(
|
||||
bubblingEventTypes[topLevelType] == null,
|
||||
'Event cannot be both direct and bubbling: %s',
|
||||
topLevelType,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (bubblingEventTypes != null) {
|
||||
for (const topLevelType in bubblingEventTypes) {
|
||||
if (customBubblingEventTypes[topLevelType] == null) {
|
||||
customBubblingEventTypes[topLevelType] =
|
||||
bubblingEventTypes[topLevelType];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (directEventTypes != null) {
|
||||
for (const topLevelType in directEventTypes) {
|
||||
if (customDirectEventTypes[topLevelType] == null) {
|
||||
customDirectEventTypes[topLevelType] = directEventTypes[topLevelType];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a native view/component by name.
|
||||
* A callback is provided to load the view config from UIManager.
|
||||
* The callback is deferred until the view is actually rendered.
|
||||
*/
|
||||
exports.register = function(name: string, callback: ViewConfigGetter): string {
|
||||
invariant(
|
||||
!viewConfigCallbacks.has(name),
|
||||
'Tried to register two views with the same name %s',
|
||||
name,
|
||||
);
|
||||
invariant(
|
||||
typeof callback === 'function',
|
||||
'View config getter callback for component `%s` must be a function (received `%s`)',
|
||||
name,
|
||||
callback === null ? 'null' : typeof callback,
|
||||
);
|
||||
viewConfigCallbacks.set(name, callback);
|
||||
return name;
|
||||
};
|
||||
|
||||
/**
|
||||
* Retrieves a config for the specified view.
|
||||
* If this is the first time the view has been used,
|
||||
* This configuration will be lazy-loaded from UIManager.
|
||||
*/
|
||||
exports.get = function(name: string): ReactNativeBaseComponentViewConfig<> {
|
||||
let viewConfig;
|
||||
if (!viewConfigs.has(name)) {
|
||||
const callback = viewConfigCallbacks.get(name);
|
||||
if (typeof callback !== 'function') {
|
||||
invariant(
|
||||
false,
|
||||
'View config getter callback for component `%s` must be a function (received `%s`).%s',
|
||||
name,
|
||||
callback === null ? 'null' : typeof callback,
|
||||
typeof name[0] === 'string' && /[a-z]/.test(name[0])
|
||||
? ' Make sure to start component names with a capital letter.'
|
||||
: '',
|
||||
);
|
||||
}
|
||||
viewConfig = callback();
|
||||
processEventTypes(viewConfig);
|
||||
viewConfigs.set(name, viewConfig);
|
||||
|
||||
// Clear the callback after the config is set so that
|
||||
// we don't mask any errors during registration.
|
||||
viewConfigCallbacks.set(name, null);
|
||||
} else {
|
||||
viewConfig = viewConfigs.get(name);
|
||||
}
|
||||
invariant(viewConfig, 'View config not found for name %s', name);
|
||||
return viewConfig;
|
||||
};
|
34
node_modules/react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js
generated
vendored
Normal file
34
node_modules/react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js
generated
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
* @flow strict-local
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import {ReactNativeViewConfigRegistry} from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface';
|
||||
|
||||
import type {ViewConfigGetter} from './ReactNativeTypes';
|
||||
|
||||
const {register} = ReactNativeViewConfigRegistry;
|
||||
|
||||
/**
|
||||
* Creates a renderable ReactNative host component.
|
||||
* Use this method for view configs that are loaded from UIManager.
|
||||
* Use createReactNativeComponentClass() for view configs defined within JavaScript.
|
||||
*
|
||||
* @param {string} config iOS View configuration.
|
||||
* @private
|
||||
*/
|
||||
const createReactNativeComponentClass = function(
|
||||
name: string,
|
||||
callback: ViewConfigGetter,
|
||||
): string {
|
||||
return register(name, callback);
|
||||
};
|
||||
|
||||
module.exports = createReactNativeComponentClass;
|
Reference in New Issue
Block a user