rado 0.1.27 → 0.1.28
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.
- package/dist/lib/Cursor.d.ts +1 -0
- package/dist/lib/Cursor.js +7 -0
- package/dist/lib/Driver.js +12 -4
- package/dist/lib/Query.d.ts +1 -0
- package/package.json +1 -1
package/dist/lib/Cursor.d.ts
CHANGED
|
@@ -61,6 +61,7 @@ export declare namespace Cursor {
|
|
|
61
61
|
orderBy(...orderBy: Array<Expr<any> | OrderBy>): SelectMultiple<T>;
|
|
62
62
|
groupBy(...groupBy: Array<Expr<any>>): SelectMultiple<T>;
|
|
63
63
|
first(): SelectSingle<T | undefined>;
|
|
64
|
+
sure(): SelectSingle<T>;
|
|
64
65
|
where(...where: Array<EV<boolean>>): SelectMultiple<T>;
|
|
65
66
|
toExpr(): Expr<T>;
|
|
66
67
|
}
|
package/dist/lib/Cursor.js
CHANGED
|
@@ -153,6 +153,13 @@ var Cursor = class {
|
|
|
153
153
|
first() {
|
|
154
154
|
return new SelectSingle({ ...this.query(), singleResult: true });
|
|
155
155
|
}
|
|
156
|
+
sure() {
|
|
157
|
+
return new SelectSingle({
|
|
158
|
+
...this.query(),
|
|
159
|
+
singleResult: true,
|
|
160
|
+
validate: true
|
|
161
|
+
});
|
|
162
|
+
}
|
|
156
163
|
where(...where) {
|
|
157
164
|
return new SelectMultiple(super.where(...where).query());
|
|
158
165
|
}
|
package/dist/lib/Driver.js
CHANGED
|
@@ -113,8 +113,12 @@ var SyncDriver = class extends DriverBase {
|
|
|
113
113
|
params = params || compiled.params();
|
|
114
114
|
if ("selection" in query) {
|
|
115
115
|
const res = stmt.all(params).map((row) => JSON.parse(row.result).result);
|
|
116
|
-
if (query.singleResult)
|
|
117
|
-
|
|
116
|
+
if (query.singleResult) {
|
|
117
|
+
const row = res[0];
|
|
118
|
+
if (query.validate && !row)
|
|
119
|
+
throw new Error("No row found");
|
|
120
|
+
return row;
|
|
121
|
+
}
|
|
118
122
|
return res;
|
|
119
123
|
} else if (query.type === QueryType.Raw) {
|
|
120
124
|
switch (query.expectedReturn) {
|
|
@@ -208,8 +212,12 @@ var AsyncDriver = class extends DriverBase {
|
|
|
208
212
|
const res = (await stmt.all(params)).map(
|
|
209
213
|
(item) => JSON.parse(item.result).result
|
|
210
214
|
);
|
|
211
|
-
if (query.singleResult)
|
|
212
|
-
|
|
215
|
+
if (query.singleResult) {
|
|
216
|
+
const row = res[0];
|
|
217
|
+
if (query.validate && !row)
|
|
218
|
+
throw new Error("No row found");
|
|
219
|
+
return row;
|
|
220
|
+
}
|
|
213
221
|
return res;
|
|
214
222
|
} else if (query.type === QueryType.Raw) {
|
|
215
223
|
switch (query.expectedReturn) {
|
package/dist/lib/Query.d.ts
CHANGED