This repository was archived by the owner on May 29, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlib.lua
More file actions
121 lines (100 loc) · 2.6 KB
/
lib.lua
File metadata and controls
121 lines (100 loc) · 2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
sqlite = {}
function sqlite.statement:new(query)
self.__index = self
self.source = query
self._binds = {}
self._state = nil
return self
end
function sqlite.statement:pluck(bool)
if bool == false then
self._state = nil
else
self._state = 'pluck'
end
return self
end
function sqlite.statement:expand(bool)
if bool == false then
self._state = nil
else
self._state = 'expand'
end
return self
end
function sqlite.statement:raw(bool)
if bool == false then
self._state = nil
else
self._state = 'raw'
end
return self
end
function sqlite.statement:run(...)
self:bind(...)
return exports[GetCurrentResourceName()].run(self.source, self._binds, self._state)
end
function sqlite.statement:all(...)
self:bind(...)
return exports[GetCurrentResourceName()].all(self.source, self._binds, self._state)
end
function sqlite.statement:get(...)
self:bind(...)
return exports[GetCurrentResourceName()].get(self.source, self._binds, self._state)
end
function sqlite.statement:columns(...)
self:bind(...)
return exports[GetCurrentResourceName()].columns(self.source, self._binds, self._state)
end
function sqlite.statement:bind(...)
for _, param in pairs(...) do
table.insert(self._binds, param)
end
return self
end
function sqlite.statement:iterate(...)
self:bind(...)
local iter = 0
return function()
iter = iter + 1
end
end
function sqlite.prepare(query)
return sqlite.statement:new(query)
end
function sqlite.transaction(query, params)
return exports[GetCurrentResourceName()].transaction(query, params)
end
function sqlite.transaction.deferred(query, params)
return exports[GetCurrentResourceName()].transaction_deferred(query, params)
end
function sqlite.transaction.immediate(query, params)
return exports[GetCurrentResourceName()].transaction_immediate(query, params)
end
function sqlite.transaction.exclusive(query, params)
return exports[GetCurrentResourceName()].transaction_exclusive(query, params)
end
function sqlite.exec(query)
return exports[GetCurrentResourceName()].execute(query)
end
function sqlite.pragma(query, simple)
return exports[GetCurrentResourceName()].pragma(query, simple)
end
function sqlite.backup(path, cb)
return exports[GetCurrentResourceName()].backup(path, cb)
end
function sqlite.backup:sync(path)
local result
local success = false
exports[GetCurrentResourceName()].backup(path, function(r)
result = r
success = true
end)
while success == false do
Citizen.Wait(0)
end
return result
end
function sqlite.action(path, cb)
return exports[GetCurrentResourceName()]['function'](path, cb)
end