Second frontend, written in Next.JS + Typescript.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1 lines
4.3 KiB

{"ast":null,"code":"import { gql } from \"../client/graphql\";\nexport async function listLogs(gql, filter) {\n return (await gql.post(LOGS_DOC, {\n filter\n }, \"ListLogs\")).logs;\n}\n\nfunction logFilterToQueryString(filter) {\n const parts = [];\n\n if (parts.length === 0) {\n return \"\";\n }\n\n return \"?\" + parts.map(p => `${p.k}=${encodeURIComponent(p.v)}`);\n}\n\nfunction logFilterFromQueryString(qs) {\n const filter = {};\n const qsParts = (qs.startsWith(\"?\") ? qs.slice(1) : qs).split(\"&\");\n return filter;\n}\n\nconst LOGS_DOC = gql`\nquery ListLogs($filter: LogsFilter) {\n logs(filter: $filter) {\n ...LogMeta\n ...LogMetaCharacters\n }\n}\n\nquery FindLog($id: String!) {\n log(id: $id) {\n ...LogMeta\n ...LogData\n }\n}\n\nfragment LogMeta on Log {\n id\n shortId\n date\n channelName\n title\n eventName\n description\n}\n\nfragment LogMetaCharacters on Log {\n characters {\n id\n name\n shortName\n author\n }\n}\n\nfragment LogData on Log {\n open\n channel {\n name\n logged\n hub\n eventName\n locationName\n }\n characters {\n id\n nicks\n author\n name\n shortName\n description\n }\n posts {\n id\n time\n kind\n nick\n text\n position\n }\n}\n`;","map":{"version":3,"sources":["/home/gisle/projects/react/rpdata-frontend2/lib/rpdata/logs.ts"],"names":["gql","listLogs","filter","post","LOGS_DOC","logs","logFilterToQueryString","parts","length","map","p","k","encodeURIComponent","v","logFilterFromQueryString","qs","qsParts","startsWith","slice","split"],"mappings":"AAAA,SAAoBA,GAApB,QAA+B,mBAA/B;AAEA,OAAO,eAAeC,QAAf,CAAwBD,GAAxB,EAAwCE,MAAxC,EAAkF;AACvF,SAAO,CAAC,MAAMF,GAAG,CAACG,IAAJ,CAASC,QAAT,EAAmB;AAACF,IAAAA;AAAD,GAAnB,EAA6B,UAA7B,CAAP,EAAiDG,IAAxD;AACD;;AAED,SAASC,sBAAT,CAAgCJ,MAAhC,EAA2D;AACzD,QAAMK,KAA6B,GAAG,EAAtC;;AAIA,MAAIA,KAAK,CAACC,MAAN,KAAiB,CAArB,EAAwB;AACtB,WAAO,EAAP;AACD;;AACD,SAAO,MAAMD,KAAK,CAACE,GAAN,CAAUC,CAAC,IAAK,GAAEA,CAAC,CAACC,CAAE,IAAGC,kBAAkB,CAACF,CAAC,CAACG,CAAH,CAAM,EAAjD,CAAb;AACD;;AAED,SAASC,wBAAT,CAAkCC,EAAlC,EAAyD;AACvD,QAAMb,MAAM,GAAG,EAAf;AACA,QAAMc,OAAO,GAAG,CAACD,EAAE,CAACE,UAAH,CAAc,GAAd,IAAqBF,EAAE,CAACG,KAAH,CAAS,CAAT,CAArB,GAAmCH,EAApC,EAAwCI,KAAxC,CAA8C,GAA9C,CAAhB;AAEA,SAAOjB,MAAP;AACD;;AAiCD,MAAME,QAAQ,GAAGJ,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAArB","sourcesContent":["import { GQLClient, gql } from \"../client/graphql\";\n\nexport async function listLogs(gql: GQLClient, filter?: LogFilter): Promise<LogHeader[]> {\n return (await gql.post(LOGS_DOC, {filter}, \"ListLogs\")).logs;\n}\n\nfunction logFilterToQueryString(filter: LogFilter): string {\n const parts: {k:string, v:string}[] = [];\n \n\n\n if (parts.length === 0) {\n return \"\";\n }\n return \"?\" + parts.map(p => `${p.k}=${encodeURIComponent(p.v)}`);\n}\n\nfunction logFilterFromQueryString(qs: string): LogFilter {\n const filter = {};\n const qsParts = (qs.startsWith(\"?\") ? qs.slice(1) : qs).split(\"&\");\n\n return filter;\n}\n\nexport interface LogFilter {\n /** Character IDs */\n characters?: string[]\n\n /** Limit the result set size. */\n limit?: number\n}\n\nexport interface LogHeader extends LogCommon {\n /** Character IDs */\n characters: LogHeaderCharacter[]\n}\n\ninterface LogCommon {\n id: string\n shortId: string\n date: string\n channelName: string\n title: string\n description: string\n eventName: string\n open: boolean\n}\n\ninterface LogHeaderCharacter {\n id: string\n name: string\n shortName: string\n author: string\n}\n\nconst LOGS_DOC = gql`\nquery ListLogs($filter: LogsFilter) {\n logs(filter: $filter) {\n ...LogMeta\n ...LogMetaCharacters\n }\n}\n\nquery FindLog($id: String!) {\n log(id: $id) {\n ...LogMeta\n ...LogData\n }\n}\n\nfragment LogMeta on Log {\n id\n shortId\n date\n channelName\n title\n eventName\n description\n}\n\nfragment LogMetaCharacters on Log {\n characters {\n id\n name\n shortName\n author\n }\n}\n\nfragment LogData on Log {\n open\n channel {\n name\n logged\n hub\n eventName\n locationName\n }\n characters {\n id\n nicks\n author\n name\n shortName\n description\n }\n posts {\n id\n time\n kind\n nick\n text\n position\n }\n}\n`;"]},"metadata":{},"sourceType":"module"}