File tree Expand file tree Collapse file tree 2 files changed +33
-0
lines changed
front/src/ctfnote/parsers Expand file tree Collapse file tree 2 files changed +33
-0
lines changed Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ import justCTFParser from './justctf';
66import AngstromParser from './angstrom' ;
77import CINIParser from './cini' ;
88import HitconParser from './hitcon' ;
9+ import KITCTFParser from './kitctf' ;
910
1011export type ParsedTask = {
1112 title : string ;
@@ -29,4 +30,5 @@ export default [
2930 AngstromParser ,
3031 CINIParser ,
3132 HitconParser ,
33+ KITCTFParser ,
3234] ;
Original file line number Diff line number Diff line change 1+ import { ParsedTask , Parser } from '.' ;
2+ import { parseJsonStrict } from '../utils' ;
3+
4+ const KITCTFParser : Parser = {
5+ name : 'KITCTF parser' ,
6+ hint : 'paste /api/challenges' ,
7+
8+ parse ( s : string ) : ParsedTask [ ] {
9+ const tasks = [ ] ;
10+ const data =
11+ parseJsonStrict <
12+ Array < { name : string ; tags : string [ ] ; description : string } >
13+ > ( s ) ;
14+ if ( ! Array . isArray ( data ) ) {
15+ return [ ] ;
16+ }
17+ for ( const task of data ) {
18+ if ( ! task . name || ! task . tags ) {
19+ continue ;
20+ }
21+ tasks . push ( {
22+ title : task . name ,
23+ tags : task . tags ,
24+ description : task . description ,
25+ } ) ;
26+ }
27+ return tasks ;
28+ } ,
29+ } ;
30+
31+ export default KITCTFParser ;
You can’t perform that action at this time.
0 commit comments