@react-text-game/core 0.5.15 → 0.5.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.
- package/dist/audio/audioTrack.d.ts +15 -0
- package/dist/audio/audioTrack.d.ts.map +1 -1
- package/dist/audio/audioTrack.js +32 -3
- package/dist/audio/audioTrack.js.map +1 -1
- package/dist/passages/interactiveMap/interactiveMap.d.ts.map +1 -1
- package/dist/passages/interactiveMap/interactiveMap.js +3 -1
- package/dist/passages/interactiveMap/interactiveMap.js.map +1 -1
- package/dist/passages/passage.d.ts +32 -0
- package/dist/passages/passage.d.ts.map +1 -1
- package/dist/passages/passage.js +36 -0
- package/dist/passages/passage.js.map +1 -1
- package/dist/passages/story/story.d.ts.map +1 -1
- package/dist/passages/story/story.js +3 -1
- package/dist/passages/story/story.js.map +1 -1
- package/dist/passages/widget.d.ts +48 -20
- package/dist/passages/widget.d.ts.map +1 -1
- package/dist/passages/widget.js +44 -18
- package/dist/passages/widget.js.map +1 -1
- package/dist/tests/passageDisplayCache.test.d.ts +2 -0
- package/dist/tests/passageDisplayCache.test.d.ts.map +1 -0
- package/dist/tests/passageDisplayCache.test.js +330 -0
- package/dist/tests/passageDisplayCache.test.js.map +1 -0
- package/dist/tests/widget.test.d.ts +2 -0
- package/dist/tests/widget.test.d.ts.map +1 -0
- package/dist/tests/widget.test.js +281 -0
- package/dist/tests/widget.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -31,6 +31,10 @@ export declare class AudioTrack {
|
|
|
31
31
|
private readonly state;
|
|
32
32
|
private readonly jsonPath;
|
|
33
33
|
private readonly unsubscribe?;
|
|
34
|
+
/** The original volume from options, used as target for fadeIn when current volume is corrupted */
|
|
35
|
+
private readonly originalVolume;
|
|
36
|
+
/** Animation frame ID for the current fade, used to cancel ongoing fades */
|
|
37
|
+
private fadeAnimationId;
|
|
34
38
|
constructor(src: string, options?: AudioOptions);
|
|
35
39
|
/**
|
|
36
40
|
* Attaches event listeners to sync HTMLAudioElement state with reactive state.
|
|
@@ -146,6 +150,8 @@ export declare class AudioTrack {
|
|
|
146
150
|
* Fades in the audio over a specified duration.
|
|
147
151
|
*
|
|
148
152
|
* Starts at volume 0 and gradually increases to the target volume.
|
|
153
|
+
* Uses the original configured volume as the target, falling back to
|
|
154
|
+
* current state volume if it's non-zero.
|
|
149
155
|
*
|
|
150
156
|
* @param duration - Fade duration in milliseconds
|
|
151
157
|
* @returns Promise that resolves when fade completes
|
|
@@ -168,6 +174,15 @@ export declare class AudioTrack {
|
|
|
168
174
|
* ```
|
|
169
175
|
*/
|
|
170
176
|
fadeOut(duration?: number): Promise<void>;
|
|
177
|
+
/**
|
|
178
|
+
* Cancels any ongoing fade animation.
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```typescript
|
|
182
|
+
* audio.cancelFade();
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
cancelFade(): void;
|
|
171
186
|
/**
|
|
172
187
|
* Fades to a target volume over a specified duration.
|
|
173
188
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audioTrack.d.ts","sourceRoot":"","sources":["../../src/audio/audioTrack.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAkB,UAAU,EAAE,MAAM,SAAS,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,UAAU;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAa;
|
|
1
|
+
{"version":3,"file":"audioTrack.d.ts","sourceRoot":"","sources":["../../src/audio/audioTrack.ts"],"names":[],"mappings":"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"}
|
package/dist/audio/audioTrack.js
CHANGED
|
@@ -34,10 +34,15 @@ export class AudioTrack {
|
|
|
34
34
|
state;
|
|
35
35
|
jsonPath;
|
|
36
36
|
unsubscribe;
|
|
37
|
+
/** The original volume from options, used as target for fadeIn when current volume is corrupted */
|
|
38
|
+
originalVolume;
|
|
39
|
+
/** Animation frame ID for the current fade, used to cancel ongoing fades */
|
|
40
|
+
fadeAnimationId = null;
|
|
37
41
|
constructor(src, options = {}) {
|
|
38
42
|
this.id = options.id || `audio-${Date.now()}-${Math.random()}`;
|
|
39
43
|
this.src = src;
|
|
40
44
|
this.jsonPath = `${AUDIO_STORAGE_PATH}.${this.id}`;
|
|
45
|
+
this.originalVolume = options.volume ?? DEFAULT_AUDIO_OPTIONS.volume;
|
|
41
46
|
// Create reactive state with Valtio
|
|
42
47
|
this.state = proxy({
|
|
43
48
|
isPlaying: false,
|
|
@@ -273,6 +278,8 @@ export class AudioTrack {
|
|
|
273
278
|
* Fades in the audio over a specified duration.
|
|
274
279
|
*
|
|
275
280
|
* Starts at volume 0 and gradually increases to the target volume.
|
|
281
|
+
* Uses the original configured volume as the target, falling back to
|
|
282
|
+
* current state volume if it's non-zero.
|
|
276
283
|
*
|
|
277
284
|
* @param duration - Fade duration in milliseconds
|
|
278
285
|
* @returns Promise that resolves when fade completes
|
|
@@ -283,7 +290,11 @@ export class AudioTrack {
|
|
|
283
290
|
* ```
|
|
284
291
|
*/
|
|
285
292
|
async fadeIn(duration = 1000) {
|
|
286
|
-
|
|
293
|
+
// Cancel any ongoing fade first
|
|
294
|
+
this.cancelFade();
|
|
295
|
+
// Use original volume as target, or current state.volume if non-zero
|
|
296
|
+
// This prevents issues when fadeIn is called while a previous fade left volume at 0
|
|
297
|
+
const targetVolume = this.state.volume > 0 ? this.state.volume : this.originalVolume;
|
|
287
298
|
this.state.volume = 0;
|
|
288
299
|
this.audioElement.volume = 0;
|
|
289
300
|
await this.play();
|
|
@@ -301,9 +312,25 @@ export class AudioTrack {
|
|
|
301
312
|
* ```
|
|
302
313
|
*/
|
|
303
314
|
async fadeOut(duration = 1000) {
|
|
315
|
+
// Cancel any ongoing fade first
|
|
316
|
+
this.cancelFade();
|
|
304
317
|
await this.fadeTo(0, duration);
|
|
305
318
|
this.stop();
|
|
306
319
|
}
|
|
320
|
+
/**
|
|
321
|
+
* Cancels any ongoing fade animation.
|
|
322
|
+
*
|
|
323
|
+
* @example
|
|
324
|
+
* ```typescript
|
|
325
|
+
* audio.cancelFade();
|
|
326
|
+
* ```
|
|
327
|
+
*/
|
|
328
|
+
cancelFade() {
|
|
329
|
+
if (this.fadeAnimationId !== null) {
|
|
330
|
+
cancelAnimationFrame(this.fadeAnimationId);
|
|
331
|
+
this.fadeAnimationId = null;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
307
334
|
/**
|
|
308
335
|
* Fades to a target volume over a specified duration.
|
|
309
336
|
*
|
|
@@ -323,13 +350,14 @@ export class AudioTrack {
|
|
|
323
350
|
this.audioElement.volume = currentVolume;
|
|
324
351
|
this.state.volume = currentVolume;
|
|
325
352
|
if (progress < 1) {
|
|
326
|
-
requestAnimationFrame(fade);
|
|
353
|
+
this.fadeAnimationId = requestAnimationFrame(fade);
|
|
327
354
|
}
|
|
328
355
|
else {
|
|
356
|
+
this.fadeAnimationId = null;
|
|
329
357
|
resolve();
|
|
330
358
|
}
|
|
331
359
|
};
|
|
332
|
-
requestAnimationFrame(fade);
|
|
360
|
+
this.fadeAnimationId = requestAnimationFrame(fade);
|
|
333
361
|
});
|
|
334
362
|
}
|
|
335
363
|
/**
|
|
@@ -416,6 +444,7 @@ export class AudioTrack {
|
|
|
416
444
|
* ```
|
|
417
445
|
*/
|
|
418
446
|
dispose() {
|
|
447
|
+
this.cancelFade();
|
|
419
448
|
this.stop();
|
|
420
449
|
this.unsubscribe?.();
|
|
421
450
|
AudioManager._unregisterTrack(this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audioTrack.js","sourceRoot":"","sources":["../../src/audio/audioTrack.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"audioTrack.js","sourceRoot":"","sources":["../../src/audio/audioTrack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactiveMap.d.ts","sourceRoot":"","sources":["../../../src/passages/interactiveMap/interactiveMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEnD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,cAAe,SAAQ,OAAO;IACvC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAEhD;;;;;OAKG;gBACS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;IAKtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,OAAO,CAAC,CAAC,SAAS,YAAY,GAAG,WAAW,EACxC,KAAK,GAAE,CAAW,GACnB,kBAAkB;
|
|
1
|
+
{"version":3,"file":"interactiveMap.d.ts","sourceRoot":"","sources":["../../../src/passages/interactiveMap/interactiveMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEnD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,cAAe,SAAQ,OAAO;IACvC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAEhD;;;;;OAKG;gBACS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;IAKtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,OAAO,CAAC,CAAC,SAAS,YAAY,GAAG,WAAW,EACxC,KAAK,GAAE,CAAW,GACnB,kBAAkB;CAmBxB"}
|
|
@@ -105,12 +105,14 @@ export class InteractiveMap extends Passage {
|
|
|
105
105
|
.filter((hotspot) => hotspot !== undefined);
|
|
106
106
|
const image = callIfFunction(this.options.image);
|
|
107
107
|
const bgImage = callIfFunction(this.options.bgImage);
|
|
108
|
-
|
|
108
|
+
const result = {
|
|
109
109
|
...this.options,
|
|
110
110
|
image,
|
|
111
111
|
bgImage,
|
|
112
112
|
hotspots,
|
|
113
113
|
};
|
|
114
|
+
this._lastDisplayResult = result;
|
|
115
|
+
return result;
|
|
114
116
|
}
|
|
115
117
|
}
|
|
116
118
|
//# sourceMappingURL=interactiveMap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactiveMap.js","sourceRoot":"","sources":["../../../src/passages/interactiveMap/interactiveMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,OAAO,cAAe,SAAQ,OAAO;IACvC;;OAEG;IACc,OAAO,CAAwB;IAEhD;;;;;OAKG;IACH,YAAY,EAAU,EAAE,OAA8B;QAClD,KAAK,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,OAAO,CACH,QAAW,EAAO;QAElB,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,aAAa;aACzB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAClD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAE,CAAC;QAEtD,
|
|
1
|
+
{"version":3,"file":"interactiveMap.js","sourceRoot":"","sources":["../../../src/passages/interactiveMap/interactiveMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,OAAO,cAAe,SAAQ,OAAO;IACvC;;OAEG;IACc,OAAO,CAAwB;IAEhD;;;;;OAKG;IACH,YAAY,EAAU,EAAE,OAA8B;QAClD,KAAK,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,OAAO,CACH,QAAW,EAAO;QAElB,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,aAAa;aACzB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAClD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAE,CAAC;QAEtD,MAAM,MAAM,GAAuB;YAC/B,GAAG,IAAI,CAAC,OAAO;YACf,KAAK;YACL,OAAO;YACP,QAAQ;SACX,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACjC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
|
|
@@ -35,6 +35,12 @@ export declare class Passage {
|
|
|
35
35
|
* Determines how the passage should be rendered in the UI.
|
|
36
36
|
*/
|
|
37
37
|
readonly type: PassageType;
|
|
38
|
+
/**
|
|
39
|
+
* Cached result from the last display() call.
|
|
40
|
+
* Used to access display data without re-executing content functions.
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
protected _lastDisplayResult: unknown;
|
|
38
44
|
/**
|
|
39
45
|
* Creates a new passage and automatically registers it with the Game.
|
|
40
46
|
*
|
|
@@ -53,5 +59,31 @@ export declare class Passage {
|
|
|
53
59
|
* @throws Error if not implemented by subclass
|
|
54
60
|
*/
|
|
55
61
|
display<T extends InitVarsType = EmptyObject>(_props?: T): void;
|
|
62
|
+
/**
|
|
63
|
+
* Returns the cached result from the last display() call.
|
|
64
|
+
* Use this method to access passage data without re-executing content functions,
|
|
65
|
+
* which prevents unwanted side effects.
|
|
66
|
+
*
|
|
67
|
+
* @template T - Expected return type
|
|
68
|
+
* @returns The cached display result, or null if display() has never been called
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* const story = newStory('test', () => [{ type: 'text', content: 'Hello' }]);
|
|
73
|
+
*
|
|
74
|
+
* // First call to display() - executes content function
|
|
75
|
+
* const result = story.display();
|
|
76
|
+
*
|
|
77
|
+
* // Get cached result - does NOT execute content function again
|
|
78
|
+
* const cached = story.getLastDisplayResult();
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
getLastDisplayResult<T = unknown>(): T | null;
|
|
82
|
+
/**
|
|
83
|
+
* Checks if a cached display result exists.
|
|
84
|
+
*
|
|
85
|
+
* @returns true if display() has been called at least once, false otherwise
|
|
86
|
+
*/
|
|
87
|
+
hasDisplayCache(): boolean;
|
|
56
88
|
}
|
|
57
89
|
//# sourceMappingURL=passage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passage.d.ts","sourceRoot":"","sources":["../../src/passages/passage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,OAAO;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;;;;OAKG;gBACS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;IAMzC;;;;;;;;;OASG;IAEH,OAAO,CAAC,CAAC,SAAS,YAAY,GAAG,WAAW,EAAE,MAAM,GAAE,CAAW;
|
|
1
|
+
{"version":3,"file":"passage.d.ts","sourceRoot":"","sources":["../../src/passages/passage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,OAAO;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAQ;IAE7C;;;;;OAKG;gBACS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;IAMzC;;;;;;;;;OASG;IAEH,OAAO,CAAC,CAAC,SAAS,YAAY,GAAG,WAAW,EAAE,MAAM,GAAE,CAAW;IAMjE;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAAoB,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC,GAAG,IAAI;IAI7C;;;;OAIG;IACH,eAAe,IAAI,OAAO;CAG7B"}
|
package/dist/passages/passage.js
CHANGED
|
@@ -35,6 +35,12 @@ export class Passage {
|
|
|
35
35
|
* Determines how the passage should be rendered in the UI.
|
|
36
36
|
*/
|
|
37
37
|
type;
|
|
38
|
+
/**
|
|
39
|
+
* Cached result from the last display() call.
|
|
40
|
+
* Used to access display data without re-executing content functions.
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
_lastDisplayResult = null;
|
|
38
44
|
/**
|
|
39
45
|
* Creates a new passage and automatically registers it with the Game.
|
|
40
46
|
*
|
|
@@ -60,5 +66,35 @@ export class Passage {
|
|
|
60
66
|
display(_props = {}) {
|
|
61
67
|
throw new Error(`Display method not implemented for passage: ${this.id}`);
|
|
62
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Returns the cached result from the last display() call.
|
|
71
|
+
* Use this method to access passage data without re-executing content functions,
|
|
72
|
+
* which prevents unwanted side effects.
|
|
73
|
+
*
|
|
74
|
+
* @template T - Expected return type
|
|
75
|
+
* @returns The cached display result, or null if display() has never been called
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* const story = newStory('test', () => [{ type: 'text', content: 'Hello' }]);
|
|
80
|
+
*
|
|
81
|
+
* // First call to display() - executes content function
|
|
82
|
+
* const result = story.display();
|
|
83
|
+
*
|
|
84
|
+
* // Get cached result - does NOT execute content function again
|
|
85
|
+
* const cached = story.getLastDisplayResult();
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
getLastDisplayResult() {
|
|
89
|
+
return this._lastDisplayResult;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Checks if a cached display result exists.
|
|
93
|
+
*
|
|
94
|
+
* @returns true if display() has been called at least once, false otherwise
|
|
95
|
+
*/
|
|
96
|
+
hasDisplayCache() {
|
|
97
|
+
return this._lastDisplayResult !== null;
|
|
98
|
+
}
|
|
63
99
|
}
|
|
64
100
|
//# sourceMappingURL=passage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passage.js","sourceRoot":"","sources":["../../src/passages/passage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,OAAO;IAChB;;;OAGG;IACM,EAAE,CAAS;IAEpB;;;OAGG;IACM,IAAI,CAAc;IAE3B;;;;;OAKG;IACH,YAAY,EAAU,EAAE,IAAiB;QACrC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;;OASG;IACH,6DAA6D;IAC7D,OAAO,CAAuC,SAAY,EAAO;QAC7D,MAAM,IAAI,KAAK,CACX,+CAA+C,IAAI,CAAC,EAAE,EAAE,CAC3D,CAAC;IACN,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"passage.js","sourceRoot":"","sources":["../../src/passages/passage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,OAAO;IAChB;;;OAGG;IACM,EAAE,CAAS;IAEpB;;;OAGG;IACM,IAAI,CAAc;IAE3B;;;;OAIG;IACO,kBAAkB,GAAY,IAAI,CAAC;IAE7C;;;;;OAKG;IACH,YAAY,EAAU,EAAE,IAAiB;QACrC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;;OASG;IACH,6DAA6D;IAC7D,OAAO,CAAuC,SAAY,EAAO;QAC7D,MAAM,IAAI,KAAK,CACX,+CAA+C,IAAI,CAAC,EAAE,EAAE,CAC3D,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAAoB;QAChB,OAAO,IAAI,CAAC,kBAA8B,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,eAAe;QACX,OAAO,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC;IAC5C,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../../src/passages/story/story.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,KAAM,SAAQ,OAAO;IAC9B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IAEvC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IAEvC;;;;;;OAMG;gBACS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAE,YAAiB;IAMzE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,CAAC,SAAS,YAAY,GAAG,WAAW,EACxC,KAAK,GAAE,CAAW,GACnB;QAAE,OAAO,CAAC,EAAE,YAAY,CAAC;QAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;KAAE;
|
|
1
|
+
{"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../../src/passages/story/story.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,KAAM,SAAQ,OAAO;IAC9B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IAEvC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IAEvC;;;;;;OAMG;gBACS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAE,YAAiB;IAMzE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,CAAC,SAAS,YAAY,GAAG,WAAW,EACxC,KAAK,GAAE,CAAW,GACnB;QAAE,OAAO,CAAC,EAAE,YAAY,CAAC;QAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;KAAE;CAQ9D"}
|
|
@@ -79,10 +79,12 @@ export class Story extends Passage {
|
|
|
79
79
|
* ```
|
|
80
80
|
*/
|
|
81
81
|
display(props = {}) {
|
|
82
|
-
|
|
82
|
+
const result = {
|
|
83
83
|
options: this.options,
|
|
84
84
|
components: this.content(props),
|
|
85
85
|
};
|
|
86
|
+
this._lastDisplayResult = result;
|
|
87
|
+
return result;
|
|
86
88
|
}
|
|
87
89
|
}
|
|
88
90
|
//# sourceMappingURL=story.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"story.js","sourceRoot":"","sources":["../../../src/passages/story/story.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,OAAO,KAAM,SAAQ,OAAO;IAC9B;;OAEG;IACc,OAAO,CAAe;IAEvC;;OAEG;IACc,OAAO,CAAe;IAEvC;;;;;;OAMG;IACH,YAAY,EAAU,EAAE,OAAqB,EAAE,UAAwB,EAAE;QACrE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CACH,QAAW,EAAO;QAElB,
|
|
1
|
+
{"version":3,"file":"story.js","sourceRoot":"","sources":["../../../src/passages/story/story.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,OAAO,KAAM,SAAQ,OAAO;IAC9B;;OAEG;IACc,OAAO,CAAe;IAEvC;;OAEG;IACc,OAAO,CAAe;IAEvC;;;;;;OAMG;IACH,YAAY,EAAU,EAAE,OAAqB,EAAE,UAAwB,EAAE;QACrE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CACH,QAAW,EAAO;QAElB,MAAM,MAAM,GAAG;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;SAClC,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACjC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
|
|
@@ -2,18 +2,29 @@ import { ReactNode } from "react";
|
|
|
2
2
|
import { Passage } from "../passages/passage";
|
|
3
3
|
/**
|
|
4
4
|
* Content type for Widget passages.
|
|
5
|
-
* Can be a ReactNode directly, or a
|
|
5
|
+
* Can be a ReactNode directly, or a React functional component.
|
|
6
|
+
*
|
|
7
|
+
* **Important:** When passing a function, it is always treated as a React
|
|
8
|
+
* component and rendered via `createElement`. This ensures hooks work correctly
|
|
9
|
+
* even in minified production builds where function names are mangled.
|
|
6
10
|
*
|
|
7
11
|
* @example
|
|
8
12
|
* ```typescript
|
|
9
|
-
* // As ReactNode
|
|
13
|
+
* // As ReactNode (static content)
|
|
10
14
|
* const content: WidgetContent = <div>Hello</div>;
|
|
11
15
|
*
|
|
12
|
-
* // As
|
|
13
|
-
* const
|
|
16
|
+
* // As React component (supports hooks)
|
|
17
|
+
* const MyComponent = () => {
|
|
18
|
+
* const [count, setCount] = useState(0);
|
|
19
|
+
* return <div>Count: {count}</div>;
|
|
20
|
+
* };
|
|
21
|
+
* const content: WidgetContent = MyComponent;
|
|
22
|
+
*
|
|
23
|
+
* // For dynamic content without hooks, pre-evaluate the function:
|
|
24
|
+
* const content: WidgetContent = (() => <div>{Date.now()}</div>)();
|
|
14
25
|
* ```
|
|
15
26
|
*/
|
|
16
|
-
export type WidgetContent = ReactNode |
|
|
27
|
+
export type WidgetContent = ReactNode | React.FC;
|
|
17
28
|
/**
|
|
18
29
|
* Custom React component passage for fully customized UI.
|
|
19
30
|
*
|
|
@@ -21,11 +32,15 @@ export type WidgetContent = ReactNode | (() => ReactNode);
|
|
|
21
32
|
* providing complete control over the UI when the built-in passage types
|
|
22
33
|
* (Story, InteractiveMap) don't meet your needs.
|
|
23
34
|
*
|
|
35
|
+
* **Important:** When passing a function, it is always treated as a React
|
|
36
|
+
* component and rendered via `createElement`. This ensures hooks work correctly
|
|
37
|
+
* even in minified production builds.
|
|
38
|
+
*
|
|
24
39
|
* @example
|
|
25
40
|
* ```typescript
|
|
26
41
|
* import { newWidget } from '@react-text-game/core';
|
|
27
42
|
*
|
|
28
|
-
* // With ReactNode
|
|
43
|
+
* // With ReactNode (static content)
|
|
29
44
|
* const inventoryUI = newWidget('inventory', (
|
|
30
45
|
* <div className="inventory">
|
|
31
46
|
* <h2>Your Inventory</h2>
|
|
@@ -34,13 +49,12 @@ export type WidgetContent = ReactNode | (() => ReactNode);
|
|
|
34
49
|
* </div>
|
|
35
50
|
* ));
|
|
36
51
|
*
|
|
37
|
-
* // With
|
|
38
|
-
* const
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* ));
|
|
52
|
+
* // With React component (supports hooks)
|
|
53
|
+
* const MyMenu = () => {
|
|
54
|
+
* const [selected, setSelected] = useState(null);
|
|
55
|
+
* return <MenuUI selected={selected} onSelect={setSelected} />;
|
|
56
|
+
* };
|
|
57
|
+
* const menuWidget = newWidget('menu', MyMenu);
|
|
44
58
|
*
|
|
45
59
|
* // Navigate to custom UI
|
|
46
60
|
* Game.jumpTo(inventoryUI);
|
|
@@ -62,7 +76,12 @@ export declare class Widget extends Passage {
|
|
|
62
76
|
constructor(id: string, content: WidgetContent);
|
|
63
77
|
/**
|
|
64
78
|
* Returns the React node for rendering.
|
|
65
|
-
* If content is a function, it
|
|
79
|
+
* If content is a function, it is treated as a React component and
|
|
80
|
+
* rendered via createElement to properly support hooks.
|
|
81
|
+
*
|
|
82
|
+
* **Note:** Functions are always rendered via `createElement`, never called
|
|
83
|
+
* directly. This ensures hooks work correctly in minified builds where
|
|
84
|
+
* function names are mangled to lowercase identifiers.
|
|
66
85
|
*
|
|
67
86
|
* @returns The React content to be rendered
|
|
68
87
|
*/
|
|
@@ -71,21 +90,30 @@ export declare class Widget extends Passage {
|
|
|
71
90
|
/**
|
|
72
91
|
* Factory function for creating Widget passages.
|
|
73
92
|
*
|
|
93
|
+
* **Important:** When passing a function, it is always treated as a React
|
|
94
|
+
* component and rendered via `createElement`. This ensures hooks work correctly
|
|
95
|
+
* even in minified production builds where function names are mangled.
|
|
96
|
+
*
|
|
74
97
|
* @param id - Unique identifier for the widget
|
|
75
|
-
* @param content - React node or
|
|
98
|
+
* @param content - React node or React functional component to display
|
|
76
99
|
* @returns New Widget instance
|
|
77
100
|
*
|
|
78
101
|
* @example
|
|
79
102
|
* ```typescript
|
|
80
|
-
* // With ReactNode
|
|
103
|
+
* // With ReactNode (static content)
|
|
81
104
|
* const customMenu = newWidget('menu', (
|
|
82
105
|
* <CustomMenuComponent />
|
|
83
106
|
* ));
|
|
84
107
|
*
|
|
85
|
-
* // With
|
|
86
|
-
* const
|
|
87
|
-
*
|
|
88
|
-
*
|
|
108
|
+
* // With React component (supports hooks)
|
|
109
|
+
* const MyComponent = () => {
|
|
110
|
+
* const [count, setCount] = useState(0);
|
|
111
|
+
* return <Counter count={count} onChange={setCount} />;
|
|
112
|
+
* };
|
|
113
|
+
* const counterWidget = newWidget('counter', MyComponent);
|
|
114
|
+
*
|
|
115
|
+
* // For dynamic content without hooks, pre-evaluate:
|
|
116
|
+
* const timestampWidget = newWidget('time', (() => <div>{Date.now()}</div>)());
|
|
89
117
|
* ```
|
|
90
118
|
*/
|
|
91
119
|
export declare const newWidget: (id: string, content: WidgetContent) => Widget;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../src/passages/widget.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../src/passages/widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,MAAO,SAAQ,OAAO;IAC/B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IAExC;;;;;OAKG;gBACS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa;IAK9C;;;;;;;;;;OAUG;IACH,OAAO,IAAI,SAAS;CAcvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,SAAS,GAAI,IAAI,MAAM,EAAE,SAAS,aAAa,WACjC,CAAC"}
|
package/dist/passages/widget.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
1
2
|
import { Passage } from "../passages/passage";
|
|
2
3
|
/**
|
|
3
4
|
* Custom React component passage for fully customized UI.
|
|
@@ -6,11 +7,15 @@ import { Passage } from "../passages/passage";
|
|
|
6
7
|
* providing complete control over the UI when the built-in passage types
|
|
7
8
|
* (Story, InteractiveMap) don't meet your needs.
|
|
8
9
|
*
|
|
10
|
+
* **Important:** When passing a function, it is always treated as a React
|
|
11
|
+
* component and rendered via `createElement`. This ensures hooks work correctly
|
|
12
|
+
* even in minified production builds.
|
|
13
|
+
*
|
|
9
14
|
* @example
|
|
10
15
|
* ```typescript
|
|
11
16
|
* import { newWidget } from '@react-text-game/core';
|
|
12
17
|
*
|
|
13
|
-
* // With ReactNode
|
|
18
|
+
* // With ReactNode (static content)
|
|
14
19
|
* const inventoryUI = newWidget('inventory', (
|
|
15
20
|
* <div className="inventory">
|
|
16
21
|
* <h2>Your Inventory</h2>
|
|
@@ -19,13 +24,12 @@ import { Passage } from "../passages/passage";
|
|
|
19
24
|
* </div>
|
|
20
25
|
* ));
|
|
21
26
|
*
|
|
22
|
-
* // With
|
|
23
|
-
* const
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* ));
|
|
27
|
+
* // With React component (supports hooks)
|
|
28
|
+
* const MyMenu = () => {
|
|
29
|
+
* const [selected, setSelected] = useState(null);
|
|
30
|
+
* return <MenuUI selected={selected} onSelect={setSelected} />;
|
|
31
|
+
* };
|
|
32
|
+
* const menuWidget = newWidget('menu', MyMenu);
|
|
29
33
|
*
|
|
30
34
|
* // Navigate to custom UI
|
|
31
35
|
* Game.jumpTo(inventoryUI);
|
|
@@ -50,34 +54,56 @@ export class Widget extends Passage {
|
|
|
50
54
|
}
|
|
51
55
|
/**
|
|
52
56
|
* Returns the React node for rendering.
|
|
53
|
-
* If content is a function, it
|
|
57
|
+
* If content is a function, it is treated as a React component and
|
|
58
|
+
* rendered via createElement to properly support hooks.
|
|
59
|
+
*
|
|
60
|
+
* **Note:** Functions are always rendered via `createElement`, never called
|
|
61
|
+
* directly. This ensures hooks work correctly in minified builds where
|
|
62
|
+
* function names are mangled to lowercase identifiers.
|
|
54
63
|
*
|
|
55
64
|
* @returns The React content to be rendered
|
|
56
65
|
*/
|
|
57
66
|
display() {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
67
|
+
let result;
|
|
68
|
+
if (typeof this.content === "function") {
|
|
69
|
+
// Always use createElement for functions to ensure hooks work
|
|
70
|
+
// correctly in minified builds where function names are mangled
|
|
71
|
+
result = createElement(this.content);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
result = this.content;
|
|
75
|
+
}
|
|
76
|
+
this._lastDisplayResult = result;
|
|
77
|
+
return result;
|
|
61
78
|
}
|
|
62
79
|
}
|
|
63
80
|
/**
|
|
64
81
|
* Factory function for creating Widget passages.
|
|
65
82
|
*
|
|
83
|
+
* **Important:** When passing a function, it is always treated as a React
|
|
84
|
+
* component and rendered via `createElement`. This ensures hooks work correctly
|
|
85
|
+
* even in minified production builds where function names are mangled.
|
|
86
|
+
*
|
|
66
87
|
* @param id - Unique identifier for the widget
|
|
67
|
-
* @param content - React node or
|
|
88
|
+
* @param content - React node or React functional component to display
|
|
68
89
|
* @returns New Widget instance
|
|
69
90
|
*
|
|
70
91
|
* @example
|
|
71
92
|
* ```typescript
|
|
72
|
-
* // With ReactNode
|
|
93
|
+
* // With ReactNode (static content)
|
|
73
94
|
* const customMenu = newWidget('menu', (
|
|
74
95
|
* <CustomMenuComponent />
|
|
75
96
|
* ));
|
|
76
97
|
*
|
|
77
|
-
* // With
|
|
78
|
-
* const
|
|
79
|
-
*
|
|
80
|
-
*
|
|
98
|
+
* // With React component (supports hooks)
|
|
99
|
+
* const MyComponent = () => {
|
|
100
|
+
* const [count, setCount] = useState(0);
|
|
101
|
+
* return <Counter count={count} onChange={setCount} />;
|
|
102
|
+
* };
|
|
103
|
+
* const counterWidget = newWidget('counter', MyComponent);
|
|
104
|
+
*
|
|
105
|
+
* // For dynamic content without hooks, pre-evaluate:
|
|
106
|
+
* const timestampWidget = newWidget('time', (() => <div>{Date.now()}</div>)());
|
|
81
107
|
* ```
|
|
82
108
|
*/
|
|
83
109
|
export const newWidget = (id, content) => new Widget(id, content);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../src/passages/widget.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../src/passages/widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AA4B5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,OAAO,MAAO,SAAQ,OAAO;IAC/B;;OAEG;IACc,OAAO,CAAgB;IAExC;;;;;OAKG;IACH,YAAY,EAAU,EAAE,OAAsB;QAC1C,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO;QACH,IAAI,MAAiB,CAAC;QAEtB,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACrC,8DAA8D;YAC9D,gEAAgE;YAChE,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACjC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,OAAsB,EAAE,EAAE,CAC5D,IAAI,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passageDisplayCache.test.d.ts","sourceRoot":"","sources":["../../src/tests/passageDisplayCache.test.ts"],"names":[],"mappings":""}
|