temba 0.8.2 → 0.9.0
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/config/index.js +64 -73
- package/dist/config/index.js.map +1 -0
- package/dist/delay/middleware.js +14 -14
- package/dist/delay/middleware.js.map +1 -0
- package/dist/errors/index.js +10 -18
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/middleware.js +9 -12
- package/dist/errors/middleware.js.map +1 -0
- package/dist/errors/types.js +13 -0
- package/dist/errors/types.js.map +1 -0
- package/dist/logging/index.js +37 -36
- package/dist/logging/index.js.map +1 -0
- package/dist/queries/in-memory.js +48 -79
- package/dist/queries/in-memory.js.map +1 -0
- package/dist/queries/index.js +15 -19
- package/dist/queries/index.js.map +1 -0
- package/dist/queries/mongo.js +73 -277
- package/dist/queries/mongo.js.map +1 -0
- package/dist/routes/delete.js +37 -80
- package/dist/routes/delete.js.map +1 -0
- package/dist/routes/get.js +42 -81
- package/dist/routes/get.js.map +1 -0
- package/dist/routes/index.js +51 -90
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/post.js +41 -61
- package/dist/routes/post.js.map +1 -0
- package/dist/routes/put.js +38 -88
- package/dist/routes/put.js.map +1 -0
- package/dist/routes/validator.js +16 -19
- package/dist/routes/validator.js.map +1 -0
- package/dist/server.js +72 -75
- package/dist/server.js.map +1 -0
- package/dist/urls/middleware.js +26 -38
- package/dist/urls/middleware.js.map +1 -0
- package/dist/urls/urlParser.js +11 -20
- package/dist/urls/urlParser.js.map +1 -0
- package/package.json +21 -11
package/dist/config/index.js
CHANGED
|
@@ -1,78 +1,69 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
staticFolder: null,
|
|
23
|
-
apiPrefix: '',
|
|
24
|
-
connectionString: null,
|
|
25
|
-
cacheControl: 'no-store',
|
|
26
|
-
delay: 0,
|
|
27
|
-
requestBodyValidator: {
|
|
28
|
-
post: function post() {},
|
|
29
|
-
put: function put() {}
|
|
30
|
-
}
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initConfig = void 0;
|
|
4
|
+
const logging_1 = require("../logging");
|
|
5
|
+
const defaultConfig = {
|
|
6
|
+
resourceNames: [],
|
|
7
|
+
validateResources: false,
|
|
8
|
+
logLevel: logging_1.logLevels.DEBUG,
|
|
9
|
+
staticFolder: null,
|
|
10
|
+
apiPrefix: '',
|
|
11
|
+
connectionString: null,
|
|
12
|
+
cacheControl: 'no-store',
|
|
13
|
+
delay: 0,
|
|
14
|
+
requestBodyValidator: {
|
|
15
|
+
post: () => {
|
|
16
|
+
// do nothing
|
|
17
|
+
},
|
|
18
|
+
put: () => {
|
|
19
|
+
// do nothing
|
|
20
|
+
},
|
|
21
|
+
},
|
|
31
22
|
};
|
|
32
|
-
|
|
33
23
|
function initConfig(userConfig) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
config.apiPrefix = '/' + userConfig.apiPrefix.replace(/[^a-zA-Z0-9]/g, '') + '/';
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (userConfig.connectionString && userConfig.connectionString.length > 0) {
|
|
56
|
-
config.connectionString = userConfig.connectionString;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (userConfig.cacheControl && userConfig.cacheControl.length > 0) {
|
|
60
|
-
config.cacheControl = userConfig.cacheControl;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
if (userConfig.delay && userConfig.delay.length !== 0 && typeof Number(userConfig.delay) === 'number' && Number(userConfig.delay) > 0 && Number(userConfig.delay) < 10000) {
|
|
64
|
-
config.delay = Number(userConfig.delay);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if (userConfig.requestBodyValidator) {
|
|
68
|
-
if (userConfig.requestBodyValidator.post && typeof userConfig.requestBodyValidator.post === 'function') {
|
|
69
|
-
config.requestBodyValidator.post = userConfig.requestBodyValidator.post;
|
|
24
|
+
if (!userConfig)
|
|
25
|
+
return defaultConfig;
|
|
26
|
+
const config = Object.assign({}, defaultConfig);
|
|
27
|
+
if (userConfig.resourceNames && userConfig.resourceNames.length > 0) {
|
|
28
|
+
config.resourceNames = userConfig.resourceNames;
|
|
29
|
+
config.validateResources = true;
|
|
30
|
+
}
|
|
31
|
+
if (userConfig.logLevel &&
|
|
32
|
+
userConfig.logLevel.length !== 0 &&
|
|
33
|
+
Object.keys(logging_1.logLevels).includes(userConfig.logLevel.toUpperCase())) {
|
|
34
|
+
config.logLevel = userConfig.logLevel.toUpperCase();
|
|
35
|
+
}
|
|
36
|
+
if (userConfig.staticFolder) {
|
|
37
|
+
config.staticFolder = userConfig.staticFolder.replace(/[^a-zA-Z0-9]/g, '');
|
|
38
|
+
}
|
|
39
|
+
if (userConfig.apiPrefix) {
|
|
40
|
+
config.apiPrefix =
|
|
41
|
+
'/' + userConfig.apiPrefix.replace(/[^a-zA-Z0-9]/g, '') + '/';
|
|
70
42
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
config.requestBodyValidator.put = userConfig.requestBodyValidator.put;
|
|
43
|
+
if (userConfig.connectionString && userConfig.connectionString.length > 0) {
|
|
44
|
+
config.connectionString = userConfig.connectionString;
|
|
74
45
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
46
|
+
if (userConfig.cacheControl && userConfig.cacheControl.length > 0) {
|
|
47
|
+
config.cacheControl = userConfig.cacheControl;
|
|
48
|
+
}
|
|
49
|
+
if (userConfig.delay &&
|
|
50
|
+
userConfig.delay.length !== 0 &&
|
|
51
|
+
typeof Number(userConfig.delay) === 'number' &&
|
|
52
|
+
Number(userConfig.delay) > 0 &&
|
|
53
|
+
Number(userConfig.delay) < 10000) {
|
|
54
|
+
config.delay = Number(userConfig.delay);
|
|
55
|
+
}
|
|
56
|
+
if (userConfig.requestBodyValidator) {
|
|
57
|
+
if (userConfig.requestBodyValidator.post &&
|
|
58
|
+
typeof userConfig.requestBodyValidator.post === 'function') {
|
|
59
|
+
config.requestBodyValidator.post = userConfig.requestBodyValidator.post;
|
|
60
|
+
}
|
|
61
|
+
if (userConfig.requestBodyValidator.put &&
|
|
62
|
+
typeof userConfig.requestBodyValidator.put === 'function') {
|
|
63
|
+
config.requestBodyValidator.put = userConfig.requestBodyValidator.put;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return config;
|
|
67
|
+
}
|
|
68
|
+
exports.initConfig = initConfig;
|
|
69
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;AAAA,wCAAsC;AAEtC,MAAM,aAAa,GAAG;IACpB,aAAa,EAAE,EAAE;IACjB,iBAAiB,EAAE,KAAK;IACxB,QAAQ,EAAE,mBAAS,CAAC,KAAK;IACzB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,EAAE;IACb,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,UAAU;IACxB,KAAK,EAAE,CAAC;IACR,oBAAoB,EAAE;QACpB,IAAI,EAAE,GAAG,EAAE;YACT,aAAa;QACf,CAAC;QACD,GAAG,EAAE,GAAG,EAAE;YACR,aAAa;QACf,CAAC;KACF;CACF,CAAA;AAED,SAAgB,UAAU,CAAC,UAAU;IACnC,IAAI,CAAC,UAAU;QAAE,OAAO,aAAa,CAAA;IAErC,MAAM,MAAM,qBAAQ,aAAa,CAAE,CAAA;IAEnC,IAAI,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;QACnE,MAAM,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAA;QAC/C,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAA;KAChC;IAED,IACE,UAAU,CAAC,QAAQ;QACnB,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,mBAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAClE;QACA,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;KACpD;IAED,IAAI,UAAU,CAAC,YAAY,EAAE;QAC3B,MAAM,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;KAC3E;IAED,IAAI,UAAU,CAAC,SAAS,EAAE;QACxB,MAAM,CAAC,SAAS;YACd,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,GAAG,GAAG,CAAA;KAChE;IAED,IAAI,UAAU,CAAC,gBAAgB,IAAI,UAAU,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QACzE,MAAM,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAA;KACtD;IAED,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;QACjE,MAAM,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAA;KAC9C;IAED,IACE,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAC7B,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,QAAQ;QAC5C,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;QAC5B,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,EAChC;QACA,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;KACxC;IAED,IAAI,UAAU,CAAC,oBAAoB,EAAE;QACnC,IACE,UAAU,CAAC,oBAAoB,CAAC,IAAI;YACpC,OAAO,UAAU,CAAC,oBAAoB,CAAC,IAAI,KAAK,UAAU,EAC1D;YACA,MAAM,CAAC,oBAAoB,CAAC,IAAI,GAAG,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAA;SACxE;QACD,IACE,UAAU,CAAC,oBAAoB,CAAC,GAAG;YACnC,OAAO,UAAU,CAAC,oBAAoB,CAAC,GAAG,KAAK,UAAU,EACzD;YACA,MAAM,CAAC,oBAAoB,CAAC,GAAG,GAAG,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAA;SACtE;KACF;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AA7DD,gCA6DC"}
|
package/dist/delay/middleware.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
exports.createDelayMiddleware =
|
|
7
|
-
|
|
8
|
-
var pause = require('connect-pause');
|
|
9
|
-
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createDelayMiddleware = void 0;
|
|
7
|
+
const connect_pause_1 = __importDefault(require("connect-pause"));
|
|
10
8
|
function createDelayMiddleware(delay) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
9
|
+
return function (req, res, next) {
|
|
10
|
+
console.log('Start delay...');
|
|
11
|
+
(0, connect_pause_1.default)(delay)(req, res, next);
|
|
12
|
+
console.log('Delay finished!');
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
exports.createDelayMiddleware = createDelayMiddleware;
|
|
16
|
+
//# sourceMappingURL=middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/delay/middleware.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAiC;AAEjC,SAAS,qBAAqB,CAAC,KAAK;IAClC,OAAO,UAAU,GAAG,EAAE,GAAG,EAAE,IAAI;QAC7B,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAC7B,IAAA,uBAAK,EAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QAC5B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAChC,CAAC,CAAA;AACH,CAAC;AAEQ,sDAAqB"}
|
package/dist/errors/index.js
CHANGED
|
@@ -1,21 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.new400BadRequestError = exports.new404NotFoundError = void 0;
|
|
4
|
+
const types_1 = require("./types");
|
|
5
|
+
function new404NotFoundError(message = 'Not Found') {
|
|
6
|
+
return new types_1.TembaError(message, 404);
|
|
7
|
+
}
|
|
6
8
|
exports.new404NotFoundError = new404NotFoundError;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function new404NotFoundError() {
|
|
10
|
-
var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'Not Found';
|
|
11
|
-
var error = new Error(message);
|
|
12
|
-
error.status = 404;
|
|
13
|
-
return error;
|
|
9
|
+
function new400BadRequestError(message = 'Bad Request') {
|
|
10
|
+
return new types_1.TembaError(message, 400);
|
|
14
11
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'Bad Request';
|
|
18
|
-
var error = new Error(message);
|
|
19
|
-
error.status = 400;
|
|
20
|
-
return error;
|
|
21
|
-
}
|
|
12
|
+
exports.new400BadRequestError = new400BadRequestError;
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC,SAAS,mBAAmB,CAAC,OAAO,GAAG,WAAW;IAChD,OAAO,IAAI,kBAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AACrC,CAAC;AAMQ,kDAAmB;AAJ5B,SAAS,qBAAqB,CAAC,OAAO,GAAG,aAAa;IACpD,OAAO,IAAI,kBAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AACrC,CAAC;AAE6B,sDAAqB"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.errorHandler = void 0;
|
|
4
|
+
function errorHandler(err, _, res) {
|
|
5
|
+
console.log('errorHandler: ' + err.message);
|
|
6
|
+
if (!err.status)
|
|
7
|
+
err.status = 500;
|
|
8
|
+
return res.status(err.status).json({ message: err.message });
|
|
9
|
+
}
|
|
6
10
|
exports.errorHandler = errorHandler;
|
|
7
|
-
|
|
8
|
-
function errorHandler(err, _, res, next) {
|
|
9
|
-
console.log('errorHandler: ' + err.message);
|
|
10
|
-
if (!err.status) err.status = 500;
|
|
11
|
-
return res.status(err.status).json({
|
|
12
|
-
message: err.message
|
|
13
|
-
});
|
|
14
|
-
}
|
|
11
|
+
//# sourceMappingURL=middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/errors/middleware.ts"],"names":[],"mappings":";;;AAAA,SAAS,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG;IAC/B,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;IAE3C,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAA;IAEjC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;AAC9D,CAAC;AAEQ,oCAAY"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TembaError = void 0;
|
|
4
|
+
class TembaError extends Error {
|
|
5
|
+
constructor(msg, status) {
|
|
6
|
+
super(msg);
|
|
7
|
+
this.status = status;
|
|
8
|
+
Object.setPrototypeOf(this, TembaError.prototype);
|
|
9
|
+
this.status = status;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.TembaError = TembaError;
|
|
13
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/errors/types.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAW,SAAQ,KAAK;IACnC,YAAY,GAAW,EAAS,MAAc;QAC5C,KAAK,CAAC,GAAG,CAAC,CAAA;QADoB,WAAM,GAAN,MAAM,CAAQ;QAE5C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;QAEjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF;AAPD,gCAOC"}
|
package/dist/logging/index.js
CHANGED
|
@@ -1,38 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.logLevels =
|
|
8
|
-
var DEBUG = 'DEBUG';
|
|
9
|
-
var INFO = 'INFO'; //TODO Add 'NONE'
|
|
10
|
-
|
|
11
|
-
var logLevels = {
|
|
12
|
-
DEBUG: DEBUG,
|
|
13
|
-
INFO: INFO
|
|
14
|
-
};
|
|
15
|
-
exports.logLevels = logLevels;
|
|
16
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createLogger = exports.logLevels = void 0;
|
|
4
|
+
const DEBUG = 'DEBUG';
|
|
5
|
+
const INFO = 'INFO';
|
|
6
|
+
//TODO Add 'NONE'
|
|
7
|
+
exports.logLevels = { DEBUG, INFO };
|
|
17
8
|
function createLogger(logLevel) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
9
|
+
return {
|
|
10
|
+
debug: function (message) {
|
|
11
|
+
try {
|
|
12
|
+
if (logLevel === DEBUG)
|
|
13
|
+
console.log(new Date(), 'DEBUG -', message);
|
|
14
|
+
}
|
|
15
|
+
catch (_a) {
|
|
16
|
+
//swallow exceptions during logging
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
info: function (message) {
|
|
20
|
+
try {
|
|
21
|
+
if (logLevel === DEBUG || logLevel === INFO)
|
|
22
|
+
console.info(new Date(), 'INFO -', message);
|
|
23
|
+
}
|
|
24
|
+
catch (_a) {
|
|
25
|
+
//swallow exceptions during logging
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
error: function (message) {
|
|
29
|
+
try {
|
|
30
|
+
console.error(new Date(), 'ERROR -', message);
|
|
31
|
+
}
|
|
32
|
+
catch (_a) {
|
|
33
|
+
//swallow exceptions during logging
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
exports.createLogger = createLogger;
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,KAAK,GAAG,OAAO,CAAA;AACrB,MAAM,IAAI,GAAG,MAAM,CAAA;AACnB,iBAAiB;AAEJ,QAAA,SAAS,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AAExC,SAAgB,YAAY,CAAC,QAAQ;IACnC,OAAO;QACL,KAAK,EAAE,UAAU,OAAO;YACtB,IAAI;gBACF,IAAI,QAAQ,KAAK,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;aACpE;YAAC,WAAM;gBACN,mCAAmC;aACpC;QACH,CAAC;QAED,IAAI,EAAE,UAAU,OAAO;YACrB,IAAI;gBACF,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,IAAI;oBACzC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;aAC/C;YAAC,WAAM;gBACN,mCAAmC;aACpC;QACH,CAAC;QAED,KAAK,EAAE,UAAU,OAAO;YACtB,IAAI;gBACF,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;aAC9C;YAAC,WAAM;gBACN,mCAAmC;aACpC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AA3BD,oCA2BC"}
|
|
@@ -1,96 +1,65 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
-
|
|
16
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
17
|
-
|
|
18
|
-
var data = {};
|
|
19
|
-
|
|
20
|
-
function connectToDatabase() {// do nothing
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const data = {};
|
|
4
|
+
function connectToDatabase() {
|
|
5
|
+
// do nothing
|
|
21
6
|
}
|
|
22
|
-
|
|
23
7
|
function getAll(resourceName) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
8
|
+
createResourceArrayIfNecessary(resourceName);
|
|
9
|
+
return new Promise((resolve) => {
|
|
10
|
+
resolve(data[resourceName]);
|
|
11
|
+
});
|
|
28
12
|
}
|
|
29
|
-
|
|
30
13
|
function getById(resourceName, id) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}));
|
|
36
|
-
});
|
|
14
|
+
createResourceArrayIfNecessary(resourceName);
|
|
15
|
+
return new Promise((resolve) => {
|
|
16
|
+
resolve(data[resourceName].find((item) => item.id === id));
|
|
17
|
+
});
|
|
37
18
|
}
|
|
38
|
-
|
|
39
19
|
function create(resourceName, item) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
data[resourceName] = [].concat((0, _toConsumableArray2["default"])(data[resourceName]), [newItem]);
|
|
47
|
-
return new Promise(function (resolve) {
|
|
48
|
-
resolve(newItem);
|
|
49
|
-
});
|
|
20
|
+
createResourceArrayIfNecessary(resourceName);
|
|
21
|
+
const newItem = Object.assign(Object.assign({}, item), { id: String(new Date().getTime()) });
|
|
22
|
+
data[resourceName] = [...data[resourceName], newItem];
|
|
23
|
+
return new Promise((resolve) => {
|
|
24
|
+
resolve(newItem);
|
|
25
|
+
});
|
|
50
26
|
}
|
|
51
|
-
|
|
52
27
|
function update(resourceName, item) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
});
|
|
28
|
+
createResourceArrayIfNecessary(resourceName);
|
|
29
|
+
const updatedItem = Object.assign({}, item);
|
|
30
|
+
data[resourceName] = [
|
|
31
|
+
...data[resourceName].filter((r) => r.id !== item.id),
|
|
32
|
+
updatedItem,
|
|
33
|
+
];
|
|
34
|
+
return new Promise((resolve) => {
|
|
35
|
+
resolve(updatedItem);
|
|
36
|
+
});
|
|
63
37
|
}
|
|
64
|
-
|
|
65
38
|
function deleteById(resourceName, id) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
resolve();
|
|
72
|
-
});
|
|
39
|
+
createResourceArrayIfNecessary(resourceName);
|
|
40
|
+
data[resourceName] = data[resourceName].filter((item) => item.id !== id);
|
|
41
|
+
return new Promise((resolve) => {
|
|
42
|
+
resolve();
|
|
43
|
+
});
|
|
73
44
|
}
|
|
74
|
-
|
|
75
45
|
function deleteAll(resourceName) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
46
|
+
createResourceArrayIfNecessary(resourceName);
|
|
47
|
+
data[resourceName] = [];
|
|
48
|
+
return new Promise((resolve) => {
|
|
49
|
+
resolve([]);
|
|
50
|
+
});
|
|
81
51
|
}
|
|
82
|
-
|
|
83
52
|
function createResourceArrayIfNecessary(resourceName) {
|
|
84
|
-
|
|
53
|
+
if (!data.hasOwnProperty(resourceName))
|
|
54
|
+
data[resourceName] = [];
|
|
85
55
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
deleteAll: deleteAll
|
|
56
|
+
exports.default = {
|
|
57
|
+
connectToDatabase,
|
|
58
|
+
getAll,
|
|
59
|
+
getById,
|
|
60
|
+
create,
|
|
61
|
+
update,
|
|
62
|
+
deleteById,
|
|
63
|
+
deleteAll,
|
|
95
64
|
};
|
|
96
|
-
|
|
65
|
+
//# sourceMappingURL=in-memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory.js","sourceRoot":"","sources":["../../src/queries/in-memory.ts"],"names":[],"mappings":";;AAAA,MAAM,IAAI,GAAG,EAAE,CAAA;AAEf,SAAS,iBAAiB;IACxB,aAAa;AACf,CAAC;AAED,SAAS,MAAM,CAAC,YAAY;IAC1B,8BAA8B,CAAC,YAAY,CAAC,CAAA;IAE5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,YAAY,EAAE,EAAE;IAC/B,8BAA8B,CAAC,YAAY,CAAC,CAAA;IAE5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,YAAY,EAAE,IAAI;IAChC,8BAA8B,CAAC,YAAY,CAAC,CAAA;IAE5C,MAAM,OAAO,mCAAQ,IAAI,KAAE,EAAE,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,GAAE,CAAA;IAE7D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAA;IAErD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,OAAO,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,YAAY,EAAE,IAAI;IAChC,8BAA8B,CAAC,YAAY,CAAC,CAAA;IAE5C,MAAM,WAAW,qBAAQ,IAAI,CAAE,CAAA;IAC/B,IAAI,CAAC,YAAY,CAAC,GAAG;QACnB,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,WAAW;KACZ,CAAA;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,OAAO,CAAC,WAAW,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,YAAY,EAAE,EAAE;IAClC,8BAA8B,CAAC,YAAY,CAAC,CAAA;IAE5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACxE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,YAAY;IAC7B,8BAA8B,CAAC,YAAY,CAAC,CAAA;IAE5C,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAA;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,OAAO,CAAC,EAAE,CAAC,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,YAAY;IAClD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;QAAE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAA;AACjE,CAAC;AAED,kBAAe;IACb,iBAAiB;IACjB,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,UAAU;IACV,SAAS;CACV,CAAA"}
|
package/dist/queries/index.js
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _inMemory = _interopRequireDefault(require("./in-memory"));
|
|
11
|
-
|
|
12
|
-
var _mongo = _interopRequireDefault(require("./mongo"));
|
|
13
|
-
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createQueries = void 0;
|
|
7
|
+
const in_memory_1 = __importDefault(require("./in-memory"));
|
|
8
|
+
const mongo_1 = __importDefault(require("./mongo"));
|
|
14
9
|
function createQueries(connectionString) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
10
|
+
if (!connectionString) {
|
|
11
|
+
return in_memory_1.default;
|
|
12
|
+
}
|
|
13
|
+
const mongoQueries = (0, mongo_1.default)(connectionString);
|
|
14
|
+
return mongoQueries;
|
|
15
|
+
}
|
|
16
|
+
exports.createQueries = createQueries;
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queries/index.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAyC;AACzC,oDAAwC;AAExC,SAAS,aAAa,CAAC,gBAAgB;IACrC,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO,mBAAe,CAAA;KACvB;IAED,MAAM,YAAY,GAAG,IAAA,eAAkB,EAAC,gBAAgB,CAAC,CAAA;IACzD,OAAO,YAAY,CAAA;AACrB,CAAC;AAEQ,sCAAa"}
|