deembed.js
1 import { 2 EmbeddedNode, 3 EmbeddedObject, 4 EmbeddedTag, 5 EmbeddedMatcher, 6 EmbeddedRegex, 7 } from '@bablr/agast-helpers/symbols'; 8 9 export const getEmbeddedObject = (expr) => { 10 if (!expr) return expr; 11 if (expr.type !== EmbeddedObject) throw new Error(); 12 return expr.value; 13 }; 14 15 export const getEmbeddedNode = (expr) => { 16 if (!expr) return expr; 17 if (expr.type !== EmbeddedNode) throw new Error(); 18 return expr.value; 19 }; 20 21 export const getEmbeddedMatcher = (expr) => { 22 if (!expr) return expr; 23 if (expr.type !== EmbeddedMatcher) throw new Error(); 24 return expr.value; 25 }; 26 27 export const getEmbeddedRegex = (expr) => { 28 if (!expr) return expr; 29 if (expr.type !== EmbeddedRegex) throw new Error(); 30 return expr.value; 31 }; 32 33 export const getEmbeddedTag = (expr) => { 34 if (expr.type !== EmbeddedTag) throw new Error(); 35 const tag = expr.value; 36 return tag; 37 };