@sqb/builder 5.0.2 → 5.0.3
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 +1 -1
- package/serialize-context.js +1 -0
- package/sql/delete.js +3 -0
- package/sql/elements/base-field.js +1 -0
- package/sql/elements/case.js +4 -0
- package/sql/elements/coalesce.js +1 -0
- package/sql/elements/count.js +1 -0
- package/sql/elements/field.js +2 -1
- package/sql/elements/group-column.js +1 -0
- package/sql/elements/join-cross.js +1 -0
- package/sql/elements/join-full-outer.js +1 -0
- package/sql/elements/join-inner.js +1 -0
- package/sql/elements/join-left-outer.js +1 -0
- package/sql/elements/join-left.js +1 -0
- package/sql/elements/join-outer.js +1 -0
- package/sql/elements/join-right-outer.js +1 -0
- package/sql/elements/join-right.js +1 -0
- package/sql/elements/lower.js +1 -0
- package/sql/elements/max.js +1 -0
- package/sql/elements/min.js +1 -0
- package/sql/elements/order-column.js +1 -0
- package/sql/elements/param.js +2 -1
- package/sql/elements/raw.js +1 -0
- package/sql/elements/returning-column.js +1 -0
- package/sql/elements/sequence.js +1 -0
- package/sql/elements/string-agg.js +1 -0
- package/sql/elements/table-name.js +1 -0
- package/sql/elements/upper.js +1 -0
- package/sql/insert.js +3 -0
- package/sql/operators/between.js +1 -0
- package/sql/operators/comp-operator.js +1 -0
- package/sql/operators/eq.js +1 -0
- package/sql/operators/exists.js +1 -0
- package/sql/operators/gt.js +1 -0
- package/sql/operators/gte.js +1 -0
- package/sql/operators/i-like.js +1 -0
- package/sql/operators/in.js +1 -0
- package/sql/operators/is-not.js +1 -0
- package/sql/operators/is.js +1 -0
- package/sql/operators/like.js +2 -0
- package/sql/operators/logical-operator.js +2 -0
- package/sql/operators/lt.js +1 -0
- package/sql/operators/lte.js +1 -0
- package/sql/operators/ne.js +1 -0
- package/sql/operators/not-between.js +1 -0
- package/sql/operators/not-i-like.js +1 -0
- package/sql/operators/not-in.js +1 -0
- package/sql/operators/not-like.js +1 -0
- package/sql/operators/not.js +2 -0
- package/sql/operators/operator.js +1 -0
- package/sql/returning-query.js +1 -0
- package/sql/select.js +5 -0
- package/sql/union.js +1 -0
- package/sql/update.js +3 -0
- package/types.js +1 -1
package/package.json
CHANGED
package/serialize-context.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SerializationType } from './enums.js';
|
|
2
2
|
import { SerializerRegistry } from './extensions.js';
|
|
3
3
|
import { SqlElement } from './serializable.js';
|
|
4
|
+
import { Query } from './sql/index.js';
|
|
4
5
|
import { isLogicalOperator, isQuery, isSerializable } from './type-guards.js';
|
|
5
6
|
export class SerializeContext {
|
|
6
7
|
rootQuery;
|
package/sql/delete.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { SerializationType } from '../enums.js';
|
|
2
|
+
import { SerializeContext } from '../serialize-context.js';
|
|
2
3
|
import { isRaw } from '../type-guards.js';
|
|
4
|
+
import { Raw } from './elements/raw.js';
|
|
3
5
|
import { TableName } from './elements/table-name.js';
|
|
4
6
|
import { And } from './operators/and.js';
|
|
7
|
+
import { LogicalOperator } from './operators/logical-operator.js';
|
|
5
8
|
import { Query } from './query.js';
|
|
6
9
|
class DeleteClass extends Query {
|
|
7
10
|
_table;
|
package/sql/elements/case.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { SerializationType } from '../../enums.js';
|
|
2
2
|
import { SqlElement } from '../../serializable.js';
|
|
3
|
+
import { SerializeContext } from '../../serialize-context.js';
|
|
3
4
|
import { And } from '../operators/and.js';
|
|
5
|
+
import { LogicalOperator } from '../operators/logical-operator.js';
|
|
6
|
+
import { Operator } from '../operators/operator.js';
|
|
7
|
+
import { Raw } from './raw.js';
|
|
4
8
|
class CaseClass extends SqlElement {
|
|
5
9
|
_expressions;
|
|
6
10
|
_elseValue;
|
package/sql/elements/coalesce.js
CHANGED
package/sql/elements/count.js
CHANGED
package/sql/elements/field.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { SerializationType } from '../../enums.js';
|
|
1
|
+
import { DataType, SerializationType } from '../../enums.js';
|
|
2
|
+
import { SerializeContext } from '../../serialize-context.js';
|
|
2
3
|
import { BaseField } from './base-field.js';
|
|
3
4
|
const TABLE_COLUMN_PATTERN = /^ *((?:[a-zA-Z_][\w$_]*\.){0,2}) *([0-9a-zA-Z_][\w$_]*|\*) *(?:as)? *([a-zA-Z_][\w$_]*)?$/;
|
|
4
5
|
class FieldClass extends BaseField {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SerializationType } from '../../enums.js';
|
|
2
|
+
import { SerializeContext } from '../../serialize-context.js';
|
|
2
3
|
import { BaseField } from './base-field.js';
|
|
3
4
|
const GROUP_COLUMN_PATTERN = /^((?:[a-zA-Z][\w$]*\.){0,2})([\w$]*)$/;
|
|
4
5
|
class GroupColumnClass extends BaseField {
|
package/sql/elements/lower.js
CHANGED
package/sql/elements/max.js
CHANGED
package/sql/elements/min.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SerializationType } from '../../enums.js';
|
|
2
2
|
import { SqlElement } from '../../serializable.js';
|
|
3
|
+
import { SerializeContext } from '../../serialize-context.js';
|
|
3
4
|
import { BaseField } from './base-field.js';
|
|
4
5
|
const ORDER_COLUMN_PATTERN = /^([-+])?((?:[a-zA-Z_][\w$]*\.){0,2})([a-zA-Z_][\w$]*|\*) *(asc|dsc|desc|ascending|descending)?$/i;
|
|
5
6
|
class OrderColumnClass extends BaseField {
|
package/sql/elements/param.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { SerializationType } from '../../enums.js';
|
|
1
|
+
import { DataType, SerializationType } from '../../enums.js';
|
|
2
2
|
import { SqlElement } from '../../serializable.js';
|
|
3
|
+
import { SerializeContext } from '../../serialize-context.js';
|
|
3
4
|
class ParamClass extends SqlElement {
|
|
4
5
|
_name;
|
|
5
6
|
_dataType;
|
package/sql/elements/raw.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SerializationType } from '../../enums.js';
|
|
2
2
|
import { SqlElement } from '../../serializable.js';
|
|
3
|
+
import { SerializeContext } from '../../serialize-context.js';
|
|
3
4
|
import { BaseField } from './base-field.js';
|
|
4
5
|
const RETURNING_COLUMN_PATTERN = /^([a-zA-Z_]\w*) *(?:as)? *(\w+)?$/;
|
|
5
6
|
class ReturningColumnClass extends BaseField {
|
package/sql/elements/sequence.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SerializationType } from '../../enums.js';
|
|
2
2
|
import { printArray } from '../../helpers.js';
|
|
3
3
|
import { SqlElement } from '../../serializable.js';
|
|
4
|
+
import { SerializeContext } from '../../serialize-context.js';
|
|
4
5
|
import { Field } from './field.js';
|
|
5
6
|
import { OrderColumn } from './order-column.js';
|
|
6
7
|
class StringAggClass extends SqlElement {
|
package/sql/elements/upper.js
CHANGED
package/sql/insert.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { SerializationType } from '../enums.js';
|
|
2
2
|
import { printArray } from '../helpers.js';
|
|
3
3
|
import { SqlElement } from '../serializable.js';
|
|
4
|
+
import { SerializeContext } from '../serialize-context.js';
|
|
4
5
|
import { isRaw, isSelect, isSerializable } from '../type-guards.js';
|
|
6
|
+
import { Raw } from './elements/raw.js';
|
|
5
7
|
import { TableName } from './elements/table-name.js';
|
|
6
8
|
import { Query } from './query.js';
|
|
7
9
|
import { ReturningQuery } from './returning-query.js';
|
|
10
|
+
import { Select } from './select.js';
|
|
8
11
|
class InsertClass extends ReturningQuery {
|
|
9
12
|
_table;
|
|
10
13
|
_input;
|
package/sql/operators/between.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SerializationType } from '../../enums.js';
|
|
2
2
|
import { SqlElement } from '../../serializable.js';
|
|
3
|
+
import { SerializeContext } from '../../serialize-context.js';
|
|
3
4
|
import { Field, Param } from '../elements/index.js';
|
|
4
5
|
import { Operator } from './operator.js';
|
|
5
6
|
const EXPRESSION_PATTERN = /^([\w\\.$]+)(\[])?/;
|
package/sql/operators/eq.js
CHANGED
package/sql/operators/exists.js
CHANGED
package/sql/operators/gt.js
CHANGED
package/sql/operators/gte.js
CHANGED
package/sql/operators/i-like.js
CHANGED
package/sql/operators/in.js
CHANGED
package/sql/operators/is-not.js
CHANGED
package/sql/operators/is.js
CHANGED
package/sql/operators/like.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { OperatorType } from '../../enums.js';
|
|
2
|
+
import { SqlElement } from '../../serializable.js';
|
|
3
|
+
import { SerializeContext } from '../../serialize-context.js';
|
|
2
4
|
import { CompOperator } from './comp-operator.js';
|
|
3
5
|
class LikeClass extends CompOperator {
|
|
4
6
|
__serialize(ctx, o) {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import isPlainObject from 'putil-isplainobject';
|
|
2
2
|
import { SerializationType } from '../../enums.js';
|
|
3
3
|
import { printArray } from '../../helpers.js';
|
|
4
|
+
import { SqlElement } from '../../serializable.js';
|
|
5
|
+
import { SerializeContext } from '../../serialize-context.js';
|
|
4
6
|
import { isCompOperator, isLogicalOperator, isNot, isRaw, } from '../../type-guards.js';
|
|
5
7
|
import { Operator } from './operator.js';
|
|
6
8
|
// noinspection RegExpUnnecessaryNonCapturingGroup
|
package/sql/operators/lt.js
CHANGED
package/sql/operators/lte.js
CHANGED
package/sql/operators/ne.js
CHANGED
package/sql/operators/not-in.js
CHANGED
package/sql/operators/not.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { OperatorType, SerializationType } from '../../enums.js';
|
|
2
|
+
import { SqlElement } from '../../serializable.js';
|
|
3
|
+
import { SerializeContext } from '../../serialize-context.js';
|
|
2
4
|
import { Operator } from '../operators/operator.js';
|
|
3
5
|
class NotClass extends Operator {
|
|
4
6
|
get _type() {
|
package/sql/returning-query.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SerializationType } from '../enums.js';
|
|
2
2
|
import { printArray } from '../helpers.js';
|
|
3
|
+
import { SerializeContext } from '../serialize-context.js';
|
|
3
4
|
import { ReturningColumn } from './elements/returning-column.js';
|
|
4
5
|
import { Query } from './query.js';
|
|
5
6
|
class ReturningQueryClass extends Query {
|
package/sql/select.js
CHANGED
|
@@ -2,12 +2,17 @@ import { splitString } from 'fast-tokenizer';
|
|
|
2
2
|
import { coerceToInt } from 'putil-varhelpers';
|
|
3
3
|
import { SerializationType } from '../enums.js';
|
|
4
4
|
import { printArray } from '../helpers.js';
|
|
5
|
+
import { SqlElement } from '../serializable.js';
|
|
6
|
+
import { SerializeContext } from '../serialize-context.js';
|
|
5
7
|
import { isJoin } from '../type-guards.js';
|
|
6
8
|
import { Field } from './elements/field.js';
|
|
7
9
|
import { GroupColumn } from './elements/group-column.js';
|
|
10
|
+
import { Join } from './elements/join.js';
|
|
8
11
|
import { OrderColumn } from './elements/order-column.js';
|
|
12
|
+
import { Raw } from './elements/raw.js';
|
|
9
13
|
import { TableName } from './elements/table-name.js';
|
|
10
14
|
import { And } from './operators/and.js';
|
|
15
|
+
import { LogicalOperator } from './operators/logical-operator.js';
|
|
11
16
|
import { Query } from './query.js';
|
|
12
17
|
class SelectClass extends Query {
|
|
13
18
|
_tables;
|
package/sql/union.js
CHANGED
package/sql/update.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { SerializationType } from '../enums.js';
|
|
2
2
|
import { printArray } from '../helpers.js';
|
|
3
3
|
import { SqlElement } from '../serializable.js';
|
|
4
|
+
import { SerializeContext } from '../serialize-context.js';
|
|
4
5
|
import { isRaw } from '../type-guards.js';
|
|
6
|
+
import { Raw } from './elements/raw.js';
|
|
5
7
|
import { TableName } from './elements/table-name.js';
|
|
6
8
|
import { And } from './operators/and.js';
|
|
9
|
+
import { LogicalOperator } from './operators/logical-operator.js';
|
|
7
10
|
import { Query } from './query.js';
|
|
8
11
|
import { ReturningQuery } from './returning-query.js';
|
|
9
12
|
class UpdateClass extends ReturningQuery {
|
package/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import { DataType, SerializationType } from './enums.js';
|