Skip to content

Commit bcfc79b

Browse files
committed
upd
1 parent e5b9ab1 commit bcfc79b

3 files changed

Lines changed: 86 additions & 9 deletions

File tree

notes/global-objects.md

Lines changed: 78 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,17 +60,75 @@
6060
- [ ] Field/element equality goes as `x === undefined ? y === undefined : x === null ? y === null : x.equals(y)`
6161
- [ ] `genericn::clone(deep:boolean=):Object` (`generic::clone`)
6262
- [ ] See generic_clone.md
63-
- [ ] serial_internal::fromJSON(...)
64-
- [ ] serial_internal::toJSON(...)
65-
- [ ] serial_internal::fromXML(...)
66-
- [ ] serial_internal::toXML(...)
63+
- [ ] serial::fromJSON(...)
64+
- [ ] serial::toJSON(...)
65+
- [ ] serial::fromXML(...)
66+
- [ ] serial::toXML(...)
6767
- [ ] `meta::class()`
6868
- [ ] Final
6969
- [ ] toString()
7070
- [ ] toLocaleString()
7171
- [ ] valueOf()
7272
- [ ] Boolean class
7373
- [ ] mark as final
74+
- [ ] override serial::fromJSON(...)
75+
- [ ] override serial::toJSON(...)
76+
- [ ] override serial::fromXML(...)
77+
- [ ] override serial::toXML(...)
78+
- [ ] float class
79+
- [ ] mark as final
80+
- [ ] override serial::fromJSON(...)
81+
- [ ] override serial::toJSON(...)
82+
- [ ] override serial::fromXML(...)
83+
- [ ] override serial::toXML(...)
84+
- [ ] double class
85+
- [ ] mark as final
86+
- [ ] override serial::fromJSON(...)
87+
- [ ] override serial::toJSON(...)
88+
- [ ] override serial::fromXML(...)
89+
- [ ] override serial::toXML(...)
90+
- [ ] int class
91+
- [ ] mark as final
92+
- [ ] override serial::fromJSON(...)
93+
- [ ] override serial::toJSON(...)
94+
- [ ] override serial::fromXML(...)
95+
- [ ] override serial::toXML(...)
96+
- [ ] uint class
97+
- [ ] mark as final
98+
- [ ] override serial::fromJSON(...)
99+
- [ ] override serial::toJSON(...)
100+
- [ ] override serial::fromXML(...)
101+
- [ ] override serial::toXML(...)
102+
- [ ] byte class
103+
- [ ] mark as final
104+
- [ ] override serial::fromJSON(...)
105+
- [ ] override serial::toJSON(...)
106+
- [ ] override serial::fromXML(...)
107+
- [ ] override serial::toXML(...)
108+
- [ ] short class
109+
- [ ] mark as final
110+
- [ ] override serial::fromJSON(...)
111+
- [ ] override serial::toJSON(...)
112+
- [ ] override serial::fromXML(...)
113+
- [ ] override serial::toXML(...)
114+
- [ ] long class
115+
- [ ] mark as final
116+
- [ ] override serial::fromJSON(...)
117+
- [ ] override serial::toJSON(...)
118+
- [ ] override serial::fromXML(...)
119+
- [ ] override serial::toXML(...)
120+
- [ ] bigint class
121+
- [ ] mark as final
122+
- [ ] override serial::fromJSON(...)
123+
- [ ] override serial::toJSON(...) -- string
124+
- [ ] override serial::fromXML(...)
125+
- [ ] override serial::toXML(...)
126+
- [ ] decimal class
127+
- [ ] mark as final
128+
- [ ] override serial::fromJSON(...)
129+
- [ ] override serial::toJSON(...) -- string
130+
- [ ] override serial::fromXML(...)
131+
- [ ] override serial::toXML(...)
74132
- [ ] Array
75133
- [ ] mark as final
76134
- [ ] +Iterable
@@ -89,6 +147,10 @@
89147
- [ ] `pop(): (t,void)`
90148
- [ ] `first : (t,void)`
91149
- [ ] `last : (t,void)`
150+
- [ ] override serial::fromJSON(...)
151+
- [ ] override serial::toJSON(...)
152+
- [ ] override serial::fromXML(...)
153+
- [ ] override serial::toXML(...)
92154
- [ ] Map
93155
- [ ] mark as final
94156
- [ ] +Iterable
@@ -103,6 +165,10 @@
103165
- [ ] `equals(o)` - Structural equality
104166
- [ ] `clear()`
105167
- [ ] `clone(deep=)`
168+
- [ ] override serial::fromJSON(...)
169+
- [ ] override serial::toJSON(...)
170+
- [ ] override serial::fromXML(...)
171+
- [ ] override serial::toXML(...)
106172
- [ ] Set.<T>
107173
- [ ] Uses a Map.<K, V> internally.
108174
- [ ] mark as final
@@ -116,6 +182,10 @@
116182
- [ ] `equals(o)` - Structural equality
117183
- [ ] `clear()`
118184
- [ ] `clone(deep=)`
185+
- [ ] override serial::fromJSON(...)
186+
- [ ] override serial::toJSON(...)
187+
- [ ] override serial::fromXML(...)
188+
- [ ] override serial::toXML(...)
119189
- [ ] Finalizer (for when an Object is garbage collected; API similar to JavaScript FinalizationRegistry)
120190
- [ ] Mark as final
121191
- [ ] `new Finalizer(function(held) {})`
@@ -143,6 +213,10 @@
143213
- [ ] `chars():Chars`
144214
- [ ] `format(vars:Map.<string, string>):string`
145215
- Formats `$varName`, `${varName}` and `$$`
216+
- [ ] override serial::fromJSON(...)
217+
- [ ] override serial::toJSON(...)
218+
- [ ] override serial::fromXML(...)
219+
- [ ] override serial::toXML(...)
146220
- [ ] Chars
147221
- [ ] +Iterator
148222
- [ ] `new Chars(str:string, offset:int = 0)`
Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
# serial_internal
1+
# serial
22

33
The Serial facility must be efficient, thus we auto-generate internal method overrides for adequately annotatated types (Serial/XS).
44

55
- Serial annotatated types must, if not implementing one or both of `fromJSON` and `toJSON`, must have Serial annotatated fields (ignore the `*` type).
66
- XS annotatated types must, if not implementing one or both of `fromXML` and `toXML`, must have XS annotatated fields (ignore the `*` type).
7-
- Auto generate serial_internal::fromJSON for every Serial annotatated type.
7+
- Auto generate serial::fromJSON for every Serial annotatated type.
88
- Reuse fromJSON() if the type implements that.
9-
- Auto generate serial_internal::toJSON overrides for every Serial annotatated type.
9+
- Auto generate serial::toJSON overrides for every Serial annotatated type.
1010
- Reuse toJSON() if the type implements that.
11-
- Auto generate serial_internal::fromXML for every XS annotatated type.
11+
- Auto generate serial::fromXML for every XS annotatated type.
1212
- Reuse fromXML() if the type implements that.
13-
- Auto generate serial_internal::toXML overrides for every XS annotatated type.
13+
- Auto generate serial::toXML overrides for every XS annotatated type.
1414
- Reuse toXML() if the type implements that.
15+
- Handle both simple and ADT enums.
1516

1617
See spec/serial.
1718

src/serial.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ The default behavior while deserializing into a class *c* other than primitive t
2020

2121
Simple enums, including Flags enums, are serialized and deserialized in a different way from algebraic enums.
2222

23+
The `map {}` type are handled in the base Object implementation.
24+
2325
## JSON
2426

2527
How one serializes or deserializes into/from JSON using the Serial facility:

0 commit comments

Comments
 (0)