@peerbit/indexer-sqlite3 1.0.6 → 1.0.7-a3e5123

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.
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,7 @@ export interface Table {
39
39
  isSimpleValue: boolean;
40
40
  }
41
41
  export declare const getSQLTable: (ctor: AbstractType<any>, path: string[], primary: string | false, inline: boolean, addJoinField: ((fields: SQLField[], constraints: SQLConstraint[]) => void) | undefined, fromOptionalField?: boolean) => Table[];
42
- export declare const getTableName: (path: string[], clazz: string | Constructor<any>) => string;
42
+ export declare const getTableName: (path: string[] | undefined, clazz: string | Constructor<any>) => string;
43
43
  export declare const CHILD_TABLE_ID = "__id";
44
44
  export declare const ARRAY_INDEX_COLUMN = "__index";
45
45
  export declare const PARENT_TABLE_ID = "__parent_id";
@@ -48,11 +48,11 @@ export declare const getSQLFields: (tableName: string, path: string[], ctor: Con
48
48
  constraints: SQLConstraint[];
49
49
  dependencies: Table[];
50
50
  };
51
- export declare const resolveTable: <B extends boolean, R = B extends true ? Table : Table>(key: string[], tables: Map<string, Table>, clazz: string | Constructor<any>, throwOnMissing: B) => R;
51
+ export declare const resolveTable: <B extends boolean, R = B extends true ? Table : Table | undefined>(key: string[], tables: Map<string, Table>, clazz: string | Constructor<any>, throwOnMissing: B) => R;
52
52
  export declare const insert: (insertFn: (values: any[], table: Table) => Promise<any> | any, obj: Record<string, any>, tables: Map<string, Table>, table: Table, fields: Field[], handleNestedCallback?: (cb: (parentId: any) => Promise<void>) => void, parentId?: any, index?: number) => Promise<void>;
53
53
  export declare const getTablePrefixedField: (table: Table, key: string, skipPrefix?: boolean) => string;
54
54
  export declare const getTableNameFromPrefixedField: (prefixedField: string) => string;
55
- export declare const getInlineTableFieldName: (path: string[] | undefined, key?: string) => string;
55
+ export declare const getInlineTableFieldName: (path: string[] | string | undefined, key?: string) => string;
56
56
  export declare const selectChildren: (childrenTable: Table) => string;
57
57
  export declare const generateSelectQuery: (table: Table, selects: {
58
58
  from: string;
@@ -72,15 +72,28 @@ export declare const selectAllFieldsFromTable: (table: Table, shape: types.Shape
72
72
  }[];
73
73
  join: Map<string, JoinTable>;
74
74
  };
75
- export declare const resolveInstanceFromValue: <T>(fromTablePrefixedValues: Record<string, any>, tables: Map<string, Table>, table: Table, resolveChildren: (parentId: any, table: Table) => Promise<any[]>, tablePrefixed: boolean, shape: types.Shape | undefined) => Promise<T>;
75
+ export declare const resolveInstanceFromValue: <T, S extends types.Shape | undefined>(fromTablePrefixedValues: Record<string, any>, tables: Map<string, Table>, table: Table, resolveChildren: (parentId: any, table: Table) => Promise<any[]>, tablePrefixed: boolean, shape?: S) => Promise<types.ReturnTypeFromShape<T, S>>;
76
76
  export declare const fromRowToObj: (row: any, ctor: Constructor<any>) => any;
77
- export declare const convertDeleteRequestToQuery: (request: types.DeleteRequest, tables: Map<string, Table>, table: Table) => string;
78
- export declare const convertSumRequestToQuery: (request: types.SumRequest, tables: Map<string, Table>, table: Table) => string;
79
- export declare const convertCountRequestToQuery: (request: types.CountRequest, tables: Map<string, Table>, table: Table) => string;
80
- export declare const convertSearchRequestToQuery: (request: types.SearchRequest, tables: Map<string, Table>, rootTables: Table[], shape: types.Shape | undefined) => string;
77
+ export declare const convertDeleteRequestToQuery: (request: types.DeleteOptions, tables: Map<string, Table>, table: Table) => {
78
+ sql: string;
79
+ bindable: any[];
80
+ };
81
+ export declare const convertSumRequestToQuery: (request: types.SumOptions, tables: Map<string, Table>, table: Table) => {
82
+ sql: string;
83
+ bindable: any[];
84
+ };
85
+ export declare const convertCountRequestToQuery: (request: types.CountOptions | undefined, tables: Map<string, Table>, table: Table) => {
86
+ sql: string;
87
+ bindable: any[];
88
+ };
89
+ export declare const convertSearchRequestToQuery: (request: types.IterateOptions | undefined, tables: Map<string, Table>, rootTables: Table[], shape: types.Shape | undefined) => {
90
+ sql: string;
91
+ bindable: any[];
92
+ };
81
93
  export declare const buildJoin: (joinBuilder: Map<string, JoinTable>, resolveAllColumns: boolean) => string;
82
94
  export declare const convertQueryToSQLQuery: (query: types.Query, tables: Map<string, Table>, table: Table, joinBuilder: Map<string, JoinTable>, path?: string[], tableAlias?: string | undefined) => {
83
95
  where: string;
96
+ bindable: any[];
84
97
  };
85
98
  type JoinTable = {
86
99
  table: Table;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"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"}
@@ -570,11 +570,20 @@ export const getTablePrefixedField = (table, key, skipPrefix = false) => `${skip
570
570
  export const getTableNameFromPrefixedField = (prefixedField) => prefixedField.split("#")[0];
571
571
  export const getInlineTableFieldName = (path, key) => {
572
572
  if (key) {
573
- return path && path.length > 0 ? `${path.join("_")}__${key}` : key;
573
+ if (Array.isArray(path)) {
574
+ return path && path.length > 0 ? `${path.join("_")}__${key}` : key;
575
+ }
576
+ return path + "__" + key;
574
577
  }
575
578
  else {
576
579
  // last element in the path is the key, the rest is the path
577
580
  // join key with __ , rest with _
581
+ if (!Array.isArray(path)) {
582
+ if (!path) {
583
+ throw new Error("Unexpected missing path");
584
+ }
585
+ return path;
586
+ }
578
587
  return path.length > 2
579
588
  ? `${path.slice(0, -1).join("_")}__${path[path.length - 1]}`
580
589
  : path.join("__");
@@ -597,7 +606,12 @@ const matchFieldInShape = (shape, path, field) => {
597
606
  if (nextShape === true) {
598
607
  return true;
599
608
  }
600
- currentShape = nextShape;
609
+ if (Array.isArray(nextShape)) {
610
+ currentShape = nextShape[0];
611
+ }
612
+ else {
613
+ currentShape = nextShape;
614
+ }
601
615
  }
602
616
  }
603
617
  throw new Error("Unexpected");
@@ -669,7 +683,12 @@ export const selectAllFieldsFromTable = (table, shape) => {
669
683
  if (!maybeShape) {
670
684
  continue;
671
685
  }
672
- childShape = maybeShape === true ? undefined : maybeShape;
686
+ childShape =
687
+ maybeShape === true
688
+ ? undefined
689
+ : Array.isArray(maybeShape)
690
+ ? maybeShape[0]
691
+ : maybeShape;
673
692
  }
674
693
  stack.push({ table: child, shape: childShape });
675
694
  if (!child.inline) {
@@ -702,7 +721,18 @@ export const resolveInstanceFromValue = async (fromTablePrefixedValues, tables,
702
721
  const handleNested = async (field, isOptional, isArray) => {
703
722
  const subTables = getTableFromField(table, tables, field); // TODO fix
704
723
  let maybeShape = shape?.[field.key];
705
- let subshape = maybeShape === true ? undefined : maybeShape;
724
+ const subshapeIsArray = Array.isArray(maybeShape);
725
+ if (isArray && maybeShape && !subshapeIsArray && maybeShape !== true) {
726
+ throw new Error("Shape is not matching the array field type: " +
727
+ field.key +
728
+ ". Shape: " +
729
+ JSON.stringify(shape));
730
+ }
731
+ let subshape = maybeShape === true
732
+ ? undefined
733
+ : subshapeIsArray
734
+ ? maybeShape[0]
735
+ : maybeShape;
706
736
  if (isArray) {
707
737
  let once = false;
708
738
  let resolvedArr = [];
@@ -815,13 +845,25 @@ export const fromRowToObj = (row, ctor) => {
815
845
  return Object.assign(Object.create(ctor.prototype), obj);
816
846
  };
817
847
  export const convertDeleteRequestToQuery = (request, tables, table) => {
818
- return `DELETE FROM ${table.name} WHERE ${table.primary} IN (SELECT ${table.primary} from ${table.name} ${convertRequestToQuery(request, tables, table).query}) returning ${table.primary}`;
848
+ const { query, bindable } = convertRequestToQuery("delete", request, tables, table);
849
+ return {
850
+ sql: `DELETE FROM ${table.name} WHERE ${table.primary} IN (SELECT ${table.primary} from ${table.name} ${query}) returning ${table.primary}`,
851
+ bindable,
852
+ };
819
853
  };
820
854
  export const convertSumRequestToQuery = (request, tables, table) => {
821
- return `SELECT SUM(${table.name}.${getInlineTableFieldName(request.key)}) as sum FROM ${table.name} ${convertRequestToQuery(request, tables, table).query}`;
855
+ const { query, bindable } = convertRequestToQuery("sum", request, tables, table);
856
+ return {
857
+ sql: `SELECT SUM(${table.name}.${getInlineTableFieldName(request.key)}) as sum FROM ${table.name} ${query}`,
858
+ bindable,
859
+ };
822
860
  };
823
861
  export const convertCountRequestToQuery = (request, tables, table) => {
824
- return `SELECT count(*) as count FROM ${table.name} ${convertRequestToQuery(request, tables, table).query}`;
862
+ const { query, bindable } = convertRequestToQuery("count", request, tables, table);
863
+ return {
864
+ sql: `SELECT count(*) as count FROM ${table.name} ${query}`,
865
+ bindable,
866
+ };
825
867
  };
826
868
  export const convertSearchRequestToQuery = (request, tables, rootTables, shape) => {
827
869
  let unionBuilder = "";
@@ -829,11 +871,12 @@ export const convertSearchRequestToQuery = (request, tables, rootTables, shape)
829
871
  let matchedOnce = false;
830
872
  let lastError = undefined;
831
873
  const selectsPerTable = selectAllFieldsFromTables(rootTables, shape);
874
+ let bindableBuilder = [];
832
875
  for (const [i, table] of rootTables.entries()) {
833
876
  const { selects, joins: joinFromSelect } = selectsPerTable[i];
834
877
  const selectQuery = generateSelectQuery(table, selects);
835
878
  try {
836
- const { orderBy, query } = convertRequestToQuery(request, tables, table, joinFromSelect);
879
+ const { orderBy, query, bindable } = convertRequestToQuery("iterate", request, tables, table, joinFromSelect);
837
880
  unionBuilder += `${unionBuilder.length > 0 ? " UNION ALL " : ""} ${selectQuery} ${query}`;
838
881
  orderByClause =
839
882
  orderBy?.length > 0
@@ -842,6 +885,7 @@ export const convertSearchRequestToQuery = (request, tables, rootTables, shape)
842
885
  : orderBy
843
886
  : orderByClause;
844
887
  matchedOnce = true;
888
+ bindableBuilder.push(...bindable);
845
889
  }
846
890
  catch (error) {
847
891
  if (error instanceof MissingFieldError) {
@@ -854,52 +898,66 @@ export const convertSearchRequestToQuery = (request, tables, rootTables, shape)
854
898
  if (!matchedOnce) {
855
899
  throw lastError;
856
900
  }
857
- return `${unionBuilder} ${orderByClause ? "ORDER BY " + orderByClause : ""} limit ? offset ?`;
901
+ return {
902
+ sql: `${unionBuilder} ${orderByClause ? "ORDER BY " + orderByClause : ""} limit ? offset ?`,
903
+ bindable: bindableBuilder,
904
+ };
858
905
  };
859
- const convertRequestToQuery = (request, tables, table, extraJoin, path = []) => {
906
+ function isIterateRequest(request, type) {
907
+ return type === "iterate";
908
+ }
909
+ const convertRequestToQuery = (type, request, tables, table, extraJoin, path = []) => {
860
910
  let whereBuilder = "";
911
+ let bindableBuilder = [];
861
912
  let orderByBuilder = undefined;
862
913
  /* let tablesToSelect: string[] = [table.name]; */
863
914
  let joinBuilder = extraJoin || new Map();
864
- if (request.query.length === 1) {
865
- const { where } = convertQueryToSQLQuery(request.query[0], tables, table, joinBuilder, path);
915
+ const coercedQuery = types.toQuery(request?.query);
916
+ if (coercedQuery.length === 1) {
917
+ const { where, bindable } = convertQueryToSQLQuery(coercedQuery[0], tables, table, joinBuilder, path);
866
918
  whereBuilder += where;
919
+ bindableBuilder.push(...bindable);
867
920
  }
868
- else if (request.query.length > 1) {
869
- const { where } = convertQueryToSQLQuery(new types.And(request.query), tables, table, joinBuilder, path);
921
+ else if (coercedQuery.length > 1) {
922
+ const { where, bindable } = convertQueryToSQLQuery(new types.And(coercedQuery), tables, table, joinBuilder, path);
870
923
  whereBuilder += where;
871
- }
872
- if (request instanceof types.SearchRequest) {
873
- if (request.sort.length > 0) {
874
- orderByBuilder = "";
875
- let once = false;
876
- for (const sort of request.sort) {
877
- const { foreignTables, queryKey } = resolveTableToQuery(table, tables, joinBuilder, [...path, ...sort.key], undefined, true);
878
- for (const table of foreignTables) {
879
- if (once) {
880
- orderByBuilder += ", ";
924
+ bindableBuilder.push(...bindable);
925
+ }
926
+ if (isIterateRequest(request, type)) {
927
+ if (request?.sort) {
928
+ let sortArr = Array.isArray(request.sort) ? request.sort : [request.sort];
929
+ if (sortArr.length > 0) {
930
+ orderByBuilder = "";
931
+ let once = false;
932
+ for (const sort of sortArr) {
933
+ const { foreignTables, queryKey } = resolveTableToQuery(table, tables, joinBuilder, [...path, ...sort.key], undefined, true);
934
+ for (const table of foreignTables) {
935
+ if (once) {
936
+ orderByBuilder += ", ";
937
+ }
938
+ once = true;
939
+ orderByBuilder += `${table.as}.${queryKey} ${sort.direction === types.SortDirection.ASC ? "ASC" : "DESC"}`;
881
940
  }
882
- once = true;
883
- orderByBuilder += `${table.as}.${queryKey} ${sort.direction === types.SortDirection.ASC ? "ASC" : "DESC"}`;
884
941
  }
942
+ /* orderByBuilder += request.sort
943
+ .map(
944
+ (sort) =>
945
+ `${table.name}.${sort.key} ${sort.direction === types.SortDirection.ASC ? "ASC" : "DESC"}`
946
+ )
947
+ .join(", "); */
885
948
  }
886
- /* orderByBuilder += request.sort
887
- .map(
888
- (sort) =>
889
- `${table.name}.${sort.key} ${sort.direction === types.SortDirection.ASC ? "ASC" : "DESC"}`
890
- )
891
- .join(", "); */
892
949
  }
893
950
  }
894
951
  const where = whereBuilder.length > 0 ? "where " + whereBuilder : undefined;
895
952
  if (extraJoin && extraJoin.size > 0) {
896
953
  insertMapIntoMap(joinBuilder, extraJoin);
897
954
  }
898
- let join = buildJoin(joinBuilder, request instanceof types.SearchRequest ? true : false);
955
+ let join = buildJoin(joinBuilder, type === "iterate" ? true : false);
899
956
  const query = `${join ? join : ""} ${where ? where : ""}`;
900
957
  return {
901
958
  query,
902
959
  orderBy: orderByBuilder,
960
+ bindable: bindableBuilder,
903
961
  };
904
962
  };
905
963
  export const buildJoin = (joinBuilder, resolveAllColumns) => {
@@ -926,17 +984,20 @@ const insertMapIntoMap = (map, insert) => {
926
984
  };
927
985
  export const convertQueryToSQLQuery = (query, tables, table, joinBuilder, path = [], tableAlias = undefined) => {
928
986
  let whereBuilder = "";
987
+ let bindableBuilder = [];
929
988
  /* let tablesToSelect: string[] = []; */
930
989
  const handleAnd = (queries, path, tableAlias) => {
931
990
  for (const query of queries) {
932
- const { where } = convertQueryToSQLQuery(query, tables, table, joinBuilder, path, tableAlias);
991
+ const { where, bindable } = convertQueryToSQLQuery(query, tables, table, joinBuilder, path, tableAlias);
933
992
  whereBuilder =
934
993
  whereBuilder.length > 0 ? `(${whereBuilder}) AND (${where})` : where;
994
+ bindableBuilder.push(...bindable);
935
995
  }
936
996
  };
937
997
  if (query instanceof types.StateFieldQuery) {
938
- const { where } = convertStateFieldQuery(query, tables, table, joinBuilder, path, tableAlias);
998
+ const { where, bindable } = convertStateFieldQuery(query, tables, table, joinBuilder, path, tableAlias);
939
999
  whereBuilder += where;
1000
+ bindableBuilder.push(...bindable);
940
1001
  }
941
1002
  else if (query instanceof types.Nested) {
942
1003
  let joinPrefix = "__" + String(tables.size);
@@ -949,14 +1010,16 @@ export const convertQueryToSQLQuery = (query, tables, table, joinBuilder, path =
949
1010
  }
950
1011
  else if (query instanceof types.Or) {
951
1012
  for (const subquery of query.or) {
952
- const { where } = convertQueryToSQLQuery(subquery, tables, table, joinBuilder, path, tableAlias);
1013
+ const { where, bindable } = convertQueryToSQLQuery(subquery, tables, table, joinBuilder, path, tableAlias);
953
1014
  whereBuilder =
954
1015
  whereBuilder.length > 0 ? `(${whereBuilder}) OR (${where})` : where;
1016
+ bindableBuilder.push(...bindable);
955
1017
  }
956
1018
  }
957
1019
  else if (query instanceof types.Not) {
958
- const { where } = convertQueryToSQLQuery(query.not, tables, table, joinBuilder, path, tableAlias);
1020
+ const { where, bindable } = convertQueryToSQLQuery(query.not, tables, table, joinBuilder, path, tableAlias);
959
1021
  whereBuilder = `NOT (${where})`;
1022
+ bindableBuilder.push(...bindable);
960
1023
  }
961
1024
  else {
962
1025
  throw new Error("Unsupported query type: " + query.constructor.name);
@@ -967,6 +1030,7 @@ export const convertQueryToSQLQuery = (query, tables, table, joinBuilder, path =
967
1030
  }
968
1031
  return {
969
1032
  where: whereBuilder,
1033
+ bindable: bindableBuilder,
970
1034
  };
971
1035
  };
972
1036
  const cloneQuery = (query) => {
@@ -1075,27 +1139,36 @@ const convertStateFieldQuery = (query, tables, table, join, path, tableAlias = u
1075
1139
  query = cloneQuery(query);
1076
1140
  query.key = [queryKey];
1077
1141
  let whereBuilder = [];
1142
+ let bindableBuilder = [];
1078
1143
  for (const ftable of foreignTables) {
1079
1144
  if (ftable.table === table) {
1080
1145
  throw new Error("Unexpected");
1081
1146
  }
1082
- const { where } = convertQueryToSQLQuery(query, tables, ftable.table, join, path, ftable.as);
1147
+ const { where, bindable } = convertQueryToSQLQuery(query, tables, ftable.table, join, path, ftable.as);
1083
1148
  whereBuilder.push(where);
1149
+ bindableBuilder.push(bindable);
1084
1150
  }
1085
- return { where: whereBuilder.join(" OR ") };
1151
+ return {
1152
+ where: whereBuilder.join(" OR "),
1153
+ bindable: bindableBuilder.flat(),
1154
+ };
1086
1155
  }
1156
+ let bindable = [];
1087
1157
  const keyWithTable = (tableAlias || table.name) + "." + escapeColumnName(inlinedName);
1088
1158
  let where;
1089
1159
  if (query instanceof types.StringMatch) {
1090
1160
  let statement = "";
1091
1161
  if (query.method === types.StringMatchMethod.contains) {
1092
- statement = `${keyWithTable} LIKE '%${query.value}%'`;
1162
+ statement = `${keyWithTable} LIKE ?`;
1163
+ bindable.push(`%${query.value}%`);
1093
1164
  }
1094
1165
  else if (query.method === types.StringMatchMethod.prefix) {
1095
- statement = `${keyWithTable} LIKE '${query.value}%'`;
1166
+ statement = `${keyWithTable} LIKE ?`;
1167
+ bindable.push(`${query.value}%`);
1096
1168
  }
1097
1169
  else if (query.method === types.StringMatchMethod.exact) {
1098
- statement = `${keyWithTable} = '${query.value}'`;
1170
+ statement = `${keyWithTable} = ?`;
1171
+ bindable.push(`${query.value}`);
1099
1172
  }
1100
1173
  if (query.caseInsensitive) {
1101
1174
  statement += " COLLATE NOCASE";
@@ -1104,42 +1177,48 @@ const convertStateFieldQuery = (query, tables, table, join, path, tableAlias = u
1104
1177
  }
1105
1178
  else if (query instanceof types.ByteMatchQuery) {
1106
1179
  // compare Blob compule with f.value
1107
- const statement = `${keyWithTable} = x'${toHexString(query.value)}'`;
1180
+ const statement = `${keyWithTable} = ?`;
1181
+ bindable.push(query.value);
1108
1182
  where = statement;
1109
1183
  }
1110
1184
  else if (query instanceof types.IntegerCompare) {
1111
1185
  if (tableField.type === "BLOB") {
1112
1186
  // TODO perf
1113
- where = `hex(${keyWithTable}) LIKE '%${toHexString(new Uint8Array([Number(query.value.value)]))}%'`;
1114
- }
1115
- else if (query.compare === types.Compare.Equal) {
1116
- where = `${keyWithTable} = ${query.value.value}`;
1117
- }
1118
- else if (query.compare === types.Compare.Greater) {
1119
- where = `${keyWithTable} > ${query.value.value}`;
1120
- }
1121
- else if (query.compare === types.Compare.Less) {
1122
- where = `${keyWithTable} < ${query.value.value}`;
1123
- }
1124
- else if (query.compare === types.Compare.GreaterOrEqual) {
1125
- where = `${keyWithTable} >= ${query.value.value}`;
1126
- }
1127
- else if (query.compare === types.Compare.LessOrEqual) {
1128
- where = `${keyWithTable} <= ${query.value.value}`;
1187
+ where = `hex(${keyWithTable}) LIKE ?`;
1188
+ bindable.push(`%${toHexString(new Uint8Array([Number(query.value.value)]))}%`);
1129
1189
  }
1130
1190
  else {
1131
- throw new Error(`Unsupported compare type: ${query.compare}`);
1191
+ if (query.compare === types.Compare.Equal) {
1192
+ where = `${keyWithTable} = ?`;
1193
+ }
1194
+ else if (query.compare === types.Compare.Greater) {
1195
+ where = `${keyWithTable} > ?`;
1196
+ }
1197
+ else if (query.compare === types.Compare.Less) {
1198
+ where = `${keyWithTable} < ?`;
1199
+ }
1200
+ else if (query.compare === types.Compare.GreaterOrEqual) {
1201
+ where = `${keyWithTable} >= ?`;
1202
+ }
1203
+ else if (query.compare === types.Compare.LessOrEqual) {
1204
+ where = `${keyWithTable} <= ?`;
1205
+ }
1206
+ else {
1207
+ throw new Error(`Unsupported compare type: ${query.compare}`);
1208
+ }
1209
+ bindable.push(query.value.value);
1132
1210
  }
1133
1211
  }
1134
1212
  else if (query instanceof types.IsNull) {
1135
1213
  where = `${keyWithTable} IS NULL`;
1136
1214
  }
1137
1215
  else if (query instanceof types.BoolQuery) {
1138
- where = `${keyWithTable} = ${query.value}`;
1216
+ where = `${keyWithTable} = ?`;
1217
+ bindable.push(query.value ? 1 : 0);
1139
1218
  }
1140
1219
  else {
1141
1220
  throw new Error("Unsupported query type: " + query.constructor.name);
1142
1221
  }
1143
- return { where };
1222
+ return { where, bindable };
1144
1223
  };
1145
1224
  //# sourceMappingURL=schema.js.map