From 1834ffe810fc686d2c7e71cfecba053cc1c20192 Mon Sep 17 00:00:00 2001 From: Connor Boyle Date: Mon, 7 Jun 2021 15:36:03 -0700 Subject: [PATCH] 73 schema 1.1.2 (#97) * Update Annotator & Deidentifier Versions Also renames docker container networks. * Add Scripts for Generating Deidentifier Client SDK * Add Auto-Generated API Client * Update ToolDependencies Reference Keeps pace with the schema update. * Update ToolDependency Member Names * Update Member Name of Note Type * Add Contact & ID to Named Annotation Types * Add New Annotation Types to Annotation Table * Update Web Client Version Number --- client/src/.openapi-generator/FILES | 29 + client/src/.openapi-generator/VERSION | 2 +- client/src/apis/DeidentifiedNoteApi.ts | 4 +- client/src/apis/HealthCheckApi.ts | 4 +- client/src/apis/ToolApi.ts | 4 +- client/src/components/AnnotationView.js | 2 + client/src/components/App.js | 2 +- .../components/DeidentificationConfigForm.js | 2 + client/src/components/InfoDialog.js | 9 +- client/src/config.js | 2 +- client/src/models/AnnotationSet.ts | 28 +- client/src/models/DateOffsetConfig.ts | 4 +- client/src/models/DeidentificationStep.ts | 10 +- client/src/models/DeidentifyRequest.ts | 4 +- client/src/models/DeidentifyResponse.ts | 4 +- client/src/models/HealthCheck.ts | 4 +- client/src/models/License.ts | 4 +- client/src/models/MaskingCharConfig.ts | 4 +- client/src/models/ModelError.ts | 4 +- client/src/models/Note.ts | 10 +- client/src/models/TextAnnotation.ts | 4 +- client/src/models/TextContactAnnotation.ts | 113 ++ .../src/models/TextContactAnnotationAllOf.ts | 70 ++ client/src/models/TextDateAnnotation.ts | 4 +- client/src/models/TextDateAnnotationAllOf.ts | 4 +- client/src/models/TextIdAnnotation.ts | 117 +++ client/src/models/TextIdAnnotationAllOf.ts | 74 ++ client/src/models/TextPersonNameAnnotation.ts | 4 +- .../models/TextPhysicalAddressAnnotation.ts | 8 +- .../TextPhysicalAddressAnnotationAllOf.ts | 8 +- client/src/models/Tool.ts | 16 +- client/src/models/ToolDependencies.ts | 10 +- client/src/models/index.ts | 4 + client/src/runtime.ts | 11 +- docker-compose.yml | 46 +- package-lock.json | 966 ++++++++++++++++++ package.json | 9 + 37 files changed, 1519 insertions(+), 85 deletions(-) create mode 100644 client/src/.openapi-generator/FILES create mode 100644 client/src/models/TextContactAnnotation.ts create mode 100644 client/src/models/TextContactAnnotationAllOf.ts create mode 100644 client/src/models/TextIdAnnotation.ts create mode 100644 client/src/models/TextIdAnnotationAllOf.ts create mode 100644 package-lock.json create mode 100644 package.json diff --git a/client/src/.openapi-generator/FILES b/client/src/.openapi-generator/FILES new file mode 100644 index 0000000..5d2a14a --- /dev/null +++ b/client/src/.openapi-generator/FILES @@ -0,0 +1,29 @@ +apis/DeidentifiedNoteApi.ts +apis/HealthCheckApi.ts +apis/ToolApi.ts +apis/index.ts +index.ts +models/AnnotationSet.ts +models/DateOffsetConfig.ts +models/DeidentificationStep.ts +models/DeidentifyRequest.ts +models/DeidentifyResponse.ts +models/HealthCheck.ts +models/License.ts +models/MaskingCharConfig.ts +models/ModelError.ts +models/Note.ts +models/TextAnnotation.ts +models/TextContactAnnotation.ts +models/TextContactAnnotationAllOf.ts +models/TextDateAnnotation.ts +models/TextDateAnnotationAllOf.ts +models/TextIdAnnotation.ts +models/TextIdAnnotationAllOf.ts +models/TextPersonNameAnnotation.ts +models/TextPhysicalAddressAnnotation.ts +models/TextPhysicalAddressAnnotationAllOf.ts +models/Tool.ts +models/ToolDependencies.ts +models/index.ts +runtime.ts diff --git a/client/src/.openapi-generator/VERSION b/client/src/.openapi-generator/VERSION index 32f3eaa..3bff059 100644 --- a/client/src/.openapi-generator/VERSION +++ b/client/src/.openapi-generator/VERSION @@ -1 +1 @@ -5.0.1 \ No newline at end of file +5.1.1 \ No newline at end of file diff --git a/client/src/apis/DeidentifiedNoteApi.ts b/client/src/apis/DeidentifiedNoteApi.ts index 36d2e43..f911afd 100644 --- a/client/src/apis/DeidentifiedNoteApi.ts +++ b/client/src/apis/DeidentifiedNoteApi.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech diff --git a/client/src/apis/HealthCheckApi.ts b/client/src/apis/HealthCheckApi.ts index e8a5741..9e9183d 100644 --- a/client/src/apis/HealthCheckApi.ts +++ b/client/src/apis/HealthCheckApi.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech diff --git a/client/src/apis/ToolApi.ts b/client/src/apis/ToolApi.ts index 82e03d6..6e887ca 100644 --- a/client/src/apis/ToolApi.ts +++ b/client/src/apis/ToolApi.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech diff --git a/client/src/components/AnnotationView.js b/client/src/components/AnnotationView.js index f345dce..0f1fe54 100644 --- a/client/src/components/AnnotationView.js +++ b/client/src/components/AnnotationView.js @@ -11,6 +11,8 @@ function AnnotationView(props) { 'textPhysicalAddressAnnotations'}, {type: 'text_person_name', name: 'Person Name', key: 'textPersonNameAnnotations'}, + {type: 'text_contact', name: 'Contact Info', key: 'textContactAnnotations'}, + {type: 'text_id', name: 'Identifier', key: 'textIdAnnotations'}, ]; let allAnnotations; diff --git a/client/src/components/App.js b/client/src/components/App.js index 9b70ec6..414498d 100644 --- a/client/src/components/App.js +++ b/client/src/components/App.js @@ -72,7 +72,7 @@ class App extends React.Component { }], note: { text: defaultText, - noteType: '0000', // FIXME: figure out whether and how to get this + type: '0000', // FIXME: figure out whether and how to get this identifier: '0000', patientId: '0000', }, diff --git a/client/src/components/DeidentificationConfigForm.js b/client/src/components/DeidentificationConfigForm.js index 88ac51c..c0108fd 100644 --- a/client/src/components/DeidentificationConfigForm.js +++ b/client/src/components/DeidentificationConfigForm.js @@ -16,6 +16,8 @@ const ANNOTATION_TYPE_NAMES = { 'text_date': 'Date', 'text_person_name': 'Person Name', 'text_physical_address': 'Physical Address', + 'text_contact': 'Contact Info', + 'text_id': 'Identifier', }; export class DeidentificationConfigForm extends React.Component { diff --git a/client/src/components/InfoDialog.js b/client/src/components/InfoDialog.js index b75c908..0eb0257 100644 --- a/client/src/components/InfoDialog.js +++ b/client/src/components/InfoDialog.js @@ -33,10 +33,11 @@ const StyledTableRow = withStyles((theme) => ({ }))(TableRow); function ToolDependencyRow(props) { + console.log(props.toolDependency); return ( - { props.toolDependency.toolType } - { props.toolDependency.toolApiVersion } + { props.toolDependency.type } + { props.toolDependency.apiVersion } { props.toolDependency.name } @@ -81,7 +82,7 @@ function ToolDependenciesTable(props) { - {props.toolDependencies.map( + {props.toolDependencies.tools.map( (toolDependency, index) => { this.setState({ - toolDependencies: apiResponse.toolDependencies, + toolDependencies: apiResponse, }); }) .catch((error) => { diff --git a/client/src/config.js b/client/src/config.js index 40e0076..dd30961 100644 --- a/client/src/config.js +++ b/client/src/config.js @@ -36,7 +36,7 @@ export default class Config { version() { // Version of the web client - return '1.0.0'; + return '1.1.0'; } source() { diff --git a/client/src/models/AnnotationSet.ts b/client/src/models/AnnotationSet.ts index 2d8f2c8..a620d45 100644 --- a/client/src/models/AnnotationSet.ts +++ b/client/src/models/AnnotationSet.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech @@ -14,10 +14,18 @@ import { exists, mapValues } from '../runtime'; import { + TextContactAnnotation, + TextContactAnnotationFromJSON, + TextContactAnnotationFromJSONTyped, + TextContactAnnotationToJSON, TextDateAnnotation, TextDateAnnotationFromJSON, TextDateAnnotationFromJSONTyped, TextDateAnnotationToJSON, + TextIdAnnotation, + TextIdAnnotationFromJSON, + TextIdAnnotationFromJSONTyped, + TextIdAnnotationToJSON, TextPersonNameAnnotation, TextPersonNameAnnotationFromJSON, TextPersonNameAnnotationFromJSONTyped, @@ -52,6 +60,18 @@ export interface AnnotationSet { * @memberof AnnotationSet */ textPhysicalAddressAnnotations: Array; + /** + * ID annotations in a text + * @type {Array} + * @memberof AnnotationSet + */ + textIdAnnotations: Array; + /** + * Contact annotations in a text + * @type {Array} + * @memberof AnnotationSet + */ + textContactAnnotations: Array; } export function AnnotationSetFromJSON(json: any): AnnotationSet { @@ -67,6 +87,8 @@ export function AnnotationSetFromJSONTyped(json: any, ignoreDiscriminator: boole 'textDateAnnotations': ((json['textDateAnnotations'] as Array).map(TextDateAnnotationFromJSON)), 'textPersonNameAnnotations': ((json['textPersonNameAnnotations'] as Array).map(TextPersonNameAnnotationFromJSON)), 'textPhysicalAddressAnnotations': ((json['textPhysicalAddressAnnotations'] as Array).map(TextPhysicalAddressAnnotationFromJSON)), + 'textIdAnnotations': ((json['textIdAnnotations'] as Array).map(TextIdAnnotationFromJSON)), + 'textContactAnnotations': ((json['textContactAnnotations'] as Array).map(TextContactAnnotationFromJSON)), }; } @@ -82,6 +104,8 @@ export function AnnotationSetToJSON(value?: AnnotationSet | null): any { 'textDateAnnotations': ((value.textDateAnnotations as Array).map(TextDateAnnotationToJSON)), 'textPersonNameAnnotations': ((value.textPersonNameAnnotations as Array).map(TextPersonNameAnnotationToJSON)), 'textPhysicalAddressAnnotations': ((value.textPhysicalAddressAnnotations as Array).map(TextPhysicalAddressAnnotationToJSON)), + 'textIdAnnotations': ((value.textIdAnnotations as Array).map(TextIdAnnotationToJSON)), + 'textContactAnnotations': ((value.textContactAnnotations as Array).map(TextContactAnnotationToJSON)), }; } diff --git a/client/src/models/DateOffsetConfig.ts b/client/src/models/DateOffsetConfig.ts index 468499b..fc04077 100644 --- a/client/src/models/DateOffsetConfig.ts +++ b/client/src/models/DateOffsetConfig.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech diff --git a/client/src/models/DeidentificationStep.ts b/client/src/models/DeidentificationStep.ts index a7036f2..c3c343d 100644 --- a/client/src/models/DeidentificationStep.ts +++ b/client/src/models/DeidentificationStep.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech @@ -73,9 +73,11 @@ export interface DeidentificationStep { * @enum {string} */ export enum DeidentificationStepAnnotationTypesEnum { - PhysicalAddress = 'text_physical_address', Date = 'text_date', - PersonName = 'text_person_name' + PersonName = 'text_person_name', + PhysicalAddress = 'text_physical_address', + Id = 'text_id', + Contact = 'text_contact' } export function DeidentificationStepFromJSON(json: any): DeidentificationStep { diff --git a/client/src/models/DeidentifyRequest.ts b/client/src/models/DeidentifyRequest.ts index 6c21b62..e3993f0 100644 --- a/client/src/models/DeidentifyRequest.ts +++ b/client/src/models/DeidentifyRequest.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech diff --git a/client/src/models/DeidentifyResponse.ts b/client/src/models/DeidentifyResponse.ts index ff35a2d..d426267 100644 --- a/client/src/models/DeidentifyResponse.ts +++ b/client/src/models/DeidentifyResponse.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech diff --git a/client/src/models/HealthCheck.ts b/client/src/models/HealthCheck.ts index f51397d..50b31b7 100644 --- a/client/src/models/HealthCheck.ts +++ b/client/src/models/HealthCheck.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech diff --git a/client/src/models/License.ts b/client/src/models/License.ts index 7f19ffe..210d887 100644 --- a/client/src/models/License.ts +++ b/client/src/models/License.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech diff --git a/client/src/models/MaskingCharConfig.ts b/client/src/models/MaskingCharConfig.ts index 3e6ac53..f96954a 100644 --- a/client/src/models/MaskingCharConfig.ts +++ b/client/src/models/MaskingCharConfig.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech diff --git a/client/src/models/ModelError.ts b/client/src/models/ModelError.ts index 7675ce4..29593e7 100644 --- a/client/src/models/ModelError.ts +++ b/client/src/models/ModelError.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech diff --git a/client/src/models/Note.ts b/client/src/models/Note.ts index 6279370..bb7a85f 100644 --- a/client/src/models/Note.ts +++ b/client/src/models/Note.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech @@ -36,7 +36,7 @@ export interface Note { * @type {string} * @memberof Note */ - noteType: string; + type: string; /** * The ID of the FHIR patient * @type {string} @@ -57,7 +57,7 @@ export function NoteFromJSONTyped(json: any, ignoreDiscriminator: boolean): Note 'identifier': json['identifier'], 'text': json['text'], - 'noteType': json['noteType'], + 'type': json['type'], 'patientId': json['patientId'], }; } @@ -73,7 +73,7 @@ export function NoteToJSON(value?: Note | null): any { 'identifier': value.identifier, 'text': value.text, - 'noteType': value.noteType, + 'type': value.type, 'patientId': value.patientId, }; } diff --git a/client/src/models/TextAnnotation.ts b/client/src/models/TextAnnotation.ts index 7612cbf..93ec412 100644 --- a/client/src/models/TextAnnotation.ts +++ b/client/src/models/TextAnnotation.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech diff --git a/client/src/models/TextContactAnnotation.ts b/client/src/models/TextContactAnnotation.ts new file mode 100644 index 0000000..61bbd12 --- /dev/null +++ b/client/src/models/TextContactAnnotation.ts @@ -0,0 +1,113 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * NLP Sandbox PHI Deidentifier API + * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) + * + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import { + TextAnnotation, + TextAnnotationFromJSON, + TextAnnotationFromJSONTyped, + TextAnnotationToJSON, + TextContactAnnotationAllOf, + TextContactAnnotationAllOfFromJSON, + TextContactAnnotationAllOfFromJSONTyped, + TextContactAnnotationAllOfToJSON, +} from './'; + +/** + * A contact annotation in a text + * @export + * @interface TextContactAnnotation + */ +export interface TextContactAnnotation { + /** + * The position of the first character + * @type {number} + * @memberof TextContactAnnotation + */ + start: number; + /** + * The length of the annotation + * @type {number} + * @memberof TextContactAnnotation + */ + length: number; + /** + * The string annotated + * @type {string} + * @memberof TextContactAnnotation + */ + text: string; + /** + * The confidence in the accuracy of the annotation + * @type {number} + * @memberof TextContactAnnotation + */ + confidence: number; + /** + * Type of contact information + * @type {string} + * @memberof TextContactAnnotation + */ + contactType: TextContactAnnotationContactTypeEnum; +} + +/** +* @export +* @enum {string} +*/ +export enum TextContactAnnotationContactTypeEnum { + Email = 'email', + Fax = 'fax', + IpAddress = 'ip_address', + Phone = 'phone', + Url = 'url', + Other = 'other' +} + +export function TextContactAnnotationFromJSON(json: any): TextContactAnnotation { + return TextContactAnnotationFromJSONTyped(json, false); +} + +export function TextContactAnnotationFromJSONTyped(json: any, ignoreDiscriminator: boolean): TextContactAnnotation { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'start': json['start'], + 'length': json['length'], + 'text': json['text'], + 'confidence': json['confidence'], + 'contactType': json['contactType'], + }; +} + +export function TextContactAnnotationToJSON(value?: TextContactAnnotation | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'start': value.start, + 'length': value.length, + 'text': value.text, + 'confidence': value.confidence, + 'contactType': value.contactType, + }; +} + + diff --git a/client/src/models/TextContactAnnotationAllOf.ts b/client/src/models/TextContactAnnotationAllOf.ts new file mode 100644 index 0000000..fa803d8 --- /dev/null +++ b/client/src/models/TextContactAnnotationAllOf.ts @@ -0,0 +1,70 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * NLP Sandbox PHI Deidentifier API + * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) + * + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface TextContactAnnotationAllOf + */ +export interface TextContactAnnotationAllOf { + /** + * Type of contact information + * @type {string} + * @memberof TextContactAnnotationAllOf + */ + contactType: TextContactAnnotationAllOfContactTypeEnum; +} + +/** +* @export +* @enum {string} +*/ +export enum TextContactAnnotationAllOfContactTypeEnum { + Email = 'email', + Fax = 'fax', + IpAddress = 'ip_address', + Phone = 'phone', + Url = 'url', + Other = 'other' +} + +export function TextContactAnnotationAllOfFromJSON(json: any): TextContactAnnotationAllOf { + return TextContactAnnotationAllOfFromJSONTyped(json, false); +} + +export function TextContactAnnotationAllOfFromJSONTyped(json: any, ignoreDiscriminator: boolean): TextContactAnnotationAllOf { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'contactType': json['contactType'], + }; +} + +export function TextContactAnnotationAllOfToJSON(value?: TextContactAnnotationAllOf | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'contactType': value.contactType, + }; +} + + diff --git a/client/src/models/TextDateAnnotation.ts b/client/src/models/TextDateAnnotation.ts index 4c254d1..e6808f0 100644 --- a/client/src/models/TextDateAnnotation.ts +++ b/client/src/models/TextDateAnnotation.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech diff --git a/client/src/models/TextDateAnnotationAllOf.ts b/client/src/models/TextDateAnnotationAllOf.ts index 9c6d694..1a4e213 100644 --- a/client/src/models/TextDateAnnotationAllOf.ts +++ b/client/src/models/TextDateAnnotationAllOf.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech diff --git a/client/src/models/TextIdAnnotation.ts b/client/src/models/TextIdAnnotation.ts new file mode 100644 index 0000000..952971d --- /dev/null +++ b/client/src/models/TextIdAnnotation.ts @@ -0,0 +1,117 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * NLP Sandbox PHI Deidentifier API + * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) + * + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import { + TextAnnotation, + TextAnnotationFromJSON, + TextAnnotationFromJSONTyped, + TextAnnotationToJSON, + TextIdAnnotationAllOf, + TextIdAnnotationAllOfFromJSON, + TextIdAnnotationAllOfFromJSONTyped, + TextIdAnnotationAllOfToJSON, +} from './'; + +/** + * An ID annotation in a text + * @export + * @interface TextIdAnnotation + */ +export interface TextIdAnnotation { + /** + * The position of the first character + * @type {number} + * @memberof TextIdAnnotation + */ + start: number; + /** + * The length of the annotation + * @type {number} + * @memberof TextIdAnnotation + */ + length: number; + /** + * The string annotated + * @type {string} + * @memberof TextIdAnnotation + */ + text: string; + /** + * The confidence in the accuracy of the annotation + * @type {number} + * @memberof TextIdAnnotation + */ + confidence: number; + /** + * Type of ID information + * @type {string} + * @memberof TextIdAnnotation + */ + idType: TextIdAnnotationIdTypeEnum; +} + +/** +* @export +* @enum {string} +*/ +export enum TextIdAnnotationIdTypeEnum { + Account = 'account', + BioId = 'bio_id', + Device = 'device', + HealthPlan = 'health_plan', + IdNumber = 'id_number', + License = 'license', + MedicalRecord = 'medical_record', + Ssn = 'ssn', + Vehicle = 'vehicle', + Other = 'other' +} + +export function TextIdAnnotationFromJSON(json: any): TextIdAnnotation { + return TextIdAnnotationFromJSONTyped(json, false); +} + +export function TextIdAnnotationFromJSONTyped(json: any, ignoreDiscriminator: boolean): TextIdAnnotation { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'start': json['start'], + 'length': json['length'], + 'text': json['text'], + 'confidence': json['confidence'], + 'idType': json['idType'], + }; +} + +export function TextIdAnnotationToJSON(value?: TextIdAnnotation | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'start': value.start, + 'length': value.length, + 'text': value.text, + 'confidence': value.confidence, + 'idType': value.idType, + }; +} + + diff --git a/client/src/models/TextIdAnnotationAllOf.ts b/client/src/models/TextIdAnnotationAllOf.ts new file mode 100644 index 0000000..f4b28c9 --- /dev/null +++ b/client/src/models/TextIdAnnotationAllOf.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * NLP Sandbox PHI Deidentifier API + * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) + * + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface TextIdAnnotationAllOf + */ +export interface TextIdAnnotationAllOf { + /** + * Type of ID information + * @type {string} + * @memberof TextIdAnnotationAllOf + */ + idType: TextIdAnnotationAllOfIdTypeEnum; +} + +/** +* @export +* @enum {string} +*/ +export enum TextIdAnnotationAllOfIdTypeEnum { + Account = 'account', + BioId = 'bio_id', + Device = 'device', + HealthPlan = 'health_plan', + IdNumber = 'id_number', + License = 'license', + MedicalRecord = 'medical_record', + Ssn = 'ssn', + Vehicle = 'vehicle', + Other = 'other' +} + +export function TextIdAnnotationAllOfFromJSON(json: any): TextIdAnnotationAllOf { + return TextIdAnnotationAllOfFromJSONTyped(json, false); +} + +export function TextIdAnnotationAllOfFromJSONTyped(json: any, ignoreDiscriminator: boolean): TextIdAnnotationAllOf { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'idType': json['idType'], + }; +} + +export function TextIdAnnotationAllOfToJSON(value?: TextIdAnnotationAllOf | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'idType': value.idType, + }; +} + + diff --git a/client/src/models/TextPersonNameAnnotation.ts b/client/src/models/TextPersonNameAnnotation.ts index adf1a62..5073a68 100644 --- a/client/src/models/TextPersonNameAnnotation.ts +++ b/client/src/models/TextPersonNameAnnotation.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech diff --git a/client/src/models/TextPhysicalAddressAnnotation.ts b/client/src/models/TextPhysicalAddressAnnotation.ts index abc992b..2996609 100644 --- a/client/src/models/TextPhysicalAddressAnnotation.ts +++ b/client/src/models/TextPhysicalAddressAnnotation.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech @@ -59,7 +59,7 @@ export interface TextPhysicalAddressAnnotation { * @type {string} * @memberof TextPhysicalAddressAnnotation */ - addressType?: TextPhysicalAddressAnnotationAddressTypeEnum; + addressType: TextPhysicalAddressAnnotationAddressTypeEnum; } /** @@ -93,7 +93,7 @@ export function TextPhysicalAddressAnnotationFromJSONTyped(json: any, ignoreDisc 'length': json['length'], 'text': json['text'], 'confidence': json['confidence'], - 'addressType': !exists(json, 'addressType') ? undefined : json['addressType'], + 'addressType': json['addressType'], }; } diff --git a/client/src/models/TextPhysicalAddressAnnotationAllOf.ts b/client/src/models/TextPhysicalAddressAnnotationAllOf.ts index 4360669..e6f8d41 100644 --- a/client/src/models/TextPhysicalAddressAnnotationAllOf.ts +++ b/client/src/models/TextPhysicalAddressAnnotationAllOf.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech @@ -24,7 +24,7 @@ export interface TextPhysicalAddressAnnotationAllOf { * @type {string} * @memberof TextPhysicalAddressAnnotationAllOf */ - addressType?: TextPhysicalAddressAnnotationAllOfAddressTypeEnum; + addressType: TextPhysicalAddressAnnotationAllOfAddressTypeEnum; } /** @@ -54,7 +54,7 @@ export function TextPhysicalAddressAnnotationAllOfFromJSONTyped(json: any, ignor } return { - 'addressType': !exists(json, 'addressType') ? undefined : json['addressType'], + 'addressType': json['addressType'], }; } diff --git a/client/src/models/Tool.ts b/client/src/models/Tool.ts index b38c2ba..4746aef 100644 --- a/client/src/models/Tool.ts +++ b/client/src/models/Tool.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech @@ -79,13 +79,13 @@ export interface Tool { * @type {string} * @memberof Tool */ - toolType: string; + type: string; /** * The version of the tool OpenAPI specification * @type {string} * @memberof Tool */ - toolApiVersion: string; + apiVersion: string; } export function ToolFromJSON(json: any): Tool { @@ -106,8 +106,8 @@ export function ToolFromJSONTyped(json: any, ignoreDiscriminator: boolean): Tool 'author': json['author'], 'authorEmail': json['authorEmail'], 'url': json['url'], - 'toolType': json['toolType'], - 'toolApiVersion': json['toolApiVersion'], + 'type': json['type'], + 'apiVersion': json['apiVersion'], }; } @@ -128,8 +128,8 @@ export function ToolToJSON(value?: Tool | null): any { 'author': value.author, 'authorEmail': value.authorEmail, 'url': value.url, - 'toolType': value.toolType, - 'toolApiVersion': value.toolApiVersion, + 'type': value.type, + 'apiVersion': value.apiVersion, }; } diff --git a/client/src/models/ToolDependencies.ts b/client/src/models/ToolDependencies.ts index 7e55f5a..581666d 100644 --- a/client/src/models/ToolDependencies.ts +++ b/client/src/models/ToolDependencies.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech @@ -31,7 +31,7 @@ export interface ToolDependencies { * @type {Array} * @memberof ToolDependencies */ - toolDependencies: Array; + tools: Array; } export function ToolDependenciesFromJSON(json: any): ToolDependencies { @@ -44,7 +44,7 @@ export function ToolDependenciesFromJSONTyped(json: any, ignoreDiscriminator: bo } return { - 'toolDependencies': ((json['toolDependencies'] as Array).map(ToolFromJSON)), + 'tools': ((json['tools'] as Array).map(ToolFromJSON)), }; } @@ -57,7 +57,7 @@ export function ToolDependenciesToJSON(value?: ToolDependencies | null): any { } return { - 'toolDependencies': ((value.toolDependencies as Array).map(ToolToJSON)), + 'tools': ((value.tools as Array).map(ToolToJSON)), }; } diff --git a/client/src/models/index.ts b/client/src/models/index.ts index 451212d..4ef2630 100644 --- a/client/src/models/index.ts +++ b/client/src/models/index.ts @@ -9,8 +9,12 @@ export * from './MaskingCharConfig'; export * from './ModelError'; export * from './Note'; export * from './TextAnnotation'; +export * from './TextContactAnnotation'; +export * from './TextContactAnnotationAllOf'; export * from './TextDateAnnotation'; export * from './TextDateAnnotationAllOf'; +export * from './TextIdAnnotation'; +export * from './TextIdAnnotationAllOf'; export * from './TextPersonNameAnnotation'; export * from './TextPhysicalAddressAnnotation'; export * from './TextPhysicalAddressAnnotationAllOf'; diff --git a/client/src/runtime.ts b/client/src/runtime.ts index 567aadc..0ad5eba 100644 --- a/client/src/runtime.ts +++ b/client/src/runtime.ts @@ -4,8 +4,8 @@ * NLP Sandbox PHI Deidentifier API * # Introduction This NLP tool takes as input a clinical note and returned a de-identified version of the note. This design of this API is a work in progress. # Examples - [NLP Sandbox PHI Deidentifier](https://github.com/nlpsandbox/phi-deidentifier) * - * The version of the OpenAPI document: 1.0.1 - * Contact: thomas.schaffter@sagebionetworks.org + * The version of the OpenAPI document: 1.1.2 + * Contact: team@nlpsandbox.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech @@ -62,8 +62,8 @@ export class BaseAPI { url += '?' + this.configuration.queryParamsStringify(context.query); } const body = ((typeof FormData !== "undefined" && context.body instanceof FormData) || context.body instanceof URLSearchParams || isBlob(context.body)) - ? context.body - : JSON.stringify(context.body); + ? context.body + : JSON.stringify(context.body); const headers = Object.assign({}, this.configuration.headers, context.headers); const init = { @@ -227,6 +227,9 @@ export function querystring(params: HTTPQuery, prefix: string = ''): string { .join(`&${encodeURIComponent(fullKey)}=`); return `${encodeURIComponent(fullKey)}=${multiValue}`; } + if (value instanceof Date) { + return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`; + } if (value instanceof Object) { return querystring(value as HTTPQuery, fullKey); } diff --git a/docker-compose.yml b/docker-compose.yml index a8891c9..4791c39 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,28 +2,42 @@ version: "3.8" services: date-annotator: - image: nlpsandbox/date-annotator-example:1.0.1 + image: docker.synapse.org/syn22277123/date-annotator-example:1.1.2 container_name: date-annotator restart: always networks: - - nlp-sandbox-internal + - nlpsandbox-internal person-name-annotator: - image: nlpsandbox/person-name-annotator-example:1.0.1 + image: docker.synapse.org/syn22277123/person-name-annotator-example:1.1.2 container_name: person-name-annotator restart: always networks: - - nlp-sandbox-internal + - nlpsandbox-internal physical-address-annotator: - image: nlpsandbox/physical-address-annotator-example:1.0.1 + image: docker.synapse.org/syn22277123/physical-address-annotator-example:1.1.2 container_name: physical-address-annotator restart: always networks: - - nlp-sandbox-internal + - nlpsandbox-internal + contact-annotator: + image: docker.synapse.org/syn22277123/contact-annotator-example:1.1.2 + container_name: contact-annotator + restart: always + networks: + - nlpsandbox-internal + + id-annotator: + image: docker.synapse.org/syn22277123/id-annotator-example:1.1.2 + container_name: id-annotator + restart: always + networks: + - nlpsandbox-internal + phi-deidentifier: - image: nlpsandbox/phi-deidentifier:1.0.1 + image: nlpsandbox/phi-deidentifier:1.1.0 container_name: phi-deidentifier restart: always environment: @@ -33,15 +47,19 @@ services: - PERSON_NAME_ANNOTATOR_PORT=8080 - PHYSICAL_ADDRESS_ANNOTATOR_HOST=physical-address-annotator - PHYSICAL_ADDRESS_ANNOTATOR_PORT=8080 + - CONTACT_ANNOTATOR_HOST=contact-annotator + - CONTACT_ANNOTATOR_PORT=8080 + - ID_ANNOTATOR_HOST=id-annotator + - ID_ANNOTATOR_PORT=8080 networks: - - nlp-sandbox-internal + - nlpsandbox-internal depends_on: - date-annotator - person-name-annotator - physical-address-annotator phi-deidentifier-app: - image: nlpsandbox/phi-deidentifier-app:1.0.0 + image: nlpsandbox/phi-deidentifier-app:1.1.0 build: context: client dockerfile: Dockerfile @@ -53,7 +71,7 @@ services: - SERVER_API_PATH=${SERVER_API_PATH} restart: always networks: - - nlp-sandbox-internal + - nlpsandbox-internal depends_on: - phi-deidentifier @@ -70,14 +88,14 @@ services: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./nginx/templates:/etc/nginx/templates:ro networks: - - nlp-sandbox - - nlp-sandbox-internal + - nlpsandbox + - nlpsandbox-internal ports: - "80:80" depends_on: - phi-deidentifier-app networks: - nlp-sandbox: - nlp-sandbox-internal: + nlpsandbox: + nlpsandbox-internal: internal: true diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..40ef7df --- /dev/null +++ b/package-lock.json @@ -0,0 +1,966 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", + "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==" + }, + "@babel/highlight": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", + "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", + "requires": { + "@babel/helper-validator-identifier": "^7.14.0", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@nestjs/common": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-7.6.17.tgz", + "integrity": "sha512-RHvD32FxfV7yDWX9GPmn0ZSv7ka5kLeVamU5ZpoXSTUjkGqWFt3MTyIP+HUQD2778kDqT+CgEtVJ1fxDG5Oh9g==", + "requires": { + "axios": "0.21.1", + "iterare": "1.2.1", + "tslib": "2.2.0", + "uuid": "8.3.2" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + } + } + }, + "@nestjs/core": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-7.6.17.tgz", + "integrity": "sha512-dH7PGDj1dvBfOYgxJlxh54vdnFFSLst7+Spg3E7Jpo+n11Ht5Ee5mTjSzXieRVfFba/sI3NIHF/N1stn36bU9w==", + "requires": { + "@nuxtjs/opencollective": "0.3.2", + "fast-safe-stringify": "2.0.7", + "iterare": "1.2.1", + "object-hash": "2.1.1", + "path-to-regexp": "3.2.0", + "tslib": "2.2.0", + "uuid": "8.3.2" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + } + } + }, + "@nuxtjs/opencollective": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", + "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", + "requires": { + "chalk": "^4.1.0", + "consola": "^2.15.0", + "node-fetch": "^2.6.1" + } + }, + "@openapitools/openapi-generator-cli": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@openapitools/openapi-generator-cli/-/openapi-generator-cli-2.3.3.tgz", + "integrity": "sha512-dUP9NO93qY5/QXymaP+/prMnmQejZVxWsuCfEsijoQw4IlbiLQNbZibQw7sufDp4OEekdDrNXbCc+aME+oddSQ==", + "requires": { + "@nestjs/common": "7.6.17", + "@nestjs/core": "7.6.17", + "@nuxtjs/opencollective": "0.3.2", + "chalk": "4.1.1", + "commander": "6.2.1", + "compare-versions": "3.6.0", + "concurrently": "6.2.0", + "console.table": "0.10.0", + "fs-extra": "10.0.0", + "glob": "7.1.6", + "inquirer": "8.1.0", + "lodash": "4.17.21", + "reflect-metadata": "0.1.13", + "rxjs": "7.1.0", + "tslib": "1.13.0" + } + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "requires": { + "follow-redirects": "^1.10.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", + "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==" + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" + }, + "compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concurrently": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.2.0.tgz", + "integrity": "sha512-v9I4Y3wFoXCSY2L73yYgwA9ESrQMpRn80jMcqMgHx720Hecz2GZAvTI6bREVST6lkddNypDKRN22qhK0X8Y00g==", + "requires": { + "chalk": "^4.1.0", + "date-fns": "^2.16.1", + "lodash": "^4.17.21", + "read-pkg": "^5.2.0", + "rxjs": "^6.6.3", + "spawn-command": "^0.0.2-1", + "supports-color": "^8.1.0", + "tree-kill": "^1.2.2", + "yargs": "^16.2.0" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + }, + "console.table": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/console.table/-/console.table-0.10.0.tgz", + "integrity": "sha1-CRcCVYiHW+/XDPLv9L7yxuLXXQQ=", + "requires": { + "easy-table": "1.1.0" + } + }, + "date-fns": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.22.1.tgz", + "integrity": "sha512-yUFPQjrxEmIsMqlHhAhmxkuH769baF21Kk+nZwZGyrMoyLA+LugaQtC0+Tqf9CBUUULWwUJt6Q5ySI3LJDDCGg==" + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "requires": { + "clone": "^1.0.2" + } + }, + "easy-table": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/easy-table/-/easy-table-1.1.0.tgz", + "integrity": "sha1-hvmrTBAvA3G3KXuSplHVgkvIy3M=", + "requires": { + "wcwidth": ">=1.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "follow-redirects": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", + "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==" + }, + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "inquirer": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.1.0.tgz", + "integrity": "sha512-1nKYPoalt1vMBfCMtpomsUc32wmOoWXAoq3kM/5iTfxyQ2f/BxjixQpC+mbZ7BI0JUXHED4/XPXekDVtJNpXYw==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.3.0", + "run-async": "^2.4.0", + "rxjs": "^6.6.6", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "requires": { + "has": "^1.0.3" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + }, + "iterare": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "object-hash": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.1.1.tgz", + "integrity": "sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "ora": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.0.tgz", + "integrity": "sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg==", + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-to-regexp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", + "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==" + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + }, + "rxjs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.1.0.tgz", + "integrity": "sha512-gCFO5iHIbRPwznl6hAYuwNFld8W4S2shtSJIqG27ReWXo9IWrCyEICxUA+6vJHwSR/OakoenC4QsDxq50tzYmw==", + "requires": { + "tslib": "~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "spawn-command": { + "version": "0.0.2-1", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", + "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", + "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==" + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "requires": { + "defaults": "^1.0.3" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..660db2c --- /dev/null +++ b/package.json @@ -0,0 +1,9 @@ +{ + "devDependencies": { + "@openapitools/openapi-generator-cli": "^2.3.3" + }, + "scripts": { + "generate:server": "openapi-generator-cli generate -g typescript-fetch -o client/src -i $npm_config_spec --additional-properties=typescriptThreePlus=true", + "generate:server:latest": "openapi-generator-cli generate -g typescript-fetch -o client/src -i https://nlpsandbox.github.io/nlpsandbox-schemas/phi-deidentifier/latest/openapi.json --additional-properties=typescriptThreePlus=true" + } +}