|
3 | 3 | * Licensed under the MIT License. See LICENSE file in the project root for license information.
|
4 | 4 | *-----------------------------------------------------------------------------------------------*/
|
5 | 5 |
|
6 |
| -import { TknElement, TknElementType, TknArray, TknBaseRootElement, NodeTknElement, TknStringElement, TknValueElement, TknParam } from '../common'; |
| 6 | +import { TknElement, TknArray, TknBaseRootElement, NodeTknElement, TknStringElement, TknValueElement, TknParam, TknKeyElement } from '../common'; |
| 7 | +import { TknElementType } from '../element-type'; |
7 | 8 | import { YamlMap, YamlSequence, YamlNode, isSequence } from '../../yaml-support/yaml-locator';
|
8 | 9 | import { pipelineYaml, getYamlMappingValue, findNodeByKey } from '../../yaml-support/tkn-yaml';
|
9 | 10 | import { EmbeddedTask } from './task-model';
|
@@ -220,7 +221,7 @@ export class PipelineTask extends NodeTknElement {
|
220 | 221 |
|
221 | 222 | const taskRefNode = pipelineYaml.getTaskRef(this.node as YamlMap);
|
222 | 223 | if (taskRefNode) {
|
223 |
| - this._taskRef = new PipelineTaskRef(this, taskRefNode); |
| 224 | + this._taskRef = new PipelineTaskRef(this, taskRefNode[0], taskRefNode[1]); |
224 | 225 | }
|
225 | 226 | }
|
226 | 227 | return this._taskRef;
|
@@ -340,14 +341,19 @@ export class PipelineTaskRef extends NodeTknElement {
|
340 | 341 |
|
341 | 342 | private _name: TknStringElement;
|
342 | 343 | private _kind: TknValueElement<PipelineTaskKind>;
|
| 344 | + keyNode: TknElement |
343 | 345 |
|
344 |
| - constructor(parent: PipelineTask, node: YamlMap) { |
| 346 | + constructor(parent: PipelineTask, keyNode: YamlNode, node: YamlMap) { |
345 | 347 | super(parent, node);
|
| 348 | + this.keyNode = new TknKeyElement(parent, keyNode); |
346 | 349 | }
|
347 | 350 |
|
348 | 351 | get name(): TknStringElement {
|
349 | 352 | if (!this._name) {
|
350 |
| - this._name = new TknStringElement(this, findNodeByKey('name', this.node as YamlMap)) |
| 353 | + const nameVal: YamlNode = findNodeByKey('name', this.node as YamlMap); |
| 354 | + if (nameVal){ |
| 355 | + this._name = new TknStringElement(this, nameVal) |
| 356 | + } |
351 | 357 | }
|
352 | 358 | return this._name;
|
353 | 359 | }
|
@@ -441,7 +447,10 @@ export class WorkspacePipelineDeclaration extends NodeTknElement {
|
441 | 447 |
|
442 | 448 | get name(): TknStringElement {
|
443 | 449 | if (!this._name) {
|
444 |
| - this._name = new TknStringElement(this, findNodeByKey('name', this.node as YamlMap)) |
| 450 | + const nameNode = findNodeByKey<YamlNode>('name', this.node as YamlMap); |
| 451 | + if (nameNode){ |
| 452 | + this._name = new TknStringElement(this, nameNode); |
| 453 | + } |
445 | 454 | }
|
446 | 455 | return this._name;
|
447 | 456 | }
|
|
0 commit comments