Skip to content

fourtf/jsx_xml_serialize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSX XML Serializer

No dependency XML encoder using JSX to describe the XML tree for Deno.

Examples:

Simple

import React, { render } from "./mod.ts";

console.log(render(<asd name={false}>asdf</asd>));

// => `<asd name="false">asdf</asd>`,

Component

import React, { render } from "./mod.ts";

function Component({ name, nr }: { name: string; nr: number }) {
  return (
    <person>
      <name>{name}</name>
      <nr>{nr}</nr>
    </person>
  );
}

console.log(render(<Component name="asdf" nr={123} />)

// => `<person><name>asdf</name><nr>123</nr></person>`,

Uppercase tag names

JSX only allows lowercase generic tag names. Upper case names are reserved for component functions. You can use XML namespaces and replaceTag to circumvent this.

import React, { render } from "./mod.ts";

console.log(
  render(
    <x:FOO>Hello</x:FOO>,
    {
        replaceTag: (tagName) => tagName.replace("x:", ""),
    },
  )
),

// => `<FOO>Hello</FOO>`,

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published