| 42861 | return Object.assign(this.reference, Object.fromEntries(this.content)) |
| 42862 | } |
| 42863 | } |
| 42864 | class Visitor { |
| 42865 | ObjectElement = { |
| 42866 | enter: (s) => { |
| 42867 | if (this.references.has(s)) return this.references.get(s).toReference() |
| 42868 | const o = new ip(s.content) |
| 42869 | return (this.references.set(s, o), o) |
| 42870 | }, |
| 42871 | } |
| 42872 | EphemeralObject = { leave: (s) => s.toObject() } |
| 42873 | MemberElement = { enter: (s) => [s.key, s.value] } |
| 42874 | ArrayElement = { |
| 42875 | enter: (s) => { |
| 42876 | if (this.references.has(s)) return this.references.get(s).toReference() |
| 42877 | const o = new op(s.content) |
| 42878 | return (this.references.set(s, o), o) |
| 42879 | }, |
| 42880 | } |
| 42881 | EphemeralArray = { leave: (s) => s.toArray() } |
| 42882 | references = new WeakMap() |
| 42883 | BooleanElement(s) { |
| 42884 | return s.toValue() |
| 42885 | } |
| 42886 | NumberElement(s) { |
| 42887 | return s.toValue() |
| 42888 | } |
| 42889 | StringElement(s) { |
| 42890 | return s.toValue() |
| 42891 | } |
| 42892 | NullElement() { |
| 42893 | return null |
| 42894 | } |
| 42895 | RefElement(s, ...o) { |
| 42896 | var i |
| 42897 | const a = o[3] |
| 42898 | return 'EphemeralObject' === |
| 42899 | (null === (i = a[a.length - 1]) || void 0 === i ? void 0 : i.type) |
| 42900 | ? Symbol.for('delete-node') |
| 42901 | : String(s.toValue()) |
| 42902 | } |
| 42903 | LinkElement(s) { |
| 42904 | return ju(s.href) ? s.href.toValue() : '' |
| 42905 | } |
| 42906 | } |
| 42907 | const serializers_value = (s) => |
| 42908 | Cu(s) |