@prismicio/simulator 0.1.4 → 0.2.0

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 (149) hide show
  1. package/README.md +7 -18
  2. package/dist/SimulatorAPI.cjs +38 -46
  3. package/dist/SimulatorAPI.cjs.map +1 -1
  4. package/dist/SimulatorAPI.d.cts +18 -0
  5. package/dist/SimulatorAPI.d.ts +16 -10
  6. package/dist/SimulatorAPI.js +37 -46
  7. package/dist/SimulatorAPI.js.map +1 -1
  8. package/dist/SimulatorClient.cjs +41 -51
  9. package/dist/SimulatorClient.cjs.map +1 -1
  10. package/dist/SimulatorClient.d.cts +16 -0
  11. package/dist/SimulatorClient.d.ts +15 -9
  12. package/dist/SimulatorClient.js +40 -51
  13. package/dist/SimulatorClient.js.map +1 -1
  14. package/dist/channel/ChannelEmitter.cjs +112 -143
  15. package/dist/channel/ChannelEmitter.cjs.map +1 -1
  16. package/dist/channel/ChannelEmitter.d.cts +38 -0
  17. package/dist/channel/ChannelEmitter.d.ts +36 -36
  18. package/dist/channel/ChannelEmitter.js +110 -141
  19. package/dist/channel/ChannelEmitter.js.map +1 -1
  20. package/dist/channel/ChannelNetwork.cjs +81 -109
  21. package/dist/channel/ChannelNetwork.cjs.map +1 -1
  22. package/dist/channel/ChannelNetwork.d.cts +28 -0
  23. package/dist/channel/ChannelNetwork.d.ts +25 -21
  24. package/dist/channel/ChannelNetwork.js +81 -109
  25. package/dist/channel/ChannelNetwork.js.map +1 -1
  26. package/dist/channel/ChannelReceiver.cjs +69 -92
  27. package/dist/channel/ChannelReceiver.cjs.map +1 -1
  28. package/dist/channel/ChannelReceiver.d.cts +20 -0
  29. package/dist/channel/ChannelReceiver.d.ts +18 -18
  30. package/dist/channel/ChannelReceiver.js +67 -90
  31. package/dist/channel/ChannelReceiver.js.map +1 -1
  32. package/dist/channel/errors.cjs +41 -46
  33. package/dist/channel/errors.cjs.map +1 -1
  34. package/dist/channel/errors.d.cts +28 -0
  35. package/dist/channel/errors.d.ts +22 -19
  36. package/dist/channel/errors.js +40 -52
  37. package/dist/channel/errors.js.map +1 -1
  38. package/dist/channel/messages.cjs +48 -43
  39. package/dist/channel/messages.cjs.map +1 -1
  40. package/dist/channel/messages.d.cts +12 -0
  41. package/dist/channel/messages.d.ts +12 -10
  42. package/dist/channel/messages.js +50 -53
  43. package/dist/channel/messages.js.map +1 -1
  44. package/dist/channel/types.cjs +15 -11
  45. package/dist/channel/types.cjs.map +1 -1
  46. package/dist/channel/types.d.cts +53 -0
  47. package/dist/channel/types.d.ts +42 -50
  48. package/dist/channel/types.js +13 -13
  49. package/dist/channel/types.js.map +1 -1
  50. package/dist/globalExtensions.d.cts +15 -0
  51. package/dist/globalExtensions.d.ts +13 -10
  52. package/dist/index.cjs +24 -33
  53. package/dist/index.d.cts +10 -0
  54. package/dist/index.d.ts +10 -8
  55. package/dist/index.js +5 -25
  56. package/dist/kit/SimulatorManager.cjs +106 -137
  57. package/dist/kit/SimulatorManager.cjs.map +1 -1
  58. package/dist/kit/SimulatorManager.d.cts +19 -0
  59. package/dist/kit/SimulatorManager.d.ts +16 -12
  60. package/dist/kit/SimulatorManager.js +103 -134
  61. package/dist/kit/SimulatorManager.js.map +1 -1
  62. package/dist/kit/State.cjs +82 -80
  63. package/dist/kit/State.cjs.map +1 -1
  64. package/dist/kit/State.d.cts +29 -0
  65. package/dist/kit/State.d.ts +26 -22
  66. package/dist/kit/State.js +80 -78
  67. package/dist/kit/State.js.map +1 -1
  68. package/dist/kit/domHelpers.cjs +25 -37
  69. package/dist/kit/domHelpers.cjs.map +1 -1
  70. package/dist/kit/domHelpers.d.cts +11 -0
  71. package/dist/kit/domHelpers.d.ts +10 -8
  72. package/dist/kit/domHelpers.js +25 -43
  73. package/dist/kit/domHelpers.js.map +1 -1
  74. package/dist/kit/eventHandlers.cjs +11 -9
  75. package/dist/kit/eventHandlers.cjs.map +1 -1
  76. package/dist/kit/eventHandlers.d.cts +8 -0
  77. package/dist/kit/eventHandlers.d.ts +7 -3
  78. package/dist/kit/eventHandlers.js +11 -11
  79. package/dist/kit/eventHandlers.js.map +1 -1
  80. package/dist/kit/getDefault.cjs +9 -7
  81. package/dist/kit/getDefault.cjs.map +1 -1
  82. package/dist/kit/getDefault.d.cts +10 -0
  83. package/dist/kit/getDefault.d.ts +10 -8
  84. package/dist/kit/getDefault.js +9 -10
  85. package/dist/kit/getDefault.js.map +1 -1
  86. package/dist/kit/messages.cjs +8 -22
  87. package/dist/kit/messages.cjs.map +1 -1
  88. package/dist/kit/messages.d.cts +5 -0
  89. package/dist/kit/messages.d.ts +5 -1
  90. package/dist/kit/messages.js +8 -23
  91. package/dist/kit/messages.js.map +1 -1
  92. package/dist/kit/types.cjs +12 -9
  93. package/dist/kit/types.cjs.map +1 -1
  94. package/dist/kit/types.d.cts +28 -0
  95. package/dist/kit/types.d.ts +24 -19
  96. package/dist/kit/types.js +11 -10
  97. package/dist/kit/types.js.map +1 -1
  98. package/dist/kit.cjs +21 -26
  99. package/dist/kit.d.cts +8 -0
  100. package/dist/kit.d.ts +8 -0
  101. package/dist/kit.js +7 -21
  102. package/dist/lib/EventEmitter.cjs +16 -25
  103. package/dist/lib/EventEmitter.cjs.map +1 -1
  104. package/dist/lib/EventEmitter.d.cts +12 -0
  105. package/dist/lib/EventEmitter.d.ts +11 -9
  106. package/dist/lib/EventEmitter.js +16 -26
  107. package/dist/lib/EventEmitter.js.map +1 -1
  108. package/dist/lib/throttle.cjs +21 -21
  109. package/dist/lib/throttle.cjs.map +1 -1
  110. package/dist/lib/throttle.js +21 -22
  111. package/dist/lib/throttle.js.map +1 -1
  112. package/dist/types.cjs +18 -14
  113. package/dist/types.cjs.map +1 -1
  114. package/dist/types.d.cts +39 -0
  115. package/dist/types.d.ts +32 -27
  116. package/dist/types.js +16 -16
  117. package/dist/types.js.map +1 -1
  118. package/package.json +27 -68
  119. package/src/SimulatorAPI.ts +24 -22
  120. package/src/SimulatorClient.ts +24 -25
  121. package/src/channel/ChannelEmitter.ts +71 -74
  122. package/src/channel/ChannelNetwork.ts +53 -55
  123. package/src/channel/ChannelReceiver.ts +46 -48
  124. package/src/channel/errors.ts +14 -14
  125. package/src/channel/index.ts +10 -10
  126. package/src/channel/messages.ts +39 -31
  127. package/src/channel/types.ts +40 -40
  128. package/src/globalExtensions.ts +6 -6
  129. package/src/index.ts +8 -8
  130. package/src/kit/SimulatorManager.ts +64 -63
  131. package/src/kit/State.ts +45 -44
  132. package/src/kit/domHelpers.ts +24 -24
  133. package/src/kit/eventHandlers.ts +6 -6
  134. package/src/kit/getDefault.ts +8 -8
  135. package/src/kit/index.ts +8 -8
  136. package/src/kit/messages.ts +5 -5
  137. package/src/kit/types.ts +13 -13
  138. package/src/lib/EventEmitter.ts +8 -8
  139. package/src/lib/__PRODUCTION__.ts +2 -2
  140. package/src/lib/throttle.ts +12 -12
  141. package/src/types.ts +20 -20
  142. package/dist/channel/index.d.ts +0 -10
  143. package/dist/index.cjs.map +0 -1
  144. package/dist/index.js.map +0 -1
  145. package/dist/kit/index.d.ts +0 -8
  146. package/dist/kit.cjs.map +0 -1
  147. package/dist/kit.js.map +0 -1
  148. package/dist/lib/__PRODUCTION__.d.ts +0 -7
  149. package/dist/lib/throttle.d.ts +0 -1
@@ -1,14 +1,14 @@
1
1
  const div = (content: string) =>
2
- `<div style="word-spacing: initial; white-space: pre; line-height: initial; font-family: monospace; color: #ffffff; mix-blend-mode: difference; padding: 1rem; font-size: 1rem;">${content}</div>`;
2
+ `<div style="word-spacing: initial; white-space: pre; line-height: initial; font-family: monospace; color: #ffffff; mix-blend-mode: difference; padding: 1rem; font-size: 1rem;">${content}</div>`
3
3
 
4
4
  const a = (href: string, label?: string) =>
5
- `<a href="${href}" style="text-decoration: underline;">${label || href}<a>`;
5
+ `<a href="${href}" style="text-decoration: underline;">${label || href}<a>`
6
6
 
7
7
  const header =
8
- " _____ ___ _____ _ __ __ \n / ___// (_)_______ / ___/(_)___ ___ __ __/ /___ _/ /_____ _____\n \\__ \\/ / / ___/ _ \\\\__ \\/ / __ `__ \\/ / / / / __ `/ __/ __ \\/ ___/\n ___/ / / / /__/ __/__/ / / / / / / / /_/ / / /_/ / /_/ /_/ / / \n/____/_/_/\\___/\\___/____/_/_/ /_/ /_/\\__,_/_/\\__,_/\\__/\\____/_/ \n / /_ __ __ / __ \\_____(_)________ ___ (_)____\n / __ \\/ / / / / /_/ / ___/ / ___/ __ `__ \\/ / ___/\n / /_/ / /_/ / / ____/ / / (__ ) / / / / / / /__ \n /_.___/\\__, / /_/ /_/ /_/____/_/ /_/ /_/_/\\___/ \n /____/\n\n";
8
+ " _____ ___ _____ _ __ __ \n / ___// (_)_______ / ___/(_)___ ___ __ __/ /___ _/ /_____ _____\n \\__ \\/ / / ___/ _ \\\\__ \\/ / __ `__ \\/ / / / / __ `/ __/ __ \\/ ___/\n ___/ / / / /__/ __/__/ / / / / / / / /_/ / / /_/ / /_/ /_/ / / \n/____/_/_/\\___/\\___/____/_/_/ /_/ /_/\\__,_/_/\\__,_/\\__/\\____/_/ \n / /_ __ __ / __ \\_____(_)________ ___ (_)____\n / __ \\/ / / / / /_/ / ___/ / ___/ __ `__ \\/ / ___/\n / /_/ / /_/ / / ____/ / / (__ ) / / / / / / /__ \n /_.___/\\__, / /_/ /_/ /_/____/_/ /_/ /_/_/\\___/ \n /____/\n\n"
9
9
 
10
10
  const footer =
11
- "\n\n\n\n\n\n - The Prismic team";
11
+ "\n\n\n\n\n\n - The Prismic team"
12
12
 
13
13
  export const sliceSimulatorAccessedDirectly = div(
14
14
  [
@@ -22,4 +22,4 @@ export const sliceSimulatorAccessedDirectly = div(
22
22
  )}`,
23
23
  footer,
24
24
  ].join(""),
25
- );
25
+ )
package/src/kit/types.ts CHANGED
@@ -1,8 +1,8 @@
1
- import type { SliceZone } from "@prismicio/client";
1
+ import type { SliceZone } from "@prismicio/client"
2
2
 
3
- import type { ActiveSlice } from "../types";
3
+ import type { ActiveSlice } from "../types"
4
4
 
5
- import type { SimulatorManager } from "./SimulatorManager";
5
+ import type { SimulatorManager } from "./SimulatorManager"
6
6
 
7
7
  export enum StateEventType {
8
8
  Slices = "slices",
@@ -11,20 +11,20 @@ export enum StateEventType {
11
11
  }
12
12
 
13
13
  export type StateEvents = {
14
- [StateEventType.Slices]: SliceZone;
15
- [StateEventType.ActiveSlice]: ActiveSlice | null;
16
- [StateEventType.Message]: string;
17
- };
14
+ [StateEventType.Slices]: SliceZone
15
+ [StateEventType.ActiveSlice]: ActiveSlice | null
16
+ [StateEventType.Message]: string
17
+ }
18
18
 
19
19
  export interface SliceSimulatorProps {
20
- zIndex?: number;
21
- background?: string;
20
+ zIndex?: number
21
+ background?: string
22
22
  }
23
23
 
24
24
  export interface SliceSimulatorState {
25
- manager: SimulatorManager;
26
- slices: SliceZone;
27
- message: string;
25
+ manager: SimulatorManager
26
+ slices: SliceZone
27
+ message: string
28
28
  }
29
29
 
30
- export type SliceSimulatorOptions = SliceSimulatorProps & SliceSimulatorState;
30
+ export type SliceSimulatorOptions = SliceSimulatorProps & SliceSimulatorState
@@ -1,13 +1,13 @@
1
- export type Listener<T> = (event: T) => void;
1
+ export type Listener<T> = (event: T) => void
2
2
 
3
3
  export type EventMap = {
4
- [K in string]: unknown;
5
- };
4
+ [K in string]: unknown
5
+ }
6
6
 
7
7
  export abstract class EventEmitter<TEventMap = EventMap> {
8
8
  private _listeners: {
9
- [K in keyof TEventMap]?: [Listener<TEventMap[K]>, string | null][];
10
- } = {};
9
+ [K in keyof TEventMap]?: [Listener<TEventMap[K]>, string | null][]
10
+ } = {}
11
11
 
12
12
  on<TEventType extends keyof TEventMap>(
13
13
  event: TEventType,
@@ -17,7 +17,7 @@ export abstract class EventEmitter<TEventMap = EventMap> {
17
17
  this._listeners[event] = [
18
18
  ...(this._listeners[event] ?? []),
19
19
  [listener, key],
20
- ];
20
+ ]
21
21
  }
22
22
 
23
23
  off<TEventType extends keyof TEventMap>(
@@ -29,13 +29,13 @@ export abstract class EventEmitter<TEventMap = EventMap> {
29
29
  typeof listenerOrKey === "function"
30
30
  ? listener !== listenerOrKey
31
31
  : key !== listenerOrKey,
32
- );
32
+ )
33
33
  }
34
34
 
35
35
  emit<TEventType extends keyof TEventMap>(
36
36
  event: TEventType,
37
37
  payload: TEventMap[TEventType],
38
38
  ): void {
39
- (this._listeners[event] ?? []).forEach((listener) => listener[0](payload));
39
+ ;(this._listeners[event] ?? []).forEach((listener) => listener[0](payload))
40
40
  }
41
41
  }
@@ -1,6 +1,6 @@
1
1
  // We need to polyfill process if it doesn't exist, such as in the browser.
2
2
  if (typeof process === "undefined") {
3
- globalThis.process = { env: {} } as typeof process;
3
+ globalThis.process = { env: {} } as typeof process
4
4
  }
5
5
 
6
6
  /**
@@ -9,4 +9,4 @@ if (typeof process === "undefined") {
9
9
  * This boolean can be used to perform actions only in development environments,
10
10
  * such as logging.
11
11
  */
12
- export const __PRODUCTION__ = process.env.NODE_ENV === "production";
12
+ export const __PRODUCTION__ = process.env.NODE_ENV === "production"
@@ -3,24 +3,24 @@ export const throttle = <TFn extends (...args: any[]) => any>(
3
3
  fn: TFn,
4
4
  delay = 16,
5
5
  ): ((...args: Parameters<TFn>) => void) => {
6
- let lastExec = 0;
7
- let timer: NodeJS.Timeout | null = null;
6
+ let lastExec = 0
7
+ let timer: NodeJS.Timeout | null = null
8
8
 
9
9
  return function (this: unknown, ...args: Parameters<TFn>) {
10
- const now = Date.now();
11
- const delta = now - lastExec;
10
+ const now = Date.now()
11
+ const delta = now - lastExec
12
12
 
13
13
  if (delta >= delay) {
14
- fn.apply(this, args);
15
- lastExec = now;
14
+ fn.apply(this, args)
15
+ lastExec = now
16
16
  } else {
17
17
  if (timer) {
18
- clearTimeout(timer);
18
+ clearTimeout(timer)
19
19
  }
20
20
  timer = setTimeout(() => {
21
- fn.apply(this, args);
22
- lastExec = Date.now();
23
- }, delay - delta);
21
+ fn.apply(this, args)
22
+ lastExec = Date.now()
23
+ }, delay - delta)
24
24
  }
25
- };
26
- };
25
+ }
26
+ }
package/src/types.ts CHANGED
@@ -1,17 +1,17 @@
1
- import { SliceZone } from "@prismicio/client";
1
+ import type { SliceZone } from "@prismicio/client"
2
2
 
3
- import { RequestMessage, ResponseMessage, Transaction } from "./channel";
3
+ import type { RequestMessage, ResponseMessage, Transaction } from "./channel"
4
4
 
5
5
  export type ActiveSlice = {
6
- rect: DOMRect;
7
- sliceID: string;
8
- variationID: string;
9
- index: number;
10
- };
6
+ rect: DOMRect
7
+ sliceID: string
8
+ variationID: string
9
+ index: number
10
+ }
11
11
 
12
12
  export type SliceZoneSize = {
13
- rect: DOMRect;
14
- };
13
+ rect: DOMRect
14
+ }
15
15
 
16
16
  export enum APIRequestType {
17
17
  SetActiveSlice = "setActiveSlice",
@@ -21,11 +21,11 @@ export enum APIRequestType {
21
21
  export type APITransactions = {
22
22
  [APIRequestType.SetActiveSlice]: Transaction<
23
23
  RequestMessage<APIRequestType.SetActiveSlice, ActiveSlice | null>
24
- >;
24
+ >
25
25
  [APIRequestType.SetSliceZoneSize]: Transaction<
26
26
  RequestMessage<APIRequestType.SetSliceZoneSize, SliceZoneSize>
27
- >;
28
- };
27
+ >
28
+ }
29
29
 
30
30
  export enum ClientRequestType {
31
31
  Ping = "ping",
@@ -37,21 +37,21 @@ export type ClientTransactions = {
37
37
  [ClientRequestType.Ping]: Transaction<
38
38
  RequestMessage<ClientRequestType.Ping>,
39
39
  ResponseMessage<"pong">
40
- >;
40
+ >
41
41
 
42
42
  [ClientRequestType.SetSliceZone]: Transaction<
43
43
  RequestMessage<ClientRequestType.SetSliceZone, SliceZone>
44
- >;
44
+ >
45
45
 
46
46
  [ClientRequestType.ScrollToSlice]: Transaction<
47
47
  RequestMessage<
48
48
  ClientRequestType.ScrollToSlice,
49
49
  {
50
- sliceIndex: number;
51
- behavior?: "auto" | "smooth";
52
- block?: "start" | "center" | "end" | "nearest";
53
- inline?: "start" | "center" | "end" | "nearest";
50
+ sliceIndex: number
51
+ behavior?: "auto" | "smooth"
52
+ block?: "start" | "center" | "end" | "nearest"
53
+ inline?: "start" | "center" | "end" | "nearest"
54
54
  }
55
55
  >
56
- >;
57
- };
56
+ >
57
+ }
@@ -1,10 +0,0 @@
1
- export { ChannelNetwork, channelNetworkDefaultOptions } from "./ChannelNetwork";
2
- export type { PostRequestOptions, ChannelNetworkOptions, } from "./ChannelNetwork";
3
- export { ChannelEmitter, channelEmitterDefaultOptions } from "./ChannelEmitter";
4
- export type { ChannelEmitterOptions, AllChannelEmitterOptions, } from "./ChannelEmitter";
5
- export { ChannelReceiver, channelReceiverDefaultOptions, } from "./ChannelReceiver";
6
- export type { ChannelReceiverOptions, AllChannelReceiverOptions, } from "./ChannelReceiver";
7
- export { createRequestMessage, createSuccessResponseMessage, createErrorResponseMessage, validateMessage, isRequestMessage, isResponseMessage, isSuccessResponseMessage, isErrorResponseMessage, } from "./messages";
8
- export { ResponseError, ConnectionTimeoutError, TooManyConcurrentRequestsError, RequestTimeoutError, NotReadyError, PortNotSetError, ChannelNotSetError, } from "./errors";
9
- export { InternalEmitterRequestType, InternalReceiverRequestType, } from "./types";
10
- export type { RequestMessage, ResponseMessage, ErrorResponseMessage, SuccessResponseMessage, ExtractSuccessResponseMessage, ExtractErrorResponseMessage, UnknownRequestMessage, UnknownSuccessResponseMessage, UnknownErrorResponseMessage, UnknownResponseMessage, UnknownMessage, Transaction, TransactionMethod, TransactionHandler, TransactionsMethods, TransactionsHandlers, UnknownTransaction, UnknownTransactionMethod, UnknownTransactionHandler, InternalEmitterTransactions, InternalReceiverTransactions, } from "./types";
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,8 +0,0 @@
1
- export { SimulatorManager } from "./SimulatorManager";
2
- export { State } from "./State";
3
- export { getDefaultProps, getDefaultSlices, getDefaultMessage, } from "./getDefault";
4
- export { simulatorClass, simulatorRootClass, getSliceZoneDOM, getActiveSliceDOM, } from "./domHelpers";
5
- export { disableEventHandler, onClickHandler } from "./eventHandlers";
6
- export { sliceSimulatorAccessedDirectly } from "./messages";
7
- export { StateEventType } from "./types";
8
- export type { StateEvents, SliceSimulatorProps, SliceSimulatorState, SliceSimulatorOptions, } from "./types";
package/dist/kit.cjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"kit.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/kit.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"kit.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,7 +0,0 @@
1
- /**
2
- * `true` if in the production environment, `false` otherwise.
3
- *
4
- * This boolean can be used to perform actions only in development environments,
5
- * such as logging.
6
- */
7
- export declare const __PRODUCTION__: boolean;
@@ -1 +0,0 @@
1
- export declare const throttle: <TFn extends (...args: any[]) => any>(fn: TFn, delay?: number) => (...args: Parameters<TFn>) => void;