build: TypeScript 3.5 upgrade (#31615)
https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#typescript-35 PR Close #31615
This commit is contained in:
parent
3a2b195a58
commit
6ece7db37a
|
@ -0,0 +1,77 @@
|
|||
/**
|
||||
* @license
|
||||
* Copyright Google Inc. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
|
||||
|
||||
import * as animations from '@angular/animations';
|
||||
import * as animationsBrowser from '@angular/animations/browser';
|
||||
import * as animationsBrowserTesting from '@angular/animations/browser/testing';
|
||||
import * as common from '@angular/common';
|
||||
import * as commonHttp from '@angular/common/http';
|
||||
import * as commonTesting from '@angular/common/testing';
|
||||
import * as commonHttpTesting from '@angular/common/testing';
|
||||
import * as compiler from '@angular/compiler';
|
||||
import * as compilerTesting from '@angular/compiler/testing';
|
||||
import * as core from '@angular/core';
|
||||
import * as coreTesting from '@angular/core/testing';
|
||||
import * as elements from '@angular/elements';
|
||||
import * as forms from '@angular/forms';
|
||||
// Current plan for Angular 8 is to stop building the @angular/http package
|
||||
// import * as http from '@angular/http';
|
||||
// import * as httpTesting from '@angular/http/testing';
|
||||
import * as platformBrowser from '@angular/platform-browser';
|
||||
import * as platformBrowserDynamic from '@angular/platform-browser-dynamic';
|
||||
import * as platformBrowserDynamicTesting from '@angular/platform-browser-dynamic/testing';
|
||||
import * as platformBrowserAnimations from '@angular/platform-browser/animations';
|
||||
import * as platformBrowserTesting from '@angular/platform-browser/testing';
|
||||
import * as platformServer from '@angular/platform-server';
|
||||
import * as platformServerTesting from '@angular/platform-server/testing';
|
||||
import * as platformWebworker from '@angular/platform-webworker';
|
||||
import * as platformWebworkerDynamic from '@angular/platform-webworker-dynamic';
|
||||
import * as router from '@angular/router';
|
||||
import * as routerTesting from '@angular/router/testing';
|
||||
import * as routerUpgrade from '@angular/router/upgrade';
|
||||
import * as serviceWorker from '@angular/service-worker';
|
||||
import * as upgrade from '@angular/upgrade';
|
||||
import * as upgradeStatic from '@angular/upgrade/static';
|
||||
import * as upgradeTesting from '@angular/upgrade/static/testing';
|
||||
|
||||
export default {
|
||||
animations,
|
||||
animationsBrowser,
|
||||
animationsBrowserTesting,
|
||||
common,
|
||||
commonTesting,
|
||||
commonHttp,
|
||||
commonHttpTesting,
|
||||
compiler,
|
||||
compilerTesting,
|
||||
core,
|
||||
coreTesting,
|
||||
elements,
|
||||
forms,
|
||||
// See above
|
||||
// http,
|
||||
// httpTesting,
|
||||
platformBrowser,
|
||||
platformBrowserTesting,
|
||||
platformBrowserDynamic,
|
||||
platformBrowserDynamicTesting,
|
||||
platformBrowserAnimations,
|
||||
platformServer,
|
||||
platformServerTesting,
|
||||
platformWebworker,
|
||||
platformWebworkerDynamic,
|
||||
router,
|
||||
routerTesting,
|
||||
routerUpgrade,
|
||||
serviceWorker,
|
||||
upgrade,
|
||||
upgradeStatic,
|
||||
upgradeTesting,
|
||||
};
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"name": "angular-integration",
|
||||
"description": "Assert that users with TypeScript 3.5 can type-check an Angular application",
|
||||
"version": "0.0.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@angular/animations": "file:../../dist/packages-dist/animations",
|
||||
"@angular/common": "file:../../dist/packages-dist/common",
|
||||
"@angular/compiler": "file:../../dist/packages-dist/compiler",
|
||||
"@angular/compiler-cli": "file:../../dist/packages-dist/compiler-cli",
|
||||
"@angular/core": "file:../../dist/packages-dist/core",
|
||||
"@angular/elements": "file:../../dist/packages-dist/elements",
|
||||
"@angular/forms": "file:../../dist/packages-dist/forms",
|
||||
"@angular/platform-browser": "file:../../dist/packages-dist/platform-browser",
|
||||
"@angular/platform-browser-dynamic": "file:../../dist/packages-dist/platform-browser-dynamic",
|
||||
"@angular/platform-server": "file:../../dist/packages-dist/platform-server",
|
||||
"@angular/platform-webworker": "file:../../dist/packages-dist/platform-webworker",
|
||||
"@angular/platform-webworker-dynamic": "file:../../dist/packages-dist/platform-webworker-dynamic",
|
||||
"@angular/router": "file:../../dist/packages-dist/router",
|
||||
"@angular/service-worker": "file:../../dist/packages-dist/service-worker",
|
||||
"@angular/upgrade": "file:../../dist/packages-dist/upgrade",
|
||||
"@types/jasmine": "2.5.41",
|
||||
"rxjs": "file:../../node_modules/rxjs",
|
||||
"typescript": "3.5.3",
|
||||
"zone.js": "file:../../node_modules/zone.js"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tsc"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"outDir": "../../dist/typings_test_ts32/",
|
||||
"rootDir": ".",
|
||||
"target": "es5",
|
||||
"lib": [
|
||||
"es5",
|
||||
"dom",
|
||||
"es2015.collection",
|
||||
"es2015.iterable",
|
||||
"es2015.promise"
|
||||
],
|
||||
"types": [],
|
||||
"strictNullChecks": true
|
||||
},
|
||||
"files": [
|
||||
"include-all.ts",
|
||||
"node_modules/@types/jasmine/index.d.ts"
|
||||
]
|
||||
}
|
|
@ -105,10 +105,10 @@
|
|||
"source-map": "^0.6.1",
|
||||
"source-map-support": "0.5.9",
|
||||
"systemjs": "0.18.10",
|
||||
"tsickle": "0.34.3",
|
||||
"tsickle": "0.36.0",
|
||||
"tslib": "^1.9.0",
|
||||
"tslint": "5.7.0",
|
||||
"typescript": "~3.4.2",
|
||||
"typescript": "~3.5.3",
|
||||
"xhr2": "0.1.4",
|
||||
"yargs": "13.1.0",
|
||||
"zone.js": "^0.9.1"
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
"peerDependencies": {
|
||||
"@angular/compiler-cli": "0.0.0-PLACEHOLDER",
|
||||
"@bazel/typescript": "0.*",
|
||||
"typescript": ">=3.4 <3.5"
|
||||
"typescript": ">=3.4 <3.6"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
|
|
@ -300,7 +300,7 @@ export * from './index';
|
|||
|
||||
/**
|
||||
* @fileoverview added by tsickle
|
||||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
*/
|
||||
/**
|
||||
* @license
|
||||
|
@ -316,7 +316,7 @@ export { MyModule } from './mymodule';
|
|||
|
||||
/**
|
||||
* @fileoverview added by tsickle
|
||||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
*/
|
||||
/**
|
||||
* @license
|
||||
|
@ -337,7 +337,7 @@ MyModule.decorators = [
|
|||
|
||||
/**
|
||||
* @fileoverview added by tsickle
|
||||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
*/
|
||||
/**
|
||||
* @license
|
||||
|
@ -371,7 +371,7 @@ export * from './index';
|
|||
|
||||
/**
|
||||
* @fileoverview added by tsickle
|
||||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
*/
|
||||
/**
|
||||
* @license
|
||||
|
@ -514,7 +514,7 @@ import { NgModule } from '@angular/core';
|
|||
|
||||
/**
|
||||
* @fileoverview added by tsickle
|
||||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
*/
|
||||
class SecondaryModule {
|
||||
}
|
||||
|
@ -526,7 +526,7 @@ const a = 1;
|
|||
|
||||
/**
|
||||
* @fileoverview added by tsickle
|
||||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
*/
|
||||
|
||||
/**
|
||||
|
@ -549,7 +549,7 @@ import { NgModule } from '@angular/core';
|
|||
|
||||
/**
|
||||
* @fileoverview added by tsickle
|
||||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
*/
|
||||
class MyModule {
|
||||
}
|
||||
|
@ -559,7 +559,7 @@ MyModule.decorators = [
|
|||
|
||||
/**
|
||||
* @fileoverview added by tsickle
|
||||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
@ -34,7 +34,8 @@ export class UserMetric extends Metric {
|
|||
endMeasure(restart: boolean): Promise<{[key: string]: any}> {
|
||||
let resolve: (result: any) => void;
|
||||
let reject: (error: any) => void;
|
||||
const promise = new Promise((res, rej) => {
|
||||
const promise = new Promise < { [key: string]: any; }
|
||||
> ((res, rej) => {
|
||||
resolve = res;
|
||||
reject = rej;
|
||||
});
|
||||
|
|
|
@ -93,7 +93,8 @@ export interface MockPlatformLocationConfig {
|
|||
*
|
||||
* @publicApi
|
||||
*/
|
||||
export const MOCK_PLATFORM_LOCATION_CONFIG = new InjectionToken('MOCK_PLATFORM_LOCATION_CONFIG');
|
||||
export const MOCK_PLATFORM_LOCATION_CONFIG =
|
||||
new InjectionToken<MockPlatformLocationConfig>('MOCK_PLATFORM_LOCATION_CONFIG');
|
||||
|
||||
/**
|
||||
* Mock implementation of URL state.
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler": "0.0.0-PLACEHOLDER",
|
||||
"typescript": ">=3.4 <3.5"
|
||||
"typescript": ">=3.4 <3.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0"
|
||||
|
|
|
@ -106,8 +106,8 @@ function createEmitCallback(options: api.CompilerOptions): api.TsEmitCallback|un
|
|||
}) =>
|
||||
// tslint:disable-next-line:no-require-imports only depend on tsickle if requested
|
||||
require('tsickle').emitWithTsickle(
|
||||
program, {...tsickleHost, options, host}, host, options, targetSourceFile, writeFile,
|
||||
cancellationToken, emitOnlyDtsFiles, {
|
||||
program, {...tsickleHost, options, host, moduleResolutionHost: host}, host, options,
|
||||
targetSourceFile, writeFile, cancellationToken, emitOnlyDtsFiles, {
|
||||
beforeTs: customTransformers.before,
|
||||
afterTs: customTransformers.after,
|
||||
});
|
||||
|
|
|
@ -59,6 +59,7 @@ export interface MetadataMap { [name: string]: MemberMetadata[]; }
|
|||
export interface MemberMetadata {
|
||||
__symbolic: 'constructor'|'method'|'property';
|
||||
decorators?: (MetadataSymbolicExpression|MetadataError)[];
|
||||
parameters?: (MetadataSymbolicExpression|MetadataError|null|undefined)[];
|
||||
}
|
||||
export function isMemberMetadata(value: any): value is MemberMetadata {
|
||||
if (value) {
|
||||
|
|
|
@ -79,7 +79,7 @@ const MIN_TS_VERSION = '3.4.0';
|
|||
* ∀ supported typescript version v, v < MAX_TS_VERSION
|
||||
* MAX_TS_VERSION is not considered as a supported TypeScript version
|
||||
*/
|
||||
const MAX_TS_VERSION = '3.5.0';
|
||||
const MAX_TS_VERSION = '3.6.0';
|
||||
|
||||
class AngularCompilerProgram implements Program {
|
||||
private rootNames: string[];
|
||||
|
|
|
@ -771,12 +771,6 @@ describe('ng type checker', () => {
|
|||
'<div>{{"hello" | aPipe}}</div>',
|
||||
`Argument of type '"hello"' is not assignable to parameter of type 'number'.`, '0:5');
|
||||
});
|
||||
it('should report an index into a map expression', () => {
|
||||
rejectOnlyWithFullTemplateTypeCheck(
|
||||
'<div>{{ {a: 1}[name] }}</div>',
|
||||
`Element implicitly has an 'any' type because type '{ a: number; }' has no index signature.`,
|
||||
'0:5');
|
||||
});
|
||||
it('should report an invalid property on an exportAs directive', () => {
|
||||
rejectOnlyWithFullTemplateTypeCheck(
|
||||
'<div aDir #aDir="aDir">{{aDir.fname}}</div>',
|
||||
|
|
|
@ -60,7 +60,7 @@ describe('Collector', () => {
|
|||
version: METADATA_VERSION,
|
||||
metadata: {
|
||||
DeclaredClass: {__symbolic: 'class'},
|
||||
declaredFn: {__symbolic: 'function'},
|
||||
declaredFn: {__symbolic: 'function'} as any,
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@ -433,8 +433,8 @@ describe('Collector', () => {
|
|||
}
|
||||
}
|
||||
},
|
||||
complexFn: {__symbolic: 'function'},
|
||||
declaredFn: {__symbolic: 'function'}
|
||||
complexFn: {__symbolic: 'function'} as any,
|
||||
declaredFn: {__symbolic: 'function'} as any,
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
@ -3144,7 +3144,7 @@ runInEachFileSystem(os => {
|
|||
const fileoverview = `
|
||||
/**
|
||||
* @fileoverview added by tsickle
|
||||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
*/
|
||||
`;
|
||||
expect(trim(jsContents).startsWith(trim(fileoverview))).toBeTruthy();
|
||||
|
@ -3161,7 +3161,7 @@ runInEachFileSystem(os => {
|
|||
const fileoverview = `
|
||||
/**
|
||||
* @fileoverview added by tsickle
|
||||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
*/
|
||||
`;
|
||||
expect(trim(jsContents).startsWith(trim(fileoverview))).toBeTruthy();
|
||||
|
@ -3193,7 +3193,7 @@ runInEachFileSystem(os => {
|
|||
* @fileoverview Some Comp overview
|
||||
* @modName {some_comp}
|
||||
*
|
||||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
*/
|
||||
`;
|
||||
expect(trim(jsContents).startsWith(trim(fileoverview))).toBeTruthy();
|
||||
|
@ -3222,7 +3222,7 @@ runInEachFileSystem(os => {
|
|||
* @fileoverview Some Comp overview
|
||||
* @modName {some_comp}
|
||||
*
|
||||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||
*/
|
||||
`;
|
||||
expect(trim(jsContents).startsWith(trim(fileoverview))).toBeTruthy();
|
||||
|
|
|
@ -238,7 +238,7 @@ export declare class CommonModule {
|
|||
`'does_not_exist' does not exist on type '{ name: string; }'`,
|
||||
`Expected 2 arguments, but got 3.`,
|
||||
`Argument of type '"test"' is not assignable to parameter of type 'number'`,
|
||||
`Argument of type '{ name: string; }' is not assignable to parameter of type '{}[]'`,
|
||||
`Argument of type '{ name: string; }' is not assignable to parameter of type 'unknown[]'`,
|
||||
];
|
||||
|
||||
for (const error of allErrors) {
|
||||
|
|
|
@ -56,7 +56,7 @@ import {Subject, Subscription} from 'rxjs';
|
|||
*
|
||||
* @publicApi
|
||||
*/
|
||||
export class EventEmitter<T> extends Subject<T> {
|
||||
export class EventEmitter<T extends any> extends Subject<T> {
|
||||
// TODO: mark this as internal once all the facades are gone
|
||||
// we can't mark it as internal now because EventEmitter exported via @angular/core would not
|
||||
// contain this property making it incompatible with all the code that uses EventEmitter via
|
||||
|
|
|
@ -24,7 +24,7 @@ import {noop} from '../util/noop';
|
|||
// Note: We don't expose things like `Injector`, `ViewContainer`, ... here,
|
||||
// i.e. users have to ask for what they need. With that, we can build better analysis tools
|
||||
// and could do better codegen in the future.
|
||||
export class ElementRef<T = any> {
|
||||
export class ElementRef<T extends any = any> {
|
||||
/**
|
||||
* The underlying native element or `null` if direct access to native elements is not supported
|
||||
* (e.g. when the application runs in a web worker).
|
||||
|
|
|
@ -16,7 +16,7 @@ import {of } from 'rxjs';
|
|||
function asyncValidator(expected: string, timeouts = {}) {
|
||||
return (c: AbstractControl) => {
|
||||
let resolve: (result: any) => void = undefined !;
|
||||
const promise = new Promise(res => { resolve = res; });
|
||||
const promise = new Promise<ValidationErrors|null>(res => { resolve = res; });
|
||||
const t = (timeouts as any)[c.value] != null ? (timeouts as any)[c.value] : 0;
|
||||
const res = c.value != expected ? {'async': true} : null;
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
import {EventEmitter} from '@angular/core';
|
||||
import {fakeAsync, tick} from '@angular/core/testing';
|
||||
import {AsyncTestCompleter, beforeEach, describe, inject, it} from '@angular/core/testing/src/testing_internal';
|
||||
import {AbstractControl, AsyncValidatorFn, FormControl, FormGroup, Validators} from '@angular/forms';
|
||||
import {AbstractControl, AsyncValidatorFn, FormControl, FormGroup, ValidationErrors, Validators} from '@angular/forms';
|
||||
|
||||
import {FormArray} from '@angular/forms/src/model';
|
||||
|
||||
|
@ -17,7 +17,7 @@ import {FormArray} from '@angular/forms/src/model';
|
|||
function asyncValidator(expected: string, timeouts = {}): AsyncValidatorFn {
|
||||
return (c: AbstractControl) => {
|
||||
let resolve: (result: any) => void = undefined !;
|
||||
const promise = new Promise(res => { resolve = res; });
|
||||
const promise = new Promise<ValidationErrors|null>(res => { resolve = res; });
|
||||
const t = (timeouts as any)[c.value] != null ? (timeouts as any)[c.value] : 0;
|
||||
const res = c.value != expected ? {'async': true} : null;
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ import {of } from 'rxjs';
|
|||
function asyncValidator(expected: string, timeouts = {}) {
|
||||
return (c: AbstractControl) => {
|
||||
let resolve: (result: any) => void = undefined !;
|
||||
const promise = new Promise(res => { resolve = res; });
|
||||
const promise = new Promise<ValidationErrors|null>(res => { resolve = res; });
|
||||
const t = (timeouts as any)[c.value] != null ? (timeouts as any)[c.value] : 0;
|
||||
const res = c.value != expected ? {'async': true} : null;
|
||||
|
||||
|
|
|
@ -2426,7 +2426,7 @@ import {MyInput, MyInputForm} from './value_accessor_integration_spec';
|
|||
function uniqLoginAsyncValidator(expectedValue: string, timeout: number = 0) {
|
||||
return (c: AbstractControl) => {
|
||||
let resolve: (result: any) => void;
|
||||
const promise = new Promise(res => { resolve = res; });
|
||||
const promise = new Promise<any>(res => { resolve = res; });
|
||||
const res = (c.value == expectedValue) ? null : {'uniqLogin': true};
|
||||
setTimeout(() => resolve(res), timeout);
|
||||
return promise;
|
||||
|
|
|
@ -14,7 +14,7 @@ import {MessageBus, MessageBusSink, MessageBusSource} from './message_bus';
|
|||
|
||||
// TODO(jteplitz602): Replace this with the definition in lib.webworker.d.ts(#3492)
|
||||
export interface PostMessageTarget {
|
||||
postMessage: (message: any, transfer?: [ArrayBuffer]) => void;
|
||||
postMessage: (message: any, transfer?: [Transferable]) => void;
|
||||
}
|
||||
|
||||
export class PostMessageBusSink implements MessageBusSink {
|
||||
|
|
|
@ -36,7 +36,7 @@ export function errorHandler(): ErrorHandler {
|
|||
|
||||
// TODO(jteplitz602): remove this and compile with lib.webworker.d.ts (#3492)
|
||||
const _postMessage = {
|
||||
postMessage: (message: any, transferrables?: [ArrayBuffer]) => {
|
||||
postMessage: (message: any, transferrables: [Transferable]) => {
|
||||
(<any>postMessage)(message, transferrables);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -171,7 +171,10 @@ function createNgZone(): NgZone {
|
|||
*/
|
||||
function spawnWebWorker(uri: string, instance: WebWorkerInstance): void {
|
||||
const webWorker: Worker = new Worker(uri);
|
||||
const sink = new PostMessageBusSink(webWorker);
|
||||
// webWorker is casted to any because the lib.d.ts signature changed in TS3.5 to require the
|
||||
// transfer argument in postMessage method.
|
||||
// this seems wrong but since all of this code is deprecated it shouldn't matter that much.
|
||||
const sink = new PostMessageBusSink(webWorker as any);
|
||||
const source = new PostMessageBusSource(webWorker);
|
||||
const bus = new PostMessageBus(sink, source);
|
||||
|
||||
|
|
|
@ -32,5 +32,5 @@ class MockPostMessage {
|
|||
}
|
||||
}
|
||||
|
||||
postMessage(data: any, transfer?: [ArrayBuffer]): void { this._listener(<any>{data: data}); }
|
||||
postMessage(data: any, transfer?: [Transferable]): void { this._listener(<any>{data: data}); }
|
||||
}
|
||||
|
|
|
@ -151,7 +151,7 @@ function joinUrls(a: string, b: string): string {
|
|||
}
|
||||
|
||||
function withOrderedKeys<T extends{[key: string]: any}>(unorderedObj: T): T {
|
||||
const orderedObj = {} as T;
|
||||
const orderedObj = {} as{[key: string]: any};
|
||||
Object.keys(unorderedObj).sort().forEach(key => orderedObj[key] = unorderedObj[key]);
|
||||
return orderedObj;
|
||||
return orderedObj as T;
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ import {take} from 'rxjs/operators';
|
|||
scope.clients.getMock('default') !.queue.subscribe(msg => { mock.sendMessage(msg); });
|
||||
|
||||
mock.messages.subscribe(msg => { scope.handleMessage(msg, 'default'); });
|
||||
mock.notificationClicks.subscribe(msg => { scope.handleMessage(msg, 'default'); });
|
||||
mock.notificationClicks.subscribe((msg: Object) => { scope.handleMessage(msg, 'default'); });
|
||||
|
||||
mock.setupSw();
|
||||
reg = mock.mockRegistration !;
|
||||
|
|
|
@ -28,7 +28,7 @@ export class MockServiceWorkerContainer {
|
|||
mockRegistration: MockServiceWorkerRegistration|null = null;
|
||||
controller: MockServiceWorker|null = null;
|
||||
messages = new Subject<any>();
|
||||
notificationClicks = new Subject();
|
||||
notificationClicks = new Subject<{}>();
|
||||
|
||||
addEventListener(event: 'controllerchange'|'message', handler: Function) {
|
||||
if (event === 'controllerchange') {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
export declare const MOCK_PLATFORM_LOCATION_CONFIG: InjectionToken<{}>;
|
||||
export declare const MOCK_PLATFORM_LOCATION_CONFIG: InjectionToken<MockPlatformLocationConfig>;
|
||||
|
||||
export declare class MockLocationStrategy extends LocationStrategy {
|
||||
internalBaseHref: string;
|
||||
|
|
|
@ -309,7 +309,7 @@ export interface DoCheck {
|
|||
ngDoCheck(): void;
|
||||
}
|
||||
|
||||
export declare class ElementRef<T = any> {
|
||||
export declare class ElementRef<T extends any = any> {
|
||||
nativeElement: T;
|
||||
constructor(nativeElement: T);
|
||||
}
|
||||
|
@ -325,7 +325,7 @@ export declare class ErrorHandler {
|
|||
handleError(error: any): void;
|
||||
}
|
||||
|
||||
export declare class EventEmitter<T> extends Subject<T> {
|
||||
export declare class EventEmitter<T extends any> extends Subject<T> {
|
||||
__isAsync: boolean;
|
||||
constructor(isAsync?: boolean);
|
||||
emit(value?: T): void;
|
||||
|
@ -1089,7 +1089,7 @@ export declare function ɵɵstylingApply(): void;
|
|||
|
||||
export declare function ɵɵtemplate(index: number, templateFn: ComponentTemplate<any> | null, consts: number, vars: number, tagName?: string | null, attrs?: TAttributes | null, localRefs?: string[] | null, localRefExtractor?: LocalRefExtractor): void;
|
||||
|
||||
export declare function ɵɵtemplateRefExtractor(tNode: TNode, currentView: LView): ViewEngine_TemplateRef<{}> | null;
|
||||
export declare function ɵɵtemplateRefExtractor(tNode: TNode, currentView: LView): ViewEngine_TemplateRef<unknown> | null;
|
||||
|
||||
export declare function ɵɵtext(index: number, value?: any): void;
|
||||
|
||||
|
|
|
@ -241,7 +241,7 @@ export declare class FormControlDirective extends NgControl implements OnChanges
|
|||
isDisabled: boolean;
|
||||
/** @deprecated */ model: any;
|
||||
readonly path: string[];
|
||||
/** @deprecated */ update: EventEmitter<{}>;
|
||||
/** @deprecated */ update: EventEmitter<any>;
|
||||
readonly validator: ValidatorFn | null;
|
||||
viewModel: any;
|
||||
constructor(validators: Array<Validator | ValidatorFn>, asyncValidators: Array<AsyncValidator | AsyncValidatorFn>, valueAccessors: ControlValueAccessor[], _ngModelWarningConfig: string | null);
|
||||
|
@ -257,7 +257,7 @@ export declare class FormControlName extends NgControl implements OnChanges, OnD
|
|||
/** @deprecated */ model: any;
|
||||
name: string;
|
||||
readonly path: string[];
|
||||
/** @deprecated */ update: EventEmitter<{}>;
|
||||
/** @deprecated */ update: EventEmitter<any>;
|
||||
readonly validator: ValidatorFn | null;
|
||||
constructor(parent: ControlContainer, validators: Array<Validator | ValidatorFn>, asyncValidators: Array<AsyncValidator | AsyncValidatorFn>, valueAccessors: ControlValueAccessor[], _ngModelWarningConfig: string | null);
|
||||
ngOnChanges(changes: SimpleChanges): void;
|
||||
|
@ -301,7 +301,7 @@ export declare class FormGroupDirective extends ControlContainer implements Form
|
|||
directives: FormControlName[];
|
||||
form: FormGroup;
|
||||
readonly formDirective: Form;
|
||||
ngSubmit: EventEmitter<{}>;
|
||||
ngSubmit: EventEmitter<any>;
|
||||
readonly path: string[];
|
||||
readonly submitted: boolean;
|
||||
constructor(_validators: any[], _asyncValidators: any[]);
|
||||
|
@ -374,7 +374,7 @@ export declare class NgForm extends ControlContainer implements Form, AfterViewI
|
|||
};
|
||||
form: FormGroup;
|
||||
readonly formDirective: Form;
|
||||
ngSubmit: EventEmitter<{}>;
|
||||
ngSubmit: EventEmitter<any>;
|
||||
options: {
|
||||
updateOn?: FormHooks;
|
||||
};
|
||||
|
@ -415,7 +415,7 @@ export declare class NgModel extends NgControl implements OnChanges, OnDestroy {
|
|||
updateOn?: FormHooks;
|
||||
};
|
||||
readonly path: string[];
|
||||
update: EventEmitter<{}>;
|
||||
update: EventEmitter<any>;
|
||||
readonly validator: ValidatorFn | null;
|
||||
viewModel: any;
|
||||
constructor(parent: ControlContainer, validators: Array<Validator | ValidatorFn>, asyncValidators: Array<AsyncValidator | AsyncValidatorFn>, valueAccessors: ControlValueAccessor[]);
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
"test": "test"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": "~3.4.0"
|
||||
"typescript": "~3.5.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"chalk": "^2.3.1",
|
||||
|
@ -33,7 +33,7 @@
|
|||
"chai": "^4.1.2",
|
||||
"jasmine": "^3.1.0",
|
||||
"source-map-support": "^0.5.9",
|
||||
"typescript": "~3.4.2"
|
||||
"typescript": "~3.5.3"
|
||||
},
|
||||
"repository": {},
|
||||
"keywords": [
|
||||
|
|
16
yarn.lock
16
yarn.lock
|
@ -10967,10 +10967,10 @@ try-require@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/try-require/-/try-require-1.2.1.tgz#34489a2cac0c09c1cc10ed91ba011594d4333be2"
|
||||
integrity sha1-NEiaLKwMCcHMEO2RugEVlNQzO+I=
|
||||
|
||||
tsickle@0.34.3:
|
||||
version "0.34.3"
|
||||
resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.34.3.tgz#8085067a26d7bff466ddadb2eba18849b49159b8"
|
||||
integrity sha512-mb1v3nsr6rYaZky22xj0d6qv4ogAR40Bc6r37jwWOg3bEIO/ZppEFZiEADs/NNVLcWTPgmNmPZgaX5CfAH6oXA==
|
||||
tsickle@0.36.0:
|
||||
version "0.36.0"
|
||||
resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.36.0.tgz#d6f47cdd14d009f3fea4e8516cd46c1393f3aa02"
|
||||
integrity sha512-lrEMU5e+efx5DXtrRSGsxgkCOVRw4WeVaOkQ2pMIxCZDY5rISagVyP4yi7t6M396POFSbMHgQMT/vz0HmfxWVA==
|
||||
dependencies:
|
||||
minimist "^1.2.0"
|
||||
mkdirp "^0.5.1"
|
||||
|
@ -11105,10 +11105,10 @@ typescript@~3.1.6:
|
|||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.6.tgz#b6543a83cfc8c2befb3f4c8fba6896f5b0c9be68"
|
||||
integrity sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==
|
||||
|
||||
typescript@~3.4.2:
|
||||
version "3.4.2"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.4.2.tgz#9ed4e6475d906f589200193be056f5913caed481"
|
||||
integrity sha512-Og2Vn6Mk7JAuWA1hQdDQN/Ekm/SchX80VzLhjKN9ETYrIepBFAd8PkOdOTK2nKt0FCkmMZKBJvQ1dV1gIxPu/A==
|
||||
typescript@~3.5.3:
|
||||
version "3.5.3"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977"
|
||||
integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==
|
||||
|
||||
uglify-js@1.2.6, uglify-js@~1.2.5:
|
||||
version "1.2.6"
|
||||
|
|
Loading…
Reference in New Issue