integreat 1.2.1 → 1.3.1
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 +117 -58
- package/SECURITY.md +2 -2
- package/dist/handlers/index.js +2 -0
- package/dist/handlers/index.js.map +1 -1
- package/dist/handlers/set.d.ts +27 -0
- package/dist/handlers/set.js +7 -3
- package/dist/handlers/set.js.map +1 -1
- package/dist/handlers/sync.js +9 -5
- package/dist/handlers/sync.js.map +1 -1
- package/dist/handlers/update.d.ts +2 -0
- package/dist/handlers/update.js +82 -0
- package/dist/handlers/update.js.map +1 -0
- package/dist/service/utils/options.js +1 -1
- package/dist/service/utils/options.js.map +1 -1
- package/dist/utils/deep.d.ts +12 -0
- package/dist/utils/deep.js +19 -0
- package/dist/utils/deep.js.map +1 -0
- package/package.json +7 -6
- package/dist/utils/deepClone.d.ts +0 -2
- package/dist/utils/deepClone.js +0 -3
- package/dist/utils/deepClone.js.map +0 -1
package/README.md
CHANGED
|
@@ -1481,45 +1481,6 @@ The action ...
|
|
|
1481
1481
|
|
|
1482
1482
|
See [the section on pagination](#pagination) for more on the paging properties.
|
|
1483
1483
|
|
|
1484
|
-
#### `GET_META`
|
|
1485
|
-
|
|
1486
|
-
Get metadata for a service. See
|
|
1487
|
-
[the section on metadata](#configuring-service-metadata) for how to set this up.
|
|
1488
|
-
|
|
1489
|
-
The `data` of the response from this aciton contains the `service` (the service
|
|
1490
|
-
id) and `meta` object with the metadata set as properties.
|
|
1491
|
-
|
|
1492
|
-
Example `GET_META` action:
|
|
1493
|
-
|
|
1494
|
-
```javascript
|
|
1495
|
-
{
|
|
1496
|
-
type: 'GET_META',
|
|
1497
|
-
payload: {
|
|
1498
|
-
service: 'entries',
|
|
1499
|
-
keys: ['lastSyncedAt', 'status']
|
|
1500
|
-
}
|
|
1501
|
-
}
|
|
1502
|
-
```
|
|
1503
|
-
|
|
1504
|
-
This will return data in the following form:
|
|
1505
|
-
|
|
1506
|
-
```javascript
|
|
1507
|
-
{
|
|
1508
|
-
status: 'ok',
|
|
1509
|
-
data: {
|
|
1510
|
-
service: 'entries',
|
|
1511
|
-
meta: {
|
|
1512
|
-
lastSyncedAt: '2017-08-19T17:40:31.861Z',
|
|
1513
|
-
status: 'ready'
|
|
1514
|
-
}
|
|
1515
|
-
}
|
|
1516
|
-
}
|
|
1517
|
-
```
|
|
1518
|
-
|
|
1519
|
-
If the action has no `keys`, all metadata set on the service will be retrieved.
|
|
1520
|
-
The `keys` property may be an array of keys to retrieve several in one request,
|
|
1521
|
-
or a single key.
|
|
1522
|
-
|
|
1523
1484
|
#### `SET`
|
|
1524
1485
|
|
|
1525
1486
|
Send data to a service. The data to send is provided in the payload `data`
|
|
@@ -1546,33 +1507,58 @@ Example `SET` action:
|
|
|
1546
1507
|
}
|
|
1547
1508
|
```
|
|
1548
1509
|
|
|
1549
|
-
#### `
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
properties.
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1510
|
+
#### `UPDATE`
|
|
1511
|
+
|
|
1512
|
+
Update data on a service. The idea is that while `SET` is used for setting data
|
|
1513
|
+
to a service – with no regard to what is actually set in the service already,
|
|
1514
|
+
`UPDATE` is used for updating data, possibly not overwriting all properties.
|
|
1515
|
+
If `UPDATE` provides data with only a few properties, the expectation is that
|
|
1516
|
+
only these properties will be updated in the service. The `UPDATE` action is
|
|
1517
|
+
also expected to fail when the item being updated does not exist, unlike `SET`,
|
|
1518
|
+
that will usually create it.
|
|
1519
|
+
|
|
1520
|
+
Note that the actual behavior is up to how you set up the service and what the
|
|
1521
|
+
service itself supports, but the `UPDATE` action will provide you with a way of
|
|
1522
|
+
doing this.
|
|
1523
|
+
|
|
1524
|
+
An `UPDATE` action may be handled in one of two ways, where the first is just to
|
|
1525
|
+
run it against a service endpoint, much like a `SET` action (except it will
|
|
1526
|
+
match different endpoints). Data provided in the payload `data` is mutated and
|
|
1527
|
+
sent to the service according to the endpoint configuration, and any data coming
|
|
1528
|
+
back, will be provided on `response.data` and mutated.
|
|
1529
|
+
|
|
1530
|
+
What makes `UPDATE` different from `SET`, though, is the second way we may
|
|
1531
|
+
handle `UPDATE` actions. Whenever there is no maching `UPDATE` endpoint,
|
|
1532
|
+
Integreat will run the action as a `GET` and then a `SET`, to mimick and update.
|
|
1533
|
+
The `GET` action will have the same `payload` and `meta` as the original action.
|
|
1534
|
+
The same goes for the `SET` action, but the `payload.data` will be the data
|
|
1535
|
+
returned from `GET` merged with the data on the original `UPDATE` action. This
|
|
1536
|
+
will be a deep merge, prioritizing properties from the `UPDATE` action, but any
|
|
1537
|
+
`createdAt` date in the data from `GET` will be kept. If there's an `updatedAt`
|
|
1538
|
+
in the merged data, it will be overriden by the current time.
|
|
1539
|
+
|
|
1540
|
+
A requirement for this approach to work as expected, is that the data is casted
|
|
1541
|
+
to the same schema, but that should normally be the case when you use
|
|
1542
|
+
`payload.type` and don't set `allowRawRequest` or `allowRawResponse` on the
|
|
1543
|
+
endpoint.
|
|
1544
|
+
|
|
1545
|
+
When a `GET` fail, the `UPDATE` will fail with the same status and error.
|
|
1546
|
+
|
|
1547
|
+
Example `UPDATE` action:
|
|
1560
1548
|
|
|
1561
1549
|
```javascript
|
|
1562
1550
|
{
|
|
1563
|
-
type: '
|
|
1551
|
+
type: 'UPDATE',
|
|
1564
1552
|
payload: {
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1553
|
+
type: 'article',
|
|
1554
|
+
data: [
|
|
1555
|
+
{ id: '12345', $type: 'article', title: 'First article' },
|
|
1556
|
+
{ id: '12346', $type: 'article', title: 'Second article' }
|
|
1557
|
+
]
|
|
1569
1558
|
}
|
|
1570
1559
|
}
|
|
1571
1560
|
```
|
|
1572
1561
|
|
|
1573
|
-
Note that the service must be set up to handle metadata. See
|
|
1574
|
-
[Configuring metadata](#configuring-service-metadata) for more.
|
|
1575
|
-
|
|
1576
1562
|
#### `DELETE` / `DEL`
|
|
1577
1563
|
|
|
1578
1564
|
Delete one or more items from a service. Set the data for the items to delete,
|
|
@@ -1613,6 +1599,72 @@ You may also `DELETE` one item like this:
|
|
|
1613
1599
|
|
|
1614
1600
|
`DEL` is a shorthand for `DELETE`.
|
|
1615
1601
|
|
|
1602
|
+
#### `GET_META`
|
|
1603
|
+
|
|
1604
|
+
Get metadata for a service. See
|
|
1605
|
+
[the section on metadata](#configuring-service-metadata) for how to set this up.
|
|
1606
|
+
|
|
1607
|
+
The `data` of the response from this aciton contains the `service` (the service
|
|
1608
|
+
id) and `meta` object with the metadata set as properties.
|
|
1609
|
+
|
|
1610
|
+
Example `GET_META` action:
|
|
1611
|
+
|
|
1612
|
+
```javascript
|
|
1613
|
+
{
|
|
1614
|
+
type: 'GET_META',
|
|
1615
|
+
payload: {
|
|
1616
|
+
service: 'entries',
|
|
1617
|
+
keys: ['lastSyncedAt', 'status']
|
|
1618
|
+
}
|
|
1619
|
+
}
|
|
1620
|
+
```
|
|
1621
|
+
|
|
1622
|
+
This will return data in the following form:
|
|
1623
|
+
|
|
1624
|
+
```javascript
|
|
1625
|
+
{
|
|
1626
|
+
status: 'ok',
|
|
1627
|
+
data: {
|
|
1628
|
+
service: 'entries',
|
|
1629
|
+
meta: {
|
|
1630
|
+
lastSyncedAt: '2017-08-19T17:40:31.861Z',
|
|
1631
|
+
status: 'ready'
|
|
1632
|
+
}
|
|
1633
|
+
}
|
|
1634
|
+
}
|
|
1635
|
+
```
|
|
1636
|
+
|
|
1637
|
+
If the action has no `keys`, all metadata set on the service will be retrieved.
|
|
1638
|
+
The `keys` property may be an array of keys to retrieve several in one request,
|
|
1639
|
+
or a single key.
|
|
1640
|
+
|
|
1641
|
+
#### `SET_META`
|
|
1642
|
+
|
|
1643
|
+
Set metadata on a service. The payload should contain the `service` to get
|
|
1644
|
+
metadata for (the service id), and a `meta` object, with all metadata to set as
|
|
1645
|
+
properties.
|
|
1646
|
+
|
|
1647
|
+
Any data coming back from the service, will be provided on `response.data` and
|
|
1648
|
+
may be mutated through service endpoint mutations, just as for [`GET`](#get)
|
|
1649
|
+
actions.
|
|
1650
|
+
|
|
1651
|
+
Example `SET_META` action:
|
|
1652
|
+
|
|
1653
|
+
```javascript
|
|
1654
|
+
{
|
|
1655
|
+
type: 'SET_META',
|
|
1656
|
+
payload: {
|
|
1657
|
+
service: 'entries',
|
|
1658
|
+
meta: {
|
|
1659
|
+
lastSyncedAt: Date.now()
|
|
1660
|
+
}
|
|
1661
|
+
}
|
|
1662
|
+
}
|
|
1663
|
+
```
|
|
1664
|
+
|
|
1665
|
+
Note that the service must be set up to handle metadata. See
|
|
1666
|
+
[Configuring metadata](#configuring-service-metadata) for more.
|
|
1667
|
+
|
|
1616
1668
|
#### `RUN`
|
|
1617
1669
|
|
|
1618
1670
|
The `RUN` action will run jobs provided to `Integreat.create()` in the jobs
|
|
@@ -1676,6 +1728,13 @@ or set to the `to` service, you may provide a params object for the `from` or
|
|
|
1676
1728
|
different action types than `GET` and `SET`, by setting the `action` prop on
|
|
1677
1729
|
the `from` or `to` objects respectively.
|
|
1678
1730
|
|
|
1731
|
+
By default, `SYNC` will send every item gotten from the `from` service to the
|
|
1732
|
+
`to` service. You can split an array of items into several sets, by setting the
|
|
1733
|
+
`maxPerSet` on the payload object, to a max number of items per set. If you need
|
|
1734
|
+
to have one set per individual item, you may set `setMember` to `true` on the
|
|
1735
|
+
payload object. (This is almost the same as setting `maxPerSet` to `1`, except
|
|
1736
|
+
it won't be wrapped in an array.)
|
|
1737
|
+
|
|
1679
1738
|
> There are more options than these, and the documentation will be updated to
|
|
1680
1739
|
> include them later.
|
|
1681
1740
|
|
package/SECURITY.md
CHANGED
package/dist/handlers/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import SYNC from './sync.js';
|
|
|
10
10
|
import EXPIRE from './expire.js';
|
|
11
11
|
import QUEUE from './queue.js';
|
|
12
12
|
import SERVICE from './service.js';
|
|
13
|
+
import UPDATE from './update.js';
|
|
13
14
|
export const QUEUE_SYMBOL = Symbol('<internal queue>');
|
|
14
15
|
const handlers = {
|
|
15
16
|
GET,
|
|
@@ -25,6 +26,7 @@ const handlers = {
|
|
|
25
26
|
EXPIRE,
|
|
26
27
|
[QUEUE_SYMBOL]: QUEUE,
|
|
27
28
|
SERVICE,
|
|
29
|
+
UPDATE,
|
|
28
30
|
};
|
|
29
31
|
export default handlers;
|
|
30
32
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,OAAO,MAAM,aAAa,CAAA;AACjC,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,SAAS,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,OAAO,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,OAAO,MAAM,aAAa,CAAA;AACjC,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,SAAS,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,MAAM,MAAM,aAAa,CAAA;AAGhC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA;AAEtD,MAAM,QAAQ,GAA2C;IACvD,GAAG;IACH,OAAO;IACP,QAAQ;IACR,SAAS;IACT,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;IACrB,GAAG;IACH,QAAQ;IACR,MAAM;IACN,GAAG,EAAE,MAAM;IACX,IAAI;IACJ,MAAM;IACN,CAAC,YAAY,CAAC,EAAE,KAAK;IACrB,OAAO;IACP,MAAM;CACP,CAAA;AAED,eAAe,QAAQ,CAAA"}
|
package/dist/handlers/set.d.ts
CHANGED
|
@@ -1,2 +1,29 @@
|
|
|
1
1
|
import type { Action, Response, ActionHandlerResources } from '../types.js';
|
|
2
|
+
export declare function getTypeAndId(action: Action, data: unknown): {
|
|
3
|
+
type: string | string[] | undefined;
|
|
4
|
+
id: string | string[] | undefined;
|
|
5
|
+
};
|
|
6
|
+
export declare const setIdAndTypeOnAction: (action: Action, id?: string | string[], type?: string | string[]) => {
|
|
7
|
+
payload: {
|
|
8
|
+
id: string | string[] | undefined;
|
|
9
|
+
type: string | string[] | undefined;
|
|
10
|
+
data?: unknown;
|
|
11
|
+
sourceService?: string | undefined;
|
|
12
|
+
targetService?: string | undefined;
|
|
13
|
+
service?: string | undefined;
|
|
14
|
+
endpoint?: string | undefined;
|
|
15
|
+
uri?: string | undefined;
|
|
16
|
+
method?: string | undefined;
|
|
17
|
+
headers?: import("../types.js").Headers | undefined;
|
|
18
|
+
page?: number | undefined;
|
|
19
|
+
pageOffset?: number | undefined;
|
|
20
|
+
pageSize?: number | undefined;
|
|
21
|
+
pageAfter?: string | undefined;
|
|
22
|
+
pageBefore?: string | undefined;
|
|
23
|
+
pageId?: string | undefined;
|
|
24
|
+
};
|
|
25
|
+
type: string;
|
|
26
|
+
response?: Response<unknown> | undefined;
|
|
27
|
+
meta?: import("../types.js").Meta | undefined;
|
|
28
|
+
};
|
|
2
29
|
export default function set(action: Action, { getService }: ActionHandlerResources): Promise<Response>;
|
package/dist/handlers/set.js
CHANGED
|
@@ -5,14 +5,18 @@ import { isTypedData } from '../utils/is.js';
|
|
|
5
5
|
const debug = debugLib('great');
|
|
6
6
|
const extractType = (action, data) => action.payload.type || (isTypedData(data) && data.$type) || undefined;
|
|
7
7
|
const extractId = (action, data) => action.payload.id || (isTypedData(data) && data.id) || undefined;
|
|
8
|
-
|
|
8
|
+
export function getTypeAndId(action, data) {
|
|
9
|
+
const type = extractType(action, data);
|
|
10
|
+
const id = extractId(action, data);
|
|
11
|
+
return { type, id };
|
|
12
|
+
}
|
|
13
|
+
export const setIdAndTypeOnAction = (action, id, type) => ({
|
|
9
14
|
...action,
|
|
10
15
|
payload: { ...action.payload, id, type },
|
|
11
16
|
});
|
|
12
17
|
export default async function set(action, { getService }) {
|
|
13
18
|
const { data, targetService: serviceId, endpoint: endpointId, } = action.payload;
|
|
14
|
-
const type =
|
|
15
|
-
const id = extractId(action, data);
|
|
19
|
+
const { type, id } = getTypeAndId(action, data);
|
|
16
20
|
const service = getService(type, serviceId);
|
|
17
21
|
if (!service) {
|
|
18
22
|
return createUnknownServiceError(type, serviceId, 'SET');
|
package/dist/handlers/set.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../src/handlers/set.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,OAAO,CAAA;AAC5B,OAAO,aAAa,MAAM,2BAA2B,CAAA;AACrD,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAG5C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;AAE/B,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,IAAc,EAAE,EAAE,CACrD,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAA;AAEvE,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,IAAc,EAAE,EAAE,CACnD,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS,CAAA;AAElE,MAAM,oBAAoB,GAAG,
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../src/handlers/set.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,OAAO,CAAA;AAC5B,OAAO,aAAa,MAAM,2BAA2B,CAAA;AACrD,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAG5C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;AAE/B,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,IAAc,EAAE,EAAE,CACrD,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAA;AAEvE,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,IAAc,EAAE,EAAE,CACnD,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS,CAAA;AAElE,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,IAAa;IACxD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACtC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAClC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;AACrB,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAc,EACd,EAAsB,EACtB,IAAwB,EACxB,EAAE,CAAC,CAAC;IACJ,GAAG,MAAM;IACT,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE;CACzC,CAAC,CAAA;AAKF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,GAAG,CAC/B,MAAc,EACd,EAAE,UAAU,EAA0B;IAEtC,MAAM,EACJ,IAAI,EACJ,aAAa,EAAE,SAAS,EACxB,QAAQ,EAAE,UAAU,GACrB,GAAG,MAAM,CAAC,OAAO,CAAA;IAElB,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC3C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;KACzD;IAED,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IACrE,KAAK,CAAC,4BAA4B,EAAE,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;IAE9D,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;IAC7D,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,mBAAmB,CACxB,wBAAwB,MAAM,CAAC,IAAI,wBAAwB,SAAS,IAAI,EACxE,aAAa,EACb,YAAY,CACb,CAAA;KACF;IAED,OAAO,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;AAC3D,CAAC"}
|
package/dist/handlers/sync.js
CHANGED
|
@@ -25,15 +25,18 @@ const createSetAction = (data, { service: targetService, action = 'SET', ...para
|
|
|
25
25
|
payload: { data, targetService, ...params },
|
|
26
26
|
meta: { ...meta, queue: doQueueSet },
|
|
27
27
|
});
|
|
28
|
-
async function setData(dispatch, data, { alwaysSet = false, maxPerSet, ...params }, doQueueSet, meta) {
|
|
28
|
+
async function setData(dispatch, data, { alwaysSet = false, maxPerSet, setMember, ...params }, doQueueSet, meta) {
|
|
29
29
|
let index = data.length === 0 && alwaysSet ? -1 : 0;
|
|
30
|
-
const maxCount =
|
|
30
|
+
const maxCount = setMember
|
|
31
|
+
? 1
|
|
32
|
+
: castNumber(maxPerSet) || Number.MAX_SAFE_INTEGER;
|
|
31
33
|
while (index < data.length) {
|
|
32
|
-
const response = await dispatch(createSetAction(data.slice(index, index + maxCount), params, doQueueSet, meta));
|
|
34
|
+
const response = await dispatch(createSetAction(setMember ? data[index] : data.slice(index, index + maxCount), params, doQueueSet, meta));
|
|
33
35
|
if (!response?.status || !['ok', 'queued'].includes(response.status)) {
|
|
36
|
+
const progressMessage = index > 0 ? `, but the first ${index} items where set successfully` : '';
|
|
34
37
|
return {
|
|
35
38
|
status: response?.status || 'error',
|
|
36
|
-
error: `SYNC:
|
|
39
|
+
error: `SYNC: Setting data failed${progressMessage}. ${response?.error || ''}`.trim(),
|
|
37
40
|
};
|
|
38
41
|
}
|
|
39
42
|
index += maxCount;
|
|
@@ -147,11 +150,12 @@ function generateSetDates(fromParams, params, dateSet) {
|
|
|
147
150
|
};
|
|
148
151
|
}
|
|
149
152
|
function generateToParams(fromParams, type, { payload }) {
|
|
150
|
-
const { to, maxPerSet, alwaysSet } = payload;
|
|
153
|
+
const { to, maxPerSet, setMember, alwaysSet } = payload;
|
|
151
154
|
return {
|
|
152
155
|
type,
|
|
153
156
|
alwaysSet,
|
|
154
157
|
maxPerSet,
|
|
158
|
+
setMember,
|
|
155
159
|
...generateSetDates(fromParams, payload, 'updated'),
|
|
156
160
|
...generateSetDates(fromParams, payload, 'created'),
|
|
157
161
|
...paramsAsObject(to),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/handlers/sync.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,IAAI,CAAA;AAWnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,QAAQ,MAAM,2BAA2B,CAAA;AAChD,OAAO,UAAU,MAAM,6BAA6B,CAAA;AA4CpD,MAAM,mBAAmB,GAAG,CAC1B,aAAqB,EACrB,IAAwB,EACxB,OAAgB,EAChB,IAAW,EACX,EAAE,CAAC,CAAC;IACJ,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE;IAC/D,IAAI;CACL,CAAC,CAAA;AAEF,MAAM,mBAAmB,GAAG,CAC1B,YAAkB,EAClB,aAAqB,EACrB,IAAwB,EACxB,OAAgB,EAChB,IAAW,EACX,EAAE,CAAC,CAAC;IACJ,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;IACjE,IAAI;CACL,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,CACtB,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,MAAM,EAAgB,EACnE,IAAW,EACX,EAAE,CAAC,CAAC;IACJ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE;IACrC,IAAI;CACL,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,CACtB,IAAa,EACb,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,MAAM,EAAgB,EACnE,UAAmB,EACnB,IAAW,EACH,EAAE,CAAC,CAAC;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE;IAC3C,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;CACrC,CAAC,CAAA;AAEF,KAAK,UAAU,OAAO,CACpB,QAAyB,EACzB,IAAiB,EACjB,EAAE,SAAS,GAAG,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,EAAgB,EACzD,UAAmB,EACnB,IAAW;IAEX,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAA;IAEjE,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;QAC1B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,eAAe,CACb,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,EACnC,MAAM,EACN,UAAU,EACV,IAAI,CACL,CACF,CAAA;QACD,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACpE,OAAO;gBACL,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,OAAO;gBACnC,KAAK,EAAE,iCAAiC,KAAK,OAC3C,IAAI,CAAC,MACP,WAAW,QAAQ,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;aAC1C,CAAA;SACF;QACD,KAAK,IAAI,QAAQ,CAAA;KAClB;IAED,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS;QACjC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;QAClB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAA;AAC3D,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,IAA+B,EAAE,IAAY,EAAE,EAAE,CACtE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AAErD,KAAK,UAAU,eAAe,CAC5B,QAAyB,EACzB,OAAe,EACf,IAAuB,EACvB,OAAgB,EAChB,IAAW;IAEX,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAClD,CAAA;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,KAAK,CACb,iDAAiD,OAAO,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,KAAK,EAAE,CACpG,CAAA;KACF;IAED,OAAO,CACL,QAAQ,CAAE,QAAQ,CAAC,IAA6B,EAAE,IAAI,CAAC,YAAY,CAAC;QACpE,SAAS,CACV,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAoB,EAAE,OAA8B;IAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,OAAO,OAAO,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,OAAO,OAAO,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,OAAO,OAAO,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,QAAQ,CAAC,CAAA;IACzC,MAAM,UAAU,GAA0B,EAAE,CAAA;IAC5C,IAAI,KAAK,EAAE;QACT,UAAU,CAAC,GAAG,OAAO,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;KAC9D;SAAM,IAAI,KAAK,EAAE;QAChB,UAAU,CAAC,GAAG,OAAO,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;KAC9D;IACD,IAAI,KAAK,EAAE;QACT,UAAU,CAAC,GAAG,OAAO,QAAQ,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;KAC/D;SAAM,IAAI,MAAM,EAAE;QACjB,UAAU,CAAC,GAAG,OAAO,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;KAC/D;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,MAAM,eAAe,GAAG,CACtB,QAAyB,EACzB,IAAuB,EACvB,UAAsB,EACtB,IAAW,EACX,EAAE,CACF,KAAK,UAAU,sBAAsB,CAAC,MAA6B;IACjE,MAAM,EACJ,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,OAAO,GACR,GAAG,UAAU,CAAA;IACd,MAAM,UAAU,GAAiB;QAC/B,GAAG,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC;QAC9C,GAAG,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC;QAC9C,GAAG,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC;QAC9C,GAAG,aAAa,CAAC,aAAa,EAAE,eAAe,CAAC;QAChD,GAAG,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC;QAC9C,GAAG,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC;QAC9C,GAAG,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC;QAC9C,GAAG,aAAa,CAAC,aAAa,EAAE,eAAe,CAAC;QAChD,IAAI;QACJ,GAAG,MAAM;KACV,CAAA;IAGD,IACE,QAAQ,KAAK,SAAS;QACtB,MAAM,CAAC,OAAO;QACd,CAAC,YAAY;QACb,CAAC,YAAY,EACb;QACA,UAAU,CAAC,YAAY,GAAG,MAAM,eAAe,CAC7C,QAAQ,EACR,MAAM,CAAC,OAAO,EACd,IAAI,EACJ,OAAO,EACP,IAAI,CACL,CAAA;KACF;SAAM,IACL,QAAQ,KAAK,SAAS;QACtB,MAAM,CAAC,OAAO;QACd,CAAC,YAAY;QACb,CAAC,YAAY,EACb;QACA,UAAU,CAAC,YAAY,GAAG,MAAM,eAAe,CAC7C,QAAQ,EACR,MAAM,CAAC,OAAO,EACd,IAAI,EACJ,OAAO,EACP,IAAI,CACL,CAAA;KACF;IAGD,OAAO;QACL,GAAG,UAAU;QACb,GAAG,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC;QACxC,GAAG,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC;KACzC,CAAA;AACH,CAAC,CAAA;AAEH,MAAM,iBAAiB,GAAG,CACxB,QAAyB,EACzB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAU,EAClE,aAAmC,EACnC,cAAoB,EACpB,EAAE,CACF,KAAK,UAAU,iBAAiB,CAC9B,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAgB,EACrD,KAAa;IAEb,IAAI,OAAO,EAAE;QACX,IAAI,YAAY,GAEd,aAAa,CAAC,KAAK,CAAC,IAAI,YAAY,IAAI,YAAY,IAAI,cAAc,CAAA;QACxE,IAAI,YAAY,GAAG,cAAc,EAAE;YACjC,YAAY,GAAG,cAAc,CAAA;SAC9B;QACD,OAAO,QAAQ,CACb,mBAAmB,CACjB,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,OAA6B,EAC7B,IAAI,CACL,CACF,CAAA;KACF;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA;AAC/B,CAAC,CAAA;AAEH,MAAM,cAAc,GAAG,CAAC,MAAuC,EAAE,EAAE,CACjE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;AAE3D,MAAM,kBAAkB,GAAG,KAAK,EAC9B,QAAyB,EACzB,IAAuB,EACvB,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAU,EAC/C,EAAE,CACF,OAAO,CAAC,GAAG,CACT,WAAW,CAAE,OAAsB,CAAC,IAAI,CAAC;KACtC,GAAG,CAAC,cAAc,CAAC;KACnB,MAAM,CAAC,oBAAoB,CAAC;KAC5B,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;KACnD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAClC,CAAA;AAEH,SAAS,gBAAgB,CACvB,UAA0B,EAC1B,MAAc,EACd,OAA8B;IAE9B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,QAAQ,CAAC,CAAC,CAAA;IACnD,MAAM,WAAW,GAAG,UAAU;SAC3B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC;SAC1C,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACZ,OAAO;QACL,GAAG,CAAC,WAAW;YACb,CAAC,CAAC;gBACE,CAAC,GAAG,OAAO,OAAO,CAAC,EAAE,WAAW;gBAChC,CAAC,GAAG,OAAO,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aACzD;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK;YACP,CAAC,CAAC;gBACE,CAAC,GAAG,OAAO,OAAO,CAAC,EAAE,KAAK;gBAC1B,CAAC,GAAG,OAAO,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aACpD;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM;YACR,CAAC,CAAC;gBACE,CAAC,GAAG,OAAO,QAAQ,CAAC,EAAE,MAAM;gBAC5B,CAAC,GAAG,OAAO,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aACpD;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,UAA0B,EAC1B,IAAuB,EACvB,EAAE,OAAO,EAAU;IAEnB,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,GAAe,OAAO,CAAA;IACxD,OAAO;QACL,IAAI;QACJ,SAAS;QACT,SAAS;QACT,GAAG,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC;QACnD,GAAG,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC;QACnD,GAAG,cAAc,CAAC,EAAE,CAAC;KACtB,CAAA;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,MAAc,EACd,QAAyB;IAEzB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,CAAA;IAE/B,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;KACvB;IAID,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAEnE,OAAO,CAAC,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,qBAAqB,GAAG,CAAC,QAA0B,EAAE,EAAE,CAC3D,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAA;AAEpD,SAAS,cAAc,CAAC,QAA0B;IAChD,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACjD,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE;QACtE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QACnD,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QACnD,OAAO,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC,CAAA;AACH,CAAC;AAED,MAAM,eAAe,GACnB,CAAC,YAAmB,EAAE,YAAmB,EAAE,EAAE,CAAC,CAAC,IAAe,EAAE,EAAE,CAChE,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC;IACtE,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,CAAC,CAAA;AAE3E,KAAK,UAAU,0BAA0B,CACvC,QAAyB,EACzB,MAAoB,EACpB,YAAqB,EACrB,IAAW;IAEX,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IAG7C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;IAG9D,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;KAChC;IAGD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC3D,OAAO,YAAY,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC;QACnD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC1D,CAAC,CAAC,IAAI,CAAA;AACV,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CACpC,KAAK,KAAK,KAAK;IACb,CAAC,CAAC,CAAC;IACH,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;QAClB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;YAClB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YACX,CAAC,CAAC,SAAS,CAAA;AAEf,SAAS,iBAAiB,CAAC,IAAa;IACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;SACpC;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,MAA0B,EAAE,EAAE,CAAC,CAAC;IAC1D,GAAG,MAAM;IACT,OAAO,EAAE;QACP,GAAG,MAAM,CAAC,OAAO;QACjB,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;QAC5D,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;QAC5D,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK;KAC3C;CACF,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,CAAC,QAA0B,EAAE,EAAE,CAAC,CAAC,IAAgB,EAAE,EAAE,CAC3E,CAAC,QAAQ,KAAK,SAAS;IACrB,CAAC,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7C,CAAC,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,SAAS,CAAA;AAE/D,MAAM,oBAAoB,GAAG,CAC3B,UAA0B,EAC1B,YAAqB,EACrB,QAAyB,EACzB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAU,EACtC,EAAE,CACF,OAAO,CAAC,GAAG,CACT,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CACjE,CACF,CAAA;AAEH,MAAM,wBAAwB,GAAG,CAC/B,gBAA+B,EAC/B,QAA0B,EAC1B,EAAE,CACF,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5B,IAAI;KACD,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;KAC9B,MAAM,CACL,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CACjB,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAC1D,SAAS,CACV,CACJ,CAAA;AAoBH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW,CACvC,WAAmB,EACnB,EAAE,QAAQ,EAAE,WAAW,EAA0B;IAEjD,WAAW,CAAC,CAAC,CAAC,CAAA;IAEd,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAC9C,MAAM,EACJ,OAAO,EAAE,EACP,QAAQ,EACR,uBAAuB,GAAG,KAAK,EAC/B,YAAY,GAAG,IAAI,EACnB,UAAU,GAAG,IAAI,GAClB,EACD,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAC3B,GAAG,MAAM,CAAA;IAEV,IAAI,UAAU,EAAE,QAAQ,CAAA;IACxB,IAAI;QACF,CAAC;QAAA,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;KACtE;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,mBAAmB,CACxB,sCACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,EACF,cAAc,CACf,CAAA;KACF;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;QACxC,OAAO,mBAAmB,CACxB,wDAAwD,EACxD,cAAc,EACd,YAAY,CACb,CAAA;KACF;IAED,IAAI,IAAiB,CAAA;IACrB,IAAI,aAAa,GAAyB,EAAE,CAAA;IAE5C,WAAW,CAAC,GAAG,CAAC,CAAA;IAEhB,IAAI;QACF,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,CACjD,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,MAAM,CACP,CAAA;QACD,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC7D,IAAI,uBAAuB,EAAE;YAC3B,aAAa,GAAG,wBAAwB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAA;SACrE;KACF;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,mBAAmB,CACxB,6BAA8B,KAAe,CAAC,OAAO,EAAE,EACvD,cAAc,CACf,CAAA;KACF;IACD,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAA;IAEjC,WAAW,CAAC,GAAG,CAAC,CAAA;IAEhB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;IAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE;QAC5B,OAAO,mBAAmB,CACxB,QAAQ,EAAE,KAAK,EACf,cAAc,EACd,QAAQ,EAAE,MAAM,IAAI,OAAO,CAC5B,CAAA;KACF;IAED,WAAW,CAAC,GAAG,CAAC,CAAA;IAEhB,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE;QACpD,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CACZ,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CACnE,CACF,CAAA;KACF;IAED,WAAW,CAAC,CAAC,CAAC,CAAA;IAEd,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/handlers/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import debugLib from 'debug';
|
|
2
|
+
import mutateAndSend from '../utils/mutateAndSend.js';
|
|
3
|
+
import { createErrorResponse, createUnknownServiceError, } from '../utils/response.js';
|
|
4
|
+
import { getTypeAndId, setIdAndTypeOnAction } from './set.js';
|
|
5
|
+
import { deepMergeItems } from '../utils/deep.js';
|
|
6
|
+
import { isErrorResponse, isTypedData } from '../utils/is.js';
|
|
7
|
+
const debug = debugLib('great');
|
|
8
|
+
const createGetAction = (action) => ({ ...action, type: 'GET' });
|
|
9
|
+
const createSetAction = (action, data) => ({
|
|
10
|
+
...action,
|
|
11
|
+
type: 'SET',
|
|
12
|
+
payload: { ...action.payload, data },
|
|
13
|
+
});
|
|
14
|
+
function isUpdateEndpoint(endpoint) {
|
|
15
|
+
const actionType = endpoint?.match?.action;
|
|
16
|
+
return Array.isArray(actionType)
|
|
17
|
+
? actionType.includes('UPDATE')
|
|
18
|
+
: actionType === 'UPDATE';
|
|
19
|
+
}
|
|
20
|
+
async function dispatchAction(service, action) {
|
|
21
|
+
const endpoint = await service.endpointFromAction(action);
|
|
22
|
+
if (!endpoint) {
|
|
23
|
+
return createErrorResponse(`No endpoint matching ${action.type === 'GET' ? 'UPDATE' : 'SET'} request to service '${service.id}'.`, 'handler:UPDATE', 'badrequest');
|
|
24
|
+
}
|
|
25
|
+
const response = await mutateAndSend(service, endpoint, action);
|
|
26
|
+
if (isErrorResponse(response)) {
|
|
27
|
+
return { ...response, error: `UPDATE failed: ${response.error}` };
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return response;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const updateDatesInItem = (original, merged) => isTypedData(original) && isTypedData(merged)
|
|
34
|
+
? {
|
|
35
|
+
...merged,
|
|
36
|
+
createdAt: original.createdAt,
|
|
37
|
+
...(merged.updatedAt ? { updatedAt: new Date() } : {}),
|
|
38
|
+
}
|
|
39
|
+
: merged;
|
|
40
|
+
function keepCreatedAt(original, merged) {
|
|
41
|
+
if (Array.isArray(original) && Array.isArray(merged)) {
|
|
42
|
+
return original.map((item, index) => updateDatesInItem(item, merged[index]));
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
return updateDatesInItem(original, merged);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async function updateWithGetAndSet(service, action) {
|
|
49
|
+
const getAction = createGetAction(action);
|
|
50
|
+
const getResponse = await dispatchAction(service, getAction);
|
|
51
|
+
if (isErrorResponse(getResponse)) {
|
|
52
|
+
return getResponse;
|
|
53
|
+
}
|
|
54
|
+
let data;
|
|
55
|
+
try {
|
|
56
|
+
data = keepCreatedAt(getResponse.data, deepMergeItems(getResponse.data, action.payload.data));
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
return createErrorResponse(error, 'handler:UPDATE');
|
|
60
|
+
}
|
|
61
|
+
const setAction = createSetAction(action, data);
|
|
62
|
+
return await dispatchAction(service, setAction);
|
|
63
|
+
}
|
|
64
|
+
export default async function update(action, { getService }) {
|
|
65
|
+
const { data, targetService: serviceId, endpoint: endpointId, } = action.payload;
|
|
66
|
+
const { type, id } = getTypeAndId(action, data);
|
|
67
|
+
const service = getService(type, serviceId);
|
|
68
|
+
if (!service) {
|
|
69
|
+
return createUnknownServiceError(type, serviceId, 'UPDATE');
|
|
70
|
+
}
|
|
71
|
+
const endpointDebug = endpointId ? `at endpoint '${endpointId}'` : '';
|
|
72
|
+
debug('SET: Send to service %s %s', service.id, endpointDebug);
|
|
73
|
+
const nextAction = setIdAndTypeOnAction(action, id, type);
|
|
74
|
+
const endpoint = await service.endpointFromAction(nextAction);
|
|
75
|
+
if (isUpdateEndpoint(endpoint)) {
|
|
76
|
+
return await mutateAndSend(service, endpoint, nextAction);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return await updateWithGetAndSet(service, nextAction);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/handlers/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import deepClone from '../../utils/
|
|
1
|
+
import { deepClone } from '../../utils/deep.js';
|
|
2
2
|
export function prepareOptions({ transporter: { incoming, ...transporter } = {}, incoming: incomingBase, adapters, ...topLevel }) {
|
|
3
3
|
const transporterOptions = {
|
|
4
4
|
...topLevel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/service/utils/options.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/service/utils/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAO/C,MAAM,UAAU,cAAc,CAAC,EAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,EAC9C,QAAQ,EAAE,YAAY,EACtB,QAAQ,EACR,GAAG,QAAQ,EACI;IAEf,MAAM,kBAAkB,GAAG;QACzB,GAAG,QAAQ;QACX,GAAG,WAAW;QACd,GAAG,CAAC,QAAQ,IAAI,YAAY;YAC1B,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,QAAQ,EAAE,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;IAED,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAA;KAC3C;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CACvC,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;QACpD,EAAE;QACF,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE;KAC5B,CAAC,CACH,CAAA;IAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;AACtE,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAsB,EAAE,EAAE,CAAC,OAAO,CAAA;AAEhF,MAAM,UAAU,YAAY,CAAC,CAAkB,EAAE,CAAkB;IACjE,MAAM,kBAAkB,GAAG,SAAS,CAAC;QACnC,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC;QAChC,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC;KACjC,CAAC,CAAA;IACF,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE;QACpD,kBAAkB,CAAC,QAAQ,GAAG,SAAS,CAAC;YACtC,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ;YACzB,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ;SAC1B,CAAC,CAAA;KACH;IAED,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAA;IAClC,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAA;IAClC,MAAM,UAAU,GAAG;QACjB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QACzB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;KAC1B,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;IAE/D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAA;KAC3C;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CACvC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;QACrB,EAAE;QACF,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;KAClD,CAAC,CACH,CAAA;IAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;AACtE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const deepClone: <T>(input: T) => T;
|
|
2
|
+
export declare const deepMerge: <Ts extends readonly unknown[]>(...objects: Ts) => import("deepmerge-ts").DeepMergeHKT<Ts, Readonly<{
|
|
3
|
+
DeepMergeRecordsURI: "DeepMergeRecordsDefaultURI";
|
|
4
|
+
DeepMergeArraysURI: "DeepMergeArraysDefaultURI";
|
|
5
|
+
DeepMergeSetsURI: "DeepMergeSetsDefaultURI";
|
|
6
|
+
DeepMergeMapsURI: "DeepMergeMapsDefaultURI";
|
|
7
|
+
DeepMergeOthersURI: "DeepMergeLeafURI";
|
|
8
|
+
}>, Readonly<{
|
|
9
|
+
key: PropertyKey;
|
|
10
|
+
parents: readonly Readonly<Record<PropertyKey, unknown>>[];
|
|
11
|
+
}>>;
|
|
12
|
+
export declare function deepMergeItems(a: unknown, b: unknown): unknown;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import rfdc from 'rfdc';
|
|
2
|
+
import { deepmergeCustom } from 'deepmerge-ts';
|
|
3
|
+
const mergeOptions = {
|
|
4
|
+
mergeArrays: false,
|
|
5
|
+
};
|
|
6
|
+
export const deepClone = rfdc();
|
|
7
|
+
export const deepMerge = deepmergeCustom(mergeOptions);
|
|
8
|
+
export function deepMergeItems(a, b) {
|
|
9
|
+
if (Array.isArray(a) && Array.isArray(b)) {
|
|
10
|
+
return a.map((item, index) => deepMerge(item, b[index]));
|
|
11
|
+
}
|
|
12
|
+
else if (!Array.isArray(a) && !Array.isArray(b)) {
|
|
13
|
+
return deepMerge(a, b);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
throw new Error('Cannot merge array with non-array');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=deep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep.js","sourceRoot":"","sources":["../../src/utils/deep.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,YAAY,GAAG;IACnB,WAAW,EAAE,KAAc;CAC5B,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,EAAE,CAAA;AAE/B,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;AAEtD,MAAM,UAAU,cAAc,CAAC,CAAU,EAAE,CAAU;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAExC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KACzD;SAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACjD,OAAO,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;KACvB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;KACrD;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "integreat",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "Node.js integration layer",
|
|
5
5
|
"author": "Kjell-Morten Bratsberg Thorsen <kjellmorten@integreat.io> (https://integreat.io/)",
|
|
6
6
|
"license": "ISC",
|
|
@@ -40,12 +40,13 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@types/debug": "^4.1.8",
|
|
43
|
-
"@types/luxon": "^3.3.
|
|
43
|
+
"@types/luxon": "^3.3.2",
|
|
44
44
|
"ajv": "^8.12.0",
|
|
45
|
-
"cron-parser": "^4.
|
|
45
|
+
"cron-parser": "^4.9.0",
|
|
46
46
|
"debug": "^4.3.4",
|
|
47
|
+
"deepmerge-ts": "^5.1.0",
|
|
47
48
|
"map-any": "^1.0.0",
|
|
48
|
-
"map-transform": "^0.
|
|
49
|
+
"map-transform": "^1.0.3",
|
|
49
50
|
"ms": "^2.1.3",
|
|
50
51
|
"nanoid": "^4.0.2",
|
|
51
52
|
"p-limit": "^4.0.0",
|
|
@@ -59,8 +60,8 @@
|
|
|
59
60
|
"integreat-adapter-json": "^1.0.0",
|
|
60
61
|
"integreat-adapter-uri": "^1.0.0",
|
|
61
62
|
"integreat-transformers": "^1.0.0",
|
|
62
|
-
"integreat-transporter-http": "1.
|
|
63
|
-
"nock": "^13.3.
|
|
63
|
+
"integreat-transporter-http": "1.2.0",
|
|
64
|
+
"nock": "^13.3.3",
|
|
64
65
|
"sinon": "^15.2.0"
|
|
65
66
|
}
|
|
66
67
|
}
|
package/dist/utils/deepClone.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deepClone.js","sourceRoot":"","sources":["../../src/utils/deepClone.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,eAAe,IAAI,EAAE,CAAA"}
|