执行过npm install命令的vue-element-admin源码
康凯
2022-05-20 aa4c235a8ca67ea8b731f90c951a465e92c0a865
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
"use strict";
 
const idlUtils = require("../generated/utils.js");
 
exports.implementation = class NodeListImpl {
  constructor(args, privateData) {
    if (privateData.nodes) {
      this._list = [...privateData.nodes];
      this._isLive = false;
    } else {
      this._list = [];
      this._isLive = true;
      this._version = -1;
      this._element = privateData.element;
      this._query = privateData.query;
      this._update();
    }
  }
  get length() {
    this._update();
    return this._list.length;
  }
  item(index) {
    this._update();
    return this._list[index] || null;
  }
  _update() {
    if (this._isLive) {
      if (this._version < this._element._version) {
        const snapshot = this._query();
        for (let i = 0; i < snapshot.length; i++) {
          this._list[i] = snapshot[i];
        }
        this._list.length = snapshot.length;
        this._version = this._element._version;
      }
    }
  }
  get [idlUtils.supportedPropertyIndices]() {
    this._update();
    return this._list.keys();
  }
};