<commit_before>import { JsonProperty } from 'json-typescript-mapper';

/**
 * This object provides all functionality of the Synacta API
 * All other objects are a subset of this Interface.
 * TODO - find out which fields are optional
 */
export class GenericBaseEntity {
    Properties?: any;
    PropertyInfos?: any;
    ID: string;
    ObjectType: string;
    ParentID: string;
    ParentType: string;
    IsVirtual: boolean;
    Frozen: boolean;
    HasChild: boolean;
    CheckedOutBy: string;
    Version: string;
    Hash: string;

    // API Specific Fields
    @JsonProperty('@odata.readLink')
    ReadLink: string;
    @JsonProperty('@odata.nextLink')
    NextLink: string;
    @JsonProperty('<EMAIL>')
    ChildLink: string;
    @JsonProperty('<EMAIL>')
    FullODataLink: string;
    @JsonProperty('<EMAIL>')
    StandardODataLink: string;
    @JsonProperty('<EMAIL>')
    NoneODataLink: string;
    @JsonProperty('<EMAIL>')
    ParentLink: string;
    @JsonProperty('@odata.context')
    Context: string;
    @JsonProperty('@odata.count')
    Count: number;
    @JsonProperty('<EMAIL>')
    Document: string;
    @JsonProperty('@odata.editLink')
    EditLink: string;
    @JsonProperty('@odata.etag')
    ETag: string;
    @JsonProperty('@odata.metadataEtag')
    MetadataETag: string;
    @JsonProperty('@odata.PicklistLink')
    PicklistLink: string;
}

/**
 * This object is either a container or a document
 */
export class Entity {
    Properties: any;
    PropertyInfos?: any;
    ID: string;
    ObjectType: string;
    ParentID: string;
    ParentType: string;
    Frozen: boolean;
    Hash: string;

    // API Specific Fields
    @JsonProperty('@odata.readLink')
    ReadLink: string;
    @JsonProperty('<EMAIL>')
    FullODataLink: string;
}

/**
 * Under a simple interface this object 
 * is a transmission frame with only a
 * value array containing any type
 * 
 * It should be used to access the raw json
 * data that is within the frame
 */
export interface IFrame {
    value: any[];
}

/**
 * This object is a transmission frame
 * with message and navigation metadata
 */
export class Frame {
    value: Entity[];

    // API Specific Fields
    @JsonProperty('@odata.context')
    Context: string;
    @JsonProperty('@odata.count')
    Count: number;
    @JsonProperty('<EMAIL>')
    Document: string;
    @JsonProperty('@odata.editLink')
    EditLink: string;
}

/**
 * This object provides container specific properties and functions
 */
export class Container extends Entity {
    IsVirtual: boolean;
    HasChild: boolean;

    // API Specific Fields
    @JsonProperty('@odata.context')
    Context: string;
    @JsonProperty('<EMAIL>')
    ChildLink: string;
    @JsonProperty('<EMAIL>')
    Document: string;
}

/**
 * This object provides document specific properties and methods
 */
export class Document extends Entity {
    CheckedOutBy: string;
    Version: string;
}

/**
 * This object contains organization specific properties
 */
 export class Organization {
    ID: string;
    Name: string;
    ParentID: string;
    ParentName: string;
    HasChildren: boolean;

    @JsonProperty('@odata.readLink')
    ReadLink: string;
    @JsonProperty('<EMAIL>')
    ChildLink: string;
    @JsonProperty('<EMAIL>')
    FullODataLink: string;
    @JsonProperty('<EMAIL>')
    ParentLink: string;
}<commit_msg>changed parameter to not be optional<commit_after>import { JsonProperty } from 'json-typescript-mapper';

/**
 * This object provides all functionality of the Synacta API
 * All other objects are a subset of this Interface.
 * TODO - find out which fields are optional
 */
export class GenericBaseEntity {
    Properties: any;
    PropertyInfos: any;
    ID: string;
    ObjectType: string;
    ParentID: string;
    ParentType: string;
    IsVirtual: boolean;
    Frozen: boolean;
    HasChild: boolean;
    CheckedOutBy: string;
    Version: string;
    Hash: string;

    // API Specific Fields
    @JsonProperty('@odata.readLink')
    ReadLink: string;
    @JsonProperty('@odata.nextLink')
    NextLink: string;
    @JsonProperty('<EMAIL>')
    ChildLink: string;
    @JsonProperty('<EMAIL>')
    FullODataLink: string;
    @JsonProperty('<EMAIL>')
    StandardODataLink: string;
    @JsonProperty('<EMAIL>')
    NoneODataLink: string;
    @JsonProperty('<EMAIL>')
    ParentLink: string;
    @JsonProperty('@odata.context')
    Context: string;
    @JsonProperty('@odata.count')
    Count: number;
    @JsonProperty('<EMAIL>')
    Document: string;
    @JsonProperty('@odata.editLink')
    EditLink: string;
    @JsonProperty('@odata.etag')
    ETag: string;
    @JsonProperty('@odata.metadataEtag')
    MetadataETag: string;
    @JsonProperty('@odata.PicklistLink')
    PicklistLink: string;
}

/**
 * This object is either a container or a document
 */
export class Entity {
    Properties: any;
    PropertyInfos: any;
    ID: string;
    ObjectType: string;
    ParentID: string;
    ParentType: string;
    Frozen: boolean;
    Hash: string;

    // API Specific Fields
    @JsonProperty('@odata.readLink')
    ReadLink: string;
    @JsonProperty('<EMAIL>')
    FullODataLink: string;
}

/**
 * Under a simple interface this object 
 * is a transmission frame with only a
 * value array containing any type
 * 
 * It should be used to access the raw json
 * data that is within the frame
 */
export interface IFrame {
    value: any[];
}

/**
 * This object is a transmission frame
 * with message and navigation metadata
 */
export class Frame {
    value: Entity[];

    // API Specific Fields
    @JsonProperty('@odata.context')
    Context: string;
    @JsonProperty('@odata.count')
    Count: number;
    @JsonProperty('<EMAIL>')
    Document: string;
    @JsonProperty('@odata.editLink')
    EditLink: string;
}

/**
 * This object provides container specific properties and functions
 */
export class Container extends Entity {
    IsVirtual: boolean;
    HasChild: boolean;

    // API Specific Fields
    @JsonProperty('@odata.context')
    Context: string;
    @JsonProperty('<EMAIL>')
    ChildLink: string;
    @JsonProperty('<EMAIL>')
    Document: string;
}

/**
 * This object provides document specific properties and methods
 */
export class Document extends Entity {
    CheckedOutBy: string;
    Version: string;
}

/**
 * This object contains organization specific properties
 */
 export class Organization {
    ID: string;
    Name: string;
    ParentID: string;
    ParentName: string;
    HasChildren: boolean;

    @JsonProperty('@odata.readLink')
    ReadLink: string;
    @JsonProperty('<EMAIL>')
    ChildLink: string;
    @JsonProperty('<EMAIL>')
    FullODataLink: string;
    @JsonProperty('<EMAIL>')
    ParentLink: string;
}
{'fraction_non_alphanumeric': 0.11751563896336015, 'fraction_numerical': 0.0, 'mean_word_length': 3.366059817945384, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 29, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1533145', 'n_tokens_mistral': 2004, 'n_tokens_neox': 1978, 'n_words': 573}