@gallopsystems/agent-skills 1.13.0 → 1.14.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.
package/package.json
CHANGED
|
@@ -102,6 +102,29 @@ function isActiveUser() {
|
|
|
102
102
|
}
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
+
A predicate helper can also return a callback that receives the query's
|
|
106
|
+
`eb`, so the same helper works in any `.where()`/`.having()` on that table:
|
|
107
|
+
|
|
108
|
+
```typescript
|
|
109
|
+
import type { ExpressionBuilder } from "kysely";
|
|
110
|
+
|
|
111
|
+
// AVOID - raw sql means the column name is an unchecked string.
|
|
112
|
+
// A typo or renamed column only fails at runtime.
|
|
113
|
+
function nameMatches(name: string) {
|
|
114
|
+
return sql<boolean>`lower(name) = ${name.toLowerCase()}`;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// PREFER - eb.fn keeps the column reference type-checked against DB,
|
|
118
|
+
// and the value stays parameterized.
|
|
119
|
+
function nameMatches(name: string) {
|
|
120
|
+
return (eb: ExpressionBuilder<DB, "user">) =>
|
|
121
|
+
eb(eb.fn("lower", ["name"]), "=", name.toLowerCase());
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// Both call sites stay identical:
|
|
125
|
+
db.selectFrom("user").where(nameMatches(input)).execute();
|
|
126
|
+
```
|
|
127
|
+
|
|
105
128
|
### Conditional Expressions with Arrays
|
|
106
129
|
|
|
107
130
|
Build dynamic filters by collecting expressions:
|