UNPKG

@progress/kendo-vue-inputs

Version:
9 lines (8 loc) 2.17 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./result.js"),w=require("./stream.js"),c=l=>(l||"").split(""),a="\\";class i{constructor(e){this.parse=e}run(e,n=""){return e instanceof w.Stream?this.parse(e):this.parse(new w.Stream(c(e),c(n)))}map(e){return new i(n=>this.parse(n).map(e))}chain(e){return new i(n=>this.parse(n).chain((t,r)=>e(t).run(r)))}isLiteral(e){return this.run(e).type===u.ResultType.Literal}}const R=({prompt:l,promptPlaceholder:e})=>n=>new i(t=>{for(;!t.eof();){const{char:r,control:s}=t.peek();if(r===s&&s===l)return t.eat(),new u.Result(l,t,u.ResultType.Mask);if(n.test(r))return t.eat(),new u.Result(r,t,u.ResultType.Mask);if(r===e)return t.eat(),new u.Result(l,t,u.ResultType.Mask);t.eat_input()}return t.eat(),new u.Result(l,t,u.ResultType.Mask)}),o=l=>new i(e=>e.peek().char===l?(e.eat(),new u.Result(l,e,u.ResultType.Literal)):new u.Result(l,e,u.ResultType.Literal)),h=l=>e=>new i(n=>{for(;!n.eof();){const{char:t,control:r}=n.peek();if(t===l&&r===l)return n.eat(),new u.Result(t,n);if(e.test(t))return n.eat(),new u.Result(t,n);n.eat_input()}return n.eat(),new u.Result("",n)}),f=l=>new i(e=>{if(e.eof())return new u.Result("",e);const{char:n}=e.peek();return n===l&&e.eat(),new u.Result(l,e)}),k=(l,e)=>new i(n=>{let{char:t}=n.next();const r=l[t];return t===a?(t=n.next().char,new u.Result(e.literal(t),n)):r?new u.Result(e.mask(r),n):new u.Result(e.literal(t),n)}),p=({prompt:l,promptPlaceholder:e})=>new i(n=>{let{char:t}=n.next();return t===l?new u.Result(e,n):new u.Result(t,n)}),y=l=>new i(e=>{let{char:n}=e.next();return l?new u.Result(n,e):new u.Result("",e)});exports.Parser=i;exports.literal=o;exports.mask=R;exports.rawLiteral=y;exports.rawMask=p;exports.token=k;exports.unliteral=f;exports.unmask=h;