import * as Surplus from 'surplus'; import S from 's-js'; import { sampleData } from 'stencil-lib/components/json/json-common'; import { JsonEdit } from '../src/json-edit'; import { JsonView } from '../src/json-view'; // tslint:disable-next-line no-unused-expression Surplus; S.root(() => { sampleData.friendNodes = [ Bob, Cherry, Dave, document.createTextNode('Eve'), ]; let lastUpdate = S.data(Date.now()); function view(_signal: any) { return ; } function raw(_signal: any) { const data = { ...sampleData }; data.salary = '(cannot encode bigint)'; return ( // prettier-ignore
{JSON.stringify(data, undefined, 2)}
); } let main = (
Last update: {new Date(lastUpdate()).toLocaleString()}

JSON

{raw(lastUpdate())}

JsonView

{view(lastUpdate())}

JsonEdit

{JsonEdit({ data: sampleData, editElement: true, onChange: (ev, detail) => { console.log('change', detail); lastUpdate(Date.now()); }, })}
); document.body.appendChild(main); Object.assign(window, { sampleData }); });