delete make_iterable

pull/10803/head
Rich Harris 2 years ago
parent 9e9749a4bc
commit 523a3c7dfc

@ -2,7 +2,6 @@ import { DEV } from 'esm-env';
import { source, set } from '../internal/client/reactivity/sources.js';
import { get } from '../internal/client/runtime.js';
import { UNINITIALIZED } from '../internal/client/constants.js';
import { make_iterable } from './utils.js';
/**
* @template K
@ -126,53 +125,23 @@ export class ReactiveMap extends Map {
keys() {
get(this.#version);
var iterator = this.#sources.keys();
return make_iterable(
/** @type {IterableIterator<K>} */ ({
next() {
for (var value of iterator) {
return { value, done: false };
}
return { done: true };
}
})
);
return this.#sources.keys();
}
values() {
*values() {
get(this.#version);
var iterator = this.#sources.values();
return make_iterable(
/** @type {IterableIterator<V>} */ ({
next() {
for (var source of iterator) {
return { value: get(source), done: false };
}
return { done: true };
}
})
);
for (var source of this.#sources.values()) {
yield get(source);
}
}
entries() {
*entries() {
get(this.#version);
var iterator = this.#sources.entries();
return make_iterable(
/** @type {IterableIterator<[K, V]>} */ ({
next() {
for (var [key, source] of iterator) {
return { value: [key, get(source)], done: false };
}
return { done: true };
}
})
);
for (var [key, source] of this.#sources.entries()) {
yield /** @type {[K, V]} */ ([key, get(source)]);
}
}
[Symbol.iterator]() {

@ -1,7 +1,6 @@
import { DEV } from 'esm-env';
import { source, set } from '../internal/client/reactivity/sources.js';
import { get } from '../internal/client/runtime.js';
import { make_iterable } from './utils.js';
var read_methods = ['forEach', 'isDisjointFrom', 'isSubsetOf', 'isSupersetOf'];
var set_like_methods = ['difference', 'intersection', 'symmetricDifference', 'union'];
@ -134,45 +133,22 @@ export class ReactiveSet extends Set {
}
keys() {
return this.values();
get(this.#version);
return this.#sources.keys();
}
values() {
get(this.#version);
var iterator = this.#sources.keys();
return make_iterable(
/** @type {IterableIterator<T>} */ ({
next() {
for (var value of iterator) {
return { value, done: false };
}
return { done: true };
}
})
);
return this.keys();
}
entries() {
var iterator = this.values();
return make_iterable(
/** @type {IterableIterator<[T, T]>} */ ({
next() {
for (var value of iterator) {
return { value: [value, value], done: false };
}
return { done: true };
}
})
);
*entries() {
for (var key of this.keys()) {
yield /** @type {[T, T]} */ ([key, key]);
}
}
[Symbol.iterator]() {
return this.values();
return this.keys();
}
get size() {

@ -1,15 +0,0 @@
/**
* @template T
* @param {IterableIterator<T>} iterator
*/
export function make_iterable(iterator) {
iterator[Symbol.iterator] = get_self;
return iterator;
}
/**
* @this {any}
*/
function get_self() {
return this;
}
Loading…
Cancel
Save