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;
}