text: /**
   * Class that contains the Dynamic Data reference.
   * This includes the source, property, and property path (if applicable) of Dynamic Data
   *
   * @remarks
   * The reference string is of the form `<sourceId>:<property>` or `<sourceId>:<property>:<propertyPath>`
   *
   * Examples of references are:
   * `WebPart.<componentId>.<instanceId>:myComplexProperty:myArray[0].lastName`
   *
   * @public
   */
  var DynamicDataReference = /** @class */ (function () {
      function DynamicDataReference(reference) {
          var split = reference.split(':');
          if (split.length < 2) {
              throw new Error("Data id is malformed. Data id: \"" + reference + "\"");
          }
          this._reference = reference;
          this._sourceId = split[0];
          this._property = split[1];
          this._propertyPath = split[2];
      }
      Object.defineProperty(DynamicDataReference.prototype, "reference", {
          /**
           * Returns the full reference of the Dynamic Data object as a string.
           */
          get: function () {
              return this._reference;
          },
          enumerable: false,
          configurable: true
      });
      Object.defineProperty(DynamicDataReference.prototype, "sourceId", {
          /**
           * Returns the referred id of the Dynamic Data Source.
           */
          get: function () {
              return this._sourceId;
          },
          enumerable: false,
          configurable: true
      });
      Object.defineProperty(DynamicDataReference.prototype, "property", {
          /**
           * Returns the referred property of the Dynamic Data.
           */
          get: function () {
              return this._property;
          },
          enumerable: false,
          configurable: true
      });
      Object.defineProperty(DynamicDataReference.prototype, "propertyPath", {
          /**
           * Returns the referred property path of the Dynamic Data.
           * Returns undefined if there is no property path.
           */
          get: function () {
              return this._propertyPath;
          },
          enumerable: false,
          configurable: true
      });
      return DynamicDataReference;
  }());
  export default DynamicDataReference;
  //# sourceMappingURL=DynamicDataReference.js.map