@swf2es/desktop 0.1.15 → 0.1.17

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.
Files changed (86) hide show
  1. package/README.md +85 -12
  2. package/dist/launch/launch.js +4 -1
  3. package/dist/launch/launch.js.map +1 -1
  4. package/dist/main/air.d.ts +3 -3
  5. package/dist/main/air.d.ts.map +1 -1
  6. package/dist/main/air.js +17 -8
  7. package/dist/main/air.js.map +1 -1
  8. package/dist/main/case-paths.d.ts +12 -0
  9. package/dist/main/case-paths.d.ts.map +1 -0
  10. package/dist/main/case-paths.js +84 -0
  11. package/dist/main/case-paths.js.map +1 -0
  12. package/dist/main/connections.d.ts +20 -1
  13. package/dist/main/connections.d.ts.map +1 -1
  14. package/dist/main/connections.js +71 -8
  15. package/dist/main/connections.js.map +1 -1
  16. package/dist/main/main.js +133 -9
  17. package/dist/main/main.js.map +1 -1
  18. package/dist/main/netlog.d.ts +21 -0
  19. package/dist/main/netlog.d.ts.map +1 -0
  20. package/dist/main/netlog.js +90 -0
  21. package/dist/main/netlog.js.map +1 -0
  22. package/dist/main/network.d.ts +10 -0
  23. package/dist/main/network.d.ts.map +1 -1
  24. package/dist/main/network.js +111 -35
  25. package/dist/main/network.js.map +1 -1
  26. package/dist/main/proxy.d.ts +48 -0
  27. package/dist/main/proxy.d.ts.map +1 -0
  28. package/dist/main/proxy.js +402 -0
  29. package/dist/main/proxy.js.map +1 -0
  30. package/dist/main/sandbox.d.ts.map +1 -1
  31. package/dist/main/sandbox.js +2 -1
  32. package/dist/main/sandbox.js.map +1 -1
  33. package/dist/main/settings.d.ts +2 -0
  34. package/dist/main/settings.d.ts.map +1 -1
  35. package/dist/main/settings.js +4 -0
  36. package/dist/main/settings.js.map +1 -1
  37. package/dist/main/sockets.d.ts +6 -2
  38. package/dist/main/sockets.d.ts.map +1 -1
  39. package/dist/main/sockets.js +18 -3
  40. package/dist/main/sockets.js.map +1 -1
  41. package/dist/main/websocket-connections.d.ts +73 -0
  42. package/dist/main/websocket-connections.d.ts.map +1 -0
  43. package/dist/main/websocket-connections.js +266 -0
  44. package/dist/main/websocket-connections.js.map +1 -0
  45. package/dist/main/websockets.d.ts +12 -0
  46. package/dist/main/websockets.d.ts.map +1 -0
  47. package/dist/main/websockets.js +94 -0
  48. package/dist/main/websockets.js.map +1 -0
  49. package/dist/preload/preload.cjs +20 -0
  50. package/dist/preload/preload.cjs.map +1 -1
  51. package/dist/renderer/air.d.ts.map +1 -1
  52. package/dist/renderer/air.js +1 -0
  53. package/dist/renderer/air.js.map +1 -1
  54. package/dist/renderer/full-screen.d.ts +4 -0
  55. package/dist/renderer/full-screen.d.ts.map +1 -0
  56. package/dist/renderer/full-screen.js +32 -0
  57. package/dist/renderer/full-screen.js.map +1 -0
  58. package/dist/renderer/index.d.ts.map +1 -1
  59. package/dist/renderer/index.js +4 -0
  60. package/dist/renderer/index.js.map +1 -1
  61. package/dist/renderer/websockets.d.ts +4 -0
  62. package/dist/renderer/websockets.d.ts.map +1 -0
  63. package/dist/renderer/websockets.js +36 -0
  64. package/dist/renderer/websockets.js.map +1 -0
  65. package/dist/shared/api.d.ts +53 -0
  66. package/dist/shared/api.d.ts.map +1 -1
  67. package/package.json +7 -7
  68. package/src/launch/launch.ts +5 -2
  69. package/src/main/air.ts +18 -8
  70. package/src/main/case-paths.ts +97 -0
  71. package/src/main/connections.ts +90 -8
  72. package/src/main/main.ts +174 -10
  73. package/src/main/netlog.ts +108 -0
  74. package/src/main/network.ts +140 -37
  75. package/src/main/proxy.ts +497 -0
  76. package/src/main/sandbox.ts +2 -1
  77. package/src/main/settings.ts +5 -0
  78. package/src/main/sockets.ts +22 -3
  79. package/src/main/websocket-connections.ts +344 -0
  80. package/src/main/websockets.ts +117 -0
  81. package/src/preload/preload.cts +23 -0
  82. package/src/renderer/air.ts +1 -0
  83. package/src/renderer/full-screen.ts +44 -0
  84. package/src/renderer/index.ts +4 -0
  85. package/src/renderer/websockets.ts +43 -0
  86. package/src/shared/api.ts +40 -0
package/src/shared/api.ts CHANGED
@@ -50,6 +50,14 @@ export interface AirWindowState {
50
50
  visible: boolean;
51
51
  }
52
52
 
53
+ /** One of the system's displays as flash.display.Screen reads it: all of it, and what a window may fill. */
54
+ export interface AirScreenState {
55
+ bounds: { x: number; y: number; width: number; height: number };
56
+ visibleBounds: { x: number; y: number; width: number; height: number };
57
+ colorDepth: number;
58
+ main: boolean;
59
+ }
60
+
53
61
  /**
54
62
  * An AIR application's own reach, only while one the user opened plays:
55
63
  * the file system, read and written synchronously as File does, and the
@@ -72,6 +80,8 @@ export interface DesktopAir {
72
80
  remove(path: string): boolean;
73
81
  move(from: string, to: string): boolean;
74
82
  window(): AirWindowState;
83
+ /** The displays as they are now; none where no application plays. */
84
+ screens(): AirScreenState[];
75
85
  setBounds(bounds: { x: number; y: number; width: number; height: number }): void;
76
86
  setTitle(title: string): void;
77
87
  minimize(): void;
@@ -134,6 +144,23 @@ export interface DesktopSockets {
134
144
  onEvent(listener: (id: number, event: SocketEvent) => void): void;
135
145
  }
136
146
 
147
+ /** What befalls a WebSocket, as player's WebSocketEvents has it. */
148
+ export type WebSocketEvent =
149
+ | { type: "open"; protocol: string }
150
+ | { type: "message"; data: string | Uint8Array }
151
+ | { type: "close"; code: number }
152
+ | { type: "error" };
153
+
154
+ /** air.net.WebSocket's connections, opened by the shell, for an AIR application alone. */
155
+ export interface DesktopWebSockets {
156
+ /** A connection's id; its events follow, an "error" then a "close" if the shell refuses it. */
157
+ connect(url: string, protocols: string[]): number;
158
+ /** A text message for a string, a binary one for bytes. */
159
+ send(id: number, data: string | Uint8Array): void;
160
+ close(id: number, code?: number): void;
161
+ onEvent(listener: (id: number, event: WebSocketEvent) => void): void;
162
+ }
163
+
137
164
  /** A request of a SWF's, as player's FetchRequest has it. */
138
165
  export interface NetworkRequest {
139
166
  url: string;
@@ -182,8 +209,20 @@ export interface DesktopFiles {
182
209
  release(id: number): void;
183
210
  }
184
211
 
212
+ /**
213
+ * The window's full screen, which a SWF's Stage.displayState asks for
214
+ * while one the user opened plays, with no gesture, as AIR's and the
215
+ * projector's did.
216
+ */
217
+ export interface DesktopFullScreen {
218
+ set(fullScreen: boolean): void;
219
+ /** The window has entered or left full screen, a SWF's doing or the user's (F11). */
220
+ onChange(listener: (fullScreen: boolean) => void): void;
221
+ }
222
+
185
223
  export interface DesktopApi {
186
224
  files: DesktopFiles;
225
+ fullScreen: DesktopFullScreen;
187
226
  /** The page has loaded and listens: what it is to show. */
188
227
  start(): Promise<StartState>;
189
228
  /** The shell opened a SWF: play it in place of what plays. */
@@ -199,6 +238,7 @@ export interface DesktopApi {
199
238
  /** Ask the user for a library; the page reloads once the shell has it. */
200
239
  chooseLibrary(name: LibraryName): void;
201
240
  sockets: DesktopSockets;
241
+ webSockets: DesktopWebSockets;
202
242
  network: DesktopNetwork;
203
243
  air: DesktopAir;
204
244
  }