gdcore-tools 2.0.0-gd-v5.5.223-autobuild → 2.0.0-gd-v5.5.225-autobuild

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 (202) hide show
  1. package/dist/Runtime/CustomRuntimeObject.js +1 -1
  2. package/dist/Runtime/CustomRuntimeObject.js.map +2 -2
  3. package/dist/Runtime/CustomRuntimeObject2D.js.map +2 -2
  4. package/dist/Runtime/Extensions/3D/A_RuntimeObject3D.js.map +2 -2
  5. package/dist/Runtime/Extensions/3D/Base3DBehavior.js.map +2 -2
  6. package/dist/Runtime/Extensions/3D/Cube3DRuntimeObject.js +1 -1
  7. package/dist/Runtime/Extensions/3D/Cube3DRuntimeObject.js.map +2 -2
  8. package/dist/Runtime/Extensions/3D/Cube3DRuntimeObjectPixiRenderer.js +1 -1
  9. package/dist/Runtime/Extensions/3D/Cube3DRuntimeObjectPixiRenderer.js.map +2 -2
  10. package/dist/Runtime/Extensions/3D/CustomRuntimeObject3D.js.map +2 -2
  11. package/dist/Runtime/Extensions/3D/CustomRuntimeObject3DRenderer.js.map +2 -2
  12. package/dist/Runtime/Extensions/3D/JsExtension.js +219 -108
  13. package/dist/Runtime/Extensions/3D/Model3DRuntimeObject.js +1 -1
  14. package/dist/Runtime/Extensions/3D/Model3DRuntimeObject.js.map +2 -2
  15. package/dist/Runtime/Extensions/3D/Model3DRuntimeObject3DRenderer.js +1 -1
  16. package/dist/Runtime/Extensions/3D/Model3DRuntimeObject3DRenderer.js.map +2 -2
  17. package/dist/Runtime/Extensions/AdMob/JsExtension.js +63 -1
  18. package/dist/Runtime/Extensions/AdMob/admobtools.js +1 -1
  19. package/dist/Runtime/Extensions/AdMob/admobtools.js.map +2 -2
  20. package/dist/Runtime/Extensions/AdvancedWindow/electron-advancedwindowtools.js.map +2 -2
  21. package/dist/Runtime/Extensions/AnchorBehavior/anchorruntimebehavior.js +1 -1
  22. package/dist/Runtime/Extensions/AnchorBehavior/anchorruntimebehavior.js.map +2 -2
  23. package/dist/Runtime/Extensions/BBText/JsExtension.js +10 -9
  24. package/dist/Runtime/Extensions/BBText/bbtextruntimeobject.js.map +2 -2
  25. package/dist/Runtime/Extensions/BitmapText/JsExtension.js +4 -6
  26. package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject-pixi-renderer.js.map +2 -2
  27. package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject.js.map +2 -2
  28. package/dist/Runtime/Extensions/DialogueTree/dialoguetools.js.map +2 -2
  29. package/dist/Runtime/Extensions/DraggableBehavior/draggableruntimebehavior.js.map +2 -2
  30. package/dist/Runtime/Extensions/Effects/adjustment-pixi-filter.js.map +2 -2
  31. package/dist/Runtime/Extensions/Effects/advanced-bloom-pixi-filter.js.map +2 -2
  32. package/dist/Runtime/Extensions/Effects/ascii-pixi-filter.js.map +2 -2
  33. package/dist/Runtime/Extensions/Effects/bevel-pixi-filter.js.map +2 -2
  34. package/dist/Runtime/Extensions/Effects/black-and-white-pixi-filter.js.map +2 -2
  35. package/dist/Runtime/Extensions/Effects/blending-mode-pixi-filter.js.map +2 -2
  36. package/dist/Runtime/Extensions/Effects/brightness-pixi-filter.js.map +2 -2
  37. package/dist/Runtime/Extensions/Effects/bulge-pinch-pixi-filter.js.map +2 -2
  38. package/dist/Runtime/Extensions/Effects/color-map-pixi-filter.js.map +2 -2
  39. package/dist/Runtime/Extensions/Effects/color-replace-pixi-filter.js.map +2 -2
  40. package/dist/Runtime/Extensions/Effects/crt-pixi-filter.js.map +2 -2
  41. package/dist/Runtime/Extensions/Effects/displacement-pixi-filter.js.map +2 -2
  42. package/dist/Runtime/Extensions/Effects/dot-pixi-filter.js.map +2 -2
  43. package/dist/Runtime/Extensions/Effects/drop-shadow-pixi-filter.js.map +2 -2
  44. package/dist/Runtime/Extensions/Effects/glitch-pixi-filter.js.map +2 -2
  45. package/dist/Runtime/Extensions/Effects/glow-pixi-filter.js.map +2 -2
  46. package/dist/Runtime/Extensions/Effects/godray-pixi-filter.js.map +2 -2
  47. package/dist/Runtime/Extensions/Effects/kawase-blur-pixi-filter.js.map +2 -2
  48. package/dist/Runtime/Extensions/Effects/noise-pixi-filter.js.map +2 -2
  49. package/dist/Runtime/Extensions/Effects/old-film-pixi-filter.js.map +2 -2
  50. package/dist/Runtime/Extensions/Effects/outline-pixi-filter.js.map +2 -2
  51. package/dist/Runtime/Extensions/Effects/pixelate-pixi-filter.js.map +2 -2
  52. package/dist/Runtime/Extensions/Effects/pixi-filters/types/drop-shadow/types.d.ts +10 -4
  53. package/dist/Runtime/Extensions/Effects/radial-blur-pixi-filter.js.map +2 -2
  54. package/dist/Runtime/Extensions/Effects/reflection-pixi-filter.js.map +2 -2
  55. package/dist/Runtime/Extensions/Effects/rgb-split-pixi-filter.js.map +2 -2
  56. package/dist/Runtime/Extensions/Effects/sepia-pixi-filter.js.map +2 -2
  57. package/dist/Runtime/Extensions/Effects/shockwave-pixi-filter.js.map +2 -2
  58. package/dist/Runtime/Extensions/Effects/tilt-shift-pixi-filter.js.map +2 -2
  59. package/dist/Runtime/Extensions/Effects/twist-pixi-filter.js.map +2 -2
  60. package/dist/Runtime/Extensions/Effects/zoom-blur-pixi-filter.js.map +2 -2
  61. package/dist/Runtime/Extensions/ExampleJsExtension/dummyeffect.js.map +2 -2
  62. package/dist/Runtime/Extensions/FacebookInstantGames/facebookinstantgamestools.js.map +2 -2
  63. package/dist/Runtime/Extensions/Firebase/A_firebasejs/firebase.d.ts +5 -4
  64. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_cloudfirestoretools.js.map +2 -2
  65. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_remoteconfigtools.js.map +2 -2
  66. package/dist/Runtime/Extensions/Firebase/JsExtension.js +21 -21
  67. package/dist/Runtime/Extensions/JsExtensionTypes.d.ts +1 -0
  68. package/dist/Runtime/Extensions/Leaderboards/leaderboardstools.js.map +2 -2
  69. package/dist/Runtime/Extensions/Lighting/JsExtension.js +2 -2
  70. package/dist/Runtime/Extensions/Lighting/lightobstacleruntimebehavior.js.map +2 -2
  71. package/dist/Runtime/Extensions/Lighting/lightruntimeobject-pixi-renderer.js.map +2 -2
  72. package/dist/Runtime/Extensions/Lighting/lightruntimeobject.js.map +2 -2
  73. package/dist/Runtime/Extensions/LinkedObjects/linkedobjects.js.map +2 -2
  74. package/dist/Runtime/Extensions/Multiplayer/JsExtension.js +122 -0
  75. package/dist/Runtime/Extensions/Multiplayer/messageManager.js.map +2 -2
  76. package/dist/Runtime/Extensions/Multiplayer/multiplayerVariablesManager.js.map +2 -2
  77. package/dist/Runtime/Extensions/Multiplayer/multiplayercomponents.js +1 -1
  78. package/dist/Runtime/Extensions/Multiplayer/multiplayercomponents.js.map +2 -2
  79. package/dist/Runtime/Extensions/Multiplayer/multiplayerobjectruntimebehavior.js.map +2 -2
  80. package/dist/Runtime/Extensions/Multiplayer/multiplayertools.js +1 -1
  81. package/dist/Runtime/Extensions/Multiplayer/multiplayertools.js.map +2 -2
  82. package/dist/Runtime/Extensions/Multiplayer/peerJsHelper.js +1 -1
  83. package/dist/Runtime/Extensions/Multiplayer/peerJsHelper.js.map +2 -2
  84. package/dist/Runtime/Extensions/Multiplayer/peerjs.d.ts +8 -10
  85. package/dist/Runtime/Extensions/P2P/peerjs.d.ts +8 -10
  86. package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js.map +2 -2
  87. package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject.js.map +2 -2
  88. package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js.map +2 -2
  89. package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject.js.map +2 -2
  90. package/dist/Runtime/Extensions/ParticleSystem/pixi-particles-pixi-renderer.d.ts +2 -1
  91. package/dist/Runtime/Extensions/PathfindingBehavior/pathfindingobstacleruntimebehavior.js.map +2 -2
  92. package/dist/Runtime/Extensions/PathfindingBehavior/pathfindingruntimebehavior.js.map +2 -2
  93. package/dist/Runtime/Extensions/Physics2Behavior/JsExtension.js +106 -106
  94. package/dist/Runtime/Extensions/Physics2Behavior/box2d.d.ts +13 -7
  95. package/dist/Runtime/Extensions/Physics2Behavior/physics2runtimebehavior.js.map +2 -2
  96. package/dist/Runtime/Extensions/Physics3DBehavior/Physics3DRuntimeBehavior.js +1 -1
  97. package/dist/Runtime/Extensions/Physics3DBehavior/Physics3DRuntimeBehavior.js.map +2 -2
  98. package/dist/Runtime/Extensions/Physics3DBehavior/PhysicsCharacter3DRuntimeBehavior.js +1 -1
  99. package/dist/Runtime/Extensions/Physics3DBehavior/PhysicsCharacter3DRuntimeBehavior.js.map +2 -2
  100. package/dist/Runtime/Extensions/PhysicsBehavior/physicsruntimebehavior.js.map +2 -2
  101. package/dist/Runtime/Extensions/PlatformBehavior/platformerobjectruntimebehavior.js.map +2 -2
  102. package/dist/Runtime/Extensions/PlatformBehavior/platformruntimebehavior.js.map +2 -2
  103. package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationcomponents.js.map +1 -1
  104. package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationtools.js +1 -1
  105. package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationtools.js.map +2 -2
  106. package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js.map +2 -2
  107. package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js.map +2 -2
  108. package/dist/Runtime/Extensions/SpatialSound/spatialsoundtools.js +1 -1
  109. package/dist/Runtime/Extensions/SpatialSound/spatialsoundtools.js.map +2 -2
  110. package/dist/Runtime/Extensions/Spine/JsExtension.js +5 -4
  111. package/dist/Runtime/Extensions/Spine/managers/pixi-spine-atlas-manager.js +1 -1
  112. package/dist/Runtime/Extensions/Spine/managers/pixi-spine-atlas-manager.js.map +2 -2
  113. package/dist/Runtime/Extensions/Spine/managers/pixi-spine-manager.js +1 -1
  114. package/dist/Runtime/Extensions/Spine/managers/pixi-spine-manager.js.map +2 -2
  115. package/dist/Runtime/Extensions/Spine/spineruntimeobject-pixi-renderer.js.map +2 -2
  116. package/dist/Runtime/Extensions/Spine/spineruntimeobject.js.map +2 -2
  117. package/dist/Runtime/Extensions/Steamworks/JsExtension.js +12 -12
  118. package/dist/Runtime/Extensions/Steamworks/Z_steamworksinputtools.js.map +2 -2
  119. package/dist/Runtime/Extensions/Steamworks/steamworkstools.js.map +2 -2
  120. package/dist/Runtime/Extensions/TextEntryObject/textentryruntimeobject-pixi-renderer.js.map +2 -2
  121. package/dist/Runtime/Extensions/TextInput/JsExtension.js +2 -2
  122. package/dist/Runtime/Extensions/TextInput/textinputruntimeobject-pixi-renderer.js +1 -1
  123. package/dist/Runtime/Extensions/TextInput/textinputruntimeobject-pixi-renderer.js.map +2 -2
  124. package/dist/Runtime/Extensions/TextInput/textinputruntimeobject.js.map +2 -2
  125. package/dist/Runtime/Extensions/TextObject/textruntimeobject-pixi-renderer.js.map +2 -2
  126. package/dist/Runtime/Extensions/TextObject/textruntimeobject.js.map +2 -2
  127. package/dist/Runtime/Extensions/TileMap/JsExtension.js +20 -18
  128. package/dist/Runtime/Extensions/TileMap/TileMapRuntimeManager.js.map +2 -2
  129. package/dist/Runtime/Extensions/TileMap/collision/TransformedTileMap.js.map +2 -2
  130. package/dist/Runtime/Extensions/TileMap/helper/dts/model/TileMapModel.d.ts +1 -3
  131. package/dist/Runtime/Extensions/TileMap/simpletilemapruntimeobject.js.map +2 -2
  132. package/dist/Runtime/Extensions/TileMap/tilemapcollisionmaskruntimeobject.js.map +2 -2
  133. package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject-pixi-renderer.js.map +1 -1
  134. package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject.js.map +2 -2
  135. package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js.map +2 -2
  136. package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject.js.map +2 -2
  137. package/dist/Runtime/Extensions/TopDownMovementBehavior/topdownmovementruntimebehavior.js.map +2 -2
  138. package/dist/Runtime/Extensions/TweenBehavior/tweenruntimebehavior.js.map +1 -1
  139. package/dist/Runtime/Extensions/Video/JsExtension.js +2 -1
  140. package/dist/Runtime/Extensions/Video/videoruntimeobject-pixi-renderer.js.map +2 -2
  141. package/dist/Runtime/Extensions/Video/videoruntimeobject.js.map +2 -2
  142. package/dist/Runtime/InAppTutorialMessage.js +6 -0
  143. package/dist/Runtime/InAppTutorialMessage.js.map +7 -0
  144. package/dist/Runtime/Model3DManager.js.map +2 -2
  145. package/dist/Runtime/ResourceLoader.js.map +2 -2
  146. package/dist/Runtime/RuntimeCustomObjectLayer.js +1 -1
  147. package/dist/Runtime/RuntimeCustomObjectLayer.js.map +2 -2
  148. package/dist/Runtime/RuntimeInstanceContainer.js.map +1 -1
  149. package/dist/Runtime/RuntimeLayer.js.map +2 -2
  150. package/dist/Runtime/SpriteAnimator.js.map +2 -2
  151. package/dist/Runtime/affinetransformation.js.map +1 -1
  152. package/dist/Runtime/debugger-client/abstract-debugger-client.js.map +2 -2
  153. package/dist/Runtime/debugger-client/hot-reloader.js +2 -2
  154. package/dist/Runtime/debugger-client/hot-reloader.js.map +2 -2
  155. package/dist/Runtime/debugger-client/websocket-debugger-client.js +1 -1
  156. package/dist/Runtime/debugger-client/websocket-debugger-client.js.map +2 -2
  157. package/dist/Runtime/events-tools/networktools.js +1 -1
  158. package/dist/Runtime/events-tools/networktools.js.map +2 -2
  159. package/dist/Runtime/fontfaceobserver-font-manager/fontfaceobserver-font-manager.js.map +2 -2
  160. package/dist/Runtime/gd.js.map +2 -2
  161. package/dist/Runtime/howler-sound-manager/howler-sound-manager.js +1 -1
  162. package/dist/Runtime/howler-sound-manager/howler-sound-manager.js.map +2 -2
  163. package/dist/Runtime/inputmanager.js.map +2 -2
  164. package/dist/Runtime/jsonmanager.js.map +2 -2
  165. package/dist/Runtime/layer.js.map +2 -2
  166. package/dist/Runtime/libs/nanomarkdown.js +5 -0
  167. package/dist/Runtime/libs/nanomarkdown.js.map +7 -0
  168. package/dist/Runtime/object-capabilities/AnimatableBehavior.js.map +2 -2
  169. package/dist/Runtime/object-capabilities/EffectBehavior.js.map +2 -2
  170. package/dist/Runtime/object-capabilities/FlippableBehavior.js.map +2 -2
  171. package/dist/Runtime/object-capabilities/OpacityBehavior.js.map +2 -2
  172. package/dist/Runtime/object-capabilities/ResizableBehavior.js.map +2 -2
  173. package/dist/Runtime/object-capabilities/ScalableBehavior.js.map +2 -2
  174. package/dist/Runtime/object-capabilities/TextContainerBehavior.js.map +2 -2
  175. package/dist/Runtime/pixi-renderers/CustomRuntimeObject2DPixiRenderer.js.map +2 -2
  176. package/dist/Runtime/pixi-renderers/DebuggerPixiRenderer.js.map +2 -2
  177. package/dist/Runtime/pixi-renderers/layer-pixi-renderer.js.map +2 -2
  178. package/dist/Runtime/pixi-renderers/loadingscreen-pixi-renderer.js.map +2 -2
  179. package/dist/Runtime/pixi-renderers/pixi-bitmapfont-manager.js.map +2 -2
  180. package/dist/Runtime/pixi-renderers/pixi-filters-tools.js.map +2 -2
  181. package/dist/Runtime/pixi-renderers/pixi-image-manager.js +1 -1
  182. package/dist/Runtime/pixi-renderers/pixi-image-manager.js.map +2 -2
  183. package/dist/Runtime/pixi-renderers/pixi.js +123 -177
  184. package/dist/Runtime/pixi-renderers/runtimegame-pixi-renderer.js +1 -1
  185. package/dist/Runtime/pixi-renderers/runtimegame-pixi-renderer.js.map +2 -2
  186. package/dist/Runtime/pixi-renderers/runtimescene-pixi-renderer.js.map +2 -2
  187. package/dist/Runtime/pixi-renderers/spriteruntimeobject-pixi-renderer.js.map +2 -2
  188. package/dist/Runtime/profiler.js.map +2 -2
  189. package/dist/Runtime/runtimegame.js +1 -1
  190. package/dist/Runtime/runtimegame.js.map +2 -2
  191. package/dist/Runtime/runtimeobject.js +1 -1
  192. package/dist/Runtime/runtimeobject.js.map +2 -2
  193. package/dist/Runtime/runtimescene.js.map +2 -2
  194. package/dist/Runtime/runtimewatermark.js.map +2 -2
  195. package/dist/Runtime/scenestack.js.map +2 -2
  196. package/dist/Runtime/spriteruntimeobject.js.map +2 -2
  197. package/dist/Runtime/variable.js.map +2 -2
  198. package/dist/Runtime/variablescontainer.js.map +2 -2
  199. package/dist/lib/libGD.cjs +1 -1
  200. package/dist/lib/libGD.wasm +0 -0
  201. package/gd.d.ts +6 -0
  202. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/tilt-shift-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface TiltShiftFilterNetworkSyncData {\n b: number;\n gb: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'TiltShift',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const tiltShiftFilter = new PIXI.filters.TiltShiftFilter();\n return tiltShiftFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const tiltShiftFilter = (filter as unknown) as PIXI.filters.TiltShiftFilter;\n if (parameterName === 'blur') {\n tiltShiftFilter.blur = value;\n } else if (parameterName === 'gradientBlur') {\n tiltShiftFilter.gradientBlur = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const tiltShiftFilter = (filter as unknown) as PIXI.filters.TiltShiftFilter;\n if (parameterName === 'blur') {\n return tiltShiftFilter.blur;\n }\n if (parameterName === 'gradientBlur') {\n return tiltShiftFilter.gradientBlur;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): TiltShiftFilterNetworkSyncData {\n const tiltShiftFilter = (filter as unknown) as PIXI.filters.TiltShiftFilter;\n return { b: tiltShiftFilter.blur, gb: tiltShiftFilter.gradientBlur };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: TiltShiftFilterNetworkSyncData\n ) {\n const tiltShiftFilter = (filter as unknown) as PIXI.filters.TiltShiftFilter;\n tiltShiftFilter.blur = data.b;\n tiltShiftFilter.gradientBlur = data.gb;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAKE,EAAK,iBAAiB,sBACpB,YACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MADwB,IAAI,MAAK,QAAQ,gBAG3C,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAmB,EACzB,AAAI,IAAkB,OACpB,EAAgB,KAAO,EACd,IAAkB,gBAC3B,GAAgB,aAAe,GAGnC,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAmB,EACzB,MAAI,KAAkB,OACb,EAAgB,KAErB,IAAkB,eACb,EAAgB,aAElB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAqD,CACtE,KAAM,GAAmB,EACzB,MAAO,CAAE,EAAG,EAAgB,KAAM,GAAI,EAAgB,cAExD,0BACE,EACA,EACA,CACA,KAAM,GAAmB,EACzB,EAAgB,KAAO,EAAK,EAC5B,EAAgB,aAAe,EAAK,QA/DlC",
4
+ "sourcesContent": ["namespace gdjs {\n interface TiltShiftFilterNetworkSyncData {\n b: number;\n gb: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'TiltShift',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const tiltShiftFilter = new PIXI.filters.TiltShiftFilter();\n return tiltShiftFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const tiltShiftFilter =\n filter as unknown as PIXI.filters.TiltShiftFilter;\n if (parameterName === 'blur') {\n tiltShiftFilter.blur = value;\n } else if (parameterName === 'gradientBlur') {\n tiltShiftFilter.gradientBlur = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const tiltShiftFilter =\n filter as unknown as PIXI.filters.TiltShiftFilter;\n if (parameterName === 'blur') {\n return tiltShiftFilter.blur;\n }\n if (parameterName === 'gradientBlur') {\n return tiltShiftFilter.gradientBlur;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): TiltShiftFilterNetworkSyncData {\n const tiltShiftFilter =\n filter as unknown as PIXI.filters.TiltShiftFilter;\n return { b: tiltShiftFilter.blur, gb: tiltShiftFilter.gradientBlur };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: TiltShiftFilterNetworkSyncData\n ) {\n const tiltShiftFilter =\n filter as unknown as PIXI.filters.TiltShiftFilter;\n tiltShiftFilter.blur = data.b;\n tiltShiftFilter.gradientBlur = data.gb;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAKE,EAAK,iBAAiB,sBACpB,YACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MADwB,IAAI,MAAK,QAAQ,gBAG3C,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GACJ,EACF,AAAI,IAAkB,OACpB,EAAgB,KAAO,EACd,IAAkB,gBAC3B,GAAgB,aAAe,GAGnC,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GACJ,EACF,MAAI,KAAkB,OACb,EAAgB,KAErB,IAAkB,eACb,EAAgB,aAElB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAqD,CACtE,KAAM,GACJ,EACF,MAAO,CAAE,EAAG,EAAgB,KAAM,GAAI,EAAgB,cAExD,0BACE,EACA,EACA,CACA,KAAM,GACJ,EACF,EAAgB,KAAO,EAAK,EAC5B,EAAgB,aAAe,EAAK,QAnElC",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/twist-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface TwistFilterExtra {\n // extra properties are stored on the filter.\n _offsetX: number;\n _offsetY: number;\n }\n interface TwistFilterNetworkSyncData {\n r: number;\n a: number;\n p: number;\n ox: number;\n oy: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'Twist',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const twistFilter = new PIXI.filters.TwistFilter();\n twistFilter.offset = new PIXI.Point(0, 0);\n return twistFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {\n const twistFilter = (filter as unknown) as PIXI.filters.TwistFilter &\n TwistFilterExtra;\n twistFilter.offset.x = Math.round(\n twistFilter._offsetX * target.getWidth()\n );\n twistFilter.offset.y = Math.round(\n twistFilter._offsetY * target.getHeight()\n );\n }\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const twistFilter = (filter as unknown) as PIXI.filters.TwistFilter &\n TwistFilterExtra;\n if (parameterName === 'radius') {\n twistFilter.radius = value;\n } else if (parameterName === 'angle') {\n twistFilter.angle = value;\n } else if (parameterName === 'padding') {\n twistFilter.padding = value;\n } else if (parameterName === 'offsetX') {\n twistFilter._offsetX = value;\n } else if (parameterName === 'offsetY') {\n twistFilter._offsetY = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const twistFilter = (filter as unknown) as PIXI.filters.TwistFilter &\n TwistFilterExtra;\n if (parameterName === 'radius') {\n return twistFilter.radius;\n }\n if (parameterName === 'angle') {\n return twistFilter.angle;\n }\n if (parameterName === 'padding') {\n return twistFilter.padding;\n }\n if (parameterName === 'offsetX') {\n return twistFilter._offsetX;\n }\n if (parameterName === 'offsetY') {\n return twistFilter._offsetY;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): TwistFilterNetworkSyncData {\n const twistFilter = (filter as unknown) as PIXI.filters.TwistFilter &\n TwistFilterExtra;\n return {\n r: twistFilter.radius,\n a: twistFilter.angle,\n p: twistFilter.padding,\n ox: twistFilter._offsetX,\n oy: twistFilter._offsetY,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: TwistFilterNetworkSyncData\n ) {\n const twistFilter = (filter as unknown) as PIXI.filters.TwistFilter &\n TwistFilterExtra;\n twistFilter.radius = data.r;\n twistFilter.angle = data.a;\n twistFilter.padding = data.p;\n twistFilter._offsetX = data.ox;\n twistFilter._offsetY = data.oy;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAaE,EAAK,iBAAiB,sBACpB,QACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAChD,KAAM,GAAc,GAAI,MAAK,QAAQ,YACrC,SAAY,OAAS,GAAI,MAAK,MAAM,EAAG,GAChC,EAET,gBAAgB,EAAqB,EAAuB,CAC1D,KAAM,GAAe,EAErB,EAAY,OAAO,EAAI,KAAK,MAC1B,EAAY,SAAW,EAAO,YAEhC,EAAY,OAAO,EAAI,KAAK,MAC1B,EAAY,SAAW,EAAO,aAGlC,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAe,EAErB,AAAI,IAAkB,SACpB,EAAY,OAAS,EAChB,AAAI,IAAkB,QAC3B,EAAY,MAAQ,EACf,AAAI,IAAkB,UAC3B,EAAY,QAAU,EACjB,AAAI,IAAkB,UAC3B,EAAY,SAAW,EACd,IAAkB,WAC3B,GAAY,SAAW,GAG3B,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAe,EAErB,MAAI,KAAkB,SACb,EAAY,OAEjB,IAAkB,QACb,EAAY,MAEjB,IAAkB,UACb,EAAY,QAEjB,IAAkB,UACb,EAAY,SAEjB,IAAkB,UACb,EAAY,SAEd,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAiD,CAClE,KAAM,GAAe,EAErB,MAAO,CACL,EAAG,EAAY,OACf,EAAG,EAAY,MACf,EAAG,EAAY,QACf,GAAI,EAAY,SAChB,GAAI,EAAY,UAGpB,0BACE,EACA,EACA,CACA,KAAM,GAAe,EAErB,EAAY,OAAS,EAAK,EAC1B,EAAY,MAAQ,EAAK,EACzB,EAAY,QAAU,EAAK,EAC3B,EAAY,SAAW,EAAK,GAC5B,EAAY,SAAW,EAAK,QA7G1B",
4
+ "sourcesContent": ["namespace gdjs {\n interface TwistFilterExtra {\n // extra properties are stored on the filter.\n _offsetX: number;\n _offsetY: number;\n }\n interface TwistFilterNetworkSyncData {\n r: number;\n a: number;\n p: number;\n ox: number;\n oy: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'Twist',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const twistFilter = new PIXI.filters.TwistFilter();\n twistFilter.offset = new PIXI.Point(0, 0);\n return twistFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {\n const twistFilter = filter as unknown as PIXI.filters.TwistFilter &\n TwistFilterExtra;\n twistFilter.offset.x = Math.round(\n twistFilter._offsetX * target.getWidth()\n );\n twistFilter.offset.y = Math.round(\n twistFilter._offsetY * target.getHeight()\n );\n }\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const twistFilter = filter as unknown as PIXI.filters.TwistFilter &\n TwistFilterExtra;\n if (parameterName === 'radius') {\n twistFilter.radius = value;\n } else if (parameterName === 'angle') {\n twistFilter.angle = value;\n } else if (parameterName === 'padding') {\n twistFilter.padding = value;\n } else if (parameterName === 'offsetX') {\n twistFilter._offsetX = value;\n } else if (parameterName === 'offsetY') {\n twistFilter._offsetY = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const twistFilter = filter as unknown as PIXI.filters.TwistFilter &\n TwistFilterExtra;\n if (parameterName === 'radius') {\n return twistFilter.radius;\n }\n if (parameterName === 'angle') {\n return twistFilter.angle;\n }\n if (parameterName === 'padding') {\n return twistFilter.padding;\n }\n if (parameterName === 'offsetX') {\n return twistFilter._offsetX;\n }\n if (parameterName === 'offsetY') {\n return twistFilter._offsetY;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): TwistFilterNetworkSyncData {\n const twistFilter = filter as unknown as PIXI.filters.TwistFilter &\n TwistFilterExtra;\n return {\n r: twistFilter.radius,\n a: twistFilter.angle,\n p: twistFilter.padding,\n ox: twistFilter._offsetX,\n oy: twistFilter._offsetY,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: TwistFilterNetworkSyncData\n ) {\n const twistFilter = filter as unknown as PIXI.filters.TwistFilter &\n TwistFilterExtra;\n twistFilter.radius = data.r;\n twistFilter.angle = data.a;\n twistFilter.padding = data.p;\n twistFilter._offsetX = data.ox;\n twistFilter._offsetY = data.oy;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAaE,EAAK,iBAAiB,sBACpB,QACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAChD,KAAM,GAAc,GAAI,MAAK,QAAQ,YACrC,SAAY,OAAS,GAAI,MAAK,MAAM,EAAG,GAChC,EAET,gBAAgB,EAAqB,EAAuB,CAC1D,KAAM,GAAc,EAEpB,EAAY,OAAO,EAAI,KAAK,MAC1B,EAAY,SAAW,EAAO,YAEhC,EAAY,OAAO,EAAI,KAAK,MAC1B,EAAY,SAAW,EAAO,aAGlC,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAc,EAEpB,AAAI,IAAkB,SACpB,EAAY,OAAS,EAChB,AAAI,IAAkB,QAC3B,EAAY,MAAQ,EACf,AAAI,IAAkB,UAC3B,EAAY,QAAU,EACjB,AAAI,IAAkB,UAC3B,EAAY,SAAW,EACd,IAAkB,WAC3B,GAAY,SAAW,GAG3B,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAc,EAEpB,MAAI,KAAkB,SACb,EAAY,OAEjB,IAAkB,QACb,EAAY,MAEjB,IAAkB,UACb,EAAY,QAEjB,IAAkB,UACb,EAAY,SAEjB,IAAkB,UACb,EAAY,SAEd,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAiD,CAClE,KAAM,GAAc,EAEpB,MAAO,CACL,EAAG,EAAY,OACf,EAAG,EAAY,MACf,EAAG,EAAY,QACf,GAAI,EAAY,SAChB,GAAI,EAAY,UAGpB,0BACE,EACA,EACA,CACA,KAAM,GAAc,EAEpB,EAAY,OAAS,EAAK,EAC1B,EAAY,MAAQ,EAAK,EACzB,EAAY,QAAU,EAAK,EAC3B,EAAY,SAAW,EAAK,GAC5B,EAAY,SAAW,EAAK,QA7G1B",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/zoom-blur-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface ZoomBlurFilterNetworkSyncData {\n cx: number;\n cy: number;\n ir: number;\n s: number;\n p: number;\n }\n interface ZoomBlurFilterExtra {\n // extra properties are stored on the filter.\n _centerX: number;\n _centerY: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'ZoomBlur',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const zoomBlurFilter = new PIXI.filters.ZoomBlurFilter();\n return zoomBlurFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {\n const zoomBlurFilter = (filter as unknown) as PIXI.filters.ZoomBlurFilter &\n ZoomBlurFilterExtra;\n zoomBlurFilter.center[0] = Math.round(\n zoomBlurFilter._centerX * target.getWidth()\n );\n zoomBlurFilter.center[1] = Math.round(\n zoomBlurFilter._centerY * target.getHeight()\n );\n }\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const zoomBlurFilter = (filter as unknown) as PIXI.filters.ZoomBlurFilter &\n ZoomBlurFilterExtra;\n if (parameterName === 'centerX') {\n zoomBlurFilter._centerX = value;\n } else if (parameterName === 'centerY') {\n zoomBlurFilter._centerY = value;\n } else if (parameterName === 'innerRadius') {\n zoomBlurFilter.innerRadius = value;\n } else if (parameterName === 'strength') {\n zoomBlurFilter.strength = gdjs.PixiFiltersTools.clampValue(\n value / 10,\n 0,\n 20\n );\n } else if (parameterName === 'padding') {\n zoomBlurFilter.padding = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const zoomBlurFilter = (filter as unknown) as PIXI.filters.ZoomBlurFilter &\n ZoomBlurFilterExtra;\n if (parameterName === 'centerX') {\n return zoomBlurFilter._centerX;\n }\n if (parameterName === 'centerY') {\n return zoomBlurFilter._centerY;\n }\n if (parameterName === 'innerRadius') {\n return zoomBlurFilter.innerRadius;\n }\n if (parameterName === 'strength') {\n return zoomBlurFilter.strength;\n }\n if (parameterName === 'padding') {\n return zoomBlurFilter.padding;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): ZoomBlurFilterNetworkSyncData {\n const zoomBlurFilter = (filter as unknown) as PIXI.filters.ZoomBlurFilter &\n ZoomBlurFilterExtra;\n return {\n cx: zoomBlurFilter._centerX,\n cy: zoomBlurFilter._centerY,\n ir: zoomBlurFilter.innerRadius,\n s: zoomBlurFilter.strength,\n p: zoomBlurFilter.padding,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: ZoomBlurFilterNetworkSyncData\n ) {\n const zoomBlurFilter = (filter as unknown) as PIXI.filters.ZoomBlurFilter &\n ZoomBlurFilterExtra;\n zoomBlurFilter._centerX = data.cx;\n zoomBlurFilter._centerY = data.cy;\n zoomBlurFilter.innerRadius = data.ir;\n zoomBlurFilter.strength = data.s;\n zoomBlurFilter.padding = data.p;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAaE,EAAK,iBAAiB,sBACpB,WACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MADuB,IAAI,MAAK,QAAQ,eAG1C,gBAAgB,EAAqB,EAAuB,CAC1D,KAAM,GAAkB,EAExB,EAAe,OAAO,GAAK,KAAK,MAC9B,EAAe,SAAW,EAAO,YAEnC,EAAe,OAAO,GAAK,KAAK,MAC9B,EAAe,SAAW,EAAO,aAGrC,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAkB,EAExB,AAAI,IAAkB,UACpB,EAAe,SAAW,EACrB,AAAI,IAAkB,UAC3B,EAAe,SAAW,EACrB,AAAI,IAAkB,cAC3B,EAAe,YAAc,EACxB,AAAI,IAAkB,WAC3B,EAAe,SAAW,EAAK,iBAAiB,WAC9C,EAAQ,GACR,EACA,IAEO,IAAkB,WAC3B,GAAe,QAAU,GAG7B,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAkB,EAExB,MAAI,KAAkB,UACb,EAAe,SAEpB,IAAkB,UACb,EAAe,SAEpB,IAAkB,cACb,EAAe,YAEpB,IAAkB,WACb,EAAe,SAEpB,IAAkB,UACb,EAAe,QAEjB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAoD,CACrE,KAAM,GAAkB,EAExB,MAAO,CACL,GAAI,EAAe,SACnB,GAAI,EAAe,SACnB,GAAI,EAAe,YACnB,EAAG,EAAe,SAClB,EAAG,EAAe,SAGtB,0BACE,EACA,EACA,CACA,KAAM,GAAkB,EAExB,EAAe,SAAW,EAAK,GAC/B,EAAe,SAAW,EAAK,GAC/B,EAAe,YAAc,EAAK,GAClC,EAAe,SAAW,EAAK,EAC/B,EAAe,QAAU,EAAK,OAhH5B",
4
+ "sourcesContent": ["namespace gdjs {\n interface ZoomBlurFilterNetworkSyncData {\n cx: number;\n cy: number;\n ir: number;\n s: number;\n p: number;\n }\n interface ZoomBlurFilterExtra {\n // extra properties are stored on the filter.\n _centerX: number;\n _centerY: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'ZoomBlur',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const zoomBlurFilter = new PIXI.filters.ZoomBlurFilter();\n return zoomBlurFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {\n const zoomBlurFilter =\n filter as unknown as PIXI.filters.ZoomBlurFilter &\n ZoomBlurFilterExtra;\n zoomBlurFilter.center[0] = Math.round(\n zoomBlurFilter._centerX * target.getWidth()\n );\n zoomBlurFilter.center[1] = Math.round(\n zoomBlurFilter._centerY * target.getHeight()\n );\n }\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const zoomBlurFilter =\n filter as unknown as PIXI.filters.ZoomBlurFilter &\n ZoomBlurFilterExtra;\n if (parameterName === 'centerX') {\n zoomBlurFilter._centerX = value;\n } else if (parameterName === 'centerY') {\n zoomBlurFilter._centerY = value;\n } else if (parameterName === 'innerRadius') {\n zoomBlurFilter.innerRadius = value;\n } else if (parameterName === 'strength') {\n zoomBlurFilter.strength = gdjs.PixiFiltersTools.clampValue(\n value / 10,\n 0,\n 20\n );\n } else if (parameterName === 'padding') {\n zoomBlurFilter.padding = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const zoomBlurFilter =\n filter as unknown as PIXI.filters.ZoomBlurFilter &\n ZoomBlurFilterExtra;\n if (parameterName === 'centerX') {\n return zoomBlurFilter._centerX;\n }\n if (parameterName === 'centerY') {\n return zoomBlurFilter._centerY;\n }\n if (parameterName === 'innerRadius') {\n return zoomBlurFilter.innerRadius;\n }\n if (parameterName === 'strength') {\n return zoomBlurFilter.strength;\n }\n if (parameterName === 'padding') {\n return zoomBlurFilter.padding;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): ZoomBlurFilterNetworkSyncData {\n const zoomBlurFilter =\n filter as unknown as PIXI.filters.ZoomBlurFilter &\n ZoomBlurFilterExtra;\n return {\n cx: zoomBlurFilter._centerX,\n cy: zoomBlurFilter._centerY,\n ir: zoomBlurFilter.innerRadius,\n s: zoomBlurFilter.strength,\n p: zoomBlurFilter.padding,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: ZoomBlurFilterNetworkSyncData\n ) {\n const zoomBlurFilter =\n filter as unknown as PIXI.filters.ZoomBlurFilter &\n ZoomBlurFilterExtra;\n zoomBlurFilter._centerX = data.cx;\n zoomBlurFilter._centerY = data.cy;\n zoomBlurFilter.innerRadius = data.ir;\n zoomBlurFilter.strength = data.s;\n zoomBlurFilter.padding = data.p;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAaE,EAAK,iBAAiB,sBACpB,WACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MADuB,IAAI,MAAK,QAAQ,eAG1C,gBAAgB,EAAqB,EAAuB,CAC1D,KAAM,GACJ,EAEF,EAAe,OAAO,GAAK,KAAK,MAC9B,EAAe,SAAW,EAAO,YAEnC,EAAe,OAAO,GAAK,KAAK,MAC9B,EAAe,SAAW,EAAO,aAGrC,sBACE,EACA,EACA,EACA,CACA,KAAM,GACJ,EAEF,AAAI,IAAkB,UACpB,EAAe,SAAW,EACrB,AAAI,IAAkB,UAC3B,EAAe,SAAW,EACrB,AAAI,IAAkB,cAC3B,EAAe,YAAc,EACxB,AAAI,IAAkB,WAC3B,EAAe,SAAW,EAAK,iBAAiB,WAC9C,EAAQ,GACR,EACA,IAEO,IAAkB,WAC3B,GAAe,QAAU,GAG7B,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GACJ,EAEF,MAAI,KAAkB,UACb,EAAe,SAEpB,IAAkB,UACb,EAAe,SAEpB,IAAkB,cACb,EAAe,YAEpB,IAAkB,WACb,EAAe,SAEpB,IAAkB,UACb,EAAe,QAEjB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAoD,CACrE,KAAM,GACJ,EAEF,MAAO,CACL,GAAI,EAAe,SACnB,GAAI,EAAe,SACnB,GAAI,EAAe,YACnB,EAAG,EAAe,SAClB,EAAG,EAAe,SAGtB,0BACE,EACA,EACA,CACA,KAAM,GACJ,EAEF,EAAe,SAAW,EAAK,GAC/B,EAAe,SAAW,EAAK,GAC/B,EAAe,YAAc,EAAK,GAClC,EAAe,SAAW,EAAK,EAC/B,EAAe,QAAU,EAAK,OArH5B",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/ExampleJsExtension/dummyeffect.ts"],
4
- "sourcesContent": ["//A simple PIXI filter doing some color changes\nnamespace gdjs {\n const logger = new gdjs.Logger('Dummy effect');\n\n const DummyPixiFilter = function () {\n var vertexShader = null;\n var fragmentShader = [\n 'precision mediump float;',\n '',\n 'varying vec2 vTextureCoord;',\n 'uniform sampler2D uSampler;',\n 'uniform float opacity;',\n '',\n 'void main(void)',\n '{',\n ' mat3 nightMatrix = mat3(0.6, 0, 0, 0, 0.7, 0, 0, 0, 1.3);',\n ' gl_FragColor = texture2D(uSampler, vTextureCoord);',\n ' gl_FragColor.rgb = mix(gl_FragColor.rgb, nightMatrix * gl_FragColor.rgb, opacity);',\n '}',\n ].join('\\n');\n var uniforms = {\n opacity: { type: '1f', value: 1 },\n };\n\n PIXI.Filter.call(this, vertexShader, fragmentShader, uniforms);\n };\n DummyPixiFilter.prototype = Object.create(PIXI.Filter.prototype);\n DummyPixiFilter.prototype.constructor = DummyPixiFilter;\n\n // Register the effect type and associate it with a \"filter creator\" object, containing\n // functions to create and manipulate the filter.\n // Don't forget your extension name in the effect type!\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'MyDummyExtension::DummyEffect',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n // MakePIXIFilter should return a PIXI.Filter, that will be applied on the PIXI.Container (for layers)\n // or the PIXI.DisplayObject (for objects).\n makePIXIFilter(layer, effectData) {\n const filter = new DummyPixiFilter();\n\n // If you need to store the time or some state, you can set it up now:\n // filter._time = 0;\n // But be careful about the existing member of the filter (consider\n // updating the filter uniforms directly).\n\n // You can also access to the effect properties, classified by type:\n // `effectData.doubleParameters.opacity`\n // `effectData.stringParameters.someImage`\n // `effectData.stringParameters.someColor`\n // `effectData.booleanParameters.someBoolean`\n logger.info(\n 'The PIXI texture found for the Dummy Effect (not actually used):',\n (layer\n .getRuntimeScene()\n .getGame()\n .getImageManager() as gdjs.PixiImageManager).getPIXITexture(\n effectData.stringParameters.someImage\n )\n );\n return filter;\n }\n // Function called at every frame, after events and before the frame is rendered.\n updatePreRender(filter, layer) {\n // If your filter depends on the time, you can get the elapsed time\n // with `layer.getElapsedTime()`.\n // You can update the uniforms or other state of the filter.\n }\n // Function that will be called to update a (number) parameter of the PIXI filter with a new value\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n if (parameterName === 'opacity') {\n filter.uniforms.opacity = gdjs.PixiFiltersTools.clampValue(\n value,\n 0,\n 1\n );\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n if (parameterName === 'opacity') {\n return filter.uniforms.opacity;\n }\n return 0;\n }\n // Function that will be called to update a (string) parameter of the PIXI filter with a new value\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n // Function that will be called to update a (boolean) parameter of the PIXI filter with a new value\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): any {\n return { opacity: filter.uniforms.opacity };\n }\n updateFromNetworkSyncData(filter: PIXI.Filter, data: any) {\n filter.uniforms.opacity = data.opacity;\n }\n })()\n );\n}\n"],
5
- "mappings": "AACA,GAAU,MAAV,UAAU,EAAV,CACE,KAAM,GAAS,GAAI,GAAK,OAAO,gBAEzB,EAAkB,UAAY,CAClC,GAAI,GAAe,KACf,EAAiB,CACnB,2BACA,GACA,8BACA,8BACA,yBACA,GACA,kBACA,IACA,+DACA,wDACA,wFACA,KACA,KAAK;AAAA,GACH,EAAW,CACb,QAAS,CAAE,KAAM,KAAM,MAAO,IAGhC,KAAK,OAAO,KAAK,KAAM,EAAc,EAAgB,IAEvD,EAAgB,UAAY,OAAO,OAAO,KAAK,OAAO,WACtD,EAAgB,UAAU,YAAc,EAKxC,EAAK,iBAAiB,sBACpB,gCACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CAGzD,eAAe,EAAO,EAAY,CAChC,KAAM,GAAS,GAAI,GAYnB,SAAO,KACL,mEACC,EACE,kBACA,UACA,kBAA4C,eAC7C,EAAW,iBAAiB,YAGzB,EAGT,gBAAgB,EAAQ,EAAO,EAM/B,sBACE,EACA,EACA,EACA,CACA,AAAI,IAAkB,WACpB,GAAO,SAAS,QAAU,EAAK,iBAAiB,WAC9C,EACA,EACA,IAIN,mBAAmB,EAAqB,EAA+B,CACrE,MAAI,KAAkB,UACb,EAAO,SAAS,QAElB,EAGT,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAGT,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAA0B,CAC3C,MAAO,CAAE,QAAS,EAAO,SAAS,SAEpC,0BAA0B,EAAqB,EAAW,CACxD,EAAO,SAAS,QAAU,EAAK,aA9G7B",
4
+ "sourcesContent": ["//A simple PIXI filter doing some color changes\nnamespace gdjs {\n const logger = new gdjs.Logger('Dummy effect');\n\n const DummyPixiFilter = function () {\n var vertexShader = null;\n var fragmentShader = [\n 'precision mediump float;',\n '',\n 'varying vec2 vTextureCoord;',\n 'uniform sampler2D uSampler;',\n 'uniform float opacity;',\n '',\n 'void main(void)',\n '{',\n ' mat3 nightMatrix = mat3(0.6, 0, 0, 0, 0.7, 0, 0, 0, 1.3);',\n ' gl_FragColor = texture2D(uSampler, vTextureCoord);',\n ' gl_FragColor.rgb = mix(gl_FragColor.rgb, nightMatrix * gl_FragColor.rgb, opacity);',\n '}',\n ].join('\\n');\n var uniforms = {\n opacity: { type: '1f', value: 1 },\n };\n\n PIXI.Filter.call(this, vertexShader, fragmentShader, uniforms);\n };\n DummyPixiFilter.prototype = Object.create(PIXI.Filter.prototype);\n DummyPixiFilter.prototype.constructor = DummyPixiFilter;\n\n // Register the effect type and associate it with a \"filter creator\" object, containing\n // functions to create and manipulate the filter.\n // Don't forget your extension name in the effect type!\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'MyDummyExtension::DummyEffect',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n // MakePIXIFilter should return a PIXI.Filter, that will be applied on the PIXI.Container (for layers)\n // or the PIXI.DisplayObject (for objects).\n makePIXIFilter(layer, effectData) {\n const filter = new DummyPixiFilter();\n\n // If you need to store the time or some state, you can set it up now:\n // filter._time = 0;\n // But be careful about the existing member of the filter (consider\n // updating the filter uniforms directly).\n\n // You can also access to the effect properties, classified by type:\n // `effectData.doubleParameters.opacity`\n // `effectData.stringParameters.someImage`\n // `effectData.stringParameters.someColor`\n // `effectData.booleanParameters.someBoolean`\n logger.info(\n 'The PIXI texture found for the Dummy Effect (not actually used):',\n (\n layer\n .getRuntimeScene()\n .getGame()\n .getImageManager() as gdjs.PixiImageManager\n ).getPIXITexture(effectData.stringParameters.someImage)\n );\n return filter;\n }\n // Function called at every frame, after events and before the frame is rendered.\n updatePreRender(filter, layer) {\n // If your filter depends on the time, you can get the elapsed time\n // with `layer.getElapsedTime()`.\n // You can update the uniforms or other state of the filter.\n }\n // Function that will be called to update a (number) parameter of the PIXI filter with a new value\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n if (parameterName === 'opacity') {\n filter.uniforms.opacity = gdjs.PixiFiltersTools.clampValue(\n value,\n 0,\n 1\n );\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n if (parameterName === 'opacity') {\n return filter.uniforms.opacity;\n }\n return 0;\n }\n // Function that will be called to update a (string) parameter of the PIXI filter with a new value\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n // Function that will be called to update a (boolean) parameter of the PIXI filter with a new value\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): any {\n return { opacity: filter.uniforms.opacity };\n }\n updateFromNetworkSyncData(filter: PIXI.Filter, data: any) {\n filter.uniforms.opacity = data.opacity;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AACA,GAAU,MAAV,UAAU,EAAV,CACE,KAAM,GAAS,GAAI,GAAK,OAAO,gBAEzB,EAAkB,UAAY,CAClC,GAAI,GAAe,KACf,EAAiB,CACnB,2BACA,GACA,8BACA,8BACA,yBACA,GACA,kBACA,IACA,+DACA,wDACA,wFACA,KACA,KAAK;AAAA,GACH,EAAW,CACb,QAAS,CAAE,KAAM,KAAM,MAAO,IAGhC,KAAK,OAAO,KAAK,KAAM,EAAc,EAAgB,IAEvD,EAAgB,UAAY,OAAO,OAAO,KAAK,OAAO,WACtD,EAAgB,UAAU,YAAc,EAKxC,EAAK,iBAAiB,sBACpB,gCACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CAGzD,eAAe,EAAO,EAAY,CAChC,KAAM,GAAS,GAAI,GAYnB,SAAO,KACL,mEAEE,EACG,kBACA,UACA,kBACH,eAAe,EAAW,iBAAiB,YAExC,EAGT,gBAAgB,EAAQ,EAAO,EAM/B,sBACE,EACA,EACA,EACA,CACA,AAAI,IAAkB,WACpB,GAAO,SAAS,QAAU,EAAK,iBAAiB,WAC9C,EACA,EACA,IAIN,mBAAmB,EAAqB,EAA+B,CACrE,MAAI,KAAkB,UACb,EAAO,SAAS,QAElB,EAGT,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAGT,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAA0B,CAC3C,MAAO,CAAE,QAAS,EAAO,SAAS,SAEpC,0BAA0B,EAAqB,EAAW,CACxD,EAAO,SAAS,QAAU,EAAK,aA9G7B",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/FacebookInstantGames/facebookinstantgamestools.ts"],
4
- "sourcesContent": ["namespace gdjs {\n const logger = new gdjs.Logger('Facebook instant games');\n export namespace evtTools {\n export namespace facebookInstantGames {\n export let _preloadedInterstitial: any = null;\n export let _preloadedInterstitialLoading = false;\n export let _preloadedInterstitialLoaded = false;\n export let _preloadedRewardedVideo: any = null;\n export let _preloadedRewardedVideoLoading = false;\n export let _preloadedRewardedVideoLoaded = false;\n\n export const areAdsSupported = function () {\n if (typeof FBInstant === 'undefined') {\n return false;\n }\n const supportedAPIs = FBInstant.getSupportedAPIs();\n return (\n supportedAPIs.indexOf('getInterstitialAdAsync') !== -1 &&\n supportedAPIs.indexOf('getRewardedVideoAsync') !== -1\n );\n };\n\n export const getPlayerId = function () {\n if (typeof FBInstant === 'undefined') {\n return '';\n }\n return FBInstant.player.getID() || '';\n };\n\n export const getPlayerName = function () {\n if (typeof FBInstant === 'undefined') {\n return '';\n }\n return FBInstant.player.getName() || '';\n };\n\n export const loadPlayerData = function (\n key,\n successVariable,\n errorVariable\n ) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n errorVariable.setString('');\n successVariable.setString('');\n FBInstant.player\n .getDataAsync([key])\n .then(function (data) {\n successVariable.fromJSON(data[key]);\n })\n .catch(function (error) {\n errorVariable.setString(error.message || 'Unknown error');\n });\n };\n\n export const setPlayerData = function (\n key,\n variable,\n successVariable,\n errorVariable\n ) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n errorVariable.setString('');\n successVariable.setString('');\n const data = {};\n data[key] = JSON.stringify(variable.toJSObject());\n FBInstant.player\n .setDataAsync(data)\n .then(function () {\n successVariable.setString('Player data saved');\n })\n .catch(function (error) {\n errorVariable.setString(error.message || 'Unknown error');\n });\n };\n\n export const setPlayerScore = function (\n leaderboardName,\n score,\n extraDataVariable,\n successVariable,\n errorVariable\n ) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n errorVariable.setString('');\n successVariable.setString('');\n const data = JSON.stringify(extraDataVariable.toJSObject());\n FBInstant.getLeaderboardAsync(leaderboardName)\n .then(function (leaderboard) {\n return leaderboard.setScoreAsync(score, data);\n })\n .then(function () {\n successVariable.setString('Player score saved');\n })\n .catch(function (error) {\n errorVariable.setString(error.message || 'Unknown error');\n });\n };\n\n export const getPlayerEntry = function (\n leaderboardName,\n rankVariable,\n scoreVariable,\n extraDataVariable,\n errorVariable\n ) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n errorVariable.setString('');\n extraDataVariable.setString('');\n FBInstant.getLeaderboardAsync(leaderboardName)\n .then(function (leaderboard) {\n return leaderboard.getPlayerEntryAsync();\n })\n .then(function (entry) {\n rankVariable.setNumber(\n entry.getRank() === null ? -1 : entry.getRank()\n );\n scoreVariable.setNumber(\n entry.getScore() === null ? -1 : entry.getScore()\n );\n extraDataVariable.fromJSON(entry.getExtraData());\n })\n .catch(function (error) {\n errorVariable.setString(error.message || 'Unknown error');\n });\n };\n\n export const loadInterstitialAd = function (\n adPlacementId,\n errorVariable\n ) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n if (\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoading ||\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoaded\n ) {\n return;\n }\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoading = true;\n FBInstant.getInterstitialAdAsync(adPlacementId)\n .then(function (interstitial) {\n gdjs.evtTools.facebookInstantGames._preloadedInterstitial = interstitial;\n return interstitial.loadAsync();\n })\n .then(function () {\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoading = false;\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoaded = true;\n logger.info('Facebook Instant Games interstitial preloaded.');\n })\n .catch(function (err) {\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoading = false;\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoaded = false;\n logger.error('Interstitial failed to preload: ' + err.message);\n errorVariable.setString(err.message || 'Unknown error');\n });\n };\n\n export const showInterstitialAd = function (errorVariable) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n if (!gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoaded) {\n return;\n }\n gdjs.evtTools.facebookInstantGames._preloadedInterstitial\n .showAsync()\n .then(function () {\n logger.info('Facebook Instant Games interstitial shown.');\n })\n .catch(function (err) {\n logger.error('Interstitial failed to show: ' + err.message);\n errorVariable.setString(err.message || 'Unknown error');\n })\n .then(function () {\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoaded = false;\n });\n };\n\n export const isInterstitialAdReady = function () {\n return gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoaded;\n };\n\n export const loadRewardedVideo = function (adPlacementId, errorVariable) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n if (\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoading ||\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoaded\n ) {\n return;\n }\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoading = true;\n FBInstant.getRewardedVideoAsync(adPlacementId)\n .then(function (rewardedVideo) {\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideo = rewardedVideo;\n return rewardedVideo.loadAsync();\n })\n .then(function () {\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoading = false;\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoaded = true;\n logger.info('Facebook Instant Games rewarded video preloaded.');\n })\n .catch(function (err) {\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoading = false;\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoaded = false;\n logger.error('Rewarded video failed to preload: ' + err.message);\n errorVariable.setString(err.message || 'Unknown error');\n });\n };\n\n export const showRewardedVideo = function (errorVariable) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n if (!gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoaded) {\n return;\n }\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideo\n .showAsync()\n .then(function () {\n logger.info('Facebook Instant Games rewarded video shown.');\n })\n .catch(function (err) {\n logger.error('Rewarded video failed to show: ' + err.message);\n errorVariable.setString(err.message || 'Unknown error');\n })\n .then(function () {\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoaded = false;\n });\n };\n\n export const isRewardedVideoReady = function () {\n return gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoaded;\n };\n if (typeof FBInstant === 'undefined' && typeof window !== 'undefined') {\n logger.log('Creating a mocked version of Facebook Instant Games.');\n\n /**\n * A mocked Leaderboard, part of the mock of FBInstant.\n * @ignore\n */\n class MockedLeaderboard {\n _playerScore: any = null;\n _playerRank: any = null;\n _playerExtraData: any = null;\n\n setScoreAsync(score, extraData): Promise<void> {\n const that = this;\n return new Promise(function (resolve) {\n that._playerScore = score;\n that._playerRank = 1;\n that._playerExtraData = extraData;\n resolve();\n });\n }\n\n getPlayerEntryAsync() {\n const that = this;\n return new Promise(function (resolve) {\n resolve({\n getScore: function () {\n return that._playerScore;\n },\n getRank: function () {\n return that._playerRank;\n },\n getExtraData: function () {\n return that._playerExtraData;\n },\n });\n });\n }\n }\n\n /**\n * A mocked RewardedVideo, part of the mock of FBInstant.\n * @ignore\n */\n class MockedRewardedVideo {\n _isLoaded: boolean = false;\n\n loadAsync() {\n this._isLoaded = true;\n return Promise.resolve();\n }\n\n showAsync(): Promise<void> {\n if (this._isLoaded) {\n logger.info(\n 'In a real Instant Game, a video reward should have been shown to the user.'\n );\n return Promise.resolve();\n }\n return Promise.reject(new Error('Rewarded video is not loaded.'));\n }\n }\n\n /**\n * A mocked MockedInterstitial, part of the mock of FBInstant.\n * @ignore\n */\n class MockedInterstitial {\n _isLoaded: boolean = false;\n\n loadAsync() {\n this._isLoaded = true;\n return Promise.resolve();\n }\n\n showAsync(): Promise<void> {\n if (this._isLoaded) {\n logger.info(\n 'In a real Instant Game, an interstitial should have been shown to the user.'\n );\n return Promise.resolve();\n }\n return Promise.reject(new Error('Interstitial is not loaded.'));\n }\n }\n const supportedAPIs: Array<string> = [];\n const FBInstantMock = {\n _mockedPlayerData: {},\n _mockedLeaderboards: {},\n player: {\n getName: function () {\n return 'Fake player name';\n },\n getID: function () {\n return '12345678';\n },\n getDataAsync: function (key) {\n return new Promise(function (resolve) {\n resolve(FBInstantMock._mockedPlayerData);\n });\n },\n setDataAsync: function (data) {\n return new Promise<void>(function (resolve) {\n FBInstantMock._mockedPlayerData = data;\n resolve();\n });\n },\n },\n getLeaderboardAsync: function (leaderboardName) {\n return new Promise(function (resolve) {\n FBInstantMock._mockedLeaderboards[leaderboardName] =\n FBInstantMock._mockedLeaderboards[leaderboardName] ||\n new MockedLeaderboard();\n resolve(FBInstantMock._mockedLeaderboards[leaderboardName]);\n });\n },\n getInterstitialAdAsync: function () {\n return Promise.resolve(new MockedInterstitial());\n },\n getRewardedVideoAsync: function () {\n return Promise.resolve(new MockedRewardedVideo());\n },\n getSupportedAPIs: function () {\n return supportedAPIs;\n },\n };\n\n // Retrieve the name of the supported APIs in our mock.\n for (const property in FBInstantMock) {\n if (typeof FBInstantMock[property] == 'object') {\n for (const subProperty in FBInstantMock[property]) {\n if (typeof FBInstantMock[property][subProperty] == 'function') {\n supportedAPIs.push(property + '.' + subProperty);\n }\n }\n } else {\n if (typeof FBInstantMock[property] == 'function') {\n supportedAPIs.push(property);\n }\n }\n }\n // @ts-expect-error\n window.FBInstant = FBInstantMock;\n }\n }\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["namespace gdjs {\n const logger = new gdjs.Logger('Facebook instant games');\n export namespace evtTools {\n export namespace facebookInstantGames {\n export let _preloadedInterstitial: any = null;\n export let _preloadedInterstitialLoading = false;\n export let _preloadedInterstitialLoaded = false;\n export let _preloadedRewardedVideo: any = null;\n export let _preloadedRewardedVideoLoading = false;\n export let _preloadedRewardedVideoLoaded = false;\n\n export const areAdsSupported = function () {\n if (typeof FBInstant === 'undefined') {\n return false;\n }\n const supportedAPIs = FBInstant.getSupportedAPIs();\n return (\n supportedAPIs.indexOf('getInterstitialAdAsync') !== -1 &&\n supportedAPIs.indexOf('getRewardedVideoAsync') !== -1\n );\n };\n\n export const getPlayerId = function () {\n if (typeof FBInstant === 'undefined') {\n return '';\n }\n return FBInstant.player.getID() || '';\n };\n\n export const getPlayerName = function () {\n if (typeof FBInstant === 'undefined') {\n return '';\n }\n return FBInstant.player.getName() || '';\n };\n\n export const loadPlayerData = function (\n key,\n successVariable,\n errorVariable\n ) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n errorVariable.setString('');\n successVariable.setString('');\n FBInstant.player\n .getDataAsync([key])\n .then(function (data) {\n successVariable.fromJSON(data[key]);\n })\n .catch(function (error) {\n errorVariable.setString(error.message || 'Unknown error');\n });\n };\n\n export const setPlayerData = function (\n key,\n variable,\n successVariable,\n errorVariable\n ) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n errorVariable.setString('');\n successVariable.setString('');\n const data = {};\n data[key] = JSON.stringify(variable.toJSObject());\n FBInstant.player\n .setDataAsync(data)\n .then(function () {\n successVariable.setString('Player data saved');\n })\n .catch(function (error) {\n errorVariable.setString(error.message || 'Unknown error');\n });\n };\n\n export const setPlayerScore = function (\n leaderboardName,\n score,\n extraDataVariable,\n successVariable,\n errorVariable\n ) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n errorVariable.setString('');\n successVariable.setString('');\n const data = JSON.stringify(extraDataVariable.toJSObject());\n FBInstant.getLeaderboardAsync(leaderboardName)\n .then(function (leaderboard) {\n return leaderboard.setScoreAsync(score, data);\n })\n .then(function () {\n successVariable.setString('Player score saved');\n })\n .catch(function (error) {\n errorVariable.setString(error.message || 'Unknown error');\n });\n };\n\n export const getPlayerEntry = function (\n leaderboardName,\n rankVariable,\n scoreVariable,\n extraDataVariable,\n errorVariable\n ) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n errorVariable.setString('');\n extraDataVariable.setString('');\n FBInstant.getLeaderboardAsync(leaderboardName)\n .then(function (leaderboard) {\n return leaderboard.getPlayerEntryAsync();\n })\n .then(function (entry) {\n rankVariable.setNumber(\n entry.getRank() === null ? -1 : entry.getRank()\n );\n scoreVariable.setNumber(\n entry.getScore() === null ? -1 : entry.getScore()\n );\n extraDataVariable.fromJSON(entry.getExtraData());\n })\n .catch(function (error) {\n errorVariable.setString(error.message || 'Unknown error');\n });\n };\n\n export const loadInterstitialAd = function (\n adPlacementId,\n errorVariable\n ) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n if (\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoading ||\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoaded\n ) {\n return;\n }\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoading = true;\n FBInstant.getInterstitialAdAsync(adPlacementId)\n .then(function (interstitial) {\n gdjs.evtTools.facebookInstantGames._preloadedInterstitial =\n interstitial;\n return interstitial.loadAsync();\n })\n .then(function () {\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoading =\n false;\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoaded =\n true;\n logger.info('Facebook Instant Games interstitial preloaded.');\n })\n .catch(function (err) {\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoading =\n false;\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoaded =\n false;\n logger.error('Interstitial failed to preload: ' + err.message);\n errorVariable.setString(err.message || 'Unknown error');\n });\n };\n\n export const showInterstitialAd = function (errorVariable) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n if (!gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoaded) {\n return;\n }\n gdjs.evtTools.facebookInstantGames._preloadedInterstitial\n .showAsync()\n .then(function () {\n logger.info('Facebook Instant Games interstitial shown.');\n })\n .catch(function (err) {\n logger.error('Interstitial failed to show: ' + err.message);\n errorVariable.setString(err.message || 'Unknown error');\n })\n .then(function () {\n gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoaded =\n false;\n });\n };\n\n export const isInterstitialAdReady = function () {\n return gdjs.evtTools.facebookInstantGames._preloadedInterstitialLoaded;\n };\n\n export const loadRewardedVideo = function (adPlacementId, errorVariable) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n if (\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoading ||\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoaded\n ) {\n return;\n }\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoading =\n true;\n FBInstant.getRewardedVideoAsync(adPlacementId)\n .then(function (rewardedVideo) {\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideo =\n rewardedVideo;\n return rewardedVideo.loadAsync();\n })\n .then(function () {\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoading =\n false;\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoaded =\n true;\n logger.info('Facebook Instant Games rewarded video preloaded.');\n })\n .catch(function (err) {\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoading =\n false;\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoaded =\n false;\n logger.error('Rewarded video failed to preload: ' + err.message);\n errorVariable.setString(err.message || 'Unknown error');\n });\n };\n\n export const showRewardedVideo = function (errorVariable) {\n if (typeof FBInstant === 'undefined') {\n return;\n }\n if (!gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoaded) {\n return;\n }\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideo\n .showAsync()\n .then(function () {\n logger.info('Facebook Instant Games rewarded video shown.');\n })\n .catch(function (err) {\n logger.error('Rewarded video failed to show: ' + err.message);\n errorVariable.setString(err.message || 'Unknown error');\n })\n .then(function () {\n gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoaded =\n false;\n });\n };\n\n export const isRewardedVideoReady = function () {\n return gdjs.evtTools.facebookInstantGames._preloadedRewardedVideoLoaded;\n };\n if (typeof FBInstant === 'undefined' && typeof window !== 'undefined') {\n logger.log('Creating a mocked version of Facebook Instant Games.');\n\n /**\n * A mocked Leaderboard, part of the mock of FBInstant.\n * @ignore\n */\n class MockedLeaderboard {\n _playerScore: any = null;\n _playerRank: any = null;\n _playerExtraData: any = null;\n\n setScoreAsync(score, extraData): Promise<void> {\n const that = this;\n return new Promise(function (resolve) {\n that._playerScore = score;\n that._playerRank = 1;\n that._playerExtraData = extraData;\n resolve();\n });\n }\n\n getPlayerEntryAsync() {\n const that = this;\n return new Promise(function (resolve) {\n resolve({\n getScore: function () {\n return that._playerScore;\n },\n getRank: function () {\n return that._playerRank;\n },\n getExtraData: function () {\n return that._playerExtraData;\n },\n });\n });\n }\n }\n\n /**\n * A mocked RewardedVideo, part of the mock of FBInstant.\n * @ignore\n */\n class MockedRewardedVideo {\n _isLoaded: boolean = false;\n\n loadAsync() {\n this._isLoaded = true;\n return Promise.resolve();\n }\n\n showAsync(): Promise<void> {\n if (this._isLoaded) {\n logger.info(\n 'In a real Instant Game, a video reward should have been shown to the user.'\n );\n return Promise.resolve();\n }\n return Promise.reject(new Error('Rewarded video is not loaded.'));\n }\n }\n\n /**\n * A mocked MockedInterstitial, part of the mock of FBInstant.\n * @ignore\n */\n class MockedInterstitial {\n _isLoaded: boolean = false;\n\n loadAsync() {\n this._isLoaded = true;\n return Promise.resolve();\n }\n\n showAsync(): Promise<void> {\n if (this._isLoaded) {\n logger.info(\n 'In a real Instant Game, an interstitial should have been shown to the user.'\n );\n return Promise.resolve();\n }\n return Promise.reject(new Error('Interstitial is not loaded.'));\n }\n }\n const supportedAPIs: Array<string> = [];\n const FBInstantMock = {\n _mockedPlayerData: {},\n _mockedLeaderboards: {},\n player: {\n getName: function () {\n return 'Fake player name';\n },\n getID: function () {\n return '12345678';\n },\n getDataAsync: function (key) {\n return new Promise(function (resolve) {\n resolve(FBInstantMock._mockedPlayerData);\n });\n },\n setDataAsync: function (data) {\n return new Promise<void>(function (resolve) {\n FBInstantMock._mockedPlayerData = data;\n resolve();\n });\n },\n },\n getLeaderboardAsync: function (leaderboardName) {\n return new Promise(function (resolve) {\n FBInstantMock._mockedLeaderboards[leaderboardName] =\n FBInstantMock._mockedLeaderboards[leaderboardName] ||\n new MockedLeaderboard();\n resolve(FBInstantMock._mockedLeaderboards[leaderboardName]);\n });\n },\n getInterstitialAdAsync: function () {\n return Promise.resolve(new MockedInterstitial());\n },\n getRewardedVideoAsync: function () {\n return Promise.resolve(new MockedRewardedVideo());\n },\n getSupportedAPIs: function () {\n return supportedAPIs;\n },\n };\n\n // Retrieve the name of the supported APIs in our mock.\n for (const property in FBInstantMock) {\n if (typeof FBInstantMock[property] == 'object') {\n for (const subProperty in FBInstantMock[property]) {\n if (typeof FBInstantMock[property][subProperty] == 'function') {\n supportedAPIs.push(property + '.' + subProperty);\n }\n }\n } else {\n if (typeof FBInstantMock[property] == 'function') {\n supportedAPIs.push(property);\n }\n }\n }\n // @ts-expect-error\n window.FBInstant = FBInstantMock;\n }\n }\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -4528,7 +4528,8 @@ declare namespace firebase.auth {
4528
4528
  * @hidden
4529
4529
  */
4530
4530
  class RecaptchaVerifier_Instance
4531
- implements firebase.auth.ApplicationVerifier {
4531
+ implements firebase.auth.ApplicationVerifier
4532
+ {
4532
4533
  constructor(
4533
4534
  container: any | string,
4534
4535
  parameters?: Object | null,
@@ -9509,9 +9510,9 @@ declare namespace firebase.firestore {
9509
9510
  * `exists` property will always be true and `data()` will never return
9510
9511
  * 'undefined'.
9511
9512
  */
9512
- export class QueryDocumentSnapshot<T = DocumentData> extends DocumentSnapshot<
9513
- T
9514
- > {
9513
+ export class QueryDocumentSnapshot<
9514
+ T = DocumentData,
9515
+ > extends DocumentSnapshot<T> {
9515
9516
  private constructor();
9516
9517
 
9517
9518
  /**
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../GDevelop/Extensions/Firebase/B_firebasetools/D_cloudfirestoretools.ts"],
4
- "sourcesContent": ["namespace gdjs {\n export namespace evtTools {\n export namespace firebaseTools {\n /**\n * Firebase Cloud Firestore Event Tools.\n * @namespace\n */\n export namespace firestore {\n const queries = new Map<string, firebase.firestore.Query>();\n\n /**\n * Converts a firebase document snapshot to a plain dictionary,\n * so that it may be serialized or converted to a {@link gdjs.Variable}.\n *\n * @param doc - The document snapshot.\n * @returns - The converted object.\n */\n const documentSnapshotToSerializable = (\n doc: firebase.firestore.DocumentSnapshot\n ) => ({\n data: doc.data(),\n exists: doc.exists,\n id: doc.id,\n });\n\n /**\n * Converts a firebase query snapshot to a plain dictionary,\n * so that it may be serialized or converted to a {@link gdjs.Variable}.\n *\n * @param query - The query snapshot.\n * @returns - The converted object.\n */\n const querySnapshotToSerializable = (\n query: firebase.firestore.QuerySnapshot\n ) => ({\n size: query.size,\n empty: query.empty,\n docs: query.docs.map(documentSnapshotToSerializable),\n });\n\n /**\n * Initiate a query over a collection.\n * @param queryID - The name of the new query.\n * @param collectionName - The name of the collection to query.\n */\n export const startQuery = (queryID: string, collectionName: string) => {\n queries.set(queryID, firebase.firestore().collection(collectionName));\n };\n\n /**\n * Create a new query from a base query.\n * @param queryID - The name of the new query.\n * @param sourceQueryID - The name of the source query.\n */\n export const startQueryFrom = (\n queryID: string,\n sourceQueryID: string\n ) => {\n if (queries.has(sourceQueryID))\n queries.set(queryID, queries.get(sourceQueryID)!);\n };\n\n /**\n * Filters out documents whose fields do not match a condition\n * from a query.\n * @param queryID - The query to add the filter to.\n * @param field - The field to run the condition on.\n * @param op - The condition operator.\n * @param value - The value to check against.\n */\n export const queryWhere = (\n queryID: string,\n field: string,\n op: Exclude<\n firebase.firestore.WhereFilterOp,\n // Exclude unsupported \"batch\" operations (as they require an array as value to check)\n 'in' | 'array-contains-any' | 'not-in'\n >,\n value: string | number\n ) => {\n if (queries.has(queryID))\n queries.set(queryID, queries.get(queryID)!.where(field, op, value));\n };\n\n /**\n * Orders the documents in a query.\n *\n * @param queryID - The query to add the filter to.\n * @param field - The field to order by.\n * @param direction - The direction of ordering (ascending or descending).\n */\n export const queryOrderBy = (\n queryID: string,\n field: string,\n direction: firebase.firestore.OrderByDirection\n ) => {\n if (queries.has(queryID))\n queries.set(\n queryID,\n queries.get(queryID)!.orderBy(field, direction)\n );\n };\n\n /**\n * Limits the amount of documents returned by the query.\n *\n * @param queryID - The query to add the filter to.\n * @param amount - The amount of documents to limit to\n * @param last - If true, limits to the last documents instead of the first documents.\n */\n export const queryLimit = (\n queryID: string,\n amount: integer,\n last: boolean\n ) => {\n if (queries.has(queryID))\n queries.set(\n queryID,\n queries.get(queryID)![last ? 'limitToLast' : 'limit'](amount)\n );\n };\n\n /**\n * Makes a query skip documents after or before a certain\n * value of a field the query was ordered with.\n *\n * @param queryID - The query to add the filter to.\n * @param value - The value of the field ordered by.\n * @param before - If set to true, all documents before the document are skipped, else all documents after it are skipped.\n * @param includeSelf - If set to true, doesn't skip the document.\n */\n export const querySkipSome = (\n queryID: string,\n value: number,\n before: boolean,\n includeSelf: boolean\n ) => {\n if (queries.has(queryID))\n queries.set(\n queryID,\n queries\n .get(queryID)!\n [\n before\n ? includeSelf\n ? 'endAt'\n : 'endBefore'\n : includeSelf\n ? 'startAt'\n : 'startAfter'\n ](value)\n );\n };\n\n /**\n * Execute a query and store results in a callback variable.\n *\n * @param queryID - The query to execute.\n * @param [callbackValueVariable] - The variable where to store the result.\n * @param [callbackStatusVariable] - The variable where to store if the operation was successful.\n */\n export const executeQuery = (\n queryID: string,\n callbackValueVariable?: gdjs.Variable,\n callbackStatusVariable?: gdjs.Variable\n ) => {\n if (!queries.has(queryID)) return;\n queries\n .get(queryID)!\n .get()\n .then((snapshot) => {\n if (typeof callbackStatusVariable !== 'undefined')\n callbackStatusVariable.setString('ok');\n\n if (typeof callbackValueVariable !== 'undefined')\n callbackValueVariable.fromJSObject(\n querySnapshotToSerializable(snapshot)\n );\n })\n .catch((error) => {\n if (typeof callbackStatusVariable !== 'undefined')\n callbackStatusVariable.setString(error.message);\n });\n };\n\n /**\n * Watch a query and store results in a callback\n * variable whenever a documents starts/stops\n * matching the query or a document matching\n * the query is modified.\n *\n * @param queryID - The query to execute.\n * @param [callbackValueVariable] - The variable where to store the result.\n * @param [callbackStatusVariable] - The variable where to store if the operation was successful.\n */\n export const watchQuery = (\n queryID: string,\n callbackValueVariable?: gdjs.Variable,\n callbackStatusVariable?: gdjs.Variable\n ) => {\n if (!queries.has(queryID)) return;\n queries.get(queryID)!.onSnapshot(\n (snapshot) => {\n if (typeof callbackStatusVariable !== 'undefined')\n callbackStatusVariable.setString('ok');\n\n if (typeof callbackValueVariable !== 'undefined')\n callbackValueVariable.fromJSObject(\n querySnapshotToSerializable(snapshot)\n );\n },\n (error) => {\n if (typeof callbackStatusVariable !== 'undefined')\n callbackStatusVariable.setString(error.message);\n }\n );\n };\n\n /**\n * Adds a variable in a collection as document with a unique name.\n * @param collectionName - The collection where to store the variable.\n * @param variable - The variable to write.\n * @param [callbackStateVariable] - The variable where to store the result.\n */\n export const addDocument = (\n collectionName: string,\n variable: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .add(replaceTimestampsInObject(variable.toJSObject()))\n .then(() => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Writes a variable in a collection as document.\n * @param collectionName - The collection where to store the variable.\n * @param variableName - The name under which the variable will be saved (document name).\n * @param variable - The variable to write.\n * @param [callbackStateVariable] - The variable where to store the result.\n */\n export const writeDocument = (\n collectionName: string,\n variableName: string,\n variable: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(variableName)\n .set(replaceTimestampsInObject(variable.toJSObject()))\n .then(() => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Writes a field of a document.\n * @param collectionName - The collection where to store the document.\n * @param documentName - The name of the document where to write a field.\n * @param field - The field where to write.\n * @param value - The value to write.\n * @param [callbackStateVariable] - The variable where to store the result.\n * @param [merge] - Should the new field replace the document or be merged with the document?\n */\n export const writeField = (\n collectionName: string,\n documentName: string,\n field: string,\n value: any,\n callbackStateVariable?: gdjs.Variable,\n merge: boolean = true\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .set({ [field]: replaceTimestampInString(value) }, { merge: merge })\n .then(() => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Updates a variable/document.\n * @param collectionName - The collection where the document is stored.\n * @param variableName - The name under which the variable will be saved (document name).\n * @param variable - The variable to update.\n * @param [callbackStateVariable] - The variable where to store the result.\n */\n export const updateDocument = (\n collectionName: string,\n variableName: string,\n variable: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(variableName)\n .update(replaceTimestampsInObject(variable.toJSObject()))\n .then(() => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Updates a field of a document.\n * @param collectionName - The collection where the document is stored.\n * @param documentName - The name of the document where to update a field.\n * @param field - The field where to update.\n * @param value - The value to write.\n * @param [callbackStateVariable] - The variable where to store the result.\n */\n export const updateField = (\n collectionName: string,\n documentName: string,\n field: string,\n value: any,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .update({ [field]: replaceTimestampInString(value) })\n .then(() => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Deletes a document.\n * @param collectionName - The collection where the document is stored.\n * @param documentName - The name of the document to delete.\n * @param [callbackStateVariable] - The variable where to store the result.\n */\n export const deleteDocument = (\n collectionName: string,\n documentName: string,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .delete()\n .then(() => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Deletes a field of a document.\n * @param collectionName - The collection where the document is stored.\n * @param documentName - The name of the document where to delete a field.\n * @param field - The field to delete.\n * @param [callbackStateVariable] - The variable where to store the result.\n */\n export const deleteField = (\n collectionName: string,\n documentName: string,\n field: string,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .update({ [field]: firebase.firestore.FieldValue.delete() })\n .then(() => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Gets a document and store it in a variable.\n * @param collectionName - The collection where the document is stored.\n * @param documentName - The name of the document to get.\n * @param [callbackValueVariable] - The variable where to store the result.\n * @param [callbackStateVariable] - The variable where to store if the operation was successful.\n */\n export const getDocument = (\n collectionName: string,\n documentName: string,\n callbackValueVariable?: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .get()\n .then((doc) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n\n if (callbackValueVariable)\n callbackValueVariable.fromJSObject(doc.data());\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Gets a field of a document and store it in a variable.\n * @param collectionName - The collection where the document is stored.\n * @param documentName - The name of the document.\n * @param field - The field to get.\n * @param [callbackValueVariable] - The variable where to store the result.\n * @param [callbackStateVariable] - The variable where to store if the operation was successful.\n */\n export const getField = (\n collectionName: string,\n documentName: string,\n field: string,\n callbackValueVariable?: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .get()\n .then((doc) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n\n if (callbackValueVariable)\n callbackValueVariable.fromJSObject(doc.get(field));\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Checks for existence of a document.\n * @param collectionName - The collection where the document is stored.\n * @param documentName - The name of the document to check.\n * @param [callbackValueVariable] - The variable where to store the result.\n * @param [callbackStateVariable] - The variable where to store if the operation was successful.\n */\n export const hasDocument = (\n collectionName: string,\n documentName: string,\n callbackValueVariable?: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .get()\n .then((doc) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n\n if (callbackValueVariable)\n callbackValueVariable.setBoolean(doc.exists);\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Checks for existence of a field.\n * @param collectionName - The collection where the document is stored.\n * @param documentName - The name of the document.\n * @param field - The field to check.\n * @param [callbackValueVariable] - The variable where to store the result.\n * @param [callbackStateVariable] - The variable where to store if the operation was successful.\n */\n export const hasField = (\n collectionName: string,\n documentName: string,\n field: string,\n callbackValueVariable?: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .get()\n .then((doc) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n\n if (callbackValueVariable) {\n const value = doc.get(field, { serverTimestamps: 'estimate' });\n callbackValueVariable.setBoolean(\n doc.exists && value !== undefined && value !== null\n );\n }\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Lists all the documents in a collection.\n * @param collectionName - The collection where to count documents.\n * @param [callbackValueVariable] - The variable where to store the result.\n * @param [callbackStateVariable] - The variable where to store if the operation was successful.\n *\n * @deprecated Use a query without filters instead.\n */\n export const listDocuments = (\n collectionName: string,\n callbackValueVariable?: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .get()\n .then((snapshot) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(\n snapshot.empty ? 'empty' : 'ok'\n );\n\n if (callbackValueVariable)\n callbackValueVariable.fromJSObject(\n snapshot.docs.map((doc) => doc.id)\n );\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Returns a special string replaced by a firebase serverTimestamp field value.\n */\n export const getServerTimestamp = () =>\n '[{__FIREBASE_SERVERSIDE_TIMESTAMP}]';\n\n const replaceTimestampInString = (str: any) => {\n if (str === '[{__FIREBASE_SERVERSIDE_TIMESTAMP}]')\n return firebase.firestore.FieldValue.serverTimestamp();\n else return str;\n };\n\n const replaceTimestampsInObject = (object: object): object => {\n for (const i in object) {\n const item = object[i];\n if (typeof item === 'object') replaceTimestampsInObject(item);\n else if (item === '[{__FIREBASE_SERVERSIDE_TIMESTAMP}]')\n object[i] = firebase.firestore.FieldValue.serverTimestamp();\n }\n return object;\n };\n }\n }\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["namespace gdjs {\n export namespace evtTools {\n export namespace firebaseTools {\n /**\n * Firebase Cloud Firestore Event Tools.\n * @namespace\n */\n export namespace firestore {\n const queries = new Map<string, firebase.firestore.Query>();\n\n /**\n * Converts a firebase document snapshot to a plain dictionary,\n * so that it may be serialized or converted to a {@link gdjs.Variable}.\n *\n * @param doc - The document snapshot.\n * @returns - The converted object.\n */\n const documentSnapshotToSerializable = (\n doc: firebase.firestore.DocumentSnapshot\n ) => ({\n data: doc.data(),\n exists: doc.exists,\n id: doc.id,\n });\n\n /**\n * Converts a firebase query snapshot to a plain dictionary,\n * so that it may be serialized or converted to a {@link gdjs.Variable}.\n *\n * @param query - The query snapshot.\n * @returns - The converted object.\n */\n const querySnapshotToSerializable = (\n query: firebase.firestore.QuerySnapshot\n ) => ({\n size: query.size,\n empty: query.empty,\n docs: query.docs.map(documentSnapshotToSerializable),\n });\n\n /**\n * Initiate a query over a collection.\n * @param queryID - The name of the new query.\n * @param collectionName - The name of the collection to query.\n */\n export const startQuery = (queryID: string, collectionName: string) => {\n queries.set(queryID, firebase.firestore().collection(collectionName));\n };\n\n /**\n * Create a new query from a base query.\n * @param queryID - The name of the new query.\n * @param sourceQueryID - The name of the source query.\n */\n export const startQueryFrom = (\n queryID: string,\n sourceQueryID: string\n ) => {\n if (queries.has(sourceQueryID))\n queries.set(queryID, queries.get(sourceQueryID)!);\n };\n\n /**\n * Filters out documents whose fields do not match a condition\n * from a query.\n * @param queryID - The query to add the filter to.\n * @param field - The field to run the condition on.\n * @param op - The condition operator.\n * @param value - The value to check against.\n */\n export const queryWhere = (\n queryID: string,\n field: string,\n op: Exclude<\n firebase.firestore.WhereFilterOp,\n // Exclude unsupported \"batch\" operations (as they require an array as value to check)\n 'in' | 'array-contains-any' | 'not-in'\n >,\n value: string | number\n ) => {\n if (queries.has(queryID))\n queries.set(queryID, queries.get(queryID)!.where(field, op, value));\n };\n\n /**\n * Orders the documents in a query.\n *\n * @param queryID - The query to add the filter to.\n * @param field - The field to order by.\n * @param direction - The direction of ordering (ascending or descending).\n */\n export const queryOrderBy = (\n queryID: string,\n field: string,\n direction: firebase.firestore.OrderByDirection\n ) => {\n if (queries.has(queryID))\n queries.set(\n queryID,\n queries.get(queryID)!.orderBy(field, direction)\n );\n };\n\n /**\n * Limits the amount of documents returned by the query.\n *\n * @param queryID - The query to add the filter to.\n * @param amount - The amount of documents to limit to\n * @param last - If true, limits to the last documents instead of the first documents.\n */\n export const queryLimit = (\n queryID: string,\n amount: integer,\n last: boolean\n ) => {\n if (queries.has(queryID))\n queries.set(\n queryID,\n queries.get(queryID)![last ? 'limitToLast' : 'limit'](amount)\n );\n };\n\n /**\n * Makes a query skip documents after or before a certain\n * value of a field the query was ordered with.\n *\n * @param queryID - The query to add the filter to.\n * @param value - The value of the field ordered by.\n * @param before - If set to true, all documents before the document are skipped, else all documents after it are skipped.\n * @param includeSelf - If set to true, doesn't skip the document.\n */\n export const querySkipSome = (\n queryID: string,\n value: number,\n before: boolean,\n includeSelf: boolean\n ) => {\n if (queries.has(queryID))\n queries.set(\n queryID,\n queries\n .get(queryID)!\n [\n before\n ? includeSelf\n ? 'endAt'\n : 'endBefore'\n : includeSelf\n ? 'startAt'\n : 'startAfter'\n ](value)\n );\n };\n\n /**\n * Execute a query and store results in a callback variable.\n *\n * @param queryID - The query to execute.\n * @param [callbackValueVariable] - The variable where to store the result.\n * @param [callbackStatusVariable] - The variable where to store if the operation was successful.\n */\n export const executeQuery = (\n queryID: string,\n callbackValueVariable?: gdjs.Variable,\n callbackStatusVariable?: gdjs.Variable\n ) => {\n if (!queries.has(queryID)) return;\n queries\n .get(queryID)!\n .get()\n .then((snapshot) => {\n if (typeof callbackStatusVariable !== 'undefined')\n callbackStatusVariable.setString('ok');\n\n if (typeof callbackValueVariable !== 'undefined')\n callbackValueVariable.fromJSObject(\n querySnapshotToSerializable(snapshot)\n );\n })\n .catch((error) => {\n if (typeof callbackStatusVariable !== 'undefined')\n callbackStatusVariable.setString(error.message);\n });\n };\n\n /**\n * Watch a query and store results in a callback\n * variable whenever a documents starts/stops\n * matching the query or a document matching\n * the query is modified.\n *\n * @param queryID - The query to execute.\n * @param [callbackValueVariable] - The variable where to store the result.\n * @param [callbackStatusVariable] - The variable where to store if the operation was successful.\n */\n export const watchQuery = (\n queryID: string,\n callbackValueVariable?: gdjs.Variable,\n callbackStatusVariable?: gdjs.Variable\n ) => {\n if (!queries.has(queryID)) return;\n queries.get(queryID)!.onSnapshot(\n (snapshot) => {\n if (typeof callbackStatusVariable !== 'undefined')\n callbackStatusVariable.setString('ok');\n\n if (typeof callbackValueVariable !== 'undefined')\n callbackValueVariable.fromJSObject(\n querySnapshotToSerializable(snapshot)\n );\n },\n (error) => {\n if (typeof callbackStatusVariable !== 'undefined')\n callbackStatusVariable.setString(error.message);\n }\n );\n };\n\n /**\n * Adds a variable in a collection as document with a unique name.\n * @param collectionName - The collection where to store the variable.\n * @param variable - The variable to write.\n * @param [callbackStateVariable] - The variable where to store the result.\n */\n export const addDocument = (\n collectionName: string,\n variable: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .add(replaceTimestampsInObject(variable.toJSObject()))\n .then(() => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Writes a variable in a collection as document.\n * @param collectionName - The collection where to store the variable.\n * @param variableName - The name under which the variable will be saved (document name).\n * @param variable - The variable to write.\n * @param [callbackStateVariable] - The variable where to store the result.\n */\n export const writeDocument = (\n collectionName: string,\n variableName: string,\n variable: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(variableName)\n .set(replaceTimestampsInObject(variable.toJSObject()))\n .then(() => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Writes a field of a document.\n * @param collectionName - The collection where to store the document.\n * @param documentName - The name of the document where to write a field.\n * @param field - The field where to write.\n * @param value - The value to write.\n * @param [callbackStateVariable] - The variable where to store the result.\n * @param [merge] - Should the new field replace the document or be merged with the document?\n */\n export const writeField = (\n collectionName: string,\n documentName: string,\n field: string,\n value: any,\n callbackStateVariable?: gdjs.Variable,\n merge: boolean = true\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .set({ [field]: replaceTimestampInString(value) }, { merge: merge })\n .then(() => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Updates a variable/document.\n * @param collectionName - The collection where the document is stored.\n * @param variableName - The name under which the variable will be saved (document name).\n * @param variable - The variable to update.\n * @param [callbackStateVariable] - The variable where to store the result.\n */\n export const updateDocument = (\n collectionName: string,\n variableName: string,\n variable: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(variableName)\n .update(replaceTimestampsInObject(variable.toJSObject()))\n .then(() => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Updates a field of a document.\n * @param collectionName - The collection where the document is stored.\n * @param documentName - The name of the document where to update a field.\n * @param field - The field where to update.\n * @param value - The value to write.\n * @param [callbackStateVariable] - The variable where to store the result.\n */\n export const updateField = (\n collectionName: string,\n documentName: string,\n field: string,\n value: any,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .update({ [field]: replaceTimestampInString(value) })\n .then(() => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Deletes a document.\n * @param collectionName - The collection where the document is stored.\n * @param documentName - The name of the document to delete.\n * @param [callbackStateVariable] - The variable where to store the result.\n */\n export const deleteDocument = (\n collectionName: string,\n documentName: string,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .delete()\n .then(() => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Deletes a field of a document.\n * @param collectionName - The collection where the document is stored.\n * @param documentName - The name of the document where to delete a field.\n * @param field - The field to delete.\n * @param [callbackStateVariable] - The variable where to store the result.\n */\n export const deleteField = (\n collectionName: string,\n documentName: string,\n field: string,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .update({ [field]: firebase.firestore.FieldValue.delete() })\n .then(() => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Gets a document and store it in a variable.\n * @param collectionName - The collection where the document is stored.\n * @param documentName - The name of the document to get.\n * @param [callbackValueVariable] - The variable where to store the result.\n * @param [callbackStateVariable] - The variable where to store if the operation was successful.\n */\n export const getDocument = (\n collectionName: string,\n documentName: string,\n callbackValueVariable?: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .get()\n .then((doc) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n\n if (callbackValueVariable)\n callbackValueVariable.fromJSObject(doc.data());\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Gets a field of a document and store it in a variable.\n * @param collectionName - The collection where the document is stored.\n * @param documentName - The name of the document.\n * @param field - The field to get.\n * @param [callbackValueVariable] - The variable where to store the result.\n * @param [callbackStateVariable] - The variable where to store if the operation was successful.\n */\n export const getField = (\n collectionName: string,\n documentName: string,\n field: string,\n callbackValueVariable?: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .get()\n .then((doc) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n\n if (callbackValueVariable)\n callbackValueVariable.fromJSObject(doc.get(field));\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Checks for existence of a document.\n * @param collectionName - The collection where the document is stored.\n * @param documentName - The name of the document to check.\n * @param [callbackValueVariable] - The variable where to store the result.\n * @param [callbackStateVariable] - The variable where to store if the operation was successful.\n */\n export const hasDocument = (\n collectionName: string,\n documentName: string,\n callbackValueVariable?: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .get()\n .then((doc) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n\n if (callbackValueVariable)\n callbackValueVariable.setBoolean(doc.exists);\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Checks for existence of a field.\n * @param collectionName - The collection where the document is stored.\n * @param documentName - The name of the document.\n * @param field - The field to check.\n * @param [callbackValueVariable] - The variable where to store the result.\n * @param [callbackStateVariable] - The variable where to store if the operation was successful.\n */\n export const hasField = (\n collectionName: string,\n documentName: string,\n field: string,\n callbackValueVariable?: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .doc(documentName)\n .get()\n .then((doc) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString('ok');\n\n if (callbackValueVariable) {\n const value = doc.get(field, { serverTimestamps: 'estimate' });\n callbackValueVariable.setBoolean(\n doc.exists && value !== undefined && value !== null\n );\n }\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Lists all the documents in a collection.\n * @param collectionName - The collection where to count documents.\n * @param [callbackValueVariable] - The variable where to store the result.\n * @param [callbackStateVariable] - The variable where to store if the operation was successful.\n *\n * @deprecated Use a query without filters instead.\n */\n export const listDocuments = (\n collectionName: string,\n callbackValueVariable?: gdjs.Variable,\n callbackStateVariable?: gdjs.Variable\n ) => {\n firebase\n .firestore()\n .collection(collectionName)\n .get()\n .then((snapshot) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(\n snapshot.empty ? 'empty' : 'ok'\n );\n\n if (callbackValueVariable)\n callbackValueVariable.fromJSObject(\n snapshot.docs.map((doc) => doc.id)\n );\n })\n .catch((error) => {\n if (typeof callbackStateVariable !== 'undefined')\n callbackStateVariable.setString(error.message);\n });\n };\n\n /**\n * Returns a special string replaced by a firebase serverTimestamp field value.\n */\n export const getServerTimestamp = () =>\n '[{__FIREBASE_SERVERSIDE_TIMESTAMP}]';\n\n const replaceTimestampInString = (str: any) => {\n if (str === '[{__FIREBASE_SERVERSIDE_TIMESTAMP}]')\n return firebase.firestore.FieldValue.serverTimestamp();\n else return str;\n };\n\n const replaceTimestampsInObject = (object: object): object => {\n for (const i in object) {\n const item = object[i];\n if (typeof item === 'object') replaceTimestampsInObject(item);\n else if (item === '[{__FIREBASE_SERVERSIDE_TIMESTAMP}]')\n object[i] = firebase.firestore.FieldValue.serverTimestamp();\n }\n return object;\n };\n }\n }\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../GDevelop/Extensions/Firebase/B_firebasetools/D_remoteconfigtools.ts"],
4
- "sourcesContent": ["namespace gdjs {\n export namespace evtTools {\n export namespace firebaseTools {\n /**\n * Remote Config Tools\n * @namespace\n */\n export namespace remoteConfig {\n /**\n * Set the interval between auto-config updates.\n */\n export const setAutoUpdateInterval = (interval: integer) => {\n firebase.remoteConfig().settings.minimumFetchIntervalMillis = interval;\n };\n\n /**\n * Set the default configuration, for when starting the game offline.\n * @param variable - A structure defining the default variables.\n */\n export const setDefaultConfig = (variable: gdjs.Variable) => {\n firebase.remoteConfig().defaultConfig = variable.toJSObject();\n };\n\n gdjs.evtTools.firebaseTools.onAppCreated.push(() => {\n // Synchronisation seems to be impossible when that value isn't preset.\n firebase.remoteConfig().settings.minimumFetchIntervalMillis = -1;\n });\n }\n }\n }\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CACS,GAAU,GAAV,UAAU,EAAV,CACE,GAAU,GAAV,UAAU,EAAV,CAKE,GAAU,GAAV,UAAU,EAAV,CAIE,AAAM,wBAAwB,AAAC,GAAsB,CAC1D,SAAS,eAAe,SAAS,2BAA6B,GAOnD,mBAAmB,AAAC,GAA4B,CAC3D,SAAS,eAAe,cAAgB,EAAS,cAGnD,EAAK,SAAS,cAAc,aAAa,KAAK,IAAM,CAElD,SAAS,eAAe,SAAS,2BAA6B,OAlBjD,yCALF,2CADF,iCADT",
4
+ "sourcesContent": ["namespace gdjs {\n export namespace evtTools {\n export namespace firebaseTools {\n /**\n * Remote Config Tools\n * @namespace\n */\n export namespace remoteConfig {\n /**\n * Set the interval between auto-config updates.\n */\n export const setAutoUpdateInterval = (interval: integer) => {\n firebase.remoteConfig().settings.minimumFetchIntervalMillis =\n interval;\n };\n\n /**\n * Set the default configuration, for when starting the game offline.\n * @param variable - A structure defining the default variables.\n */\n export const setDefaultConfig = (variable: gdjs.Variable) => {\n firebase.remoteConfig().defaultConfig = variable.toJSObject();\n };\n\n gdjs.evtTools.firebaseTools.onAppCreated.push(() => {\n // Synchronisation seems to be impossible when that value isn't preset.\n firebase.remoteConfig().settings.minimumFetchIntervalMillis = -1;\n });\n }\n }\n }\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CACS,GAAU,GAAV,UAAU,EAAV,CACE,GAAU,GAAV,UAAU,EAAV,CAKE,GAAU,GAAV,UAAU,EAAV,CAIE,AAAM,wBAAwB,AAAC,GAAsB,CAC1D,SAAS,eAAe,SAAS,2BAC/B,GAOS,mBAAmB,AAAC,GAA4B,CAC3D,SAAS,eAAe,cAAgB,EAAS,cAGnD,EAAK,SAAS,cAAc,aAAa,KAAK,IAAM,CAElD,SAAS,eAAe,SAAS,2BAA6B,OAnBjD,yCALF,2CADF,iCADT",
6
6
  "names": []
7
7
  }
@@ -37,7 +37,7 @@ module.exports = {
37
37
  extension
38
38
  .registerProperty('FirebaseConfig')
39
39
  .setLabel(_('Firebase configuration string'))
40
- .setType('textarea');
40
+ .setType('multilinestring');
41
41
 
42
42
  /* ====== ANALYTICS ====== */
43
43
  extension
@@ -422,7 +422,7 @@ module.exports = {
422
422
  _('Is the user email address verified'),
423
423
  _('Checks if the email address of the user got verified.'),
424
424
  _('The email of the user is verified'),
425
- _('Authentication/User Management'),
425
+ _('AuthenticationUser Management'),
426
426
  'JsPlatform/Extensions/firebase.png',
427
427
  'JsPlatform/Extensions/firebase.png'
428
428
  )
@@ -440,7 +440,7 @@ module.exports = {
440
440
  'GetUserEmail',
441
441
  _('User email address'),
442
442
  _('Return the user email address.'),
443
- _('Authentication/User Management'),
443
+ _('AuthenticationUser Management'),
444
444
  'JsPlatform/Extensions/firebase.png'
445
445
  )
446
446
  .getCodeExtraInformation()
@@ -457,7 +457,7 @@ module.exports = {
457
457
  'GetAccountCreationTime',
458
458
  _('Accounts creation time'),
459
459
  _('Return the accounts creation time.'),
460
- _('Authentication/User Management'),
460
+ _('AuthenticationUser Management'),
461
461
  'JsPlatform/Extensions/firebase.png'
462
462
  )
463
463
  .getCodeExtraInformation()
@@ -474,7 +474,7 @@ module.exports = {
474
474
  'GetLastLoginTime',
475
475
  _('User last login time'),
476
476
  _('Return the user last login time.'),
477
- _('Authentication/User Management'),
477
+ _('AuthenticationUser Management'),
478
478
  'JsPlatform/Extensions/firebase.png'
479
479
  )
480
480
  .getCodeExtraInformation()
@@ -491,7 +491,7 @@ module.exports = {
491
491
  'GetUserDisplayName',
492
492
  _('User display name'),
493
493
  _('Return the user display name.'),
494
- _('Authentication/User Management'),
494
+ _('AuthenticationUser Management'),
495
495
  'JsPlatform/Extensions/firebase.png'
496
496
  )
497
497
  .getCodeExtraInformation()
@@ -508,7 +508,7 @@ module.exports = {
508
508
  'GetPhoneNumber',
509
509
  _('User phone number'),
510
510
  _('Return the user phone number.'),
511
- _('Authentication/User Management'),
511
+ _('AuthenticationUser Management'),
512
512
  'JsPlatform/Extensions/firebase.png'
513
513
  )
514
514
  .getCodeExtraInformation()
@@ -528,7 +528,7 @@ module.exports = {
528
528
  'Return the user Unique IDentifier. Use that to link data to an ' +
529
529
  'user instead of the name or email.'
530
530
  ),
531
- _('Authentication/User Management'),
531
+ _('AuthenticationUser Management'),
532
532
  'JsPlatform/Extensions/firebase.png'
533
533
  )
534
534
  .getCodeExtraInformation()
@@ -545,7 +545,7 @@ module.exports = {
545
545
  'GetTenantID',
546
546
  _('User tenant ID'),
547
547
  _('Return the user tenant ID. For advanced usage only.'),
548
- _('Authentication/User Management'),
548
+ _('AuthenticationUser Management'),
549
549
  'JsPlatform/Extensions/firebase.png'
550
550
  )
551
551
  .getCodeExtraInformation()
@@ -562,7 +562,7 @@ module.exports = {
562
562
  'GetRefreshToken',
563
563
  _('User refresh token'),
564
564
  _('Return the user refresh token. For advanced usage only.'),
565
- _('Authentication/User Management'),
565
+ _('AuthenticationUser Management'),
566
566
  'JsPlatform/Extensions/firebase.png'
567
567
  )
568
568
  .getCodeExtraInformation()
@@ -579,7 +579,7 @@ module.exports = {
579
579
  'GetPhotoURL',
580
580
  _('Profile picture URL'),
581
581
  _('Gets an URL to the user profile picture.'),
582
- _('Authentication/User Management'),
582
+ _('AuthenticationUser Management'),
583
583
  'JsPlatform/Extensions/firebase.png'
584
584
  )
585
585
  .getCodeExtraInformation()
@@ -597,7 +597,7 @@ module.exports = {
597
597
  _('Send a password reset email'),
598
598
  _('Send a password reset link per email.'),
599
599
  _('Send a password reset email'),
600
- _('Authentication/User Management'),
600
+ _('AuthenticationUser Management'),
601
601
  'JsPlatform/Extensions/firebase.png',
602
602
  'JsPlatform/Extensions/firebase.png'
603
603
  )
@@ -619,7 +619,7 @@ module.exports = {
619
619
  _('Send a verification email'),
620
620
  _('Send a link per email to verify the user email.'),
621
621
  _('Send a verification email'),
622
- _('Authentication/User Management'),
622
+ _('AuthenticationUser Management'),
623
623
  'JsPlatform/Extensions/firebase.png',
624
624
  'JsPlatform/Extensions/firebase.png'
625
625
  )
@@ -638,7 +638,7 @@ module.exports = {
638
638
  _('Display name'),
639
639
  _('Sets the user display name.'),
640
640
  _("Set the user's display name to _PARAM0_"),
641
- _('Authentication/User Management'),
641
+ _('AuthenticationUser Management'),
642
642
  'JsPlatform/Extensions/firebase.png',
643
643
  'JsPlatform/Extensions/firebase.png'
644
644
  )
@@ -658,7 +658,7 @@ module.exports = {
658
658
  _('Profile picture'),
659
659
  _('Change the user profile picture URL to a new one.'),
660
660
  _("Change the user's profile picture URL to _PARAM0_"),
661
- _('Authentication/User Management'),
661
+ _('AuthenticationUser Management'),
662
662
  'JsPlatform/Extensions/firebase.png',
663
663
  'JsPlatform/Extensions/firebase.png'
664
664
  )
@@ -684,7 +684,7 @@ module.exports = {
684
684
  _(
685
685
  "Change the user's email to _PARAM0_ and store result in _PARAM4_ (send verification email: _PARAM3_)"
686
686
  ),
687
- _('Authentication/User Management/Advanced'),
687
+ _('AuthenticationUser ManagementAdvanced'),
688
688
  'JsPlatform/Extensions/firebase.png',
689
689
  'JsPlatform/Extensions/firebase.png'
690
690
  )
@@ -725,7 +725,7 @@ module.exports = {
725
725
  _(
726
726
  "Change the user's email to _PARAM0_ and store result in _PARAM2_ (send verification email: _PARAM1_)"
727
727
  ),
728
- _('Authentication/User Management/Advanced'),
728
+ _('AuthenticationUser ManagementAdvanced'),
729
729
  'JsPlatform/Extensions/firebase.png',
730
730
  'JsPlatform/Extensions/firebase.png'
731
731
  )
@@ -764,7 +764,7 @@ module.exports = {
764
764
  'Change the user password to _PARAM2_ and store result in ' +
765
765
  '_PARAM4_ (send verification email: _PARAM3_)'
766
766
  ),
767
- _('Authentication/User Management/Advanced'),
767
+ _('AuthenticationUser ManagementAdvanced'),
768
768
  'JsPlatform/Extensions/firebase.png',
769
769
  'JsPlatform/Extensions/firebase.png'
770
770
  )
@@ -806,7 +806,7 @@ module.exports = {
806
806
  'Change the user password to _PARAM0_ and store result in ' +
807
807
  '_PARAM2_ (send verification email: _PARAM1_)'
808
808
  ),
809
- _('Authentication/User Management/Advanced'),
809
+ _('AuthenticationUser ManagementAdvanced'),
810
810
  'JsPlatform/Extensions/firebase.png',
811
811
  'JsPlatform/Extensions/firebase.png'
812
812
  )
@@ -842,7 +842,7 @@ module.exports = {
842
842
  'Deletes the user account.'
843
843
  ),
844
844
  _('Delete the user account and store result in _PARAM2_'),
845
- _('Authentication/User Management/Advanced'),
845
+ _('AuthenticationUser ManagementAdvanced'),
846
846
  'JsPlatform/Extensions/firebase.png',
847
847
  'JsPlatform/Extensions/firebase.png'
848
848
  )
@@ -873,7 +873,7 @@ module.exports = {
873
873
  'This is the same as "Delete the user account" but reauthenticates via an external provider.'
874
874
  ),
875
875
  _('Delete the user account and store result in _PARAM0_'),
876
- _('Authentication/User Management/Advanced'),
876
+ _('AuthenticationUser ManagementAdvanced'),
877
877
  'JsPlatform/Extensions/firebase.png',
878
878
  'JsPlatform/Extensions/firebase.png'
879
879
  )
@@ -189,6 +189,7 @@ declare type ObjectsRenderingService = {
189
189
  objectConfiguration: gd.ObjectConfiguration
190
190
  ) => string;
191
191
  rgbOrHexToHexNumber: (value: string) => number;
192
+ hexNumberToRGBArray: (value: number) => [number, number, number];
192
193
  registerClearCache: (clearCache: (_: any) => void) => void;
193
194
  };
194
195