Skip to content

Commit 0f72e10

Browse files
authored
Merge pull request #4 from chriscerie/react-is-readme
Transpile react-is readme to lua
2 parents 0b555fc + 4449b6e commit 0f72e10

File tree

1 file changed

+61
-62
lines changed

1 file changed

+61
-62
lines changed

packages/react-is/README.md

Lines changed: 61 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,106 +1,105 @@
11
# `react-is`
22

3-
**NOTE:** This README is copied directly from React upstream.
3+
**NOTE:** This README is copied directly from React upstream and transpiled to Lua.
44

55
This package allows you to test arbitrary values and see if they're a particular React element type.
66

7-
## Installation
8-
9-
```sh
10-
# Yarn
11-
yarn add react-is
12-
13-
# NPM
14-
npm install react-is
15-
```
16-
177
## Usage
188

199
### Determining if a Component is Valid
2010

21-
```js
22-
import React from "react";
23-
import * as ReactIs from "react-is";
11+
```lua
12+
local ReplicatedStorage = game:GetService("ReplicatedStorage")
13+
local React = require(ReplicatedStorage.Packages.React)
14+
local ReactIs = require(ReplicatedStorage.Packages.ReactIs)
15+
16+
local ClassComponent = React.Component:extend("ClassComponent")
2417

25-
class ClassComponent extends React.Component {
26-
render() {
27-
return React.createElement("div");
28-
}
29-
}
18+
function ClassComponent:render()
19+
return React.createElement("Frame")
20+
end
3021

31-
const FunctionComponent = () => React.createElement("div");
22+
local function FunctionComponent()
23+
return React.createElement("Frame")
24+
end
3225

33-
const ForwardRefComponent = React.forwardRef((props, ref) =>
34-
React.createElement(Component, { forwardedRef: ref, ...props })
35-
);
26+
local ForwardRefComponent = React.forwardRef(function(props, ref)
27+
return React.createElement(FunctionComponent, {
28+
forwardRef = ref,
29+
})
30+
end)
3631

37-
const Context = React.createContext(false);
32+
local Context = React.createContext(false)
3833

39-
ReactIs.isValidElementType("div"); // true
40-
ReactIs.isValidElementType(ClassComponent); // true
41-
ReactIs.isValidElementType(FunctionComponent); // true
42-
ReactIs.isValidElementType(ForwardRefComponent); // true
43-
ReactIs.isValidElementType(Context.Provider); // true
44-
ReactIs.isValidElementType(Context.Consumer); // true
45-
ReactIs.isValidElementType(React.createFactory("div")); // true
34+
ReactIs.isValidElementType("Frame") -- true
35+
ReactIs.isValidElementType(ClassComponent) -- true
36+
ReactIs.isValidElementType(FunctionComponent) -- true
37+
ReactIs.isValidElementType(ForwardRefComponent) -- true
38+
ReactIs.isValidElementType(Context.Provider) -- true
39+
ReactIs.isValidElementType(Context.Consumer) -- true
4640
```
4741

4842
### Determining an Element's Type
4943

5044
#### Context
5145

52-
```js
53-
import React from "react";
54-
import * as ReactIs from 'react-is';
46+
```lua
47+
local ReplicatedStorage = game:GetService("ReplicatedStorage")
48+
local React = require(ReplicatedStorage.Packages.React)
49+
local ReactIs = require(ReplicatedStorage.Packages.ReactIs)
5550

56-
const ThemeContext = React.createContext("blue");
51+
local ThemeContext = React.createContext("blue")
5752

58-
ReactIs.isContextConsumer(<ThemeContext.Consumer />); // true
59-
ReactIs.isContextProvider(<ThemeContext.Provider />); // true
60-
ReactIs.typeOf(<ThemeContext.Provider />) === ReactIs.ContextProvider; // true
61-
ReactIs.typeOf(<ThemeContext.Consumer />) === ReactIs.ContextConsumer; // true
53+
ReactIs.isContextConsumer(React.createElement(ThemeContext.Consumer)) -- true
54+
ReactIs.isContextProvider(React.createElement(ThemeContext.Provider)) -- true
55+
ReactIs.typeOf(React.createElement(ThemeContext.Provider)) == ReactIs.ContextProvider -- true
56+
ReactIs.typeOf(React.createElement(ThemeContext.Consumer)) == ReactIs.ContextConsumer -- true
6257
```
6358

6459
#### Element
6560

66-
```js
67-
import React from "react";
68-
import * as ReactIs from 'react-is';
61+
```lua
62+
local ReplicatedStorage = game:GetService("ReplicatedStorage")
63+
local React = require(ReplicatedStorage.Packages.React)
64+
local ReactIs = require(ReplicatedStorage.Packages.ReactIs)
6965

70-
ReactIs.isElement(<div />); // true
71-
ReactIs.typeOf(<div />) === ReactIs.Element; // true
66+
ReactIs.isElement(React.createElement("Frame")) -- true
67+
ReactIs.typeOf(React.createElement("Frame")) == ReactIs.Element -- true
7268
```
7369

7470
#### Fragment
7571

76-
```js
77-
import React from "react";
78-
import * as ReactIs from 'react-is';
72+
```lua
73+
local ReplicatedStorage = game:GetService("ReplicatedStorage")
74+
local React = require(ReplicatedStorage.Packages.React)
75+
local ReactIs = require(ReplicatedStorage.Packages.ReactIs)
7976

80-
ReactIs.isFragment(<></>); // true
81-
ReactIs.typeOf(<></>) === ReactIs.Fragment; // true
77+
ReactIs.isFragment(React.createElement(React.Fragment)) -- true
78+
ReactIs.typeOf(React.createElement(React.Fragment)) == ReactIs.Fragment -- true
8279
```
8380

8481
#### Portal
8582

86-
```js
87-
import React from "react";
88-
import ReactDOM from "react-dom";
89-
import * as ReactIs from 'react-is';
83+
```lua
84+
local ReplicatedStorage = game:GetService("ReplicatedStorage")
85+
local React = require(ReplicatedStorage.Packages.React)
86+
local ReactRoblox = require(ReplicatedStorage.Packages.ReactRoblox)
87+
local ReactIs = require(ReplicatedStorage.Packages.ReactIs)
9088

91-
const div = document.createElement("div");
92-
const portal = ReactDOM.createPortal(<div />, div);
89+
local container = Instance.new("Folder")
90+
local portal = ReactRoblox.createPortal(React.createElement("Frame"), container)
9391

94-
ReactIs.isPortal(portal); // true
95-
ReactIs.typeOf(portal) === ReactIs.Portal; // true
92+
ReactIs.isPortal(portal) -- true
93+
ReactIs.typeOf(portal) == ReactIs.Portal -- true
9694
```
9795

9896
#### StrictMode
9997

100-
```js
101-
import React from "react";
102-
import * as ReactIs from 'react-is';
98+
```lua
99+
local ReplicatedStorage = game:GetService("ReplicatedStorage")
100+
local React = require(ReplicatedStorage.Packages.React)
101+
local ReactIs = require(ReplicatedStorage.Packages.ReactIs)
103102

104-
ReactIs.isStrictMode(<React.StrictMode />); // true
105-
ReactIs.typeOf(<React.StrictMode />) === ReactIs.StrictMode; // true
103+
ReactIs.isStrictMode(React.createElement(React.StrictMode)) -- true
104+
ReactIs.typeOf(React.createElement(React.StrictMode)) == ReactIs.StrictMode -- true
106105
```

0 commit comments

Comments
 (0)