@rbxts/app-forge 0.2.6 → 0.2.8

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.
@@ -1,2 +1,2 @@
1
1
  import type Types from "./types";
2
- export declare function AppContainer(props: Types.MainProps): JSX.Element;
2
+ export declare function AppContainer(props: Types.NameProps & Types.MainProps): JSX.Element;
@@ -5,7 +5,6 @@ local RunService = TS.import(script, TS.getModule(script, "@rbxts", "services"))
5
5
  -- Packages
6
6
  local _react = TS.import(script, TS.getModule(script, "@rbxts", "react"))
7
7
  local React = _react
8
- local cloneElement = _react.cloneElement
9
8
  local useBinding = _react.useBinding
10
9
  -- Types
11
10
  -- Components
@@ -42,10 +41,11 @@ local function createInstance(props)
42
41
  local Render = function()
43
42
  return instance:render()
44
43
  end
45
- local element = cloneElement(React.createElement(Render), {
44
+ local _loaded = forge.loaded
45
+ local _arg1 = React.createElement(Render, {
46
46
  key = "Main",
47
47
  })
48
- forge.loaded[name] = element
48
+ _loaded[name] = _arg1
49
49
  end
50
50
  return forge.loaded[name]
51
51
  end
@@ -11,6 +11,6 @@ export declare abstract class Args {
11
11
  };
12
12
  readonly bind: React.Binding<boolean>;
13
13
  readonly name: AppNames[number];
14
- constructor(props: Types.MainProps);
14
+ constructor(props: Types.NameProps & Types.MainProps);
15
15
  abstract render(): JSX.Element;
16
16
  }
@@ -34,7 +34,7 @@ do
34
34
  end
35
35
  local px = usePx(target)
36
36
  self.forge = forge
37
- local _object = table.clone(props)
37
+ local _object = table.clone(props.props)
38
38
  setmetatable(_object, nil)
39
39
  _object.px = px
40
40
  self.props = _object
package/out/helpers.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import Types from "./types";
2
- export declare function Render(props: Types.MainProps): JSX.Element | JSX.Element[];
2
+ export declare function Render(props: Types.NameProps & Types.MainProps): JSX.Element;
package/out/index.d.ts CHANGED
@@ -11,9 +11,9 @@ export default class AppForge {
11
11
  open(name: AppNames[number]): void;
12
12
  close(name: AppNames[number]): void;
13
13
  toggle(name: AppNames[number]): void;
14
- renderApp(props: Types.MainProps): JSX.Element;
15
- renderApps(props: Types.MainProps): JSX.Element | JSX.Element[];
16
- renderAll(props: Types.MainProps): JSX.Element | JSX.Element[];
14
+ renderApp(props: Types.NameProps & Types.MainProps): JSX.Element;
15
+ renderApps(props: Types.NameProps & Types.MainProps): JSX.Element;
16
+ renderAll(props: Types.MainProps): JSX.Element;
17
17
  }
18
18
  export { App, Args };
19
19
  export { Render } from "./helpers";
package/out/init.luau CHANGED
@@ -71,32 +71,7 @@ do
71
71
  return React.createElement(AppContainer, _attributes)
72
72
  end
73
73
  function AppForge:renderApps(props)
74
- local _binding = props
75
- local name = _binding.name
76
- local names = _binding.names
77
- if name ~= "" and name then
78
- return self:renderApp({
79
- props = props,
80
- name = name,
81
- forge = self,
82
- })
83
- elseif names then
84
- -- ▼ ReadonlyArray.map ▼
85
- local _newValue = table.create(#names)
86
- local _callback = function(n)
87
- return self:renderApp({
88
- props = props,
89
- name = n,
90
- forge = self,
91
- })
92
- end
93
- for _k, _v in names do
94
- _newValue[_k] = _callback(_v, _k - 1, names)
95
- end
96
- -- ▲ ReadonlyArray.map ▲
97
- return _newValue
98
- end
99
- error("Invalid props: must provide name or names")
74
+ return self:renderApp(props)
100
75
  end
101
76
  function AppForge:renderAll(props)
102
77
  local names = {}
@@ -109,11 +84,7 @@ do
109
84
  _callback(_v, _k, AppRegistry)
110
85
  end
111
86
  -- ▲ ReadonlyMap.forEach ▲
112
- return self:renderApps({
113
- props = props,
114
- names = names,
115
- forge = self,
116
- })
87
+ return self:renderApps(props)
117
88
  end
118
89
  end
119
90
  exports.Render = TS.import(script, script, "helpers").Render
package/out/types.d.ts CHANGED
@@ -9,10 +9,11 @@ declare namespace Types {
9
9
  rules?: Rules.All;
10
10
  };
11
11
 
12
- type MainProps = (
12
+ type NameProps =
13
13
  | { name?: AppNames[number]; names?: undefined }
14
- | { names?: AppNames[number][]; name?: undefined }
15
- ) & {
14
+ | { names?: AppNames[number][]; name?: undefined };
15
+
16
+ type MainProps = {
16
17
  props: AppProps;
17
18
  forge: AppForge;
18
19
  target?: GuiObject | Camera;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rbxts/app-forge",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "An App Manager for react",
5
5
  "main": "out/init.lua",
6
6
  "packageManager": "bun@1.3.1",