@@ -3,29 +3,6 @@ import { concatAll, concatMap, from, map, Observable, of, toArray } from 'rxjs';
3
3
import { createAsyncReplacer , createSyncReplacer } from './json/replacer.js' ;
4
4
import { createAsyncReviver , createSyncReviver } from './json/reviver.js' ;
5
5
6
- export const serialize = ( asyncTransforms , syncTransforms ) => source =>
7
- source . pipe (
8
- traverse ( createAsyncReplacer ( asyncTransforms ) ) ,
9
- toJSONString ( createSyncReplacer ( syncTransforms ) )
10
- //
11
- ) ;
12
-
13
- export const deserialize = ( asyncTransforms , syncTransforms ) => source =>
14
- source . pipe (
15
- fromJSONString ( createSyncReviver ( syncTransforms ) ) ,
16
- traverse ( createAsyncReviver ( asyncTransforms ) )
17
- //
18
- ) ;
19
-
20
- const traverse = transforms => source =>
21
- source . pipe (
22
- concatMap ( data => of ( data ) . pipe ( getOperator ( data ) ( transforms ) ) ) ,
23
- transform ( transforms )
24
- //
25
- ) ;
26
-
27
- const getOperator = data => traverseInstructions [ data . constructor ] || ( ( ) => source => source ) ;
28
-
29
6
const traverseInstructions = {
30
7
[ Object ] : transforms => source =>
31
8
source . pipe (
@@ -53,6 +30,35 @@ const traverseInstructions = {
53
30
)
54
31
} ;
55
32
33
+ export const serialize = ( asyncTransforms , syncTransforms ) => source =>
34
+ source . pipe (
35
+ traverse ( createAsyncReplacer ( asyncTransforms ) ) ,
36
+ stringify ( syncTransforms )
37
+ //
38
+ ) ;
39
+
40
+ export const deserialize = ( asyncTransforms , syncTransforms ) => source =>
41
+ source . pipe (
42
+ parse ( syncTransforms ) ,
43
+ traverse ( createAsyncReviver ( asyncTransforms ) )
44
+ //
45
+ ) ;
46
+
47
+ export const stringify = syncTransforms => source =>
48
+ source . pipe ( toJSONString ( createSyncReplacer ( syncTransforms ) ) ) ;
49
+
50
+ export const parse = syncTransforms => source =>
51
+ source . pipe ( fromJSONString ( createSyncReviver ( syncTransforms ) ) ) ;
52
+
53
+ const traverse = transforms => source =>
54
+ source . pipe (
55
+ concatMap ( data => of ( data ) . pipe ( getOperator ( data ) ( transforms ) ) ) ,
56
+ transform ( transforms )
57
+ //
58
+ ) ;
59
+
60
+ const getOperator = data => traverseInstructions [ data . constructor ] || ( ( ) => source => source ) ;
61
+
56
62
const transform = transforms => source =>
57
63
source . pipe ( concatMap ( data => of ( data ) . pipe ( findTransform ( transforms , data ) . handler ( ) ) ) ) ;
58
64
0 commit comments