forgot to remove
This commit is contained in:
@@ -1,94 +0,0 @@
|
||||
#!/usr/bin/env lua
|
||||
-- Script to add dependency injection to Element.lua
|
||||
|
||||
local function read_file(path)
|
||||
local f = io.open(path, "r")
|
||||
if not f then
|
||||
error("Could not open file: " .. path)
|
||||
end
|
||||
local content = f:read("*all")
|
||||
f:close()
|
||||
return content
|
||||
end
|
||||
|
||||
local function write_file(path, content)
|
||||
local f = io.open(path, "w")
|
||||
if not f then
|
||||
error("Could not write file: " .. path)
|
||||
end
|
||||
f:write(content)
|
||||
f:close()
|
||||
end
|
||||
|
||||
local element_path = "modules/Element.lua"
|
||||
print("Reading " .. element_path)
|
||||
local content = read_file(element_path)
|
||||
|
||||
-- Step 1: Add defaultDependencies after Element table definition
|
||||
print("Step 1: Adding default dependencies...")
|
||||
local element_def = "local Element = {}\nElement.__index = Element\n"
|
||||
local new_element_def = [[local Element = {}
|
||||
Element.__index = Element
|
||||
|
||||
-- Default dependencies (can be overridden for testing)
|
||||
Element.defaultDependencies = {
|
||||
Context = Context,
|
||||
Theme = Theme,
|
||||
Color = Color,
|
||||
Units = Units,
|
||||
Blur = Blur,
|
||||
ImageRenderer = ImageRenderer,
|
||||
NinePatch = NinePatch,
|
||||
RoundedRect = RoundedRect,
|
||||
ImageCache = ImageCache,
|
||||
utils = utils,
|
||||
Grid = Grid,
|
||||
InputEvent = InputEvent,
|
||||
StateManager = StateManager,
|
||||
TextEditor = TextEditor,
|
||||
LayoutEngine = LayoutEngine,
|
||||
Renderer = Renderer,
|
||||
EventHandler = EventHandler,
|
||||
ScrollManager = ScrollManager,
|
||||
ErrorHandler = ErrorHandler,
|
||||
}
|
||||
|
||||
]]
|
||||
|
||||
if not content:find("Element.defaultDependencies") then
|
||||
content = content:gsub(element_def:gsub("([%^%$%(%)%%%.%[%]%*%+%-%?])", "%%%1"), new_element_def)
|
||||
print(" ✓ Added defaultDependencies")
|
||||
else
|
||||
print(" - Already has defaultDependencies")
|
||||
end
|
||||
|
||||
-- Step 2: Update Element.new signature
|
||||
print("Step 2: Updating Element.new signature...")
|
||||
local old_signature = "function Element.new%(props%)\n local self = setmetatable%({}, Element%)"
|
||||
local new_signature = [[function Element.new(props, deps)
|
||||
local self = setmetatable({}, Element)
|
||||
|
||||
-- Initialize dependencies (allow injection for testing)
|
||||
self._deps = deps or Element.defaultDependencies]]
|
||||
|
||||
if not content:find("self._deps") then
|
||||
content = content:gsub(old_signature, new_signature)
|
||||
print(" ✓ Updated signature and added deps initialization")
|
||||
else
|
||||
print(" - Already has deps initialization")
|
||||
end
|
||||
|
||||
-- Step 3: Update comment for Element.new
|
||||
print("Step 3: Updating function documentation...")
|
||||
content = content:gsub(
|
||||
"%-%-%-@param props ElementProps\n%-%-%-@return Element",
|
||||
"---@param props ElementProps\n---@param deps table? Optional dependency injection (defaults to Element.defaultDependencies)\n---@return Element"
|
||||
)
|
||||
|
||||
print("Writing changes to " .. element_path)
|
||||
write_file(element_path, content)
|
||||
print("✓ Done!")
|
||||
print("\nNext steps:")
|
||||
print("1. Run tests to ensure nothing broke")
|
||||
print("2. Gradually replace module references with self._deps.ModuleName")
|
||||
print("3. Create mock dependencies for testing")
|
||||
Reference in New Issue
Block a user