@rbxts/app-forge 0.0.8 → 0.1.0

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.
@@ -3,14 +3,10 @@ local TS = _G[script]
3
3
  -- Services
4
4
  local RunService = TS.import(script, TS.getModule(script, "@rbxts", "services")).RunService
5
5
  -- Packages
6
- local _loners_pretty_react_hooks = TS.import(script, TS.getModule(script, "@rbxts", "loners-pretty-react-hooks").out)
7
- local useBindingListener = _loners_pretty_react_hooks.useBindingListener
8
- local useSpring = _loners_pretty_react_hooks.useSpring
9
6
  local _react = TS.import(script, TS.getModule(script, "@rbxts", "react"))
10
7
  local React = _react
11
8
  local cloneElement = _react.cloneElement
12
9
  local useBinding = _react.useBinding
13
- local useState = _react.useState
14
10
  -- Types
15
11
  -- Components
16
12
  local AppRegistry = TS.import(script, script.Parent, "decorator").AppRegistry
@@ -30,24 +26,24 @@ local function createBinding(name, manager)
30
26
  _binds[_name_1] = binding
31
27
  return unpack(binding)
32
28
  end
33
- local function createInstance(props, name, manager)
29
+ local function createInstance(props, name, forge)
34
30
  local _name = name
35
31
  local appClass = AppRegistry[_name]
36
32
  if not appClass then
37
33
  error(`App "{name}" not registered`)
38
34
  end
39
- local _loaded = manager.loaded
35
+ local _loaded = forge.loaded
40
36
  local _name_1 = name
41
37
  if not (_loaded[_name_1] ~= nil) then
42
- local instance = appClass.constructor.new(props, manager, name)
38
+ local instance = appClass.constructor.new(props, forge, name)
43
39
  local element = cloneElement(instance:render(), {
44
40
  key = "Main",
45
41
  })
46
- local _loaded_1 = manager.loaded
42
+ local _loaded_1 = forge.loaded
47
43
  local _name_2 = name
48
44
  _loaded_1[_name_2] = element
49
45
  end
50
- local _loaded_1 = manager.loaded
46
+ local _loaded_1 = forge.loaded
51
47
  local _name_2 = name
52
48
  return _loaded_1[_name_2]
53
49
  end
@@ -55,21 +51,11 @@ local function AppContainer(props)
55
51
  local _binding = props
56
52
  local name = _binding.name
57
53
  local manager = _binding.manager
58
- local binding, _ = createBinding(name, manager)
59
- local spring = useSpring(binding:map(function(v)
60
- return if v then 0 else 1
61
- end), {
62
- frequency = 0.4,
63
- damping = 0.8,
64
- })
65
- local _isVisible, setisVisible = useState(binding:getValue())
54
+ createBinding(name, manager)
66
55
  local element = createInstance(props, name, manager)
67
56
  if not element then
68
57
  error(`Failed to create instance for app "{name}"`)
69
58
  end
70
- useBindingListener(spring, function(v)
71
- setisVisible(v == 0)
72
- end)
73
59
  if RunService:IsRunning() then
74
60
  return React.createElement("screengui", {
75
61
  key = name,
@@ -22,8 +22,8 @@ local Args
22
22
  do
23
23
  Args = {}
24
24
  function Args:constructor(props, forge, name)
25
- self.props = props
26
25
  self.Forge = forge
26
+ self.props = props
27
27
  self.name = name
28
28
  end
29
29
  end
package/out/helpers.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type AppForge from ".";
2
- export declare function Render({ props, manager, names, }: {
2
+ export declare function Render({ props, forge, names, }: {
3
3
  props: AppProps;
4
- manager: AppForge;
4
+ forge: AppForge;
5
5
  names?: AppNames[number] | AppNames[number][];
6
6
  }): JSX.Element | JSX.Element[];
package/out/helpers.luau CHANGED
@@ -2,16 +2,16 @@
2
2
  -- Types
3
3
  local function Render(_param)
4
4
  local props = _param.props
5
- local manager = _param.manager
5
+ local forge = _param.forge
6
6
  local names = _param.names
7
7
  if names ~= "" and names then
8
8
  if type(names) == "table" then
9
- return manager:renderApps(props, names)
9
+ return forge:renderApps(props, names)
10
10
  else
11
- return manager:renderApp(props, names)
11
+ return forge:renderApp(props, names)
12
12
  end
13
13
  end
14
- return manager:renderAll(props)
14
+ return forge:renderAll(props)
15
15
  end
16
16
  return {
17
17
  Render = Render,
package/out/init.luau CHANGED
@@ -50,6 +50,9 @@ do
50
50
  local _binding = _binds[_name]
51
51
  local _ = _binding[1]
52
52
  local setBinding = _binding[2]
53
+ if not setBinding then
54
+ error(`App "{name}" has no binding setter`)
55
+ end
53
56
  setBinding(value)
54
57
  end
55
58
  function AppForge:open(name)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rbxts/app-forge",
3
- "version": "0.0.8",
3
+ "version": "0.1.0",
4
4
  "description": "An App Manager for react",
5
5
  "main": "out/init.lua",
6
6
  "packageManager": "bun@1.3.1",