pqb 0.39.0 → 0.39.1
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/dist/index.d.ts +4 -4
- package/dist/index.js +77 -69
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +77 -69
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -16
package/dist/index.mjs
CHANGED
|
@@ -1824,12 +1824,14 @@ class BooleanColumn extends ColumnType {
|
|
|
1824
1824
|
super(schema, schema.boolean());
|
|
1825
1825
|
this.dataType = "bool";
|
|
1826
1826
|
this.operators = Operators.boolean;
|
|
1827
|
-
this.parseItem = (input) => input[0] === "t";
|
|
1828
1827
|
this.data.alias = "boolean";
|
|
1829
1828
|
}
|
|
1830
1829
|
toCode(ctx, key) {
|
|
1831
1830
|
return columnCode(this, ctx, key, "boolean()");
|
|
1832
1831
|
}
|
|
1832
|
+
parseItem(input) {
|
|
1833
|
+
return input[0] === "t";
|
|
1834
|
+
}
|
|
1833
1835
|
}
|
|
1834
1836
|
|
|
1835
1837
|
const encodeFn = (x) => x === null ? x : JSON.stringify(x);
|
|
@@ -1989,6 +1991,25 @@ const pushDistinctSql = (ctx, table, distinct, quotedAs) => {
|
|
|
1989
1991
|
}
|
|
1990
1992
|
};
|
|
1991
1993
|
|
|
1994
|
+
var __accessCheck = (obj, member, msg) => {
|
|
1995
|
+
if (!member.has(obj))
|
|
1996
|
+
throw TypeError("Cannot " + msg);
|
|
1997
|
+
};
|
|
1998
|
+
var __privateGet = (obj, member, getter) => {
|
|
1999
|
+
__accessCheck(obj, member, "read from private field");
|
|
2000
|
+
return getter ? getter.call(obj) : member.get(obj);
|
|
2001
|
+
};
|
|
2002
|
+
var __privateAdd = (obj, member, value) => {
|
|
2003
|
+
if (member.has(obj))
|
|
2004
|
+
throw TypeError("Cannot add the same private member more than once");
|
|
2005
|
+
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
2006
|
+
};
|
|
2007
|
+
var __privateSet = (obj, member, value, setter) => {
|
|
2008
|
+
__accessCheck(obj, member, "write to private field");
|
|
2009
|
+
setter ? setter.call(obj, value) : member.set(obj, value);
|
|
2010
|
+
return value;
|
|
2011
|
+
};
|
|
2012
|
+
var _query;
|
|
1992
2013
|
class OrchidOrmError extends Error {
|
|
1993
2014
|
}
|
|
1994
2015
|
class NotFoundError extends OrchidOrmError {
|
|
@@ -2000,9 +2021,14 @@ class NotFoundError extends OrchidOrmError {
|
|
|
2000
2021
|
class OrchidOrmInternalError extends Error {
|
|
2001
2022
|
constructor(query, message) {
|
|
2002
2023
|
super(message);
|
|
2003
|
-
this
|
|
2024
|
+
__privateAdd(this, _query, void 0);
|
|
2025
|
+
__privateSet(this, _query, query);
|
|
2026
|
+
}
|
|
2027
|
+
get query() {
|
|
2028
|
+
return __privateGet(this, _query);
|
|
2004
2029
|
}
|
|
2005
2030
|
}
|
|
2031
|
+
_query = new WeakMap();
|
|
2006
2032
|
class QueryError extends OrchidOrmInternalError {
|
|
2007
2033
|
get isUnique() {
|
|
2008
2034
|
return this.code === "23505";
|
|
@@ -2032,7 +2058,6 @@ class MoreThanOneRowError extends OrchidOrmInternalError {
|
|
|
2032
2058
|
class UnhandledTypeError extends OrchidOrmInternalError {
|
|
2033
2059
|
constructor(query, value) {
|
|
2034
2060
|
super(query, `Unhandled type: ${JSON.stringify(value)} received`);
|
|
2035
|
-
this.query = query;
|
|
2036
2061
|
}
|
|
2037
2062
|
}
|
|
2038
2063
|
|
|
@@ -2948,16 +2973,9 @@ class ArrayColumn extends ColumnType {
|
|
|
2948
2973
|
this.dataType = "array";
|
|
2949
2974
|
this.operators = Operators.array;
|
|
2950
2975
|
this.parseFn = Object.assign(
|
|
2951
|
-
(
|
|
2976
|
+
(source) => {
|
|
2952
2977
|
const entries = [];
|
|
2953
|
-
|
|
2954
|
-
input,
|
|
2955
|
-
0,
|
|
2956
|
-
input.length,
|
|
2957
|
-
entries,
|
|
2958
|
-
false,
|
|
2959
|
-
this.data.item
|
|
2960
|
-
);
|
|
2978
|
+
parsePostgresArray(source, entries, this.data.item.parseItem);
|
|
2961
2979
|
return entries;
|
|
2962
2980
|
},
|
|
2963
2981
|
{
|
|
@@ -2989,70 +3007,60 @@ class ArrayColumn extends ColumnType {
|
|
|
2989
3007
|
return columnCode(this, ctx, key, code);
|
|
2990
3008
|
}
|
|
2991
3009
|
}
|
|
2992
|
-
const
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
3010
|
+
const parsePostgresArray = (source, entries, transform) => {
|
|
3011
|
+
let pos = 0;
|
|
3012
|
+
if (source[0] === "[") {
|
|
3013
|
+
pos = source.indexOf("=") + 1;
|
|
3014
|
+
if (!pos)
|
|
3015
|
+
pos = source.length;
|
|
3016
|
+
}
|
|
3017
|
+
if (source[pos] === "{")
|
|
3018
|
+
pos++;
|
|
3019
|
+
let recorded = "";
|
|
3020
|
+
while (pos < source.length) {
|
|
3021
|
+
const character = source[pos++];
|
|
3022
|
+
if (character === "{") {
|
|
3023
|
+
const innerEntries = [];
|
|
3024
|
+
entries.push(innerEntries);
|
|
3025
|
+
pos += parsePostgresArray(source.slice(pos - 1), innerEntries, transform) - 1;
|
|
3026
|
+
} else if (character === "}") {
|
|
3027
|
+
if (recorded) {
|
|
3028
|
+
entries.push(
|
|
3029
|
+
recorded === "NULL" ? null : transform ? transform(recorded) : recorded
|
|
3030
|
+
);
|
|
2998
3031
|
}
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
if (escaped) {
|
|
3009
|
-
char = input[pos++];
|
|
3010
|
-
}
|
|
3011
|
-
if (char === '"' && !escaped) {
|
|
3012
|
-
if (quote) {
|
|
3013
|
-
pushEntry(input, start, pos, entries, item);
|
|
3014
|
-
} else {
|
|
3015
|
-
start = pos;
|
|
3016
|
-
}
|
|
3017
|
-
quote = !quote;
|
|
3018
|
-
} else if (char === "," && !quote) {
|
|
3019
|
-
if (start !== pos) {
|
|
3020
|
-
pushEntry(input, start, pos, entries, item);
|
|
3021
|
-
}
|
|
3022
|
-
start = pos;
|
|
3023
|
-
} else if (char === "{" && !quote) {
|
|
3024
|
-
let array;
|
|
3025
|
-
let nestedItem = item;
|
|
3026
|
-
if (nested) {
|
|
3027
|
-
array = [];
|
|
3028
|
-
entries.push(array);
|
|
3029
|
-
if ("item" in item.data) {
|
|
3030
|
-
nestedItem = item.data.item;
|
|
3032
|
+
return pos;
|
|
3033
|
+
} else if (character === '"') {
|
|
3034
|
+
let esc = false;
|
|
3035
|
+
let rec = "";
|
|
3036
|
+
while (pos < source.length) {
|
|
3037
|
+
let char;
|
|
3038
|
+
while ((char = source[pos++]) === "\\") {
|
|
3039
|
+
if (!(esc = !esc))
|
|
3040
|
+
rec += "\\";
|
|
3031
3041
|
}
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3042
|
+
if (esc) {
|
|
3043
|
+
esc = false;
|
|
3044
|
+
} else if (char === '"') {
|
|
3045
|
+
break;
|
|
3046
|
+
}
|
|
3047
|
+
rec += char;
|
|
3048
|
+
}
|
|
3049
|
+
entries.push(transform ? transform(rec) : rec);
|
|
3050
|
+
recorded = "";
|
|
3051
|
+
} else if (character === ",") {
|
|
3052
|
+
if (recorded) {
|
|
3053
|
+
entries.push(
|
|
3054
|
+
recorded === "NULL" ? null : transform ? transform(recorded) : recorded
|
|
3055
|
+
);
|
|
3056
|
+
recorded = "";
|
|
3040
3057
|
}
|
|
3041
|
-
|
|
3042
|
-
|
|
3058
|
+
} else {
|
|
3059
|
+
recorded += character;
|
|
3043
3060
|
}
|
|
3044
3061
|
}
|
|
3045
3062
|
return pos;
|
|
3046
3063
|
};
|
|
3047
|
-
const pushEntry = (input, start, pos, entries, item) => {
|
|
3048
|
-
let entry = input.slice(start, pos - 1);
|
|
3049
|
-
if (entry === "NULL") {
|
|
3050
|
-
entry = null;
|
|
3051
|
-
} else if (item.parseItem) {
|
|
3052
|
-
entry = item.parseItem(entry);
|
|
3053
|
-
}
|
|
3054
|
-
entries.push(entry);
|
|
3055
|
-
};
|
|
3056
3064
|
|
|
3057
3065
|
const parseDateToNumber = (value) => value ? Date.parse(value) : value;
|
|
3058
3066
|
const parseDateToDate = (value) => value ? new Date(value) : value;
|