wip(ssr): ssr helper codegen
This commit is contained in:
@@ -1,15 +1,16 @@
|
||||
import { escapeHtml, interpolate } from '../src'
|
||||
import { _interpolate } from '../src'
|
||||
import { escapeHtml } from '@vue/shared'
|
||||
|
||||
test('ssr: interpolate', () => {
|
||||
expect(interpolate(0)).toBe(`0`)
|
||||
expect(interpolate(`foo`)).toBe(`foo`)
|
||||
expect(interpolate(`<div>`)).toBe(`<div>`)
|
||||
expect(_interpolate(0)).toBe(`0`)
|
||||
expect(_interpolate(`foo`)).toBe(`foo`)
|
||||
expect(_interpolate(`<div>`)).toBe(`<div>`)
|
||||
// should escape interpolated values
|
||||
expect(interpolate([1, 2, 3])).toBe(
|
||||
expect(_interpolate([1, 2, 3])).toBe(
|
||||
escapeHtml(JSON.stringify([1, 2, 3], null, 2))
|
||||
)
|
||||
expect(
|
||||
interpolate({
|
||||
_interpolate({
|
||||
foo: 1,
|
||||
bar: `<div>`
|
||||
})
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { renderProps, renderClass, renderStyle } from '../src'
|
||||
import { renderProps, renderClass, renderStyle } from '../src/renderProps'
|
||||
|
||||
describe('ssr: renderProps', () => {
|
||||
test('ignore reserved props', () => {
|
||||
|
||||
@@ -6,7 +6,12 @@ import {
|
||||
resolveComponent,
|
||||
ComponentOptions
|
||||
} from 'vue'
|
||||
import { renderToString, renderComponent, renderSlot, escapeHtml } from '../src'
|
||||
import { escapeHtml } from '@vue/shared'
|
||||
import {
|
||||
renderToString,
|
||||
renderComponent,
|
||||
renderSlot
|
||||
} from '../src/renderToString'
|
||||
|
||||
describe('ssr: renderToString', () => {
|
||||
test('should apply app context', async () => {
|
||||
|
||||
@@ -2,15 +2,19 @@
|
||||
export { renderToString } from './renderToString'
|
||||
|
||||
// internal
|
||||
export { renderComponent, renderSlot } from './renderToString'
|
||||
export { renderClass, renderStyle, renderProps } from './renderProps'
|
||||
export {
|
||||
renderComponent as _renderComponent,
|
||||
renderSlot as _renderSlot
|
||||
} from './renderToString'
|
||||
export {
|
||||
renderClass as _renderClass,
|
||||
renderStyle as _renderStyle,
|
||||
renderProps as _renderProps
|
||||
} from './renderProps'
|
||||
|
||||
// utils
|
||||
import { escapeHtml as _escapeHtml, toDisplayString } from '@vue/shared'
|
||||
import { escapeHtml, toDisplayString } from '@vue/shared'
|
||||
|
||||
// cast type to avoid dts dependency on @vue/shared (which is inlined)
|
||||
export const escapeHtml = _escapeHtml as (raw: string) => string
|
||||
|
||||
export function interpolate(value: unknown): string {
|
||||
export function _interpolate(value: unknown): string {
|
||||
return escapeHtml(toDisplayString(value))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user