Skip to content

Commit 0b15ad1

Browse files
rename whenClause to sanitizeSQL
1 parent a5c0aa4 commit 0b15ad1

File tree

4 files changed

+15
-15
lines changed

4 files changed

+15
-15
lines changed

packages/common/src/client/triggers/TriggerManager.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,9 @@ interface BaseCreateDiffTriggerOptions {
155155
*
156156
* @example
157157
* {
158-
* 'INSERT': whenClause`json_extract(NEW.data, '$.list_id') = ${sanitizeUUID(list.id)}`
159-
* 'UPDATE': whenClause`NEW.id = 'abcd' AND json_extract(NEW.data, '$.status') = 'active'`
160-
* 'DELETE': whenClause`json_extract(OLD.data, '$.list_id') = 'abcd'`
158+
* 'INSERT': sanitizeSQL`json_extract(NEW.data, '$.list_id') = ${sanitizeUUID(list.id)}`
159+
* 'UPDATE': sanitizeSQL`NEW.id = 'abcd' AND json_extract(NEW.data, '$.status') = 'active'`
160+
* 'DELETE': sanitizeSQL`json_extract(OLD.data, '$.list_id') = 'abcd'`
161161
* }
162162
*/
163163
when?: Partial<Record<DiffTriggerOperation, string>>;
@@ -342,7 +342,7 @@ export interface TriggerManager {
342342
* columns: ['list_id'],
343343
* operations: [DiffTriggerOperation.INSERT],
344344
* when: {
345-
* [DiffTriggerOperation.INSERT]: whenClause`json_extract(NEW.data, '$.list_id') = ${sanitizeUUID(someIdVariable)}`
345+
* [DiffTriggerOperation.INSERT]: sanitizeSQL`json_extract(NEW.data, '$.list_id') = ${sanitizeUUID(someIdVariable)}`
346346
* },
347347
* onChange: async (context) => {
348348
* // Fetches the todo records that were inserted during this diff

packages/common/src/client/triggers/whenClause.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ function sanitizeString(input: string): string {
33
}
44
/**
55
* Helper function for sanitizing UUID input strings.
6-
* Typically used with {@link whenClause}.
6+
* Typically used with {@link sanitizeSQL}.
77
*/
88
export function sanitizeUUID(uuid: string): string {
99
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
@@ -32,17 +32,17 @@ export function sanitizeUUID(uuid: string): string {
3232
* **Usage example:**
3333
* ```typescript
3434
* const myID = "O'Reilly";
35-
* const clause = whenClause`New.id = ${myID}`;
35+
* const clause = sanitizeSQL`New.id = ${myID}`;
3636
* // Result: "New.id = 'O''Reilly'"
3737
* ```
3838
*
3939
* Avoid manually quoting placeholders:
4040
* ```typescript
4141
* // Incorrect:
42-
* whenClause`New.id = '${myID}'` // Produces double quotes: New.id = ''O''Reilly''
42+
* sanitizeSQL`New.id = '${myID}'` // Produces double quotes: New.id = ''O''Reilly''
4343
* ```
4444
*/
45-
export function whenClause(strings: TemplateStringsArray, ...values: any[]): string {
45+
export function sanitizeSQL(strings: TemplateStringsArray, ...values: any[]): string {
4646
let result = '';
4747
strings.forEach((str, i) => {
4848
result += str;

packages/common/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ export * from './db/schema/Table.js';
3232
export * from './db/schema/TableV2.js';
3333

3434
export * from './client/Query.js';
35+
export * from './client/triggers/sanitizeSQL.js';
3536
export * from './client/triggers/TriggerManager.js';
36-
export * from './client/triggers/whenClause.js';
3737
export * from './client/watched/GetAllQuery.js';
3838
export * from './client/watched/processors/AbstractQueryProcessor.js';
3939
export * from './client/watched/processors/comparators.js';

packages/node/tests/trigger.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ import {
22
column,
33
DiffTriggerOperation,
44
ExtractedTriggerDiffRecord,
5+
sanitizeSQL,
56
sanitizeUUID,
67
Schema,
78
Table,
8-
TriggerDiffRecord,
9-
whenClause
9+
TriggerDiffRecord
1010
} from '@powersync/common';
1111
import { describe, expect, vi } from 'vitest';
1212
import { Database, databaseTest } from './utils';
@@ -114,7 +114,7 @@ describe('Triggers', () => {
114114
source: 'todos',
115115
columns: ['list_id'],
116116
when: {
117-
[DiffTriggerOperation.INSERT]: whenClause`json_extract(NEW.data, '$.list_id') = ${sanitizeUUID(firstList.id)}`
117+
[DiffTriggerOperation.INSERT]: sanitizeSQL`json_extract(NEW.data, '$.list_id') = ${sanitizeUUID(firstList.id)}`
118118
},
119119
operations: [DiffTriggerOperation.INSERT],
120120
onChange: async (context) => {
@@ -193,7 +193,7 @@ describe('Triggers', () => {
193193
*/
194194
await database.triggers.trackTableDiff({
195195
source: 'lists',
196-
when: { [DiffTriggerOperation.UPDATE]: whenClause`NEW.id = ${sanitizeUUID(list.id)}` },
196+
when: { [DiffTriggerOperation.UPDATE]: sanitizeSQL`NEW.id = ${sanitizeUUID(list.id)}` },
197197
operations: [DiffTriggerOperation.UPDATE, DiffTriggerOperation.DELETE],
198198
onChange: async (context) => {
199199
// Fetches the todo records that were inserted during this diff
@@ -303,7 +303,7 @@ describe('Triggers', () => {
303303
source: 'todos',
304304
columns: ['list_id'],
305305
when: {
306-
[DiffTriggerOperation.INSERT]: whenClause`json_extract(NEW.data, '$.list_id') = ${sanitizeUUID(firstList.id)}`
306+
[DiffTriggerOperation.INSERT]: sanitizeSQL`json_extract(NEW.data, '$.list_id') = ${sanitizeUUID(firstList.id)}`
307307
},
308308
operations: [DiffTriggerOperation.INSERT],
309309
onChange: async (context) => {
@@ -393,7 +393,7 @@ describe('Triggers', () => {
393393
await database.triggers.trackTableDiff({
394394
source: 'todos',
395395
when: {
396-
[DiffTriggerOperation.INSERT]: whenClause`json_extract(NEW.data, '$.list_id') = ${sanitizeUUID(firstList.id)}`
396+
[DiffTriggerOperation.INSERT]: sanitizeSQL`json_extract(NEW.data, '$.list_id') = ${sanitizeUUID(firstList.id)}`
397397
},
398398
operations: [DiffTriggerOperation.INSERT],
399399
onChange: async (context) => {

0 commit comments

Comments
 (0)