1 | import React from 'react';
|
2 | import serialize from 'serialize-javascript';
|
3 |
|
4 | import {serializedID} from './utilities';
|
5 |
|
6 | export interface Props {
|
7 | id: string;
|
8 | data: any;
|
9 | details?: {[key: string]: any};
|
10 | }
|
11 |
|
12 | export default function Serializer({id, data, details}: Props) {
|
13 | const additionalProps = details
|
14 | ? {'data-serialized-details': serialize(details)}
|
15 | : {};
|
16 |
|
17 | return (
|
18 | <script
|
19 | type="text/json"
|
20 | id={serializedID(id)}
|
21 | dangerouslySetInnerHTML={{__html: serialize(data)}}
|
22 | {...additionalProps}
|
23 | />
|
24 | );
|
25 | }
|