[{"data":1,"prerenderedAt":2974},["ShallowReactive",2],{"navigation_docs":3,"-messaging-api":133,"-messaging-api-surround":2971},[4,22,51,62,73,84,99,118],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Get Started","/get-started","0.get-started",[9,13,17],{"title":10,"path":11,"stem":12},"Introduction","/get-started/introduction","0.get-started/0.introduction",{"title":14,"path":15,"stem":16},"Browser Support","/get-started/browser-support","0.get-started/1.browser-support",{"title":18,"path":19,"stem":20},"Contributing","/get-started/contributing","0.get-started/2.contributing",false,{"title":23,"path":24,"stem":25,"children":26,"page":21},"Fake Browser","/fake-browser","fake-browser",[27,31,35,39,43,47],{"title":28,"path":29,"stem":30},"Installation","/fake-browser/installation","fake-browser/0.installation",{"title":32,"path":33,"stem":34},"Testing Frameworks","/fake-browser/testing-frameworks","fake-browser/1.testing-frameworks",{"title":36,"path":37,"stem":38},"Triggering Events","/fake-browser/triggering-events","fake-browser/2.triggering-events",{"title":40,"path":41,"stem":42},"Resetting State","/fake-browser/reseting-state","fake-browser/3.reseting-state",{"title":44,"path":45,"stem":46},"Implemented Apis","/fake-browser/implemented-apis","fake-browser/4.implemented-apis",{"title":48,"path":49,"stem":50},"Api","/fake-browser/api","fake-browser/api",{"title":52,"path":53,"stem":54,"children":55,"page":21},"Isolated Element","/isolated-element","isolated-element",[56,59],{"title":28,"path":57,"stem":58},"/isolated-element/installation","isolated-element/0.installation",{"title":48,"path":60,"stem":61},"/isolated-element/api","isolated-element/api",{"title":63,"path":64,"stem":65,"children":66,"page":21},"Job Scheduler","/job-scheduler","job-scheduler",[67,70],{"title":28,"path":68,"stem":69},"/job-scheduler/installation","job-scheduler/0.installation",{"title":48,"path":71,"stem":72},"/job-scheduler/api","job-scheduler/api",{"title":74,"path":75,"stem":76,"children":77,"page":21},"Match Patterns","/match-patterns","match-patterns",[78,81],{"title":28,"path":79,"stem":80},"/match-patterns/installation","match-patterns/0.installation",{"title":48,"path":82,"stem":83},"/match-patterns/api","match-patterns/api",{"title":85,"path":86,"stem":87,"children":88,"page":21},"Messaging","/messaging","messaging",[89,92,96],{"title":28,"path":90,"stem":91},"/messaging/installation","messaging/0.installation",{"title":93,"path":94,"stem":95},"Protocol Maps","/messaging/protocol-maps","messaging/1.protocol-maps",{"title":48,"path":97,"stem":98},"/messaging/api","messaging/api",{"title":100,"path":101,"stem":102,"children":103,"page":21},"Proxy Service","/proxy-service","proxy-service",[104,107,111,115],{"title":28,"path":105,"stem":106},"/proxy-service/installation","proxy-service/0.installation",{"title":108,"path":109,"stem":110},"Defining Services","/proxy-service/defining-services","proxy-service/1.defining-services",{"title":112,"path":113,"stem":114},"Service Keys","/proxy-service/service-keys","proxy-service/2.service-keys",{"title":48,"path":116,"stem":117},"/proxy-service/api","proxy-service/api",{"title":119,"path":120,"stem":121,"children":122,"page":21},"Storage","/storage","storage",[123,126,130],{"title":28,"path":124,"stem":125},"/storage/installation","storage/0.installation",{"title":127,"path":128,"stem":129},"Typescript","/storage/typescript","storage/1.typescript",{"title":48,"path":131,"stem":132},"/storage/api","storage/api",{"id":134,"title":48,"body":135,"description":170,"extension":2966,"links":2967,"meta":2968,"navigation":631,"path":97,"seo":2969,"stem":98,"__hash__":2970},"docs/messaging/api.md",{"type":136,"value":137,"toc":2920},"minimark",[138,141,146,158,164,225,229,234,280,283,289,320,331,334,348,354,375,381,386,460,466,471,556,566,574,580,584,772,778,856,871,874,880,958,969,975,978,1117,1123,1158,1165,1168,1190,1196,1213,1217,1222,1279,1283,1289,1325,1328,1339,1342,1348,1785,1788,1791,1815,1821,1968,1975,1980,2074,2079,2085,2187,2190,2196,2229,2232,2237,2337,2340,2343,2392,2398,2431,2434,2448,2453,2461,2513,2516,2522,2525,2551,2554,2612,2618,2640,2643,2650,2656,2695,2698,2701,2727,2733,2750,2754,2759,2814,2820,2857,2869,2879,2882,2896,2902,2904,2916],[139,140],"hr",{},[142,143,145],"h2",{"id":144},"description","description: \"\"",[147,148,149,150],"alert",{},"See ",[151,152,154],"a",{"href":153},"/messaging/installation/",[155,156,157],"code",{},"@webext-core/messaging",[142,159,161],{"id":160},"basemessagingconfig",[155,162,163],{},"BaseMessagingConfig",[165,166,171],"pre",{"className":167,"code":168,"language":169,"meta":170,"style":170},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","interface BaseMessagingConfig {\n  logger?: Logger;\n  throwOnUnknownMessageFormat?: boolean;\n}\n","ts","",[155,172,173,190,206,219],{"__ignoreMap":170},[174,175,178,182,186],"span",{"class":176,"line":177},"line",1,[174,179,181],{"class":180},"spNyl","interface",[174,183,185],{"class":184},"sBMFI"," BaseMessagingConfig",[174,187,189],{"class":188},"sMK4o"," {\n",[174,191,193,197,200,203],{"class":176,"line":192},2,[174,194,196],{"class":195},"swJcz","  logger",[174,198,199],{"class":188},"?:",[174,201,202],{"class":184}," Logger",[174,204,205],{"class":188},";\n",[174,207,209,212,214,217],{"class":176,"line":208},3,[174,210,211],{"class":195},"  throwOnUnknownMessageFormat",[174,213,199],{"class":188},[174,215,216],{"class":184}," boolean",[174,218,205],{"class":188},[174,220,222],{"class":176,"line":221},4,[174,223,224],{"class":188},"}\n",[226,227,228],"p",{},"Shared configuration between all the different messengers.",[230,231,233],"h3",{"id":232},"properties","Properties",[235,236,237,262],"ul",{},[238,239,240,249,250,253,254,257,258,261],"li",{},[241,242,243],"em",{},[244,245,246],"strong",{},[155,247,248],{},"logger?: Logger"," (default: ",[155,251,252],{},"console",")",[255,256],"br",{},"The logger to use when logging messages. Set to ",[155,259,260],{},"null"," to disable logging.",[238,263,264,249,271,253,274,276,277,279],{},[241,265,266],{},[244,267,268],{},[155,269,270],{},"throwOnUnknownMessageFormat?: boolean",[155,272,273],{},"false",[255,275],{},"When a message is received that doesn't follow ",[155,278,157],{},"'s format, it is\nignored.",[226,281,282],{},"Set this value to true to throw an error instead of ignoring it.",[142,284,286],{"id":285},"customeventmessage",[155,287,288],{},"CustomEventMessage",[165,290,292],{"className":167,"code":291,"language":169,"meta":170,"style":170},"interface CustomEventMessage {\n  event: CustomEvent;\n}\n",[155,293,294,303,316],{"__ignoreMap":170},[174,295,296,298,301],{"class":176,"line":177},[174,297,181],{"class":180},[174,299,300],{"class":184}," CustomEventMessage",[174,302,189],{"class":188},[174,304,305,308,311,314],{"class":176,"line":192},[174,306,307],{"class":195},"  event",[174,309,310],{"class":188},":",[174,312,313],{"class":184}," CustomEvent",[174,315,205],{"class":188},[174,317,318],{"class":176,"line":208},[174,319,224],{"class":188},[226,321,322,323,326,327,330],{},"Additional fields available on the ",[155,324,325],{},"Message"," from a ",[155,328,329],{},"CustomEventMessenger",".",[230,332,233],{"id":333},"properties-1",[235,335,336],{},[238,337,338,345,347],{},[241,339,340],{},[244,341,342],{},[155,343,344],{},"event: CustomEvent",[255,346],{},"The event that was fired, resulting in the message being passed.",[142,349,351],{"id":350},"customeventmessagingconfig",[155,352,353],{},"CustomEventMessagingConfig",[165,355,357],{"className":167,"code":356,"language":169,"meta":170,"style":170},"interface CustomEventMessagingConfig extends NamespaceMessagingConfig {}\n",[155,358,359],{"__ignoreMap":170},[174,360,361,363,366,369,372],{"class":176,"line":177},[174,362,181],{"class":180},[174,364,365],{"class":184}," CustomEventMessagingConfig",[174,367,368],{"class":180}," extends",[174,370,371],{"class":184}," NamespaceMessagingConfig",[174,373,374],{"class":188}," {}\n",[226,376,377,378,330],{},"Configuration passed into ",[155,379,380],{},"defineCustomEventMessaging",[142,382,384],{"id":383},"customeventmessenger",[155,385,329],{},[165,387,389],{"className":167,"code":388,"language":169,"meta":170,"style":170},"type CustomEventMessenger\u003CTProtocolMap extends Record\u003Cstring, any>> = GenericMessenger\u003C\n  TProtocolMap,\n  CustomEventMessage,\n  []\n>;\n",[155,390,391,433,441,448,454],{"__ignoreMap":170},[174,392,393,396,399,402,405,407,410,412,415,418,421,424,427,430],{"class":176,"line":177},[174,394,395],{"class":180},"type",[174,397,398],{"class":184}," CustomEventMessenger",[174,400,401],{"class":188},"\u003C",[174,403,404],{"class":184},"TProtocolMap",[174,406,368],{"class":180},[174,408,409],{"class":184}," Record",[174,411,401],{"class":188},[174,413,414],{"class":184},"string",[174,416,417],{"class":188},",",[174,419,420],{"class":184}," any",[174,422,423],{"class":188},">>",[174,425,426],{"class":188}," =",[174,428,429],{"class":184}," GenericMessenger",[174,431,432],{"class":188},"\u003C\n",[174,434,435,438],{"class":176,"line":192},[174,436,437],{"class":184},"  TProtocolMap",[174,439,440],{"class":188},",\n",[174,442,443,446],{"class":176,"line":208},[174,444,445],{"class":184},"  CustomEventMessage",[174,447,440],{"class":188},[174,449,450],{"class":176,"line":221},[174,451,453],{"class":452},"sTEyZ","  []\n",[174,455,457],{"class":176,"line":456},5,[174,458,459],{"class":188},">;\n",[226,461,462,463,330],{},"Messenger returned by ",[155,464,465],{},"defineCustomEventMessenger",[142,467,469],{"id":468},"definecustomeventmessaging",[155,470,380],{},[165,472,474],{"className":167,"code":473,"language":169,"meta":170,"style":170},"function defineCustomEventMessaging\u003CTProtocolMap extends Record\u003Cstring, any> = Record\u003Cstring, any>>(\n  config: CustomEventMessagingConfig,\n): CustomEventMessenger\u003CTProtocolMap> {\n  // ...\n}\n",[155,475,476,519,531,546,552],{"__ignoreMap":170},[174,477,478,481,485,487,489,491,493,495,497,499,501,504,506,508,510,512,514,516],{"class":176,"line":177},[174,479,480],{"class":180},"function",[174,482,484],{"class":483},"s2Zo4"," defineCustomEventMessaging",[174,486,401],{"class":188},[174,488,404],{"class":184},[174,490,368],{"class":180},[174,492,409],{"class":184},[174,494,401],{"class":188},[174,496,414],{"class":184},[174,498,417],{"class":188},[174,500,420],{"class":184},[174,502,503],{"class":188},">",[174,505,426],{"class":188},[174,507,409],{"class":184},[174,509,401],{"class":188},[174,511,414],{"class":184},[174,513,417],{"class":188},[174,515,420],{"class":184},[174,517,518],{"class":188},">>(\n",[174,520,521,525,527,529],{"class":176,"line":192},[174,522,524],{"class":523},"sHdIc","  config",[174,526,310],{"class":188},[174,528,365],{"class":184},[174,530,440],{"class":188},[174,532,533,536,538,540,542,544],{"class":176,"line":208},[174,534,535],{"class":188},"):",[174,537,398],{"class":184},[174,539,401],{"class":188},[174,541,404],{"class":184},[174,543,503],{"class":188},[174,545,189],{"class":188},[174,547,548],{"class":176,"line":221},[174,549,551],{"class":550},"sHwdD","  // ...\n",[174,553,554],{"class":176,"line":456},[174,555,224],{"class":188},[226,557,558,559,561,562,565],{},"Creates a ",[155,560,329],{},". This messenger is backed by the ",[155,563,564],{},"CustomEvent"," APIs. It can be\nused to communicate between:",[235,567,568,571],{},[238,569,570],{},"Content script and website",[238,572,573],{},"Content script and injected script",[226,575,576,579],{},[155,577,578],{},"sendMessage"," does not accept any additional arguments..",[230,581,583],{"id":582},"examples","Examples",[165,585,587],{"className":167,"code":586,"language":169,"meta":170,"style":170},"  interface WebsiteMessengerSchema {\n  initInjectedScript(data: ...): void;\n  }\n\n  export const websiteMessenger = defineCustomEventMessenger\u003CinitInjectedScript>();\n\n  // Content script\n  websiteMessenger.sendMessage(\"initInjectedScript\", ...);\n\n  // Injected script\n  websiteMessenger.onMessage(\"initInjectedScript\", (...) => {\n  // ...\n  })\n\n  *\n",[155,588,589,599,622,627,633,663,668,674,702,707,713,747,752,761,766],{"__ignoreMap":170},[174,590,591,594,597],{"class":176,"line":177},[174,592,593],{"class":180},"  interface",[174,595,596],{"class":184}," WebsiteMessengerSchema",[174,598,189],{"class":188},[174,600,601,604,607,610,612,615,617,620],{"class":176,"line":192},[174,602,603],{"class":195},"  initInjectedScript",[174,605,606],{"class":188},"(",[174,608,609],{"class":523},"data",[174,611,310],{"class":188},[174,613,614],{"class":452}," ...",[174,616,535],{"class":188},[174,618,619],{"class":184}," void",[174,621,205],{"class":188},[174,623,624],{"class":176,"line":208},[174,625,626],{"class":188},"  }\n",[174,628,629],{"class":176,"line":221},[174,630,632],{"emptyLinePlaceholder":631},true,"\n",[174,634,635,639,642,645,648,651,653,656,658,661],{"class":176,"line":456},[174,636,638],{"class":637},"s7zQu","  export",[174,640,641],{"class":180}," const",[174,643,644],{"class":452}," websiteMessenger ",[174,646,647],{"class":188},"=",[174,649,650],{"class":483}," defineCustomEventMessenger",[174,652,401],{"class":188},[174,654,655],{"class":184},"initInjectedScript",[174,657,503],{"class":188},[174,659,660],{"class":452},"()",[174,662,205],{"class":188},[174,664,666],{"class":176,"line":665},6,[174,667,632],{"emptyLinePlaceholder":631},[174,669,671],{"class":176,"line":670},7,[174,672,673],{"class":550},"  // Content script\n",[174,675,677,680,682,684,686,689,692,694,696,698,700],{"class":176,"line":676},8,[174,678,679],{"class":452},"  websiteMessenger",[174,681,330],{"class":188},[174,683,578],{"class":483},[174,685,606],{"class":452},[174,687,688],{"class":188},"\"",[174,690,655],{"class":691},"sfazB",[174,693,688],{"class":188},[174,695,417],{"class":188},[174,697,614],{"class":188},[174,699,253],{"class":452},[174,701,205],{"class":188},[174,703,705],{"class":176,"line":704},9,[174,706,632],{"emptyLinePlaceholder":631},[174,708,710],{"class":176,"line":709},10,[174,711,712],{"class":550},"  // Injected script\n",[174,714,716,718,720,723,725,727,729,731,733,736,739,742,745],{"class":176,"line":715},11,[174,717,679],{"class":452},[174,719,330],{"class":188},[174,721,722],{"class":483},"onMessage",[174,724,606],{"class":452},[174,726,688],{"class":188},[174,728,655],{"class":691},[174,730,688],{"class":188},[174,732,417],{"class":188},[174,734,735],{"class":452}," (",[174,737,738],{"class":188},"...",[174,740,741],{"class":452},") ",[174,743,744],{"class":180},"=>",[174,746,189],{"class":188},[174,748,750],{"class":176,"line":749},12,[174,751,551],{"class":550},[174,753,755,758],{"class":176,"line":754},13,[174,756,757],{"class":188},"  }",[174,759,760],{"class":452},")\n",[174,762,764],{"class":176,"line":763},14,[174,765,632],{"emptyLinePlaceholder":631},[174,767,769],{"class":176,"line":768},15,[174,770,771],{"class":188},"  *\n",[142,773,775],{"id":774},"defineextensionmessaging",[155,776,777],{},"defineExtensionMessaging",[165,779,781],{"className":167,"code":780,"language":169,"meta":170,"style":170},"function defineExtensionMessaging\u003CTProtocolMap extends Record\u003Cstring, any> = Record\u003Cstring, any>>(\n  config?: ExtensionMessagingConfig,\n): ExtensionMessenger\u003CTProtocolMap> {\n  // ...\n}\n",[155,782,783,822,833,848,852],{"__ignoreMap":170},[174,784,785,787,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820],{"class":176,"line":177},[174,786,480],{"class":180},[174,788,789],{"class":483}," defineExtensionMessaging",[174,791,401],{"class":188},[174,793,404],{"class":184},[174,795,368],{"class":180},[174,797,409],{"class":184},[174,799,401],{"class":188},[174,801,414],{"class":184},[174,803,417],{"class":188},[174,805,420],{"class":184},[174,807,503],{"class":188},[174,809,426],{"class":188},[174,811,409],{"class":184},[174,813,401],{"class":188},[174,815,414],{"class":184},[174,817,417],{"class":188},[174,819,420],{"class":184},[174,821,518],{"class":188},[174,823,824,826,828,831],{"class":176,"line":192},[174,825,524],{"class":523},[174,827,199],{"class":188},[174,829,830],{"class":184}," ExtensionMessagingConfig",[174,832,440],{"class":188},[174,834,835,837,840,842,844,846],{"class":176,"line":208},[174,836,535],{"class":188},[174,838,839],{"class":184}," ExtensionMessenger",[174,841,401],{"class":188},[174,843,404],{"class":184},[174,845,503],{"class":188},[174,847,189],{"class":188},[174,849,850],{"class":176,"line":221},[174,851,551],{"class":550},[174,853,854],{"class":176,"line":456},[174,855,224],{"class":188},[226,857,858,859,862,863,866,867,870],{},"Returns an ",[155,860,861],{},"ExtensionMessenger"," that is backed by the ",[155,864,865],{},"browser.runtime.sendMessage"," and\n",[155,868,869],{},"browser.tabs.sendMessage"," APIs.",[226,872,873],{},"It can be used to send messages to and from the background page/service worker.",[142,875,877],{"id":876},"definewindowmessaging",[155,878,879],{},"defineWindowMessaging",[165,881,883],{"className":167,"code":882,"language":169,"meta":170,"style":170},"function defineWindowMessaging\u003CTProtocolMap extends Record\u003Cstring, any> = Record\u003Cstring, any>>(\n  config: WindowMessagingConfig,\n): WindowMessenger\u003CTProtocolMap> {\n  // ...\n}\n",[155,884,885,924,935,950,954],{"__ignoreMap":170},[174,886,887,889,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922],{"class":176,"line":177},[174,888,480],{"class":180},[174,890,891],{"class":483}," defineWindowMessaging",[174,893,401],{"class":188},[174,895,404],{"class":184},[174,897,368],{"class":180},[174,899,409],{"class":184},[174,901,401],{"class":188},[174,903,414],{"class":184},[174,905,417],{"class":188},[174,907,420],{"class":184},[174,909,503],{"class":188},[174,911,426],{"class":188},[174,913,409],{"class":184},[174,915,401],{"class":188},[174,917,414],{"class":184},[174,919,417],{"class":188},[174,921,420],{"class":184},[174,923,518],{"class":188},[174,925,926,928,930,933],{"class":176,"line":192},[174,927,524],{"class":523},[174,929,310],{"class":188},[174,931,932],{"class":184}," WindowMessagingConfig",[174,934,440],{"class":188},[174,936,937,939,942,944,946,948],{"class":176,"line":208},[174,938,535],{"class":188},[174,940,941],{"class":184}," WindowMessenger",[174,943,401],{"class":188},[174,945,404],{"class":184},[174,947,503],{"class":188},[174,949,189],{"class":188},[174,951,952],{"class":176,"line":221},[174,953,551],{"class":550},[174,955,956],{"class":176,"line":456},[174,957,224],{"class":188},[226,959,960,961,964,965,968],{},"Returns a ",[155,962,963],{},"WindowMessenger",". It is backed by the ",[155,966,967],{},"window.postMessage"," API. It can be used to\ncommunicate between:",[235,970,971,973],{},[238,972,570],{},[238,974,573],{},[230,976,583],{"id":977},"examples-1",[165,979,981],{"className":167,"code":980,"language":169,"meta":170,"style":170},"  interface WebsiteMessengerSchema {\n  initInjectedScript(data: ...): void;\n  }\n\n  export const websiteMessenger = defineWindowMessaging\u003CinitInjectedScript>();\n\n  // Content script\n  websiteMessenger.sendMessage(\"initInjectedScript\", ...);\n\n  // Injected script\n  websiteMessenger.onMessage(\"initInjectedScript\", (...) => {\n  // ...\n  })\n",[155,982,983,991,1009,1013,1017,1039,1043,1047,1071,1075,1079,1107,1111],{"__ignoreMap":170},[174,984,985,987,989],{"class":176,"line":177},[174,986,593],{"class":180},[174,988,596],{"class":184},[174,990,189],{"class":188},[174,992,993,995,997,999,1001,1003,1005,1007],{"class":176,"line":192},[174,994,603],{"class":195},[174,996,606],{"class":188},[174,998,609],{"class":523},[174,1000,310],{"class":188},[174,1002,614],{"class":452},[174,1004,535],{"class":188},[174,1006,619],{"class":184},[174,1008,205],{"class":188},[174,1010,1011],{"class":176,"line":208},[174,1012,626],{"class":188},[174,1014,1015],{"class":176,"line":221},[174,1016,632],{"emptyLinePlaceholder":631},[174,1018,1019,1021,1023,1025,1027,1029,1031,1033,1035,1037],{"class":176,"line":456},[174,1020,638],{"class":637},[174,1022,641],{"class":180},[174,1024,644],{"class":452},[174,1026,647],{"class":188},[174,1028,891],{"class":483},[174,1030,401],{"class":188},[174,1032,655],{"class":184},[174,1034,503],{"class":188},[174,1036,660],{"class":452},[174,1038,205],{"class":188},[174,1040,1041],{"class":176,"line":665},[174,1042,632],{"emptyLinePlaceholder":631},[174,1044,1045],{"class":176,"line":670},[174,1046,673],{"class":550},[174,1048,1049,1051,1053,1055,1057,1059,1061,1063,1065,1067,1069],{"class":176,"line":676},[174,1050,679],{"class":452},[174,1052,330],{"class":188},[174,1054,578],{"class":483},[174,1056,606],{"class":452},[174,1058,688],{"class":188},[174,1060,655],{"class":691},[174,1062,688],{"class":188},[174,1064,417],{"class":188},[174,1066,614],{"class":188},[174,1068,253],{"class":452},[174,1070,205],{"class":188},[174,1072,1073],{"class":176,"line":704},[174,1074,632],{"emptyLinePlaceholder":631},[174,1076,1077],{"class":176,"line":709},[174,1078,712],{"class":550},[174,1080,1081,1083,1085,1087,1089,1091,1093,1095,1097,1099,1101,1103,1105],{"class":176,"line":715},[174,1082,679],{"class":452},[174,1084,330],{"class":188},[174,1086,722],{"class":483},[174,1088,606],{"class":452},[174,1090,688],{"class":188},[174,1092,655],{"class":691},[174,1094,688],{"class":188},[174,1096,417],{"class":188},[174,1098,735],{"class":452},[174,1100,738],{"class":188},[174,1102,741],{"class":452},[174,1104,744],{"class":180},[174,1106,189],{"class":188},[174,1108,1109],{"class":176,"line":749},[174,1110,551],{"class":550},[174,1112,1113,1115],{"class":176,"line":754},[174,1114,757],{"class":188},[174,1116,760],{"class":452},[142,1118,1120],{"id":1119},"extensionmessage",[155,1121,1122],{},"ExtensionMessage",[165,1124,1126],{"className":167,"code":1125,"language":169,"meta":170,"style":170},"interface ExtensionMessage {\n  sender: Runtime.MessageSender;\n}\n",[155,1127,1128,1137,1154],{"__ignoreMap":170},[174,1129,1130,1132,1135],{"class":176,"line":177},[174,1131,181],{"class":180},[174,1133,1134],{"class":184}," ExtensionMessage",[174,1136,189],{"class":188},[174,1138,1139,1142,1144,1147,1149,1152],{"class":176,"line":192},[174,1140,1141],{"class":195},"  sender",[174,1143,310],{"class":188},[174,1145,1146],{"class":184}," Runtime",[174,1148,330],{"class":188},[174,1150,1151],{"class":184},"MessageSender",[174,1153,205],{"class":188},[174,1155,1156],{"class":176,"line":208},[174,1157,224],{"class":188},[226,1159,322,1160,1162,1163,330],{},[155,1161,325],{}," from an ",[155,1164,861],{},[230,1166,233],{"id":1167},"properties-2",[235,1169,1170],{},[238,1171,1172,1179,1181,1182,330],{},[241,1173,1174],{},[244,1175,1176],{},[155,1177,1178],{},"sender: Runtime.MessageSender",[255,1180],{},"Information about where the message came from. See\n",[151,1183,1187],{"href":1184,"rel":1185},"https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/MessageSender",[1186],"nofollow",[155,1188,1189],{},"Runtime.MessageSender",[142,1191,1193],{"id":1192},"extensionmessagingconfig",[155,1194,1195],{},"ExtensionMessagingConfig",[165,1197,1199],{"className":167,"code":1198,"language":169,"meta":170,"style":170},"interface ExtensionMessagingConfig extends BaseMessagingConfig {}\n",[155,1200,1201],{"__ignoreMap":170},[174,1202,1203,1205,1207,1209,1211],{"class":176,"line":177},[174,1204,181],{"class":180},[174,1206,830],{"class":184},[174,1208,368],{"class":180},[174,1210,185],{"class":184},[174,1212,374],{"class":188},[226,1214,377,1215,330],{},[155,1216,777],{},[142,1218,1220],{"id":1219},"extensionmessenger",[155,1221,861],{},[165,1223,1225],{"className":167,"code":1224,"language":169,"meta":170,"style":170},"type ExtensionMessenger\u003CTProtocolMap extends Record\u003Cstring, any>> = GenericMessenger\u003C\n  TProtocolMap,\n  ExtensionMessage,\n  ExtensionSendMessageArgs\n>;\n",[155,1226,1227,1257,1263,1270,1275],{"__ignoreMap":170},[174,1228,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255],{"class":176,"line":177},[174,1230,395],{"class":180},[174,1232,839],{"class":184},[174,1234,401],{"class":188},[174,1236,404],{"class":184},[174,1238,368],{"class":180},[174,1240,409],{"class":184},[174,1242,401],{"class":188},[174,1244,414],{"class":184},[174,1246,417],{"class":188},[174,1248,420],{"class":184},[174,1250,423],{"class":188},[174,1252,426],{"class":188},[174,1254,429],{"class":184},[174,1256,432],{"class":188},[174,1258,1259,1261],{"class":176,"line":192},[174,1260,437],{"class":184},[174,1262,440],{"class":188},[174,1264,1265,1268],{"class":176,"line":208},[174,1266,1267],{"class":184},"  ExtensionMessage",[174,1269,440],{"class":188},[174,1271,1272],{"class":176,"line":221},[174,1273,1274],{"class":184},"  ExtensionSendMessageArgs\n",[174,1276,1277],{"class":176,"line":456},[174,1278,459],{"class":188},[226,1280,462,1281,330],{},[155,1282,777],{},[142,1284,1286],{"id":1285},"extensionsendmessageargs",[155,1287,1288],{},"ExtensionSendMessageArgs",[165,1290,1292],{"className":167,"code":1291,"language":169,"meta":170,"style":170},"type ExtensionSendMessageArgs = [arg?: number | SendMessageOptions];\n",[155,1293,1294],{"__ignoreMap":170},[174,1295,1296,1298,1301,1303,1306,1309,1311,1314,1317,1320,1323],{"class":176,"line":177},[174,1297,395],{"class":180},[174,1299,1300],{"class":184}," ExtensionSendMessageArgs",[174,1302,426],{"class":188},[174,1304,1305],{"class":452}," [",[174,1307,1308],{"class":184},"arg",[174,1310,199],{"class":188},[174,1312,1313],{"class":184}," number",[174,1315,1316],{"class":188}," |",[174,1318,1319],{"class":184}," SendMessageOptions",[174,1321,1322],{"class":452},"]",[174,1324,205],{"class":188},[226,1326,1327],{},"Send message accepts either:",[235,1329,1330,1333,1336],{},[238,1331,1332],{},"No arguments to send to background",[238,1334,1335],{},"A tabId number to send to a specific tab",[238,1337,1338],{},"A SendMessageOptions object to target a specific tab and frame",[226,1340,1341],{},"You cannot message between tabs directly. It must go through the background script.",[142,1343,1345],{"id":1344},"genericmessenger",[155,1346,1347],{},"GenericMessenger",[165,1349,1351],{"className":167,"code":1350,"language":169,"meta":170,"style":170},"interface GenericMessenger\u003C\n  TProtocolMap extends Record\u003Cstring, any>,\n  TMessageExtension,\n  TSendMessageArgs extends any[],\n> {\n  sendMessage\u003CTType extends keyof TProtocolMap>(\n    this: void,\n    type: TType,\n    ...args: GetDataType\u003CTProtocolMap[TType]> extends undefined\n      ? [data?: undefined, ...args: TSendMessageArgs]\n      : never\n  ): Promise\u003CGetReturnType\u003CTProtocolMap[TType]>>;\n  sendMessage\u003CTType extends keyof TProtocolMap>(\n    this: void,\n    type: TType,\n    data: GetDataType\u003CTProtocolMap[TType]>,\n    ...args: TSendMessageArgs\n  ): Promise\u003CGetReturnType\u003CTProtocolMap[TType]>>;\n  onMessage\u003CTType extends keyof TProtocolMap>(\n    this: void,\n    type: TType,\n    onReceived: (\n      message: Message\u003CTProtocolMap, TType> & TMessageExtension,\n    ) => void | MaybePromise\u003CGetReturnType\u003CTProtocolMap[TType]>>,\n  ): RemoveListenerCallback;\n  removeAllListeners(this: void): void;\n}\n",[155,1352,1353,1361,1380,1387,1401,1407,1428,1439,1451,1482,1510,1518,1544,1560,1570,1580,1602,1614,1637,1655,1666,1677,1688,1717,1749,1759,1780],{"__ignoreMap":170},[174,1354,1355,1357,1359],{"class":176,"line":177},[174,1356,181],{"class":180},[174,1358,429],{"class":184},[174,1360,432],{"class":188},[174,1362,1363,1365,1367,1369,1371,1373,1375,1377],{"class":176,"line":192},[174,1364,437],{"class":184},[174,1366,368],{"class":180},[174,1368,409],{"class":184},[174,1370,401],{"class":188},[174,1372,414],{"class":184},[174,1374,417],{"class":188},[174,1376,420],{"class":184},[174,1378,1379],{"class":188},">,\n",[174,1381,1382,1385],{"class":176,"line":208},[174,1383,1384],{"class":184},"  TMessageExtension",[174,1386,440],{"class":188},[174,1388,1389,1392,1394,1396,1399],{"class":176,"line":221},[174,1390,1391],{"class":184},"  TSendMessageArgs",[174,1393,368],{"class":180},[174,1395,420],{"class":184},[174,1397,1398],{"class":452},"[]",[174,1400,440],{"class":188},[174,1402,1403,1405],{"class":176,"line":456},[174,1404,503],{"class":188},[174,1406,189],{"class":188},[174,1408,1409,1412,1414,1417,1419,1422,1425],{"class":176,"line":665},[174,1410,1411],{"class":195},"  sendMessage",[174,1413,401],{"class":188},[174,1415,1416],{"class":184},"TType",[174,1418,368],{"class":180},[174,1420,1421],{"class":188}," keyof",[174,1423,1424],{"class":184}," TProtocolMap",[174,1426,1427],{"class":188},">(\n",[174,1429,1430,1433,1435,1437],{"class":176,"line":670},[174,1431,1432],{"class":637},"    this",[174,1434,310],{"class":188},[174,1436,619],{"class":184},[174,1438,440],{"class":188},[174,1440,1441,1444,1446,1449],{"class":176,"line":676},[174,1442,1443],{"class":523},"    type",[174,1445,310],{"class":188},[174,1447,1448],{"class":184}," TType",[174,1450,440],{"class":188},[174,1452,1453,1456,1459,1461,1464,1466,1468,1471,1473,1475,1477,1479],{"class":176,"line":704},[174,1454,1455],{"class":188},"    ...",[174,1457,1458],{"class":523},"args",[174,1460,310],{"class":188},[174,1462,1463],{"class":184}," GetDataType",[174,1465,401],{"class":188},[174,1467,404],{"class":184},[174,1469,1470],{"class":452},"[",[174,1472,1416],{"class":184},[174,1474,1322],{"class":452},[174,1476,503],{"class":188},[174,1478,368],{"class":180},[174,1480,1481],{"class":184}," undefined\n",[174,1483,1484,1487,1489,1491,1493,1496,1498,1500,1502,1504,1507],{"class":176,"line":709},[174,1485,1486],{"class":188},"      ?",[174,1488,1305],{"class":452},[174,1490,609],{"class":184},[174,1492,199],{"class":188},[174,1494,1495],{"class":184}," undefined",[174,1497,417],{"class":188},[174,1499,614],{"class":188},[174,1501,1458],{"class":184},[174,1503,310],{"class":188},[174,1505,1506],{"class":184}," TSendMessageArgs",[174,1508,1509],{"class":452},"]\n",[174,1511,1512,1515],{"class":176,"line":715},[174,1513,1514],{"class":188},"      :",[174,1516,1517],{"class":184}," never\n",[174,1519,1520,1523,1526,1528,1531,1533,1535,1537,1539,1541],{"class":176,"line":749},[174,1521,1522],{"class":188},"  ):",[174,1524,1525],{"class":184}," Promise",[174,1527,401],{"class":188},[174,1529,1530],{"class":184},"GetReturnType",[174,1532,401],{"class":188},[174,1534,404],{"class":184},[174,1536,1470],{"class":452},[174,1538,1416],{"class":184},[174,1540,1322],{"class":452},[174,1542,1543],{"class":188},">>;\n",[174,1545,1546,1548,1550,1552,1554,1556,1558],{"class":176,"line":754},[174,1547,1411],{"class":195},[174,1549,401],{"class":188},[174,1551,1416],{"class":184},[174,1553,368],{"class":180},[174,1555,1421],{"class":188},[174,1557,1424],{"class":184},[174,1559,1427],{"class":188},[174,1561,1562,1564,1566,1568],{"class":176,"line":763},[174,1563,1432],{"class":637},[174,1565,310],{"class":188},[174,1567,619],{"class":184},[174,1569,440],{"class":188},[174,1571,1572,1574,1576,1578],{"class":176,"line":768},[174,1573,1443],{"class":523},[174,1575,310],{"class":188},[174,1577,1448],{"class":184},[174,1579,440],{"class":188},[174,1581,1583,1586,1588,1590,1592,1594,1596,1598,1600],{"class":176,"line":1582},16,[174,1584,1585],{"class":523},"    data",[174,1587,310],{"class":188},[174,1589,1463],{"class":184},[174,1591,401],{"class":188},[174,1593,404],{"class":184},[174,1595,1470],{"class":452},[174,1597,1416],{"class":184},[174,1599,1322],{"class":452},[174,1601,1379],{"class":188},[174,1603,1605,1607,1609,1611],{"class":176,"line":1604},17,[174,1606,1455],{"class":188},[174,1608,1458],{"class":523},[174,1610,310],{"class":188},[174,1612,1613],{"class":184}," TSendMessageArgs\n",[174,1615,1617,1619,1621,1623,1625,1627,1629,1631,1633,1635],{"class":176,"line":1616},18,[174,1618,1522],{"class":188},[174,1620,1525],{"class":184},[174,1622,401],{"class":188},[174,1624,1530],{"class":184},[174,1626,401],{"class":188},[174,1628,404],{"class":184},[174,1630,1470],{"class":452},[174,1632,1416],{"class":184},[174,1634,1322],{"class":452},[174,1636,1543],{"class":188},[174,1638,1640,1643,1645,1647,1649,1651,1653],{"class":176,"line":1639},19,[174,1641,1642],{"class":195},"  onMessage",[174,1644,401],{"class":188},[174,1646,1416],{"class":184},[174,1648,368],{"class":180},[174,1650,1421],{"class":188},[174,1652,1424],{"class":184},[174,1654,1427],{"class":188},[174,1656,1658,1660,1662,1664],{"class":176,"line":1657},20,[174,1659,1432],{"class":637},[174,1661,310],{"class":188},[174,1663,619],{"class":184},[174,1665,440],{"class":188},[174,1667,1669,1671,1673,1675],{"class":176,"line":1668},21,[174,1670,1443],{"class":523},[174,1672,310],{"class":188},[174,1674,1448],{"class":184},[174,1676,440],{"class":188},[174,1678,1680,1683,1685],{"class":176,"line":1679},22,[174,1681,1682],{"class":483},"    onReceived",[174,1684,310],{"class":188},[174,1686,1687],{"class":452}," (\n",[174,1689,1691,1694,1696,1699,1701,1703,1705,1707,1709,1712,1715],{"class":176,"line":1690},23,[174,1692,1693],{"class":523},"      message",[174,1695,310],{"class":188},[174,1697,1698],{"class":184}," Message",[174,1700,401],{"class":188},[174,1702,404],{"class":184},[174,1704,417],{"class":188},[174,1706,1448],{"class":184},[174,1708,503],{"class":188},[174,1710,1711],{"class":188}," &",[174,1713,1714],{"class":184}," TMessageExtension",[174,1716,440],{"class":188},[174,1718,1720,1723,1725,1727,1729,1732,1734,1736,1738,1740,1742,1744,1746],{"class":176,"line":1719},24,[174,1721,1722],{"class":452},"    ) ",[174,1724,744],{"class":180},[174,1726,619],{"class":184},[174,1728,1316],{"class":188},[174,1730,1731],{"class":184}," MaybePromise",[174,1733,401],{"class":188},[174,1735,1530],{"class":184},[174,1737,401],{"class":188},[174,1739,404],{"class":184},[174,1741,1470],{"class":452},[174,1743,1416],{"class":184},[174,1745,1322],{"class":452},[174,1747,1748],{"class":188},">>,\n",[174,1750,1752,1754,1757],{"class":176,"line":1751},25,[174,1753,1522],{"class":188},[174,1755,1756],{"class":184}," RemoveListenerCallback",[174,1758,205],{"class":188},[174,1760,1762,1765,1767,1770,1772,1774,1776,1778],{"class":176,"line":1761},26,[174,1763,1764],{"class":195},"  removeAllListeners",[174,1766,606],{"class":188},[174,1768,1769],{"class":637},"this",[174,1771,310],{"class":188},[174,1773,619],{"class":184},[174,1775,535],{"class":188},[174,1777,619],{"class":184},[174,1779,205],{"class":188},[174,1781,1783],{"class":176,"line":1782},27,[174,1784,224],{"class":188},[226,1786,1787],{},"Messaging interface shared by all messengers.",[226,1789,1790],{},"Type parameters accept:",[235,1792,1793,1798,1807],{},[238,1794,1795,1797],{},[155,1796,404],{}," to define the data and return types of messages.",[238,1799,1800,1803,1804,1806],{},[155,1801,1802],{},"TMessageExtension"," to define additional fields that are available on a message inside\n",[155,1805,722],{},"'s callback",[238,1808,1809,1812,1813],{},[155,1810,1811],{},"TSendMessageArgs"," to define a list of additional arguments for ",[155,1814,578],{},[142,1816,1818],{"id":1817},"getdatatype",[155,1819,1820],{},"GetDataType",[165,1822,1824],{"className":167,"code":1823,"language":169,"meta":170,"style":170},"type GetDataType\u003CT> = T extends (...args: infer Args) => any\n  ? Args[\"length\"] extends 0 | 1\n    ? Args[0]\n    : never\n  : T extends ProtocolWithReturn\u003Cany, any>\n    ? T[\"BtVgCTPYZu\"]\n    : T;\n",[155,1825,1826,1867,1898,1912,1919,1943,1960],{"__ignoreMap":170},[174,1827,1828,1830,1832,1834,1837,1839,1841,1844,1846,1849,1851,1853,1856,1859,1861,1864],{"class":176,"line":177},[174,1829,395],{"class":180},[174,1831,1463],{"class":184},[174,1833,401],{"class":188},[174,1835,1836],{"class":184},"T",[174,1838,503],{"class":188},[174,1840,426],{"class":188},[174,1842,1843],{"class":184}," T",[174,1845,368],{"class":180},[174,1847,1848],{"class":188}," (...",[174,1850,1458],{"class":523},[174,1852,310],{"class":188},[174,1854,1855],{"class":188}," infer",[174,1857,1858],{"class":184}," Args",[174,1860,253],{"class":188},[174,1862,1863],{"class":180}," =>",[174,1865,1866],{"class":184}," any\n",[174,1868,1869,1872,1874,1876,1878,1881,1883,1886,1889,1893,1895],{"class":176,"line":192},[174,1870,1871],{"class":188},"  ?",[174,1873,1858],{"class":184},[174,1875,1470],{"class":452},[174,1877,688],{"class":188},[174,1879,1880],{"class":691},"length",[174,1882,688],{"class":188},[174,1884,1885],{"class":452},"] ",[174,1887,1888],{"class":180},"extends",[174,1890,1892],{"class":1891},"sbssI"," 0",[174,1894,1316],{"class":188},[174,1896,1897],{"class":1891}," 1\n",[174,1899,1900,1903,1905,1907,1910],{"class":176,"line":208},[174,1901,1902],{"class":188},"    ?",[174,1904,1858],{"class":184},[174,1906,1470],{"class":452},[174,1908,1909],{"class":1891},"0",[174,1911,1509],{"class":452},[174,1913,1914,1917],{"class":176,"line":221},[174,1915,1916],{"class":188},"    :",[174,1918,1517],{"class":184},[174,1920,1921,1924,1926,1928,1931,1933,1936,1938,1940],{"class":176,"line":456},[174,1922,1923],{"class":188},"  :",[174,1925,1843],{"class":184},[174,1927,368],{"class":180},[174,1929,1930],{"class":184}," ProtocolWithReturn",[174,1932,401],{"class":188},[174,1934,1935],{"class":184},"any",[174,1937,417],{"class":188},[174,1939,420],{"class":184},[174,1941,1942],{"class":188},">\n",[174,1944,1945,1947,1949,1951,1953,1956,1958],{"class":176,"line":665},[174,1946,1902],{"class":188},[174,1948,1843],{"class":184},[174,1950,1470],{"class":452},[174,1952,688],{"class":188},[174,1954,1955],{"class":691},"BtVgCTPYZu",[174,1957,688],{"class":188},[174,1959,1509],{"class":452},[174,1961,1962,1964,1966],{"class":176,"line":670},[174,1963,1916],{"class":188},[174,1965,1843],{"class":184},[174,1967,205],{"class":188},[226,1969,1970,1971,1974],{},"Given a function declaration, ",[155,1972,1973],{},"ProtocolWithReturn",", or a value, return the message's data type.",[142,1976,1978],{"id":1977},"getreturntype",[155,1979,1530],{},[165,1981,1983],{"className":167,"code":1982,"language":169,"meta":170,"style":170},"type GetReturnType\u003CT> = T extends (...args: any[]) => infer R\n  ? R\n  : T extends ProtocolWithReturn\u003Cany, any>\n    ? T[\"RrhVseLgZW\"]\n    : void;\n",[155,1984,1985,2023,2029,2049,2066],{"__ignoreMap":170},[174,1986,1987,1989,1992,1994,1996,1998,2000,2002,2004,2006,2008,2010,2012,2014,2016,2018,2020],{"class":176,"line":177},[174,1988,395],{"class":180},[174,1990,1991],{"class":184}," GetReturnType",[174,1993,401],{"class":188},[174,1995,1836],{"class":184},[174,1997,503],{"class":188},[174,1999,426],{"class":188},[174,2001,1843],{"class":184},[174,2003,368],{"class":180},[174,2005,1848],{"class":188},[174,2007,1458],{"class":523},[174,2009,310],{"class":188},[174,2011,420],{"class":184},[174,2013,1398],{"class":452},[174,2015,253],{"class":188},[174,2017,1863],{"class":180},[174,2019,1855],{"class":188},[174,2021,2022],{"class":184}," R\n",[174,2024,2025,2027],{"class":176,"line":192},[174,2026,1871],{"class":188},[174,2028,2022],{"class":184},[174,2030,2031,2033,2035,2037,2039,2041,2043,2045,2047],{"class":176,"line":208},[174,2032,1923],{"class":188},[174,2034,1843],{"class":184},[174,2036,368],{"class":180},[174,2038,1930],{"class":184},[174,2040,401],{"class":188},[174,2042,1935],{"class":184},[174,2044,417],{"class":188},[174,2046,420],{"class":184},[174,2048,1942],{"class":188},[174,2050,2051,2053,2055,2057,2059,2062,2064],{"class":176,"line":221},[174,2052,1902],{"class":188},[174,2054,1843],{"class":184},[174,2056,1470],{"class":452},[174,2058,688],{"class":188},[174,2060,2061],{"class":691},"RrhVseLgZW",[174,2063,688],{"class":188},[174,2065,1509],{"class":452},[174,2067,2068,2070,2072],{"class":176,"line":456},[174,2069,1916],{"class":188},[174,2071,619],{"class":184},[174,2073,205],{"class":188},[226,2075,1970,2076,2078],{},[155,2077,1973],{},", or a value, return the message's return type.",[142,2080,2082],{"id":2081},"logger",[155,2083,2084],{},"Logger",[165,2086,2088],{"className":167,"code":2087,"language":169,"meta":170,"style":170},"interface Logger {\n  debug(...args: any[]): void;\n  log(...args: any[]): void;\n  warn(...args: any[]): void;\n  error(...args: any[]): void;\n}\n",[155,2089,2090,2098,2120,2141,2162,2183],{"__ignoreMap":170},[174,2091,2092,2094,2096],{"class":176,"line":177},[174,2093,181],{"class":180},[174,2095,202],{"class":184},[174,2097,189],{"class":188},[174,2099,2100,2103,2106,2108,2110,2112,2114,2116,2118],{"class":176,"line":192},[174,2101,2102],{"class":195},"  debug",[174,2104,2105],{"class":188},"(...",[174,2107,1458],{"class":523},[174,2109,310],{"class":188},[174,2111,420],{"class":184},[174,2113,1398],{"class":452},[174,2115,535],{"class":188},[174,2117,619],{"class":184},[174,2119,205],{"class":188},[174,2121,2122,2125,2127,2129,2131,2133,2135,2137,2139],{"class":176,"line":208},[174,2123,2124],{"class":195},"  log",[174,2126,2105],{"class":188},[174,2128,1458],{"class":523},[174,2130,310],{"class":188},[174,2132,420],{"class":184},[174,2134,1398],{"class":452},[174,2136,535],{"class":188},[174,2138,619],{"class":184},[174,2140,205],{"class":188},[174,2142,2143,2146,2148,2150,2152,2154,2156,2158,2160],{"class":176,"line":221},[174,2144,2145],{"class":195},"  warn",[174,2147,2105],{"class":188},[174,2149,1458],{"class":523},[174,2151,310],{"class":188},[174,2153,420],{"class":184},[174,2155,1398],{"class":452},[174,2157,535],{"class":188},[174,2159,619],{"class":184},[174,2161,205],{"class":188},[174,2163,2164,2167,2169,2171,2173,2175,2177,2179,2181],{"class":176,"line":456},[174,2165,2166],{"class":195},"  error",[174,2168,2105],{"class":188},[174,2170,1458],{"class":523},[174,2172,310],{"class":188},[174,2174,420],{"class":184},[174,2176,1398],{"class":452},[174,2178,535],{"class":188},[174,2180,619],{"class":184},[174,2182,205],{"class":188},[174,2184,2185],{"class":176,"line":665},[174,2186,224],{"class":188},[226,2188,2189],{},"Interface used to log text to the console when sending and receiving messages.",[142,2191,2193],{"id":2192},"maybepromise",[155,2194,2195],{},"MaybePromise",[165,2197,2199],{"className":167,"code":2198,"language":169,"meta":170,"style":170},"type MaybePromise\u003CT> = Promise\u003CT> | T;\n",[155,2200,2201],{"__ignoreMap":170},[174,2202,2203,2205,2207,2209,2211,2213,2215,2217,2219,2221,2223,2225,2227],{"class":176,"line":177},[174,2204,395],{"class":180},[174,2206,1731],{"class":184},[174,2208,401],{"class":188},[174,2210,1836],{"class":184},[174,2212,503],{"class":188},[174,2214,426],{"class":188},[174,2216,1525],{"class":184},[174,2218,401],{"class":188},[174,2220,1836],{"class":184},[174,2222,503],{"class":188},[174,2224,1316],{"class":188},[174,2226,1843],{"class":184},[174,2228,205],{"class":188},[226,2230,2231],{},"Either a Promise of a type, or that type directly. Used to indicate that a method can by sync or\nasync.",[142,2233,2235],{"id":2234},"message",[155,2236,325],{},[165,2238,2240],{"className":167,"code":2239,"language":169,"meta":170,"style":170},"interface Message\u003CTProtocolMap extends Record\u003Cstring, any>, TType extends keyof TProtocolMap> {\n  id: number;\n  data: GetDataType\u003CTProtocolMap[TType]>;\n  type: TType;\n  timestamp: number;\n}\n",[155,2241,2242,2279,2290,2311,2322,2333],{"__ignoreMap":170},[174,2243,2244,2246,2248,2250,2252,2254,2256,2258,2260,2262,2264,2267,2269,2271,2273,2275,2277],{"class":176,"line":177},[174,2245,181],{"class":180},[174,2247,1698],{"class":184},[174,2249,401],{"class":188},[174,2251,404],{"class":184},[174,2253,368],{"class":180},[174,2255,409],{"class":184},[174,2257,401],{"class":188},[174,2259,414],{"class":184},[174,2261,417],{"class":188},[174,2263,420],{"class":184},[174,2265,2266],{"class":188},">,",[174,2268,1448],{"class":184},[174,2270,368],{"class":180},[174,2272,1421],{"class":188},[174,2274,1424],{"class":184},[174,2276,503],{"class":188},[174,2278,189],{"class":188},[174,2280,2281,2284,2286,2288],{"class":176,"line":192},[174,2282,2283],{"class":195},"  id",[174,2285,310],{"class":188},[174,2287,1313],{"class":184},[174,2289,205],{"class":188},[174,2291,2292,2295,2297,2299,2301,2303,2305,2307,2309],{"class":176,"line":208},[174,2293,2294],{"class":195},"  data",[174,2296,310],{"class":188},[174,2298,1463],{"class":184},[174,2300,401],{"class":188},[174,2302,404],{"class":184},[174,2304,1470],{"class":452},[174,2306,1416],{"class":184},[174,2308,1322],{"class":452},[174,2310,459],{"class":188},[174,2312,2313,2316,2318,2320],{"class":176,"line":221},[174,2314,2315],{"class":195},"  type",[174,2317,310],{"class":188},[174,2319,1448],{"class":184},[174,2321,205],{"class":188},[174,2323,2324,2327,2329,2331],{"class":176,"line":456},[174,2325,2326],{"class":195},"  timestamp",[174,2328,310],{"class":188},[174,2330,1313],{"class":184},[174,2332,205],{"class":188},[174,2334,2335],{"class":176,"line":665},[174,2336,224],{"class":188},[226,2338,2339],{},"Contains information about the message received.",[230,2341,233],{"id":2342},"properties-3",[235,2344,2345,2357,2371,2380],{},[238,2346,2347,2354,2356],{},[241,2348,2349],{},[244,2350,2351],{},[155,2352,2353],{},"id: number",[255,2355],{},"A semi-unique, auto-incrementing number used to trace messages being sent.",[238,2358,2359,2366,2368,2369],{},[241,2360,2361],{},[244,2362,2363],{},[155,2364,2365],{},"data: GetDataType\u003CTProtocolMap[TType]>",[255,2367],{},"The data that was passed into ",[155,2370,578],{},[238,2372,2373],{},[241,2374,2375],{},[244,2376,2377],{},[155,2378,2379],{},"type: TType",[238,2381,2382,2389,2391],{},[241,2383,2384],{},[244,2385,2386],{},[155,2387,2388],{},"timestamp: number",[255,2390],{},"The timestamp the message was sent in MS since epoch.",[142,2393,2395],{"id":2394},"namespacemessagingconfig",[155,2396,2397],{},"NamespaceMessagingConfig",[165,2399,2401],{"className":167,"code":2400,"language":169,"meta":170,"style":170},"interface NamespaceMessagingConfig extends BaseMessagingConfig {\n  namespace: string;\n}\n",[155,2402,2403,2415,2427],{"__ignoreMap":170},[174,2404,2405,2407,2409,2411,2413],{"class":176,"line":177},[174,2406,181],{"class":180},[174,2408,371],{"class":184},[174,2410,368],{"class":180},[174,2412,185],{"class":184},[174,2414,189],{"class":188},[174,2416,2417,2420,2422,2425],{"class":176,"line":192},[174,2418,2419],{"class":195},"  namespace",[174,2421,310],{"class":188},[174,2423,2424],{"class":184}," string",[174,2426,205],{"class":188},[174,2428,2429],{"class":176,"line":208},[174,2430,224],{"class":188},[230,2432,233],{"id":2433},"properties-4",[235,2435,2436],{},[238,2437,2438,2445,2447],{},[241,2439,2440],{},[244,2441,2442],{},[155,2443,2444],{},"namespace: string",[255,2446],{},"A string used to ensure the messenger only sends messages to and listens for messages from\nother messengers of the same type, with the same namespace.",[142,2449,2451],{"id":2450},"protocolwithreturn",[155,2452,1973],{},[226,2454,2455,2456,2460],{},":::danger Deprecated\nUse the function syntax instead:\n",[151,2457,2458],{"href":2458,"rel":2459},"https://webext-core.aklinker1.io/messaging/protocol-maps.html#syntax",[1186],"\n:::",[165,2462,2464],{"className":167,"code":2463,"language":169,"meta":170,"style":170},"interface ProtocolWithReturn\u003CTData, TReturn> {\n  BtVgCTPYZu: TData;\n  RrhVseLgZW: TReturn;\n}\n",[155,2465,2466,2486,2498,2509],{"__ignoreMap":170},[174,2467,2468,2470,2472,2474,2477,2479,2482,2484],{"class":176,"line":177},[174,2469,181],{"class":180},[174,2471,1930],{"class":184},[174,2473,401],{"class":188},[174,2475,2476],{"class":184},"TData",[174,2478,417],{"class":188},[174,2480,2481],{"class":184}," TReturn",[174,2483,503],{"class":188},[174,2485,189],{"class":188},[174,2487,2488,2491,2493,2496],{"class":176,"line":192},[174,2489,2490],{"class":195},"  BtVgCTPYZu",[174,2492,310],{"class":188},[174,2494,2495],{"class":184}," TData",[174,2497,205],{"class":188},[174,2499,2500,2503,2505,2507],{"class":176,"line":208},[174,2501,2502],{"class":195},"  RrhVseLgZW",[174,2504,310],{"class":188},[174,2506,2481],{"class":184},[174,2508,205],{"class":188},[174,2510,2511],{"class":176,"line":221},[174,2512,224],{"class":188},[226,2514,2515],{},"Used to add a return type to a message in the protocol map.",[2517,2518,2519],"blockquote",{},[226,2520,2521],{},"Internally, this is just an object with random keys for the data and return types.",[230,2523,233],{"id":2524},"properties-5",[235,2526,2527,2539],{},[238,2528,2529,2536,2538],{},[241,2530,2531],{},[244,2532,2533],{},[155,2534,2535],{},"BtVgCTPYZu: TData",[255,2537],{},"Stores the data type. Randomly named so that it isn't accidentally implemented.",[238,2540,2541,2548,2550],{},[241,2542,2543],{},[244,2544,2545],{},[155,2546,2547],{},"RrhVseLgZW: TReturn",[255,2549],{},"Stores the return type. Randomly named so that it isn't accidentally implemented.",[230,2552,583],{"id":2553},"examples-2",[165,2555,2557],{"className":167,"code":2556,"language":169,"meta":170,"style":170},"  interface ProtocolMap {\n    // data is a string, returns undefined\n    type1: string;\n    // data is a string, returns a number\n    type2: ProtocolWithReturn\u003Cstring, number>;\n  }\n",[155,2558,2559,2568,2573,2584,2589,2608],{"__ignoreMap":170},[174,2560,2561,2563,2566],{"class":176,"line":177},[174,2562,593],{"class":180},[174,2564,2565],{"class":184}," ProtocolMap",[174,2567,189],{"class":188},[174,2569,2570],{"class":176,"line":192},[174,2571,2572],{"class":550},"    // data is a string, returns undefined\n",[174,2574,2575,2578,2580,2582],{"class":176,"line":208},[174,2576,2577],{"class":195},"    type1",[174,2579,310],{"class":188},[174,2581,2424],{"class":184},[174,2583,205],{"class":188},[174,2585,2586],{"class":176,"line":221},[174,2587,2588],{"class":550},"    // data is a string, returns a number\n",[174,2590,2591,2594,2596,2598,2600,2602,2604,2606],{"class":176,"line":456},[174,2592,2593],{"class":195},"    type2",[174,2595,310],{"class":188},[174,2597,1930],{"class":184},[174,2599,401],{"class":188},[174,2601,414],{"class":184},[174,2603,417],{"class":188},[174,2605,1313],{"class":184},[174,2607,459],{"class":188},[174,2609,2610],{"class":176,"line":665},[174,2611,626],{"class":188},[142,2613,2615],{"id":2614},"removelistenercallback",[155,2616,2617],{},"RemoveListenerCallback",[165,2619,2621],{"className":167,"code":2620,"language":169,"meta":170,"style":170},"type RemoveListenerCallback = () => void;\n",[155,2622,2623],{"__ignoreMap":170},[174,2624,2625,2627,2629,2631,2634,2636,2638],{"class":176,"line":177},[174,2626,395],{"class":180},[174,2628,1756],{"class":184},[174,2630,426],{"class":188},[174,2632,2633],{"class":188}," ()",[174,2635,1863],{"class":180},[174,2637,619],{"class":184},[174,2639,205],{"class":188},[226,2641,2642],{},"Call to ensure an active listener has been removed.",[226,2644,2645,2646,2649],{},"If the listener has already been removed with ",[155,2647,2648],{},"Messenger.removeAllListeners",", this is a noop.",[142,2651,2653],{"id":2652},"sendmessageoptions",[155,2654,2655],{},"SendMessageOptions",[165,2657,2659],{"className":167,"code":2658,"language":169,"meta":170,"style":170},"interface SendMessageOptions {\n  tabId: number;\n  frameId?: number;\n}\n",[155,2660,2661,2669,2680,2691],{"__ignoreMap":170},[174,2662,2663,2665,2667],{"class":176,"line":177},[174,2664,181],{"class":180},[174,2666,1319],{"class":184},[174,2668,189],{"class":188},[174,2670,2671,2674,2676,2678],{"class":176,"line":192},[174,2672,2673],{"class":195},"  tabId",[174,2675,310],{"class":188},[174,2677,1313],{"class":184},[174,2679,205],{"class":188},[174,2681,2682,2685,2687,2689],{"class":176,"line":208},[174,2683,2684],{"class":195},"  frameId",[174,2686,199],{"class":188},[174,2688,1313],{"class":184},[174,2690,205],{"class":188},[174,2692,2693],{"class":176,"line":221},[174,2694,224],{"class":188},[226,2696,2697],{},"Options for sending a message to a specific tab/frame",[230,2699,233],{"id":2700},"properties-6",[235,2702,2703,2715],{},[238,2704,2705,2712,2714],{},[241,2706,2707],{},[244,2708,2709],{},[155,2710,2711],{},"tabId: number",[255,2713],{},"The tab to send a message to",[238,2716,2717,2724,2726],{},[241,2718,2719],{},[244,2720,2721],{},[155,2722,2723],{},"frameId?: number",[255,2725],{},"The frame to send a message to. 0 represents the main frame.",[142,2728,2730],{"id":2729},"windowmessagingconfig",[155,2731,2732],{},"WindowMessagingConfig",[165,2734,2736],{"className":167,"code":2735,"language":169,"meta":170,"style":170},"interface WindowMessagingConfig extends NamespaceMessagingConfig {}\n",[155,2737,2738],{"__ignoreMap":170},[174,2739,2740,2742,2744,2746,2748],{"class":176,"line":177},[174,2741,181],{"class":180},[174,2743,932],{"class":184},[174,2745,368],{"class":180},[174,2747,371],{"class":184},[174,2749,374],{"class":188},[226,2751,377,2752,330],{},[155,2753,879],{},[142,2755,2757],{"id":2756},"windowmessenger",[155,2758,963],{},[165,2760,2762],{"className":167,"code":2761,"language":169,"meta":170,"style":170},"type WindowMessenger\u003CTProtocolMap extends Record\u003Cstring, any>> = GenericMessenger\u003C\n  TProtocolMap,\n  {},\n  WindowSendMessageArgs\n>;\n",[155,2763,2764,2794,2800,2805,2810],{"__ignoreMap":170},[174,2765,2766,2768,2770,2772,2774,2776,2778,2780,2782,2784,2786,2788,2790,2792],{"class":176,"line":177},[174,2767,395],{"class":180},[174,2769,941],{"class":184},[174,2771,401],{"class":188},[174,2773,404],{"class":184},[174,2775,368],{"class":180},[174,2777,409],{"class":184},[174,2779,401],{"class":188},[174,2781,414],{"class":184},[174,2783,417],{"class":188},[174,2785,420],{"class":184},[174,2787,423],{"class":188},[174,2789,426],{"class":188},[174,2791,429],{"class":184},[174,2793,432],{"class":188},[174,2795,2796,2798],{"class":176,"line":192},[174,2797,437],{"class":184},[174,2799,440],{"class":188},[174,2801,2802],{"class":176,"line":208},[174,2803,2804],{"class":188},"  {},\n",[174,2806,2807],{"class":176,"line":221},[174,2808,2809],{"class":184},"  WindowSendMessageArgs\n",[174,2811,2812],{"class":176,"line":456},[174,2813,459],{"class":188},[142,2815,2817],{"id":2816},"windowsendmessageargs",[155,2818,2819],{},"WindowSendMessageArgs",[165,2821,2823],{"className":167,"code":2822,"language":169,"meta":170,"style":170},"type WindowSendMessageArgs = [targetOrigin?: string, targetWindow?: Window];\n",[155,2824,2825],{"__ignoreMap":170},[174,2826,2827,2829,2832,2834,2836,2839,2841,2843,2845,2848,2850,2853,2855],{"class":176,"line":177},[174,2828,395],{"class":180},[174,2830,2831],{"class":184}," WindowSendMessageArgs",[174,2833,426],{"class":188},[174,2835,1305],{"class":452},[174,2837,2838],{"class":184},"targetOrigin",[174,2840,199],{"class":188},[174,2842,2424],{"class":184},[174,2844,417],{"class":188},[174,2846,2847],{"class":184}," targetWindow",[174,2849,199],{"class":188},[174,2851,2852],{"class":184}," Window",[174,2854,1322],{"class":452},[174,2856,205],{"class":188},[226,2858,2859,2860,2862,2863,2865,2866,2868],{},"For a ",[155,2861,963],{},", ",[155,2864,578],{}," requires an additional argument, the ",[155,2867,2838],{},". It\ndefines which frames inside the page should receive the message.",[2517,2870,2871],{},[226,2872,2873,2874,2878],{},"See\n",[151,2875,2876],{"href":2876,"rel":2877},"https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage#targetorigin",[1186],"\nfor more details.",[226,2880,2881],{},"Message is posted on window which can as per your need like:",[235,2883,2884,2887,2890,2893],{},[238,2885,2886],{},"Parent window in iframe -> window.parent",[238,2888,2889],{},"Iframe content window -> iframe.contentWindow",[238,2891,2892],{},"Opener original window -> window.opener",[238,2894,2895],{},"By default global window is used to send message",[226,2897,2898,2900],{},[255,2899],{},[255,2901],{},[139,2903],{},[226,2905,2906],{},[241,2907,2908,2909],{},"API reference generated by ",[151,2910,2913],{"href":2911,"rel":2912},"https://github.com/aklinker1/webext-core/blob/main/docs/generate-api-references.ts",[1186],[155,2914,2915],{},"docs/generate-api-references.ts",[2917,2918,2919],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":170,"searchDepth":192,"depth":192,"links":2921},[2922,2923,2926,2929,2930,2931,2934,2935,2938,2941,2942,2943,2944,2945,2946,2947,2948,2949,2952,2955,2959,2960,2963,2964,2965],{"id":144,"depth":192,"text":145},{"id":160,"depth":192,"text":163,"children":2924},[2925],{"id":232,"depth":208,"text":233},{"id":285,"depth":192,"text":288,"children":2927},[2928],{"id":333,"depth":208,"text":233},{"id":350,"depth":192,"text":353},{"id":383,"depth":192,"text":329},{"id":468,"depth":192,"text":380,"children":2932},[2933],{"id":582,"depth":208,"text":583},{"id":774,"depth":192,"text":777},{"id":876,"depth":192,"text":879,"children":2936},[2937],{"id":977,"depth":208,"text":583},{"id":1119,"depth":192,"text":1122,"children":2939},[2940],{"id":1167,"depth":208,"text":233},{"id":1192,"depth":192,"text":1195},{"id":1219,"depth":192,"text":861},{"id":1285,"depth":192,"text":1288},{"id":1344,"depth":192,"text":1347},{"id":1817,"depth":192,"text":1820},{"id":1977,"depth":192,"text":1530},{"id":2081,"depth":192,"text":2084},{"id":2192,"depth":192,"text":2195},{"id":2234,"depth":192,"text":325,"children":2950},[2951],{"id":2342,"depth":208,"text":233},{"id":2394,"depth":192,"text":2397,"children":2953},[2954],{"id":2433,"depth":208,"text":233},{"id":2450,"depth":192,"text":1973,"children":2956},[2957,2958],{"id":2524,"depth":208,"text":233},{"id":2553,"depth":208,"text":583},{"id":2614,"depth":192,"text":2617},{"id":2652,"depth":192,"text":2655,"children":2961},[2962],{"id":2700,"depth":208,"text":233},{"id":2729,"depth":192,"text":2732},{"id":2756,"depth":192,"text":963},{"id":2816,"depth":192,"text":2819},"md",null,{},{"title":48,"description":170},"ayh4D_JwP7UC3NAeao0Hecew6REGa0_UUdlMNiBLMYM",[2972,2973],{"title":93,"path":94,"stem":95,"description":170,"children":-1},{"title":28,"path":105,"stem":106,"description":170,"children":-1},1779310885247]