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