• File: shared-strings.js
  • Full Path: /var/www/nodejs/daily_store_reports_nodejs/node_modules/exceljs/lib/utils/shared-strings.js
  • Date Modified: 02/04/2023 9:31 PM
  • File size: 631 bytes
  • MIME-type: text/plain
  • Charset: utf-8
class SharedStrings {
  constructor() {
    this._values = [];
    this._totalRefs = 0;
    this._hash = Object.create(null);
  }

  get count() {
    return this._values.length;
  }

  get values() {
    return this._values;
  }

  get totalRefs() {
    return this._totalRefs;
  }

  getString(index) {
    return this._values[index];
  }

  add(value) {
    let index = this._hash[value];
    if (index === undefined) {
      index = this._hash[value] = this._values.length;
      this._values.push(value);
    }
    this._totalRefs++;
    return index;
  }
}

module.exports = SharedStrings;