UNPKG

fontoxpath

Version:

A minimalistic XPath 3.1 engine in JavaScript

25 lines (22 loc) 763 B
import castToStringLikeType from './castToStringLikeType'; import createAtomicValue from '../createAtomicValue'; /** * @param {function(string):boolean} instanceOf * @return {function (./AtomicValueDataType) : ({successful: boolean, value: ../AtomicValue}|{successful: boolean, error: !Error})} */ export default function castToString (instanceOf) { /** * @type {function (./AtomicValueDataType) : ({successful: boolean, value: ../AtomicValue}|{successful: boolean, error: !Error})} */ const caster = castToStringLikeType(instanceOf); return value => { const castResult = caster(value); if (!castResult.successful) { return castResult; } return { successful: true, value: createAtomicValue(castResult.value, 'xs:string') }; }; }