@d-najd/universal-media-tracker-sdk 0.0.7 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +4 -58
- package/dist/index.js +66 -70
- package/dist/types/handler/base/baseHandlerArgs.d.ts +6 -0
- package/dist/types/handler/base/baseHandlerArgs.js +1 -0
- package/dist/types/handler/base/baseHandlerResponse.d.ts +4 -0
- package/dist/types/handler/base/baseHandlerResponse.js +1 -0
- package/dist/types/handler/base/handler.d.ts +6 -0
- package/dist/types/handler/base/handler.js +12 -0
- package/dist/types/handler/media/catalog/catalogHandlerArgs.d.ts +3 -0
- package/dist/types/handler/media/catalog/catalogHandlerArgs.js +1 -0
- package/dist/types/handler/media/catalog/catalogHandlerResponse.d.ts +4 -0
- package/dist/types/handler/media/catalog/catalogHandlerResponse.js +1 -0
- package/dist/types/handler/media/catalog/createCatalogHandler.d.ts +8 -0
- package/dist/types/handler/media/catalog/createCatalogHandler.js +1 -0
- package/dist/types/handler/media/catalog/metaPreview.d.ts +7 -0
- package/dist/types/handler/media/catalog/metaPreview.js +1 -0
- package/dist/types/handler/media/createResourceHandler.d.ts +8 -0
- package/dist/types/handler/media/createResourceHandler.js +1 -0
- package/dist/types/handler/media/resourceHandler.d.ts +14 -0
- package/dist/types/handler/media/resourceHandler.js +1 -0
- package/dist/types/handler/media/resourceHandlerType.d.ts +2 -0
- package/dist/types/handler/media/resourceHandlerType.js +1 -0
- package/dist/types/handler/media/resourceType.d.ts +2 -0
- package/dist/types/handler/media/resourceType.js +1 -0
- package/dist/types/pluginConfig.d.ts +6 -0
- package/dist/types/pluginConfig.js +1 -0
- package/dist/types/pluginSpec.d.ts +8 -0
- package/dist/types/pluginSpec.js +1 -0
- package/package.json +2 -4
- package/dist/index.cjs +0 -93
- package/dist/index.d.cts +0 -82
package/dist/index.d.ts
CHANGED
|
@@ -1,59 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
type BaseHandlerArgs = {
|
|
8
|
-
readonly search?: string;
|
|
9
|
-
readonly skip?: number;
|
|
10
|
-
readonly pageSize?: number;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
type BaseHandlerResponse<T = any> = {
|
|
14
|
-
readonly data: T[];
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
type Handler<T = any, R = any> = {
|
|
18
|
-
id: string;
|
|
19
|
-
type: string;
|
|
20
|
-
callback: (args: T) => Promise<R>;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
type ResourceHandlerType = 'catalog-request';
|
|
24
|
-
|
|
25
|
-
type ResourceType = 'movie' | 'series';
|
|
26
|
-
|
|
27
|
-
type ResourceHandler<T extends BaseHandlerArgs = BaseHandlerArgs, R extends BaseHandlerResponse = BaseHandlerResponse> = Handler<T, R> & {
|
|
28
|
-
/**
|
|
29
|
-
* Displayed in the app
|
|
30
|
-
*/
|
|
31
|
-
name: string;
|
|
32
|
-
type: ResourceHandlerType | string;
|
|
33
|
-
resourceType: ResourceType | string;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
type CreateResourceHandler<T extends BaseHandlerArgs = BaseHandlerArgs, R extends BaseHandlerResponse = BaseHandlerResponse> = Omit<ResourceHandler<T, R>, 'id' | 'name'> & {
|
|
37
|
-
id?: string;
|
|
38
|
-
name?: string;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
type CatalogHandlerArgs = BaseHandlerArgs & {};
|
|
42
|
-
|
|
43
|
-
type MetaPreview = {
|
|
44
|
-
readonly id: string;
|
|
45
|
-
readonly type: string;
|
|
46
|
-
readonly name: string;
|
|
47
|
-
readonly poster: string;
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
type CatalogHandlerResponse = BaseHandlerResponse<MetaPreview> & {};
|
|
51
|
-
|
|
52
|
-
type CreateCatalogHandler = Omit<CreateResourceHandler<CatalogHandlerArgs, CatalogHandlerResponse>, 'type'> & {
|
|
53
|
-
type?: ResourceHandlerType | string;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
declare class Plugin {
|
|
1
|
+
import PluginConfig from "./types/pluginConfig";
|
|
2
|
+
import CreateResourceHandler from "./types/handler/media/createResourceHandler";
|
|
3
|
+
import CreateCatalogHandler from "./types/handler/media/catalog/createCatalogHandler";
|
|
4
|
+
export default class Plugin {
|
|
57
5
|
readonly config: PluginConfig;
|
|
58
6
|
private handlers;
|
|
59
7
|
private counter;
|
|
@@ -78,5 +26,3 @@ declare class Plugin {
|
|
|
78
26
|
private onLoadCallback;
|
|
79
27
|
private onUnloadCallback;
|
|
80
28
|
}
|
|
81
|
-
|
|
82
|
-
export { Plugin as default };
|
package/dist/index.js
CHANGED
|
@@ -1,72 +1,68 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
onUnload(callback) {
|
|
20
|
-
this.onUnloadCallback = async () => {
|
|
21
|
-
await callback();
|
|
22
|
-
this.loaded = false;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* @see Handler
|
|
27
|
-
*/
|
|
28
|
-
defineResourceHandler(handler) {
|
|
29
|
-
const newHandler = {
|
|
30
|
-
id: `${this.config.id}-custom-${this.counter++}`,
|
|
31
|
-
name: `${this.config.name}`,
|
|
32
|
-
...handler
|
|
33
|
-
};
|
|
34
|
-
this.handlers.set(newHandler.id, newHandler);
|
|
35
|
-
return newHandler.id;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Defines or overrides if a catalog handler has already been defined, if
|
|
39
|
-
* you use multiple catalog handlers use `defineMediaHandler` instead
|
|
40
|
-
* @see defineResourceHandler
|
|
41
|
-
*/
|
|
42
|
-
defineCatalogHandler(handler) {
|
|
43
|
-
const newHandler = {
|
|
44
|
-
id: `${this.config.id}-catalog-handler`,
|
|
45
|
-
...handler,
|
|
46
|
-
type: "catalog-request"
|
|
47
|
-
};
|
|
48
|
-
return this.defineResourceHandler(newHandler);
|
|
49
|
-
}
|
|
50
|
-
// Used internally, private since its internal api
|
|
51
|
-
// noinspection JSUnusedLocalSymbols
|
|
52
|
-
getSpec() {
|
|
53
|
-
if (!this.loaded) {
|
|
54
|
-
throw Error("The plugin must be loaded before getting it's spec");
|
|
1
|
+
export default class Plugin {
|
|
2
|
+
config;
|
|
3
|
+
handlers = new Map();
|
|
4
|
+
counter = 0;
|
|
5
|
+
loaded = false;
|
|
6
|
+
constructor(options) {
|
|
7
|
+
this.config = options;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Don't define handlers here, they are part of the spec
|
|
11
|
+
*/
|
|
12
|
+
onLoad(callback) {
|
|
13
|
+
this.onLoadCallback = async () => {
|
|
14
|
+
await callback();
|
|
15
|
+
this.loaded = true;
|
|
16
|
+
};
|
|
55
17
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
18
|
+
onUnload(callback) {
|
|
19
|
+
this.onUnloadCallback = async () => {
|
|
20
|
+
await callback();
|
|
21
|
+
this.loaded = false;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @see Handler
|
|
26
|
+
*/
|
|
27
|
+
defineResourceHandler(handler) {
|
|
28
|
+
const newHandler = {
|
|
29
|
+
id: `${this.config.id}-custom-${this.counter++}`,
|
|
30
|
+
name: `${this.config.name}`,
|
|
31
|
+
...handler
|
|
32
|
+
};
|
|
33
|
+
this.handlers.set(newHandler.id, newHandler);
|
|
34
|
+
return newHandler.id;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Defines or overrides if a catalog handler has already been defined, if
|
|
38
|
+
* you use multiple catalog handlers use `defineMediaHandler` instead
|
|
39
|
+
* @see defineResourceHandler
|
|
40
|
+
*/
|
|
41
|
+
defineCatalogHandler(handler) {
|
|
42
|
+
const newHandler = {
|
|
43
|
+
id: `${this.config.id}-catalog-handler`,
|
|
44
|
+
...handler,
|
|
45
|
+
type: 'catalog-request'
|
|
46
|
+
};
|
|
47
|
+
return this.defineResourceHandler(newHandler);
|
|
48
|
+
}
|
|
49
|
+
// Used internally, private since its internal api
|
|
50
|
+
// noinspection JSUnusedLocalSymbols
|
|
51
|
+
getSpec() {
|
|
52
|
+
if (!this.loaded) {
|
|
53
|
+
throw Error("The plugin must be loaded before getting it's spec");
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
config: this.config,
|
|
57
|
+
handlers: this.handlers,
|
|
58
|
+
onLoad: this.onLoadCallback,
|
|
59
|
+
onUnload: this.onUnloadCallback
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
onLoadCallback = async () => {
|
|
63
|
+
this.loaded = true;
|
|
64
|
+
};
|
|
65
|
+
onUnloadCallback = async () => {
|
|
66
|
+
this.loaded = false;
|
|
61
67
|
};
|
|
62
|
-
|
|
63
|
-
onLoadCallback = async () => {
|
|
64
|
-
this.loaded = true;
|
|
65
|
-
};
|
|
66
|
-
onUnloadCallback = async () => {
|
|
67
|
-
this.loaded = false;
|
|
68
|
-
};
|
|
69
|
-
};
|
|
70
|
-
export {
|
|
71
|
-
Plugin as default
|
|
72
|
-
};
|
|
68
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Represents a plugin handler.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* - `type` can be a predefined `MediaHandlerTypes` value or any custom string.
|
|
6
|
+
* Custom types must be handled by the plugin author.
|
|
7
|
+
* - `id` is a unique identifier for the handler. If a handler with the same
|
|
8
|
+
* id exists, it will be overridden.
|
|
9
|
+
* - `name` name of the handler that will be displayed in the app
|
|
10
|
+
* - `callback` callback function that is called when the handler is invoked
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import CreateResourceHandler from "../createResourceHandler";
|
|
2
|
+
import CatalogHandlerArgs from "./catalogHandlerArgs";
|
|
3
|
+
import CatalogHandlerResponse from "./catalogHandlerResponse";
|
|
4
|
+
import ResourceHandlerType from "../resourceHandlerType";
|
|
5
|
+
type CreateCatalogHandler = Omit<CreateResourceHandler<CatalogHandlerArgs, CatalogHandlerResponse>, 'type'> & {
|
|
6
|
+
type?: ResourceHandlerType | string;
|
|
7
|
+
};
|
|
8
|
+
export default CreateCatalogHandler;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import BaseHandlerArgs from "../base/baseHandlerArgs";
|
|
2
|
+
import BaseHandlerResponse from "../base/baseHandlerResponse";
|
|
3
|
+
import ResourceHandler from "./resourceHandler";
|
|
4
|
+
type CreateResourceHandler<T extends BaseHandlerArgs = BaseHandlerArgs, R extends BaseHandlerResponse = BaseHandlerResponse> = Omit<ResourceHandler<T, R>, 'id' | 'name'> & {
|
|
5
|
+
id?: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
};
|
|
8
|
+
export default CreateResourceHandler;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import BaseHandlerArgs from "../base/baseHandlerArgs";
|
|
2
|
+
import BaseHandlerResponse from "../base/baseHandlerResponse";
|
|
3
|
+
import Handler from "../base/handler";
|
|
4
|
+
import ResourceHandlerType from "./resourceHandlerType";
|
|
5
|
+
import ResourceType from "./resourceType";
|
|
6
|
+
type ResourceHandler<T extends BaseHandlerArgs = BaseHandlerArgs, R extends BaseHandlerResponse = BaseHandlerResponse> = Handler<T, R> & {
|
|
7
|
+
/**
|
|
8
|
+
* Displayed in the app
|
|
9
|
+
*/
|
|
10
|
+
name: string;
|
|
11
|
+
type: ResourceHandlerType | string;
|
|
12
|
+
resourceType: ResourceType | string;
|
|
13
|
+
};
|
|
14
|
+
export default ResourceHandler;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import PluginConfig from "./pluginConfig";
|
|
2
|
+
import Handler from "./handler/base/handler";
|
|
3
|
+
export default interface PluginSpec {
|
|
4
|
+
readonly config: PluginConfig;
|
|
5
|
+
readonly onLoad: () => Promise<void>;
|
|
6
|
+
readonly onUnload: () => Promise<void>;
|
|
7
|
+
readonly handlers: Map<string, Handler>;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@d-najd/universal-media-tracker-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
|
-
"module": "dist/index.mjs",
|
|
6
5
|
"types": "dist/types/index.d.ts",
|
|
7
6
|
"files": [
|
|
8
7
|
"dist"
|
|
9
8
|
],
|
|
10
9
|
"scripts": {
|
|
11
|
-
"build": "
|
|
10
|
+
"build": "tsc"
|
|
12
11
|
},
|
|
13
12
|
"license": "MIT",
|
|
14
13
|
"type": "module",
|
|
15
14
|
"devDependencies": {
|
|
16
|
-
"tsup": "^8.5.1",
|
|
17
15
|
"typescript": "^5.9.3"
|
|
18
16
|
}
|
|
19
17
|
}
|
package/dist/index.cjs
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/index.ts
|
|
21
|
-
var index_exports = {};
|
|
22
|
-
__export(index_exports, {
|
|
23
|
-
default: () => Plugin
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(index_exports);
|
|
26
|
-
var Plugin = class {
|
|
27
|
-
config;
|
|
28
|
-
handlers = /* @__PURE__ */ new Map();
|
|
29
|
-
counter = 0;
|
|
30
|
-
loaded = false;
|
|
31
|
-
constructor(options) {
|
|
32
|
-
this.config = options;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Don't define handlers here, they are part of the spec
|
|
36
|
-
*/
|
|
37
|
-
onLoad(callback) {
|
|
38
|
-
this.onLoadCallback = async () => {
|
|
39
|
-
await callback();
|
|
40
|
-
this.loaded = true;
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
onUnload(callback) {
|
|
44
|
-
this.onUnloadCallback = async () => {
|
|
45
|
-
await callback();
|
|
46
|
-
this.loaded = false;
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* @see Handler
|
|
51
|
-
*/
|
|
52
|
-
defineResourceHandler(handler) {
|
|
53
|
-
const newHandler = {
|
|
54
|
-
id: `${this.config.id}-custom-${this.counter++}`,
|
|
55
|
-
name: `${this.config.name}`,
|
|
56
|
-
...handler
|
|
57
|
-
};
|
|
58
|
-
this.handlers.set(newHandler.id, newHandler);
|
|
59
|
-
return newHandler.id;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Defines or overrides if a catalog handler has already been defined, if
|
|
63
|
-
* you use multiple catalog handlers use `defineMediaHandler` instead
|
|
64
|
-
* @see defineResourceHandler
|
|
65
|
-
*/
|
|
66
|
-
defineCatalogHandler(handler) {
|
|
67
|
-
const newHandler = {
|
|
68
|
-
id: `${this.config.id}-catalog-handler`,
|
|
69
|
-
...handler,
|
|
70
|
-
type: "catalog-request"
|
|
71
|
-
};
|
|
72
|
-
return this.defineResourceHandler(newHandler);
|
|
73
|
-
}
|
|
74
|
-
// Used internally, private since its internal api
|
|
75
|
-
// noinspection JSUnusedLocalSymbols
|
|
76
|
-
getSpec() {
|
|
77
|
-
if (!this.loaded) {
|
|
78
|
-
throw Error("The plugin must be loaded before getting it's spec");
|
|
79
|
-
}
|
|
80
|
-
return {
|
|
81
|
-
config: this.config,
|
|
82
|
-
handlers: this.handlers,
|
|
83
|
-
onLoad: this.onLoadCallback,
|
|
84
|
-
onUnload: this.onUnloadCallback
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
onLoadCallback = async () => {
|
|
88
|
-
this.loaded = true;
|
|
89
|
-
};
|
|
90
|
-
onUnloadCallback = async () => {
|
|
91
|
-
this.loaded = false;
|
|
92
|
-
};
|
|
93
|
-
};
|
package/dist/index.d.cts
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
type PluginConfig = {
|
|
2
|
-
readonly id: string;
|
|
3
|
-
readonly name: string;
|
|
4
|
-
readonly version: string;
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
type BaseHandlerArgs = {
|
|
8
|
-
readonly search?: string;
|
|
9
|
-
readonly skip?: number;
|
|
10
|
-
readonly pageSize?: number;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
type BaseHandlerResponse<T = any> = {
|
|
14
|
-
readonly data: T[];
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
type Handler<T = any, R = any> = {
|
|
18
|
-
id: string;
|
|
19
|
-
type: string;
|
|
20
|
-
callback: (args: T) => Promise<R>;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
type ResourceHandlerType = 'catalog-request';
|
|
24
|
-
|
|
25
|
-
type ResourceType = 'movie' | 'series';
|
|
26
|
-
|
|
27
|
-
type ResourceHandler<T extends BaseHandlerArgs = BaseHandlerArgs, R extends BaseHandlerResponse = BaseHandlerResponse> = Handler<T, R> & {
|
|
28
|
-
/**
|
|
29
|
-
* Displayed in the app
|
|
30
|
-
*/
|
|
31
|
-
name: string;
|
|
32
|
-
type: ResourceHandlerType | string;
|
|
33
|
-
resourceType: ResourceType | string;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
type CreateResourceHandler<T extends BaseHandlerArgs = BaseHandlerArgs, R extends BaseHandlerResponse = BaseHandlerResponse> = Omit<ResourceHandler<T, R>, 'id' | 'name'> & {
|
|
37
|
-
id?: string;
|
|
38
|
-
name?: string;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
type CatalogHandlerArgs = BaseHandlerArgs & {};
|
|
42
|
-
|
|
43
|
-
type MetaPreview = {
|
|
44
|
-
readonly id: string;
|
|
45
|
-
readonly type: string;
|
|
46
|
-
readonly name: string;
|
|
47
|
-
readonly poster: string;
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
type CatalogHandlerResponse = BaseHandlerResponse<MetaPreview> & {};
|
|
51
|
-
|
|
52
|
-
type CreateCatalogHandler = Omit<CreateResourceHandler<CatalogHandlerArgs, CatalogHandlerResponse>, 'type'> & {
|
|
53
|
-
type?: ResourceHandlerType | string;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
declare class Plugin {
|
|
57
|
-
readonly config: PluginConfig;
|
|
58
|
-
private handlers;
|
|
59
|
-
private counter;
|
|
60
|
-
private loaded;
|
|
61
|
-
constructor(options: PluginConfig);
|
|
62
|
-
/**
|
|
63
|
-
* Don't define handlers here, they are part of the spec
|
|
64
|
-
*/
|
|
65
|
-
onLoad(callback: () => Promise<void>): void;
|
|
66
|
-
onUnload(callback: () => Promise<void>): void;
|
|
67
|
-
/**
|
|
68
|
-
* @see Handler
|
|
69
|
-
*/
|
|
70
|
-
defineResourceHandler(handler: CreateResourceHandler): string;
|
|
71
|
-
/**
|
|
72
|
-
* Defines or overrides if a catalog handler has already been defined, if
|
|
73
|
-
* you use multiple catalog handlers use `defineMediaHandler` instead
|
|
74
|
-
* @see defineResourceHandler
|
|
75
|
-
*/
|
|
76
|
-
defineCatalogHandler(handler: CreateCatalogHandler): string;
|
|
77
|
-
private getSpec;
|
|
78
|
-
private onLoadCallback;
|
|
79
|
-
private onUnloadCallback;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
export { Plugin as default };
|