@n1k1t/mock-server 0.1.13 → 0.1.15
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/README.md +9 -124
- package/lib/package.json +1 -1
- package/lib/src/server/history/model.d.ts.map +1 -1
- package/lib/src/server/history/model.js +3 -0
- package/lib/src/server/history/model.js.map +1 -1
- package/lib/src/server/models/containers/model.d.ts +15 -2
- package/lib/src/server/models/containers/model.d.ts.map +1 -1
- package/lib/src/server/models/containers/model.js +4 -2
- package/lib/src/server/models/containers/model.js.map +1 -1
- package/lib/src/server/models/containers/storage.js +1 -1
- package/lib/src/server/models/containers/storage.js.map +1 -1
- package/lib/src/server/models/request-context/snapshot.d.ts.map +1 -1
- package/lib/src/server/models/request-context/snapshot.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -3
- package/public/index.html +8 -3
- package/public/scripts/main.js +305 -108
- package/public/styles/fa-all.css +1 -1
- package/public/styles/main.css +61 -12
package/README.md
CHANGED
|
@@ -34,7 +34,6 @@ Mock, match, modify and manipulate a HTTP request/response payload using flexibl
|
|
|
34
34
|
- [Configuration](#configuration)
|
|
35
35
|
- [Logger](#logger)
|
|
36
36
|
- [Meta](#meta)
|
|
37
|
-
- [Plugins](#plugins)
|
|
38
37
|
|
|
39
38
|
# Basics
|
|
40
39
|
|
|
@@ -167,8 +166,8 @@ await server.client.createExpectation({
|
|
|
167
166
|
| | path | `path` | `string` | | Incoming request path |
|
|
168
167
|
| | method | `method` | `string` | | Incoming request method in **uppercase** |
|
|
169
168
|
| | headers | `incoming.headers` | `object` | | Incoming request headers with keys in **lowercase** |
|
|
170
|
-
| |
|
|
171
|
-
| |
|
|
169
|
+
| | dataRaw | `incoming.dataRaw` | `string` | | Incoming request source data |
|
|
170
|
+
| | data | `incoming.data` | `object` | * | Incoming request parsed data |
|
|
172
171
|
| | query | `incoming.query` | `object` | * | Incoming request query search parameters |
|
|
173
172
|
| | delay | `delay` | `number` | * | Delay that can be applied with [operators](#operators) |
|
|
174
173
|
| | error | `error` | `string` | * | Error that can be applied with [operators](#operators) |
|
|
@@ -302,7 +301,7 @@ await server.client.createExpectation({
|
|
|
302
301
|
schema: {
|
|
303
302
|
request: {
|
|
304
303
|
$set: {
|
|
305
|
-
$location: 'incoming.
|
|
304
|
+
$location: 'incoming.data',
|
|
306
305
|
$path: 'foo',
|
|
307
306
|
$exec: (payload, { _ }) => _.clamp(payload, 0, 10),
|
|
308
307
|
},
|
|
@@ -319,7 +318,7 @@ curl -H "Content-type: application/json" -X POST --location "localhost:8080/_moc
|
|
|
319
318
|
"schema": {
|
|
320
319
|
"request": {
|
|
321
320
|
"\$set": {
|
|
322
|
-
"\$location": "incoming.
|
|
321
|
+
"\$location": "incoming.data",
|
|
323
322
|
"\$path": "foo",
|
|
324
323
|
"\$exec": "_.clamp(payload, 0, 10)"
|
|
325
324
|
}
|
|
@@ -348,7 +347,7 @@ await server.client.createExpectation({
|
|
|
348
347
|
schema: {
|
|
349
348
|
request: {
|
|
350
349
|
$merge: {
|
|
351
|
-
$location: 'incoming.
|
|
350
|
+
$location: 'incoming.data',
|
|
352
351
|
$value: { has_mocked: true },
|
|
353
352
|
},
|
|
354
353
|
},
|
|
@@ -364,7 +363,7 @@ curl -H "Content-type: application/json" -X POST --location "localhost:8080/_moc
|
|
|
364
363
|
"schema": {
|
|
365
364
|
"request": {
|
|
366
365
|
"\$merge": {
|
|
367
|
-
"\$location": "incoming.
|
|
366
|
+
"\$location": "incoming.data",
|
|
368
367
|
"\$value": {"has_mocked": true}
|
|
369
368
|
}
|
|
370
369
|
}
|
|
@@ -723,7 +722,7 @@ Storage is a temporary storage that provides an access to read/write [containers
|
|
|
723
722
|
| register | `(configuration: Container) => Container` | Registers a container in storage (overrides if existent) |
|
|
724
723
|
| provide | `(configuration: Container) => Container` | Finds or registers a container in storage |
|
|
725
724
|
|
|
726
|
-
As a temporary storage it has a job to garbage an expired containers. Use `containers.
|
|
725
|
+
As a temporary storage it has a job to garbage an expired containers. Use `containers.expiredCleaningInterval` to setup an interval of clearance in [configuration](#configuration)
|
|
727
726
|
|
|
728
727
|
> **!NOTE** See example of usage in [containers](#containers) section below
|
|
729
728
|
|
|
@@ -779,7 +778,7 @@ To work with cache the mock server uses [ioredis](https://www.npmjs.com/package/
|
|
|
779
778
|
2. Preparing [request schema](#schema) in expectation...
|
|
780
779
|
3. Setting up cache configuration from [context](#context) or [forward.cache](#forwarding)...
|
|
781
780
|
4. If `cache.isEnabled` is equals `true` the mock server checks a cache using provided configuration
|
|
782
|
-
5. If `key` was not provided a key for cache will calculated with `path`, `method`, `
|
|
781
|
+
5. If `key` was not provided a key for cache will calculated with `path`, `method`, `data` and `query` property values using [FNV1A-64](https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function) algorithm
|
|
783
782
|
6. If cache was found then step `7` is skipping
|
|
784
783
|
7. Forwarding a request....
|
|
785
784
|
8. Preparing [response schema](#schema) in expectation...
|
|
@@ -1158,7 +1157,7 @@ config.merge({
|
|
|
1158
1157
|
},
|
|
1159
1158
|
|
|
1160
1159
|
containers: {
|
|
1161
|
-
|
|
1160
|
+
expiredCleaningInterval: 60 * 60, // Expired containers cleaning interval in seconds (default: 1h)
|
|
1162
1161
|
},
|
|
1163
1162
|
});
|
|
1164
1163
|
```
|
|
@@ -1237,117 +1236,3 @@ await server.client.createExpectation({
|
|
|
1237
1236
|
},
|
|
1238
1237
|
});
|
|
1239
1238
|
```
|
|
1240
|
-
|
|
1241
|
-
## Plugins
|
|
1242
|
-
|
|
1243
|
-
> **!NOTE** Configuration must be provided in the same script like mock server
|
|
1244
|
-
|
|
1245
|
-
| Plugin | Description |
|
|
1246
|
-
|--|--|
|
|
1247
|
-
| [`incoming.body`](#incomingbody) | Describes how to handle incoming body |
|
|
1248
|
-
| [`outgoing.response`](#outgoingresponse) | Describes how to reply |
|
|
1249
|
-
| [`forward.request`](#forwardrequest) | Describes how provide an [axios](https://www.npmjs.com/package/axios) request config to forward a request |
|
|
1250
|
-
| [`forward.response`](#forwardresponse) | Describes how to parse [axios](https://www.npmjs.com/package/axios) response of a forwarded request |
|
|
1251
|
-
|
|
1252
|
-
### incoming.body
|
|
1253
|
-
|
|
1254
|
-
`INPUT`
|
|
1255
|
-
|
|
1256
|
-
| Argument | Type | Description |
|
|
1257
|
-
|--|--|--|
|
|
1258
|
-
| request | `http.IncomingMessage` | Raw HTTP request |
|
|
1259
|
-
|
|
1260
|
-
`OUTPUT`
|
|
1261
|
-
|
|
1262
|
-
| Property | Type | Optional | Description |
|
|
1263
|
-
|--|--|--|--|
|
|
1264
|
-
| raw | `string` | | Serialized incoming request body |
|
|
1265
|
-
| type | `xml ∣ json ∣ plain` | * | A type of `payload` |
|
|
1266
|
-
| payload | `object` | * | A payload object |
|
|
1267
|
-
|
|
1268
|
-
**Example**
|
|
1269
|
-
|
|
1270
|
-
```ts
|
|
1271
|
-
server.context.plugins.register('incoming.body', async (request) => {
|
|
1272
|
-
let raw = '';
|
|
1273
|
-
|
|
1274
|
-
request.on('data', chunk => raw += chunk);
|
|
1275
|
-
await new Promise(resolve => request.on('end', resolve));
|
|
1276
|
-
|
|
1277
|
-
return { raw };
|
|
1278
|
-
});
|
|
1279
|
-
```
|
|
1280
|
-
|
|
1281
|
-
### outgoing.response
|
|
1282
|
-
|
|
1283
|
-
`INPUT`
|
|
1284
|
-
|
|
1285
|
-
| Argument | Type | Description |
|
|
1286
|
-
|--|--|--|
|
|
1287
|
-
| response | `http.ServerResponse` | Raw HTTP response |
|
|
1288
|
-
| context | `object` | A request [context](#context) |
|
|
1289
|
-
|
|
1290
|
-
`OUTPUT`
|
|
1291
|
-
|
|
1292
|
-
| Type | Description |
|
|
1293
|
-
|--|--|
|
|
1294
|
-
| `unknown` | Result is not handing |
|
|
1295
|
-
|
|
1296
|
-
**Example**
|
|
1297
|
-
|
|
1298
|
-
```ts
|
|
1299
|
-
server.context.plugins.register('outgoing.response', (response, context) => {
|
|
1300
|
-
context.response.writeHead(context.outgoing.status ?? 200, context.outgoing.headers);
|
|
1301
|
-
context.response.write(context.outgoing.dataRaw);
|
|
1302
|
-
context.response.end();
|
|
1303
|
-
});
|
|
1304
|
-
```
|
|
1305
|
-
|
|
1306
|
-
### forward.request
|
|
1307
|
-
|
|
1308
|
-
`INPUT`
|
|
1309
|
-
|
|
1310
|
-
| Argument | Type | Description |
|
|
1311
|
-
|--|--|--|
|
|
1312
|
-
| config | `AxiosRequestConfig` | An [axios](https://www.npmjs.com/package/axios) request config |
|
|
1313
|
-
| context | `object` | A request [context](#context) |
|
|
1314
|
-
|
|
1315
|
-
`OUTPUT`
|
|
1316
|
-
|
|
1317
|
-
| Type | Description |
|
|
1318
|
-
|--|--|
|
|
1319
|
-
| `AxiosRequestConfig` | An [axios](https://www.npmjs.com/package/axios) request config |
|
|
1320
|
-
|
|
1321
|
-
**Example**
|
|
1322
|
-
|
|
1323
|
-
```ts
|
|
1324
|
-
server.context.plugins.register('forward.request', (config) => ({
|
|
1325
|
-
...config,
|
|
1326
|
-
url: config.url.replace('/api_v1', '/api_v2'),
|
|
1327
|
-
}));
|
|
1328
|
-
```
|
|
1329
|
-
|
|
1330
|
-
### forward.response
|
|
1331
|
-
|
|
1332
|
-
`INPUT`
|
|
1333
|
-
|
|
1334
|
-
| Argument | Type | Description |
|
|
1335
|
-
|--|--|--|
|
|
1336
|
-
| config | `AxiosResponse` | An [axios](https://www.npmjs.com/package/axios) response |
|
|
1337
|
-
| context | `object` | A request [context](#context) |
|
|
1338
|
-
|
|
1339
|
-
`OUTPUT`
|
|
1340
|
-
|
|
1341
|
-
| Property | Type | Optional | Description |
|
|
1342
|
-
|--|--|--|--|
|
|
1343
|
-
| raw | `string` | | Serialized incoming request body |
|
|
1344
|
-
| type | `xml ∣ json ∣ plain` | * | A type of `payload` |
|
|
1345
|
-
| payload | `object` | * | A payload object |
|
|
1346
|
-
|
|
1347
|
-
**Example**
|
|
1348
|
-
|
|
1349
|
-
```ts
|
|
1350
|
-
server.context.plugins.register('forward.response', async (response: AxiosResponse<Buffer>) => ({
|
|
1351
|
-
raw: response.data.toString(),
|
|
1352
|
-
}));
|
|
1353
|
-
```
|
package/lib/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/server/history/model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,qBAAa,OAAO;IAgBC,QAAQ,EAAE,cAAc,CAAC,sBAAsB,EAAE,UAAU,CAAC;IAfxE,MAAM,EAAG,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,GAAG;QACxD,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC3C,WAAW,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;KAC1C,CAAC;IAEK,EAAE,EAAE,MAAM,CAAY;IAEtB,MAAM,yBAA2C;IACjD,WAAW,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI;;;MAGT;gBAEiB,QAAQ,EAAE,cAAc,CAAC,sBAAsB,EAAE,UAAU,CAAC;IAExE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/server/history/model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,qBAAa,OAAO;IAgBC,QAAQ,EAAE,cAAc,CAAC,sBAAsB,EAAE,UAAU,CAAC;IAfxE,MAAM,EAAG,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,GAAG;QACxD,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC3C,WAAW,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;KAC1C,CAAC;IAEK,EAAE,EAAE,MAAM,CAAY;IAEtB,MAAM,yBAA2C;IACjD,WAAW,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI;;;MAGT;gBAEiB,QAAQ,EAAE,cAAc,CAAC,sBAAsB,EAAE,UAAU,CAAC;IAExE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;IAW7C,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI;IAKzE,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IAWnC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;CAG1C"}
|
|
@@ -16,6 +16,9 @@ class History {
|
|
|
16
16
|
switchStatus(status) {
|
|
17
17
|
this.meta.updatedAt = Date.now();
|
|
18
18
|
this.status = status;
|
|
19
|
+
if (status === 'finished' && this.snapshot.container) {
|
|
20
|
+
this.snapshot.container = this.snapshot.container.clone();
|
|
21
|
+
}
|
|
19
22
|
return this;
|
|
20
23
|
}
|
|
21
24
|
assignExpectation(expectation) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/server/history/model.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AAMpC,uCAAmC;AAEnC,MAAa,OAAO;IAgBlB,YAAmB,QAA4D;QAA5D,aAAQ,GAAR,QAAQ,CAAoD;QAVxE,OAAE,GAAW,IAAA,SAAM,GAAE,CAAC;QAEtB,WAAM,GAAG,IAAA,YAAI,EAAyB,SAAS,CAAC,CAAC;QAGjD,SAAI,GAAG;YACZ,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IAEgF,CAAC;IAE5E,YAAY,CAAC,MAAyB;QAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,iBAAiB,CAAC,WAAgD;QACvE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,OAAO;QACZ,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YAEnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE;SACzC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAA4B;QACvC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/server/history/model.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AAMpC,uCAAmC;AAEnC,MAAa,OAAO;IAgBlB,YAAmB,QAA4D;QAA5D,aAAQ,GAAR,QAAQ,CAAoD;QAVxE,OAAE,GAAW,IAAA,SAAM,GAAE,CAAC;QAEtB,WAAM,GAAG,IAAA,YAAI,EAAyB,SAAS,CAAC,CAAC;QAGjD,SAAI,GAAG;YACZ,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IAEgF,CAAC;IAE5E,YAAY,CAAC,MAAyB;QAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC5D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,iBAAiB,CAAC,WAAgD;QACvE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,OAAO;QACZ,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YAEnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE;SACzC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAA4B;QACvC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF;AAhDD,0BAgDC"}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import { PartialDeep, TFunction } from '../../../types';
|
|
2
2
|
export declare class Container<TPayload extends object = object> {
|
|
3
|
-
|
|
3
|
+
provided: {
|
|
4
|
+
key: string;
|
|
5
|
+
payload: TPayload;
|
|
6
|
+
/**
|
|
7
|
+
* Seconds
|
|
8
|
+
*/
|
|
9
|
+
ttl: number;
|
|
10
|
+
timestamp: number;
|
|
11
|
+
prefix?: string;
|
|
12
|
+
hooks?: {
|
|
13
|
+
onBind?: TFunction<unknown, [string, Container<any>]>;
|
|
14
|
+
onUnbind?: TFunction<unknown, [Container<any>]>;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
4
17
|
TPlain: Pick<Container<TPayload>, 'key' | 'prefix' | 'payload' | 'ttl'>;
|
|
5
18
|
ttl: number;
|
|
6
19
|
expiresAt: number;
|
|
@@ -29,7 +42,7 @@ export declare class Container<TPayload extends object = object> {
|
|
|
29
42
|
};
|
|
30
43
|
bind(key: string | object): this;
|
|
31
44
|
unbind(): this;
|
|
32
|
-
clone(
|
|
45
|
+
clone(): Container<TPayload>;
|
|
33
46
|
toPlain(): Container<TPayload>['TPlain'];
|
|
34
47
|
static build<T extends object>(provided: Container<T>['provided']): Container<T>;
|
|
35
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/server/models/containers/model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/server/models/containers/model.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAKxD,qBAAa,SAAS,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM;IAY5C,QAAQ,EAAE;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,QAAQ,CAAC;QAElB;;WAEG;QACH,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAElB,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB,KAAK,CAAC,EAAE;YACN,MAAM,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtD,QAAQ,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD,CAAC;KACH;IA3BI,MAAM,EAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;IAEzE,GAAG,SAAqB;IACxB,SAAS,SAA6C;IAEtD,OAAO,WAAyB;IAEhC,MAAM,SAA8B;IACpC,GAAG,SAAmC;gBAGpC,QAAQ,EAAE;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,QAAQ,CAAC;QAElB;;WAEG;QACH,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAElB,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB,KAAK,CAAC,EAAE;YACN,MAAM,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtD,QAAQ,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD,CAAC;KACH;IAGI,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;;;IAS9E,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;;;IAUrF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKhC,MAAM,IAAI,IAAI;IAKd,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC;IAI5B,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;IAI/C,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;CAGlE"}
|
|
@@ -5,8 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Container = void 0;
|
|
7
7
|
const deepmerge_1 = __importDefault(require("deepmerge"));
|
|
8
|
+
const rfdc_1 = __importDefault(require("rfdc"));
|
|
8
9
|
const lodash_1 = __importDefault(require("lodash"));
|
|
9
10
|
const utils_1 = require("./utils");
|
|
11
|
+
const clone = (0, rfdc_1.default)();
|
|
10
12
|
class Container {
|
|
11
13
|
constructor(provided) {
|
|
12
14
|
this.provided = provided;
|
|
@@ -32,8 +34,8 @@ class Container {
|
|
|
32
34
|
this.provided.hooks?.onUnbind?.(this);
|
|
33
35
|
return this;
|
|
34
36
|
}
|
|
35
|
-
clone(
|
|
36
|
-
return new Container({ ...this.provided,
|
|
37
|
+
clone() {
|
|
38
|
+
return new Container({ ...this.provided, payload: clone(this.payload) });
|
|
37
39
|
}
|
|
38
40
|
toPlain() {
|
|
39
41
|
return lodash_1.default.pick(this, ['key', 'prefix', 'payload', 'ttl']);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../src/server/models/containers/model.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA8B;AAC9B,oDAAuB;AAGvB,mCAA+C;AAE/C,MAAa,SAAS;IAWpB,
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../src/server/models/containers/model.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA8B;AAC9B,gDAAwB;AACxB,oDAAuB;AAGvB,mCAA+C;AAE/C,MAAM,KAAK,GAAG,IAAA,cAAI,GAAE,CAAC;AAErB,MAAa,SAAS;IAWpB,YACS,QAgBN;QAhBM,aAAQ,GAAR,QAAQ,CAgBd;QAzBI,QAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QACxB,cAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAEtD,YAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAEhC,WAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QACpC,QAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;IAoB1C,CAAC;IAEG,MAAM,CAAC,SAAuE;QACnF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,IAAI,CAAC,OAAO,EACZ,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CACtE,CAAC;QAEF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,SAA+E;QAC1F,MAAM,OAAO,GAAG,IAAA,mBAAK,EACnB,IAAI,CAAC,OAAO,EACF,CAAC,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EACjF,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAC3C,CAAC;QAEF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEM,IAAI,CAAC,GAAoB;QAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,IAAA,4BAAoB,EAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,SAAS,CAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IAEM,OAAO;QACZ,OAAO,gBAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,KAAK,CAAmB,QAAkC;QAC/D,OAAO,IAAI,SAAS,CAAI,QAAQ,CAAC,CAAC;IACpC,CAAC;CACF;AAvED,8BAuEC"}
|
|
@@ -17,7 +17,7 @@ class ContainersStorage {
|
|
|
17
17
|
hooks: {
|
|
18
18
|
onUnbind: (target) => this.storage.delete(target.key),
|
|
19
19
|
onBind: (key, target) => {
|
|
20
|
-
const alias =
|
|
20
|
+
const alias = model_1.Container.build({ ...target.provided, key });
|
|
21
21
|
this.storage.set(alias.key, alias);
|
|
22
22
|
},
|
|
23
23
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../../src/server/models/containers/storage.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAC/C,mCAAoC;AAapC,MAAa,iBAAiB;IAA9B;QACU,YAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IAyCjD,CAAC;IAvCQ,QAAQ,CAAqB,aAAyC;QAC3E,MAAM,GAAG,GAAG,IAAA,4BAAoB,EAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,iBAAS,CAAC,KAAK,CAAC;YAChC,GAAG;YACH,OAAO,EAAE,aAAa,CAAC,OAAO;YAE9B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,EAAE,aAAa,EAAE,GAAG,IAAI,IAAI;YAE/B,KAAK,EAAE;gBACL,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;gBACrD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;oBACtB,MAAM,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../../src/server/models/containers/storage.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAC/C,mCAAoC;AAapC,MAAa,iBAAiB;IAA9B;QACU,YAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IAyCjD,CAAC;IAvCQ,QAAQ,CAAqB,aAAyC;QAC3E,MAAM,GAAG,GAAG,IAAA,4BAAoB,EAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,iBAAS,CAAC,KAAK,CAAC;YAChC,GAAG;YACH,OAAO,EAAE,aAAa,CAAC,OAAO;YAE9B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,EAAE,aAAa,EAAE,GAAG,IAAI,IAAI;YAE/B,KAAK,EAAE;gBACL,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;gBACrD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;oBACtB,MAAM,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC3D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACrC,CAAC;aACF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,OAAO,CAAqB,aAAyC;QAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACtE,CAAC;IAEM,IAAI,CAAqB,GAAoB;QAClD,OAAqB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,4BAAoB,EAAC,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;IAEM,MAAM,CAAC,GAAoB;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,4BAAoB,EAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,UAAU;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAC3F,CAAC;CACF;AA1CD,8CA0CC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../../../src/server/models/request-context/snapshot.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAoD,MAAM,SAAS,CAAC;AACtG,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../../../src/server/models/request-context/snapshot.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAoD,MAAM,SAAS,CAAC;AACtG,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAkBjD,qBAAa,sBAAsB;IA2B/B,OAAO,CAAC,QAAQ;IA1BX,MAAM,EAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC,GAAG;QAClF,SAAS,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChC,KAAK,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;KACzC,CAAA;IAEM,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAyB;IACxD,KAAK,EAAE,oBAAoB,CAAuB;IAClD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAuB;IAEjD,SAAS,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,UAAU,CAAC,CAA2B;IAExF,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAA0B;IAClE,QAAQ,EAAE,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAE1D;IAEK,SAAS,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAA2B;IACrD,IAAI,CAAC,EAAE,MAAM,CAAsB;IAEnC,KAAK,CAAC,EAAE;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;gBAGQ,QAAQ,EACZ,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC,GACjD,IAAI,CAAC,sBAAsB,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IAGtH,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAI3D,IAAI,CAAC,CAAC,SAAS,MAAM,sBAAsB,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAIpG,IAAI,CAAC,CAAC,SAAS,MAAM,sBAAsB,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAIpG,KAAK,CAAC,CAAC,SAAS,MAAM,sBAAsB,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAKrG,OAAO,IAAI,sBAAsB,CAAC,QAAQ,CAAC;IAgBlD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,sBAAsB,CAAC,UAAU,CAAC;CAG1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../../src/server/models/request-context/snapshot.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../../src/server/models/request-context/snapshot.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAMvB,MAAM,kBAAkB,GAAG,CAAC,QAAiC,EAA2B,EAAE,CAAC,CAAC;IAC1F,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,MAAM,EAAE,GAAG;IAEX,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IACzC,OAAO,EAAE,EAAE;IAEX,OAAO,EAAE;QACP,cAAc,EAAE,QAAQ,CAAC,IAAI,KAAK,MAAM;YACtC,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK;gBACzB,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,YAAY;KACrD;CACF,CAAC,CAAC;AAEH,MAAa,sBAAsB;IA0BjC,YACU,QAEmH;QAFnH,aAAQ,GAAR,QAAQ,CAE2G;QAvBtH,YAAO,GAA2B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACxD,UAAK,GAAyB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClD,UAAK,GAAwB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEjD,cAAS,GAAuD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAExF,aAAQ,GAAmC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAClE,aAAQ,GAAgD,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,kBAAkB,CACzG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACvB,CAAC;QAEK,cAAS,GAAoB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACrD,SAAI,GAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAYvC,CAAC;IAEG,MAAM,CAAC,OAAoD;QAChE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAEM,IAAI,CAAqD,IAAS;QACvE,OAAO,gBAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEM,IAAI,CAAqD,IAAS;QACvE,OAAwC,gBAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAqD,IAAS;QACxE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO;QACZ,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YAEjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE;YAEpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YAEvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAA4C;QACvD,OAAO,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF;AApED,wDAoEC"}
|