UNPKG

gnablib

Version:

A lean, zero dependency library to provide a useful base for your project.

2 lines 1.3 kB
/*! Copyright 2023 the gnablib contributors MPL-1.1 */ import{BnfAlt as n,BnfChar as e,BnfConcat as w,BnfRange as T,BnfRepeat as I,BnfString as o}from"./bnf.js";const D=new n(new T("a","z"),new T("A","Z"));D.name="ALPHA",D.suppressComponents=!0;const s=new n(new e("0"),new e("1"));s.name="BIT";const A=new T(1,127,"CHAR"),C=new e("\r",void 0,"CR"),t=new o("\r\n",void 0,"CRLF"),E=new T(0,"","CTL"),P=new T("0","9","DIGIT"),L=new e('"',void 0,"DQUOTE"),v=new n(P,new T("A","F"));v.name="HEXDIG";const G=new e("\t",void 0,"HTAB"),c=new e("\n",void 0,"LF"),i=new T(0,255,"OCTET"),m=new e(" ",void 0,"SP"),H=new T("!","~","VCHAR"),a=new n(m,G);a.name="WSP";const d=I.ZeroPlus(new n(a,new w(t,a)),"LWSP"),R=I.Exactly(2,P),S=new n(new w(new e("2",void 0,"DIGIT"),new e("5",void 0,"DIGIT"),new T("0","5","DIGIT")),new w(new e("2",void 0,"DIGIT"),new T("0","4","DIGIT"),P),new w(new e("1",void 0,"DIGIT"),R),new w(new T("1","9","DIGIT"),P),P);S.name="DECIMAL_OCTET",S.suppressComponents=!0;const r=new e("."),p=I.Exactly(0,r);p.name="EMPTY";const O=new w(S,r,S,r,S,r,S);O.name="IPv4_ADDRESS";const F=new n(D,P);export const rules={ALPHA:D,BIT:s,CHAR:A,CR:C,CRLF:t,CTL:E,DIGIT:P,DQUOTE:L,HEXDIG:v,HTAB:G,LF:c,OCTET:i,SP:m,VCHAR:H,WSP:a,LWSP:d,ALPHANUM:F,DOT:r,EMPTY:p,DIGIT_2:R,DECIMAL_OCTET:S,IPv4_ADDRESS:O};