當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript iterator.Iterator類代碼示例

本文整理匯總了TypeScript中vs/base/common/iterator.Iterator的典型用法代碼示例。如果您正苦於以下問題:TypeScript Iterator類的具體用法?TypeScript Iterator怎麽用?TypeScript Iterator使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Iterator類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: test

	test('nested', () => {
		const list: ITreeNode<number>[] = [];
		const model = new ObjectTreeModel<number>(toSpliceable(list));

		model.setChildren(null, Iterator.fromArray([
			{
				element: 0, children: Iterator.fromArray([
					{ element: 10 },
					{ element: 11 },
					{ element: 12 },
				])
			},
			{ element: 1 },
			{ element: 2 }
		]));

		assert.deepEqual(toArray(list), [0, 10, 11, 12, 1, 2]);
		assert.equal(model.size, 6);

		model.setChildren(12, Iterator.fromArray([
			{ element: 120 },
			{ element: 121 }
		]));

		assert.deepEqual(toArray(list), [0, 10, 11, 12, 120, 121, 1, 2]);
		assert.equal(model.size, 8);

		model.setChildren(0, Iterator.empty());
		assert.deepEqual(toArray(list), [0, 1, 2]);
		assert.equal(model.size, 3);

		model.setChildren(null, Iterator.empty());
		assert.deepEqual(toArray(list), []);
		assert.equal(model.size, 0);
	});
開發者ID:VishalMadhvani,項目名稱:vscode,代碼行數:35,代碼來源:objectTreeModel.test.ts

示例2: test

	test('nested delete', function () {
		const list: ITreeNode<number>[] = [];
		const model = new IndexTreeModel<number>(toSpliceable(list), -1);

		model.splice([0], 0, Iterator.fromArray([
			{
				element: 0, children: Iterator.fromArray([
					{ element: 10 },
					{ element: 11 },
					{ element: 12 },
				])
			},
			{ element: 1 },
			{ element: 2 }
		]));

		assert.deepEqual(list.length, 6);

		model.splice([1], 2);
		assert.deepEqual(list.length, 4);
		assert.deepEqual(list[0].element, 0);
		assert.deepEqual(list[0].collapsed, false);
		assert.deepEqual(list[0].depth, 1);
		assert.deepEqual(list[1].element, 10);
		assert.deepEqual(list[1].collapsed, false);
		assert.deepEqual(list[1].depth, 2);
		assert.deepEqual(list[2].element, 11);
		assert.deepEqual(list[2].collapsed, false);
		assert.deepEqual(list[2].depth, 2);
		assert.deepEqual(list[3].element, 12);
		assert.deepEqual(list[3].collapsed, false);
		assert.deepEqual(list[3].depth, 2);
	});
開發者ID:PKRoma,項目名稱:vscode,代碼行數:33,代碼來源:indexTreeModel.test.ts

示例3: test

	test('collapse', function () {
		const list = [] as ITreeNode<number>[];
		const model = new TreeModel<number>(toSpliceable(list));

		model.splice([0], 0, Iterator.iterate([
			{
				element: 0, children: Iterator.iterate([
					{ element: 10 },
					{ element: 11 },
					{ element: 12 },
				])
			},
			{ element: 1 },
			{ element: 2 }
		]));

		assert.deepEqual(list.length, 6);

		model.setCollapsed([0], true);
		assert.deepEqual(list.length, 3);
		assert.deepEqual(list[0].element, 0);
		assert.deepEqual(list[0].collapsed, true);
		assert.deepEqual(list[0].depth, 1);
		assert.deepEqual(list[1].element, 1);
		assert.deepEqual(list[1].collapsed, false);
		assert.deepEqual(list[1].depth, 1);
		assert.deepEqual(list[2].element, 2);
		assert.deepEqual(list[2].collapsed, false);
		assert.deepEqual(list[2].depth, 1);
	});
開發者ID:burhandodhy,項目名稱:azuredatastudio,代碼行數:30,代碼來源:treeModel.test.ts

示例4: test

	test('deep insert collapsed', function () {
		const list: ITreeNode<number>[] = [];
		const model = new IndexTreeModel<number>(toSpliceable(list));

		model.splice([0], 0, Iterator.fromArray([
			{
				element: 0, collapsed: true, children: Iterator.fromArray([
					{ element: 10 },
					{ element: 11 },
					{ element: 12 },
				])
			},
			{ element: 1 },
			{ element: 2 }
		]));

		assert.deepEqual(list.length, 3);
		assert.deepEqual(list[0].element, 0);
		assert.deepEqual(list[0].collapsed, true);
		assert.deepEqual(list[0].depth, 1);
		assert.deepEqual(list[1].element, 1);
		assert.deepEqual(list[1].collapsed, false);
		assert.deepEqual(list[1].depth, 1);
		assert.deepEqual(list[2].element, 2);
		assert.deepEqual(list[2].collapsed, false);
		assert.deepEqual(list[2].depth, 1);
	});
開發者ID:KTXSoftware,項目名稱:KodeStudio,代碼行數:27,代碼來源:indexTreeModel.test.ts

示例5: createIterator

	private createIterator(element: TInput | T, isCollapsed?: (el: T) => boolean): Iterator<ITreeElement<T>> {
		const children = Iterator.fromArray(this.dataSource.getChildren(element));

		return Iterator.map<any, ITreeElement<T>>(children, element => ({
			element,
			children: this.createIterator(element),
			collapsed: isCollapsed && isCollapsed(element)
		}));
	}
開發者ID:VishalMadhvani,項目名稱:vscode,代碼行數:9,代碼來源:dataTree.ts


注:本文中的vs/base/common/iterator.Iterator類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。