@angular/language-service 4.4.3 → 4.4.4

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v4.4.3
2
+ * @license Angular v4.4.4
3
3
  * (c) 2010-2017 Google, Inc. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -2033,7 +2033,7 @@ function share() {
2033
2033
  var share_2 = share;
2034
2034
 
2035
2035
  /**
2036
- * @license Angular v4.4.3
2036
+ * @license Angular v4.4.4
2037
2037
  * (c) 2010-2017 Google, Inc. https://angular.io/
2038
2038
  * License: MIT
2039
2039
  */
@@ -2825,7 +2825,7 @@ var Version = (function () {
2825
2825
  /**
2826
2826
  * \@stable
2827
2827
  */
2828
- var VERSION$2 = new Version('4.4.3');
2828
+ var VERSION$2 = new Version('4.4.4');
2829
2829
  /**
2830
2830
  * @license
2831
2831
  * Copyright Google Inc. All Rights Reserved.
@@ -13950,33 +13950,19 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
13950
13950
  var /** @type {?} */ viewRootNodeFlags = 0;
13951
13951
  var /** @type {?} */ viewMatchedQueries = 0;
13952
13952
  var /** @type {?} */ currentParent = null;
13953
+ var /** @type {?} */ currentRenderParent = null;
13953
13954
  var /** @type {?} */ currentElementHasPublicProviders = false;
13954
13955
  var /** @type {?} */ currentElementHasPrivateProviders = false;
13955
13956
  var /** @type {?} */ lastRenderRootNode = null;
13956
13957
  for (var /** @type {?} */ i = 0; i < nodes.length; i++) {
13957
- while (currentParent && i > currentParent.index + currentParent.childCount) {
13958
- var /** @type {?} */ newParent = currentParent.parent;
13959
- if (newParent) {
13960
- newParent.childFlags |= ((currentParent.childFlags));
13961
- newParent.childMatchedQueries |= currentParent.childMatchedQueries;
13962
- }
13963
- currentParent = newParent;
13964
- }
13965
13958
  var /** @type {?} */ node = nodes[i];
13966
13959
  node.index = i;
13967
13960
  node.parent = currentParent;
13968
13961
  node.bindingIndex = viewBindingCount;
13969
13962
  node.outputIndex = viewDisposableCount;
13970
- // renderParent needs to account for ng-container!
13971
- var /** @type {?} */ currentRenderParent = void 0;
13972
- if (currentParent && currentParent.flags & 1 /* TypeElement */ &&
13973
- !((currentParent.element)).name) {
13974
- currentRenderParent = currentParent.renderParent;
13975
- }
13976
- else {
13977
- currentRenderParent = currentParent;
13978
- }
13979
13963
  node.renderParent = currentRenderParent;
13964
+ viewNodeFlags |= node.flags;
13965
+ viewMatchedQueries |= node.matchedQueryIds;
13980
13966
  if (node.element) {
13981
13967
  var /** @type {?} */ elDef = node.element;
13982
13968
  elDef.publicProviders =
@@ -13985,24 +13971,11 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
13985
13971
  // Note: We assume that all providers of an element are before any child element!
13986
13972
  currentElementHasPublicProviders = false;
13987
13973
  currentElementHasPrivateProviders = false;
13988
- }
13989
- validateNode(currentParent, node, nodes.length);
13990
- viewNodeFlags |= node.flags;
13991
- viewMatchedQueries |= node.matchedQueryIds;
13992
- if (node.element && node.element.template) {
13993
- viewMatchedQueries |= node.element.template.nodeMatchedQueries;
13994
- }
13995
- if (currentParent) {
13996
- currentParent.childFlags |= node.flags;
13997
- currentParent.directChildFlags |= node.flags;
13998
- currentParent.childMatchedQueries |= node.matchedQueryIds;
13999
- if (node.element && node.element.template) {
14000
- currentParent.childMatchedQueries |= node.element.template.nodeMatchedQueries;
13974
+ if (node.element.template) {
13975
+ viewMatchedQueries |= node.element.template.nodeMatchedQueries;
14001
13976
  }
14002
13977
  }
14003
- else {
14004
- viewRootNodeFlags |= node.flags;
14005
- }
13978
+ validateNode(currentParent, node, nodes.length);
14006
13979
  viewBindingCount += node.bindings.length;
14007
13980
  viewDisposableCount += node.outputs.length;
14008
13981
  if (!currentRenderParent && (node.flags & 3 /* CatRenderNode */)) {
@@ -14026,7 +13999,7 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
14026
13999
  if (!currentElementHasPrivateProviders) {
14027
14000
  currentElementHasPrivateProviders = true; /** @type {?} */
14028
14001
  ((((
14029
- // Use protoyypical inheritance to not get O(n^2) complexity...
14002
+ // Use prototypical inheritance to not get O(n^2) complexity...
14030
14003
  currentParent)).element)).allProviders =
14031
14004
  Object.create(/** @type {?} */ ((((currentParent)).element)).publicProviders);
14032
14005
  } /** @type {?} */
@@ -14036,17 +14009,45 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
14036
14009
  ((((currentParent)).element)).componentProvider = node;
14037
14010
  }
14038
14011
  }
14039
- if (node.childCount) {
14012
+ if (currentParent) {
14013
+ currentParent.childFlags |= node.flags;
14014
+ currentParent.directChildFlags |= node.flags;
14015
+ currentParent.childMatchedQueries |= node.matchedQueryIds;
14016
+ if (node.element && node.element.template) {
14017
+ currentParent.childMatchedQueries |= node.element.template.nodeMatchedQueries;
14018
+ }
14019
+ }
14020
+ else {
14021
+ viewRootNodeFlags |= node.flags;
14022
+ }
14023
+ if (node.childCount > 0) {
14040
14024
  currentParent = node;
14025
+ if (!isNgContainer$1(node)) {
14026
+ currentRenderParent = node;
14027
+ }
14041
14028
  }
14042
- }
14043
- while (currentParent) {
14044
- var /** @type {?} */ newParent = currentParent.parent;
14045
- if (newParent) {
14046
- newParent.childFlags |= currentParent.childFlags;
14047
- newParent.childMatchedQueries |= currentParent.childMatchedQueries;
14029
+ else {
14030
+ // When the current node has no children, check if it is the last children of its parent.
14031
+ // When it is, propagate the flags up.
14032
+ // The loop is required because an element could be the last transitive children of several
14033
+ // elements. We loop to either the root or the highest opened element (= with remaining
14034
+ // children)
14035
+ while (currentParent && i === currentParent.index + currentParent.childCount) {
14036
+ var /** @type {?} */ newParent = currentParent.parent;
14037
+ if (newParent) {
14038
+ newParent.childFlags |= currentParent.childFlags;
14039
+ newParent.childMatchedQueries |= currentParent.childMatchedQueries;
14040
+ }
14041
+ currentParent = newParent;
14042
+ // We also need to update the render parent & account for ng-container
14043
+ if (currentParent && isNgContainer$1(currentParent)) {
14044
+ currentRenderParent = currentParent.renderParent;
14045
+ }
14046
+ else {
14047
+ currentRenderParent = currentParent;
14048
+ }
14049
+ }
14048
14050
  }
14049
- currentParent = newParent;
14050
14051
  }
14051
14052
  var /** @type {?} */ handleEvent = function (view, nodeIndex, eventName, event) { return ((((nodes[nodeIndex].element)).handleEvent))(view, eventName, event); };
14052
14053
  return {
@@ -14057,12 +14058,18 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
14057
14058
  nodeMatchedQueries: viewMatchedQueries, flags: flags,
14058
14059
  nodes: nodes,
14059
14060
  updateDirectives: updateDirectives || NOOP,
14060
- updateRenderer: updateRenderer || NOOP,
14061
- handleEvent: handleEvent || NOOP,
14061
+ updateRenderer: updateRenderer || NOOP, handleEvent: handleEvent,
14062
14062
  bindingCount: viewBindingCount,
14063
14063
  outputCount: viewDisposableCount, lastRenderRootNode: lastRenderRootNode
14064
14064
  };
14065
14065
  }
14066
+ /**
14067
+ * @param {?} node
14068
+ * @return {?}
14069
+ */
14070
+ function isNgContainer$1(node) {
14071
+ return (node.flags & 1 /* TypeElement */) !== 0 && ((node.element)).name === null;
14072
+ }
14066
14073
  /**
14067
14074
  * @param {?} parent
14068
14075
  * @param {?} node
@@ -17021,7 +17028,7 @@ var core_es5 = Object.freeze({
17021
17028
  });
17022
17029
 
17023
17030
  /**
17024
- * @license Angular v4.4.3
17031
+ * @license Angular v4.4.4
17025
17032
  * (c) 2010-2017 Google, Inc. https://angular.io/
17026
17033
  * License: MIT
17027
17034
  */
@@ -17040,7 +17047,7 @@ var core_es5 = Object.freeze({
17040
17047
  /**
17041
17048
  * \@stable
17042
17049
  */
17043
- var VERSION$1 = new Version('4.4.3');
17050
+ var VERSION$1 = new Version('4.4.4');
17044
17051
  /**
17045
17052
  * @license
17046
17053
  * Copyright Google Inc. All Rights Reserved.
@@ -28193,6 +28200,11 @@ function createTokenForExternalReference(reflector, reference) {
28193
28200
  */
28194
28201
  var PRESERVE_WS_ATTR_NAME = 'ngPreserveWhitespaces';
28195
28202
  var SKIP_WS_TRIM_TAGS = new Set(['pre', 'template', 'textarea', 'script', 'style']);
28203
+ // Equivalent to \s with \u00a0 (non-breaking space) excluded.
28204
+ // Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
28205
+ var WS_CHARS = ' \f\n\r\t\v\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff';
28206
+ var NO_WS_REGEXP = new RegExp("[^" + WS_CHARS + "]");
28207
+ var WS_REPLACE_REGEXP = new RegExp("[" + WS_CHARS + "]{2,}", 'g');
28196
28208
  /**
28197
28209
  * @param {?} attrs
28198
28210
  * @return {?}
@@ -28256,9 +28268,9 @@ var WhitespaceVisitor = (function () {
28256
28268
  * @return {?}
28257
28269
  */
28258
28270
  WhitespaceVisitor.prototype.visitText = function (text, context) {
28259
- var /** @type {?} */ isBlank = text.value.trim().length === 0;
28260
- if (!isBlank) {
28261
- return new Text(replaceNgsp(text.value).replace(/\s\s+/g, ' '), text.sourceSpan);
28271
+ var /** @type {?} */ isNotBlank = text.value.match(NO_WS_REGEXP);
28272
+ if (isNotBlank) {
28273
+ return new Text(replaceNgsp(text.value).replace(WS_REPLACE_REGEXP, ' '), text.sourceSpan);
28262
28274
  }
28263
28275
  return null;
28264
28276
  };
@@ -36126,7 +36138,7 @@ var EmitterVisitorContext = (function () {
36126
36138
  EmitterVisitorContext.prototype.spanOf = function (line, column) {
36127
36139
  var /** @type {?} */ emittedLine = this._lines[line - this._preambleLineCount];
36128
36140
  if (emittedLine) {
36129
- var /** @type {?} */ columnsLeft = column - emittedLine.indent;
36141
+ var /** @type {?} */ columnsLeft = column - _createIndent(emittedLine.indent).length;
36130
36142
  for (var /** @type {?} */ partIndex = 0; partIndex < emittedLine.parts.length; partIndex++) {
36131
36143
  var /** @type {?} */ part = emittedLine.parts[partIndex];
36132
36144
  if (part.length > columnsLeft) {
@@ -41880,7 +41892,9 @@ var StaticReflector = (function () {
41880
41892
  var item = _a[_i];
41881
41893
  // Check for a spread expression
41882
41894
  if (item && item.__symbolic === 'spread') {
41883
- var /** @type {?} */ spreadArray = simplify(item.expression);
41895
+ // We call with references as 0 because we require the actual value and cannot
41896
+ // tolerate a reference here.
41897
+ var /** @type {?} */ spreadArray = simplifyInContext(context, item.expression, depth, 0);
41884
41898
  if (Array.isArray(spreadArray)) {
41885
41899
  for (var _b = 0, spreadArray_1 = spreadArray; _b < spreadArray_1.length; _b++) {
41886
41900
  var spreadItem = spreadArray_1[_b];
@@ -41900,7 +41914,7 @@ var StaticReflector = (function () {
41900
41914
  if (expression instanceof StaticSymbol) {
41901
41915
  // Stop simplification at builtin symbols or if we are in a reference context
41902
41916
  if (expression === self.injectionToken || expression === self.opaqueToken ||
41903
- self.conversionMap.has(expression) || references > 0) {
41917
+ self.conversionMap.has(expression) || (references > 0 && !expression.members.length)) {
41904
41918
  return expression;
41905
41919
  }
41906
41920
  else {
@@ -46231,6 +46245,17 @@ var MetadataCollector = (function () {
46231
46245
  }
46232
46246
  // Otherwise don't record metadata for the class.
46233
46247
  break;
46248
+ case ts.SyntaxKind.TypeAliasDeclaration:
46249
+ var typeDeclaration = node;
46250
+ if (typeDeclaration.name && isExported(typeDeclaration)) {
46251
+ var name_4 = exportedName(typeDeclaration);
46252
+ if (name_4) {
46253
+ if (!metadata)
46254
+ metadata = {};
46255
+ metadata[name_4] = { __symbolic: 'interface' };
46256
+ }
46257
+ }
46258
+ break;
46234
46259
  case ts.SyntaxKind.InterfaceDeclaration:
46235
46260
  var interfaceDeclaration = node;
46236
46261
  if (interfaceDeclaration.name && isExported(interfaceDeclaration)) {
@@ -46246,9 +46271,9 @@ var MetadataCollector = (function () {
46246
46271
  if (isExported(functionDeclaration) && functionDeclaration.name) {
46247
46272
  if (!metadata)
46248
46273
  metadata = {};
46249
- var name_4 = exportedName(functionDeclaration);
46274
+ var name_5 = exportedName(functionDeclaration);
46250
46275
  var maybeFunc = maybeGetSimpleFunction(functionDeclaration);
46251
- metadata[name_4] =
46276
+ metadata[name_5] =
46252
46277
  maybeFunc ? recordEntry(maybeFunc.func, node) : { __symbolic: 'function' };
46253
46278
  }
46254
46279
  break;
@@ -46268,23 +46293,23 @@ var MetadataCollector = (function () {
46268
46293
  else {
46269
46294
  enumValue = evaluator$$1.evaluateNode(member.initializer);
46270
46295
  }
46271
- var name_5 = undefined;
46296
+ var name_6 = undefined;
46272
46297
  if (member.name.kind == ts.SyntaxKind.Identifier) {
46273
46298
  var identifier = member.name;
46274
- name_5 = identifier.text;
46275
- enumValueHolder[name_5] = enumValue;
46299
+ name_6 = identifier.text;
46300
+ enumValueHolder[name_6] = enumValue;
46276
46301
  writtenMembers++;
46277
46302
  }
46278
46303
  if (typeof enumValue === 'number') {
46279
46304
  nextDefaultValue = enumValue + 1;
46280
46305
  }
46281
- else if (name_5) {
46306
+ else if (name_6) {
46282
46307
  nextDefaultValue = {
46283
46308
  __symbolic: 'binary',
46284
46309
  operator: '+',
46285
46310
  left: {
46286
46311
  __symbolic: 'select',
46287
- expression: recordEntry({ __symbolic: 'reference', name: enumName }, node), name: name_5
46312
+ expression: recordEntry({ __symbolic: 'reference', name: enumName }, node), name: name_6
46288
46313
  }
46289
46314
  };
46290
46315
  }
@@ -46345,13 +46370,13 @@ var MetadataCollector = (function () {
46345
46370
  var report_1 = function (nameNode) {
46346
46371
  switch (nameNode.kind) {
46347
46372
  case ts.SyntaxKind.Identifier:
46348
- var name_6 = nameNode;
46349
- var varValue = errorSym('Destructuring not supported', name_6);
46350
- locals.define(name_6.text, varValue);
46373
+ var name_7 = nameNode;
46374
+ var varValue = errorSym('Destructuring not supported', name_7);
46375
+ locals.define(name_7.text, varValue);
46351
46376
  if (isExport(node)) {
46352
46377
  if (!metadata)
46353
46378
  metadata = {};
46354
- metadata[name_6.text] = varValue;
46379
+ metadata[name_7.text] = varValue;
46355
46380
  }
46356
46381
  break;
46357
46382
  case ts.SyntaxKind.BindingElement:
@@ -46553,9 +46578,9 @@ function namesOf(parameters) {
46553
46578
  var bindingPattern = name;
46554
46579
  for (var _i = 0, _a = bindingPattern.elements; _i < _a.length; _i++) {
46555
46580
  var element = _a[_i];
46556
- var name_7 = element.name;
46557
- if (name_7) {
46558
- addNamesOf(name_7);
46581
+ var name_8 = element.name;
46582
+ if (name_8) {
46583
+ addNamesOf(name_8);
46559
46584
  }
46560
46585
  }
46561
46586
  }
@@ -47387,7 +47412,7 @@ var core_1 = require$$0$13;
47387
47412
  /**
47388
47413
  * @stable
47389
47414
  */
47390
- exports.VERSION = new core_1.Version('4.4.3');
47415
+ exports.VERSION = new core_1.Version('4.4.4');
47391
47416
 
47392
47417
  });
47393
47418
 
@@ -50864,7 +50889,7 @@ var ModuleResolutionHostAdapter = index.ModuleResolutionHostAdapter;
50864
50889
  var CompilerHost = index.CompilerHost;
50865
50890
 
50866
50891
  /**
50867
- * @license Angular v4.4.3
50892
+ * @license Angular v4.4.4
50868
50893
  * (c) 2010-2017 Google, Inc. https://angular.io/
50869
50894
  * License: MIT
50870
50895
  */
@@ -53493,7 +53518,7 @@ function create(info /* ts.server.PluginCreateInfo */) {
53493
53518
  /**
53494
53519
  * @stable
53495
53520
  */
53496
- var VERSION$$1 = new Version('4.4.3');
53521
+ var VERSION$$1 = new Version('4.4.4');
53497
53522
 
53498
53523
  exports.createLanguageService = createLanguageService;
53499
53524
  exports.TypeScriptServiceHost = TypeScriptServiceHost;