import {Entity} from './entity'; import {DsProjectRoomBlock, DsProjectRoomBlockField, DsProjectRoomData} from "../dynamic-labeling-room/entities"; import {ExampleEntityData} from "./example-entity-data"; import {RecruiterSearch, RecruiterSearchRecord} from "./recruiter-search"; export class JobPostingExtractor implements Entity { private _version = ''; private _hints = []; private _url = ''; private _html_content = ''; private _html = ''; private _helper_url_list = [] private _helper_html_list = [] private _records: RecruiterSearchRecord = new RecruiterSearchRecord(); private _exampleEntityData: ExampleEntityData = new ExampleEntityData('job-posting-extractor'); constructor(obj?) { if (obj) { if (obj.version) { this._version = obj.version; } if (obj.hints) { for (const i in obj.hints) { this._hints.push(obj.hints[i]); } } if (obj.url) { this._url = obj.url; } if (obj.html_content) { this._html_content = obj.html_content; } if (obj.html) { this._html = obj.html; } if (obj.helper_url_list) { for (const i in obj.helper_url_list) { this._helper_url_list.push(obj.helper_url_list[i]); } } if (obj.helper_html_list) { for (const i in obj.helper_html_list) { this._helper_html_list.push(obj.helper_html_list[i]); } } if (obj.records) { this._records = new RecruiterSearchRecord(obj.records); } } } get version(): string { return this._version; } set version(value: string) { this._version = value; } get hints(): any[] { return this._hints; } set hints(value: any[]) { this._hints = value; } get url(): string { return this._url; } set url(value: string) { this._url = value; } get html_content(): string { return this._html_content; } set html_content(value: string) { this._html_content = value; } get html(): string { return this._html; } set html(value: string) { this._html = value; } get helper_url_list(): any[] { return this._helper_url_list; } set helper_url_list(value: any[]) { this._helper_url_list = value; } get helper_html_list(): any[] { return this._helper_html_list; } set helper_html_list(value: any[]) { this._helper_html_list = value; } get records(): RecruiterSearchRecord { return this._records; } set records(value: RecruiterSearchRecord) { this._records = value; } toJSON() { return { version: this.version, hints: this.hints, url: this.url, html: this.html_content || this.html, helper_url_list: this.helper_url_list, helper_html_list: this.helper_html_list, records: this.records } } nerEntityTypeOptions(): any[] { return []; } public toNerEntities(pos): any { return { relationOptions: [], entities: {} }; } public toDsProjectRoom() { } public fromDsProjectRoom(obj: DsProjectRoomBlock[], data: DsProjectRoomData) { return new JobPostingExtractor({}); } }