sebavan 4 tahun lalu
induk
melakukan
c29cb78eba

+ 2 - 3
Playground/src/components/rendererComponent.tsx

@@ -77,13 +77,13 @@ export class RenderingComponent extends React.Component<IRenderingComponentProps
         });
     }
 
-    private async _loadScriptAsync(url: string) {
+    private async _loadScriptAsync(url: string): Promise<void> {
         return new Promise((resolve, reject) => {
             let script = document.createElement('script');
             script.src = url;
             script.onload = () => {
                 resolve();
-            }
+            };
             document.head.appendChild(script);
         });
     }
@@ -94,7 +94,6 @@ export class RenderingComponent extends React.Component<IRenderingComponentProps
 
         const displayInspector = this._scene?.debugLayer.isVisible();
 
-
         if (this._engine) {
             try {
                 this._engine.dispose();

+ 2 - 2
ktx2Decoder/src/Transcoders/mscTranscoder.ts

@@ -27,10 +27,10 @@ export class MSCTranscoder extends Transcoder {
         return MSCTranscoder.Name;
     }
 
-    private _mscBasisTranscoderPromise: Promise<any>;
+    private _mscBasisTranscoderPromise: Promise<void>;
     private _mscBasisModule: any;
 
-    private _getMSCBasisTranscoder(): Promise<any> {
+    private _getMSCBasisTranscoder(): Promise<void> {
         if (this._mscBasisTranscoderPromise) {
             return this._mscBasisTranscoderPromise;
         }

+ 1 - 1
loaders/src/OBJ/objFileLoader.ts

@@ -961,7 +961,7 @@ export class OBJFileLoader implements ISceneLoaderPluginAsync, ISceneLoaderPlugi
             babylonMeshesArray.push(babylonMesh);
         }
 
-        let mtlPromises: Array<Promise<any>> = [];
+        let mtlPromises: Array<Promise<void>> = [];
         //load the materials
         //Check if we have a file to load
         if (fileToLoad !== "" && this._meshLoadOptions.SkipMaterials === false) {

+ 2 - 2
package.json

@@ -103,7 +103,7 @@
         "tslib": ">=1.10.0",
         "tslint": "^6.1.2",
         "typedoc": "^0.17.7",
-        "typescript": "^4.0.2",
+        "typescript": "^4.1.2",
         "webpack": "~4.43.0",
         "webpack-bundle-analyzer": "^3.8.0",
         "webpack-cli": "^3.3.11",
@@ -112,4 +112,4 @@
         "xhr2": "^0.2.0",
         "xmlbuilder": "15.1.1"
     }
-}
+}

+ 1 - 1
serializers/src/glTF/2.0/Extensions/KHR_lights_punctual.ts

@@ -186,7 +186,7 @@ export class KHR_lights_punctual implements IGLTFExporterExtensionV2 {
                             parentNode.extensions[NAME] = lightReference;
 
                             // Do not export the original node
-                            resolve(undefined);
+                            resolve(null);
                             return;
                         }
                     }

+ 1 - 1
src/Cameras/Inputs/freeCameraDeviceOrientationInput.ts

@@ -56,7 +56,7 @@ export class FreeCameraDeviceOrientationInput implements ICameraInput<FreeCamera
      * @param timeout amount of time in milliseconds to wait for a response from the sensor (default: infinite)
      * @returns a promise that will resolve on orientation change
      */
-    public static WaitForOrientationChangeAsync(timeout?: number) {
+    public static WaitForOrientationChangeAsync(timeout?: number): Promise<void> {
         return new Promise((res, rej) => {
             var gotValue = false;
             var eventHandler = () => {

+ 1 - 1
src/Engines/engine.ts

@@ -1668,7 +1668,7 @@ export class Engine extends ThinEngine {
         this._gl.deleteBuffer(buffer);
     }
 
-    private _clientWaitAsync(sync: WebGLSync, flags = 0, interval_ms = 10) {
+    private _clientWaitAsync(sync: WebGLSync, flags = 0, interval_ms = 10): Promise<void> {
         let gl = <WebGL2RenderingContext>(this._gl as any);
         return new Promise((resolve, reject) => {
             let check = () => {

+ 1 - 1
src/Engines/nativeEngine.ts

@@ -1265,7 +1265,7 @@ export class NativeEngine extends Engine {
             // Reorder from [+X, +Y, +Z, -X, -Y, -Z] to [+X, -X, +Y, -Y, +Z, -Z].
             const reorderedFiles = [files[0], files[3], files[1], files[4], files[2], files[5]];
             Promise.all(reorderedFiles.map((file) => Tools.LoadFileAsync(file).then((data) => new Uint8Array(data as ArrayBuffer)))).then((data) => {
-                return new Promise((resolve, reject) => {
+                return new Promise((resolve: (_: void) => void, reject) => {
                     this._native.loadCubeTexture(texture._webGLTexture!, data, !noMipmap, resolve, reject);
                 });
             }).then(() => {

+ 2 - 2
src/Materials/Textures/Filtering/hdrFiltering.ts

@@ -195,10 +195,10 @@ export class HDRFiltering {
       * @param onFinished Callback when filtering is done
       * @return Promise called when prefiltering is done
       */
-    public prefilter(texture: BaseTexture, onFinished: Nullable<() => void> = null) {
+    public prefilter(texture: BaseTexture, onFinished: Nullable<() => void> = null): Promise<void> {
         if (this._engine.webGLVersion === 1) {
             Logger.Warn("HDR prefiltering is not available in WebGL 1., you can use real time filtering instead.");
-            return;
+            return Promise.reject("HDR prefiltering is not available in WebGL 1., you can use real time filtering instead.");
         }
 
         return new Promise((resolve) => {

+ 1 - 1
src/Misc/basis.ts

@@ -265,7 +265,7 @@ function workerFunc(): void {
                 // Override wasm binary
                 Module = { wasmBinary: (event.data.wasmBinary) };
                 importScripts(event.data.url);
-                transcoderModulePromise = new Promise((res) => {
+                transcoderModulePromise = new Promise((res: (_: void) => void) => {
                     Module.onRuntimeInitialized = () => {
                         Module.initializeBasis();
                         res();

+ 2 - 2
src/Misc/deferred.ts

@@ -7,7 +7,7 @@ export class Deferred<T> {
      */
     public readonly promise: Promise<T>;
 
-    private _resolve: (value?: T | PromiseLike<T>) => void;
+    private _resolve: (value: T | PromiseLike<T>) => void;
     private _reject: (reason?: any) => void;
 
     /**
@@ -28,7 +28,7 @@ export class Deferred<T> {
      * Constructor for this deferred object.
      */
     constructor() {
-        this.promise = new Promise((resolve, reject) => {
+        this.promise = new Promise((resolve: (value: T | PromiseLike<T>) => void, reject) => {
             this._resolve = resolve;
             this._reject = reject;
         });

+ 1 - 1
src/Particles/pointsCloudSystem.ts

@@ -470,7 +470,7 @@ export class PointsCloudSystem implements IDisposable {
 
         var clone = <Mesh>mesh.clone();
         clone.setEnabled(false);
-        this._promises.push(new Promise((resolve) => {
+        this._promises.push(new Promise((resolve: (_: void) => void) => {
             BaseTexture.WhenAllReady(textureList, () => {
                 let n = pointsGroup._textureNb;
                 if (n < 0) {

+ 5 - 2
src/Sprites/spriteManager.ts

@@ -17,6 +17,9 @@ import { ISize } from '../Maths/math.size';
 
 declare type Ray = import("../Culling/ray").Ray;
 
+// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect
+declare const Reflect: any;
+
 /**
  * Defines the minimum interface to fullfil in order to be a sprite manager.
  */
@@ -303,7 +306,7 @@ export class SpriteManager implements ISpriteManager {
                     celldata.frames = frametemp;
                 }
 
-                let spritemap = (<string[]>(<any>Reflect).ownKeys(celldata.frames));
+                let spritemap = (<string[]>(Reflect).ownKeys(celldata.frames));
 
                 this._spriteMap = spritemap;
                 this._packedAndReady = true;
@@ -333,7 +336,7 @@ export class SpriteManager implements ISpriteManager {
             xmlhttp.onload = () => {
                 try {
                     let celldata  = JSON.parse(xmlhttp.response);
-                    let spritemap = (<string[]>(<any>Reflect).ownKeys(celldata.frames));
+                    let spritemap = (<string[]>(Reflect).ownKeys(celldata.frames));
                     this._spriteMap = spritemap;
                     this._packedAndReady = true;
                     this._cellData = celldata.frames;

+ 2 - 2
tests/unit/babylon/src/Misc/babylon.promise.tests.ts

@@ -21,7 +21,7 @@ describe('Babylon.Promise', function() {
     describe('#Composition', () => {
         it('should chain promises correctly #1', (done) => {
             var tempString = "";
-            var p1 = new Promise((resolve, reject) => {
+            var p1 = new Promise((resolve: (_: void) => void, reject) => {
                 tempString = "Initial";
                 resolve();
             }).then(() => {
@@ -43,7 +43,7 @@ describe('Babylon.Promise', function() {
 
         it('should chain promises correctly #2', (done) => {
             var tempString = "";
-            var p1 = new Promise((resolve, reject) => {
+            var p1 = new Promise((resolve: (_: void) => void, reject) => {
                 tempString = "Initial";
                 resolve();
             }).then(() => {