add firefox extension template

This commit is contained in:
2025-08-07 16:03:16 -05:00
parent 6cbb29fed1
commit 5df289ffcb
586 changed files with 13636 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
package webextension_polyfill.storage;
typedef LocalStorageArea = {
/**
The maximum amount (in bytes) of data that can be stored in local storage, as measured by the JSON stringification of
every value plus every key's length. This value will be ignored if the extension has the <code>unlimitedStorage</code>
permission. Updates that would cause this limit to be exceeded fail immediately and set $(ref:runtime.lastError).
**/
var QUOTA_BYTES : Int;
/**
Gets one or more items from storage.
**/
function get(?keys:ts.AnyOf3<String, Array<String>, haxe.DynamicAccess<Dynamic>>):js.lib.Promise<haxe.DynamicAccess<Dynamic>>;
/**
Sets multiple items.
**/
function set(items:haxe.DynamicAccess<Dynamic>):js.lib.Promise<ts.Undefined>;
/**
Removes one or more items from storage.
**/
function remove(keys:ts.AnyOf2<String, Array<String>>):js.lib.Promise<ts.Undefined>;
/**
Removes all items from storage.
**/
function clear():js.lib.Promise<ts.Undefined>;
/**
Fired when one or more items change.
**/
var onChanged : webextension_polyfill.events.Event<(changes:StorageAreaOnChangedChangesType) -> Void>;
};

View File

@@ -0,0 +1,28 @@
package webextension_polyfill.storage;
typedef ManagedStorageArea = {
/**
The maximum size (in bytes) of the managed storage JSON manifest file. Files larger than this limit will fail to load.
**/
var QUOTA_BYTES : Int;
/**
Gets one or more items from storage.
**/
function get(?keys:ts.AnyOf3<String, Array<String>, haxe.DynamicAccess<Dynamic>>):js.lib.Promise<haxe.DynamicAccess<Dynamic>>;
/**
Sets multiple items.
**/
function set(items:haxe.DynamicAccess<Dynamic>):js.lib.Promise<ts.Undefined>;
/**
Removes one or more items from storage.
**/
function remove(keys:ts.AnyOf2<String, Array<String>>):js.lib.Promise<ts.Undefined>;
/**
Removes all items from storage.
**/
function clear():js.lib.Promise<ts.Undefined>;
/**
Fired when one or more items change.
**/
var onChanged : webextension_polyfill.events.Event<(changes:StorageAreaOnChangedChangesType) -> Void>;
};

View File

@@ -0,0 +1,16 @@
package webextension_polyfill.storage;
typedef Static = {
/**
Fired when one or more items change.
**/
var onChanged : webextension_polyfill.events.Event<(changes:haxe.DynamicAccess<StorageChange>, areaName:String) -> Void>;
var sync : SyncStorageAreaSync;
var local : LocalStorageArea;
var managed : ManagedStorageArea;
/**
Items in the <code>session</code> storage area are kept in memory, and only until the either browser or extension is
closed or reloaded.
**/
var session : StorageArea;
};

View File

@@ -0,0 +1,24 @@
package webextension_polyfill.storage;
typedef StorageArea = {
/**
Gets one or more items from storage.
**/
function get(?keys:ts.AnyOf3<String, Array<String>, haxe.DynamicAccess<Dynamic>>):js.lib.Promise<haxe.DynamicAccess<Dynamic>>;
/**
Sets multiple items.
**/
function set(items:haxe.DynamicAccess<Dynamic>):js.lib.Promise<ts.Undefined>;
/**
Removes one or more items from storage.
**/
function remove(keys:ts.AnyOf2<String, Array<String>>):js.lib.Promise<ts.Undefined>;
/**
Removes all items from storage.
**/
function clear():js.lib.Promise<ts.Undefined>;
/**
Fired when one or more items change.
**/
var onChanged : webextension_polyfill.events.Event<(changes:StorageAreaOnChangedChangesType) -> Void>;
};

View File

@@ -0,0 +1,6 @@
package webextension_polyfill.storage;
/**
Object mapping each key that changed to its corresponding $(ref:storage.StorageChange) for that item.
**/
typedef StorageAreaOnChangedChangesType = { };

View File

@@ -0,0 +1,28 @@
package webextension_polyfill.storage;
typedef StorageAreaSync = {
/**
Gets one or more items from storage.
**/
function get(?keys:ts.AnyOf3<String, Array<String>, haxe.DynamicAccess<Dynamic>>):js.lib.Promise<haxe.DynamicAccess<Dynamic>>;
/**
Gets the amount of space (in bytes) being used by one or more items.
**/
function getBytesInUse(?keys:ts.AnyOf2<String, Array<String>>):js.lib.Promise<Float>;
/**
Sets multiple items.
**/
function set(items:haxe.DynamicAccess<Dynamic>):js.lib.Promise<ts.Undefined>;
/**
Removes one or more items from storage.
**/
function remove(keys:ts.AnyOf2<String, Array<String>>):js.lib.Promise<ts.Undefined>;
/**
Removes all items from storage.
**/
function clear():js.lib.Promise<ts.Undefined>;
/**
Fired when one or more items change.
**/
var onChanged : webextension_polyfill.events.Event<(changes:StorageAreaSyncOnChangedChangesType) -> Void>;
};

View File

@@ -0,0 +1,6 @@
package webextension_polyfill.storage;
/**
Object mapping each key that changed to its corresponding $(ref:storage.StorageChange) for that item.
**/
typedef StorageAreaSyncOnChangedChangesType = { };

View File

@@ -0,0 +1,16 @@
package webextension_polyfill.storage;
typedef StorageChange = {
/**
The old value of the item, if there was an old value.
Optional.
**/
@:optional
var oldValue : Dynamic;
/**
The new value of the item, if there is a new value.
Optional.
**/
@:optional
var newValue : Dynamic;
};

View File

@@ -0,0 +1,59 @@
package webextension_polyfill.storage;
typedef SyncStorageAreaSync = {
/**
The maximum total amount (in bytes) of data that can be stored in sync storage, as measured by the JSON stringification
of every value plus every key's length. Updates that would cause this limit to be exceeded fail immediately and set
$(ref:runtime.lastError).
**/
var QUOTA_BYTES : Int;
/**
The maximum size (in bytes) of each individual item in sync storage, as measured by the JSON stringification of its
value plus its key length. Updates containing items larger than this limit will fail immediately and set $(ref:runtime.
lastError).
**/
var QUOTA_BYTES_PER_ITEM : Int;
/**
The maximum number of items that can be stored in sync storage. Updates that would cause this limit to be exceeded will
fail immediately and set $(ref:runtime.lastError).
**/
var MAX_ITEMS : Int;
/**
<p>The maximum number of <code>set</code>, <code>remove</code>, or <code>clear</code>
operations that can be performed each hour. This is 1 every 2 seconds, a lower ceiling than the short term higher
writes-per-minute limit.</p><p>Updates that would cause this limit to be exceeded fail immediately and set $(ref:runtime.
lastError).</p>
**/
var MAX_WRITE_OPERATIONS_PER_HOUR : Int;
/**
<p>The maximum number of <code>set</code>, <code>remove</code>, or <code>clear</code>
operations that can be performed each minute. This is 2 per second, providing higher throughput than writes-per-hour
over a shorter period of time.</p><p>Updates that would cause this limit to be exceeded fail immediately and set
$(ref:runtime.lastError).</p>
**/
var MAX_WRITE_OPERATIONS_PER_MINUTE : Int;
/**
Gets one or more items from storage.
**/
function get(?keys:ts.AnyOf3<String, Array<String>, haxe.DynamicAccess<Dynamic>>):js.lib.Promise<haxe.DynamicAccess<Dynamic>>;
/**
Gets the amount of space (in bytes) being used by one or more items.
**/
function getBytesInUse(?keys:ts.AnyOf2<String, Array<String>>):js.lib.Promise<Float>;
/**
Sets multiple items.
**/
function set(items:haxe.DynamicAccess<Dynamic>):js.lib.Promise<ts.Undefined>;
/**
Removes one or more items from storage.
**/
function remove(keys:ts.AnyOf2<String, Array<String>>):js.lib.Promise<ts.Undefined>;
/**
Removes all items from storage.
**/
function clear():js.lib.Promise<ts.Undefined>;
/**
Fired when one or more items change.
**/
var onChanged : webextension_polyfill.events.Event<(changes:StorageAreaSyncOnChangedChangesType) -> Void>;
};