@forge/react 0.0.0-experimental-edeb51b

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/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # @forge/react
2
+
3
+ ## 0.0.0-experimental-edeb51b
4
+
5
+ ### Patch Changes
6
+
7
+ - 456c10c: Add
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # Forge React Reconciler
package/out/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './reconciler';
package/out/index.js ADDED
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./reconciler"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B"}
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const render: (component: React.ReactNode) => void;
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.render = void 0;
18
+ var react_reconciler_1 = __importDefault(require("react-reconciler"));
19
+ var debug = false;
20
+ var assignNextPropsToElement = function (element, props) {
21
+ element.props = props;
22
+ delete element.props.children;
23
+ };
24
+ var createStringNode = function (text) {
25
+ return {
26
+ type: 'String',
27
+ children: [],
28
+ operators: {},
29
+ props: {
30
+ text: text
31
+ }
32
+ };
33
+ };
34
+ var createElement = function (type, props) {
35
+ if (props === void 0) { props = {}; }
36
+ var element = {
37
+ type: type,
38
+ children: [],
39
+ props: props,
40
+ operators: {}
41
+ };
42
+ assignNextPropsToElement(element, props);
43
+ var appendChild = function (child) {
44
+ element.children.push(child);
45
+ };
46
+ var removeChild = function (child) {
47
+ element.children.splice(element.children.indexOf(child), 1);
48
+ };
49
+ var insertBeforeChild = function (child, beforeChild) {
50
+ element.children.splice(element.children.indexOf(beforeChild), 0, child);
51
+ };
52
+ Object.assign(element, {
53
+ operators: {
54
+ appendChild: appendChild,
55
+ removeChild: removeChild,
56
+ insertBeforeChild: insertBeforeChild
57
+ }
58
+ });
59
+ return element;
60
+ };
61
+ var hostConfig = {
62
+ supportsMutation: true,
63
+ supportsMicrotask: true,
64
+ noTimeout: -1,
65
+ isPrimaryRenderer: false,
66
+ resetAfterCommit: function (containerInfo) {
67
+ // eslint-disable-next-line no-console
68
+ if (debug)
69
+ console.log('in resetAfterCommit');
70
+ // eslint-disable-next-line no-console
71
+ if (debug)
72
+ console.log({ containerInfo: containerInfo });
73
+ var newTree = __assign({}, containerInfo);
74
+ var traverse = function (children) {
75
+ return children.map(function (element) {
76
+ return __assign(__assign({}, element), { operators: undefined, children: traverse(element.children) });
77
+ });
78
+ };
79
+ newTree.children = traverse(containerInfo.children);
80
+ self.dispatch(newTree);
81
+ },
82
+ createInstance: function (type, props) {
83
+ var element = createElement(type, props);
84
+ return element;
85
+ },
86
+ createTextInstance: function (text) {
87
+ return createStringNode(text);
88
+ },
89
+ appendInitialChild: function (parentInstance, child) {
90
+ parentInstance.operators.appendChild(child);
91
+ },
92
+ appendChild: function (parentInstance, child) {
93
+ return parentInstance.operators.appendChild(child);
94
+ },
95
+ appendChildToContainer: function (container, child) {
96
+ return container.operators.appendChild(child);
97
+ },
98
+ finalizeInitialChildren: function () {
99
+ return false;
100
+ },
101
+ prepareUpdate: function (instance, type, oldProps, newProps) {
102
+ return Object.assign(instance.props, newProps);
103
+ },
104
+ shouldSetTextContent: function () {
105
+ return false;
106
+ },
107
+ getRootHostContext: function () {
108
+ return null;
109
+ },
110
+ getChildHostContext: function () {
111
+ return null;
112
+ },
113
+ getPublicInstance: function () {
114
+ return null;
115
+ },
116
+ prepareForCommit: function () {
117
+ return null;
118
+ },
119
+ preparePortalMount: function () { },
120
+ now: function () {
121
+ // eslint-disable-next-line no-console
122
+ if (debug)
123
+ console.log('in now');
124
+ return 0;
125
+ },
126
+ scheduleTimeout: function (fn, delay) {
127
+ return setTimeout(fn, delay);
128
+ },
129
+ scheduleMicrotask: function (fn) {
130
+ return setTimeout(fn, 0);
131
+ },
132
+ cancelTimeout: function (id) {
133
+ // eslint-disable-next-line no-console
134
+ if (debug)
135
+ console.log('in cancelTimeout');
136
+ // eslint-disable-next-line no-console
137
+ if (debug)
138
+ console.log({ id: id });
139
+ clearTimeout(id);
140
+ },
141
+ insertBefore: function (parentInstance, child, beforeChild) {
142
+ return parentInstance.operators.insertBeforeChild(child, beforeChild);
143
+ },
144
+ insertInContainerBefore: function (container, child, beforeChild) {
145
+ return container.operators.insertBeforeChild(child, beforeChild);
146
+ },
147
+ removeChild: function (parentInstance, child) {
148
+ return parentInstance.operators.removeChild(child);
149
+ },
150
+ removeChildFromContainer: function (container, child) {
151
+ return container.operators.removeChild(child);
152
+ },
153
+ resetTextContent: function () { },
154
+ commitTextUpdate: function (textInstance, oldText, newText) {
155
+ textInstance.props.text = newText;
156
+ },
157
+ commitMount: function () { },
158
+ commitUpdate: function () { },
159
+ hideInstance: function () { },
160
+ hideTextInstance: function () { },
161
+ unhideInstance: function () { },
162
+ unhideTextInstance: function () { },
163
+ clearContainer: function () { },
164
+ detachDeletedInstance: function () { }
165
+ };
166
+ var reconciler = react_reconciler_1.default(hostConfig);
167
+ exports.render = function (component) {
168
+ var container = createElement('View');
169
+ var root = reconciler.createContainer(container, 0, false, null);
170
+ reconciler.updateContainer(component, root, null);
171
+ };
172
+ //# sourceMappingURL=reconciler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "@forge/react",
3
+ "version": "0.0.0-experimental-edeb51b",
4
+ "description": "Forge React reconciler",
5
+ "author": "Atlassian",
6
+ "license": "UNLICENSED",
7
+ "main": "out/index.js",
8
+ "types": "out/index.d.ts",
9
+ "scripts": {
10
+ "build": "yarn run clean && yarn run compile",
11
+ "clean": "rm -rf ./out && rm -f tsconfig.tsbuildinfo",
12
+ "compile": "tsc -p tsconfig.json"
13
+ },
14
+ "peerDependencies": {
15
+ "react": "^16.13.1"
16
+ },
17
+ "dependencies": {
18
+ "react-reconciler": "^0.27.0"
19
+ }
20
+ }