export function convertEntityToNewDocument()

in src/Explorer/Tables/TableEntityProcessor.ts [162:208]


export function convertEntityToNewDocument(entity: Entities.ITableEntityForTablesAPI): any {
  let document: any = {
    $pk: entity.PartitionKey._,
    $id: entity.RowKey._,
    id: entity.RowKey._,
  };
  for (const property in entity) {
    if (
      property !== Constants.EntityKeyNames.PartitionKey &&
      property !== Constants.EntityKeyNames.RowKey &&
      property !== Constants.EntityKeyNames.Timestamp &&
      property !== keyProperties.resourceId &&
      property !== keyProperties.self &&
      property !== keyProperties.etag &&
      property !== keyProperties.attachments &&
      property !== keyProperties.Id2
    ) {
      const propertyValue = entity[property]._;
      let parsedValue;
      switch (entity[property].$) {
        case Constants.TableType.DateTime:
          parsedValue = DateTimeUtilities.convertJSDateToTicksWithPadding(propertyValue);
          break;
        case Constants.TableType.Boolean:
          parsedValue = propertyValue.toString().toLowerCase() === "true";
          break;
        case Constants.TableType.Int32:
          parsedValue = parseInt(propertyValue, 10);
          break;
        case Constants.TableType.Int64:
          parsedValue = propertyValue.toString();
          break;
        case Constants.TableType.Double:
          parsedValue = parseFloat(propertyValue);
          break;
        default:
          parsedValue = propertyValue;
      }

      document[property] = {
        $t: (<any>DataTypes)[entity[property].$],
        $v: parsedValue,
      };
    }
  }
  return document;
}