@rbxts/app-forge 0.6.0-alpha.51 → 0.6.0-alpha.53

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.
@@ -6,10 +6,10 @@ export default class AppForge {
6
6
  private rulesManager;
7
7
  getSource(name: AppNames): Vide.Source<boolean>;
8
8
  bind(name: AppNames, value: Vide.Source<boolean>): void;
9
- set(name: AppNames, value: boolean): void;
10
- open(name: AppNames): void;
11
- close(name: AppNames): void;
12
- toggle(name: AppNames): void;
9
+ set(name: AppNames, value: boolean, rules?: boolean): void;
10
+ open(name: AppNames, rules?: boolean): void;
11
+ close(name: AppNames, rules?: boolean): void;
12
+ toggle(name: AppNames, rules?: boolean): void;
13
13
  renderApp(props: Types.Props.Name & Types.Props.Main): ScreenGui | Frame;
14
14
  renderApps(props: Types.Props.Name & Types.Props.Main): (ScreenGui | Frame)[];
15
15
  renderAll(props: Types.Props.Main): (ScreenGui | Frame)[];
@@ -1,7 +1,9 @@
1
1
  -- Compiled with roblox-ts v3.0.0
2
2
  local TS = _G[script]
3
3
  -- Packages
4
- local effect = TS.import(script, TS.getModule(script, "@rbxts", "vide").src).effect
4
+ local _vide = TS.import(script, TS.getModule(script, "@rbxts", "vide").src)
5
+ local cleanup = _vide.cleanup
6
+ local effect = _vide.effect
5
7
  -- Types
6
8
  -- Components
7
9
  local AppContainer = TS.import(script, script, "container").AppContainer
@@ -45,14 +47,22 @@ do
45
47
  local _value = value
46
48
  _sources[_name] = _value
47
49
  effect(function()
48
- return self.rulesManager:applyRules(name)
50
+ local val = value()
51
+ cleanup(function()
52
+ print("1")
53
+ end)
49
54
  end)
50
55
  else
51
56
  warn("forge.bind is used for studio when game isnt running")
52
57
  end
53
58
  end
54
- function AppForge:set(name, value)
55
- self.rulesManager:applyRules(name)
59
+ function AppForge:set(name, value, rules)
60
+ if rules == nil then
61
+ rules = true
62
+ end
63
+ if rules then
64
+ self.rulesManager:applyRules(name)
65
+ end
56
66
  local _sources = self.sources
57
67
  local _name = name
58
68
  local src = _sources[_name]
@@ -67,14 +77,23 @@ do
67
77
  end
68
78
  src(value)
69
79
  end
70
- function AppForge:open(name)
71
- self:set(name, true)
80
+ function AppForge:open(name, rules)
81
+ if rules == nil then
82
+ rules = true
83
+ end
84
+ self:set(name, true, rules)
72
85
  end
73
- function AppForge:close(name)
74
- self:set(name, false)
86
+ function AppForge:close(name, rules)
87
+ if rules == nil then
88
+ rules = true
89
+ end
90
+ self:set(name, false, rules)
75
91
  end
76
- function AppForge:toggle(name)
77
- self:set(name, not self:getSource(name)())
92
+ function AppForge:toggle(name, rules)
93
+ if rules == nil then
94
+ rules = true
95
+ end
96
+ self:set(name, not self:getSource(name)(), rules)
78
97
  end
79
98
  function AppForge:renderApp(props)
80
99
  return AppContainer(props)
@@ -34,7 +34,7 @@ local function ExclusiveGroupRule(entry, forge)
34
34
  return nil
35
35
  end
36
36
  if forge:getSource(name)() then
37
- forge:close(name)
37
+ forge:close(name, false)
38
38
  end
39
39
  end
40
40
  for _k, _v in AppRegistry do
@@ -16,7 +16,7 @@ local function ParentRule(entry, forge)
16
16
  end
17
17
  local childSource = forge:getSource(name)()
18
18
  if not entrySource and childSource then
19
- forge:close(name)
19
+ forge:close(name, false)
20
20
  end
21
21
  end
22
22
  for _k, _v in AppRegistry do
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rbxts/app-forge",
3
- "version": "0.6.0-alpha.51",
3
+ "version": "0.6.0-alpha.53",
4
4
  "description": "An App Manager for Vide",
5
5
  "main": "out/init.lua",
6
6
  "types": "out/index.d.ts",