Skip to content

Commit

Permalink
Merge jsx + normal server entry into one
Browse files Browse the repository at this point in the history
  • Loading branch information
marvinhagemeister committed Mar 15, 2022
1 parent 4824d58 commit 9c20a01
Show file tree
Hide file tree
Showing 9 changed files with 26 additions and 36 deletions.
22 changes: 16 additions & 6 deletions server/src/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,26 @@
import { VNode } from 'preact';

interface Options {
export interface Options {
shallow?: boolean;
xml?: boolean;
pretty?: boolean | string;
}

export function render(vnode: VNode, context?: any, options?: Options): string;
export function renderToString(
type RenderFn = (vnode: VNode, context?: any, options?: Options) => string;
export const render: RenderFn;
export const renderToString: RenderFn;
export const renderToStaticMarkup: RenderFn;

export function shallowRender(vnode: VNode, context?: any): string;

export interface JsxOptions extends Options {
functions?: boolean;
functionNames?: boolean;
skipFalseAttributes?: boolean;
}

export function renderToJsxString(
vnode: VNode,
context?: any,
options?: Options
options: JsxOptions
): string;
export function shallowRender(vnode: VNode, context?: any): string;
export default render;
5 changes: 2 additions & 3 deletions server/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
assign,
getChildren
} from './util';
import { renderToJsxString } from './jsx';
import { options, Fragment } from 'preact';

/** @typedef {import('preact').VNode} VNode */
Expand Down Expand Up @@ -425,13 +426,11 @@ function getFallbackComponentName(component) {
}
return name;
}
renderToString.shallowRender = shallowRender;

export default renderToString;

export {
renderToString as render,
renderToString as renderToStaticMarkup,
renderToString,
renderToJsxString,
shallowRender
};
13 changes: 0 additions & 13 deletions server/src/jsx.d.ts

This file was deleted.

7 changes: 2 additions & 5 deletions server/src/jsx.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import './polyfills';
import renderToString from './index';
import { renderToString } from './index';
import { indent, encodeEntities, assign } from './util';
import prettyFormat from 'pretty-format';

Expand Down Expand Up @@ -67,10 +67,7 @@ let defaultOpts = {
pretty: ' '
};

function renderToJsxString(vnode, context, opts, inner) {
export function renderToJsxString(vnode, context, opts, inner) {
opts = assign(assign({}, defaultOpts), opts || {});
return renderToString(vnode, context, opts, inner);
}

export default renderToJsxString;
export { renderToJsxString as render };
2 changes: 1 addition & 1 deletion server/test/context.test.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import render from '../src/jsx';
import { renderToJsxString as render } from '../src/jsx';
import { createElement, createContext, Component } from 'preact';
import { expect } from 'chai';
import { dedent } from './utils';
Expand Down
7 changes: 2 additions & 5 deletions server/test/index.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import renderToString, {
import {
render,
shallowRender,
renderToString,
renderToStaticMarkup,
renderToString as _renderToString
} from '../src';
Expand All @@ -9,10 +10,6 @@ import './setup';

describe('render-to-string', () => {
describe('exports', () => {
it('exposes renderToString as default', () => {
expect(renderToString).to.be.a('function');
});

it('exposes render as a named export', () => {
expect(render).to.be.a('function');
expect(render).to.equal(renderToString);
Expand Down
2 changes: 1 addition & 1 deletion server/test/jsx.test.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import render from '../src/jsx';
import { renderToJsxString as render } from '../src/jsx';
import { createElement } from 'preact';
import { expect } from 'chai';
import { dedent } from './utils';
Expand Down
2 changes: 1 addition & 1 deletion server/test/preact-render-to-string-tests.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import render from '../src';
import { render } from '../src';
import { createElement } from 'preact';

let vdom = <div class="foo">content</div>;
Expand Down
2 changes: 1 addition & 1 deletion server/test/pretty.test.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { render as basicRender } from '../src';
import { render } from '../src/jsx';
import { renderToJsxString as render } from '../src/jsx';
import { createElement, Fragment } from 'preact';
import { expect } from 'chai';
import { dedent } from './utils';
Expand Down

0 comments on commit 9c20a01

Please sign in to comment.