@d-najd/universal-media-tracker-sdk 0.3.4 → 0.3.6

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/Plugin.d.ts CHANGED
@@ -37,7 +37,7 @@ export default class Plugin {
37
37
  /**
38
38
  * Recommended version of defining screens since it has some tested defaults
39
39
  */
40
- defineScreenHandler(handler: CreateScreenHandler): string;
40
+ defineScreenHandler<S>(handler: CreateScreenHandler<S>): string;
41
41
  /**
42
42
  * Advanced version of defining screens, may lead to memory leaks if used misused
43
43
  */
package/dist/index.d.ts CHANGED
@@ -14,16 +14,11 @@ export { default as HandlerTypes } from './types/handler/base/HandlerTypes';
14
14
  export { default as Handler } from './types/handler/base/Handler';
15
15
  export { default as CreateHandler } from './types/handler/base/CreateHandler';
16
16
  export { default as BaseHandler } from './types/handler/base/BaseHandler';
17
+ export * from './types/handler/ui/screen/ZustandScreenStore';
17
18
  export { default as ScreenHandlerResponse } from './types/handler/ui/screen/ScreenHandlerResponse';
18
19
  export { default as ScreenHandlerArgs } from './types/handler/ui/screen/ScreenHandlerArgs';
19
20
  export { default as CreateScreenHandler } from './types/handler/ui/screen/CreateScreenHandler';
20
21
  export { default as CreateCustomScreenHandler } from './types/handler/ui/screen/CreateCustomScreenHandler';
21
- export { default as PluginSourceHandlerResponse } from './types/handler/plugin/source/PluginSourceHandlerResponse';
22
- export { default as PluginSourceHandlerArgs } from './types/handler/plugin/source/PluginSourceHandlerArgs';
23
- export { default as CreatePluginSourceHandler } from './types/handler/plugin/source/CreatePluginSourceHandler';
24
- export { default as PluginFactoryHandlerResponse } from './types/handler/plugin/factory/PluginFactoryHandlerResponse';
25
- export { default as PluginFactoryHandlerArgs } from './types/handler/plugin/factory/PluginFactoryHandlerArgs';
26
- export { default as CreatePluginFactoryHandler } from './types/handler/plugin/factory/CreatePluginFactoryHandler';
27
22
  export { default as MetaPreview } from './types/handler/media/catalog/MetaPreview';
28
23
  export { default as CreateCatalogHandler } from './types/handler/media/catalog/CreateCatalogHandler';
29
24
  export { default as CatalogHandlerResponse } from './types/handler/media/catalog/CatalogHandlerResponse';
@@ -31,3 +26,9 @@ export { default as CatalogHandlerArgs } from './types/handler/media/catalog/Cat
31
26
  export { default as ResourceBrowseOptionDefaults } from './types/handler/media/browse-option/ResourceBrowseOptionDefaults';
32
27
  export { default as ResourceBrowseOptionArgs } from './types/handler/media/browse-option/ResourceBrowseOptionArgs';
33
28
  export { default as ResourceBrowseOption } from './types/handler/media/browse-option/ResourceBrowseOption';
29
+ export { default as PluginSourceHandlerResponse } from './types/handler/plugin/source/PluginSourceHandlerResponse';
30
+ export { default as PluginSourceHandlerArgs } from './types/handler/plugin/source/PluginSourceHandlerArgs';
31
+ export { default as CreatePluginSourceHandler } from './types/handler/plugin/source/CreatePluginSourceHandler';
32
+ export { default as PluginFactoryHandlerResponse } from './types/handler/plugin/factory/PluginFactoryHandlerResponse';
33
+ export { default as PluginFactoryHandlerArgs } from './types/handler/plugin/factory/PluginFactoryHandlerArgs';
34
+ export { default as CreatePluginFactoryHandler } from './types/handler/plugin/factory/CreatePluginFactoryHandler';
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  // Auto‑generated barrel file – do not edit manually
2
2
  export { default as Plugin } from './Plugin';
3
+ export * from './types/handler/ui/screen/ZustandScreenStore';
@@ -1,4 +1,4 @@
1
1
  import MetaPreview from './MetaPreview';
2
2
  import ResourceHandlerResponse from '../ResourceHandlerResponse';
3
- type CatalogHandlerResponse = ResourceHandlerResponse<MetaPreview> & {};
3
+ type CatalogHandlerResponse<R extends MetaPreview = MetaPreview> = ResourceHandlerResponse<R> & {};
4
4
  export default CatalogHandlerResponse;
@@ -2,7 +2,8 @@ import BaseResourceHandler from '../BaseResourceHandler';
2
2
  import CatalogHandlerArgs from './CatalogHandlerArgs';
3
3
  import CatalogHandlerResponse from './CatalogHandlerResponse';
4
4
  import ResourceType from '../ResourceType';
5
- type CreateCatalogHandler = BaseResourceHandler<CatalogHandlerArgs, CatalogHandlerResponse> & {
5
+ import { MetaPreview } from "../../../../index";
6
+ type CreateCatalogHandler<R extends MetaPreview = MetaPreview> = BaseResourceHandler<CatalogHandlerArgs, CatalogHandlerResponse<R>> & {
6
7
  readonly resourceType: ResourceType | string;
7
8
  };
8
9
  export default CreateCatalogHandler;
@@ -10,5 +10,6 @@ type CreateCustomScreenHandler<S = any> = BaseHandler<ScreenHandlerArgs<S>, Scre
10
10
  * If undefined screen state won't be stored
11
11
  */
12
12
  readonly initialState?: S;
13
+ readonly test?: S;
13
14
  };
14
15
  export default CreateCustomScreenHandler;
@@ -1,7 +1,7 @@
1
- import { StoreApi, UseBoundStore } from 'zustand';
2
1
  import CreateCustomScreenHandler from './CreateCustomScreenHandler';
2
+ import { ZustandScreenStore } from "./ZustandScreenStore";
3
3
  /**
4
4
  * Uses zustand, react is also recommended
5
5
  */
6
- type CreateScreenHandler<S = any> = CreateCustomScreenHandler<UseBoundStore<StoreApi<S>>> & {};
6
+ type CreateScreenHandler<S = any> = CreateCustomScreenHandler<ZustandScreenStore<S>> & {};
7
7
  export default CreateScreenHandler;
@@ -0,0 +1,4 @@
1
+ type ScreenStore<T> = {
2
+ getState(): T;
3
+ setState(state: T): void;
4
+ };
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,3 @@
1
+ import { StoreApi, UseBoundStore } from "zustand";
2
+ export type ZustandScreenStore<S> = UseBoundStore<StoreApi<S>> & ScreenStore<S>;
3
+ export declare function createZustandScreenStore<S>(initial: S): ZustandScreenStore<S>;
@@ -0,0 +1,14 @@
1
+ import { create } from "zustand";
2
+ export function createZustandScreenStore(initial) {
3
+ const store = create(() => initial);
4
+ // Black magic
5
+ const hook = ((selector) => {
6
+ if (!selector)
7
+ return store.getState();
8
+ return selector(store.getState());
9
+ });
10
+ hook.getState = store.getState;
11
+ hook.setState = store.setState;
12
+ hook.subscribe = store.subscribe;
13
+ return hook;
14
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d-najd/universal-media-tracker-sdk",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [
@@ -27,6 +27,7 @@
27
27
  "typescript": "^5.9.3"
28
28
  },
29
29
  "dependencies": {
30
+ "react": "^19.2.4",
30
31
  "zustand": "^5.0.12"
31
32
  }
32
33
  }