zola-check-manager

A Github Action allowing you to manage the zola check results in github
git clone git://archive.git.mtrnord.blog/MTRNord/zola-check-manager.git
Log | Files | Refs | README | LICENSE

grammar.ts (9497B)


      1 // Generated automatically by nearley, version 2.20.1
      2 // http://github.com/Hardmath123/nearley
      3 // Bypasses TS6133. Allow declared but unused functions.
      4 // @ts-ignore
      5 function id(d: any[]): any {
      6   return d[0];
      7 }
      8 declare var newline: any;
      9 declare var metaMessages: any;
     10 declare var ws: any;
     11 declare var number: any;
     12 declare var misc: any;
     13 declare var internalMetaMessage: any;
     14 declare var string: any;
     15 declare var keyword: any;
     16 declare var count: any;
     17 declare var path: any;
     18 declare var url_with_error: any;
     19 
     20 import {default as moo} from 'moo';
     21 const {compile, keywords, error} = moo;
     22 const appendItem = function (a: number, b: number) {
     23   return function (d: any) {
     24     return d[a].concat(d[b]);
     25   };
     26 };
     27 const empty = function (d: any) {
     28   return [];
     29 };
     30 
     31 const lexer = compile({
     32   count: /(?:0|[1-9][0-9]*)\./,
     33   ws: /[ \t]+/,
     34   keyword: ['Error:', 'Broken link in', 'to'],
     35   number: /[0-9]+/,
     36   internalMetaMessage: ['> Successfully checked'],
     37   metaMessages: [
     38     'pages (',
     39     'orphan),',
     40     'sections',
     41     '-> Site content:',
     42     'Checking site...',
     43     'Checking all internal links with anchors.',
     44     'internal link(s) with anchors.',
     45     'Checking',
     46     'external link(s).',
     47     'Skipping',
     48     '> Checked',
     49     'external link(s):',
     50     'error(s) found.',
     51     'Done in'
     52   ],
     53   misc: [':', 'ms.'],
     54   path: /(?:(?:.\/|\/)[.a-zA-Z0-9_-]+)+/,
     55   url_with_error: /\w*?:\/\/.*?(?=: )/,
     56   string: /(?!\s*$).+/,
     57   lexerError: error,
     58   newline: {match: '\n', lineBreaks: true}
     59 });
     60 
     61 interface NearleyToken {
     62   value: any;
     63   [key: string]: any;
     64 }
     65 
     66 interface NearleyLexer {
     67   reset: (chunk: string, info: any) => void;
     68   next: () => NearleyToken | undefined;
     69   save: () => any;
     70   formatError: (token: never) => string;
     71   has: (tokenType: string) => boolean;
     72 }
     73 
     74 interface NearleyRule {
     75   name: string;
     76   symbols: NearleySymbol[];
     77   postprocess?: (d: any[], loc?: number, reject?: {}) => any;
     78 }
     79 
     80 type NearleySymbol = string | {literal: any} | {test: (token: any) => boolean};
     81 
     82 interface Grammar {
     83   Lexer: NearleyLexer | undefined;
     84   ParserRules: NearleyRule[];
     85   ParserStart: string;
     86 }
     87 
     88 const grammar: Grammar = {
     89   Lexer: lexer,
     90   ParserRules: [
     91     {name: 'stdOutInput', symbols: ['stdOutRow'], postprocess: id},
     92     {
     93       name: 'stdOutInput',
     94       symbols: [
     95         'stdOutInput',
     96         lexer.has('newline') ? {type: 'newline'} : newline,
     97         'stdOutRow'
     98       ],
     99       postprocess: appendItem(0, 2)
    100     },
    101     {name: 'stdOutInput', symbols: ['input'], postprocess: id},
    102     {name: 'stdOutRow', symbols: ['metaMessage'], postprocess: empty},
    103     {
    104       name: 'stdOutRow',
    105       symbols: ['successReport'],
    106       postprocess: function (data) {
    107         return {
    108           successReport: data[0]
    109         };
    110       }
    111     },
    112     {
    113       name: 'stdOutRow',
    114       symbols: ['internalLinkMessage'],
    115       postprocess: function (data) {
    116         return {
    117           internal_links: data[0]
    118         };
    119       }
    120     },
    121     {
    122       name: 'stdOutRow',
    123       symbols: ['externalLinkCheckingWithSkippedLinkMessage'],
    124       postprocess: function (data) {
    125         return {
    126           external_links_planed_checking: data[0]
    127         };
    128       }
    129     },
    130     {
    131       name: 'stdOutRow',
    132       symbols: ['externalLinkCheckingMessage'],
    133       postprocess: function (data) {
    134         return {
    135           external_links_planed_checking: data[0]
    136         };
    137       }
    138     },
    139     {
    140       name: 'stdOutRow',
    141       symbols: ['externalLinkCheckingLinkMessage'],
    142       postprocess: function (data) {
    143         return {
    144           external_links_checked: data[0]
    145         };
    146       }
    147     },
    148     {name: 'stdOutRow', symbols: [], postprocess: empty},
    149     {
    150       name: 'metaMessage',
    151       symbols: [
    152         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages
    153       ]
    154     },
    155     {
    156       name: 'metaMessage',
    157       symbols: [
    158         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages,
    159         lexer.has('ws') ? {type: 'ws'} : ws,
    160         lexer.has('number') ? {type: 'number'} : number,
    161         lexer.has('misc') ? {type: 'misc'} : misc
    162       ]
    163     },
    164     {
    165       name: 'successReport',
    166       symbols: [
    167         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages,
    168         lexer.has('ws') ? {type: 'ws'} : ws,
    169         lexer.has('number') ? {type: 'number'} : number,
    170         lexer.has('ws') ? {type: 'ws'} : ws,
    171         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages,
    172         lexer.has('number') ? {type: 'number'} : number,
    173         lexer.has('ws') ? {type: 'ws'} : ws,
    174         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages,
    175         lexer.has('ws') ? {type: 'ws'} : ws,
    176         lexer.has('number') ? {type: 'number'} : number,
    177         lexer.has('ws') ? {type: 'ws'} : ws,
    178         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages
    179       ],
    180       postprocess: function (data) {
    181         return {
    182           pages: data[2]['value'],
    183           orphans: data[5]['value'],
    184           sections: data[9]['value']
    185         };
    186       }
    187     },
    188     {
    189       name: 'internalLinkMessage',
    190       symbols: [
    191         lexer.has('internalMetaMessage')
    192           ? {type: 'internalMetaMessage'}
    193           : internalMetaMessage,
    194         lexer.has('ws') ? {type: 'ws'} : ws,
    195         lexer.has('number') ? {type: 'number'} : number,
    196         lexer.has('ws') ? {type: 'ws'} : ws,
    197         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages
    198       ],
    199       postprocess: function (data) {
    200         return {
    201           total: data[2]['value']
    202         };
    203       }
    204     },
    205     {
    206       name: 'externalLinkCheckingWithSkippedLinkMessage',
    207       symbols: [
    208         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages,
    209         lexer.has('ws') ? {type: 'ws'} : ws,
    210         lexer.has('number') ? {type: 'number'} : number,
    211         lexer.has('ws') ? {type: 'ws'} : ws,
    212         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages,
    213         lexer.has('ws') ? {type: 'ws'} : ws,
    214         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages,
    215         lexer.has('ws') ? {type: 'ws'} : ws,
    216         lexer.has('number') ? {type: 'number'} : number,
    217         lexer.has('ws') ? {type: 'ws'} : ws,
    218         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages
    219       ],
    220       postprocess: function (data) {
    221         return {
    222           total: data[2]['value'],
    223           skipped: data[8]['value']
    224         };
    225       }
    226     },
    227     {
    228       name: 'externalLinkCheckingMessage',
    229       symbols: [
    230         {literal: 'Checking'},
    231         lexer.has('ws') ? {type: 'ws'} : ws,
    232         lexer.has('number') ? {type: 'number'} : number,
    233         lexer.has('ws') ? {type: 'ws'} : ws,
    234         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages
    235       ],
    236       postprocess: function (data) {
    237         return {
    238           total: data[2]['value']
    239         };
    240       }
    241     },
    242     {
    243       name: 'externalLinkCheckingLinkMessage',
    244       symbols: [
    245         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages,
    246         lexer.has('ws') ? {type: 'ws'} : ws,
    247         lexer.has('number') ? {type: 'number'} : number,
    248         lexer.has('ws') ? {type: 'ws'} : ws,
    249         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages,
    250         lexer.has('ws') ? {type: 'ws'} : ws,
    251         lexer.has('number') ? {type: 'number'} : number,
    252         lexer.has('ws') ? {type: 'ws'} : ws,
    253         lexer.has('metaMessages') ? {type: 'metaMessages'} : metaMessages
    254       ],
    255       postprocess: function (data) {
    256         return {
    257           total: data[2]['value'],
    258           errors: data[6]['value']
    259         };
    260       }
    261     },
    262     {name: 'input', symbols: ['row'], postprocess: id},
    263     {
    264       name: 'input',
    265       symbols: [
    266         'input',
    267         lexer.has('newline') ? {type: 'newline'} : newline,
    268         'row'
    269       ],
    270       postprocess: appendItem(0, 2)
    271     },
    272     {name: 'row', symbols: ['broke_link_message']},
    273     {name: 'row', symbols: ['error']},
    274     {name: 'row', symbols: [], postprocess: empty},
    275     {
    276       name: 'error_message',
    277       symbols: [lexer.has('string') ? {type: 'string'} : string],
    278       postprocess: function (data) {
    279         return data[0]['value'];
    280       }
    281     },
    282     {
    283       name: 'error',
    284       symbols: [
    285         lexer.has('keyword') ? {type: 'keyword'} : keyword,
    286         lexer.has('ws') ? {type: 'ws'} : ws,
    287         'error_message'
    288       ],
    289       postprocess: function (data) {
    290         return {error_message: data[2]};
    291       }
    292     },
    293     {name: 'prefix', symbols: []},
    294     {name: 'prefix', symbols: [lexer.has('ws') ? {type: 'ws'} : ws]},
    295     {
    296       name: 'broke_link_message',
    297       symbols: [
    298         'prefix',
    299         lexer.has('count') ? {type: 'count'} : count,
    300         lexer.has('ws') ? {type: 'ws'} : ws,
    301         lexer.has('keyword') ? {type: 'keyword'} : keyword,
    302         lexer.has('ws') ? {type: 'ws'} : ws,
    303         lexer.has('path') ? {type: 'path'} : path,
    304         lexer.has('ws') ? {type: 'ws'} : ws,
    305         lexer.has('keyword') ? {type: 'keyword'} : keyword,
    306         lexer.has('ws') ? {type: 'ws'} : ws,
    307         lexer.has('url_with_error') ? {type: 'url_with_error'} : url_with_error,
    308         lexer.has('misc') ? {type: 'misc'} : misc,
    309         lexer.has('ws') ? {type: 'ws'} : ws,
    310         lexer.has('string') ? {type: 'string'} : string
    311       ],
    312       postprocess: function (data) {
    313         return {
    314           file: data[5]['value'],
    315           url: data[9]['value'],
    316           error_message: data[12]['value']
    317         };
    318       }
    319     }
    320   ],
    321   ParserStart: 'stdOutInput'
    322 };
    323 
    324 export default grammar;