webextension-store-meta
Version:
Get browser extension(webextension) item meta from Chrome Web Store, Firefox add-ons, and Microsoft Edge Add-ons.
126 lines (125 loc) • 3.82 kB
TypeScript
import type { RequestInit } from "undici";
export type { RequestInit };
export interface EdgeAddonsImage {
caption?: string;
imagePurpose?: string;
uri?: string;
[key: string]: unknown;
}
export interface EdgeAddonsPrivacyData {
privacyPolicyRequired?: boolean;
dataUsageList?: unknown[];
disclosureList?: unknown[];
[key: string]: unknown;
}
export interface EdgeAddonsMeta {
availability: string[] | null;
activeInstallCount: number | null;
storeProductId: string | null;
name: string | null;
logoUrl: string | null;
thumbnailUrl: string | null;
description: string | null;
developer: string | null;
category: string | null;
isInstalled: boolean | null;
crxId: string | null;
manifest: string | null;
isHavingMatureContent: boolean | null;
version: string | null;
lastUpdateDate: number | null;
privacyUrl: string | null;
availabilityId: string | null;
skuId: string | null;
locale: string | null;
market: string | null;
averageRating: number | null;
ratingCount: number | null;
availableLanguages: string[] | null;
metadata: Record<string, unknown> | null;
shortDescription: string | null;
searchKeywords: string | null;
screenshots: EdgeAddonsImage[] | null;
videos: EdgeAddonsImage[] | null;
largePromotionImage: EdgeAddonsImage | null;
publisherWebsiteUri: string | null;
isBadgedAsFeatured: boolean | null;
privacyData: EdgeAddonsPrivacyData | null;
url: string | null;
}
export interface EdgeAddonsOptions {
/**
* Microsoft Edge Add-ons extension ID
* @example "cnlefmmeadmemmdciolhbnfeacpdfbkd"
*/
id: string;
/**
* `undici.fetch` options
* @see {@link https://undici.nodejs.org/#/?id=undicifetchinput-init-promise}
*/
options?: RequestInit;
/**
* Query string
*/
qs?: Record<string, string> | string;
}
export declare class EdgeAddons {
id: string;
options?: RequestInit;
qs: string;
private _data;
private _dom;
private _url;
private _cache;
constructor({ id, options, qs }: EdgeAddonsOptions);
static load(options: EdgeAddonsOptions): Promise<EdgeAddons>;
load(): Promise<EdgeAddons>;
meta(): EdgeAddonsMeta;
availability(): string[] | null;
activeInstallCount(): number | null;
storeProductId(): string | null;
name(): string | null;
logoUrl(): string | null;
thumbnailUrl(): string | null;
description(): string | null;
developer(): string | null;
category(): string | null;
isInstalled(): boolean | null;
crxId(): string | null;
manifest(): string | null;
isHavingMatureContent(): boolean | null;
version(): string | null;
lastUpdateDate(): number | null;
privacyUrl(): string | null;
availabilityId(): string | null;
skuId(): string | null;
locale(): string | null;
market(): string | null;
averageRating(): number | null;
ratingCount(): number | null;
availableLanguages(): string[] | null;
metadata(): Record<string, unknown> | null;
shortDescription(): string | null;
searchKeywords(): string | null;
screenshots(): EdgeAddonsImage[] | null;
videos(): EdgeAddonsImage[] | null;
largePromotionImage(): EdgeAddonsImage | null;
publisherWebsiteUri(): string | null;
isBadgedAsFeatured(): boolean | null;
privacyData(): EdgeAddonsPrivacyData | null;
url(): string | null;
private get queryString();
private get detailUrl();
private _value;
private _string;
private _urlString;
private _number;
private _boolean;
private _array;
private _images;
private _object;
private _title;
private _parseMetaNumber;
private get dom();
}
export default EdgeAddons;