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