UNPKG

2.24 kBSource Map (JSON)View Raw
1{"version":3,"file":"map-symbols-to-notifications.js","sourceRoot":"","sources":["../../src/map-symbols-to-notifications.ts"],"names":[],"mappings":";;;AAIA,SAAgB,yBAAyB,CACvC,OAAe,EACf,WAAyB;IAEzB,IAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;IACrC,IAAM,MAAM,GAAyC,EAAE,CAAC;IAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,IAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE1B,QAAQ,MAAM,EAAE;YACd,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,MAAM;YACR,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC,CAAC;gBACR,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM;aACP;YACD,OAAO,CAAC,CAAC;gBACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;oBAClE,IAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAChC,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBAC9D,IAAI,KAAK,EAAE;wBACT,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;qBAC1B;oBACD,MAAM;iBACP;gBAED,IAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAG,CAAC;gBAClC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;aACvC;SACF;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAvCD,8DAuCC","sourcesContent":["import { Notification } from 'rxjs';\n\nimport { TestMessages } from './types';\n\nexport function mapSymbolsToNotifications(\n marbles: string,\n messagesArg: TestMessages,\n): { [key: string]: Notification<any> } {\n const messages = messagesArg.slice();\n const result: { [key: string]: Notification<any> } = {};\n\n for (let i = 0; i < marbles.length; i++) {\n const symbol = marbles[i];\n\n switch (symbol) {\n case ' ':\n case '-':\n case '^':\n case '(':\n case ')':\n break;\n case '#':\n case '|': {\n messages.shift();\n break;\n }\n default: {\n if ((symbol.match(/^[0-9]$/) && i === 0) || marbles[i - 1] === ' ') {\n const buffer = marbles.slice(i);\n const match = buffer.match(/^([0-9]+(?:\\.[0-9]+)?)(ms|s|m) /);\n if (match) {\n i += match[0].length - 1;\n }\n break;\n }\n\n const message = messages.shift()!;\n result[symbol] = message.notification;\n }\n }\n }\n\n return result;\n}\n"]}
\No newline at end of file