35 lines
1.2 KiB
JavaScript
35 lines
1.2 KiB
JavaScript
import vm from "vm"
|
|
import templates from "./index.js"
|
|
import { setJSRunner } from "./helpers/javascript"
|
|
|
|
/**
|
|
* ES6 entrypoint for rollup
|
|
*/
|
|
export const isValid = templates.isValid
|
|
export const makePropSafe = templates.makePropSafe
|
|
export const getManifest = templates.getManifest
|
|
export const isJSBinding = templates.isJSBinding
|
|
export const encodeJSBinding = templates.encodeJSBinding
|
|
export const decodeJSBinding = templates.decodeJSBinding
|
|
export const processStringSync = templates.processStringSync
|
|
export const processObjectSync = templates.processObjectSync
|
|
export const processString = templates.processString
|
|
export const processObject = templates.processObject
|
|
export const doesContainStrings = templates.doesContainStrings
|
|
export const doesContainString = templates.doesContainString
|
|
export const disableEscaping = templates.disableEscaping
|
|
export const findHBSBlocks = templates.findHBSBlocks
|
|
|
|
/**
|
|
* Use polyfilled vm to run JS scripts in a browser Env
|
|
*/
|
|
setJSRunner((js, context) => {
|
|
context = {
|
|
...context,
|
|
alert: undefined,
|
|
setInterval: undefined,
|
|
setTimeout: undefined,
|
|
}
|
|
vm.createContext(context)
|
|
return vm.runInNewContext(js, context, { timeout: 1000 })
|
|
})
|