@pact-foundation/pact 10.0.0-beta.60 → 10.0.0-beta.61

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 (91) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/MIGRATION.md +24 -1
  3. package/README.md +174 -1374
  4. package/package.json +24 -36
  5. package/src/common/net.d.ts +1 -0
  6. package/src/common/net.js +11 -1
  7. package/src/common/net.js.map +1 -1
  8. package/src/common/request.js +1 -0
  9. package/src/common/request.js.map +1 -1
  10. package/src/common/spec.d.ts +2 -0
  11. package/src/common/spec.js +22 -0
  12. package/src/common/spec.js.map +1 -0
  13. package/src/dsl/apolloGraphql.spec.js +24 -0
  14. package/src/dsl/apolloGraphql.spec.js.map +1 -1
  15. package/src/dsl/graphql.d.ts +2 -2
  16. package/src/dsl/graphql.js +1 -0
  17. package/src/dsl/graphql.js.map +1 -1
  18. package/src/dsl/graphql.spec.js +77 -2
  19. package/src/dsl/graphql.spec.js.map +1 -1
  20. package/src/dsl/interaction.d.ts +13 -7
  21. package/src/dsl/interaction.js +30 -1
  22. package/src/dsl/interaction.js.map +1 -1
  23. package/src/dsl/interaction.spec.js +21 -31
  24. package/src/dsl/interaction.spec.js.map +1 -1
  25. package/src/dsl/matchers.d.ts +27 -32
  26. package/src/dsl/matchers.js +24 -23
  27. package/src/dsl/matchers.js.map +1 -1
  28. package/src/dsl/matchers.spec.js +101 -96
  29. package/src/dsl/matchers.spec.js.map +1 -1
  30. package/src/dsl/message.d.ts +19 -13
  31. package/src/dsl/mockService.d.ts +1 -46
  32. package/src/dsl/mockService.js +0 -72
  33. package/src/dsl/mockService.js.map +1 -1
  34. package/src/dsl/verifier/verifier.spec.js +1 -1
  35. package/src/dsl/verifier/verifier.spec.js.map +1 -1
  36. package/src/httpPact/ffi.d.ts +15 -0
  37. package/src/httpPact/ffi.js +91 -0
  38. package/src/httpPact/ffi.js.map +1 -0
  39. package/src/{dsl/mockService.spec.d.ts → httpPact/ffi.spec.d.ts} +0 -0
  40. package/src/httpPact/ffi.spec.js +81 -0
  41. package/src/httpPact/ffi.spec.js.map +1 -0
  42. package/src/httpPact/index.d.ts +10 -10
  43. package/src/httpPact/index.js +141 -80
  44. package/src/httpPact/index.js.map +1 -1
  45. package/src/httpPact/index.spec.js +117 -220
  46. package/src/httpPact/index.spec.js.map +1 -1
  47. package/src/httpPact/tracing.js +4 -4
  48. package/src/httpPact/tracing.js.map +1 -1
  49. package/src/index.d.ts +1 -7
  50. package/src/index.js +3 -8
  51. package/src/index.js.map +1 -1
  52. package/src/messageConsumerPact.d.ts +34 -17
  53. package/src/messageConsumerPact.js +85 -66
  54. package/src/messageConsumerPact.js.map +1 -1
  55. package/src/messageConsumerPact.spec.js +0 -46
  56. package/src/messageConsumerPact.spec.js.map +1 -1
  57. package/src/messageProviderPact.js +1 -1
  58. package/src/messageProviderPact.js.map +1 -1
  59. package/src/messageProviderPact.spec.js +17 -2
  60. package/src/messageProviderPact.spec.js.map +1 -1
  61. package/src/v3/display.d.ts +6 -0
  62. package/src/v3/display.js +83 -0
  63. package/src/v3/display.js.map +1 -0
  64. package/src/v3/index.d.ts +1 -6
  65. package/src/v3/index.js +1 -6
  66. package/src/v3/index.js.map +1 -1
  67. package/src/v3/matchers.d.ts +1 -0
  68. package/src/v3/matchers.js +7 -1
  69. package/src/v3/matchers.js.map +1 -1
  70. package/src/v3/pact.d.ts +4 -70
  71. package/src/v3/pact.js +68 -133
  72. package/src/v3/pact.js.map +1 -1
  73. package/src/v3/types.d.ts +81 -0
  74. package/src/v3/types.js +11 -0
  75. package/src/v3/types.js.map +1 -0
  76. package/src/v3/xml/xmlElement.spec.js +31 -48
  77. package/src/v3/xml/xmlElement.spec.js.map +1 -1
  78. package/src/dsl/mockService.spec.js +0 -124
  79. package/src/dsl/mockService.spec.js.map +0 -1
  80. package/src/dsl/publisher.d.ts +0 -10
  81. package/src/dsl/publisher.js +0 -22
  82. package/src/dsl/publisher.js.map +0 -1
  83. package/src/dsl/publisher.spec.d.ts +0 -1
  84. package/src/dsl/publisher.spec.js +0 -47
  85. package/src/dsl/publisher.spec.js.map +0 -1
  86. package/src/v3/verifier.d.ts +0 -12
  87. package/src/v3/verifier.js +0 -23
  88. package/src/v3/verifier.js.map +0 -1
  89. package/v3/index.d.ts +0 -1
  90. package/v3/index.js +0 -20
  91. package/v3/index.js.map +0 -1
package/package.json CHANGED
@@ -1,13 +1,12 @@
1
1
  {
2
2
  "name": "@pact-foundation/pact",
3
- "version": "10.0.0-beta.60",
3
+ "version": "10.0.0-beta.61",
4
4
  "description": "Pact for all things Javascript",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
7
7
  "scripts": {
8
8
  "compile": "rimraf dist && tsc",
9
9
  "clean": "rimraf docs dist coverage .nyc_output logs pacts",
10
- "clean:native": "rimraf native/target",
11
10
  "coverage": "nyc report --reporter=lcov",
12
11
  "dist": "tsc && copyfiles package.json ./dist",
13
12
  "lint": "eslint --config .eslintrc.json \"{src,test}/**/*.ts\"",
@@ -18,9 +17,7 @@
18
17
  "postdist": "npm test",
19
18
  "predist": "npm run clean && npm run format:check && npm run lint",
20
19
  "release": "standard-version -p beta",
21
- "test": "nyc --check-coverage --reporter=html --reporter=text-summary mocha",
22
- "package": "npm run native:sha256 && node-pre-gyp package && node-pre-gyp testpackage",
23
- "native:sha256": "node ./scripts/calc-sha256.js"
20
+ "test": "nyc --check-coverage --reporter=html --reporter=text-summary mocha"
24
21
  },
25
22
  "repository": {
26
23
  "type": "git",
@@ -97,14 +94,14 @@
97
94
  ]
98
95
  },
99
96
  "dependencies": {
100
- "@pact-foundation/pact-core": "^13.6.0",
97
+ "@pact-foundation/pact-core": "^13.6.2",
101
98
  "@types/bluebird": "^3.5.20",
102
99
  "@types/express": "^4.17.11",
103
100
  "axios": "^0.27.2",
104
101
  "bluebird": "~3.5.1",
105
- "body-parser": "^1.18.2",
102
+ "body-parser": "^1.20.0",
106
103
  "cli-color": "^1.1.0",
107
- "express": "^4.17.1",
104
+ "express": "^4.18.1",
108
105
  "graphql": "^14.0.0",
109
106
  "graphql-tag": "^2.9.1",
110
107
  "http-proxy": "^1.18.1",
@@ -121,18 +118,17 @@
121
118
  "randexp": "^0.5.3"
122
119
  },
123
120
  "devDependencies": {
124
- "@babel/cli": "^7.14.5",
125
- "@babel/core": "^7.6.4",
126
- "@babel/eslint-parser": "^7.15.4",
127
- "@babel/preset-env": "^7.6.3",
121
+ "@babel/cli": "^7.18.6",
122
+ "@babel/core": "^7.18.6",
123
+ "@babel/preset-env": "^7.18.6",
128
124
  "@octokit/rest": "^18.0.3",
129
125
  "@pact-foundation/pact-js-prettier-config": "^1.0.0",
130
- "@types/chai": "^4.1.2",
126
+ "@types/chai": "^4.3.1",
131
127
  "@types/chai-as-promised": "^7.1.1",
132
128
  "@types/cli-color": "^0.3.29",
133
129
  "@types/http-proxy": "^1.17.9",
134
- "@types/lodash": "^4.14.73",
135
- "@types/lodash.isnil": "^4.0.3",
130
+ "@types/lodash": "^4.14.182",
131
+ "@types/lodash.isnil": "^4.0.7",
136
132
  "@types/mocha": "^8.0.4",
137
133
  "@types/mockery": "^1.4.29",
138
134
  "@types/nock": "^9.1.2",
@@ -143,20 +139,20 @@
143
139
  "@types/superagent": "^3.5.7",
144
140
  "@types/tough-cookie": "^2.3.2",
145
141
  "@types/underscore": "^1.8.5",
146
- "@typescript-eslint/eslint-plugin": "4.17.0",
147
- "@typescript-eslint/parser": "^4.17.0",
142
+ "@typescript-eslint/eslint-plugin": "^5.30.4",
143
+ "@typescript-eslint/parser": "^5.30.4",
148
144
  "chai": "~4.1.2",
149
145
  "chai-as-promised": "^7.1.1",
150
146
  "copyfiles": "^2.4.1",
151
147
  "enhanced-resolve": "^3.4.1",
152
- "eslint": "^7.15.0",
153
- "eslint-config-airbnb-typescript-lite": "^12.1.1",
154
- "eslint-config-prettier": "^7.0.0",
155
- "eslint-import-resolver-typescript": "^2.3.0",
156
- "eslint-plugin-chai-friendly": "^0.6.0",
157
- "eslint-plugin-import": "2.22.1",
158
- "eslint-plugin-mocha": "^8.1.0",
159
- "eslint-plugin-prettier": "^3.2.0",
148
+ "eslint": "^8.19.0",
149
+ "eslint-config-airbnb-base": "^15.0.0",
150
+ "eslint-config-prettier": "^8.5.0",
151
+ "eslint-import-resolver-typescript": "^3.2.1",
152
+ "eslint-plugin-chai-friendly": "^0.7.2",
153
+ "eslint-plugin-import": "^2.26.0",
154
+ "eslint-plugin-mocha": "^10.0.5",
155
+ "eslint-plugin-prettier": "^4.2.1",
160
156
  "jasmine-core": "~2.9.1",
161
157
  "lodash.clone": "^4.5.0",
162
158
  "mocha": "^9.1.1",
@@ -165,25 +161,17 @@
165
161
  "neon-cli": "^0.9.1",
166
162
  "nock": "^9.1.6",
167
163
  "nyc": "^15.1.0",
168
- "prettier": "^2.2.1",
164
+ "prettier": "^2.7.1",
169
165
  "proxyquire": "^2.0.1",
170
166
  "rimraf": "^2.7.1",
171
167
  "sha256-file": "^1.0.0",
172
168
  "sinon": "^7.2.4",
173
169
  "sinon-chai": "^3.3.0",
174
170
  "source-map-support": "^0.4.18",
175
- "standard-version": "^9.3.0",
171
+ "standard-version": "^9.5.0",
176
172
  "superagent": "^3.8.2",
177
173
  "ts-mock-imports": "^1.2.6",
178
174
  "ts-node": "^3.3.0",
179
- "typescript": "^4.2.4"
180
- },
181
- "binary": {
182
- "module_name": "index",
183
- "host": "https://github.com/pact-foundation/pact-js/releases/download/",
184
- "remote_path": "v{version}",
185
- "package_name": "{node_abi}-{platform}-{arch}-{libc}.tar.gz",
186
- "module_path": "./native",
187
- "pkg_path": "."
175
+ "typescript": "^4.7.4"
188
176
  }
189
177
  }
@@ -6,3 +6,4 @@
6
6
  export declare const localAddresses: string[];
7
7
  export declare const portCheck: (port: number, host: string) => Promise<void>;
8
8
  export declare const isPortAvailable: (port: number, host: string) => Promise<void>;
9
+ export declare const freePort: () => Promise<number>;
package/src/common/net.js CHANGED
@@ -28,7 +28,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
28
28
  return result;
29
29
  };
30
30
  Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.isPortAvailable = exports.portCheck = exports.localAddresses = void 0;
31
+ exports.freePort = exports.isPortAvailable = exports.portCheck = exports.localAddresses = void 0;
32
32
  var net = __importStar(require("net"));
33
33
  var bluebird_1 = require("bluebird");
34
34
  exports.localAddresses = ['127.0.0.1', 'localhost', '0.0.0.0', '::1'];
@@ -69,4 +69,14 @@ var isPortAvailable = function (port, host) {
69
69
  }));
70
70
  };
71
71
  exports.isPortAvailable = isPortAvailable;
72
+ var freePort = function () {
73
+ return new Promise(function (res) {
74
+ var s = net.createServer();
75
+ s.listen(0, function () {
76
+ var port = s.address().port;
77
+ s.close(function () { return res(port); });
78
+ });
79
+ });
80
+ };
81
+ exports.freePort = freePort;
72
82
  //# sourceMappingURL=net.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"net.js","sourceRoot":"","sources":["../../../src/common/net.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAA2B;AAC3B,qCAA+C;AAElC,QAAA,cAAc,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAEpE,IAAM,SAAS,GAAG,UAAC,IAAY,EAAE,IAAY;IAClD,OAAA,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QAC1B,IAAM,MAAM,GAAG,GAAG;aACf,YAAY,EAAE;aACd,MAAM,CAAC,EAAE,IAAI,MAAA,EAAE,IAAI,MAAA,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACvC,EAAE,CAAC,OAAO,EAAE,UAAC,CAAwB;YACpC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE;gBAC3B,MAAM,CAAC,IAAI,KAAK,CAAC,eAAQ,IAAI,wCAA8B,IAAI,CAAE,CAAC,CAAC,CAAC;aACrE;iBAAM;gBACL,MAAM,CAAC,CAAC,CAAC,CAAC;aACX;QACH,CAAC,CAAC;aACD,EAAE,CAAC,WAAW,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,cAAM,OAAA,OAAO,EAAE,EAAT,CAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AAdF,CAcE,CAAC;AAfQ,QAAA,SAAS,aAejB;AAEE,IAAM,eAAe,GAAG,UAAC,IAAY,EAAE,IAAY;IACxD,OAAA,OAAO,CAAC,OAAO,CACb,kBAAQ;SACL,GAAG,CACF,sBAAc;IACd,yEAAyE;IACzE,gEAAgE;IAChE,UAAC,CAAC,IAAK,OAAA,kBAAQ,CAAC,OAAO,CAAC,IAAA,iBAAS,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAA9C,CAA8C;IACrD,wGAAwG;IACxG,EAAE,WAAW,EAAE,CAAC,EAAE,CACnB;SACA,IAAI,CAAC,UAAC,WAAW;QAChB,oEAAoE;QACpE,IAAI,WAAW,CAAC,KAAK,CAAC,UAAC,UAAU,IAAK,OAAA,CAAC,UAAU,CAAC,WAAW,EAAE,EAAzB,CAAyB,CAAC,EAAE;YAChE,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,2BAAoB,IAAI,gCAA6B,CAAC,CACjE,CAAC;SACH;QAED,8EAA8E;QAC9E,OAAO,IAAA,iBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CACL;AArBD,CAqBC,CAAC;AAtBS,QAAA,eAAe,mBAsBxB"}
1
+ {"version":3,"file":"net.js","sourceRoot":"","sources":["../../../src/common/net.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAA2B;AAC3B,qCAA+C;AAElC,QAAA,cAAc,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAEpE,IAAM,SAAS,GAAG,UAAC,IAAY,EAAE,IAAY;IAClD,OAAA,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QAC1B,IAAM,MAAM,GAAG,GAAG;aACf,YAAY,EAAE;aACd,MAAM,CAAC,EAAE,IAAI,MAAA,EAAE,IAAI,MAAA,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACvC,EAAE,CAAC,OAAO,EAAE,UAAC,CAAwB;YACpC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE;gBAC3B,MAAM,CAAC,IAAI,KAAK,CAAC,eAAQ,IAAI,wCAA8B,IAAI,CAAE,CAAC,CAAC,CAAC;aACrE;iBAAM;gBACL,MAAM,CAAC,CAAC,CAAC,CAAC;aACX;QACH,CAAC,CAAC;aACD,EAAE,CAAC,WAAW,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,cAAM,OAAA,OAAO,EAAE,EAAT,CAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AAdF,CAcE,CAAC;AAfQ,QAAA,SAAS,aAejB;AAEE,IAAM,eAAe,GAAG,UAAC,IAAY,EAAE,IAAY;IACxD,OAAA,OAAO,CAAC,OAAO,CACb,kBAAQ;SACL,GAAG,CACF,sBAAc;IACd,yEAAyE;IACzE,gEAAgE;IAChE,UAAC,CAAC,IAAK,OAAA,kBAAQ,CAAC,OAAO,CAAC,IAAA,iBAAS,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAA9C,CAA8C;IACrD,wGAAwG;IACxG,EAAE,WAAW,EAAE,CAAC,EAAE,CACnB;SACA,IAAI,CAAC,UAAC,WAAW;QAChB,oEAAoE;QACpE,IAAI,WAAW,CAAC,KAAK,CAAC,UAAC,UAAU,IAAK,OAAA,CAAC,UAAU,CAAC,WAAW,EAAE,EAAzB,CAAyB,CAAC,EAAE;YAChE,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,2BAAoB,IAAI,gCAA6B,CAAC,CACjE,CAAC;SACH;QAED,8EAA8E;QAC9E,OAAO,IAAA,iBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CACL;AArBD,CAqBC,CAAC;AAtBS,QAAA,eAAe,mBAsBxB;AAEG,IAAM,QAAQ,GAAG;IACtB,OAAO,IAAI,OAAO,CAAC,UAAC,GAAG;QACrB,IAAM,CAAC,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7B,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE;YACV,IAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;YAC9B,CAAC,CAAC,KAAK,CAAC,cAAM,OAAA,GAAG,CAAC,IAAI,CAAC,EAAT,CAAS,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,QAAQ,YAQnB"}
@@ -44,6 +44,7 @@ var axios_1 = __importDefault(require("axios"));
44
44
  var https_1 = __importDefault(require("https"));
45
45
  var ramda_1 = require("ramda");
46
46
  var logger_1 = __importDefault(require("./logger"));
47
+ // eslint-disable-next-line no-shadow
47
48
  var HTTPMethods;
48
49
  (function (HTTPMethods) {
49
50
  HTTPMethods["GET"] = "GET";
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/common/request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,gDAA0B;AAC1B,+BAA+B;AAC/B,oDAA8B;AAE9B,IAAY,WAgBX;AAhBD,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,4BAAa,CAAA;IACb,0BAAW,CAAA;IACX,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;IACvB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;AACnB,CAAC,EAhBW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAgBtB;AAmBD;IAAA;IAgCA,CAAC;IA/Bc,sBAAI,GAAjB,UACE,MAAkB,EAClB,GAAW,EACX,IAAa;;;;;;;wBAGC,qBAAM,IAAA,eAAK,EAAC,GAAG,EAAE;gCAC3B,IAAI,EAAE,IAAI;gCACV,OAAO,EAAE;oCACP,cAAc,EAAE,kBAAkB;oCAClC,qBAAqB,EAAE,MAAM;iCAC9B;gCACD,UAAU,EAAE,IAAI,eAAK,CAAC,KAAK,CAAC;oCAC1B,SAAS,EAAE,IAAI;oCACf,kBAAkB,EAAE,KAAK;iCAC1B,CAAC;gCACF,MAAM,QAAA;gCACN,OAAO,EAAE,KAAK;gCACd,GAAG,KAAA;gCACH,aAAa,EAAE,QAAQ;6BACxB,CAAC,EAAA;;wBAdI,GAAG,GAAG,SAcV;wBAEF,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;4BACzC,sBAAO,GAAG,CAAC,IAAI,EAAC;yBACjB;wBACM,qBAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAA;4BAArC,sBAAO,SAA8B,EAAC;;;wBAEtC,gBAAM,CAAC,KAAK,CAAC,qCAA8B,GAAC,CAAC,OAAO,CAAE,CAAC,CAAC;wBACxD,sBAAO,OAAO,CAAC,MAAM,CAAC,IAAA,cAAM,EAAC,GAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,GAAC,CAAC,CAAC,EAAC;;;;;KAErE;IACH,cAAC;AAAD,CAAC,AAhCD,IAgCC;AAhCY,0BAAO"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/common/request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,gDAA0B;AAC1B,+BAA+B;AAC/B,oDAA8B;AAE9B,qCAAqC;AACrC,IAAY,WAgBX;AAhBD,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,4BAAa,CAAA;IACb,0BAAW,CAAA;IACX,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;IACvB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;AACnB,CAAC,EAhBW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAgBtB;AAmBD;IAAA;IAgCA,CAAC;IA/Bc,sBAAI,GAAjB,UACE,MAAkB,EAClB,GAAW,EACX,IAAa;;;;;;;wBAGC,qBAAM,IAAA,eAAK,EAAC,GAAG,EAAE;gCAC3B,IAAI,EAAE,IAAI;gCACV,OAAO,EAAE;oCACP,cAAc,EAAE,kBAAkB;oCAClC,qBAAqB,EAAE,MAAM;iCAC9B;gCACD,UAAU,EAAE,IAAI,eAAK,CAAC,KAAK,CAAC;oCAC1B,SAAS,EAAE,IAAI;oCACf,kBAAkB,EAAE,KAAK;iCAC1B,CAAC;gCACF,MAAM,QAAA;gCACN,OAAO,EAAE,KAAK;gCACd,GAAG,KAAA;gCACH,aAAa,EAAE,QAAQ;6BACxB,CAAC,EAAA;;wBAdI,GAAG,GAAG,SAcV;wBAEF,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;4BACzC,sBAAO,GAAG,CAAC,IAAI,EAAC;yBACjB;wBACM,qBAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAA;4BAArC,sBAAO,SAA8B,EAAC;;;wBAEtC,gBAAM,CAAC,KAAK,CAAC,qCAA8B,GAAC,CAAC,OAAO,CAAE,CAAC,CAAC;wBACxD,sBAAO,OAAO,CAAC,MAAM,CAAC,IAAA,cAAM,EAAC,GAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,GAAC,CAAC,CAAC,EAAC;;;;;KAErE;IACH,cAAC;AAAD,CAAC,AAhCD,IAgCC;AAhCY,0BAAO"}
@@ -0,0 +1,2 @@
1
+ import { SpecificationVersion } from '../v3';
2
+ export declare const numberToSpec: (spec?: number, defaultSpec?: SpecificationVersion) => SpecificationVersion;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.numberToSpec = void 0;
4
+ var v3_1 = require("../v3");
5
+ var numberToSpec = function (spec, defaultSpec) {
6
+ if (defaultSpec === void 0) { defaultSpec = v3_1.SpecificationVersion.SPECIFICATION_VERSION_V2; }
7
+ if (!spec) {
8
+ return defaultSpec;
9
+ }
10
+ switch (spec) {
11
+ case 2:
12
+ return v3_1.SpecificationVersion.SPECIFICATION_VERSION_V2;
13
+ case 3:
14
+ return v3_1.SpecificationVersion.SPECIFICATION_VERSION_V3;
15
+ case 4:
16
+ return v3_1.SpecificationVersion.SPECIFICATION_VERSION_V4;
17
+ default:
18
+ throw new Error("invalid pact specification version supplied: ".concat(spec));
19
+ }
20
+ };
21
+ exports.numberToSpec = numberToSpec;
22
+ //# sourceMappingURL=spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../../src/common/spec.ts"],"names":[],"mappings":";;;AAAA,4BAA6C;AAEtC,IAAM,YAAY,GAAG,UAC1B,IAAa,EACb,WAAiF;IAAjF,4BAAA,EAAA,cAAoC,yBAAoB,CAAC,wBAAwB;IAEjF,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,WAAW,CAAC;KACpB;IAED,QAAQ,IAAI,EAAE;QACZ,KAAK,CAAC;YACJ,OAAO,yBAAoB,CAAC,wBAAwB,CAAC;QACvD,KAAK,CAAC;YACJ,OAAO,yBAAoB,CAAC,wBAAwB,CAAC;QACvD,KAAK,CAAC;YACJ,OAAO,yBAAoB,CAAC,wBAAwB,CAAC;QACvD;YACE,MAAM,IAAI,KAAK,CAAC,uDAAgD,IAAI,CAAE,CAAC,CAAC;KAC3E;AACH,CAAC,CAAC;AAlBW,QAAA,YAAY,gBAkBvB"}
@@ -17,11 +17,19 @@ describe('ApolloGraphQLInteraction', function () {
17
17
  describe('when given a set of variables', function () {
18
18
  it('adds the variables to the payload', function () {
19
19
  interaction.uponReceiving('a request');
20
+ interaction.withRequest({
21
+ path: '/graphql',
22
+ method: 'POST',
23
+ });
20
24
  interaction.withOperation('query');
21
25
  interaction.withQuery('{ hello }');
22
26
  interaction.withVariables({
23
27
  foo: 'bar',
24
28
  });
29
+ interaction.willRespondWith({
30
+ status: 200,
31
+ body: { data: {} },
32
+ });
25
33
  var json = interaction.json();
26
34
  expect(json.request.body.variables).to.deep.eq({ foo: 'bar' });
27
35
  });
@@ -29,8 +37,16 @@ describe('ApolloGraphQLInteraction', function () {
29
37
  describe('when no variables are presented', function () {
30
38
  it('adds an empty variables property to the payload', function () {
31
39
  interaction.uponReceiving('a request');
40
+ interaction.withRequest({
41
+ path: '/graphql',
42
+ method: 'POST',
43
+ });
32
44
  interaction.withOperation('query');
33
45
  interaction.withQuery('{ hello }');
46
+ interaction.willRespondWith({
47
+ status: 200,
48
+ body: { data: {} },
49
+ });
34
50
  var json = interaction.json();
35
51
  expect(json.request.body).to.have.property('variables');
36
52
  });
@@ -40,7 +56,15 @@ describe('ApolloGraphQLInteraction', function () {
40
56
  describe('when no operationNaame is presented', function () {
41
57
  it('adds a null operationName property to the payload', function () {
42
58
  interaction.uponReceiving('a request');
59
+ interaction.withRequest({
60
+ path: '/graphql',
61
+ method: 'POST',
62
+ });
43
63
  interaction.withQuery('{ hello }');
64
+ interaction.willRespondWith({
65
+ status: 200,
66
+ body: { data: {} },
67
+ });
44
68
  var json = interaction.json();
45
69
  expect(json.request.body).to.have.property('operationName');
46
70
  });
@@ -1 +1 @@
1
- {"version":3,"file":"apolloGraphql.spec.js","sourceRoot":"","sources":["../../../src/dsl/apolloGraphql.spec.ts"],"names":[],"mappings":";;;;;AAAA,8CAAwB;AACxB,sEAA8C;AAC9C,iDAA2D;AAE3D,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AACjB,IAAA,MAAM,GAAK,cAAI,OAAT,CAAU;AAExB,QAAQ,CAAC,0BAA0B,EAAE;IACnC,IAAI,WAAqC,CAAC;IAE1C,UAAU,CAAC;QACT,WAAW,GAAG,IAAI,wCAAwB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE;QACzB,QAAQ,CAAC,+BAA+B,EAAE;YACxC,EAAE,CAAC,mCAAmC,EAAE;gBACtC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACvC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACnC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACnC,WAAW,CAAC,aAAa,CAAC;oBACxB,GAAG,EAAE,KAAK;iBACX,CAAC,CAAC;gBAEH,IAAM,IAAI,GAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,iCAAiC,EAAE;YAC1C,EAAE,CAAC,iDAAiD,EAAE;gBACpD,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACvC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACnC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAEnC,IAAM,IAAI,GAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE;QACzB,QAAQ,CAAC,qCAAqC,EAAE;YAC9C,EAAE,CAAC,mDAAmD,EAAE;gBACtD,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACvC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAEnC,IAAM,IAAI,GAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"apolloGraphql.spec.js","sourceRoot":"","sources":["../../../src/dsl/apolloGraphql.spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Interaction, InteractionState } from './interaction';
1
+ import { Interaction, InteractionStateComplete } from './interaction';
2
2
  export interface GraphQLVariables {
3
3
  [name: string]: unknown;
4
4
  }
@@ -54,6 +54,6 @@ export declare class GraphQLInteraction extends Interaction {
54
54
  /**
55
55
  * Returns the interaction object created.
56
56
  */
57
- json(): InteractionState;
57
+ json(): InteractionStateComplete;
58
58
  private queryOrMutation;
59
59
  }
@@ -103,6 +103,7 @@ var GraphQLInteraction = /** @class */ (function (_super) {
103
103
  * Returns the interaction object created.
104
104
  */
105
105
  GraphQLInteraction.prototype.json = function () {
106
+ _super.prototype.json.call(this);
106
107
  if ((0, lodash_1.isNil)(this.query)) {
107
108
  throw new configurationError_1.default('You must provide a GraphQL query.');
108
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/dsl/graphql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/dsl/graphql.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,16 @@ describe('GraphQLInteraction', function () {
18
18
  describe('when given a valid operation', function () {
19
19
  it('creates a GraphQL Interaction', function () {
20
20
  interaction.uponReceiving('a request');
21
+ interaction.withRequest({
22
+ path: '/graphql',
23
+ method: 'POST',
24
+ });
21
25
  interaction.withOperation('query');
22
26
  interaction.withQuery('{ hello }');
27
+ interaction.willRespondWith({
28
+ status: 200,
29
+ body: { data: {} },
30
+ });
23
31
  var json = interaction.json();
24
32
  expect(json.request.body.operationName).to.eq('query');
25
33
  });
@@ -32,8 +40,16 @@ describe('GraphQLInteraction', function () {
32
40
  describe('when given a null operation', function () {
33
41
  it('creates a GrphQL Interaction', function () {
34
42
  interaction.uponReceiving('a request');
43
+ interaction.withRequest({
44
+ path: '/graphql',
45
+ method: 'POST',
46
+ });
35
47
  interaction.withOperation(null);
36
48
  interaction.withQuery('{ hello }');
49
+ interaction.willRespondWith({
50
+ status: 200,
51
+ body: { data: {} },
52
+ });
37
53
  var json = interaction.json();
38
54
  expect(json.request.body.operationName).to.eq(null);
39
55
  });
@@ -43,11 +59,19 @@ describe('GraphQLInteraction', function () {
43
59
  describe('when given a set of variables', function () {
44
60
  it('adds the variables to the payload', function () {
45
61
  interaction.uponReceiving('a request');
62
+ interaction.withRequest({
63
+ path: '/graphql',
64
+ method: 'POST',
65
+ });
46
66
  interaction.withOperation('query');
47
67
  interaction.withQuery('{ hello }');
48
68
  interaction.withVariables({
49
69
  foo: 'bar',
50
70
  });
71
+ interaction.willRespondWith({
72
+ status: 200,
73
+ body: { data: {} },
74
+ });
51
75
  var json = interaction.json();
52
76
  expect(json.request.body.variables).to.deep.eq({ foo: 'bar' });
53
77
  });
@@ -55,8 +79,16 @@ describe('GraphQLInteraction', function () {
55
79
  describe('when no variables are provided', function () {
56
80
  it('does not add the variables property to the payload', function () {
57
81
  interaction.uponReceiving('a request');
82
+ interaction.withRequest({
83
+ path: '/graphql',
84
+ method: 'POST',
85
+ });
58
86
  interaction.withOperation('query');
59
87
  interaction.withQuery('{ hello }');
88
+ interaction.willRespondWith({
89
+ status: 200,
90
+ body: { data: {} },
91
+ });
60
92
  var json = interaction.json();
61
93
  expect(json.request.body).to.not.have.property('variables');
62
94
  });
@@ -64,9 +96,17 @@ describe('GraphQLInteraction', function () {
64
96
  describe('when an empty variables object is presented', function () {
65
97
  it('adds the variables property to the payload', function () {
66
98
  interaction.uponReceiving('a request');
99
+ interaction.withRequest({
100
+ path: '/graphql',
101
+ method: 'POST',
102
+ });
67
103
  interaction.withOperation('query');
68
104
  interaction.withQuery('{ hello }');
69
105
  interaction.withVariables({});
106
+ interaction.willRespondWith({
107
+ status: 200,
108
+ body: { data: {} },
109
+ });
70
110
  var json = interaction.json();
71
111
  expect(json.request.body).to.have.property('variables');
72
112
  });
@@ -75,11 +115,19 @@ describe('GraphQLInteraction', function () {
75
115
  describe('#withQuery', function () {
76
116
  beforeEach(function () {
77
117
  interaction.uponReceiving('a request');
118
+ interaction.withRequest({
119
+ path: '/graphql',
120
+ method: 'POST',
121
+ });
78
122
  interaction.withOperation('query');
79
123
  interaction.withQuery('{ hello }');
80
124
  interaction.withVariables({
81
125
  foo: 'bar',
82
126
  });
127
+ interaction.willRespondWith({
128
+ status: 200,
129
+ body: { data: {} },
130
+ });
83
131
  });
84
132
  describe('when given an empty query', function () {
85
133
  it('fails with an error', function () {
@@ -96,9 +144,20 @@ describe('GraphQLInteraction', function () {
96
144
  describe('when given a valid query', function () {
97
145
  describe('without variables', function () {
98
146
  it('adds regular expressions for the whitespace in the query', function () {
147
+ interaction.uponReceiving('a request');
148
+ interaction.withRequest({
149
+ path: '/graphql',
150
+ method: 'POST',
151
+ });
152
+ interaction.withOperation('query');
153
+ interaction.withQuery('{ hello }');
154
+ interaction.willRespondWith({
155
+ status: 200,
156
+ body: { data: {} },
157
+ });
99
158
  var json = interaction.json();
100
159
  expect((0, matchers_1.isMatcher)(json.request.body.query)).to.eq(true);
101
- var r = new RegExp(json.request.body.query.data.matcher.s, 'g');
160
+ var r = new RegExp(json.request.body.query.regex, 'g');
102
161
  var lotsOfWhitespace = "{ hello\n\n }";
103
162
  expect(r.test(lotsOfWhitespace)).to.eq(true);
104
163
  });
@@ -111,7 +170,7 @@ describe('GraphQLInteraction', function () {
111
170
  });
112
171
  var json = interaction.json();
113
172
  expect((0, matchers_1.isMatcher)(json.request.body.query)).to.eq(true);
114
- var r = new RegExp(json.request.body.query.data.matcher.s, 'g');
173
+ var r = new RegExp(json.request.body.query.regex, 'g');
115
174
  // eslint-disable-next-line no-useless-escape
116
175
  var lotsOfWhitespace = "{ Hello(id: $id) { name } }";
117
176
  expect(r.test(lotsOfWhitespace)).to.eq(true);
@@ -134,7 +193,15 @@ describe('GraphQLInteraction', function () {
134
193
  describe('when no operation is provided', function () {
135
194
  it('does not be present in unmarshaled body', function () {
136
195
  interaction.uponReceiving('a request');
196
+ interaction.withRequest({
197
+ path: '/graphql',
198
+ method: 'POST',
199
+ });
137
200
  interaction.withQuery('{ hello }');
201
+ interaction.willRespondWith({
202
+ status: 200,
203
+ body: { data: {} },
204
+ });
138
205
  var json = interaction.json();
139
206
  expect(json.request.body).to.not.have.property('operationName');
140
207
  });
@@ -143,8 +210,16 @@ describe('GraphQLInteraction', function () {
143
210
  context('when given a valid query', function () {
144
211
  it('marshals the query to JSON', function () {
145
212
  interaction.uponReceiving('a request');
213
+ interaction.withRequest({
214
+ path: '/graphql',
215
+ method: 'POST',
216
+ });
146
217
  interaction.withOperation('query');
147
218
  interaction.withQuery('{ hello }');
219
+ interaction.willRespondWith({
220
+ status: 200,
221
+ body: { data: {} },
222
+ });
148
223
  var json = interaction.json();
149
224
  expect((0, matchers_1.isMatcher)(json.request.body.query)).to.eq(true);
150
225
  expect(json.request.body.query.getValue()).to.eq('{ hello }');
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.spec.js","sourceRoot":"","sources":["../../../src/dsl/graphql.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql.spec.js","sourceRoot":"","sources":["../../../src/dsl/graphql.spec.ts"],"names":[],"mappings":"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"}
@@ -8,20 +8,19 @@ interface QueryObject {
8
8
  [name: string]: string | Matcher<string> | string[];
9
9
  }
10
10
  export declare type Query = string | QueryObject;
11
+ export declare type Headers = {
12
+ [header: string]: string | Matcher<string>;
13
+ };
11
14
  export interface RequestOptions {
12
15
  method: HTTPMethods | HTTPMethod;
13
16
  path: string | Matcher<string>;
14
17
  query?: Query;
15
- headers?: {
16
- [name: string]: string | Matcher<string>;
17
- };
18
+ headers?: Headers;
18
19
  body?: AnyTemplate;
19
20
  }
20
21
  export interface ResponseOptions {
21
22
  status: number;
22
- headers?: {
23
- [name: string]: string | Matcher<string>;
24
- };
23
+ headers?: Headers;
25
24
  body?: AnyTemplate;
26
25
  }
27
26
  export interface InteractionObject {
@@ -36,6 +35,12 @@ export interface InteractionState {
36
35
  request?: RequestOptions;
37
36
  response?: ResponseOptions;
38
37
  }
38
+ export interface InteractionStateComplete {
39
+ providerState?: string;
40
+ description: string;
41
+ request: RequestOptions;
42
+ response: ResponseOptions;
43
+ }
39
44
  export declare class Interaction {
40
45
  protected state: InteractionState;
41
46
  /**
@@ -74,6 +79,7 @@ export declare class Interaction {
74
79
  * Returns the interaction object created.
75
80
  * @returns {Object}
76
81
  */
77
- json(): InteractionState;
82
+ json(): InteractionStateComplete;
78
83
  }
84
+ export declare const interactionToInteractionObject: (interaction: InteractionStateComplete) => InteractionObject;
79
85
  export {};
@@ -7,7 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.Interaction = void 0;
10
+ exports.interactionToInteractionObject = exports.Interaction = void 0;
11
11
  var lodash_1 = require("lodash");
12
12
  var request_1 = require("../common/request");
13
13
  var matchers_1 = require("./matchers");
@@ -104,12 +104,41 @@ var Interaction = /** @class */ (function () {
104
104
  * @returns {Object}
105
105
  */
106
106
  Interaction.prototype.json = function () {
107
+ var _a, _b, _c, _d, _e, _f;
107
108
  if ((0, lodash_1.isNil)(this.state.description)) {
108
109
  throw new configurationError_1.default('You must provide a description for the Interaction');
109
110
  }
111
+ if ((0, lodash_1.isNil)(this.state.request) ||
112
+ (0, lodash_1.isNil)((_b = (_a = this.state) === null || _a === void 0 ? void 0 : _a.request) === null || _b === void 0 ? void 0 : _b.method) ||
113
+ (0, lodash_1.isNil)((_d = (_c = this.state) === null || _c === void 0 ? void 0 : _c.request) === null || _d === void 0 ? void 0 : _d.path)) {
114
+ throw new configurationError_1.default('You must provide a request with at least a method and path for the Interaction');
115
+ }
116
+ if ((0, lodash_1.isNil)(this.state.response) || (0, lodash_1.isNil)((_f = (_e = this.state) === null || _e === void 0 ? void 0 : _e.response) === null || _f === void 0 ? void 0 : _f.status)) {
117
+ throw new configurationError_1.default('You must provide a response with a status for the Interaction');
118
+ }
110
119
  return this.state;
111
120
  };
112
121
  return Interaction;
113
122
  }());
114
123
  exports.Interaction = Interaction;
124
+ var interactionToInteractionObject = function (interaction) {
125
+ var _a, _b, _c, _d, _e, _f, _g, _h;
126
+ return {
127
+ state: interaction.providerState,
128
+ uponReceiving: interaction.description,
129
+ withRequest: {
130
+ method: (_a = interaction.request) === null || _a === void 0 ? void 0 : _a.method,
131
+ path: (_b = interaction.request) === null || _b === void 0 ? void 0 : _b.path,
132
+ query: (_c = interaction.request) === null || _c === void 0 ? void 0 : _c.query,
133
+ body: (_d = interaction.request) === null || _d === void 0 ? void 0 : _d.body,
134
+ headers: (_e = interaction.request) === null || _e === void 0 ? void 0 : _e.headers,
135
+ },
136
+ willRespondWith: {
137
+ status: (_f = interaction.response) === null || _f === void 0 ? void 0 : _f.status,
138
+ body: (_g = interaction.response) === null || _g === void 0 ? void 0 : _g.body,
139
+ headers: (_h = interaction.response) === null || _h === void 0 ? void 0 : _h.headers,
140
+ },
141
+ };
142
+ };
143
+ exports.interactionToInteractionObject = interactionToInteractionObject;
115
144
  //# sourceMappingURL=interaction.js.map