temba 0.17.0 → 0.18.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.
Files changed (67) hide show
  1. package/README.md +44 -8
  2. package/config/index.d.ts +10 -5
  3. package/config/index.js +37 -14
  4. package/config/index.js.map +1 -1
  5. package/delay/delayMiddleware.js +1 -1
  6. package/delay/delayMiddleware.js.map +1 -1
  7. package/index.js +26 -22
  8. package/index.js.map +1 -1
  9. package/package.json +16 -14
  10. package/queries/in-memory.d.ts +9 -8
  11. package/queries/in-memory.js +46 -24
  12. package/queries/in-memory.js.map +1 -1
  13. package/queries/mongo.d.ts +1 -1
  14. package/queries/mongo.js +170 -58
  15. package/queries/mongo.js.map +1 -1
  16. package/queries/queries.d.ts +0 -9
  17. package/queries/queries.js +3 -3
  18. package/queries/queries.js.map +1 -1
  19. package/queries/types.d.ts +14 -0
  20. package/queries/types.js +3 -0
  21. package/queries/types.js.map +1 -0
  22. package/routes/delete.d.ts +5 -2
  23. package/routes/delete.js +55 -17
  24. package/routes/delete.js.map +1 -1
  25. package/routes/get.d.ts +5 -2
  26. package/routes/get.js +92 -48
  27. package/routes/get.js.map +1 -1
  28. package/routes/interceptRequestBody.d.ts +3 -0
  29. package/routes/interceptRequestBody.js +19 -0
  30. package/routes/interceptRequestBody.js.map +1 -0
  31. package/routes/patch.d.ts +6 -2
  32. package/routes/patch.js +82 -27
  33. package/routes/patch.js.map +1 -1
  34. package/routes/post.d.ts +6 -2
  35. package/routes/post.js +67 -27
  36. package/routes/post.js.map +1 -1
  37. package/routes/put.d.ts +6 -2
  38. package/routes/put.js +82 -27
  39. package/routes/put.js.map +1 -1
  40. package/routes/routes.d.ts +3 -1
  41. package/routes/routes.js +51 -22
  42. package/routes/routes.js.map +1 -1
  43. package/routes/types.d.ts +9 -3
  44. package/routes/utils.d.ts +1 -3
  45. package/routes/utils.js +7 -2
  46. package/routes/utils.js.map +1 -1
  47. package/schema/compile.d.ts +2 -0
  48. package/schema/compile.js +41 -0
  49. package/schema/compile.js.map +1 -0
  50. package/schema/transformConfig.d.ts +2 -0
  51. package/schema/transformConfig.js +17 -0
  52. package/schema/transformConfig.js.map +1 -0
  53. package/schema/types.d.ts +35 -0
  54. package/schema/types.js +3 -0
  55. package/schema/types.js.map +1 -0
  56. package/schema/validate.d.ts +3 -0
  57. package/schema/validate.js +19 -0
  58. package/schema/validate.js.map +1 -0
  59. package/urls/urlMiddleware.d.ts +4 -2
  60. package/urls/urlMiddleware.js +18 -7
  61. package/urls/urlMiddleware.js.map +1 -1
  62. package/urls/urlParser.d.ts +3 -3
  63. package/urls/urlParser.js +4 -4
  64. package/urls/urlParser.js.map +1 -1
  65. package/routes/interceptors.d.ts +0 -3
  66. package/routes/interceptors.js +0 -22
  67. package/routes/interceptors.js.map +0 -1
package/routes/types.d.ts CHANGED
@@ -1,6 +1,12 @@
1
+ import { Request } from 'express';
2
+ import { Item } from '../queries/types';
3
+ export type ExtendedRequest = Request & {
4
+ requestInfo: RequestInfo;
5
+ };
1
6
  type RequestInfo = {
2
7
  resource: string;
3
8
  body: unknown;
9
+ id?: string;
4
10
  };
5
11
  export type RequestBodyInterceptorCallback = (info: RequestInfo) => void | string | object;
6
12
  export type RequestBodyInterceptor = {
@@ -8,10 +14,10 @@ export type RequestBodyInterceptor = {
8
14
  patch?: RequestBodyInterceptorCallback;
9
15
  put?: RequestBodyInterceptorCallback;
10
16
  };
11
- type ResponseInfo = {
17
+ export type ResponseInfo<T extends Item | Item[]> = {
12
18
  resource: string;
13
- body: unknown;
19
+ body: T;
14
20
  id?: string;
15
21
  };
16
- export type ResponseBodyInterceptor = (info: ResponseInfo) => unknown;
22
+ export type ResponseBodyInterceptor = (info: ResponseInfo<Item | Item[]>) => unknown;
17
23
  export {};
package/routes/utils.d.ts CHANGED
@@ -1,3 +1 @@
1
- export declare const removeNullFields: (obj: Record<string, unknown>) => {
2
- [k: string]: unknown;
3
- };
1
+ export declare const removeNullFields: (obj: unknown) => unknown;
package/routes/utils.js CHANGED
@@ -1,8 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.removeNullFields = void 0;
4
- const removeNullFields = (obj) => {
5
- return Object.fromEntries(Object.entries(obj).filter(([_, value]) => value !== null));
4
+ var removeNullFields = function (obj) {
5
+ if (typeof obj !== 'object')
6
+ return obj;
7
+ return Object.fromEntries(Object.entries(obj).filter(function (_a) {
8
+ var value = _a[1];
9
+ return value !== null;
10
+ }));
6
11
  };
7
12
  exports.removeNullFields = removeNullFields;
8
13
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/routes/utils.ts"],"names":[],"mappings":";;;AAAO,MAAM,gBAAgB,GAAG,CAAC,GAA4B,EAAE,EAAE;IAC/D,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAA;AACvF,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/routes/utils.ts"],"names":[],"mappings":";;;AAAO,IAAM,gBAAgB,GAAG,UAAC,GAAY;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAA;IACvC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAC,EAAS;YAAN,KAAK,QAAA;QAAM,OAAA,KAAK,KAAK,IAAI;IAAd,CAAc,CAAC,CAAC,CAAA;AACtF,CAAC,CAAA;AAHY,QAAA,gBAAgB,oBAG5B"}
@@ -0,0 +1,2 @@
1
+ import { ConfiguredSchemas, CompiledSchemas } from './types';
2
+ export declare const compileAndTransformSchemas: (schemas: ConfiguredSchemas) => CompiledSchemas;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.compileAndTransformSchemas = void 0;
18
+ var ajv_1 = __importDefault(require("ajv"));
19
+ var transformConfig_1 = require("./transformConfig");
20
+ var compileSchemas = function (schemas) {
21
+ // Use a single Ajv instance in the whole app
22
+ var ajv = new ajv_1.default();
23
+ // Turn the configured schemas into compiled schemas
24
+ var compiledSchemas = __assign({}, schemas);
25
+ Object.keys(schemas).forEach(function (resource) {
26
+ Object.keys(schemas[resource]).forEach(function (method) {
27
+ compiledSchemas[resource][method] = ajv.compile(schemas[resource][method]);
28
+ });
29
+ });
30
+ return compiledSchemas;
31
+ };
32
+ var compileAndTransformSchemas = function (schemas) {
33
+ var transformedSchemas = {};
34
+ if (schemas) {
35
+ var compiledSchemas = compileSchemas(schemas);
36
+ transformedSchemas = (0, transformConfig_1.transformSchemas)(compiledSchemas);
37
+ }
38
+ return transformedSchemas;
39
+ };
40
+ exports.compileAndTransformSchemas = compileAndTransformSchemas;
41
+ //# sourceMappingURL=compile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/schema/compile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAAqB;AAErB,qDAAoD;AAEpD,IAAM,cAAc,GAAG,UAAC,OAA0B;IAChD,6CAA6C;IAC7C,IAAM,GAAG,GAAG,IAAI,aAAG,EAAE,CAAA;IAErB,oDAAoD;IACpD,IAAM,eAAe,gBAAyB,OAAO,CAAE,CAAA;IACvD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,QAAQ;QACpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAC,MAAM;YAC5C,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5E,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA;AAEM,IAAM,0BAA0B,GAAG,UAAC,OAA0B;IACnE,IAAI,kBAAkB,GAAG,EAAE,CAAA;IAC3B,IAAI,OAAO,EAAE;QACX,IAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QAC/C,kBAAkB,GAAG,IAAA,kCAAgB,EAAC,eAAe,CAAC,CAAA;KACvD;IAED,OAAO,kBAAkB,CAAA;AAC3B,CAAC,CAAA;AARY,QAAA,0BAA0B,8BAQtC"}
@@ -0,0 +1,2 @@
1
+ import { ConfiguredSchemas, TransformedSchemas } from './types';
2
+ export declare const transformSchemas: (schemas: ConfiguredSchemas) => TransformedSchemas;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformSchemas = void 0;
4
+ var transformSchemas = function (schemas) {
5
+ var transformedObject = {};
6
+ for (var resource in schemas) {
7
+ for (var key in schemas[resource]) {
8
+ if (!transformedObject[key]) {
9
+ transformedObject[key] = {};
10
+ }
11
+ transformedObject[key][resource] = schemas[resource][key];
12
+ }
13
+ }
14
+ return transformedObject;
15
+ };
16
+ exports.transformSchemas = transformSchemas;
17
+ //# sourceMappingURL=transformConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformConfig.js","sourceRoot":"","sources":["../../src/schema/transformConfig.ts"],"names":[],"mappings":";;;AAEO,IAAM,gBAAgB,GAAG,UAAC,OAA0B;IACzD,IAAM,iBAAiB,GAAG,EAAE,CAAA;IAE5B,KAAK,IAAM,QAAQ,IAAI,OAAO,EAAE;QAC9B,KAAK,IAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;YACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;gBAC3B,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;aAC5B;YACD,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA;SAC1D;KACF;IAED,OAAO,iBAAiB,CAAA;AAC1B,CAAC,CAAA;AAbY,QAAA,gBAAgB,oBAa5B"}
@@ -0,0 +1,35 @@
1
+ import { ValidateFunction } from 'ajv';
2
+ export type ConfiguredSchemas = {
3
+ [resource: string]: ConfiguredResourceSchema;
4
+ };
5
+ type ConfiguredResourceSchema = {
6
+ post?: unknown;
7
+ put?: unknown;
8
+ patch?: unknown;
9
+ };
10
+ export type TransformedSchemas = {
11
+ post?: {
12
+ [resource: string]: unknown;
13
+ };
14
+ put?: {
15
+ [resource: string]: unknown;
16
+ };
17
+ patch?: {
18
+ [resource: string]: unknown;
19
+ };
20
+ };
21
+ export type ValidateFunctionPerResource = {
22
+ [resource: string]: ValidateFunction<unknown>;
23
+ };
24
+ export type CompiledSchemas = {
25
+ post?: ValidateFunctionPerResource;
26
+ put?: ValidateFunctionPerResource;
27
+ patch?: ValidateFunctionPerResource;
28
+ };
29
+ export type ValidationResult = {
30
+ isValid: false;
31
+ errorMessage: string;
32
+ } | {
33
+ isValid: true;
34
+ };
35
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { ValidateFunction } from 'ajv';
2
+ import { ValidationResult } from './types';
3
+ export declare const validate: (body: unknown, validate?: ValidateFunction<unknown>) => ValidationResult;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validate = void 0;
4
+ var validate = function (body, validate) {
5
+ var _a, _b;
6
+ if (!validate)
7
+ return { isValid: true };
8
+ if (validate(body)) {
9
+ return { isValid: true };
10
+ }
11
+ else {
12
+ return {
13
+ isValid: false,
14
+ errorMessage: (_b = (_a = validate.errors) === null || _a === void 0 ? void 0 : _a[0].message) !== null && _b !== void 0 ? _b : 'Unknown schema validation error',
15
+ };
16
+ }
17
+ };
18
+ exports.validate = validate;
19
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/schema/validate.ts"],"names":[],"mappings":";;;AAGO,IAAM,QAAQ,GAAG,UAAC,IAAa,EAAE,QAAoC;;IAC1E,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAEvC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;QAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;KACzB;SAAM;QACL,OAAO;YACL,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,MAAA,MAAA,QAAQ,CAAC,MAAM,0CAAG,CAAC,EAAE,OAAO,mCAAI,iCAAiC;SAChF,CAAA;KACF;AACH,CAAC,CAAA;AAXY,QAAA,QAAQ,YAWpB"}
@@ -1,3 +1,5 @@
1
- declare function createResourceAndIdParser(apiPrefix: any): (req: any, _: any, next: any) => any;
2
- declare function createValidateResourceMiddleware(validateResources: any, resources: any): (req: any, res: any, next: any) => any;
1
+ import { Response } from 'express';
2
+ import { ExtendedRequest } from '../routes/types';
3
+ declare function createResourceAndIdParser(apiPrefix: string): (req: ExtendedRequest, res: Response, next: () => void) => void;
4
+ declare function createValidateResourceMiddleware(validateResources: boolean, resources: string[]): (req: ExtendedRequest, res: Response, next: () => void) => void | Response<any, Record<string, any>>;
3
5
  export { createResourceAndIdParser, createValidateResourceMiddleware };
@@ -1,12 +1,23 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
3
14
  exports.createValidateResourceMiddleware = exports.createResourceAndIdParser = void 0;
4
- const urlParser_1 = require("./urlParser");
15
+ var urlParser_1 = require("./urlParser");
5
16
  function createResourceAndIdParser(apiPrefix) {
6
- return function getResourceAndId(req, _, next) {
7
- const url = req.baseUrl.replace(apiPrefix, '');
8
- const urlInfo = (0, urlParser_1.parseUrl)(url);
9
- req.requestInfo = Object.assign(Object.assign({}, req.requestInfo), urlInfo);
17
+ return function getResourceAndId(req, res, next) {
18
+ var url = req.baseUrl.replace(apiPrefix, '');
19
+ var urlInfo = (0, urlParser_1.parseUrl)(url);
20
+ req.requestInfo = __assign(__assign({}, req.requestInfo), urlInfo);
10
21
  return next();
11
22
  };
12
23
  }
@@ -15,12 +26,12 @@ function createValidateResourceMiddleware(validateResources, resources) {
15
26
  return function validateResource(req, res, next) {
16
27
  if (!validateResources)
17
28
  return next();
18
- const { resource } = req.requestInfo;
29
+ var resource = req.requestInfo.resource;
19
30
  if (!resource)
20
31
  return next();
21
32
  if (!resources.includes(resource.toLowerCase())) {
22
33
  return res.status(404).json({
23
- message: `'${resource}' is an unknown resource`,
34
+ message: "'".concat(resource, "' is an unknown resource"),
24
35
  });
25
36
  }
26
37
  return next();
@@ -1 +1 @@
1
- {"version":3,"file":"urlMiddleware.js","sourceRoot":"","sources":["../../src/urls/urlMiddleware.ts"],"names":[],"mappings":";;;AAAA,2CAAsC;AAEtC,SAAS,yBAAyB,CAAC,SAAS;IAC1C,OAAO,SAAS,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI;QAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,GAAG,CAAC,CAAA;QAE7B,GAAG,CAAC,WAAW,mCAAQ,GAAG,CAAC,WAAW,GAAK,OAAO,CAAE,CAAA;QAEpD,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAoBQ,8DAAyB;AAlBlC,SAAS,gCAAgC,CAAC,iBAAiB,EAAE,SAAS;IACpE,OAAO,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QAC7C,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,EAAE,CAAA;QAErC,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,WAAW,CAAA;QAEpC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,EAAE,CAAA;QAE5B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE;YAC/C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,IAAI,QAAQ,0BAA0B;aAChD,CAAC,CAAA;SACH;QAED,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAEmC,4EAAgC"}
1
+ {"version":3,"file":"urlMiddleware.js","sourceRoot":"","sources":["../../src/urls/urlMiddleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,yCAAsC;AAGtC,SAAS,yBAAyB,CAAC,SAAiB;IAClD,OAAO,SAAS,gBAAgB,CAAC,GAAoB,EAAE,GAAa,EAAE,IAAgB;QACpF,IAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAC9C,IAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,GAAG,CAAC,CAAA;QAE7B,GAAG,CAAC,WAAW,yBAAQ,GAAG,CAAC,WAAW,GAAK,OAAO,CAAE,CAAA;QAEpD,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAoBQ,8DAAyB;AAlBlC,SAAS,gCAAgC,CAAC,iBAA0B,EAAE,SAAmB;IACvF,OAAO,SAAS,gBAAgB,CAAC,GAAoB,EAAE,GAAa,EAAE,IAAgB;QACpF,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,EAAE,CAAA;QAE7B,IAAA,QAAQ,GAAK,GAAG,CAAC,WAAW,SAApB,CAAoB;QAEpC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,EAAE,CAAA;QAE5B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE;YAC/C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,WAAI,QAAQ,6BAA0B;aAChD,CAAC,CAAA;SACH;QAED,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAEmC,4EAAgC"}
@@ -1,5 +1,5 @@
1
- declare function parseUrl(url: any): {
2
- resource: any;
3
- id: any;
1
+ declare function parseUrl(url: string): {
2
+ resource: string;
3
+ id: string;
4
4
  };
5
5
  export { parseUrl };
package/urls/urlParser.js CHANGED
@@ -4,10 +4,10 @@ exports.parseUrl = void 0;
4
4
  function parseUrl(url) {
5
5
  if (!url || (url && !url.trim()))
6
6
  return { resource: null, id: null };
7
- const urlSegments = url.split('/').filter((i) => i);
8
- const resource = urlSegments.length > 0 ? urlSegments[0] : null;
9
- const id = urlSegments.length > 1 ? urlSegments[1] : null;
10
- return { resource, id };
7
+ var urlSegments = url.split('/').filter(function (i) { return i; });
8
+ var resource = urlSegments.length > 0 ? urlSegments[0] : null;
9
+ var id = urlSegments.length > 1 ? urlSegments[1] : null;
10
+ return { resource: resource, id: id };
11
11
  }
12
12
  exports.parseUrl = parseUrl;
13
13
  //# sourceMappingURL=urlParser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"urlParser.js","sourceRoot":"","sources":["../../src/urls/urlParser.ts"],"names":[],"mappings":";;;AAAA,SAAS,QAAQ,CAAC,GAAG;IACnB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAErE,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAEnD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/D,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEzD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;AACzB,CAAC;AAEQ,4BAAQ"}
1
+ {"version":3,"file":"urlParser.js","sourceRoot":"","sources":["../../src/urls/urlParser.ts"],"names":[],"mappings":";;;AAAA,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAErE,IAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,EAAD,CAAC,CAAC,CAAA;IAEnD,IAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/D,IAAM,EAAE,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEzD,OAAO,EAAE,QAAQ,UAAA,EAAE,EAAE,IAAA,EAAE,CAAA;AACzB,CAAC;AAEQ,4BAAQ"}
@@ -1,3 +0,0 @@
1
- import { RequestBodyInterceptorCallback } from './types';
2
- declare function interceptRequestBody(intercept: RequestBodyInterceptorCallback, req: any): string | object;
3
- export { interceptRequestBody };
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.interceptRequestBody = void 0;
4
- function interceptRequestBody(intercept, req) {
5
- const { resource } = req.requestInfo;
6
- let body = req.body;
7
- const validationResult = intercept({ resource, body });
8
- if (!validationResult && typeof body === 'object')
9
- return body;
10
- if (typeof validationResult === 'string')
11
- return validationResult;
12
- // The request body was replaced by something else.
13
- if (validationResult)
14
- body = validationResult;
15
- if (typeof body === 'object') {
16
- return body;
17
- }
18
- else
19
- return req.body;
20
- }
21
- exports.interceptRequestBody = interceptRequestBody;
22
- //# sourceMappingURL=interceptors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interceptors.js","sourceRoot":"","sources":["../../src/routes/interceptors.ts"],"names":[],"mappings":";;;AAEA,SAAS,oBAAoB,CAAC,SAAyC,EAAE,GAAG;IAC1E,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,WAAW,CAAA;IACpC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;IAEnB,MAAM,gBAAgB,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtD,IAAI,CAAC,gBAAgB,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE9D,IAAI,OAAO,gBAAgB,KAAK,QAAQ;QAAE,OAAO,gBAAgB,CAAA;IAEjE,mDAAmD;IACnD,IAAI,gBAAgB;QAAE,IAAI,GAAG,gBAAgB,CAAA;IAE7C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,IAAI,CAAA;KACZ;;QAAM,OAAO,GAAG,CAAC,IAAI,CAAA;AACxB,CAAC;AAEQ,oDAAoB"}