@n1k1t/mock-server 0.1.26 → 0.1.28

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 (57) hide show
  1. package/lib/package.json +4 -5
  2. package/lib/src/client/methods/expectations-group.update.method.d.ts +2 -2
  3. package/lib/src/client/methods/expectations.create.method.d.ts +2 -2
  4. package/lib/src/client/methods/expectations.create.method.d.ts.map +1 -1
  5. package/lib/src/client/methods/expectations.create.method.js.map +1 -1
  6. package/lib/src/client/methods/expectations.delete.method.d.ts +2 -2
  7. package/lib/src/client/methods/expectations.delete.method.d.ts.map +1 -1
  8. package/lib/src/client/methods/expectations.delete.method.js.map +1 -1
  9. package/lib/src/client/methods/expectations.update.method.d.ts +2 -2
  10. package/lib/src/client/onsite.d.ts +1 -1
  11. package/lib/src/client/remote.d.ts +1 -1
  12. package/lib/src/client/utils.d.ts.map +1 -1
  13. package/lib/src/client/utils.js +8 -36
  14. package/lib/src/client/utils.js.map +1 -1
  15. package/lib/src/expectations/models/expectation.d.ts +3 -2
  16. package/lib/src/expectations/models/expectation.d.ts.map +1 -1
  17. package/lib/src/expectations/models/expectation.js +13 -2
  18. package/lib/src/expectations/models/expectation.js.map +1 -1
  19. package/lib/src/expectations/utils.d.ts +2 -1
  20. package/lib/src/expectations/utils.d.ts.map +1 -1
  21. package/lib/src/expectations/utils.js +32 -1
  22. package/lib/src/expectations/utils.js.map +1 -1
  23. package/lib/src/index.d.ts +1 -0
  24. package/lib/src/index.d.ts.map +1 -1
  25. package/lib/src/index.js +1 -0
  26. package/lib/src/index.js.map +1 -1
  27. package/lib/src/server/endpoints/cache.delete.endpoint.d.ts +47 -0
  28. package/lib/src/server/endpoints/cache.delete.endpoint.d.ts.map +1 -0
  29. package/lib/src/server/endpoints/cache.delete.endpoint.js +39 -0
  30. package/lib/src/server/endpoints/cache.delete.endpoint.js.map +1 -0
  31. package/lib/src/server/endpoints/cache.usage.get.endpoint.d.ts +48 -0
  32. package/lib/src/server/endpoints/cache.usage.get.endpoint.d.ts.map +1 -0
  33. package/lib/src/server/endpoints/cache.usage.get.endpoint.js +40 -0
  34. package/lib/src/server/endpoints/cache.usage.get.endpoint.js.map +1 -0
  35. package/lib/src/server/endpoints/expectations.create.endpoint.d.ts +1 -1
  36. package/lib/src/server/endpoints/index.d.ts +10 -8
  37. package/lib/src/server/endpoints/index.d.ts.map +1 -1
  38. package/lib/src/server/endpoints/index.js +13 -9
  39. package/lib/src/server/endpoints/index.js.map +1 -1
  40. package/lib/src/server/index.d.ts +1 -1
  41. package/lib/src/server/index.d.ts.map +1 -1
  42. package/lib/src/server/index.js +3 -1
  43. package/lib/src/server/index.js.map +1 -1
  44. package/lib/src/server/models/executor/index.d.ts.map +1 -1
  45. package/lib/src/server/models/executor/index.js +21 -10
  46. package/lib/src/server/models/executor/index.js.map +1 -1
  47. package/lib/src/server/transports/http/context.d.ts.map +1 -1
  48. package/lib/src/server/transports/http/context.js +3 -1
  49. package/lib/src/server/transports/http/context.js.map +1 -1
  50. package/lib/src/server/transports/ws/context.d.ts.map +1 -1
  51. package/lib/src/server/transports/ws/context.js +13 -10
  52. package/lib/src/server/transports/ws/context.js.map +1 -1
  53. package/lib/tsconfig.tsbuildinfo +1 -1
  54. package/package.json +4 -5
  55. package/public/index.html +6 -4
  56. package/public/scripts/main.js +760 -299
  57. package/public/styles/main.css +192 -99
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n1k1t/mock-server",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
4
4
  "description": "Powerful util to setup mocks over HTTP APIs",
5
5
  "main": "lib/src/index.js",
6
6
  "types": "lib/src/index.d.ts",
@@ -48,19 +48,18 @@
48
48
  "@types/node-gzip": "1.1.3",
49
49
  "@types/uuid": "8.3.4",
50
50
  "babelify": "10.0.0",
51
- "dotenv": "16.0.3",
52
- "handlebars": "4.7.7",
53
51
  "jest": "29.7.0",
54
52
  "jest-extended": "4.0.2",
55
53
  "ts-jest": "29.1.1",
56
54
  "ts-node": "10.9.2",
57
55
  "tsify": "5.0.4",
58
- "typescript": "5.7.2"
56
+ "typescript": "5.7.2",
57
+ "@types/ws": "8.5.13"
59
58
  },
60
59
  "dependencies": {
60
+ "handlebars": "4.7.7",
61
61
  "@faker-js/faker": "9.2.0",
62
62
  "@n1k1t/typebox": "0.31.14",
63
- "@types/ws": "8.5.13",
64
63
  "axios": "0.27.2",
65
64
  "body-parser": "1.20.3",
66
65
  "colors": "1.4.0",
@@ -1,8 +1,8 @@
1
1
  import { ClientMethod } from '../models';
2
2
  import { TEndpoints } from '../types';
3
3
  declare const _default: ClientMethod<{
4
- incoming: TEndpoints["updateExpectationsGroup"]["incoming"]["data"];
5
- outgoing: TEndpoints["updateExpectationsGroup"]["outgoing"]["data"];
4
+ incoming: TEndpoints["expectationsGroupUpdate"]["incoming"]["data"];
5
+ outgoing: TEndpoints["expectationsGroupUpdate"]["outgoing"]["data"];
6
6
  }>;
7
7
  export default _default;
8
8
  //# sourceMappingURL=expectations-group.update.method.d.ts.map
@@ -1,8 +1,8 @@
1
1
  import { ClientMethod } from '../models';
2
2
  import { TEndpoints } from '../types';
3
3
  declare const _default: ClientMethod<{
4
- incoming: TEndpoints["createExpectation"]["incoming"]["data"];
5
- outgoing: TEndpoints["createExpectation"]["outgoing"]["data"];
4
+ incoming: TEndpoints["expectationsCreate"]["incoming"]["data"];
5
+ outgoing: TEndpoints["expectationsCreate"]["outgoing"]["data"];
6
6
  }>;
7
7
  export default _default;
8
8
  //# sourceMappingURL=expectations.create.method.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expectations.create.method.d.ts","sourceRoot":"","sources":["../../../../src/client/methods/expectations.create.method.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;;cAOxB,UAAU,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;cACnD,UAAU,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;;AAHjE,wBA8BK"}
1
+ {"version":3,"file":"expectations.create.method.d.ts","sourceRoot":"","sources":["../../../../src/client/methods/expectations.create.method.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;;cAOxB,UAAU,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;cACpD,UAAU,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;;AAHlE,wBA8BK"}
@@ -1 +1 @@
1
- {"version":3,"file":"expectations.create.method.js","sourceRoot":"","sources":["../../../../src/client/methods/expectations.create.method.ts"],"names":[],"mappings":";;;;;AAAA,oCAA+E;AAC/E,sCAA4C;AAC5C,sCAAyC;AAEzC,uCAAmC;AAEnC,0DAAkC;AAElC,kBAAe,qBAAY;KACxB,KAAK,EAGF;KACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IAC/C,MAAM,QAAQ,GAAG,MAAM,QAAQ;SAC5B,OAAO,CAA8C;QACpD,IAAI,EAAE,IAAA,uCAA+B,EAAC,IAAI,CAAC;QAE3C,GAAG,IAAA,YAAI,EAA8C;YACnD,GAAG,EAAE,GAAG,gBAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,eAAe;YACzD,MAAM,EAAE,MAAM;SACf,CAAC;KACH,CAAC;SACD,KAAK,CAAC,0BAAkB,CAAC,CAAC;IAE7B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAC5B,CAAC,CAAC;KACD,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QACzE,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC,CAAC,CAAC;IAEJ,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,wBAAe,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"expectations.create.method.js","sourceRoot":"","sources":["../../../../src/client/methods/expectations.create.method.ts"],"names":[],"mappings":";;;;;AAAA,oCAA+E;AAC/E,sCAA4C;AAC5C,sCAAyC;AAEzC,uCAAmC;AAEnC,0DAAkC;AAElC,kBAAe,qBAAY;KACxB,KAAK,EAGF;KACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IAC/C,MAAM,QAAQ,GAAG,MAAM,QAAQ;SAC5B,OAAO,CAA+C;QACrD,IAAI,EAAE,IAAA,uCAA+B,EAAC,IAAI,CAAC;QAE3C,GAAG,IAAA,YAAI,EAA+C;YACpD,GAAG,EAAE,GAAG,gBAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,eAAe;YACzD,MAAM,EAAE,MAAM;SACf,CAAC;KACH,CAAC;SACD,KAAK,CAAC,0BAAkB,CAAC,CAAC;IAE7B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAC5B,CAAC,CAAC;KACD,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QACzE,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC,CAAC,CAAC;IAEJ,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,wBAAe,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { ClientMethod } from '../models';
2
2
  import { TEndpoints } from '../types';
3
3
  declare const _default: ClientMethod<{
4
- incoming: TEndpoints["deleteExpectation"]["incoming"]["data"];
5
- outgoing: TEndpoints["deleteExpectation"]["outgoing"]["data"];
4
+ incoming: TEndpoints["expectationsDelete"]["incoming"]["data"];
5
+ outgoing: TEndpoints["expectationsDelete"]["outgoing"]["data"];
6
6
  }>;
7
7
  export default _default;
8
8
  //# sourceMappingURL=expectations.delete.method.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expectations.delete.method.d.ts","sourceRoot":"","sources":["../../../../src/client/methods/expectations.delete.method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;;cAOxB,UAAU,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;cACnD,UAAU,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;;AAHjE,wBAyBK"}
1
+ {"version":3,"file":"expectations.delete.method.d.ts","sourceRoot":"","sources":["../../../../src/client/methods/expectations.delete.method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;;cAOxB,UAAU,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;cACpD,UAAU,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;;AAHlE,wBAyBK"}
@@ -1 +1 @@
1
- {"version":3,"file":"expectations.delete.method.js","sourceRoot":"","sources":["../../../../src/client/methods/expectations.delete.method.ts"],"names":[],"mappings":";;;;;AAAA,oCAA8C;AAC9C,sCAAyC;AAEzC,uCAAmC;AAEnC,0DAAkC;AAElC,kBAAe,qBAAY;KACxB,KAAK,EAGF;KACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IAC/C,MAAM,QAAQ;SACX,OAAO,CAA8C;QACpD,IAAI,EAAE,IAAI;QAEV,GAAG,IAAA,YAAI,EAA8C;YACnD,GAAG,EAAE,GAAG,gBAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,eAAe;YACzD,MAAM,EAAE,QAAQ;SACjB,CAAC;KACH,CAAC;SACD,KAAK,CAAC,0BAAkB,CAAC,CAAC;IAE7B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;KACD,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IAC/C,IAAI,EAAE,GAAG;QACP,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAE3C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"expectations.delete.method.js","sourceRoot":"","sources":["../../../../src/client/methods/expectations.delete.method.ts"],"names":[],"mappings":";;;;;AAAA,oCAA8C;AAC9C,sCAAyC;AAEzC,uCAAmC;AAEnC,0DAAkC;AAElC,kBAAe,qBAAY;KACxB,KAAK,EAGF;KACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IAC/C,MAAM,QAAQ;SACX,OAAO,CAA+C;QACrD,IAAI,EAAE,IAAI;QAEV,GAAG,IAAA,YAAI,EAA+C;YACpD,GAAG,EAAE,GAAG,gBAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,eAAe;YACzD,MAAM,EAAE,QAAQ;SACjB,CAAC;KACH,CAAC;SACD,KAAK,CAAC,0BAAkB,CAAC,CAAC;IAE7B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;KACD,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IAC/C,IAAI,EAAE,GAAG;QACP,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAE3C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { ClientMethod } from '../models';
2
2
  import { TEndpoints } from '../types';
3
3
  declare const _default: ClientMethod<{
4
- incoming: TEndpoints["updateExpectation"]["incoming"]["data"];
5
- outgoing: TEndpoints["updateExpectation"]["outgoing"]["data"] | null;
4
+ incoming: TEndpoints["expectationUpdate"]["incoming"]["data"];
5
+ outgoing: TEndpoints["expectationUpdate"]["outgoing"]["data"] | null;
6
6
  }>;
7
7
  export default _default;
8
8
  //# sourceMappingURL=expectations.update.method.d.ts.map
@@ -4,7 +4,7 @@ import type { Expectation } from '../expectations';
4
4
  import { Client } from './models';
5
5
  export declare class OnsiteClient<TContext extends IServerContext<any> = IServerContext<any>> extends Client<TContext> {
6
6
  constructor(provider: Provider<any>);
7
- updateExpectationsGroup(body: TEndpoints['updateExpectationsGroup']['incoming']['data']['set']): Promise<Expectation['TPlain'][]>;
7
+ updateExpectationsGroup(body: TEndpoints['expectationsGroupUpdate']['incoming']['data']['set']): Promise<Expectation['TPlain'][]>;
8
8
  static build<TContext extends IServerContext<any>>(provider: Provider<any>): OnsiteClient<TContext>;
9
9
  }
10
10
  //# sourceMappingURL=onsite.d.ts.map
@@ -3,7 +3,7 @@ import { IServerContext } from '../server/types';
3
3
  import { Client } from './models';
4
4
  export declare class RemoteClient<TContext extends IServerContext<any>> extends Client<TContext> {
5
5
  options: IRemoteClientConnectOptions;
6
- get updateExpectationsGroup(): import("..").TFunction<Promise<Pick<import("../expectations").Expectation<{}, import("../expectations").IExpectationSchemaContext<{}>>, "name" | "transports" | "schema" | "id" | "isEnabled" | "group" | "meta">[]>, [{
6
+ get updateExpectationsGroup(): import("..").TFunction<Promise<Pick<import("../expectations").Expectation<{}, import("..").IExpectationSchemaContext<{}>>, "name" | "transports" | "schema" | "id" | "isEnabled" | "group" | "meta">[]>, [{
7
7
  name?: string;
8
8
  set: {
9
9
  isEnabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/client/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAKnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAInD,OAAO,EACL,WAAW,EAGZ,MAAM,iBAAiB,CAAC;AAIzB,eAAO,MAAM,kBAAkB,UAAW,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,UAqB3E,CAAA;AAED,eAAO,MAAM,+BAA+B,GAAI,CAAC,SAAS,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAG,CAkCxG,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/client/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAKnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGnD,OAAO,EAAE,WAAW,EAA8B,MAAM,iBAAiB,CAAC;AAE1E,eAAO,MAAM,kBAAkB,UAAW,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,UAqB3E,CAAA;AAED,eAAO,MAAM,+BAA+B,GAAI,CAAC,SAAS,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAG,CAQvG,CAAC"}
@@ -1,15 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.prepareExpectationBodyToRequest = exports.handleRequestError = void 0;
7
- const rfdc_1 = __importDefault(require("rfdc"));
8
- const lodash_1 = __importDefault(require("lodash"));
9
4
  const errors_1 = require("./errors");
10
- const utils_1 = require("../utils");
11
5
  const expectations_1 = require("../expectations");
12
- const clone = (0, rfdc_1.default)();
13
6
  const handleRequestError = (error) => {
14
7
  const configuration = {
15
8
  baseURL: error.config.baseURL,
@@ -30,34 +23,13 @@ const handleRequestError = (error) => {
30
23
  throw new errors_1.InternalServerError(configuration, error.message);
31
24
  };
32
25
  exports.handleRequestError = handleRequestError;
33
- const prepareExpectationBodyToRequest = (body) => {
34
- const cloned = clone(body.schema ?? {});
35
- Object
36
- .entries(lodash_1.default.pick(body.schema ?? {}, ['request', 'response']))
37
- .forEach(([name, segment]) => (0, expectations_1.introspectExpectationOperatorsSchema)(segment, (key, schema, path) => {
38
- if (key === '$exec') {
39
- lodash_1.default.set(cloned, `${name}.${path}`, schema.$exec?.toString());
40
- }
41
- if (key === '$has' && schema.$has?.$regExp) {
42
- lodash_1.default.set(cloned, `${name}.${path}.$regExp`, (0, utils_1.serializeRegExp)(schema.$has.$regExp));
43
- }
44
- if (key === '$has' && schema.$has?.$regExpAnyOf) {
45
- lodash_1.default.set(cloned, `${name}.${path}.$regExpAnyOf`, schema.$has.$regExpAnyOf.map((expr) => (0, utils_1.serializeRegExp)(expr)));
46
- }
47
- if (key === '$has' && schema.$has?.$exec) {
48
- lodash_1.default.set(cloned, `${name}.${path}.$exec`, schema.$has.$exec.toString());
49
- }
50
- if (key === '$set' && schema.$set?.$exec) {
51
- lodash_1.default.set(cloned, `${name}.${path}.$exec`, schema.$set.$exec.toString());
52
- }
53
- if (key === '$merge' && schema.$merge?.$exec) {
54
- lodash_1.default.set(cloned, `${name}.${path}.$exec`, schema.$merge.$exec.toString());
55
- }
56
- if (key === '$switch' && schema.$switch?.$exec) {
57
- lodash_1.default.set(cloned, `${name}.${path}.$exec`, schema.$switch.$exec.toString());
58
- }
59
- }));
60
- return { ...body, schema: cloned };
61
- };
26
+ const prepareExpectationBodyToRequest = (body) => ({
27
+ ...body,
28
+ schema: {
29
+ ...body.schema,
30
+ ...(body.schema?.request && { request: (0, expectations_1.serializeExpectationSchema)(body.schema.request) }),
31
+ ...(body.schema?.response && { response: (0, expectations_1.serializeExpectationSchema)(body.schema.response) }),
32
+ }
33
+ });
62
34
  exports.prepareExpectationBodyToRequest = prepareExpectationBodyToRequest;
63
35
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/client/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/client/utils.ts"],"names":[],"mappings":";;;AAOA,qCAAiF;AACjF,kDAA0E;AAEnE,MAAM,kBAAkB,GAAG,CAAC,KAAyC,EAAE,EAAE;IAC9E,MAAM,aAAa,GAA0B;QAC3C,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;QAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;QAC3B,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG;KACtB,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,wBAAe,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED,QAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,4BAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnF,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,IAAI,wBAAe,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,MAAM,IAAI,4BAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAC9D,CAAC,CAAA;AArBY,QAAA,kBAAkB,sBAqB9B;AAEM,MAAM,+BAA+B,GAAG,CAAgD,IAAO,EAAK,EAAE,CAAC,CAAC;IAC7G,GAAG,IAAI;IAEP,MAAM,EAAE;QACN,GAAG,IAAI,CAAC,MAAM;QACd,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,OAAO,EAAE,IAAA,yCAA0B,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACzF,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,QAAQ,EAAE,IAAA,yCAA0B,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;KAC7F;CACF,CAAC,CAAC;AARU,QAAA,+BAA+B,mCAQzC"}
@@ -2,7 +2,7 @@ import { ValueError } from '@n1k1t/typebox/errors';
2
2
  import { IExpectationMeta, IExpectationSchemaContext, IExpectationSchemaInput, IExpectationSchema } from '../types';
3
3
  import * as operators from '../operators';
4
4
  export declare class Expectation<TInput extends IExpectationSchemaInput = {}, TContext extends IExpectationSchemaContext<TInput> = IExpectationSchemaContext<TInput>> {
5
- configuration: Pick<Expectation<TContext>, 'schema'> & Partial<Pick<Expectation<TContext>, 'id' | 'name' | 'isEnabled' | 'group' | 'transports'>>;
5
+ configuration: Pick<Expectation<TContext>, 'schema'> & Partial<Pick<Expectation<TContext>, 'id' | 'name' | 'isEnabled' | 'group' | 'transports' | 'meta'>>;
6
6
  TPlain: Pick<Expectation<TInput, TContext>, 'schema' | 'id' | 'group' | 'isEnabled' | 'meta' | 'name' | 'transports'>;
7
7
  id: string;
8
8
  name: string;
@@ -14,7 +14,8 @@ export declare class Expectation<TInput extends IExpectationSchemaInput = {}, TC
14
14
  response: operators.root<TContext, "error" | "flags" | "path" | "transport" | "event" | "state" | "seed" | "container" | "cache" | "method" | "delay" | "incoming.data" | "incoming.dataRaw" | "incoming.query" | "incoming.headers" | "incoming.stream" | "outgoing.data" | "outgoing.dataRaw" | "outgoing.status" | "outgoing.headers" | "outgoing.stream", void> | null;
15
15
  meta: IExpectationMeta;
16
16
  get forward(): import("../types").IExpectationSchemaForward | undefined;
17
- constructor(configuration: Pick<Expectation<TContext>, 'schema'> & Partial<Pick<Expectation<TContext>, 'id' | 'name' | 'isEnabled' | 'group' | 'transports'>>);
17
+ private serialized;
18
+ constructor(configuration: Pick<Expectation<TContext>, 'schema'> & Partial<Pick<Expectation<TContext>, 'id' | 'name' | 'isEnabled' | 'group' | 'transports' | 'meta'>>);
18
19
  increaseExecutionsCounter(): this;
19
20
  validate(): ValueError[];
20
21
  toPlain(): Expectation<TInput, TContext>['TPlain'];
@@ -1 +1 @@
1
- {"version":3,"file":"expectation.d.ts","sourceRoot":"","sources":["../../../../src/expectations/models/expectation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAE1C,qBAAa,WAAW,CACtB,MAAM,SAAS,uBAAuB,GAAG,EAAE,EAC3C,QAAQ,SAAS,yBAAyB,CAAC,MAAM,CAAC,GAAG,yBAAyB,CAAC,MAAM,CAAC;IAkC7E,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,OAAO,CACnE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,CAAC,CAClF;IAlCI,MAAM,EAAG,IAAI,CAClB,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC7B,QAAQ,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CACzE,CAAC;IAEK,EAAE,EAAE,MAAM,CAAqC;IAC/C,IAAI,EAAE,MAAM,CAAyF;IACrG,KAAK,EAAE,MAAM,CAAyC;IAEtD,UAAU,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAiC;IAErE,MAAM,EAAI,kBAAkB,CAAC,QAAQ,CAAC,CAA2B;IACjE,SAAS,EAAE,OAAO,CAAwC;IAE1D,OAAO,4VAEqD;IAE5D,QAAQ,mWAEN;IAEF,IAAI,EAAE,gBAAgB,CAG3B;IAEF,IAAW,OAAO,6DAEjB;gBAGQ,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,OAAO,CACnE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,CAAC,CAClF;IAGI,yBAAyB,IAAI,IAAI;IAKjC,QAAQ,IAAI,UAAU,EAAE;IAIxB,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC;IAczD,MAAM,CAAC,KAAK,CAAC,QAAQ,SAAS,yBAAyB,EAAE,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;CAG/G"}
1
+ {"version":3,"file":"expectation.d.ts","sourceRoot":"","sources":["../../../../src/expectations/models/expectation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAE1C,qBAAa,WAAW,CACtB,MAAM,SAAS,uBAAuB,GAAG,EAAE,EAC3C,QAAQ,SAAS,yBAAyB,CAAC,MAAM,CAAC,GAAG,yBAAyB,CAAC,MAAM,CAAC;IAyC7E,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,OAAO,CACnE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,CAAC,CAC3F;IAzCI,MAAM,EAAG,IAAI,CAClB,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC7B,QAAQ,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CACzE,CAAC;IAEK,EAAE,EAAE,MAAM,CAAqC;IAC/C,IAAI,EAAE,MAAM,CAAyF;IACrG,KAAK,EAAE,MAAM,CAAyC;IAEtD,UAAU,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAiC;IAErE,MAAM,EAAI,kBAAkB,CAAC,QAAQ,CAAC,CAA2B;IACjE,SAAS,EAAE,OAAO,CAAwC;IAE1D,OAAO,4VAEqD;IAE5D,QAAQ,mWAEN;IAEF,IAAI,EAAE,gBAAgB,CAG3B;IAEF,IAAW,OAAO,6DAEjB;IAED,OAAO,CAAC,UAAU,CAKhB;gBAGO,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,OAAO,CACnE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,CAAC,CAC3F;IAGI,yBAAyB,IAAI,IAAI;IAKjC,QAAQ,IAAI,UAAU,EAAE;IAIxB,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC;IAoBzD,MAAM,CAAC,KAAK,CAAC,QAAQ,SAAS,yBAAyB,EAAE,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;CAG/G"}
@@ -40,6 +40,7 @@ exports.Expectation = void 0;
40
40
  const random_animal_name_1 = __importDefault(require("random-animal-name"));
41
41
  const uuid_1 = require("uuid");
42
42
  const lodash_1 = __importDefault(require("lodash"));
43
+ const utils_1 = require("../utils");
43
44
  const operators = __importStar(require("../operators"));
44
45
  class Expectation {
45
46
  get forward() {
@@ -60,9 +61,15 @@ class Expectation {
60
61
  ? new operators.root(operators, this.schema.response)
61
62
  : null;
62
63
  this.meta = {
63
- executionsCount: 0,
64
+ executionsCount: this.configuration.meta?.executionsCount ?? 0,
64
65
  tags: (this.request?.tags ?? []).concat(this.response?.tags ?? []),
65
66
  };
67
+ this.serialized = {
68
+ schema: {
69
+ request: this.schema.request ? (0, utils_1.serializeExpectationSchema)(this.schema.request) : undefined,
70
+ response: this.schema.response ? (0, utils_1.serializeExpectationSchema)(this.schema.response) : undefined,
71
+ },
72
+ };
66
73
  }
67
74
  increaseExecutionsCounter() {
68
75
  this.meta.executionsCount += 1;
@@ -76,10 +83,14 @@ class Expectation {
76
83
  id: this.id,
77
84
  group: this.group,
78
85
  name: this.name,
79
- schema: this.schema,
80
86
  transports: this.transports,
81
87
  meta: this.meta,
82
88
  isEnabled: this.isEnabled,
89
+ schema: {
90
+ ...this.schema,
91
+ request: this.serialized.schema.request,
92
+ response: this.serialized.schema.response,
93
+ },
83
94
  };
84
95
  }
85
96
  static build(configuration) {
@@ -1 +1 @@
1
- {"version":3,"file":"expectation.js","sourceRoot":"","sources":["../../../../src/expectations/models/expectation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAAoD;AAEpD,+BAAoC;AAEpC,oDAAuB;AASvB,wDAA0C;AAE1C,MAAa,WAAW;IA+BtB,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,YACS,aAEN;QAFM,kBAAa,GAAb,aAAa,CAEnB;QA7BI,OAAE,GAAW,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,IAAA,SAAM,GAAE,CAAC;QAC/C,SAAI,GAAW,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,IAAA,4BAAkB,GAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrG,UAAK,GAAW,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,SAAS,CAAC;QAEtD,eAAU,GAA6B,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;QAErE,WAAM,GAAiC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACjE,cAAS,GAAY,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,IAAI,CAAC;QAE1D,YAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;YAClC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAW,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC9D,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAW,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5D,aAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ;YACpC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAW,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC;QAEF,SAAI,GAAqB;YAC9B,eAAe,EAAE,CAAC;YAClB,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;SACnE,CAAC;IAUC,CAAC;IAEG,yBAAyB;QAC9B,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,QAAQ;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,OAAO;QACZ,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YAEjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAE3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAA6C,aAAqD;QAC5G,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;CACF;AAnED,kCAmEC"}
1
+ {"version":3,"file":"expectation.js","sourceRoot":"","sources":["../../../../src/expectations/models/expectation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IExpectationSchema, IExpectationSchemaContext, TExpectationOperatorLocation } from './types';
1
+ import { IExpectationSchema, IExpectationSchemaContext, TExpectationOperatorLocation, IExpectationOperatorsSchema } from './types';
2
2
  type TBaseExtractedContext = {
3
3
  parent: object;
4
4
  key: string;
@@ -16,5 +16,6 @@ type TExtractedContext = (TBaseExtractedContext & {
16
16
  export declare const checkIsLocationInContext: (location: TExpectationOperatorLocation, context: IExpectationSchemaContext) => boolean;
17
17
  export declare const extractContextByLocation: (location: TExpectationOperatorLocation, context: IExpectationSchemaContext) => TExtractedContext | null;
18
18
  export declare const introspectExpectationOperatorsSchema: <T extends object = IExpectationSchema<IExpectationSchemaContext<{}>>, K extends keyof T = keyof T>(schema: T, handler: (key: K, schema: T, path: string) => unknown, location?: string) => void;
19
+ export declare const serializeExpectationSchema: <T extends IExpectationOperatorsSchema<any>>(schema: T) => T;
19
20
  export {};
20
21
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/expectations/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAGlB,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,SAAS,CAAC;AAEjB,KAAK,qBAAqB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7D,KAAK,iBAAiB,GAClB,CAAC,qBAAqB,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAC7D,CAAC,qBAAqB,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAC5D,CAAC,qBAAqB,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAEjE,eAAO,MAAM,wBAAwB,aACzB,4BAA4B,WAC7B,yBAAyB,KACjC,OASF,CAAA;AAED,eAAO,MAAM,wBAAwB,aACzB,4BAA4B,WAC7B,yBAAyB,KACjC,iBAAiB,GAAG,IAuJtB,CAAA;AAED,eAAO,MAAM,oCAAoC,GAAI,CAAC,SAAS,MAAM,sDAAuB,CAAC,SAAS,MAAM,CAAC,oBACnG,CAAC,WACA,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,aAC3C,MAAM,KACf,IAUF,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/expectations/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAGlB,yBAAyB,EACzB,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,SAAS,CAAC;AAEjB,KAAK,qBAAqB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7D,KAAK,iBAAiB,GAClB,CAAC,qBAAqB,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAC7D,CAAC,qBAAqB,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAC5D,CAAC,qBAAqB,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAIjE,eAAO,MAAM,wBAAwB,aACzB,4BAA4B,WAC7B,yBAAyB,KACjC,OASF,CAAA;AAED,eAAO,MAAM,wBAAwB,aACzB,4BAA4B,WAC7B,yBAAyB,KACjC,iBAAiB,GAAG,IAuJtB,CAAA;AAED,eAAO,MAAM,oCAAoC,GAAI,CAAC,SAAS,MAAM,sDAAuB,CAAC,SAAS,MAAM,CAAC,oBACnG,CAAC,WACA,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,aAC3C,MAAM,KACf,IAUF,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,CAAC,SAAS,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,KAAG,CA8BlG,CAAA"}
@@ -3,9 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.introspectExpectationOperatorsSchema = exports.extractContextByLocation = exports.checkIsLocationInContext = void 0;
6
+ exports.serializeExpectationSchema = exports.introspectExpectationOperatorsSchema = exports.extractContextByLocation = exports.checkIsLocationInContext = void 0;
7
+ const rfdc_1 = __importDefault(require("rfdc"));
7
8
  const lodash_1 = __importDefault(require("lodash"));
9
+ const utils_1 = require("../utils");
8
10
  const types_1 = require("./types");
11
+ const clone = (0, rfdc_1.default)();
9
12
  const checkIsLocationInContext = (location, context) => {
10
13
  switch (location) {
11
14
  case 'delay':
@@ -158,4 +161,32 @@ const introspectExpectationOperatorsSchema = (schema, handler, location = '') =>
158
161
  });
159
162
  };
160
163
  exports.introspectExpectationOperatorsSchema = introspectExpectationOperatorsSchema;
164
+ const serializeExpectationSchema = (schema) => {
165
+ const cloned = clone(schema ?? {});
166
+ (0, exports.introspectExpectationOperatorsSchema)(schema, (key, schema, path) => {
167
+ if (key === '$exec') {
168
+ lodash_1.default.set(cloned, path, schema.$exec?.toString());
169
+ }
170
+ if (key === '$has' && schema.$has?.$regExp) {
171
+ lodash_1.default.set(cloned, `${path}.$regExp`, (0, utils_1.serializeRegExp)(schema.$has.$regExp));
172
+ }
173
+ if (key === '$has' && schema.$has?.$regExpAnyOf) {
174
+ lodash_1.default.set(cloned, `${path}.$regExpAnyOf`, schema.$has.$regExpAnyOf.map((expr) => (0, utils_1.serializeRegExp)(expr)));
175
+ }
176
+ if (key === '$has' && schema.$has?.$exec) {
177
+ lodash_1.default.set(cloned, `${path}.$exec`, schema.$has.$exec.toString());
178
+ }
179
+ if (key === '$set' && schema.$set?.$exec) {
180
+ lodash_1.default.set(cloned, `${path}.$exec`, schema.$set.$exec.toString());
181
+ }
182
+ if (key === '$merge' && schema.$merge?.$exec) {
183
+ lodash_1.default.set(cloned, `${path}.$exec`, schema.$merge.$exec.toString());
184
+ }
185
+ if (key === '$switch' && schema.$switch?.$exec) {
186
+ lodash_1.default.set(cloned, `${path}.$exec`, schema.$switch.$exec.toString());
187
+ }
188
+ });
189
+ return cloned;
190
+ };
191
+ exports.serializeExpectationSchema = serializeExpectationSchema;
161
192
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/expectations/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/expectations/utils.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,oDAAuB;AAEvB,oCAA2C;AAC3C,mCAOiB;AAQjB,MAAM,KAAK,GAAG,IAAA,cAAI,GAAE,CAAC;AAEd,MAAM,wBAAwB,GAAG,CACtC,QAAsC,EACtC,OAAkC,EACzB,EAAE;IACX,QAAO,QAAQ,EAAE,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;QAE7D,OAAO,CAAC,CAAC,OAAO,gBAAC,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,SAAS,CAAC;IACzD,CAAC;AACH,CAAC,CAAA;AAZY,QAAA,wBAAwB,4BAYpC;AAEM,MAAM,wBAAwB,GAAG,CACtC,QAAsC,EACtC,OAAkC,EACR,EAAE;IAC5B,QAAO,QAAQ,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,OAAO;YAClB,GAAG,EAAE,eAAe;YACpB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI;SAC9B,CAAC;QAEF,KAAK,QAAQ,CAAC,CAAC,OAAO;YACpB,GAAG,EAAE,iBAAiB;YACtB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM;SAChC,CAAC;QAEF,KAAK,eAAe,CAAC,CAAC,OAAO;YAC3B,GAAG,EAAE,eAAe;YACpB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI;SAC9B,CAAC;QAEF,KAAK,kBAAkB,CAAC,CAAC,OAAO;YAC9B,GAAG,EAAE,kBAAkB;YACvB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO;SACjC,CAAC;QAEF,KAAK,gBAAgB,CAAC,CAAC,OAAO;YAC5B,GAAG,EAAE,gBAAgB;YACrB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK;SAC/B,CAAC;QAEF,KAAK,kBAAkB,CAAC,CAAC,OAAO;YAC9B,GAAG,EAAE,kBAAkB;YACvB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO;SACjC,CAAC;QAEF,KAAK,iBAAiB,CAAC,CAAC,OAAO;YAC7B,GAAG,EAAE,iBAAiB;YACtB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;SAC/B,CAAC;QAEF,KAAK,eAAe,CAAC,CAAC,OAAO;YAC3B,GAAG,EAAE,eAAe;YACpB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI;SAC9B,CAAC;QAEF,KAAK,kBAAkB,CAAC,CAAC,OAAO;YAC9B,GAAG,EAAE,kBAAkB;YACvB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO;SACjC,CAAC;QAEF,KAAK,kBAAkB,CAAC,CAAC,OAAO;YAC9B,GAAG,EAAE,kBAAkB;YACvB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO;SACjC,CAAC;QAEF,KAAK,iBAAiB,CAAC,CAAC,OAAO;YAC7B,GAAG,EAAE,iBAAiB;YACtB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM;SAChC,CAAC;QAEF,KAAK,iBAAiB,CAAC,CAAC,OAAO;YAC7B,GAAG,EAAE,iBAAiB;YACtB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;SAC/B,CAAC;QAEF,KAAK,OAAO,CAAC,CAAC,OAAO;YACnB,GAAG,EAAE,gBAAgB;YACrB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK;SAC/B,CAAC;QAEF,KAAK,OAAO,CAAC,CAAC,OAAO;YACnB,GAAG,EAAE,gBAAgB;YACrB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK;SAC/B,CAAC;QAEF,KAAK,MAAM,CAAC,CAAC,OAAO;YAClB,GAAG,EAAE,MAAM;YACX,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,IAAI;SACpB,CAAC;QAEF,KAAK,OAAO,CAAC,CAAC,OAAO;YACnB,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;QAEF,KAAK,OAAO,CAAC,CAAC,OAAO;YACnB,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;QAEF,KAAK,WAAW,CAAC,CAAC,OAAO;YACvB,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,SAAS;SACzB,CAAC;QAEF,KAAK,WAAW,CAAC,CAAC,OAAO;YACvB,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAU,OAAO,CAAC,SAAS;SACjC,CAAC;QAEF,KAAK,OAAO,CAAC,CAAC,OAAO;YACnB,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAU,OAAO,CAAC,KAAK;SAC7B,CAAC;QAEF,KAAK,OAAO,CAAC,CAAC,OAAO;YACnB,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;QAEF,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC,CAAA;AA1JY,QAAA,wBAAwB,4BA0JpC;AAEM,MAAM,oCAAoC,GAAG,CAClD,MAAS,EACT,OAAqD,EACrD,WAAmB,EAAE,EACf,EAAE;IACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEnE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAE3B,IAAI,gBAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gCAAwB,CAAC,QAAQ,CAA2B,GAAG,CAAC,EAAE,CAAC;YACjG,IAAA,4CAAoC,EAAI,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAA;AAdY,QAAA,oCAAoC,wCAchD;AAEM,MAAM,0BAA0B,GAAG,CAA6C,MAAS,EAAK,EAAE;IACrG,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAEnC,IAAA,4CAAoC,EAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QACjE,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,GAAG,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YAC3C,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,UAAU,EAAE,IAAA,uBAAe,EAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;YAChD,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,GAAG,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YACzC,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YACzC,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;YAC7C,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAC/C,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA;AA9BY,QAAA,0BAA0B,8BA8BtC"}
@@ -1,4 +1,5 @@
1
1
  export { default as config } from './config';
2
+ export * from './expectations/types';
2
3
  export * from './server';
3
4
  export * from './client';
4
5
  export * from './logger';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAE7C,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAE7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
package/lib/src/index.js CHANGED
@@ -20,6 +20,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.config = void 0;
21
21
  var config_1 = require("./config");
22
22
  Object.defineProperty(exports, "config", { enumerable: true, get: function () { return __importDefault(config_1).default; } });
23
+ __exportStar(require("./expectations/types"), exports);
23
24
  __exportStar(require("./server"), exports);
24
25
  __exportStar(require("./client"), exports);
25
26
  __exportStar(require("./logger"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAE1B,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAE1B,uDAAqC;AACrC,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,yCAAuB"}
@@ -0,0 +1,47 @@
1
+ import { Endpoint } from '../models';
2
+ interface IRedisResult {
3
+ count: number;
4
+ }
5
+ declare const _default: Endpoint<{
6
+ incoming: {
7
+ data: {
8
+ prefix?: string;
9
+ };
10
+ };
11
+ outgoing: {
12
+ redis?: IRedisResult;
13
+ };
14
+ }, import("../models").IEndpointSchema<{
15
+ incoming: {
16
+ data: {
17
+ prefix?: string;
18
+ };
19
+ };
20
+ outgoing: {
21
+ redis?: IRedisResult;
22
+ };
23
+ }>> & {
24
+ http: {
25
+ readonly method: "DELETE";
26
+ readonly path: "/cache";
27
+ };
28
+ } & {
29
+ io: {
30
+ readonly path: "cache:delete";
31
+ };
32
+ } & {
33
+ handler: ({ incoming, reply, server }: (import("..").InternalHttpRequestContext<{
34
+ redis?: IRedisResult;
35
+ }> | import("..").InternalSocketIoRequestContext<{
36
+ redis?: IRedisResult;
37
+ }>) & {
38
+ incoming: import("../..").SetRequiredKeys<{
39
+ data?: {
40
+ prefix?: string;
41
+ } | undefined;
42
+ query?: unknown;
43
+ }, "data">;
44
+ }) => Promise<void>;
45
+ };
46
+ export default _default;
47
+ //# sourceMappingURL=cache.delete.endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.delete.endpoint.d.ts","sourceRoot":"","sources":["../../../../src/server/endpoints/cache.delete.endpoint.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;;cAoCoB;QAAE,IAAI,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;cAAY;QAAE,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE;;cAAjE;QAAE,IAAI,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;cAAY;QAAE,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE;;;;;;;;;;;;gBAAd,YAAY;;gBAAZ,YAAY;;;;yBAA5C,MAAM;;;;;;AAD9C,wBAWa"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const models_1 = require("../models");
4
+ const logger_1 = require("../../logger");
5
+ const logger = logger_1.Logger.build('Server.Endpoint.CacheUsage.Get');
6
+ const calculateRedisUsage = (client, prefix) => new Promise((resolve, reject) => {
7
+ const stream = client.scanStream({ match: `${client.options.keyPrefix ?? ''}${prefix ?? ''}*` });
8
+ const result = { count: 0 };
9
+ stream.once('end', () => resolve(result));
10
+ stream.once('error', (error) => {
11
+ logger.error('Got error while scan execution', error?.stack ?? error);
12
+ stream.close();
13
+ reject(error);
14
+ });
15
+ stream.on('data', async (keys) => {
16
+ stream.pause();
17
+ result.count += keys.length;
18
+ await Promise
19
+ .all(keys.map(async (key) => client.call('DEL', key)))
20
+ .catch((error) => {
21
+ logger.error('Got error while deletion keys', error?.stack ?? error);
22
+ stream.close();
23
+ reject(error);
24
+ return [];
25
+ });
26
+ stream.resume();
27
+ });
28
+ });
29
+ exports.default = models_1.Endpoint
30
+ .build()
31
+ .bindToHttp({ method: 'DELETE', path: `/cache` })
32
+ .bindToIo({ path: 'cache:delete' })
33
+ .assignHandler(async ({ incoming, reply, server }) => reply.ok({
34
+ redis: server.databases.redis
35
+ ? await calculateRedisUsage(server.databases.redis, incoming.data.prefix).catch(() => undefined)
36
+ : undefined,
37
+ }))
38
+ .compile();
39
+ //# sourceMappingURL=cache.delete.endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.delete.endpoint.js","sourceRoot":"","sources":["../../../../src/server/endpoints/cache.delete.endpoint.ts"],"names":[],"mappings":";;AAGA,sCAAqC;AACrC,yCAAsC;AAMtC,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;AAE9D,MAAM,mBAAmB,GAAG,CAAC,MAAa,EAAE,MAAe,EAAE,EAAE,CAAC,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC5G,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACjG,MAAM,MAAM,GAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC7B,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;QACtE,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAc,EAAE,EAAE;QACzC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;QAE5B,MAAM,OAAO;aACV,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;aACrD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,EAAE,CAAC;YAEf,MAAM,CAAC,KAAK,CAAC,CAAC;YACd,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEL,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kBAAe,iBAAQ;KACpB,KAAK,EAAmF;KACxF,UAAU,CAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;KACvD,QAAQ,CAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACzC,aAAa,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CACnD,KAAK,CAAC,EAAE,CAAC;IACP,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK;QAC3B,CAAC,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QAChG,CAAC,CAAC,SAAS;CACd,CAAC,CACH;KACA,OAAO,EAAE,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { Endpoint } from '../models';
2
+ interface IRedisResult {
3
+ count: number;
4
+ bytes: number;
5
+ }
6
+ declare const _default: Endpoint<{
7
+ incoming: {
8
+ query: {
9
+ prefix?: string;
10
+ };
11
+ };
12
+ outgoing: {
13
+ redis?: IRedisResult;
14
+ };
15
+ }, import("../models").IEndpointSchema<{
16
+ incoming: {
17
+ query: {
18
+ prefix?: string;
19
+ };
20
+ };
21
+ outgoing: {
22
+ redis?: IRedisResult;
23
+ };
24
+ }>> & {
25
+ http: {
26
+ readonly method: "GET";
27
+ readonly path: "/cache/usage";
28
+ };
29
+ } & {
30
+ io: {
31
+ readonly path: "cache:usage:get";
32
+ };
33
+ } & {
34
+ handler: ({ incoming, reply, server }: (import("..").InternalHttpRequestContext<{
35
+ redis?: IRedisResult;
36
+ }> | import("..").InternalSocketIoRequestContext<{
37
+ redis?: IRedisResult;
38
+ }>) & {
39
+ incoming: import("../..").SetRequiredKeys<{
40
+ data?: unknown;
41
+ query?: {
42
+ prefix?: string;
43
+ } | undefined;
44
+ }, "query">;
45
+ }) => Promise<void>;
46
+ };
47
+ export default _default;
48
+ //# sourceMappingURL=cache.usage.get.endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.usage.get.endpoint.d.ts","sourceRoot":"","sources":["../../../../src/server/endpoints/cache.usage.get.endpoint.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;;cAsCoB;QAAE,KAAK,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;cAAY;QAAE,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE;;cAAlE;QAAE,KAAK,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;cAAY;QAAE,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE;;;;;;;;;;;;gBAAd,YAAY;;gBAAZ,YAAY;;;;;yBAA5C,MAAM;;;;;AAD/C,wBAWa"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const models_1 = require("../models");
4
+ const logger_1 = require("../../logger");
5
+ const logger = logger_1.Logger.build('Server.Endpoint.CacheUsage.Get');
6
+ const deleteRedisKeys = (client, prefix) => new Promise((resolve, reject) => {
7
+ const stream = client.scanStream({ match: `${client.options.keyPrefix ?? ''}${prefix ?? ''}*` });
8
+ const result = { count: 0, bytes: 0 };
9
+ stream.once('end', () => resolve(result));
10
+ stream.once('error', (error) => {
11
+ logger.error('Got error while scan execution', error?.stack ?? error);
12
+ stream.close();
13
+ reject(error);
14
+ });
15
+ stream.on('data', async (keys) => {
16
+ stream.pause();
17
+ result.count += keys.length;
18
+ const usage = await Promise
19
+ .all(keys.map(async (key) => client.call('MEMORY', 'USAGE', key)))
20
+ .catch((error) => {
21
+ logger.error('Got error while fetching memory usage', error?.stack ?? error);
22
+ stream.close();
23
+ reject(error);
24
+ return [];
25
+ });
26
+ usage.forEach((bytes) => result.bytes += Number(bytes));
27
+ stream.resume();
28
+ });
29
+ });
30
+ exports.default = models_1.Endpoint
31
+ .build()
32
+ .bindToHttp({ method: 'GET', path: `/cache/usage` })
33
+ .bindToIo({ path: 'cache:usage:get' })
34
+ .assignHandler(async ({ incoming, reply, server }) => reply.ok({
35
+ redis: server.databases.redis
36
+ ? await deleteRedisKeys(server.databases.redis, incoming.query.prefix).catch(() => undefined)
37
+ : undefined,
38
+ }))
39
+ .compile();
40
+ //# sourceMappingURL=cache.usage.get.endpoint.js.map