@vnejs/contracts.scales 0.1.1

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.
@@ -0,0 +1,2 @@
1
+ export declare const CONSTANTS: {};
2
+ export type Constants = typeof CONSTANTS;
package/dist/const.js ADDED
@@ -0,0 +1 @@
1
+ export const CONSTANTS = {};
@@ -0,0 +1,12 @@
1
+ export declare const SUBSCRIBE_EVENTS: {
2
+ readonly SPAWN: "vne:scales:spawn";
3
+ readonly DESTROY: "vne:scales:destroy";
4
+ readonly SET: "vne:scales:set";
5
+ readonly RESET: "vne:scales:reset";
6
+ readonly CHANGE: "vne:scales:change";
7
+ readonly CHANGED: "vne:scales:changed";
8
+ readonly CHECK: "vne:scales:check";
9
+ readonly OVERFLOW: "vne:scales:overflow";
10
+ readonly UNDERFLOW: "vne:scales:underflow";
11
+ };
12
+ export type SubscribeEvents = typeof SUBSCRIBE_EVENTS;
package/dist/events.js ADDED
@@ -0,0 +1,11 @@
1
+ export const SUBSCRIBE_EVENTS = {
2
+ SPAWN: "vne:scales:spawn",
3
+ DESTROY: "vne:scales:destroy",
4
+ SET: "vne:scales:set",
5
+ RESET: "vne:scales:reset",
6
+ CHANGE: "vne:scales:change",
7
+ CHANGED: "vne:scales:changed",
8
+ CHECK: "vne:scales:check",
9
+ OVERFLOW: "vne:scales:overflow",
10
+ UNDERFLOW: "vne:scales:underflow",
11
+ };
@@ -0,0 +1,54 @@
1
+ import "@vnejs/module";
2
+ import "@vnejs/shared";
3
+ import { CONSTANTS } from "./const.js";
4
+ import { SUBSCRIBE_EVENTS } from "./events.js";
5
+ import type { ModuleGlobalStateScales, ScaleEntry } from "./module-global-state.js";
6
+ import { PARAMS } from "./params.js";
7
+ export declare const PLUGIN_NAME: "SCALES";
8
+ export type PluginName = typeof PLUGIN_NAME;
9
+ export { CONSTANTS } from "./const.js";
10
+ export type { Constants } from "./const.js";
11
+ export { SUBSCRIBE_EVENTS };
12
+ export type { SubscribeEvents } from "./events.js";
13
+ export { getScaleKey } from "./keys.js";
14
+ export type { ScaleType } from "./keys.js";
15
+ export type { ModuleGlobalStateScales, ScaleEntry } from "./module-global-state.js";
16
+ export { PARAMS, TYPES, ENTITIES } from "./params.js";
17
+ export type { Params } from "./params.js";
18
+ export type { ScaleTypes, ScaleEntities } from "./params.js";
19
+ export type ScaleState = ScaleEntry;
20
+ declare module "@vnejs/module" {
21
+ interface ModuleGlobalState {
22
+ scales: ModuleGlobalStateScales;
23
+ }
24
+ }
25
+ export type ScalesKeyPayload = {
26
+ key?: string;
27
+ };
28
+ export type ScalesSpawnPayload = ScalesKeyPayload & ScaleState;
29
+ export type ScalesChangePayload = ScalesKeyPayload & {
30
+ shift?: number;
31
+ };
32
+ export type ScalesSetPayload = ScalesKeyPayload & {
33
+ value?: number;
34
+ };
35
+ export type ScalesChangedPayload = ScalesKeyPayload & {
36
+ value?: number;
37
+ type?: string;
38
+ };
39
+ export type ScalesCheckPayload = ScalesKeyPayload & {
40
+ value?: number;
41
+ };
42
+ export type ScalesDestroyPayload = ScalesKeyPayload;
43
+ export type ScalesBoundaryPayload = ScalesKeyPayload & {
44
+ value?: number;
45
+ type?: string;
46
+ };
47
+ declare module "@vnejs/shared" {
48
+ interface VnePluginEventsMap extends Record<typeof PLUGIN_NAME, typeof SUBSCRIBE_EVENTS> {
49
+ }
50
+ interface VnePluginConstantsMap extends Record<typeof PLUGIN_NAME, typeof CONSTANTS> {
51
+ }
52
+ interface VnePluginParamsMap extends Record<typeof PLUGIN_NAME, typeof PARAMS> {
53
+ }
54
+ }
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ import "@vnejs/module";
2
+ import "@vnejs/shared";
3
+ import { SUBSCRIBE_EVENTS } from "./events.js";
4
+ export const PLUGIN_NAME = "SCALES";
5
+ export { CONSTANTS } from "./const.js";
6
+ export { SUBSCRIBE_EVENTS };
7
+ export { getScaleKey } from "./keys.js";
8
+ export { PARAMS, TYPES, ENTITIES } from "./params.js";
package/dist/keys.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import type { ScaleEntry } from "./module-global-state.js";
2
+ import type { ScaleTypes } from "./params.js";
3
+ type ScaleTypeKeys = keyof ScaleTypes;
4
+ export type ScaleType = [ScaleTypeKeys] extends [never] ? ScaleEntry["type"] : ScaleTypes[ScaleTypeKeys];
5
+ export declare const getScaleKey: (entityType: string, entityId: string, scaleType: ScaleType) => string;
6
+ export {};
package/dist/keys.js ADDED
@@ -0,0 +1 @@
1
+ export const getScaleKey = (entityType, entityId, scaleType) => `${entityType}:${entityId}:${scaleType}`;
@@ -0,0 +1,6 @@
1
+ export type ScaleEntry = {
2
+ type: string;
3
+ current: number;
4
+ max: number;
5
+ };
6
+ export type ModuleGlobalStateScales = Record<string, ScaleEntry>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { Widen } from "@vnejs/shared";
2
+ export interface ScaleTypes {
3
+ }
4
+ export interface ScaleEntities {
5
+ }
6
+ export declare const TYPES: ScaleTypes;
7
+ export declare const ENTITIES: ScaleEntities;
8
+ declare const PARAMS_DEFAULT: {
9
+ TYPES: ScaleTypes;
10
+ ENTITIES: ScaleEntities;
11
+ };
12
+ export type Params = Widen<typeof PARAMS_DEFAULT>;
13
+ export declare const PARAMS: Params;
14
+ export {};
package/dist/params.js ADDED
@@ -0,0 +1,7 @@
1
+ export const TYPES = {};
2
+ export const ENTITIES = {};
3
+ const PARAMS_DEFAULT = {
4
+ TYPES,
5
+ ENTITIES,
6
+ };
7
+ export const PARAMS = PARAMS_DEFAULT;
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@vnejs/contracts.scales",
3
+ "version": "0.1.1",
4
+ "description": "Contracts for @vnejs/plugins.scales",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js",
11
+ "require": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "src",
18
+ "tsconfig.json"
19
+ ],
20
+ "scripts": {
21
+ "build": "npx @vnejs/monorepo package",
22
+ "publish:major": "npx @vnejs/monorepo publish major --access public",
23
+ "publish:minor": "npx @vnejs/monorepo publish minor --access public",
24
+ "publish:patch": "npx @vnejs/monorepo publish patch --access public"
25
+ },
26
+ "author": "",
27
+ "license": "ISC",
28
+ "peerDependencies": {
29
+ "@vnejs/module": "~0.1.0",
30
+ "@vnejs/shared": "~0.1.0"
31
+ },
32
+ "devDependencies": {
33
+ "@vnejs/configs.ts-common": "~0.1.0"
34
+ }
35
+ }
package/src/const.ts ADDED
@@ -0,0 +1,3 @@
1
+ export const CONSTANTS = {} as const;
2
+
3
+ export type Constants = typeof CONSTANTS;
package/src/events.ts ADDED
@@ -0,0 +1,13 @@
1
+ export const SUBSCRIBE_EVENTS = {
2
+ SPAWN: "vne:scales:spawn",
3
+ DESTROY: "vne:scales:destroy",
4
+ SET: "vne:scales:set",
5
+ RESET: "vne:scales:reset",
6
+ CHANGE: "vne:scales:change",
7
+ CHANGED: "vne:scales:changed",
8
+ CHECK: "vne:scales:check",
9
+ OVERFLOW: "vne:scales:overflow",
10
+ UNDERFLOW: "vne:scales:underflow",
11
+ } as const;
12
+
13
+ export type SubscribeEvents = typeof SUBSCRIBE_EVENTS;
package/src/index.ts ADDED
@@ -0,0 +1,67 @@
1
+ import "@vnejs/module";
2
+ import "@vnejs/shared";
3
+
4
+ import { CONSTANTS } from "./const.js";
5
+ import { SUBSCRIBE_EVENTS } from "./events.js";
6
+ import type { ModuleGlobalStateScales, ScaleEntry } from "./module-global-state.js";
7
+ import { PARAMS } from "./params.js";
8
+
9
+ export const PLUGIN_NAME = "SCALES" as const;
10
+ export type PluginName = typeof PLUGIN_NAME;
11
+
12
+ export { CONSTANTS } from "./const.js";
13
+ export type { Constants } from "./const.js";
14
+ export { SUBSCRIBE_EVENTS };
15
+ export type { SubscribeEvents } from "./events.js";
16
+ export { getScaleKey } from "./keys.js";
17
+ export type { ScaleType } from "./keys.js";
18
+ export type { ModuleGlobalStateScales, ScaleEntry } from "./module-global-state.js";
19
+ export { PARAMS, TYPES, ENTITIES } from "./params.js";
20
+ export type { Params } from "./params.js";
21
+ export type { ScaleTypes, ScaleEntities } from "./params.js";
22
+
23
+ export type ScaleState = ScaleEntry;
24
+
25
+ declare module "@vnejs/module" {
26
+ interface ModuleGlobalState {
27
+ scales: ModuleGlobalStateScales;
28
+ }
29
+ }
30
+
31
+ export type ScalesKeyPayload = {
32
+ key?: string;
33
+ };
34
+
35
+ export type ScalesSpawnPayload = ScalesKeyPayload & ScaleState;
36
+
37
+ export type ScalesChangePayload = ScalesKeyPayload & {
38
+ shift?: number;
39
+ };
40
+
41
+ export type ScalesSetPayload = ScalesKeyPayload & {
42
+ value?: number;
43
+ };
44
+
45
+ export type ScalesChangedPayload = ScalesKeyPayload & {
46
+ value?: number;
47
+ type?: string;
48
+ };
49
+
50
+ export type ScalesCheckPayload = ScalesKeyPayload & {
51
+ value?: number;
52
+ };
53
+
54
+ export type ScalesDestroyPayload = ScalesKeyPayload;
55
+
56
+ export type ScalesBoundaryPayload = ScalesKeyPayload & {
57
+ value?: number;
58
+ type?: string;
59
+ };
60
+
61
+ declare module "@vnejs/shared" {
62
+ interface VnePluginEventsMap extends Record<typeof PLUGIN_NAME, typeof SUBSCRIBE_EVENTS> {}
63
+
64
+ interface VnePluginConstantsMap extends Record<typeof PLUGIN_NAME, typeof CONSTANTS> {}
65
+
66
+ interface VnePluginParamsMap extends Record<typeof PLUGIN_NAME, typeof PARAMS> {}
67
+ }
package/src/keys.ts ADDED
@@ -0,0 +1,8 @@
1
+ import type { ScaleEntry } from "./module-global-state.js";
2
+ import type { ScaleTypes } from "./params.js";
3
+
4
+ type ScaleTypeKeys = keyof ScaleTypes;
5
+
6
+ export type ScaleType = [ScaleTypeKeys] extends [never] ? ScaleEntry["type"] : ScaleTypes[ScaleTypeKeys];
7
+
8
+ export const getScaleKey = (entityType: string, entityId: string, scaleType: ScaleType) => `${entityType}:${entityId}:${scaleType}`;
@@ -0,0 +1,3 @@
1
+ export type ScaleEntry = { type: string; current: number; max: number };
2
+
3
+ export type ModuleGlobalStateScales = Record<string, ScaleEntry>;
package/src/params.ts ADDED
@@ -0,0 +1,17 @@
1
+ import type { Widen } from "@vnejs/shared";
2
+
3
+ export interface ScaleTypes {}
4
+
5
+ export interface ScaleEntities {}
6
+
7
+ export const TYPES = {} as ScaleTypes;
8
+
9
+ export const ENTITIES = {} as ScaleEntities;
10
+
11
+ const PARAMS_DEFAULT = {
12
+ TYPES,
13
+ ENTITIES,
14
+ };
15
+
16
+ export type Params = Widen<typeof PARAMS_DEFAULT>;
17
+ export const PARAMS: Params = PARAMS_DEFAULT;
package/tsconfig.json ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "@vnejs/configs.ts-common/tsconfig.json",
3
+ "compilerOptions": {
4
+ "rootDir": "src",
5
+ "outDir": "dist"
6
+ },
7
+ "include": ["src/**/*.ts"],
8
+ "exclude": ["dist", "node_modules"]
9
+ }