@sqb/builder 4.0.9 → 4.0.13

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.
Files changed (105) hide show
  1. package/dist/Serializable.d.ts +9 -0
  2. package/dist/Serializable.js +6 -0
  3. package/dist/SerializeContext.d.ts +47 -0
  4. package/dist/SerializeContext.js +138 -0
  5. package/dist/classes.d.ts +38 -0
  6. package/dist/classes.js +41 -0
  7. package/dist/enums.d.ts +84 -0
  8. package/dist/enums.js +91 -0
  9. package/dist/extensions.d.ts +4 -0
  10. package/dist/extensions.js +16 -0
  11. package/dist/helpers.d.ts +4 -0
  12. package/dist/helpers.js +31 -0
  13. package/dist/index.d.ts +20 -0
  14. package/dist/index.js +27 -0
  15. package/dist/op.initializers.d.ts +86 -0
  16. package/dist/op.initializers.js +158 -0
  17. package/dist/query/DeleteQuery.d.ts +24 -0
  18. package/dist/query/DeleteQuery.js +53 -0
  19. package/dist/query/InsertQuery.d.ts +23 -0
  20. package/dist/query/InsertQuery.js +76 -0
  21. package/dist/query/Query.d.ts +15 -0
  22. package/dist/query/Query.js +40 -0
  23. package/dist/query/ReturningQuery.d.ts +14 -0
  24. package/dist/query/ReturningQuery.js +44 -0
  25. package/dist/query/SelectQuery.d.ts +90 -0
  26. package/dist/query/SelectQuery.js +283 -0
  27. package/dist/query/UpdateQuery.d.ts +29 -0
  28. package/dist/query/UpdateQuery.js +80 -0
  29. package/dist/sql-objects/BaseField.d.ts +7 -0
  30. package/dist/sql-objects/BaseField.js +11 -0
  31. package/dist/sql-objects/CaseStatement.d.ts +42 -0
  32. package/dist/sql-objects/CaseStatement.js +85 -0
  33. package/dist/sql-objects/CountStatement.d.ts +20 -0
  34. package/dist/sql-objects/CountStatement.js +34 -0
  35. package/dist/sql-objects/Expression.d.ts +7 -0
  36. package/dist/sql-objects/Expression.js +7 -0
  37. package/dist/sql-objects/FieldExpression.d.ts +14 -0
  38. package/dist/sql-objects/FieldExpression.js +53 -0
  39. package/dist/sql-objects/GroupColumn.d.ts +8 -0
  40. package/dist/sql-objects/GroupColumn.js +38 -0
  41. package/dist/sql-objects/JoinStatement.d.ts +17 -0
  42. package/dist/sql-objects/JoinStatement.js +81 -0
  43. package/dist/sql-objects/Operator.d.ts +5 -0
  44. package/dist/sql-objects/Operator.js +7 -0
  45. package/dist/sql-objects/OrderColumn.d.ts +9 -0
  46. package/dist/sql-objects/OrderColumn.js +42 -0
  47. package/dist/sql-objects/ParamExpression.d.ts +23 -0
  48. package/dist/sql-objects/ParamExpression.js +53 -0
  49. package/dist/sql-objects/RawStatement.d.ts +9 -0
  50. package/dist/sql-objects/RawStatement.js +18 -0
  51. package/dist/sql-objects/ReturningColumn.d.ts +9 -0
  52. package/dist/sql-objects/ReturningColumn.js +32 -0
  53. package/dist/sql-objects/TableName.d.ts +11 -0
  54. package/dist/sql-objects/TableName.js +31 -0
  55. package/dist/sql-objects/operators/CompOperator.d.ts +16 -0
  56. package/dist/sql-objects/operators/CompOperator.js +87 -0
  57. package/dist/sql-objects/operators/LogicalOperator.d.ts +16 -0
  58. package/dist/sql-objects/operators/LogicalOperator.js +83 -0
  59. package/dist/sql-objects/operators/OpAnd.d.ts +5 -0
  60. package/dist/sql-objects/operators/OpAnd.js +12 -0
  61. package/dist/sql-objects/operators/OpBetween.d.ts +11 -0
  62. package/dist/sql-objects/operators/OpBetween.js +35 -0
  63. package/dist/sql-objects/operators/OpEq.d.ts +8 -0
  64. package/dist/sql-objects/operators/OpEq.js +13 -0
  65. package/dist/sql-objects/operators/OpExists.d.ts +11 -0
  66. package/dist/sql-objects/operators/OpExists.js +30 -0
  67. package/dist/sql-objects/operators/OpGt.d.ts +8 -0
  68. package/dist/sql-objects/operators/OpGt.js +13 -0
  69. package/dist/sql-objects/operators/OpGte.d.ts +8 -0
  70. package/dist/sql-objects/operators/OpGte.js +13 -0
  71. package/dist/sql-objects/operators/OpILike.d.ts +6 -0
  72. package/dist/sql-objects/operators/OpILike.js +13 -0
  73. package/dist/sql-objects/operators/OpIn.d.ts +9 -0
  74. package/dist/sql-objects/operators/OpIn.js +19 -0
  75. package/dist/sql-objects/operators/OpIs.d.ts +8 -0
  76. package/dist/sql-objects/operators/OpIs.js +13 -0
  77. package/dist/sql-objects/operators/OpIsNot.d.ts +8 -0
  78. package/dist/sql-objects/operators/OpIsNot.js +13 -0
  79. package/dist/sql-objects/operators/OpLike.d.ts +10 -0
  80. package/dist/sql-objects/operators/OpLike.js +22 -0
  81. package/dist/sql-objects/operators/OpLt.d.ts +8 -0
  82. package/dist/sql-objects/operators/OpLt.js +13 -0
  83. package/dist/sql-objects/operators/OpLte.d.ts +8 -0
  84. package/dist/sql-objects/operators/OpLte.js +13 -0
  85. package/dist/sql-objects/operators/OpNe.d.ts +8 -0
  86. package/dist/sql-objects/operators/OpNe.js +13 -0
  87. package/dist/sql-objects/operators/OpNotBetween.d.ts +6 -0
  88. package/dist/sql-objects/operators/OpNotBetween.js +13 -0
  89. package/dist/sql-objects/operators/OpNotExists.d.ts +6 -0
  90. package/dist/sql-objects/operators/OpNotExists.js +13 -0
  91. package/dist/sql-objects/operators/OpNotILike.d.ts +6 -0
  92. package/dist/sql-objects/operators/OpNotILike.js +13 -0
  93. package/dist/sql-objects/operators/OpNotIn.d.ts +6 -0
  94. package/dist/sql-objects/operators/OpNotIn.js +13 -0
  95. package/dist/sql-objects/operators/OpNotLike.d.ts +6 -0
  96. package/dist/sql-objects/operators/OpNotLike.js +13 -0
  97. package/dist/sql-objects/operators/OpOr.d.ts +5 -0
  98. package/dist/sql-objects/operators/OpOr.js +12 -0
  99. package/dist/sqlobject.initializers.d.ts +39 -0
  100. package/dist/sqlobject.initializers.js +90 -0
  101. package/dist/typeguards.d.ts +34 -0
  102. package/dist/typeguards.js +73 -0
  103. package/dist/types.d.ts +33 -0
  104. package/dist/types.js +2 -0
  105. package/package.json +2 -2
@@ -0,0 +1,34 @@
1
+ import { Serializable } from './Serializable';
2
+ import type { SelectQuery } from './query/SelectQuery';
3
+ import type { InsertQuery } from './query/InsertQuery';
4
+ import type { UpdateQuery } from './query/UpdateQuery';
5
+ import type { DeleteQuery } from './query/DeleteQuery';
6
+ import type { RawStatement } from './sql-objects/RawStatement';
7
+ import type { JoinStatement } from './sql-objects/JoinStatement';
8
+ import type { CaseStatement } from './sql-objects/CaseStatement';
9
+ import type { ParamExpression } from './sql-objects/ParamExpression';
10
+ import type { LogicalOperator } from './sql-objects/operators/LogicalOperator';
11
+ import type { CompOperator } from './sql-objects/operators/CompOperator';
12
+ import type { FieldExpression } from './sql-objects/FieldExpression';
13
+ import type { OrderColumn } from './sql-objects/OrderColumn';
14
+ import type { GroupColumn } from './sql-objects/GroupColumn';
15
+ import type { ReturningColumn } from './sql-objects/ReturningColumn';
16
+ import type { TableName } from './sql-objects/TableName';
17
+ import { CountStatement } from './sql-objects/CountStatement';
18
+ export declare function isSerializable(value: any): value is Serializable;
19
+ export declare function isRawStatement(value: any): value is RawStatement;
20
+ export declare function isSelectQuery(value: any): value is SelectQuery;
21
+ export declare function isInsertQuery(value: any): value is InsertQuery;
22
+ export declare function isIUpdateQuery(value: any): value is UpdateQuery;
23
+ export declare function isDeleteQuery(value: any): value is DeleteQuery;
24
+ export declare function isJoinStatement(value: any): value is JoinStatement;
25
+ export declare function isCaseStatement(value: any): value is CaseStatement;
26
+ export declare function isCountStatement(value: any): value is CountStatement;
27
+ export declare function isParamExpression(value: any): value is ParamExpression;
28
+ export declare function isLogicalOperator(value: any): value is LogicalOperator;
29
+ export declare function isCompOperator(value: any): value is CompOperator;
30
+ export declare function isSelectColumn(value: any): value is FieldExpression;
31
+ export declare function isOrderColumn(value: any): value is OrderColumn;
32
+ export declare function isGroupColumn(value: any): value is GroupColumn;
33
+ export declare function isReturningColumn(value: any): value is ReturningColumn;
34
+ export declare function isTableName(value: any): value is TableName;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTableName = exports.isReturningColumn = exports.isGroupColumn = exports.isOrderColumn = exports.isSelectColumn = exports.isCompOperator = exports.isLogicalOperator = exports.isParamExpression = exports.isCountStatement = exports.isCaseStatement = exports.isJoinStatement = exports.isDeleteQuery = exports.isIUpdateQuery = exports.isInsertQuery = exports.isSelectQuery = exports.isRawStatement = exports.isSerializable = void 0;
4
+ const enums_1 = require("./enums");
5
+ const Serializable_1 = require("./Serializable");
6
+ function isSerializable(value) {
7
+ return value instanceof Serializable_1.Serializable;
8
+ }
9
+ exports.isSerializable = isSerializable;
10
+ function isRawStatement(value) {
11
+ return isSerializable(value) && value._type === enums_1.SerializationType.RAW;
12
+ }
13
+ exports.isRawStatement = isRawStatement;
14
+ function isSelectQuery(value) {
15
+ return isSerializable(value) && value._type === enums_1.SerializationType.SELECT_QUERY;
16
+ }
17
+ exports.isSelectQuery = isSelectQuery;
18
+ function isInsertQuery(value) {
19
+ return isSerializable(value) && value._type === enums_1.SerializationType.INSERT_QUERY;
20
+ }
21
+ exports.isInsertQuery = isInsertQuery;
22
+ function isIUpdateQuery(value) {
23
+ return isSerializable(value) && value._type === enums_1.SerializationType.UPDATE_QUERY;
24
+ }
25
+ exports.isIUpdateQuery = isIUpdateQuery;
26
+ function isDeleteQuery(value) {
27
+ return isSerializable(value) && value._type === enums_1.SerializationType.DELETE_QUERY;
28
+ }
29
+ exports.isDeleteQuery = isDeleteQuery;
30
+ function isJoinStatement(value) {
31
+ return isSerializable(value) && value._type === enums_1.SerializationType.JOIN;
32
+ }
33
+ exports.isJoinStatement = isJoinStatement;
34
+ function isCaseStatement(value) {
35
+ return isSerializable(value) && value._type === enums_1.SerializationType.CASE_STATEMENT;
36
+ }
37
+ exports.isCaseStatement = isCaseStatement;
38
+ function isCountStatement(value) {
39
+ return isSerializable(value) && value._type === enums_1.SerializationType.COUNT_STATEMENT;
40
+ }
41
+ exports.isCountStatement = isCountStatement;
42
+ function isParamExpression(value) {
43
+ return isSerializable(value) && value._type === enums_1.SerializationType.EXTERNAL_PARAMETER;
44
+ }
45
+ exports.isParamExpression = isParamExpression;
46
+ function isLogicalOperator(value) {
47
+ return isSerializable(value) && value._type === enums_1.SerializationType.LOGICAL_EXPRESSION;
48
+ }
49
+ exports.isLogicalOperator = isLogicalOperator;
50
+ function isCompOperator(value) {
51
+ return isSerializable(value) && value._type === enums_1.SerializationType.COMPARISON_EXPRESSION;
52
+ }
53
+ exports.isCompOperator = isCompOperator;
54
+ function isSelectColumn(value) {
55
+ return isSerializable(value) && value._type === enums_1.SerializationType.SELECT_COLUMN;
56
+ }
57
+ exports.isSelectColumn = isSelectColumn;
58
+ function isOrderColumn(value) {
59
+ return isSerializable(value) && value._type === enums_1.SerializationType.ORDER_COLUMN;
60
+ }
61
+ exports.isOrderColumn = isOrderColumn;
62
+ function isGroupColumn(value) {
63
+ return isSerializable(value) && value._type === enums_1.SerializationType.GROUP_COLUMN;
64
+ }
65
+ exports.isGroupColumn = isGroupColumn;
66
+ function isReturningColumn(value) {
67
+ return isSerializable(value) && value._type === enums_1.SerializationType.RETURNING_COLUMN;
68
+ }
69
+ exports.isReturningColumn = isReturningColumn;
70
+ function isTableName(value) {
71
+ return isSerializable(value) && value._type === enums_1.SerializationType.TABLE_NAME;
72
+ }
73
+ exports.isTableName = isTableName;
@@ -0,0 +1,33 @@
1
+ import { DataType, SerializationType } from './enums';
2
+ import type { SerializeContext } from './SerializeContext';
3
+ export declare type SerializeFunction = (ctx: SerializeContext, type: SerializationType | string, obj: any, defFn: DefaultSerializeFunction) => string | undefined;
4
+ export declare type DefaultSerializeFunction = (ctx: SerializeContext, o: any) => string;
5
+ export declare type IsReservedWordFunction = (ctx: SerializeContext, s: string) => boolean;
6
+ export interface SerializerExtension {
7
+ dialect: string;
8
+ serialize?: SerializeFunction;
9
+ isReservedWord?: IsReservedWordFunction;
10
+ }
11
+ export interface GenerateOptions {
12
+ /**
13
+ * Dialect that query to be generated for. Etc: postgres, oracle, sqlite ...
14
+ */
15
+ dialect?: string;
16
+ prettyPrint?: boolean;
17
+ params?: Record<string, any>;
18
+ dialectVersion?: string;
19
+ strictParams?: boolean;
20
+ }
21
+ export interface ParamOptions {
22
+ dataType?: DataType;
23
+ isArray?: boolean;
24
+ }
25
+ export interface GenerateResult {
26
+ sql: string;
27
+ params?: any;
28
+ paramOptions?: Record<string, ParamOptions> | ParamOptions[];
29
+ returningFields?: {
30
+ field: string;
31
+ alias?: string;
32
+ }[];
33
+ }
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@sqb/builder",
3
3
  "description": "Extensible multi-dialect SQL query builder written with TypeScript",
4
- "version": "4.0.9",
5
- "author": "Panates Ltd.",
4
+ "version": "4.0.13",
5
+ "author": "Panates",
6
6
  "private": false,
7
7
  "contributors": [
8
8
  "Eray Hanoglu <e.hanoglu@panates.com>"