@peter.naydenov/cuts 2.0.0 → 2.0.2
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/Changelog.md +12 -0
- package/README.md +35 -21
- package/cuts.png +0 -0
- package/package.json +13 -13
- package/tsconfig.json +1 -0
- package/types/main.d.ts +3 -3
- package/types/main.d.ts.map +1 -1
- package/types/methods/jumpBack.d.ts +1 -1
- package/types/methods/jumpBack.d.ts.map +1 -1
- package/types/methods/setScenes.d.ts +3 -3
- package/types/methods/setScenes.d.ts.map +1 -1
- package/types/methods/show.d.ts +1 -1
- package/types/methods/show.d.ts.map +1 -1
- package/types/src/findInstructions.d.ts +12 -0
- package/types/src/findInstructions.d.ts.map +1 -0
- package/types/src/main.d.ts +31 -0
- package/types/src/main.d.ts.map +1 -0
- package/types/src/methods/hide.d.ts +3 -0
- package/types/src/methods/hide.d.ts.map +1 -0
- package/types/src/methods/jump.d.ts +5 -0
- package/types/src/methods/jump.d.ts.map +1 -0
- package/types/src/methods/jumpBack.d.ts +5 -0
- package/types/src/methods/jumpBack.d.ts.map +1 -0
- package/types/src/methods/jumpsReset.d.ts +3 -0
- package/types/src/methods/jumpsReset.d.ts.map +1 -0
- package/types/src/methods/listShortcuts.d.ts +3 -0
- package/types/src/methods/listShortcuts.d.ts.map +1 -0
- package/types/src/methods/setScenes.d.ts +69 -0
- package/types/src/methods/setScenes.d.ts.map +1 -0
- package/types/src/methods/show.d.ts +8 -0
- package/types/src/methods/show.d.ts.map +1 -0
- package/types/src/setInstruction.d.ts +3 -0
- package/types/src/setInstruction.d.ts.map +1 -0
package/Changelog.md
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
|
|
5
|
+
## 2.0.2 ( 2026-04-02 )
|
|
6
|
+
- [x] Dependency update. @peter.naydenov/shortcuts - v.4.0.2;
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## 2.0.1 ( 2026-03-24 )
|
|
11
|
+
- [x] Dev dependency update. Typescript - v.6.0.2;
|
|
12
|
+
- [x] Rebuild types according the new version of typescript;
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
4
16
|
## 2.0.0 ( 2025-11-09 )
|
|
5
17
|
- [x] All 'cuts' errors goes to '@app-error' event;
|
|
6
18
|
- [x] Configuration 'logLevel' default value is 1. If you want to dissable errors logging, set 'logLevel' to 0;
|
package/README.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
<img src="cuts.png" width="100%" alt="Cuts" align="center" />
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
1
5
|
# Cuts (@peter.naydenov/cuts)
|
|
2
6
|
|
|
3
7
|

|
|
@@ -5,11 +9,22 @@
|
|
|
5
9
|

|
|
6
10
|
|
|
7
11
|
|
|
8
|
-
In filmmaking, a change of scene is typically referred to as a "**cut**". Cuts are an essential part of film editing and are used to create a cohesive narrative by connecting different scenes together.
|
|
12
|
+
`An abstract idea of a cut`: In filmmaking, a change of scene is typically referred to as a "**cut**". Cuts are an essential part of film editing and are used to create a cohesive narrative by connecting different scenes together.
|
|
13
|
+
|
|
14
|
+
## Description
|
|
15
|
+
Let's define SPA application as a set of scenes (context/visual states) and each scene discribes a visual elements on the page and possible user interaction ( mouse, keyboard, scroll, hover, etc.). **Cuts** controls the flow among scenes in SPA application.
|
|
16
|
+
|
|
17
|
+
Behaviour description is based on '[@peter.naydenov/shortcuts](https://github.com/PeterNaydenov/shortcuts)' and every scene is a different shortcuts context.
|
|
9
18
|
|
|
10
|
-
Let's define SPA application as a set of scenes (pages/visual states) and each scene discribes a visual elements on the page and possible user interaction ( mouse, keyboard, etc.). **Cuts** controls the flow among scenes in SPA application.
|
|
11
19
|
|
|
12
|
-
|
|
20
|
+
|
|
21
|
+
## Why Cuts?
|
|
22
|
+
- SPA as a set of many scenes: Every scene can be developed and tested separately;
|
|
23
|
+
- Easy for reshape the flow of the application;
|
|
24
|
+
- Many developers can work toghether on the same project without conflicts;
|
|
25
|
+
- User interaction is easy to read and solve some problems of native DOM events;
|
|
26
|
+
- As user interaction is defined separately from the html markup, you have large choice of frameworks and template engines (react, vue, svelte, [morph](https://github.com/PeterNaydenov/morph), mustache, handlebars, etc.) to build your application visually;
|
|
27
|
+
- As user interaction is defined separately, visual components can be reused many times with different user interaction on each reuse;
|
|
13
28
|
|
|
14
29
|
|
|
15
30
|
|
|
@@ -51,10 +66,10 @@ script.show ({ scene : 'sceneName'}) // change the current Scene
|
|
|
51
66
|
, jumpsReset : 'Reset the jump stack'
|
|
52
67
|
, listScenes : 'List of loaded Scene names'
|
|
53
68
|
, listShortcuts : 'List shortcuts per Scene. Provide the name of the Scene'
|
|
54
|
-
, setDependencies : 'Add object to the "dependencies" object. This object will be passed to the Scene "show"
|
|
69
|
+
, setDependencies : 'Add object to the "dependencies" object. This object will be passed to the Scene "show" and "hide" methods and events descriptors'
|
|
55
70
|
, getDependencies : 'Returns the "dependencies" object'
|
|
56
|
-
, enablePlugin : 'Enable a shortcut plugin.
|
|
57
|
-
, disablePlugin : 'Disable a shortcut plugin.
|
|
71
|
+
, enablePlugin : 'Enable a shortcut plugin.'
|
|
72
|
+
, disablePlugin : 'Disable a shortcut plugin.'
|
|
58
73
|
, getState : 'Get the current state of the application'
|
|
59
74
|
, emit : 'Emit an event'
|
|
60
75
|
```
|
|
@@ -112,38 +127,37 @@ script.jumpBack ({hops:2}) // Will load scene from the jump stack. Will load 'te
|
|
|
112
127
|
|
|
113
128
|
## Plugin Configuration
|
|
114
129
|
|
|
115
|
-
|
|
130
|
+
Shortcuts has a plugin system. To load them, use the `loadPlugins` method.
|
|
116
131
|
|
|
117
132
|
```js
|
|
118
133
|
import cuts from '@peter.naydenov/cuts'
|
|
119
134
|
|
|
120
|
-
const
|
|
121
|
-
|
|
135
|
+
const
|
|
136
|
+
script = cuts ()
|
|
137
|
+
, [ pluginClick, pluginHover] = await script.loadPlugins(['Click', 'Hover'])
|
|
138
|
+
;
|
|
122
139
|
|
|
123
|
-
// Enable click plugin
|
|
124
|
-
script.enablePlugin ( pluginClick
|
|
125
|
-
clickTarget: ['data-action', 'data-button', 'href']
|
|
126
|
-
})
|
|
140
|
+
// Enable click plugin
|
|
141
|
+
script.enablePlugin ( pluginClick )
|
|
127
142
|
|
|
128
|
-
// Enable hover plugin
|
|
129
|
-
script.enablePlugin ( pluginHover
|
|
130
|
-
hoverTarget: ['data-interactive', 'data-hover']
|
|
131
|
-
})
|
|
143
|
+
// Enable hover plugin
|
|
144
|
+
script.enablePlugin ( pluginHover )
|
|
132
145
|
```
|
|
133
146
|
|
|
134
|
-
|
|
147
|
+
|
|
148
|
+
**Available Plugins in v4.x.x:**
|
|
135
149
|
- **Key**: Keyboard shortcuts
|
|
136
150
|
- **Click**: Mouse click events
|
|
137
151
|
- **Form**: Form input events
|
|
138
152
|
- **Hover**: Mouse hover events (new in v4.0.0)
|
|
139
153
|
- **Scroll**: Scroll events (new in v4.0.0)
|
|
140
154
|
|
|
155
|
+
|
|
156
|
+
|
|
141
157
|
## Links
|
|
142
|
-
- [Shortcuts documentation](https://github.com/PeterNaydenov/shortcuts)
|
|
158
|
+
- [Shortcuts documentation - @peter.naydenov/shortcuts](https://github.com/PeterNaydenov/shortcuts)
|
|
143
159
|
- [History of changes](https://github.com/PeterNaydenov/cuts/blob/main/Changelog.md)
|
|
144
160
|
- [Migration Guide](https://github.com/PeterNaydenov/cuts/blob/main/Migration.guide.md)
|
|
145
|
-
- [Learn how shortcuts are implemented](https://github.com/PeterNaydenov/shortcuts)
|
|
146
|
-
|
|
147
161
|
|
|
148
162
|
|
|
149
163
|
|
package/cuts.png
ADDED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peter.naydenov/cuts",
|
|
3
3
|
"description": "SPA scene manager",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.2",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Peter Naydenov",
|
|
7
7
|
"main": "./src/main.js",
|
|
@@ -32,22 +32,22 @@
|
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@peter.naydenov/visual-controller-for-vue3": "^2.1.7",
|
|
35
|
-
"@rollup/plugin-commonjs": "^29.0.
|
|
35
|
+
"@rollup/plugin-commonjs": "^29.0.2",
|
|
36
36
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
37
|
-
"@rollup/plugin-terser": "^0.
|
|
38
|
-
"@types/node": "^
|
|
39
|
-
"@vitejs/plugin-vue": "^6.0.
|
|
40
|
-
"@vitest/coverage-v8": "^4.
|
|
41
|
-
"cypress": "^15.
|
|
42
|
-
"rollup": "^4.
|
|
43
|
-
"typescript": "^
|
|
44
|
-
"vite": "^
|
|
45
|
-
"vitest": "^4.
|
|
46
|
-
"vue": "^3.5.
|
|
37
|
+
"@rollup/plugin-terser": "^1.0.0",
|
|
38
|
+
"@types/node": "^25.5.0",
|
|
39
|
+
"@vitejs/plugin-vue": "^6.0.5",
|
|
40
|
+
"@vitest/coverage-v8": "^4.1.2",
|
|
41
|
+
"cypress": "^15.13.0",
|
|
42
|
+
"rollup": "^4.60.1",
|
|
43
|
+
"typescript": "^6.0.2",
|
|
44
|
+
"vite": "^8.0.3",
|
|
45
|
+
"vitest": "^4.1.2",
|
|
46
|
+
"vue": "^3.5.31"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@peter.naydenov/log": "^1.1.1",
|
|
50
|
-
"@peter.naydenov/shortcuts": "^4.0.
|
|
50
|
+
"@peter.naydenov/shortcuts": "^4.0.2",
|
|
51
51
|
"ask-for-promise": "^3.1.0"
|
|
52
52
|
},
|
|
53
53
|
"keywords": [
|
package/tsconfig.json
CHANGED
package/types/main.d.ts
CHANGED
|
@@ -9,13 +9,13 @@ declare function main(cfg?: {
|
|
|
9
9
|
scene: string;
|
|
10
10
|
options?: {
|
|
11
11
|
ssr: boolean;
|
|
12
|
-
};
|
|
12
|
+
} | undefined;
|
|
13
13
|
}, ...args?: any[]) => Promise<any>;
|
|
14
14
|
jump: ({ scene }: {
|
|
15
15
|
scene: string;
|
|
16
16
|
}, ...args?: any[]) => Promise<any>;
|
|
17
17
|
jumpBack: ({ hops }?: {
|
|
18
|
-
hops?: number;
|
|
18
|
+
hops?: number | undefined;
|
|
19
19
|
}, ...args?: any[]) => Promise<any> | undefined;
|
|
20
20
|
jumpsReset: () => void;
|
|
21
21
|
loadPlugins(plugins: Array<"Key" | "Click" | "Form" | "Hover" | "Scroll">): Promise<Function[]>;
|
|
@@ -25,7 +25,7 @@ declare function main(cfg?: {
|
|
|
25
25
|
listScenes(): Array<string>;
|
|
26
26
|
enablePlugin(plugin: Function, options?: any): void;
|
|
27
27
|
disablePlugin(pluginName: string): void;
|
|
28
|
-
getState():
|
|
28
|
+
getState(): Object;
|
|
29
29
|
emit(event: string, ...args: any[]): void;
|
|
30
30
|
};
|
|
31
31
|
//# sourceMappingURL=main.d.ts.map
|
package/types/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.js"],"names":[],"mappings":";AAsCA;;;;;;;;;;;;;;;;;;;yBA8CmB,KAAK,+CAAc,GACjB,OAAO,CAAE,UAAU,CAAC;0BAgBtB,GAAC;uBAQC,GAAC;kBAMH,MAAM;kBAQJ,KAAK,CAAE,MAAM,CAAC;6CAQhB,GAAC;8BAQD,MAAM
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.js"],"names":[],"mappings":";AAsCA;;;;;;;;;;;;;;;;;;;yBA8CmB,KAAK,+CAAc,GACjB,OAAO,CAAE,UAAU,CAAC;0BAgBtB,GAAC;uBAQC,GAAC;kBAMH,MAAM;kBAQJ,KAAK,CAAE,MAAM,CAAC;6CAQhB,GAAC;8BAQD,MAAM;gBAQJ,MAAM;gBAeP,MAAM,WACH,GAAC,EAAA;EAKvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jumpBack.d.ts","sourceRoot":"","sources":["../../src/methods/jumpBack.js"],"names":[],"mappings":";AAAA,8DAKO;IAAyB,IAAI
|
|
1
|
+
{"version":3,"file":"jumpBack.d.ts","sourceRoot":"","sources":["../../src/methods/jumpBack.js"],"names":[],"mappings":";AAAA,8DAKO;IAAyB,IAAI;CAC7B,sBACU,eAAQ,SAAS,CAWjC"}
|
|
@@ -16,7 +16,7 @@ export type SceneObject = {
|
|
|
16
16
|
/**
|
|
17
17
|
* - run after scene is loaded. Optional. Returns true to continue loading, false to cancel;
|
|
18
18
|
*/
|
|
19
|
-
afterShow?: () => boolean;
|
|
19
|
+
afterShow?: (() => boolean) | undefined;
|
|
20
20
|
/**
|
|
21
21
|
* - Reverse the settings from 'show';
|
|
22
22
|
*/
|
|
@@ -27,11 +27,11 @@ export type SceneObject = {
|
|
|
27
27
|
/**
|
|
28
28
|
* - Run before scene is hidden. Optional;
|
|
29
29
|
*/
|
|
30
|
-
beforeHide?: () => void;
|
|
30
|
+
beforeHide?: (() => void) | undefined;
|
|
31
31
|
/**
|
|
32
32
|
* - list of parent scene names.
|
|
33
33
|
*/
|
|
34
|
-
parents?:
|
|
34
|
+
parents?: string[] | undefined;
|
|
35
35
|
/**
|
|
36
36
|
* - shortcut descriptions
|
|
37
37
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setScenes.d.ts","sourceRoot":"","sources":["../../src/methods/setScenes.js"],"names":[],"mappings":";;;;;;;;;;;UASc,CAAS,IAAkC,EAAlC;QAAC,IAAI,EAAE,SAAS,CAAC;QAAC,YAAY,EAAE,GAAC,CAAA;KAAC,KAAG,IAAI;;;;
|
|
1
|
+
{"version":3,"file":"setScenes.d.ts","sourceRoot":"","sources":["../../src/methods/setScenes.js"],"names":[],"mappings":";;;;;;;;;;;UASc,CAAS,IAAkC,EAAlC;QAAC,IAAI,EAAE,SAAS,CAAC;QAAC,YAAY,EAAE,GAAC,CAAA;KAAC,KAAG,IAAI;;;;uBACvC,OAAO;;;;UAClB,CAAS,IAAkC,EAAlC;QAAC,IAAI,EAAE,SAAS,CAAC;QAAC,YAAY,EAAE,GAAC,CAAA;KAAC,KAAG,IAAI;;;;wBACvC,IAAI;;;;;;;;QAEf,GAAC;;;;;;UAOD,MAAM;;;;WACN,WAAW;;AAnBzB;;;GAGG;AACH;;;;;;;;GAQG;AAIH;;;;GAIG;AAKH,4DAOgC,MAJhB,gBAAgB,EAII,UAkClC"}
|
package/types/methods/show.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../src/methods/show.js"],"names":[],"mappings":";AAIA,2FAKG;IAAwB,KAAK,EAArB,MAAM;IACW,OAAO
|
|
1
|
+
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../src/methods/show.js"],"names":[],"mappings":";AAIA,2FAKG;IAAwB,KAAK,EAArB,MAAM;IACW,OAAO;aACxB,OAAO;;CACf,mCA4GF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export default findInstructions;
|
|
2
|
+
/**
|
|
3
|
+
* @function findInstructions
|
|
4
|
+
* @description Generator that yields instructions for transitioning between scenes
|
|
5
|
+
* @param {string|null} currentName - current scene name
|
|
6
|
+
* @param {Array.<string>} currentParents - current scene parents
|
|
7
|
+
* @param {string} targetName - target scene name
|
|
8
|
+
* @param {Array.<string>} targetParents - target scene parents
|
|
9
|
+
* @yields {Array.<string, 'show'|'hide'>} - instruction array with scene name and action
|
|
10
|
+
*/
|
|
11
|
+
declare function findInstructions(currentName: string | null, currentParents: Array<string>, targetName: string, targetParents: Array<string>): Generator<string[], void, unknown>;
|
|
12
|
+
//# sourceMappingURL=findInstructions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findInstructions.d.ts","sourceRoot":"","sources":["../../src/findInstructions.js"],"names":[],"mappings":";AAGA;;;;;;;;GAQG;AACH,+CANW,MAAM,GAAC,IAAI,kBACX,KAAK,CAAE,MAAM,CAAC,cACd,MAAM,iBACN,KAAK,CAAE,MAAM,CAAC,sCAyExB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export default main;
|
|
2
|
+
declare function main(cfg?: {
|
|
3
|
+
logLevel: number;
|
|
4
|
+
}): {
|
|
5
|
+
hide: (endSteps?: number | string) => Promise<any>;
|
|
6
|
+
listShortcuts: (sceneName: string) => (Array<string> | null);
|
|
7
|
+
setScenes: (list: import("./methods/setScenes.js").sceneDescription[]) => void;
|
|
8
|
+
show: ({ scene: requestedScene, options }: {
|
|
9
|
+
scene: string;
|
|
10
|
+
options?: {
|
|
11
|
+
ssr: boolean;
|
|
12
|
+
} | undefined;
|
|
13
|
+
}, ...args?: any[]) => Promise<any>;
|
|
14
|
+
jump: ({ scene }: {
|
|
15
|
+
scene: string;
|
|
16
|
+
}, ...args?: any[]) => Promise<any>;
|
|
17
|
+
jumpBack: ({ hops }?: {
|
|
18
|
+
hops?: number | undefined;
|
|
19
|
+
}, ...args?: any[]) => Promise<any> | undefined;
|
|
20
|
+
jumpsReset: () => void;
|
|
21
|
+
loadPlugins(plugins: Array<"Key" | "Click" | "Form" | "Hover" | "Scroll">): Promise<Function[]>;
|
|
22
|
+
setDependencies(deps: any): void;
|
|
23
|
+
getDependencies(): any;
|
|
24
|
+
setNote(note: string): void;
|
|
25
|
+
listScenes(): Array<string>;
|
|
26
|
+
enablePlugin(plugin: Function, options?: any): void;
|
|
27
|
+
disablePlugin(pluginName: string): void;
|
|
28
|
+
getState(): Object;
|
|
29
|
+
emit(event: string, ...args: any[]): void;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.js"],"names":[],"mappings":";AAsCA;;;;;;;;;;;;;;;;;;;yBA8CmB,KAAK,+CAAc,GACjB,OAAO,CAAE,UAAU,CAAC;0BAgBtB,GAAC;uBAQC,GAAC;kBAMH,MAAM;kBAQJ,KAAK,CAAE,MAAM,CAAC;6CAQhB,GAAC;8BAQD,MAAM;gBAQJ,MAAM;gBAeP,MAAM,WACH,GAAC,EAAA;EAKvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hide.d.ts","sourceRoot":"","sources":["../../../src/methods/hide.js"],"names":[],"mappings":";AAIA,uDAOuB,WAHZ,MAAM,GAAC,MAGe,kBAmC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jump.d.ts","sourceRoot":"","sources":["../../../src/methods/jump.js"],"names":[],"mappings":";AAAA,0DAKO;IAAwB,KAAK,EAArB,MAAM;CACd,mCAQN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jumpBack.d.ts","sourceRoot":"","sources":["../../../src/methods/jumpBack.js"],"names":[],"mappings":";AAAA,8DAKO;IAAyB,IAAI;CAC7B,sBACU,eAAQ,SAAS,CAWjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jumpsReset.d.ts","sourceRoot":"","sources":["../../../src/methods/jumpsReset.js"],"names":[],"mappings":";AAAA,+CAIiB,IAAI,CAKpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listShortcuts.d.ts","sourceRoot":"","sources":["../../../src/methods/listShortcuts.js"],"names":[],"mappings":";AAEA,gEAOgC,WAHrB,MAG8B,KAF5B,CAAC,KAAK,CAAE,MAAM,CAAC,GAAC,IAAI,CAAC,CAOhC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export default setScenes;
|
|
2
|
+
export type AskObject = {
|
|
3
|
+
/**
|
|
4
|
+
* - Mark the task as done
|
|
5
|
+
*/
|
|
6
|
+
done: Function;
|
|
7
|
+
};
|
|
8
|
+
export type SceneObject = {
|
|
9
|
+
/**
|
|
10
|
+
* - load interface and prerequisites for the scene;
|
|
11
|
+
*/
|
|
12
|
+
show: (arg0: {
|
|
13
|
+
task: AskObject;
|
|
14
|
+
dependencies: any;
|
|
15
|
+
}) => void;
|
|
16
|
+
/**
|
|
17
|
+
* - run after scene is loaded. Optional. Returns true to continue loading, false to cancel;
|
|
18
|
+
*/
|
|
19
|
+
afterShow?: (() => boolean) | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* - Reverse the settings from 'show';
|
|
22
|
+
*/
|
|
23
|
+
hide: (arg0: {
|
|
24
|
+
task: AskObject;
|
|
25
|
+
dependencies: any;
|
|
26
|
+
}) => void;
|
|
27
|
+
/**
|
|
28
|
+
* - Run before scene is hidden. Optional;
|
|
29
|
+
*/
|
|
30
|
+
beforeHide?: (() => void) | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* - list of parent scene names.
|
|
33
|
+
*/
|
|
34
|
+
parents?: string[] | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* - shortcut descriptions
|
|
37
|
+
*/
|
|
38
|
+
"": any;
|
|
39
|
+
};
|
|
40
|
+
export type sceneDescription = {
|
|
41
|
+
/**
|
|
42
|
+
* - name of the scene
|
|
43
|
+
*/
|
|
44
|
+
name: string;
|
|
45
|
+
/**
|
|
46
|
+
* - object should contain 'show' and 'hide' + shortcuts and action functions
|
|
47
|
+
*/
|
|
48
|
+
scene: SceneObject;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* @typedef {Object} AskObject
|
|
52
|
+
* @property {function} done - Mark the task as done
|
|
53
|
+
*/
|
|
54
|
+
/**
|
|
55
|
+
* @typedef {Object} SceneObject
|
|
56
|
+
* @property {function({task: AskObject, dependencies: *}): void} show - load interface and prerequisites for the scene;
|
|
57
|
+
* @property {function():boolean} [afterShow] - run after scene is loaded. Optional. Returns true to continue loading, false to cancel;
|
|
58
|
+
* @property {function({task: AskObject, dependencies: *}): void} hide - Reverse the settings from 'show';
|
|
59
|
+
* @property {function():void} [beforeHide] - Run before scene is hidden. Optional;
|
|
60
|
+
* @property {Array.<string>} [parents] - list of parent scene names.
|
|
61
|
+
* @property {*} ... - shortcut descriptions
|
|
62
|
+
*/
|
|
63
|
+
/**
|
|
64
|
+
* @typedef {Object} sceneDescription
|
|
65
|
+
* @property {string} name - name of the scene
|
|
66
|
+
* @property {SceneObject} scene - object should contain 'show' and 'hide' + shortcuts and action functions
|
|
67
|
+
*/
|
|
68
|
+
declare function setScenes(dependencies: any, state: any): (list: sceneDescription[]) => void;
|
|
69
|
+
//# sourceMappingURL=setScenes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setScenes.d.ts","sourceRoot":"","sources":["../../../src/methods/setScenes.js"],"names":[],"mappings":";;;;;;;;;;;UASc,CAAS,IAAkC,EAAlC;QAAC,IAAI,EAAE,SAAS,CAAC;QAAC,YAAY,EAAE,GAAC,CAAA;KAAC,KAAG,IAAI;;;;uBACvC,OAAO;;;;UAClB,CAAS,IAAkC,EAAlC;QAAC,IAAI,EAAE,SAAS,CAAC;QAAC,YAAY,EAAE,GAAC,CAAA;KAAC,KAAG,IAAI;;;;wBACvC,IAAI;;;;;;;;QAEf,GAAC;;;;;;UAOD,MAAM;;;;WACN,WAAW;;AAnBzB;;;GAGG;AACH;;;;;;;;GAQG;AAIH;;;;GAIG;AAKH,4DAOgC,MAJhB,gBAAgB,EAII,UAkClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../src/methods/show.js"],"names":[],"mappings":";AAIA,2FAKG;IAAwB,KAAK,EAArB,MAAM;IACW,OAAO;aACxB,OAAO;;CACf,mCA4GF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setInstruction.d.ts","sourceRoot":"","sources":["../../src/setInstruction.js"],"names":[],"mappings":";AAEA,qDAQiC,YAAE,EAAE,GAAG,MAHtB,GAAC,EAGyB,cAO1C"}
|