text: // Generate unique IDs for use as pseudo-private/protected names.
  // Similar in concept to
  // <http://wiki.ecmascript.org/doku.php?id=strawman:names>.
  //
  // The goals of this function are twofold:
  //
  // * Provide a way to generate a string guaranteed to be unique when compared
  //   to other strings generated by this function.
  // * Make the string complex enough that it is highly unlikely to be
  //   accidentally duplicated by hand (this is key if you're using `ID`
  //   as a private/protected name on an object).
  //
  // Use:
  //
  //     var privateName = ID();
  //     var o = { 'public': 'foo' };
  //     o[privateName] = 'bar';
  export function id() {
      // Math.random should be unique because of its seeding algorithm.
      // Convert it to base 36 (numbers + letters), and grab the first 9 characters
      // after the decimal.
      return (
          `_${
              Math.random()
                  .toString(36)
                  .substr(2, 9)}`
      )
  }
  
  export function generateKey(containerKey, columnId) {
      return `${containerKey}.${columnId}`
  }
  
  export function guid() {
      function s4() {
          return Math.floor((1 + Math.random()) * 0x10000)
              .toString(16)
              .substring(1)
      }
  
      return (
          `${s4() +
      s4()
          }_${
              s4()
          }_${
              s4()
          }_${
              s4()
          }_${
              s4()
          }${s4()
          }${s4()}`
      )
  }
  