pogi 2.11.1 → 3.0.0-beta4
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/.env +5 -0
- package/.vscode/launch.json +47 -15
- package/jest.config.js +23 -0
- package/lib/bin/generateInterface.js +3 -3
- package/lib/bin/generateInterface.js.map +1 -1
- package/lib/connectionOptions.d.ts +7 -0
- package/lib/index.d.ts +1 -1
- package/lib/pgConverters.d.ts +9 -10
- package/lib/pgConverters.js +44 -39
- package/lib/pgConverters.js.map +1 -1
- package/lib/pgConverters.test.d.ts +1 -0
- package/lib/pgConverters.test.js +13 -0
- package/lib/pgConverters.test.js.map +1 -0
- package/lib/pgDb.d.ts +22 -31
- package/lib/pgDb.js +71 -74
- package/lib/pgDb.js.map +1 -1
- package/lib/pgDb.test.d.ts +1 -0
- package/lib/pgDb.test.js +1132 -0
- package/lib/pgDb.test.js.map +1 -0
- package/lib/pgDbInterface.d.ts +22 -0
- package/lib/pgDbInterface.js +11 -0
- package/lib/pgDbInterface.js.map +1 -0
- package/lib/pgDbOperators.d.ts +3 -3
- package/lib/pgDbOperators.js +4 -7
- package/lib/pgDbOperators.js.map +1 -1
- package/lib/pgDbOperators.test.d.ts +1 -0
- package/lib/pgDbOperators.test.js +313 -0
- package/lib/pgDbOperators.test.js.map +1 -0
- package/lib/pgSchema.d.ts +2 -3
- package/lib/pgSchema.js.map +1 -1
- package/lib/pgSchemaInterface.d.ts +0 -0
- package/lib/pgSchemaInterface.js +2 -0
- package/lib/pgSchemaInterface.js.map +1 -0
- package/lib/pgTable.d.ts +13 -38
- package/lib/pgTable.js +54 -54
- package/lib/pgTable.js.map +1 -1
- package/lib/pgTableInterface.d.ts +28 -0
- package/lib/pgTableInterface.js +4 -0
- package/lib/pgTableInterface.js.map +1 -0
- package/lib/pgUtils.d.ts +16 -6
- package/lib/pgUtils.js +163 -31
- package/lib/pgUtils.js.map +1 -1
- package/lib/queryAble.d.ts +15 -64
- package/lib/queryAble.js +46 -45
- package/lib/queryAble.js.map +1 -1
- package/lib/queryAbleInterface.d.ts +55 -0
- package/lib/queryAbleInterface.js +7 -0
- package/lib/queryAbleInterface.js.map +1 -0
- package/lib/queryWhere.d.ts +2 -2
- package/lib/queryWhere.js +19 -23
- package/lib/queryWhere.js.map +1 -1
- package/lib/test/pgDbOperatorSpec.d.ts +1 -0
- package/lib/test/pgDbOperatorSpec.js +326 -0
- package/lib/test/pgDbOperatorSpec.js.map +1 -0
- package/lib/test/pgDbSpec.d.ts +1 -0
- package/lib/test/pgDbSpec.js +1139 -0
- package/lib/test/pgDbSpec.js.map +1 -0
- package/lib/test/pgServiceRestartTest.d.ts +1 -0
- package/lib/test/pgServiceRestartTest.js +1532 -0
- package/lib/test/pgServiceRestartTest.js.map +1 -0
- package/package.json +21 -14
- package/{src/tsconfig.json → tsconfig.json} +11 -11
- package/spec/resources/init.sql +0 -122
- package/spec/resources/throw_exception.sql +0 -5
- package/spec/resources/tricky.sql +0 -13
- package/spec/run.js +0 -5
- package/spec/support/jasmine.json +0 -9
- package/src/bin/generateInterface.ts +0 -54
- package/src/connectionOptions.ts +0 -42
- package/src/index.ts +0 -6
- package/src/pgConverters.ts +0 -55
- package/src/pgDb.ts +0 -839
- package/src/pgDbLogger.ts +0 -13
- package/src/pgDbOperators.ts +0 -62
- package/src/pgSchema.ts +0 -15
- package/src/pgTable.ts +0 -401
- package/src/pgUtils.ts +0 -176
- package/src/queryAble.ts +0 -422
- package/src/queryWhere.ts +0 -326
- package/src/test/pgDbOperatorSpec.ts +0 -492
- package/src/test/pgDbSpec.ts +0 -1339
- package/src/test/pgServiceRestartTest.ts +0 -1500
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pgServiceRestartTest.js","sourceRoot":"","sources":["../../src/test/pgServiceRestartTest.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pogi",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0-beta4",
|
|
4
4
|
"description": "An easy PostgreSQL query handler on top of pg.js",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
|
-
"build": "tsc -p
|
|
8
|
+
"build": "tsc -p ./tsconfig.json",
|
|
9
9
|
"test": "node spec/run.js",
|
|
10
10
|
"test_debug": "node --inspect-brk=9229 spec/run.js",
|
|
11
11
|
"semantic-release": "semantic-release pre && npm publish && semantic-release post",
|
|
@@ -30,20 +30,27 @@
|
|
|
30
30
|
"lodash": "^4.17.20",
|
|
31
31
|
"minimatch": "^3.0.4",
|
|
32
32
|
"moment": "^2.29.1",
|
|
33
|
-
"pg": "^8.
|
|
34
|
-
"pg-query-stream": "^4",
|
|
33
|
+
"pg": "^8.7.1",
|
|
34
|
+
"pg-query-stream": "^4.2.1",
|
|
35
35
|
"through": "~2.3.8",
|
|
36
|
-
"tslib": "^2"
|
|
36
|
+
"tslib": "^2.3.1"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@types/jasmine": "^3.
|
|
40
|
-
"@types/
|
|
41
|
-
"@types/
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
39
|
+
"@types/jasmine": "^3.10.3",
|
|
40
|
+
"@types/jest": "^27.4.0",
|
|
41
|
+
"@types/lodash": "^4.14.178",
|
|
42
|
+
"@types/node": "^17.0.12",
|
|
43
|
+
"@types/pg": "^8.6.4",
|
|
44
|
+
"@types/through": "^0.0.30",
|
|
45
|
+
"@types/yargs": "^17.0.8",
|
|
46
|
+
"dotenv": "^14.3.2",
|
|
47
|
+
"jasmine": "^4.0.2",
|
|
48
|
+
"jest": "^27.4.7",
|
|
49
|
+
"semantic-release": "^19.0.2",
|
|
50
|
+
"shelljs": "^0.8.5",
|
|
51
|
+
"ts-jest": "^27.1.3",
|
|
52
|
+
"typescript": "^4.5.5",
|
|
53
|
+
"yargs": "^17.3.1"
|
|
47
54
|
},
|
|
48
55
|
"author": "Laszlo Radics<laszlo.radics@labcup.net>, Geza Radics<radicsge@protonmail.com>",
|
|
49
56
|
"license": "MIT",
|
|
@@ -62,4 +69,4 @@
|
|
|
62
69
|
"path": "./node_modules/semantic-release/src/lib/plugin-noop.js"
|
|
63
70
|
}
|
|
64
71
|
}
|
|
65
|
-
}
|
|
72
|
+
}
|
|
@@ -9,25 +9,25 @@
|
|
|
9
9
|
"forceConsistentCasingInFileNames": true,
|
|
10
10
|
"suppressImplicitAnyIndexErrors": true,
|
|
11
11
|
"importHelpers": true,
|
|
12
|
-
"
|
|
13
|
-
"
|
|
12
|
+
"strict": true,
|
|
13
|
+
"rootDir": "./src",
|
|
14
|
+
"outDir": "./lib",
|
|
14
15
|
"types": [
|
|
15
|
-
"node"
|
|
16
|
+
"node",
|
|
17
|
+
"jest"
|
|
16
18
|
],
|
|
17
19
|
"lib": [
|
|
18
20
|
"es2015",
|
|
19
21
|
"es2016",
|
|
20
22
|
"es2017"
|
|
21
23
|
],
|
|
22
|
-
"typeRoots": [
|
|
23
|
-
"../node_modules/@types"
|
|
24
|
-
]
|
|
25
24
|
},
|
|
26
25
|
"files": [
|
|
27
|
-
"index.ts",
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
26
|
+
"src/index.ts",
|
|
27
|
+
"src/bin/generateInterface.ts"
|
|
28
|
+
],
|
|
29
|
+
"include": [
|
|
30
|
+
"src/*.test.ts",
|
|
31
|
+
"src/index.d.ts"
|
|
32
32
|
]
|
|
33
33
|
}
|
package/spec/resources/init.sql
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
SET search_path TO __SCHEMA__;
|
|
2
|
-
DROP FUNCTION IF EXISTS list_gold_users();
|
|
3
|
-
DROP FUNCTION IF EXISTS increment();
|
|
4
|
-
|
|
5
|
-
-- drop tables
|
|
6
|
-
DROP VIEW IF EXISTS "users_view";
|
|
7
|
-
DROP TABLE IF EXISTS "users";
|
|
8
|
-
DROP TABLE IF EXISTS "groups";
|
|
9
|
-
DROP TABLE IF EXISTS "types";
|
|
10
|
-
-- drop sequences
|
|
11
|
-
DROP SEQUENCE IF EXISTS "users_id_seq";
|
|
12
|
-
-- drop types
|
|
13
|
-
DROP TYPE IF EXISTS __SCHEMA__."membershipType";
|
|
14
|
-
DROP TYPE IF EXISTS __SCHEMA__."categoryType";
|
|
15
|
-
DROP TYPE IF EXISTS __SCHEMA__."permissionForResourceType";
|
|
16
|
-
DROP TYPE IF EXISTS __SCHEMA__."permissionType";
|
|
17
|
-
|
|
18
|
-
DROP FUNCTION IF EXISTS update_tsv();
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
CREATE TYPE __SCHEMA__."membershipType" AS ENUM ('bronze', 'silver', 'gold');
|
|
22
|
-
CREATE TYPE __SCHEMA__."categoryType" AS ENUM ('sport', 'food', 'tech', 'music');
|
|
23
|
-
CREATE TYPE __SCHEMA__."permissionType" AS ENUM ('read', 'write', 'admin');
|
|
24
|
-
CREATE TYPE __SCHEMA__."permissionForResourceType" AS (
|
|
25
|
-
"permission" "permissionType",
|
|
26
|
-
"resource" "text"
|
|
27
|
-
);
|
|
28
|
-
|
|
29
|
-
CREATE TABLE IF NOT EXISTS "groups" (
|
|
30
|
-
"id" SERIAL PRIMARY KEY,
|
|
31
|
-
"name" varchar UNIQUE NOT NULL
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
CREATE SEQUENCE "users_id_seq";
|
|
35
|
-
CREATE TABLE IF NOT EXISTS "users" (
|
|
36
|
-
"id" varchar PRIMARY KEY NOT NULL DEFAULT ('us' || nextval('users_id_seq')::text || (LPAD(floor(random()*100)::text, 2, '0'))),
|
|
37
|
-
"name" varchar UNIQUE NOT NULL,
|
|
38
|
-
"aCategory" varchar,
|
|
39
|
-
|
|
40
|
-
"textList" text[],
|
|
41
|
-
"jsonbList" jsonb[],
|
|
42
|
-
"numberList" integer[], -- int4
|
|
43
|
-
"bigNumberList" bigInt[], -- int8
|
|
44
|
-
"timestamptzList" timestamptz[],
|
|
45
|
-
|
|
46
|
-
"membership" "membershipType",
|
|
47
|
-
"favourites" "categoryType"[],
|
|
48
|
-
|
|
49
|
-
"jsonList" jsonb,
|
|
50
|
-
"jsonObject" jsonb,
|
|
51
|
-
"mainGroup" integer REFERENCES groups(id),
|
|
52
|
-
"permission" "permissionForResourceType",
|
|
53
|
-
"permissionList" "permissionForResourceType"[],
|
|
54
|
-
|
|
55
|
-
"tsv" tsvector,
|
|
56
|
-
"updated" timestamp with time zone,
|
|
57
|
-
"created" timestamp,
|
|
58
|
-
"createdtz" timestamptz
|
|
59
|
-
);
|
|
60
|
-
|
|
61
|
-
CREATE TABLE IF NOT EXISTS "types" (
|
|
62
|
-
"text" varchar,
|
|
63
|
-
"int" integer,
|
|
64
|
-
"bigInt" bigInt,
|
|
65
|
-
"real" real,
|
|
66
|
-
"double" float8,
|
|
67
|
-
"bool" boolean,
|
|
68
|
-
"json" json,
|
|
69
|
-
"jsonB" jsonb,
|
|
70
|
-
"timestamptz" timestamptz,
|
|
71
|
-
|
|
72
|
-
"arrayText" varchar[],
|
|
73
|
-
"arrayInt" integer[],
|
|
74
|
-
"arrayBigInt" bigInt[],
|
|
75
|
-
"arrayReal" real[],
|
|
76
|
-
"arrayDouble" float8[],
|
|
77
|
-
"arrayBool" boolean[],
|
|
78
|
-
"arrayJson" json[],
|
|
79
|
-
"arrayJsonB" jsonb[],
|
|
80
|
-
"arrayTimestamptz" timestamptz[]
|
|
81
|
-
);
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
CREATE OR REPLACE FUNCTION update_updated_column() RETURNS TRIGGER AS $$
|
|
85
|
-
BEGIN
|
|
86
|
-
NEW.updated = now();
|
|
87
|
-
RETURN NEW;
|
|
88
|
-
END;
|
|
89
|
-
$$ language 'plpgsql';
|
|
90
|
-
|
|
91
|
-
CREATE TRIGGER "update_users_updated" BEFORE INSERT ON "users" FOR EACH ROW EXECUTE PROCEDURE __SCHEMA__.update_updated_column();
|
|
92
|
-
|
|
93
|
-
CREATE OR REPLACE FUNCTION list_gold_users()
|
|
94
|
-
RETURNS SETOF varchar AS $$
|
|
95
|
-
SELECT name FROM __SCHEMA__.users WHERE membership = 'gold';
|
|
96
|
-
$$ LANGUAGE SQL;
|
|
97
|
-
|
|
98
|
-
CREATE OR REPLACE FUNCTION increment(i INT)
|
|
99
|
-
RETURNS INT AS $$
|
|
100
|
-
BEGIN
|
|
101
|
-
RETURN i + 1;
|
|
102
|
-
END;
|
|
103
|
-
$$ LANGUAGE plpgsql;
|
|
104
|
-
|
|
105
|
-
CREATE FUNCTION update_tsv() RETURNS trigger AS $$
|
|
106
|
-
begin
|
|
107
|
-
new.tsv :=
|
|
108
|
-
setweight(to_tsvector('pg_catalog.english', coalesce(new.name,'')), 'A') ||
|
|
109
|
-
setweight(to_tsvector('pg_catalog.english', coalesce(new."aCategory",'')), 'B') ||
|
|
110
|
-
setweight(to_tsvector('pg_catalog.english', coalesce(new."jsonList"::text,'')), 'C');
|
|
111
|
-
return new;
|
|
112
|
-
end
|
|
113
|
-
$$ LANGUAGE plpgsql;
|
|
114
|
-
|
|
115
|
-
CREATE TRIGGER update_tsv BEFORE INSERT OR UPDATE ON __SCHEMA__."users" FOR EACH ROW EXECUTE PROCEDURE update_tsv();
|
|
116
|
-
|
|
117
|
-
CREATE OR REPLACE FUNCTION LOWER(text[]) RETURNS text[] LANGUAGE SQL IMMUTABLE AS
|
|
118
|
-
$$
|
|
119
|
-
SELECT array_agg(LOWER(value)) FROM unnest($1) value;
|
|
120
|
-
$$;
|
|
121
|
-
|
|
122
|
-
CREATE OR REPLACE VIEW users_view AS SELECT * FROM users;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
--insert into "groups" (name) values ('joe');
|
|
2
|
-
select * from __SCHEMA__."groups" where name like 'joe --''"/*-- '; ; ; -- select * from "groups" where name like 'joe';
|
|
3
|
-
select * from __SCHEMA__."groups" where name like $$joe2'"-- ;
|
|
4
|
-
-- not a comment ;
|
|
5
|
-
$$;
|
|
6
|
-
|
|
7
|
-
-- unbalanced quote '" $$
|
|
8
|
-
|
|
9
|
-
/*
|
|
10
|
-
multi line comment '" $$
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
select * from __SCHEMA__."groups" where name like 'joe--';
|
package/spec/run.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import {PgDb} from "../pgDb";
|
|
2
|
-
import {PgSchema} from "../pgSchema";
|
|
3
|
-
import {PgTable} from "../pgTable";
|
|
4
|
-
|
|
5
|
-
(async function () {
|
|
6
|
-
try {
|
|
7
|
-
let pgdb = await PgDb.connect({
|
|
8
|
-
logger: {
|
|
9
|
-
log: () => {
|
|
10
|
-
}, error: console.error
|
|
11
|
-
}
|
|
12
|
-
}); //using PGUSER, PGPASSWORD + PGDATABASE env variables
|
|
13
|
-
|
|
14
|
-
console.log('import {PgDb, PgSchema, PgTable} from "pogi";\n');
|
|
15
|
-
console.log('export interface PgDbType extends PgDb {');
|
|
16
|
-
|
|
17
|
-
for (let schemaName in pgdb.schemas) {
|
|
18
|
-
if (!(pgdb[schemaName] instanceof PgSchema)) {
|
|
19
|
-
throw Error('Already existing property: ' + schemaName + '!');
|
|
20
|
-
}
|
|
21
|
-
console.log(` '${schemaName}': PgSchema_${schemaName};`); //need to add a PgSchema_ prefix in order to handle schemas starting with number
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
console.log(` 'schemas': {`);
|
|
25
|
-
for (let schemaName in pgdb.schemas) {
|
|
26
|
-
console.log(` '${schemaName}': PgSchema_${schemaName};`);
|
|
27
|
-
}
|
|
28
|
-
console.log(' }');
|
|
29
|
-
console.log('}');
|
|
30
|
-
|
|
31
|
-
for (let schemaName in pgdb.schemas) {
|
|
32
|
-
console.log(`export interface PgSchema_${schemaName} extends PgSchema {`);
|
|
33
|
-
for (let tableName in pgdb.schemas[schemaName].tables) {
|
|
34
|
-
if (!(pgdb[schemaName][tableName] instanceof PgTable)) {
|
|
35
|
-
throw Error('Already existing property: ' + tableName + ' on schema:' + schemaName + '!');
|
|
36
|
-
}
|
|
37
|
-
console.log(` '${tableName}': PgTable<any>;`);
|
|
38
|
-
}
|
|
39
|
-
console.log(` tables: {`);
|
|
40
|
-
for (let tableName in pgdb.schemas[schemaName].tables) {
|
|
41
|
-
console.log(` '${tableName}': PgTable<any>;`);
|
|
42
|
-
}
|
|
43
|
-
console.log(' }');
|
|
44
|
-
|
|
45
|
-
console.log('}');
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
pgdb.close();
|
|
50
|
-
} catch (e) {
|
|
51
|
-
console.error(e);
|
|
52
|
-
}
|
|
53
|
-
return Promise.resolve();
|
|
54
|
-
})();
|
package/src/connectionOptions.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import {PgDbLogger} from './pgDbLogger';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @property connectionString e.g.: "postgres://user@localhost/database"
|
|
5
|
-
* @property user can be specified through PGHOST env variable
|
|
6
|
-
* @property user can be specified through PGUSER env variable (defaults USER env var)
|
|
7
|
-
* @property database can be specified through PGDATABASE env variable (defaults USER env var)
|
|
8
|
-
* @property password can be specified through PGPASSWORD env variable
|
|
9
|
-
* @property port can be specified through PGPORT env variable
|
|
10
|
-
* @property idleTimeoutMillis how long a client is allowed to remain idle before being closed
|
|
11
|
-
* @property skipUndefined if there is a undefined value in the condition, what should pogi do. Default is 'none', meaning raise error if a value is undefined.
|
|
12
|
-
* @property logSQLDetailsOnError - log sql and params in case of sql error (this might contain sensitive information)
|
|
13
|
-
*/
|
|
14
|
-
export interface ConnectionOptions {
|
|
15
|
-
host?: string; //host can be specified through PGHOST env variable (defaults USER env var)
|
|
16
|
-
user?: string; //user can be specified through PGUSER env variable (defaults USER env var)
|
|
17
|
-
database?: string; // can be specified through PGDATABASE env variable (defaults USER env var)
|
|
18
|
-
password?: string; // can be specified through PGPASSWORD env variable
|
|
19
|
-
port?: number; // can be specified through PGPORT env variable
|
|
20
|
-
poolSize?: number;
|
|
21
|
-
|
|
22
|
-
//number of rows to return at a time from a prepared statement's portal. 0 will return all rows at once
|
|
23
|
-
rows?: number;
|
|
24
|
-
|
|
25
|
-
min?: number; //set min pool size
|
|
26
|
-
max?: number; //set pool max size
|
|
27
|
-
|
|
28
|
-
binary?: boolean;
|
|
29
|
-
poolIdleTimeout?: number;
|
|
30
|
-
reapIntervalMillis?: number;
|
|
31
|
-
poolLog?: boolean;
|
|
32
|
-
client_encoding?: string;
|
|
33
|
-
ssl?: boolean | any; //| TlsOptions;
|
|
34
|
-
application_name?: string; //default:process.env.PGAPPNAME - name displayed in the pg_stat_activity view and included in CSV log entries
|
|
35
|
-
fallback_application_name?: string;
|
|
36
|
-
parseInputDatesAsUTC?: boolean;
|
|
37
|
-
connectionString?: string;
|
|
38
|
-
idleTimeoutMillis?: number; // how long a client is allowed to remain idle before being closed
|
|
39
|
-
|
|
40
|
-
logger?: PgDbLogger;
|
|
41
|
-
skipUndefined?: 'all' | 'select' | 'none'; // if there is a undefined value in the condition, what should pogi do. Default is 'none', meaning raise error if a value is undefined.
|
|
42
|
-
}
|
package/src/index.ts
DELETED
package/src/pgConverters.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import * as moment from 'moment';
|
|
2
|
-
|
|
3
|
-
//--- add parsing for array types --------------------------------
|
|
4
|
-
export let arraySplit = (str) => {
|
|
5
|
-
if (str == "{}") return [];
|
|
6
|
-
str = str.substring(1, str.length - 1); //cut off {}
|
|
7
|
-
let e = /(?:("(?:[^"\\]|\\.)*")|([^,"]*))(?:,|$)/g; //has to be mutable because of exec
|
|
8
|
-
let valList = [];
|
|
9
|
-
let parsingResult;
|
|
10
|
-
do {
|
|
11
|
-
parsingResult = e.exec(str);
|
|
12
|
-
let valStr = (parsingResult[2] == 'NULL') ? null :
|
|
13
|
-
(parsingResult[1] == null ? parsingResult[2] : unescapeString(parsingResult[1])); // for string parsing, escape \
|
|
14
|
-
valList.push(valStr);
|
|
15
|
-
} while (e.lastIndex < str.length);
|
|
16
|
-
return valList;
|
|
17
|
-
};
|
|
18
|
-
export let numWithValidation = val => {
|
|
19
|
-
if (val === 'NULL') {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
let v = +val;
|
|
23
|
-
if (v > Number.MAX_SAFE_INTEGER || v < Number.MIN_SAFE_INTEGER) {
|
|
24
|
-
throw Error("Number can't be represented in javascript precisely: " + val);
|
|
25
|
-
}
|
|
26
|
-
return v;
|
|
27
|
-
};
|
|
28
|
-
export let numberOrNull = val => {
|
|
29
|
-
if (val === 'NULL') {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
return +val;
|
|
33
|
-
};
|
|
34
|
-
export let boolOrNull = val => {
|
|
35
|
-
if (val === 'NULL') {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
return val == 't';
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export let arraySplitToBool = val => val == "{}" ? [] : val.substring(1, val.length - 1).split(',').map(boolOrNull);
|
|
42
|
-
export let arraySplitToNum = val => val == "{}" ? [] : val.substring(1, val.length - 1).split(',').map(numberOrNull);
|
|
43
|
-
export let arraySplitToNumWithValidation = val => val == "{}" ? [] : val.substring(1, val.length - 1).split(',').map(numWithValidation);
|
|
44
|
-
export let stringArrayToNumWithValidation = val => val.map(numWithValidation);
|
|
45
|
-
export let arraySplitToDate = val => val == "{}" ? [] : val.substring(1, val.length - 1).split(',').map(d => d == 'NULL' ? null : moment(d.substring(1, d.length - 1)).toDate());
|
|
46
|
-
export let arraySplitToJson = (str) => {
|
|
47
|
-
let vals = arraySplit(str);
|
|
48
|
-
return vals.map(s => typeof s === 'string' ? JSON.parse(s) : s);
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
function unescapeString(s) {
|
|
52
|
-
return s.slice(1, s.length - 1) // cut the first and the last "
|
|
53
|
-
.replace(/\\"/g, '"') // \" -> "
|
|
54
|
-
.replace(/\\\\/g, '\\') // \\ -> \
|
|
55
|
-
}
|