Skip to content

Commit

Permalink
Move MutationObserver to react-native/src/private
Browse files Browse the repository at this point in the history
Summary:
Changelog: [internal]

These files are safe to move because they haven't been enabled in OSS and people shouldn't be importing them directly.

Differential Revision: D60377869
  • Loading branch information
rubennorte authored and facebook-github-bot committed Jul 29, 2024
1 parent 113c9a6 commit 3479d6c
Show file tree
Hide file tree
Showing 11 changed files with 22 additions and 114 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6393,83 +6393,6 @@ declare export default typeof RCTModalHostViewNativeComponent;
"
`;

exports[`public API should not change unintentionally Libraries/MutationObserver/MutationObserver.js 1`] = `
"export type MutationObserverCallback = (
mutationRecords: $ReadOnlyArray<MutationRecord>,
observer: MutationObserver
) => mixed;
type MutationObserverInit = $ReadOnly<{
subtree?: boolean,
childList: true,
attributes?: boolean,
attributeFilter?: $ReadOnlyArray<string>,
attributeOldValue?: boolean,
characterData?: boolean,
characterDataOldValue?: boolean,
}>;
declare export default class MutationObserver {
_callback: MutationObserverCallback;
_observationTargets: Set<ReactNativeElement>;
_mutationObserverId: ?MutationObserverId;
constructor(callback: MutationObserverCallback): void;
observe(target: ReactNativeElement, options?: MutationObserverInit): void;
_unobserve(target: ReactNativeElement): void;
disconnect(): void;
_getOrCreateMutationObserverId(): MutationObserverId;
__getObserverID(): ?MutationObserverId;
}
"
`;

exports[`public API should not change unintentionally Libraries/MutationObserver/MutationObserverManager.js 1`] = `
"export type MutationObserverId = number;
declare export function registerObserver(
observer: MutationObserver,
callback: MutationObserverCallback
): MutationObserverId;
declare export function unregisterObserver(
mutationObserverId: MutationObserverId
): void;
declare export function observe({
mutationObserverId: MutationObserverId,
target: ReactNativeElement,
subtree: boolean,
}): void;
declare export function unobserve(
mutationObserverId: number,
target: ReactNativeElement
): void;
"
`;

exports[`public API should not change unintentionally Libraries/MutationObserver/MutationRecord.js 1`] = `
"export type MutationType = \\"attributes\\" | \\"characterData\\" | \\"childList\\";
declare export default class MutationRecord {
_target: ReactNativeElement;
_addedNodes: NodeList<ReadOnlyNode>;
_removedNodes: NodeList<ReadOnlyNode>;
constructor(nativeRecord: NativeMutationRecord): void;
get addedNodes(): NodeList<ReadOnlyNode>;
get attributeName(): string | null;
get nextSibling(): ReadOnlyNode | null;
get oldValue(): mixed | null;
get previousSibling(): ReadOnlyNode | null;
get removedNodes(): NodeList<ReadOnlyNode>;
get target(): ReactNativeElement;
get type(): MutationType;
}
declare export function createMutationRecord(
entry: NativeMutationRecord
): MutationRecord;
"
`;

exports[`public API should not change unintentionally Libraries/MutationObserver/NativeMutationObserver.js 1`] = `
"export * from \\"../../src/private/specs/modules/NativeMutationObserver\\";
declare export default typeof NativeMutationObserver;
"
`;

exports[`public API should not change unintentionally Libraries/NativeComponent/BaseViewConfig.js.flow 1`] = `
"declare const PlatformBaseViewConfig: PartialViewConfigWithoutName;
declare export default typeof PlatformBaseViewConfig;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ const FILES_WITH_KNOWN_ERRORS = new Set([
'Libraries/Core/setUpErrorHandling.js',
'Libraries/Core/setUpGlobals.js',
'src/private/setup/setUpIntersectionObserver.js',
'Libraries/Core/setUpMutationObserver.js',
'src/private/setup/setUpMutationObserver.js',
'Libraries/Core/setUpNavigator.js',
'Libraries/Core/setUpPerformance.js',
'Libraries/Core/setUpPerformanceObserver.js',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
* @format
*/

import {polyfillGlobal} from '../Utilities/PolyfillFunctions';
import {polyfillGlobal} from '../../../Libraries/Utilities/PolyfillFunctions';

polyfillGlobal(
'MutationObserver',
() => require('../MutationObserver/MutationObserver').default,
() => require('../webapis/mutationobserver/MutationObserver').default,
);
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import type {MutationObserverId} from './MutationObserverManager';
import type MutationRecord from './MutationRecord';

import ReactNativeElement from '../../src/private/webapis/dom/nodes/ReactNativeElement';
import ReactNativeElement from '../dom/nodes/ReactNativeElement';
import * as MutationObserverManager from './MutationObserverManager';

export type MutationObserverCallback = (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,20 @@
* the notifications together.
*/

import type ReactNativeElement from '../../src/private/webapis/dom/nodes/ReactNativeElement';
import type ReactNativeElement from '../dom/nodes/ReactNativeElement';
import type MutationObserver, {
MutationObserverCallback,
} from './MutationObserver';
import type MutationRecord from './MutationRecord';

import * as Systrace from '../../../../Libraries/Performance/Systrace';
import warnOnce from '../../../../Libraries/Utilities/warnOnce';
import {
getPublicInstanceFromInternalInstanceHandle,
getShadowNode,
} from '../../src/private/webapis/dom/nodes/ReadOnlyNode';
import * as Systrace from '../Performance/Systrace';
import warnOnce from '../Utilities/warnOnce';
} from '../dom/nodes/ReadOnlyNode';
import {createMutationRecord} from './MutationRecord';
import NativeMutationObserver from './NativeMutationObserver';
import NativeMutationObserver from './specs/NativeMutationObserver';

export type MutationObserverId = number;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,11 @@

// flowlint unsafe-getters-setters:off

import type ReactNativeElement from '../../src/private/webapis/dom/nodes/ReactNativeElement';
import type ReadOnlyNode from '../../src/private/webapis/dom/nodes/ReadOnlyNode';
import type {NativeMutationRecord} from './NativeMutationObserver';
import type ReactNativeElement from '../dom/nodes/ReactNativeElement';
import type ReadOnlyNode from '../dom/nodes/ReadOnlyNode';
import type {NativeMutationRecord} from './specs/NativeMutationObserver';

import NodeList, {
createNodeList,
} from '../../src/private/webapis/dom/oldstylecollections/NodeList';
import NodeList, {createNodeList} from '../dom/oldstylecollections/NodeList';

export type MutationType = 'attributes' | 'characterData' | 'childList';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
* @format
*/

import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
import type {TurboModule} from '../../../../../Libraries/TurboModule/RCTExport';

import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';
import * as TurboModuleRegistry from '../../../../../Libraries/TurboModule/TurboModuleRegistry';

export type MutationObserverId = number;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,27 +15,27 @@
* JavaScript as an integration test using only public APIs.
*/

import type {NodeSet} from '../../ReactNative/FabricUIManager';
import type {RootTag} from '../../ReactNative/RootTag';
import type {NodeSet} from '../../../../../../Libraries/ReactNative/FabricUIManager';
import type {RootTag} from '../../../../../../Libraries/ReactNative/RootTag';
import type {
InternalInstanceHandle,
Node,
} from '../../Renderer/shims/ReactNativeTypes';
} from '../../../../../../Libraries/Renderer/shims/ReactNativeTypes';
import type {
MutationObserverId,
NativeMutationObserverObserveOptions,
NativeMutationRecord,
Spec,
} from '../NativeMutationObserver';

import ReadOnlyNode from '../../../src/private/webapis/dom/nodes/ReadOnlyNode';
import {
type NodeMock,
type UIManagerCommitHook,
fromNode,
getFabricUIManager,
getNodeInChildSet,
} from '../../ReactNative/__mocks__/FabricUIManager';
} from '../../../../../../Libraries/ReactNative/__mocks__/FabricUIManager';
import ReadOnlyNode from '../../../dom/nodes/ReadOnlyNode';
import invariant from 'invariant';
import nullthrows from 'nullthrows';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ import {RNTesterThemeContext} from '../../components/RNTesterTheme';
import * as React from 'react';
import {type ElementRef, useContext, useEffect, useRef, useState} from 'react';
import {Pressable, ScrollView, StyleSheet, Text, View} from 'react-native';
import MutationObserver from 'react-native/Libraries/MutationObserver/MutationObserver';
import ReadOnlyElement from 'react-native/src/private/webapis/dom/nodes/ReadOnlyElement';
import MutationObserver from 'react-native/src/private/webapis/mutationobserver/MutationObserver';

export const name = 'MutationObserver Example';
export const title = name;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
import type DOMRectReadOnly from 'react-native/src/private/webapis/dom/geometry/DOMRectReadOnly';
import type ReadOnlyNode from 'react-native/src/private/webapis/dom/nodes/ReadOnlyNode';

import MutationObserver from 'react-native/Libraries/MutationObserver/MutationObserver';
import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement';
import IntersectionObserver from 'react-native/src/private/webapis/intersectionobserver/IntersectionObserver';
import MutationObserver from 'react-native/src/private/webapis/mutationobserver/MutationObserver';

export type VisualElement = {
time: number,
Expand Down

0 comments on commit 3479d6c

Please sign in to comment.