Selaa lähdekoodia

Typescript version update to 4.3-beta

sanex 4 vuotta sitten
vanhempi
commit
52358aba26

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/index.browser.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/index.cli.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/index.js


+ 1 - 1
package.json

@@ -84,7 +84,7 @@
     "threads": "1.6.3",
     "ts-loader": "8.1.0",
     "ts-node": "9.1.1",
-    "typescript": "4.2.3",
+    "typescript": "beta",
     "webpack": "5.31.0",
     "webpack-cli": "4.6.0",
     "webpack-node-externals": "2.5.2"

+ 7 - 12
src/decorators/Initializable.ts

@@ -1,5 +1,6 @@
 import { IInitializable } from '../interfaces/IInitializable';
 
+const decoratorName: string = 'initializable';
 const defaultDescriptor: PropertyDescriptor = {
     configurable: true,
     enumerable: true
@@ -7,17 +8,14 @@ const defaultDescriptor: PropertyDescriptor = {
 const initializedTargetMetadataKey: string = '_initialized';
 const initializablePropertiesSetMetadataKey: string = '_initializablePropertiesSet';
 const wrappedMethodsSetMetadataKey: string = '_wrappedMethodsSet';
-const constructorMethodName: string = 'constructor';
+const constructorMethodName: 'constructor' = 'constructor';
+const initializeMethodName: 'initialize' = 'initialize';
 
 /**
  * @param {string} initializeMethodName
  * @returns {(target: IInitializable, propertyKey: (string | symbol)) => any}
  */
-export function initializable (
-    initializeMethodName: string = 'initialize'
-): (target: IInitializable, propertyKey: string | symbol) => any {
-    const decoratorName: string = Object.keys(this)[0];
-
+export function initializable (): (target: IInitializable, propertyKey: string | symbol) => any {
     return (target: IInitializable, propertyKey: string | symbol): PropertyDescriptor => {
         const initializeMethod: Function = target[initializeMethodName];
 
@@ -36,8 +34,8 @@ export function initializable (
         /**
          * Stage #2: wrap target methods
          */
-        wrapTargetMethodsInInitializedCheck(target, initializeMethodName);
-        wrapInitializeMethodInInitializeCheck(target, initializeMethodName, propertyKey);
+        wrapTargetMethodsInInitializedCheck(target);
+        wrapInitializeMethodInInitializeCheck(target, propertyKey);
 
         /**
          * Stage #3: wrap target properties
@@ -63,9 +61,8 @@ function initializeTargetMetadata (metadataKey: string, metadataValue: any, targ
  * Wraps all target methods with additional logic that check that this methods will called after `initialize` method
  *
  * @param {IInitializable} target
- * @param {string} initializeMethodName
  */
-function wrapTargetMethodsInInitializedCheck (target: IInitializable, initializeMethodName: string): void {
+function wrapTargetMethodsInInitializedCheck (target: IInitializable): void {
     const ownPropertyNames: string[] = Object.getOwnPropertyNames(target);
     const prohibitedPropertyNames: Set<string> = new Set([initializeMethodName, constructorMethodName]);
 
@@ -112,12 +109,10 @@ function wrapTargetMethodsInInitializedCheck (target: IInitializable, initialize
  * Wraps `initialize` method with additional logic to check that `initialized` properties will set
  *
  * @param {IInitializable} target
- * @param {string} initializeMethodName
  * @param {string | symbol} propertyKey
  */
 function wrapInitializeMethodInInitializeCheck (
     target: IInitializable,
-    initializeMethodName: string,
     propertyKey: string | symbol
 ): void {
     const methodDescriptor: PropertyDescriptor = Object

+ 1 - 1
src/node-transformers/preparing-transformers/CustomCodeHelpersTransformer.ts

@@ -150,7 +150,7 @@ export class CustomCodeHelpersTransformer extends AbstractNodeTransformer {
         this.customCodeHelperGroupStorage
             .getStorage()
             .forEach((customCodeHelperGroup: ICustomCodeHelperGroup) => {
-                const methodName = <TCustomCodeHelpersGroupAppendMethodName>`appendOn${nodeTransformationStage}Stage`;
+                const methodName: TCustomCodeHelpersGroupAppendMethodName = `appendOn${nodeTransformationStage}Stage`;
 
                 customCodeHelperGroup[methodName]?.(node, this.callsGraphData);
             });

+ 1 - 1
src/storages/string-array-transformers/StringArrayStorage.ts

@@ -251,7 +251,7 @@ export class StringArrayStorage extends MapStorage <`${string}-${TStringArrayEnc
     private getOrSetIfDoesNotExist (value: string): IStringArrayStorageItemData {
         const { encodedValue, encoding, decodeKey }: IEncodedValue = this.getEncodedValue(value);
 
-        const cacheKey = <`${string}-${TStringArrayEncoding}`>`${encodedValue}-${encoding}`;
+        const cacheKey: `${string}-${TStringArrayEncoding}` = `${encodedValue}-${encoding}`;
         const storedStringArrayStorageItemData: IStringArrayStorageItemData | undefined = this.storage.get(cacheKey);
 
         if (storedStringArrayStorageItemData) {

+ 0 - 23
test/unit-tests/decorators/initializable/Initializable.spec.ts

@@ -172,27 +172,4 @@ describe('@initializable', () => {
             assert.throws(testFunc, /Property `property` is not initialized/);
         });
     });
-
-    describe('Variant #4: `initialize` method with custom name', () => {
-        const testFunc: () => void = () => {
-            class Foo {
-                @initializable('bar')
-                public property!: string;
-
-                public initialize (property: string): void {
-                    this.property = property;
-                }
-            }
-
-            const foo: Foo = new Foo();
-
-            foo.initialize('baz');
-
-            foo.property;
-        };
-
-        it('should throws an error if `initialize` method with custom name wasn\'t found', () => {
-            assert.throws(testFunc, /method with initialization logic not found/);
-        });
-    });
 });

+ 1 - 0
tsconfig.json

@@ -13,6 +13,7 @@
     "module": "commonjs",
     "resolveJsonModule": true,
     "esModuleInterop": true,
+    "noImplicitOverride": false,
     "noImplicitThis": false,
     "noUnusedLocals": true,
     "removeComments": true,

+ 4 - 4
yarn.lock

@@ -4278,10 +4278,10 @@ typedarray@^0.0.6:
   resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
   integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
 
-typescript@4.2.3:
-  version "4.2.3"
-  resolved "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz"
-  integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==
+typescript@beta:
+  version "4.3.0-beta"
+  resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.0-beta.tgz#8098e7be29032f09827e94b8e3a6befc9ff70c77"
+  integrity sha512-bl3wxSVL6gWLQFa466Vm5Vk3z0BNx+QxWhb9wFiYEHm6H8oqFd8Wo3XjgCVxAa5yiSFFKgo/ngBpXdIwqo5o0A==
 
 universalify@^1.0.0:
   version "1.0.0"

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä