UNPKG

fontoxpath

Version:

A minimalistic XPath 3.1 engine in JavaScript

29 lines (26 loc) 743 B
import castToType from '../dataTypes/castToType'; import atomize from '../dataTypes/atomize'; import Sequence from '../dataTypes/Sequence'; function fnTrace (dynamicContext, arg, label) { return arg.mapAll(allItems => { const argumentAsStrings = allItems.map(value => castToType(atomize(value, dynamicContext), 'xs:string')); console.log.apply(console, label ? [argumentAsStrings, label.first().value] : [argumentAsStrings]); return new Sequence(allItems); }); } export default { declarations: [ { name: 'trace', argumentTypes: ['item()*'], returnType: 'item()*', callFunction: fnTrace }, { name: 'trace', argumentTypes: ['item()*', 'xs:string'], returnType: 'item()*', callFunction: fnTrace } ] };