wrapito 9.0.1 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/mockNetwork.d.ts +9 -1
- package/mockNetwork.d.ts.map +1 -1
- package/mockNetwork.js +62 -52
- package/mockNetwork.js.map +1 -1
- package/models.d.ts +10 -7
- package/models.d.ts.map +1 -1
- package/options.d.ts +6 -0
- package/options.d.ts.map +1 -0
- package/options.js +23 -0
- package/options.js.map +1 -0
- package/package.json +1 -1
- package/wrap.d.ts.map +1 -1
- package/wrap.js +70 -62
- package/wrap.js.map +1 -1
package/mockNetwork.d.ts
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="jest" />
|
|
2
|
+
import { Response } from './models';
|
|
3
|
+
declare global {
|
|
4
|
+
interface Window {
|
|
5
|
+
fetch: jest.Mock;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
declare const mockNetwork: (responses?: Response[], debug?: boolean) => void;
|
|
9
|
+
export { mockNetwork };
|
|
2
10
|
//# sourceMappingURL=mockNetwork.d.ts.map
|
package/mockNetwork.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockNetwork.d.ts","sourceRoot":"","sources":["../src/mockNetwork.
|
|
1
|
+
{"version":3,"file":"mockNetwork.d.ts","sourceRoot":"","sources":["../src/mockNetwork.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAW,MAAM,UAAU,CAAA;AAG5C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,KAAK,EAAE,IAAI,CAAC,IAAI,CAAA;KACjB;CACF;AAkFD,QAAA,MAAM,WAAW,eAAe,QAAQ,EAAE,UAAc,OAAO,SAI9D,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
package/mockNetwork.js
CHANGED
|
@@ -46,69 +46,79 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
49
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
53
|
exports.mockNetwork = void 0;
|
|
51
|
-
var chalk_1 = require("chalk");
|
|
54
|
+
var chalk_1 = __importDefault(require("chalk"));
|
|
52
55
|
var requestMatcher_1 = require("./requestMatcher");
|
|
53
56
|
beforeEach(function () {
|
|
54
|
-
global.fetch = jest.fn();
|
|
57
|
+
global.window.fetch = jest.fn();
|
|
55
58
|
});
|
|
56
59
|
afterEach(function () {
|
|
57
|
-
global.fetch.mockRestore();
|
|
60
|
+
global.window.fetch.mockRestore();
|
|
58
61
|
});
|
|
59
|
-
var
|
|
60
|
-
var
|
|
61
|
-
return
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
};
|
|
70
|
-
if (!delay)
|
|
71
|
-
return [2 /*return*/, Promise.resolve(response)];
|
|
72
|
-
return [2 /*return*/, new Promise(function (resolve) {
|
|
73
|
-
return setTimeout(function () {
|
|
74
|
-
return resolve(response);
|
|
75
|
-
}, delay);
|
|
76
|
-
})];
|
|
77
|
-
});
|
|
62
|
+
var createDefaultResponse = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
63
|
+
var response;
|
|
64
|
+
return __generator(this, function (_a) {
|
|
65
|
+
response = {
|
|
66
|
+
json: function () { return Promise.resolve(); },
|
|
67
|
+
status: 200,
|
|
68
|
+
ok: true,
|
|
69
|
+
headers: new Headers({ 'Content-Type': 'application/json' }),
|
|
70
|
+
};
|
|
71
|
+
return [2 /*return*/, Promise.resolve(response)];
|
|
78
72
|
});
|
|
79
|
-
};
|
|
73
|
+
}); };
|
|
74
|
+
var createResponse = function (mockResponse) { return __awaiter(void 0, void 0, void 0, function () {
|
|
75
|
+
var responseBody, _a, status, headers, delay, response;
|
|
76
|
+
return __generator(this, function (_b) {
|
|
77
|
+
responseBody = mockResponse.responseBody, _a = mockResponse.status, status = _a === void 0 ? 200 : _a, headers = mockResponse.headers, delay = mockResponse.delay;
|
|
78
|
+
response = {
|
|
79
|
+
json: function () { return Promise.resolve(responseBody); },
|
|
80
|
+
status: status,
|
|
81
|
+
ok: status >= 200 && status <= 299,
|
|
82
|
+
headers: new Headers(__assign({ 'Content-Type': 'application/json' }, headers)),
|
|
83
|
+
};
|
|
84
|
+
if (!delay)
|
|
85
|
+
return [2 /*return*/, Promise.resolve(response)];
|
|
86
|
+
return [2 /*return*/, new Promise(function (resolve) {
|
|
87
|
+
return setTimeout(function () {
|
|
88
|
+
return resolve(response);
|
|
89
|
+
}, delay);
|
|
90
|
+
})];
|
|
91
|
+
});
|
|
92
|
+
}); };
|
|
80
93
|
var printRequest = function (request) {
|
|
81
|
-
return console.warn("\n" + chalk_1.white.bold.bgRed('wrapito') + " " + chalk_1.redBright.bold('cannot find any mock matching:') + "\n " + chalk_1.greenBright("URL: " + request.url) + "\n " + chalk_1.greenBright("METHOD: " + request.method.toLowerCase()) + "\n " + chalk_1.greenBright("REQUEST BODY: " + request._bodyInit) + "\n ");
|
|
94
|
+
return console.warn("\n" + chalk_1.default.white.bold.bgRed('wrapito') + " " + chalk_1.default.redBright.bold('cannot find any mock matching:') + "\n " + chalk_1.default.greenBright("URL: " + request.url) + "\n " + chalk_1.default.greenBright("METHOD: " + request.method.toLowerCase()) + "\n " + chalk_1.default.greenBright("REQUEST BODY: " + request._bodyInit) + "\n ");
|
|
82
95
|
};
|
|
83
|
-
function
|
|
84
|
-
var
|
|
96
|
+
var mockFetch = function (responses, request, debug) { return __awaiter(void 0, void 0, void 0, function () {
|
|
97
|
+
var responseMatchingRequest, multipleResponses, responseNotYetReturned;
|
|
98
|
+
return __generator(this, function (_a) {
|
|
99
|
+
responseMatchingRequest = responses.find(requestMatcher_1.getRequestMatcher(request));
|
|
100
|
+
if (!responseMatchingRequest) {
|
|
101
|
+
if (debug) {
|
|
102
|
+
printRequest(request);
|
|
103
|
+
}
|
|
104
|
+
return [2 /*return*/, createDefaultResponse()];
|
|
105
|
+
}
|
|
106
|
+
multipleResponses = responseMatchingRequest.multipleResponses;
|
|
107
|
+
if (!multipleResponses) {
|
|
108
|
+
return [2 /*return*/, createResponse(responseMatchingRequest)];
|
|
109
|
+
}
|
|
110
|
+
responseNotYetReturned = multipleResponses.find(function (response) { return !response.hasBeenReturned; });
|
|
111
|
+
if (!responseNotYetReturned)
|
|
112
|
+
return [2 /*return*/];
|
|
113
|
+
responseNotYetReturned.hasBeenReturned = true;
|
|
114
|
+
return [2 /*return*/, createResponse(responseNotYetReturned)];
|
|
115
|
+
});
|
|
116
|
+
}); };
|
|
117
|
+
var mockNetwork = function (responses, debug) {
|
|
85
118
|
if (responses === void 0) { responses = []; }
|
|
86
119
|
if (debug === void 0) { debug = false; }
|
|
87
|
-
var
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
return __generator(this, function (_a) {
|
|
91
|
-
responseMatchingRequest = listOfResponses.find(requestMatcher_1.getRequestMatcher(request));
|
|
92
|
-
if (!responseMatchingRequest) {
|
|
93
|
-
if (debug) {
|
|
94
|
-
printRequest(request);
|
|
95
|
-
}
|
|
96
|
-
return [2 /*return*/, createResponse({})];
|
|
97
|
-
}
|
|
98
|
-
multipleResponses = responseMatchingRequest.multipleResponses;
|
|
99
|
-
if (!multipleResponses) {
|
|
100
|
-
return [2 /*return*/, createResponse(responseMatchingRequest)];
|
|
101
|
-
}
|
|
102
|
-
responseNotYetReturned = multipleResponses.find(function (_a) {
|
|
103
|
-
var hasBeenReturned = _a.hasBeenReturned;
|
|
104
|
-
return !hasBeenReturned;
|
|
105
|
-
});
|
|
106
|
-
if (!responseNotYetReturned)
|
|
107
|
-
return [2 /*return*/];
|
|
108
|
-
responseNotYetReturned.hasBeenReturned = true;
|
|
109
|
-
return [2 /*return*/, createResponse(responseNotYetReturned)];
|
|
110
|
-
});
|
|
111
|
-
}); });
|
|
112
|
-
}
|
|
120
|
+
var fetch = global.window.fetch;
|
|
121
|
+
fetch.mockImplementation(function (request) { return mockFetch(responses, request, debug); });
|
|
122
|
+
};
|
|
113
123
|
exports.mockNetwork = mockNetwork;
|
|
114
124
|
//# sourceMappingURL=mockNetwork.js.map
|
package/mockNetwork.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockNetwork.js","sourceRoot":"","sources":["../src/mockNetwork.
|
|
1
|
+
{"version":3,"file":"mockNetwork.js","sourceRoot":"","sources":["../src/mockNetwork.ts"],"names":[],"mappings":"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"}
|
package/models.d.ts
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
interface
|
|
2
|
+
interface WrapRequest extends Request {
|
|
3
|
+
_bodyInit: string;
|
|
4
|
+
}
|
|
5
|
+
interface WrapResponse extends Response {
|
|
3
6
|
path: string;
|
|
4
7
|
method?: string;
|
|
5
|
-
status?: number;
|
|
6
8
|
host?: string;
|
|
7
9
|
responseBody?: object;
|
|
8
10
|
requestBody?: object;
|
|
9
|
-
multipleResponses?:
|
|
11
|
+
multipleResponses?: WrapResponse[];
|
|
10
12
|
catchParams?: boolean;
|
|
11
13
|
delay?: number;
|
|
14
|
+
hasBeenReturned?: boolean;
|
|
12
15
|
}
|
|
13
16
|
interface Wrap {
|
|
14
|
-
withNetwork: (responses:
|
|
17
|
+
withNetwork: (responses: WrapResponse[]) => Wrap;
|
|
15
18
|
atPath: (path: string) => Wrap;
|
|
16
19
|
withProps: (props: object) => Wrap;
|
|
17
20
|
debugRequests: () => Wrap;
|
|
@@ -19,14 +22,14 @@ interface Wrap {
|
|
|
19
22
|
}
|
|
20
23
|
interface WrapOptions {
|
|
21
24
|
Component: typeof React.Component;
|
|
22
|
-
responses:
|
|
25
|
+
responses: WrapResponse[];
|
|
23
26
|
props: object;
|
|
24
27
|
path: string;
|
|
25
28
|
hasPath: boolean;
|
|
26
29
|
debug: boolean;
|
|
27
30
|
}
|
|
28
31
|
interface WrapExtensionAPI {
|
|
29
|
-
addResponses: () => void;
|
|
32
|
+
addResponses: (responses: WrapResponse[]) => void;
|
|
30
33
|
}
|
|
31
34
|
declare type Extension = <T>(extensionAPI: WrapExtensionAPI, args: T) => Wrap;
|
|
32
35
|
declare type Extensions = {
|
|
@@ -45,5 +48,5 @@ interface Config {
|
|
|
45
48
|
interface BrowserHistory extends History {
|
|
46
49
|
push: (path: string) => void;
|
|
47
50
|
}
|
|
48
|
-
export {
|
|
51
|
+
export { WrapRequest as Request, WrapResponse as Response, Config, Mount, Component, BrowserHistory, Extension, Extensions, WrapExtensionAPI, Wrap, WrapOptions, };
|
|
49
52
|
//# sourceMappingURL=models.d.ts.map
|
package/models.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,UAAU,
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,UAAU,WAAY,SAAQ,OAAO;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,YAAa,SAAQ,QAAQ;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,UAAU,IAAI;IACZ,WAAW,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,IAAI,CAAA;IAChD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,MAAM,CAAA;CACpB;AAED,UAAU,WAAW;IACnB,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,CAAA;IACjC,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;CACf;AAED,UAAU,gBAAgB;IACxB,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,IAAI,CAAA;CAClD;AAED,aAAK,SAAS,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;AAErE,aAAK,UAAU,GAAG;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB,CAAA;AAED,aAAK,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAE7C,aAAK,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,KAAK,cAAc,CAAA;AAErD,UAAU,MAAM;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,UAAU,CAAA;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,cAAe,SAAQ,OAAO;IACtC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7B;AAED,OAAO,EACL,WAAW,IAAI,OAAO,EACtB,YAAY,IAAI,QAAQ,EACxB,MAAM,EACN,KAAK,EACL,SAAS,EACT,cAAc,EACd,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,IAAI,EACJ,WAAW,GACZ,CAAA"}
|
package/options.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { WrapOptions } from "./models";
|
|
2
|
+
declare let options: WrapOptions;
|
|
3
|
+
declare const updateOptions: (updatedOptions: WrapOptions) => void;
|
|
4
|
+
declare const getOptions: () => WrapOptions;
|
|
5
|
+
export { options, updateOptions, getOptions };
|
|
6
|
+
//# sourceMappingURL=options.d.ts.map
|
package/options.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,QAAA,IAAI,OAAO,EAAE,WAAW,CAAA;AAExB,QAAA,MAAM,aAAa,mBAAoB,WAAW,SAKjD,CAAA;AAED,QAAA,MAAM,UAAU,QAAQ,WAA+B,CAAA;AAEvD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAA"}
|
package/options.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.getOptions = exports.updateOptions = exports.options = void 0;
|
|
15
|
+
var options;
|
|
16
|
+
exports.options = options;
|
|
17
|
+
var updateOptions = function (updatedOptions) {
|
|
18
|
+
exports.options = options = __assign(__assign({}, options), updatedOptions);
|
|
19
|
+
};
|
|
20
|
+
exports.updateOptions = updateOptions;
|
|
21
|
+
var getOptions = function () { return (__assign({}, options)); };
|
|
22
|
+
exports.getOptions = getOptions;
|
|
23
|
+
//# sourceMappingURL=options.js.map
|
package/options.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,IAAI,OAAoB,CAAA;AAWf,0BAAO;AAThB,IAAM,aAAa,GAAG,UAAC,cAA2B;IAChD,kBAAA,OAAO,yBACF,OAAO,GACP,cAAc,CAClB,CAAA;AACH,CAAC,CAAA;AAIiB,sCAAa;AAF/B,IAAM,UAAU,GAAG,cAAoB,OAAA,cAAM,OAAO,EAAG,EAAhB,CAAgB,CAAA;AAEtB,gCAAU"}
|
package/package.json
CHANGED
package/wrap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../src/wrap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../src/wrap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,EAEL,IAAI,EAIL,MAAM,UAAU,CAAA;AAWjB,QAAA,MAAM,IAAI,yCAAwC,IAWjD,CAAA;AAoHD,OAAO,EAAE,IAAI,EAAE,CAAA"}
|
package/wrap.js
CHANGED
|
@@ -20,6 +20,7 @@ exports.wrap = void 0;
|
|
|
20
20
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
21
21
|
var mockNetwork_1 = require("./mockNetwork");
|
|
22
22
|
var config_1 = require("./config");
|
|
23
|
+
var options_1 = require("./options");
|
|
23
24
|
beforeEach(function () {
|
|
24
25
|
global.fetch = jest.fn();
|
|
25
26
|
});
|
|
@@ -28,79 +29,86 @@ afterEach(function () {
|
|
|
28
29
|
mockedFetch.mockRestore();
|
|
29
30
|
});
|
|
30
31
|
var wrap = function (Component) {
|
|
31
|
-
|
|
32
|
+
options_1.updateOptions({
|
|
32
33
|
Component: Component,
|
|
33
34
|
responses: [],
|
|
34
35
|
props: {},
|
|
35
36
|
path: '',
|
|
36
37
|
hasPath: false,
|
|
37
|
-
debug:
|
|
38
|
-
};
|
|
39
|
-
return wrapWith(
|
|
38
|
+
debug: process.env.npm_config_debugRequests === 'true',
|
|
39
|
+
});
|
|
40
|
+
return wrapWith();
|
|
40
41
|
};
|
|
41
42
|
exports.wrap = wrap;
|
|
42
|
-
var wrapWith = function (
|
|
43
|
-
var
|
|
44
|
-
|
|
45
|
-
return __assign({ withProps: getWithProps(options), withNetwork: getWithNetwork(options), atPath: getAtPath(options), debugRequests: getDebugRequest(options), mount: getMount(options, mount, changeRoute, history, portal) }, extensions);
|
|
43
|
+
var wrapWith = function () {
|
|
44
|
+
var extensions = extendWith();
|
|
45
|
+
return __assign({ withProps: withProps, withNetwork: withNetwork, atPath: atPath, debugRequests: debugRequests, mount: getMount }, extensions);
|
|
46
46
|
};
|
|
47
|
-
|
|
48
|
-
var
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return Object.keys(extensions).reduce(function (alreadyExtended, nextExtension) {
|
|
52
|
-
var _a;
|
|
53
|
-
return (__assign(__assign({}, alreadyExtended), (_a = {}, _a[nextExtension] = function () {
|
|
54
|
-
var args = [];
|
|
55
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
56
|
-
args[_i] = arguments[_i];
|
|
57
|
-
}
|
|
58
|
-
extensions[nextExtension]({
|
|
59
|
-
addResponses: function (responses) {
|
|
60
|
-
if (responses === void 0) { responses = []; }
|
|
61
|
-
var responsesToAdd = Array.isArray(responses)
|
|
62
|
-
? responses
|
|
63
|
-
: [responses];
|
|
64
|
-
options.responses = __spreadArray(__spreadArray([], options.responses), responsesToAdd);
|
|
65
|
-
},
|
|
66
|
-
}, args);
|
|
67
|
-
return wrapWith(options);
|
|
68
|
-
}, _a)));
|
|
69
|
-
}, {});
|
|
47
|
+
var addResponses = function (newResponses) {
|
|
48
|
+
var options = options_1.getOptions();
|
|
49
|
+
var responses = __spreadArray(__spreadArray([], options.responses), newResponses);
|
|
50
|
+
options_1.updateOptions(__assign(__assign({}, options), { responses: responses }));
|
|
70
51
|
};
|
|
71
|
-
var
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
return function (responses) {
|
|
76
|
-
if (responses === void 0) { responses = []; }
|
|
77
|
-
var listOfResponses = Array.isArray(responses) ? responses : [responses];
|
|
78
|
-
return wrapWith(__assign(__assign({}, options), { responses: __spreadArray(__spreadArray([], options.responses), listOfResponses) }));
|
|
79
|
-
};
|
|
52
|
+
var applyExtension = function (args, extension) {
|
|
53
|
+
var wrapExtensionAPI = { addResponses: addResponses };
|
|
54
|
+
extension(wrapExtensionAPI, args);
|
|
55
|
+
return wrapWith();
|
|
80
56
|
};
|
|
81
|
-
var
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
var
|
|
85
|
-
return
|
|
86
|
-
|
|
87
|
-
var
|
|
88
|
-
|
|
89
|
-
var Component = options.Component, props = options.props, responses = options.responses, path = options.path, hasPath = options.hasPath, debug = options.debug;
|
|
90
|
-
if (portal) {
|
|
91
|
-
setupPortal(portal);
|
|
92
|
-
}
|
|
93
|
-
if (hasPath && history) {
|
|
94
|
-
console.warn('wrapito WARNING: history is DEPRECATED. Pass a changeRoute function to the config instead.');
|
|
95
|
-
console.warn('Read about changeRounte in: https://github.com/mercadona/wrapito#changeRoute');
|
|
96
|
-
history.push(path);
|
|
97
|
-
}
|
|
98
|
-
if (hasPath && !history) {
|
|
99
|
-
changeRoute(path);
|
|
57
|
+
var buildExtensions = function (alreadyExtended, extensionName) {
|
|
58
|
+
var _a;
|
|
59
|
+
var extensions = config_1.getConfig().extend;
|
|
60
|
+
var extension = extensions[extensionName];
|
|
61
|
+
return __assign(__assign({}, alreadyExtended), (_a = {}, _a[extensionName] = function () {
|
|
62
|
+
var args = [];
|
|
63
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
64
|
+
args[_i] = arguments[_i];
|
|
100
65
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
66
|
+
return applyExtension(args, extension);
|
|
67
|
+
}, _a));
|
|
68
|
+
};
|
|
69
|
+
var extendWith = function () {
|
|
70
|
+
var extensions = config_1.getConfig().extend;
|
|
71
|
+
var extensionNames = Object.keys(extensions);
|
|
72
|
+
return extensionNames.reduce(buildExtensions, {});
|
|
73
|
+
};
|
|
74
|
+
var withProps = function (props) {
|
|
75
|
+
var options = options_1.getOptions();
|
|
76
|
+
options_1.updateOptions(__assign(__assign({}, options), { props: props }));
|
|
77
|
+
return wrapWith();
|
|
78
|
+
};
|
|
79
|
+
var withNetwork = function (responses) {
|
|
80
|
+
if (responses === void 0) { responses = []; }
|
|
81
|
+
var options = options_1.getOptions();
|
|
82
|
+
var listOfResponses = Array.isArray(responses) ? responses : [responses];
|
|
83
|
+
options_1.updateOptions(__assign(__assign({}, options), { responses: __spreadArray(__spreadArray([], options.responses), listOfResponses) }));
|
|
84
|
+
return wrapWith();
|
|
85
|
+
};
|
|
86
|
+
var atPath = function (path) {
|
|
87
|
+
var options = options_1.getOptions();
|
|
88
|
+
options_1.updateOptions(__assign(__assign({}, options), { path: path, hasPath: true }));
|
|
89
|
+
return wrapWith();
|
|
90
|
+
};
|
|
91
|
+
var debugRequests = function () {
|
|
92
|
+
var options = options_1.getOptions();
|
|
93
|
+
options_1.updateOptions(__assign(__assign({}, options), { debug: true }));
|
|
94
|
+
return wrapWith();
|
|
95
|
+
};
|
|
96
|
+
var getMount = function () {
|
|
97
|
+
var _a = config_1.getConfig(), portal = _a.portal, changeRoute = _a.changeRoute, history = _a.history, mount = _a.mount;
|
|
98
|
+
var _b = options_1.getOptions(), Component = _b.Component, props = _b.props, responses = _b.responses, path = _b.path, hasPath = _b.hasPath, debug = _b.debug;
|
|
99
|
+
if (portal) {
|
|
100
|
+
setupPortal(portal);
|
|
101
|
+
}
|
|
102
|
+
if (hasPath && history) {
|
|
103
|
+
console.warn('wrapito WARNING: history is DEPRECATED. Pass a changeRoute function to the config instead.');
|
|
104
|
+
console.warn('Read about changeRoute in: https://github.com/mercadona/wrapito#changeRoute');
|
|
105
|
+
history.push(path);
|
|
106
|
+
}
|
|
107
|
+
if (hasPath && !history) {
|
|
108
|
+
changeRoute(path);
|
|
109
|
+
}
|
|
110
|
+
mockNetwork_1.mockNetwork(responses, debug);
|
|
111
|
+
return mount(jsx_runtime_1.jsx(Component, __assign({}, props), void 0));
|
|
104
112
|
};
|
|
105
113
|
var setupPortal = function (portalRootId) {
|
|
106
114
|
if (document.getElementById(portalRootId)) {
|
package/wrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA,6CAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.tsx"],"names":[],"mappings":"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"}
|