seroval 0.12.4 → 0.13.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.
Files changed (138) hide show
  1. package/README.md +17 -15
  2. package/dist/cjs/development/index.cjs +1432 -959
  3. package/dist/cjs/development/index.cjs.map +3 -3
  4. package/dist/cjs/production/index.cjs +3 -3
  5. package/dist/esm/development/index.mjs +1432 -959
  6. package/dist/esm/development/index.mjs.map +3 -3
  7. package/dist/esm/production/index.mjs +3 -3
  8. package/dist/types/core/base-primitives.d.ts +12 -1
  9. package/dist/types/core/base-primitives.d.ts.map +1 -1
  10. package/dist/types/core/compat.d.ts +0 -2
  11. package/dist/types/core/compat.d.ts.map +1 -1
  12. package/dist/types/core/constants.d.ts +8 -2
  13. package/dist/types/core/constants.d.ts.map +1 -1
  14. package/dist/types/core/{tree/deserialize.d.ts → context/deserializer.d.ts} +19 -13
  15. package/dist/types/core/context/deserializer.d.ts.map +1 -0
  16. package/dist/types/core/{base → context/parser}/async.d.ts +6 -5
  17. package/dist/types/core/context/parser/async.d.ts.map +1 -0
  18. package/dist/types/core/{base → context/parser}/stream.d.ts +2 -1
  19. package/dist/types/core/context/parser/stream.d.ts.map +1 -0
  20. package/dist/types/core/{base → context/parser}/sync.d.ts +7 -9
  21. package/dist/types/core/context/parser/sync.d.ts.map +1 -0
  22. package/dist/types/core/context/parser.d.ts +27 -0
  23. package/dist/types/core/context/parser.d.ts.map +1 -0
  24. package/dist/types/core/{serializer-context.old.d.ts → context/serializer.d.ts} +21 -22
  25. package/dist/types/core/context/serializer.d.ts.map +1 -0
  26. package/dist/types/core/cross/async.d.ts +2 -2
  27. package/dist/types/core/cross/async.d.ts.map +1 -1
  28. package/dist/types/core/cross/deserializer.d.ts +9 -0
  29. package/dist/types/core/cross/deserializer.d.ts.map +1 -0
  30. package/dist/types/core/cross/index.d.ts +11 -1
  31. package/dist/types/core/cross/index.d.ts.map +1 -1
  32. package/dist/types/core/cross/parser.d.ts +6 -0
  33. package/dist/types/core/cross/parser.d.ts.map +1 -0
  34. package/dist/types/core/cross/{serialize.d.ts → serializer.d.ts} +6 -5
  35. package/dist/types/core/cross/serializer.d.ts.map +1 -0
  36. package/dist/types/core/cross/stream.d.ts +2 -2
  37. package/dist/types/core/cross/stream.d.ts.map +1 -1
  38. package/dist/types/core/cross/sync.d.ts +2 -2
  39. package/dist/types/core/cross/sync.d.ts.map +1 -1
  40. package/dist/types/core/keys.d.ts +3 -1
  41. package/dist/types/core/keys.d.ts.map +1 -1
  42. package/dist/types/core/plugin.d.ts +6 -7
  43. package/dist/types/core/plugin.d.ts.map +1 -1
  44. package/dist/types/core/special-reference.d.ts +6 -0
  45. package/dist/types/core/special-reference.d.ts.map +1 -0
  46. package/dist/types/core/tree/async.d.ts +2 -2
  47. package/dist/types/core/tree/async.d.ts.map +1 -1
  48. package/dist/types/core/tree/deserializer.d.ts +13 -0
  49. package/dist/types/core/tree/deserializer.d.ts.map +1 -0
  50. package/dist/types/core/tree/{serialize.d.ts → serializer.d.ts} +4 -4
  51. package/dist/types/core/tree/serializer.d.ts.map +1 -0
  52. package/dist/types/core/tree/sync.d.ts +2 -2
  53. package/dist/types/core/tree/sync.d.ts.map +1 -1
  54. package/dist/types/core/types.d.ts +47 -6
  55. package/dist/types/core/types.d.ts.map +1 -1
  56. package/dist/types/core/utils/assert.d.ts.map +1 -0
  57. package/dist/types/core/utils/constructors.d.ts.map +1 -0
  58. package/dist/types/core/utils/deferred.d.ts +14 -0
  59. package/dist/types/core/utils/deferred.d.ts.map +1 -0
  60. package/dist/types/core/utils/error.d.ts +5 -0
  61. package/dist/types/core/utils/error.d.ts.map +1 -0
  62. package/dist/types/core/utils/get-identifier.d.ts.map +1 -0
  63. package/dist/types/core/utils/get-object-flag.d.ts +3 -0
  64. package/dist/types/core/utils/get-object-flag.d.ts.map +1 -0
  65. package/dist/types/core/utils/is-valid-identifier.d.ts +2 -0
  66. package/dist/types/core/utils/is-valid-identifier.d.ts.map +1 -0
  67. package/dist/types/core/utils/iterator-to-sequence.d.ts +20 -0
  68. package/dist/types/core/utils/iterator-to-sequence.d.ts.map +1 -0
  69. package/dist/types/core/utils/promise-to-result.d.ts.map +1 -0
  70. package/dist/types/core/utils/typed-array.d.ts +4 -0
  71. package/dist/types/core/utils/typed-array.d.ts.map +1 -0
  72. package/dist/types/core/web-api.d.ts +4 -1
  73. package/dist/types/core/web-api.d.ts.map +1 -1
  74. package/package.json +3 -3
  75. package/src/core/base-primitives.ts +229 -1
  76. package/src/core/compat.ts +0 -2
  77. package/src/core/constants.ts +7 -2
  78. package/src/core/{tree/deserialize.ts → context/deserializer.ts} +159 -66
  79. package/src/core/{base → context/parser}/async.ts +181 -309
  80. package/src/core/{base → context/parser}/stream.ts +89 -14
  81. package/src/core/{base → context/parser}/sync.ts +120 -281
  82. package/src/core/context/parser.ts +259 -0
  83. package/src/core/{serializer-context.old.ts → context/serializer.ts} +241 -166
  84. package/src/core/cross/async.ts +2 -2
  85. package/src/core/cross/deserializer.ts +19 -0
  86. package/src/core/cross/index.ts +68 -47
  87. package/src/core/cross/parser.ts +7 -0
  88. package/src/core/cross/{serialize.ts → serializer.ts} +31 -12
  89. package/src/core/cross/stream.ts +2 -2
  90. package/src/core/cross/sync.ts +2 -2
  91. package/src/core/is-serializable.new.ts +1 -1
  92. package/src/core/keys.ts +8 -2
  93. package/src/core/plugin.ts +7 -7
  94. package/src/core/reference.ts +1 -1
  95. package/src/core/special-reference.ts +9 -0
  96. package/src/core/tree/async.ts +2 -2
  97. package/src/core/tree/deserializer.ts +31 -0
  98. package/src/core/tree/index.ts +2 -2
  99. package/src/core/tree/{serialize.ts → serializer.ts} +5 -16
  100. package/src/core/tree/sync.ts +2 -2
  101. package/src/core/types.ts +60 -7
  102. package/src/core/utils/deferred.ts +49 -0
  103. package/src/core/{shared.ts → utils/error.ts} +3 -60
  104. package/src/core/utils/get-object-flag.ts +14 -0
  105. package/src/core/utils/is-valid-identifier.ts +11 -0
  106. package/src/core/utils/iterator-to-sequence.ts +238 -0
  107. package/src/core/utils/typed-array.ts +30 -0
  108. package/src/core/web-api.ts +75 -1
  109. package/src/example.ts +0 -3
  110. package/dist/types/core/assert.d.ts.map +0 -1
  111. package/dist/types/core/base/async.d.ts.map +0 -1
  112. package/dist/types/core/base/stream.d.ts.map +0 -1
  113. package/dist/types/core/base/sync.d.ts.map +0 -1
  114. package/dist/types/core/constructors.d.ts.map +0 -1
  115. package/dist/types/core/cross/cross-parser.d.ts +0 -8
  116. package/dist/types/core/cross/cross-parser.d.ts.map +0 -1
  117. package/dist/types/core/cross/serialize.d.ts.map +0 -1
  118. package/dist/types/core/get-identifier.d.ts.map +0 -1
  119. package/dist/types/core/parser-context.d.ts +0 -23
  120. package/dist/types/core/parser-context.d.ts.map +0 -1
  121. package/dist/types/core/promise-to-result.d.ts.map +0 -1
  122. package/dist/types/core/serializer-context.old.d.ts.map +0 -1
  123. package/dist/types/core/shared.d.ts +0 -10
  124. package/dist/types/core/shared.d.ts.map +0 -1
  125. package/dist/types/core/tree/deserialize.d.ts.map +0 -1
  126. package/dist/types/core/tree/serialize.d.ts.map +0 -1
  127. package/src/core/cross/cross-parser.ts +0 -9
  128. package/src/core/parser-context.ts +0 -131
  129. package/src/core/serializer-context.new.ts +0 -1168
  130. package/src/core/tree/parser.ts +0 -45
  131. /package/dist/types/core/{assert.d.ts → utils/assert.d.ts} +0 -0
  132. /package/dist/types/core/{constructors.d.ts → utils/constructors.d.ts} +0 -0
  133. /package/dist/types/core/{get-identifier.d.ts → utils/get-identifier.d.ts} +0 -0
  134. /package/dist/types/core/{promise-to-result.d.ts → utils/promise-to-result.d.ts} +0 -0
  135. /package/src/core/{assert.ts → utils/assert.ts} +0 -0
  136. /package/src/core/{constructors.ts → utils/constructors.ts} +0 -0
  137. /package/src/core/{get-identifier.ts → utils/get-identifier.ts} +0 -0
  138. /package/src/core/{promise-to-result.ts → utils/promise-to-result.ts} +0 -0
package/README.md CHANGED
@@ -59,12 +59,12 @@ console.log(result);
59
59
  Output (as a string):
60
60
 
61
61
  ```js
62
- ((h,j,k,m)=>(m={number:[0.28952097444015235,-0,NaN,1/0,-1/0],string:["hello world","\x3Cscript>Hello World\x3C/script>"],boolean:[!0,!1],null:null,undefined:void 0,bigint:9007199254740991n,array:h=[,,,,j=new Map([["hello","world"],["mutual",k=new Set(["hello","world"])]])],regexp:/[a-z0-9]+/i,date:new Date("2023-03-22T02:53:41.129Z"),map:j,set:k},h[3]=h,j.set("self",j),k.add(k).add(h),m.self=m,m))()
62
+ ((h,j,k,m,o)=>(o={number:[0.3325212548332517,-0,0/0,1/0,-1/0],string:["hello world","\x3Cscript>Hello World\x3C/script>"],boolean:[!0,!1],null:null,undefined:void 0,bigint:9007199254740991n,array:h=[,,,,k=(j=[],new Map([["hello","world"],["mutual",m=new Set(["hello","world"])]]))],regexp:/[a-z0-9]+/i,date:new Date("2023-11-19T09:25:24.118Z"),map:k,set:m},h[3]=h,k.set("self",k),m.add(m).add(h),o.self=o,o))()
63
63
 
64
64
  // Formatted for readability
65
- ((h, j, k, m) => (
66
- (m = {
67
- number: [0.7499861043679861, -0, 0 / 0, 1 / 0, -1 / 0],
65
+ ((h, j, k, m, o) => (
66
+ (o = {
67
+ number: [0.3325212548332517, -0, 0 / 0, 1 / 0, -1 / 0],
68
68
  string: ["hello world", "\x3Cscript>Hello World\x3C/script>"],
69
69
  boolean: [!0, !1],
70
70
  null: null,
@@ -75,21 +75,23 @@ Output (as a string):
75
75
  ,
76
76
  ,
77
77
  ,
78
- (j = new Map([
79
- ["hello", "world"],
80
- ["mutual", (k = new Set(["hello", "world"]))],
81
- ])),
78
+ (k =
79
+ ((j = []),
80
+ new Map([
81
+ ["hello", "world"],
82
+ ["mutual", (m = new Set(["hello", "world"]))],
83
+ ]))),
82
84
  ]),
83
85
  regexp: /[a-z0-9]+/i,
84
- date: new Date("2023-10-19T05:11:59.516Z"),
85
- map: j,
86
- set: k,
86
+ date: new Date("2023-11-19T09:25:24.118Z"),
87
+ map: k,
88
+ set: m,
87
89
  }),
88
90
  (h[3] = h),
89
- j.set("self", j),
90
- k.add(k).add(h),
91
- (m.self = m),
92
- m
91
+ k.set("self", k),
92
+ m.add(m).add(h),
93
+ (o.self = o),
94
+ o
93
95
  ))();
94
96
  ```
95
97