fix: make changes to allow esm imports to work properly

This commit is contained in:
Stevan Freeborn
2023-02-21 13:23:07 -06:00
parent 7e33c5ecaa
commit b989adc01d
46 changed files with 392 additions and 376 deletions
+1
View File
@@ -4,3 +4,4 @@ coverage/
dist/ dist/
node_modules/ node_modules/
.github/ .github/
scripts/
+10 -4
View File
@@ -3,7 +3,7 @@
"browser": true, "browser": true,
"es2021": true "es2021": true
}, },
"plugins": ["@typescript-eslint", "mocha"], "plugins": ["@typescript-eslint", "mocha", "import"],
"extends": [ "extends": [
"standard-with-typescript", "standard-with-typescript",
"eslint:recommended", "eslint:recommended",
@@ -13,11 +13,16 @@
], ],
"overrides": [ "overrides": [
{ {
"files": ["tests/**/*.spec.ts", "integrationTests/**/*.spec.ts"], "files": [
"tests/**/*.spec.ts",
"integrationTests/**/*.spec.ts",
"integrationTests/utils/**"
],
"rules": { "rules": {
"@typescript-eslint/no-unused-expressions": "off", "@typescript-eslint/no-unused-expressions": "off",
"@typescript-eslint/consistent-type-assertions": "off", "@typescript-eslint/consistent-type-assertions": "off",
"no-new": "off" "no-new": "off",
"import/extensions": "off"
} }
} }
], ],
@@ -30,6 +35,7 @@
"@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "off", "@typescript-eslint/no-unnecessary-boolean-literal-compare": "off",
"@typescript-eslint/no-useless-constructor": "off", "@typescript-eslint/no-useless-constructor": "off",
"@typescript-eslint/no-extraneous-class": "off" "@typescript-eslint/no-extraneous-class": "off",
"import/extensions": ["error", "always", { "ignorePackages": true }]
} }
} }
+3 -2
View File
@@ -32,11 +32,12 @@
"License.txt", "License.txt",
"package.json" "package.json"
], ],
"types": "dist/types/index.d.ts",
"main": "dist/cjs/index.js", "main": "dist/cjs/index.js",
"module": "dist/esm/index.js", "module": "dist/esm/index.js",
"types": "dist/types/index.d.ts",
"exports": { "exports": {
".": { ".": {
"types": "./dist/types/index.d.ts",
"import": "./dist/esm/index.js", "import": "./dist/esm/index.js",
"require": "./dist/cjs/index.js" "require": "./dist/cjs/index.js"
} }
@@ -47,7 +48,7 @@
"lint-fix": "eslint --fix --ignore-path .eslintignore --ext .js,.ts . --max-warnings=0", "lint-fix": "eslint --fix --ignore-path .eslintignore --ext .js,.ts . --max-warnings=0",
"format-staged": "pretty-quick --staged", "format-staged": "pretty-quick --staged",
"format": "pretty-quick", "format": "pretty-quick",
"build": "npm run tests && npm run clean && tsc --project tsconfig.cjs.json && tsc --project tsconfig.esm.json && ./scripts/create_dist_package_json.sh", "build": "npm run tests && npm run clean && tsc --project tsconfig.cjs.json && tsc --project tsconfig.esm.json && node ./scripts/create_dist_package_json.js",
"test:unit": "mocha -r ts-node/register", "test:unit": "mocha -r ts-node/register",
"test:integration": "mocha -r ts-node/register -r integrationTests/mochaRootHooks.ts", "test:integration": "mocha -r ts-node/register -r integrationTests/mochaRootHooks.ts",
"tests:unit": "mocha -R progress -r ts-node/register ./tests/**/*.spec.ts", "tests:unit": "mocha -R progress -r ts-node/register ./tests/**/*.spec.ts",
+15
View File
@@ -0,0 +1,15 @@
const fs = require('fs');
const path = require('path');
const esmPackageJson = `{
"type": "module"
}`;
const cjsPackageJson = `{
"type": "commonjs"
}`;
const parentDir = path.resolve(__dirname, '..');
fs.writeFileSync(path.join(parentDir, 'dist/esm/package.json'), esmPackageJson);
fs.writeFileSync(path.join(parentDir, 'dist/cjs/package.json'), cjsPackageJson);
-11
View File
@@ -1,11 +0,0 @@
cat > dist/cjs/package.json <<!EOF
{
"type": "commonjs"
}
!EOF
cat > dist/mjs/package.json <<!EOF
{
"type": "module"
}
!EOF
+64 -65
View File
@@ -1,73 +1,72 @@
// Models // Models
import { ApiResponse } from './models/ApiResponse'; import { ApiResponse } from './models/ApiResponse.js';
import { App } from './models/App'; import { App } from './models/App.js';
import { Attachment } from './models/Attachment'; import { Attachment } from './models/Attachment.js';
import { AttachmentListRecordValue } from './models/AttachmentListRecordValue'; import { AttachmentListRecordValue } from './models/AttachmentListRecordValue.js';
import { CollectionResponse } from './models/CollectionResponse'; import { CollectionResponse } from './models/CollectionResponse.js';
import { CreatedWithIdResponse } from './models/CreatedWithIdResponse'; import { CreatedWithIdResponse } from './models/CreatedWithIdResponse.js';
import { DateRecordValue } from './models/DateRecordValue'; import { DateRecordValue } from './models/DateRecordValue.js';
import { DecimalRecordValue } from './models/DecimalRecordValue'; import { DecimalRecordValue } from './models/DecimalRecordValue.js';
import { Delegate } from './models/Delegate'; import { Delegate } from './models/Delegate.js';
import { DelegateListRecordValue } from './models/DelegateListRecordValue'; import { DelegateListRecordValue } from './models/DelegateListRecordValue.js';
import { EndpointFactory } from './models/EndpointFactory'; import { EndpointFactory } from './models/EndpointFactory.js';
import { Field } from './models/Field'; import { Field } from './models/Field.js';
import { File } from './models/File'; import { File } from './models/File.js';
import { FileInfo } from './models/FileInfo'; import { FileInfo } from './models/FileInfo.js';
import { FileListRecordValue } from './models/FileListRecordValue'; import { FileListRecordValue } from './models/FileListRecordValue.js';
import { FormulaField } from './models/FormulaField'; import { FormulaField } from './models/FormulaField.js';
import { GetPagedAppsResponse } from './models/GetPagedAppsResponse'; import { GetPagedAppsResponse } from './models/GetPagedAppsResponse.js';
import { GetPagedFieldsResponse } from './models/GetPagedFieldsResponse'; import { GetPagedFieldsResponse } from './models/GetPagedFieldsResponse.js';
import { GetPagedRecordsResponse } from './models/GetPagedRecordsResponse'; import { GetPagedRecordsResponse } from './models/GetPagedRecordsResponse.js';
import { GetPagedReportsResponse } from './models/GetPagedReportsResponse'; import { GetPagedReportsResponse } from './models/GetPagedReportsResponse.js';
import { GetRecordRequest } from './models/GetRecordRequest'; import { GetRecordRequest } from './models/GetRecordRequest.js';
import { GetRecordsByAppIdRequest } from './models/GetRecordsByAppIdRequest'; import { GetRecordsByAppIdRequest } from './models/GetRecordsByAppIdRequest.js';
import { GetRecordsRequest } from './models/GetRecordsRequest'; import { GetRecordsRequest } from './models/GetRecordsRequest.js';
import { GuidListRecordValue } from './models/GuidListRecordValue'; import { GuidListRecordValue } from './models/GuidListRecordValue.js';
import { GuidRecordValue } from './models/GuidRecordValue'; import { GuidRecordValue } from './models/GuidRecordValue.js';
import { IntegerListRecordValue } from './models/IntegerListRecordValue'; import { IntegerListRecordValue } from './models/IntegerListRecordValue.js';
import { IntegerRecordValue } from './models/IntegerRecordValue'; import { IntegerRecordValue } from './models/IntegerRecordValue.js';
import { ListField } from './models/ListField'; import { ListField } from './models/ListField.js';
import { ListItemRequest } from './models/ListItemRequest'; import { ListItemRequest } from './models/ListItemRequest.js';
import { ListItemResponse } from './models/ListItemResponse'; import { ListItemResponse } from './models/ListItemResponse.js';
import { ListValue } from './models/ListValue'; import { ListValue } from './models/ListValue.js';
import { OnspringClient } from './models/OnspringClient'; import { OnspringClient } from './models/OnspringClient.js';
import { PagedResponse } from './models/PagedResponse'; import { PagedResponse } from './models/PagedResponse.js';
import { PagingRequest } from './models/PagingRequest'; import { PagingRequest } from './models/PagingRequest.js';
import { QueryFilter } from './models/QueryFilter'; import { QueryFilter } from './models/QueryFilter.js';
import { QueryRecordsRequest } from './models/QueryRecordsRequest'; import { QueryRecordsRequest } from './models/QueryRecordsRequest.js';
import { Record } from './models/Record'; import { Record } from './models/Record.js';
import { RecordValue } from './models/RecordValue'; import { RecordValue } from './models/RecordValue.js';
import { ReferenceField } from './models/ReferenceField'; import { ReferenceField } from './models/ReferenceField.js';
import { Report } from './models/Report'; import { Report } from './models/Report.js';
import { ReportData } from './models/ReportData'; import { ReportData } from './models/ReportData.js';
import { Row } from './models/Row'; import { Row } from './models/Row.js';
import { SaveFileRequest } from './models/SaveFileRequest'; import { SaveFileRequest } from './models/SaveFileRequest.js';
import { SaveRecordRequest } from './models/SaveRecordRequest'; import { SaveRecordRequest } from './models/SaveRecordRequest.js';
import { SaveRecordResponse } from './models/SaveRecordResponse'; import { SaveRecordResponse } from './models/SaveRecordResponse.js';
import { ScoringGroup } from './models/ScoringGroup'; import { ScoringGroup } from './models/ScoringGroup.js';
import { ScoringGroupListRecordValue } from './models/ScoringGroupListRecordValue'; import { ScoringGroupListRecordValue } from './models/ScoringGroupListRecordValue.js';
import { StringListRecordValue } from './models/StringListRecordValue'; import { StringListRecordValue } from './models/StringListRecordValue.js';
import { StringRecordValue } from './models/StringRecordValue'; import { StringRecordValue } from './models/StringRecordValue.js';
import { TimeSpanData } from './models/TimeSpanData'; import { TimeSpanData } from './models/TimeSpanData.js';
import { TimeSpanRecordValue } from './models/TimeSpanRecordValue'; import { TimeSpanRecordValue } from './models/TimeSpanRecordValue.js';
// Enums // Enums
import { DataFormat } from './enums/DataFormat'; import { DataFormat } from './enums/DataFormat.js';
import { DelegateType } from './enums/DelegateType'; import { DelegateType } from './enums/DelegateType.js';
import { FieldStatus } from './enums/FieldStatus'; import { FieldStatus } from './enums/FieldStatus.js';
import { FieldType } from './enums/FieldType'; import { FieldType } from './enums/FieldType.js';
import { FileStorageSite } from './enums/FileStorageSite'; import { FileStorageSite } from './enums/FileStorageSite.js';
import { FilterOperators } from './enums/FilterOperators'; import { FilterOperators } from './enums/FilterOperators.js';
import { FormulaOutputType } from './enums/FormulaOutputType'; import { FormulaOutputType } from './enums/FormulaOutputType.js';
import { HttpStatusCode } from './enums/HttpStatusCode'; import { HttpStatusCode } from './enums/HttpStatusCode.js';
import { Multiplicity } from './enums/Multiplicity'; import { Multiplicity } from './enums/Multiplicity.js';
import { RecordValueType } from './enums/RecordValueType'; import { RecordValueType } from './enums/RecordValueType.js';
import { ReportDataType } from './enums/ReportDataType'; import { ReportDataType } from './enums/ReportDataType.js';
import { TimeSpanIncrement } from './enums/TimeSpanIncrement'; import { TimeSpanIncrement } from './enums/TimeSpanIncrement.js';
import { TimeSpanRecurrenceType } from './enums/TimeSpanRecurrenceType'; import { TimeSpanRecurrenceType } from './enums/TimeSpanRecurrenceType.js';
export { export {
// Models
ApiResponse, ApiResponse,
App, App,
Attachment, Attachment,
+51 -51
View File
@@ -1,51 +1,51 @@
import { type AxiosResponse } from 'axios'; import { type AxiosResponse } from 'axios';
import { DelegateType } from '../enums/DelegateType'; import { DelegateType } from '../enums/DelegateType.js';
import { FieldStatus } from '../enums/FieldStatus'; import { FieldStatus } from '../enums/FieldStatus.js';
import { FieldType } from '../enums/FieldType'; import { FieldType } from '../enums/FieldType.js';
import { FileStorageSite } from '../enums/FileStorageSite'; import { FileStorageSite } from '../enums/FileStorageSite.js';
import { FormulaOutputType } from '../enums/FormulaOutputType'; import { FormulaOutputType } from '../enums/FormulaOutputType.js';
import { Multiplicity } from '../enums/Multiplicity'; import { Multiplicity } from '../enums/Multiplicity.js';
import { RecordValueType } from '../enums/RecordValueType'; import { RecordValueType } from '../enums/RecordValueType.js';
import { TimeSpanIncrement } from '../enums/TimeSpanIncrement'; import { TimeSpanIncrement } from '../enums/TimeSpanIncrement.js';
import { TimeSpanRecurrenceType } from '../enums/TimeSpanRecurrenceType'; import { TimeSpanRecurrenceType } from '../enums/TimeSpanRecurrenceType.js';
import { App } from './App'; import { App } from './App.js';
import { Attachment } from './Attachment'; import { Attachment } from './Attachment.js';
import { AttachmentListRecordValue } from './AttachmentListRecordValue'; import { AttachmentListRecordValue } from './AttachmentListRecordValue.js';
import { CollectionResponse } from './CollectionResponse'; import { CollectionResponse } from './CollectionResponse.js';
import { CreatedWithIdResponse } from './CreatedWithIdResponse'; import { CreatedWithIdResponse } from './CreatedWithIdResponse.js';
import { DateRecordValue } from './DateRecordValue'; import { DateRecordValue } from './DateRecordValue.js';
import { DecimalRecordValue } from './DecimalRecordValue'; import { DecimalRecordValue } from './DecimalRecordValue.js';
import { Delegate } from './Delegate'; import { Delegate } from './Delegate.js';
import { DelegateListRecordValue } from './DelegateListRecordValue'; import { DelegateListRecordValue } from './DelegateListRecordValue.js';
import { Field } from './Field'; import { Field } from './Field.js';
import { File } from './File'; import { File } from './File.js';
import { FileInfo } from './FileInfo'; import { FileInfo } from './FileInfo.js';
import { FileListRecordValue } from './FileListRecordValue'; import { FileListRecordValue } from './FileListRecordValue.js';
import { FormulaField } from './FormulaField'; import { FormulaField } from './FormulaField.js';
import { GetPagedAppsResponse } from './GetPagedAppsResponse'; import { GetPagedAppsResponse } from './GetPagedAppsResponse.js';
import { GetPagedFieldsResponse } from './GetPagedFieldsResponse'; import { GetPagedFieldsResponse } from './GetPagedFieldsResponse.js';
import { GetPagedRecordsResponse } from './GetPagedRecordsResponse'; import { GetPagedRecordsResponse } from './GetPagedRecordsResponse.js';
import { GetPagedReportsResponse } from './GetPagedReportsResponse'; import { GetPagedReportsResponse } from './GetPagedReportsResponse.js';
import { GuidListRecordValue } from './GuidListRecordValue'; import { GuidListRecordValue } from './GuidListRecordValue.js';
import { GuidRecordValue } from './GuidRecordValue'; import { GuidRecordValue } from './GuidRecordValue.js';
import { IntegerListRecordValue } from './IntegerListRecordValue'; import { IntegerListRecordValue } from './IntegerListRecordValue.js';
import { IntegerRecordValue } from './IntegerRecordValue'; import { IntegerRecordValue } from './IntegerRecordValue.js';
import { ListField } from './ListField'; import { ListField } from './ListField.js';
import { ListItemResponse } from './ListItemResponse'; import { ListItemResponse } from './ListItemResponse.js';
import { ListValue } from './ListValue'; import { ListValue } from './ListValue.js';
import { Record } from './Record'; import { Record } from './Record.js';
import { ReferenceField } from './ReferenceField'; import { type RecordValue } from './RecordValue.js';
import { Report } from './Report'; import { ReferenceField } from './ReferenceField.js';
import { ReportData } from './ReportData'; import { Report } from './Report.js';
import { Row } from './Row'; import { ReportData } from './ReportData.js';
import { ScoringGroup } from './ScoringGroup'; import { Row } from './Row.js';
import { ScoringGroupListRecordValue } from './ScoringGroupListRecordValue'; import { SaveRecordResponse } from './SaveRecordResponse.js';
import { StringListRecordValue } from './StringListRecordValue'; import { ScoringGroup } from './ScoringGroup.js';
import { StringRecordValue } from './StringRecordValue'; import { ScoringGroupListRecordValue } from './ScoringGroupListRecordValue.js';
import { TimeSpanData } from './TimeSpanData'; import { StringListRecordValue } from './StringListRecordValue.js';
import { TimeSpanRecordValue } from './TimeSpanRecordValue'; import { StringRecordValue } from './StringRecordValue.js';
import { type RecordValue } from './RecordValue'; import { TimeSpanData } from './TimeSpanData.js';
import { SaveRecordResponse } from './SaveRecordResponse'; import { TimeSpanRecordValue } from './TimeSpanRecordValue.js';
/** /**
* @class ApiResponse - A generic response object for API requests. * @class ApiResponse - A generic response object for API requests.
@@ -92,17 +92,17 @@ export class ApiResponse<T> {
public asGetPagedAppsResponseType(): ApiResponse<GetPagedAppsResponse> { public asGetPagedAppsResponseType(): ApiResponse<GetPagedAppsResponse> {
const apiResponse = this as ApiResponse<any>; const apiResponse = this as ApiResponse<any>;
const apps = apiResponse.data.items.map((item: any) => { const apps = apiResponse.data.items.map((item: any) => {
return new App(item.href, item.id, item.name); return new App(item.href, item.id, item.name);
}); });
const getAppsPagedResponse = new GetPagedAppsResponse( const getAppsPagedResponse = new GetPagedAppsResponse(
apps, apps,
apiResponse.data.pageNumber, apiResponse.data.pageNumber,
apiResponse.data.pageSize, apiResponse.data.pageSize,
apiResponse.data.totalPages, apiResponse.data.totalPages,
apiResponse.data.totalRecords apiResponse.data.totalRecords
); );
return new ApiResponse<GetPagedAppsResponse>( return new ApiResponse<GetPagedAppsResponse>(
apiResponse.statusCode, apiResponse.statusCode,
+2 -2
View File
@@ -1,7 +1,7 @@
import { type AxiosResponse } from 'axios'; import { type AxiosResponse } from 'axios';
import { HttpStatusCode } from '../enums/HttpStatusCode';
import { ApiResponse } from './ApiResponse';
import { type Readable } from 'stream'; import { type Readable } from 'stream';
import { HttpStatusCode } from '../enums/HttpStatusCode.js';
import { ApiResponse } from './ApiResponse.js';
/** /**
* @class ApiResponseFactory - Factory class for creating ApiResponse objects * @class ApiResponseFactory - Factory class for creating ApiResponse objects
+1 -1
View File
@@ -1,4 +1,4 @@
import { type FileStorageSite } from '../enums/FileStorageSite'; import { type FileStorageSite } from '../enums/FileStorageSite.js';
/** /**
* @class Attachment - Represents an attachment. * @class Attachment - Represents an attachment.
+3 -3
View File
@@ -1,6 +1,6 @@
import { RecordValueType } from '../enums/RecordValueType'; import { RecordValueType } from '../enums/RecordValueType.js';
import { type Attachment } from './Attachment'; import { type Attachment } from './Attachment.js';
import { RecordValue } from './RecordValue'; import { RecordValue } from './RecordValue.js';
/** /**
* @class AttachmentListRecordValue - A record value represented by a list of attachments. * @class AttachmentListRecordValue - A record value represented by a list of attachments.
+2 -2
View File
@@ -1,5 +1,5 @@
import { RecordValueType } from '../enums/RecordValueType'; import { RecordValueType } from '../enums/RecordValueType.js';
import { RecordValue } from './RecordValue'; import { RecordValue } from './RecordValue.js';
/** /**
* @class DateRecordValue - A value for a date field in a record. * @class DateRecordValue - A value for a date field in a record.
+2 -2
View File
@@ -1,5 +1,5 @@
import { RecordValue } from './RecordValue'; import { RecordValue } from './RecordValue.js';
import { RecordValueType } from '../enums/RecordValueType'; import { RecordValueType } from '../enums/RecordValueType.js';
export class DecimalRecordValue extends RecordValue<number> { export class DecimalRecordValue extends RecordValue<number> {
constructor(fieldId: number, value: number) { constructor(fieldId: number, value: number) {
+1 -1
View File
@@ -1,4 +1,4 @@
import { type DelegateType } from '../enums/DelegateType'; import { type DelegateType } from '../enums/DelegateType.js';
/** /**
* @class Delegate - Represents a delegate. * @class Delegate - Represents a delegate.
+3 -3
View File
@@ -1,6 +1,6 @@
import { RecordValue } from './RecordValue'; import { RecordValueType } from '../enums/RecordValueType.js';
import { RecordValueType } from '../enums/RecordValueType'; import { type Delegate } from './Delegate.js';
import { type Delegate } from './Delegate'; import { RecordValue } from './RecordValue.js';
export class DelegateListRecordValue extends RecordValue<Delegate[]> { export class DelegateListRecordValue extends RecordValue<Delegate[]> {
constructor(fieldId: number, value: Delegate[]) { constructor(fieldId: number, value: Delegate[]) {
+2 -2
View File
@@ -1,5 +1,5 @@
import { type FieldStatus } from '../enums/FieldStatus'; import { type FieldStatus } from '../enums/FieldStatus.js';
import { type FieldType } from '../enums/FieldType'; import { type FieldType } from '../enums/FieldType.js';
/** /**
* @class Field - Represents a Field. * @class Field - Represents a Field.
+1 -1
View File
@@ -1,4 +1,4 @@
import { FieldType } from '../enums/FieldType'; import { FieldType } from '../enums/FieldType.js';
/** /**
* @class FileInfo - Represents a file info. * @class FileInfo - Represents a file info.
+3 -3
View File
@@ -1,6 +1,6 @@
import { RecordValue } from './RecordValue'; import { RecordValueType } from '../enums/RecordValueType.js';
import { RecordValueType } from '../enums/RecordValueType'; import { type File } from './File.js';
import { type File } from './File'; import { RecordValue } from './RecordValue.js';
export class FileListRecordValue extends RecordValue<File[]> { export class FileListRecordValue extends RecordValue<File[]> {
constructor(fieldId: number, value: File[]) { constructor(fieldId: number, value: File[]) {
+5 -5
View File
@@ -1,8 +1,8 @@
import { type FieldStatus } from '../enums/FieldStatus'; import { type FieldStatus } from '../enums/FieldStatus.js';
import { type FieldType } from '../enums/FieldType'; import { type FieldType } from '../enums/FieldType.js';
import { type FormulaOutputType } from '../enums/FormulaOutputType'; import { type FormulaOutputType } from '../enums/FormulaOutputType.js';
import { Field } from './Field'; import { Field } from './Field.js';
import { type ListValue } from './ListValue'; import { type ListValue } from './ListValue.js';
/** /**
* @class FormulaField - Represents a formula field. * @class FormulaField - Represents a formula field.
+2 -2
View File
@@ -1,5 +1,5 @@
import { PagedResponse } from './PagedResponse'; import { type App } from './App.js';
import { type App } from './App'; import { PagedResponse } from './PagedResponse.js';
/** /**
* @class GetPagedAppsResponse - A paged response model for the GetApps method. * @class GetPagedAppsResponse - A paged response model for the GetApps method.
+2 -2
View File
@@ -1,5 +1,5 @@
import { type Field } from './Field'; import { type Field } from './Field.js';
import { PagedResponse } from './PagedResponse'; import { PagedResponse } from './PagedResponse.js';
/** /**
* @class GetPagedFieldsResponse - A response containing a paged collection of fields. * @class GetPagedFieldsResponse - A response containing a paged collection of fields.
+2 -2
View File
@@ -1,5 +1,5 @@
import { type Record } from './Record'; import { PagedResponse } from './PagedResponse.js';
import { PagedResponse } from './PagedResponse'; import { type Record } from './Record.js';
/** /**
* @class GetPagedRecordsResponse - A response containing a paged collection of records. * @class GetPagedRecordsResponse - A response containing a paged collection of records.
+2 -2
View File
@@ -1,5 +1,5 @@
import { PagedResponse } from './PagedResponse'; import { PagedResponse } from './PagedResponse.js';
import { type Report } from './Report'; import { type Report } from './Report.js';
/** /**
* @class GetPagedReportsResponse - Represents a response containing a paged list of reports. * @class GetPagedReportsResponse - Represents a response containing a paged list of reports.
+1 -1
View File
@@ -1,4 +1,4 @@
import { DataFormat } from '../enums/DataFormat'; import { DataFormat } from '../enums/DataFormat.js';
/** /**
* @class GetRecordRequest - A request to get a record. * @class GetRecordRequest - A request to get a record.
+2 -2
View File
@@ -1,5 +1,5 @@
import { DataFormat } from '../enums/DataFormat'; import { DataFormat } from '../enums/DataFormat.js';
import { PagingRequest } from './PagingRequest'; import { PagingRequest } from './PagingRequest.js';
export class GetRecordsByAppIdRequest { export class GetRecordsByAppIdRequest {
/** /**
+1 -1
View File
@@ -1,4 +1,4 @@
import { DataFormat } from '../enums/DataFormat'; import { DataFormat } from '../enums/DataFormat.js';
/** /**
* @class GetRecordsRequest - Request to get records by their ids * @class GetRecordsRequest - Request to get records by their ids
+2 -2
View File
@@ -1,5 +1,5 @@
import { RecordValueType } from '../enums/RecordValueType'; import { RecordValueType } from '../enums/RecordValueType.js';
import { RecordValue } from './RecordValue'; import { RecordValue } from './RecordValue.js';
export class GuidListRecordValue extends RecordValue<string[]> { export class GuidListRecordValue extends RecordValue<string[]> {
constructor(fieldId: number, value: string[]) { constructor(fieldId: number, value: string[]) {
+2 -2
View File
@@ -1,5 +1,5 @@
import { RecordValueType } from '../enums/RecordValueType'; import { RecordValueType } from '../enums/RecordValueType.js';
import { RecordValue } from './RecordValue'; import { RecordValue } from './RecordValue.js';
export class GuidRecordValue extends RecordValue<string> { export class GuidRecordValue extends RecordValue<string> {
constructor(fieldId: number, value: string) { constructor(fieldId: number, value: string) {
+2 -2
View File
@@ -1,5 +1,5 @@
import { RecordValueType } from '../enums/RecordValueType'; import { RecordValueType } from '../enums/RecordValueType.js';
import { RecordValue } from './RecordValue'; import { RecordValue } from './RecordValue.js';
export class IntegerListRecordValue extends RecordValue<number[]> { export class IntegerListRecordValue extends RecordValue<number[]> {
constructor(fieldId: number, value: number[]) { constructor(fieldId: number, value: number[]) {
+2 -2
View File
@@ -1,5 +1,5 @@
import { RecordValueType } from '../enums/RecordValueType'; import { RecordValueType } from '../enums/RecordValueType.js';
import { RecordValue } from './RecordValue'; import { RecordValue } from './RecordValue.js';
/** /**
* @class IntegerRecordValue - A record value represented by an integer. * @class IntegerRecordValue - A record value represented by an integer.
+5 -5
View File
@@ -1,8 +1,8 @@
import { type FieldStatus } from '../enums/FieldStatus'; import { type FieldStatus } from '../enums/FieldStatus.js';
import { type FieldType } from '../enums/FieldType'; import { type FieldType } from '../enums/FieldType.js';
import { type Multiplicity } from '../enums/Multiplicity'; import { type Multiplicity } from '../enums/Multiplicity.js';
import { Field } from './Field'; import { Field } from './Field.js';
import { type ListValue } from './ListValue'; import { type ListValue } from './ListValue.js';
/** /**
* @class ListField - Represents a list field. * @class ListField - Represents a list field.
+1 -1
View File
@@ -1,4 +1,4 @@
import { CreatedWithIdResponse } from './CreatedWithIdResponse'; import { CreatedWithIdResponse } from './CreatedWithIdResponse.js';
/** /**
* @class ListItemResponse - Represents a respons when a list item is created or updated. * @class ListItemResponse - Represents a respons when a list item is created or updated.
*/ */
+34 -30
View File
@@ -1,36 +1,36 @@
import axios, { import axios, {
type CreateAxiosDefaults,
type AxiosInstance, type AxiosInstance,
type AxiosRequestConfig, type AxiosRequestConfig,
type CreateAxiosDefaults,
} from 'axios'; } from 'axios';
import { PagingRequest } from './PagingRequest'; import { DataFormat } from '../enums/DataFormat.js';
import { ArgumentValidator } from './ArgumentValidator'; import { ReportDataType } from '../enums/ReportDataType.js';
import { EndpointFactory } from './EndpointFactory'; import { type ApiResponse } from './ApiResponse.js';
import { ApiResponseFactory } from './ApiResponseFactory'; import { ApiResponseFactory } from './ApiResponseFactory.js';
import { DataFormat } from '../enums/DataFormat'; import { type App } from './App.js';
import { ReportDataType } from '../enums/ReportDataType'; import { ArgumentValidator } from './ArgumentValidator.js';
import { Record } from './Record'; import { type CollectionResponse } from './CollectionResponse.js';
import { type ApiResponse } from './ApiResponse'; import { type CreatedWithIdResponse } from './CreatedWithIdResponse.js';
import { type GetPagedAppsResponse } from './GetPagedAppsResponse'; import { EndpointFactory } from './EndpointFactory.js';
import { type App } from './App'; import { type Field } from './Field.js';
import { type CollectionResponse } from './CollectionResponse'; import { type File } from './File.js';
import { type Field } from './Field'; import { type FileInfo } from './FileInfo.js';
import { type GetPagedFieldsResponse } from './GetPagedFieldsResponse'; import { type GetPagedAppsResponse } from './GetPagedAppsResponse.js';
import { type SaveFileRequest } from './SaveFileRequest'; import { type GetPagedFieldsResponse } from './GetPagedFieldsResponse.js';
import { type CreatedWithIdResponse } from './CreatedWithIdResponse'; import { type GetPagedRecordsResponse } from './GetPagedRecordsResponse.js';
import { type FileInfo } from './FileInfo'; import { type GetPagedReportsResponse } from './GetPagedReportsResponse.js';
import { type File } from './File'; import { type GetRecordRequest } from './GetRecordRequest.js';
import { type ListItemResponse } from './ListItemResponse'; import { type GetRecordsByAppIdRequest } from './GetRecordsByAppIdRequest.js';
import { type ListItemRequest } from './ListItemRequest'; import { type GetRecordsRequest } from './GetRecordsRequest.js';
import { type GetPagedReportsResponse } from './GetPagedReportsResponse'; import { type ListItemRequest } from './ListItemRequest.js';
import { type ReportData } from './ReportData'; import { type ListItemResponse } from './ListItemResponse.js';
import { type GetRecordRequest } from './GetRecordRequest'; import { PagingRequest } from './PagingRequest.js';
import { type GetRecordsByAppIdRequest } from './GetRecordsByAppIdRequest'; import { type QueryRecordsRequest } from './QueryRecordsRequest.js';
import { type GetPagedRecordsResponse } from './GetPagedRecordsResponse'; import { Record } from './Record.js';
import { type GetRecordsRequest } from './GetRecordsRequest'; import { type ReportData } from './ReportData.js';
import { type QueryRecordsRequest } from './QueryRecordsRequest'; import { type SaveFileRequest } from './SaveFileRequest.js';
import { type SaveRecordResponse } from './SaveRecordResponse'; import { type SaveRecordRequest } from './SaveRecordRequest.js';
import { type SaveRecordRequest } from './SaveRecordRequest'; import { type SaveRecordResponse } from './SaveRecordResponse.js';
/** /**
* @class OnspringClient - A client that can communicate with the Onspring API. * @class OnspringClient - A client that can communicate with the Onspring API.
@@ -49,7 +49,11 @@ export class OnspringClient {
* @throws {Error} - Thrown when the apiKey is null/undefined/empty/whitespace. * @throws {Error} - Thrown when the apiKey is null/undefined/empty/whitespace.
* @returns {OnspringClient} - A new instance of the OnspringClient class. * @returns {OnspringClient} - A new instance of the OnspringClient class.
*/ */
constructor(baseUrl: string | undefined | null, apiKey: string | undefined | null, config: CreateAxiosDefaults = {}) { constructor(
baseUrl: string | undefined | null,
apiKey: string | undefined | null,
config: CreateAxiosDefaults = {}
) {
if (ArgumentValidator.isValidUrl(baseUrl) === false || baseUrl === null) { if (ArgumentValidator.isValidUrl(baseUrl) === false || baseUrl === null) {
throw new Error('baseUrl must be an absolute and well-formed URI.'); throw new Error('baseUrl must be an absolute and well-formed URI.');
} }
+1 -1
View File
@@ -1,4 +1,4 @@
import { ArgumentValidator } from './ArgumentValidator'; import { ArgumentValidator } from './ArgumentValidator.js';
/** /**
* @class PagingRequest - Paging request model * @class PagingRequest - Paging request model
+1 -1
View File
@@ -1,4 +1,4 @@
import { FilterOperators } from '../enums/FilterOperators'; import { FilterOperators } from '../enums/FilterOperators.js';
export class QueryFilter { export class QueryFilter {
public fieldId: number; public fieldId: number;
+3 -3
View File
@@ -1,6 +1,6 @@
import { DataFormat } from '../enums/DataFormat'; import { DataFormat } from '../enums/DataFormat.js';
import { PagingRequest } from './PagingRequest'; import { PagingRequest } from './PagingRequest.js';
import { type QueryFilter } from './QueryFilter'; import { type QueryFilter } from './QueryFilter.js';
/** /**
* @class QueryRecordsRequest - Request to query for records. * @class QueryRecordsRequest - Request to query for records.
+2 -2
View File
@@ -1,5 +1,5 @@
import { type RecordValue } from './RecordValue'; import { type RecordValue } from './RecordValue.js';
import { SaveRecordRequest } from './SaveRecordRequest'; import { SaveRecordRequest } from './SaveRecordRequest.js';
/** /**
* @class Record - A record in an app. * @class Record - A record in an app.
+9 -9
View File
@@ -1,12 +1,12 @@
import { RecordValueType } from '../enums/RecordValueType'; import { RecordValueType } from '../enums/RecordValueType.js';
import { type Attachment } from './Attachment'; import { type Attachment } from './Attachment.js';
import { type AttachmentListRecordValue } from './AttachmentListRecordValue'; import { type AttachmentListRecordValue } from './AttachmentListRecordValue.js';
import { type Delegate } from './Delegate'; import { type Delegate } from './Delegate.js';
import { type DelegateListRecordValue } from './DelegateListRecordValue'; import { type DelegateListRecordValue } from './DelegateListRecordValue.js';
import { type ScoringGroup } from './ScoringGroup'; import { type ScoringGroup } from './ScoringGroup.js';
import { type ScoringGroupListRecordValue } from './ScoringGroupListRecordValue'; import { type ScoringGroupListRecordValue } from './ScoringGroupListRecordValue.js';
import { type TimeSpanData } from './TimeSpanData'; import { type TimeSpanData } from './TimeSpanData.js';
import { type TimeSpanRecordValue } from './TimeSpanRecordValue'; import { type TimeSpanRecordValue } from './TimeSpanRecordValue.js';
/** /**
* @class RecordValue - A value for a field in a record. * @class RecordValue - A value for a field in a record.
+4 -4
View File
@@ -1,7 +1,7 @@
import { type FieldStatus } from '../enums/FieldStatus'; import { type FieldStatus } from '../enums/FieldStatus.js';
import { type FieldType } from '../enums/FieldType'; import { type FieldType } from '../enums/FieldType.js';
import { type Multiplicity } from '../enums/Multiplicity'; import { type Multiplicity } from '../enums/Multiplicity.js';
import { Field } from './Field'; import { Field } from './Field.js';
/** /**
* @class ReferenceField - Represents a reference field. * @class ReferenceField - Represents a reference field.
+1 -1
View File
@@ -1,4 +1,4 @@
import { type Row } from './Row'; import { type Row } from './Row.js';
/** /**
* @class ReportData - Represents the data for a report. * @class ReportData - Represents the data for a report.
+1 -1
View File
@@ -1,4 +1,4 @@
import { CreatedWithIdResponse } from './CreatedWithIdResponse'; import { CreatedWithIdResponse } from './CreatedWithIdResponse.js';
export class SaveRecordResponse extends CreatedWithIdResponse<number> { export class SaveRecordResponse extends CreatedWithIdResponse<number> {
public warnings: string[]; public warnings: string[];
+3 -3
View File
@@ -1,6 +1,6 @@
import { RecordValueType } from '../enums/RecordValueType'; import { RecordValueType } from '../enums/RecordValueType.js';
import { RecordValue } from './RecordValue'; import { RecordValue } from './RecordValue.js';
import { type ScoringGroup } from './ScoringGroup'; import { type ScoringGroup } from './ScoringGroup.js';
export class ScoringGroupListRecordValue extends RecordValue<ScoringGroup[]> { export class ScoringGroupListRecordValue extends RecordValue<ScoringGroup[]> {
constructor(fieldId: number, value: ScoringGroup[]) { constructor(fieldId: number, value: ScoringGroup[]) {
+2 -2
View File
@@ -1,5 +1,5 @@
import { RecordValueType } from '../enums/RecordValueType'; import { RecordValueType } from '../enums/RecordValueType.js';
import { RecordValue } from './RecordValue'; import { RecordValue } from './RecordValue.js';
export class StringListRecordValue extends RecordValue<string[]> { export class StringListRecordValue extends RecordValue<string[]> {
constructor(fieldId: number, value: string[]) { constructor(fieldId: number, value: string[]) {
+2 -2
View File
@@ -1,5 +1,5 @@
import { RecordValueType } from '../enums/RecordValueType'; import { RecordValueType } from '../enums/RecordValueType.js';
import { RecordValue } from './RecordValue'; import { RecordValue } from './RecordValue.js';
/** /**
* @class StringRecordValue - A record value represented by a string. * @class StringRecordValue - A record value represented by a string.
+2 -2
View File
@@ -1,5 +1,5 @@
import { type TimeSpanIncrement } from '../enums/TimeSpanIncrement'; import { type TimeSpanIncrement } from '../enums/TimeSpanIncrement.js';
import { type TimeSpanRecurrenceType } from '../enums/TimeSpanRecurrenceType'; import { type TimeSpanRecurrenceType } from '../enums/TimeSpanRecurrenceType.js';
export class TimeSpanData { export class TimeSpanData {
/** /**
+3 -3
View File
@@ -1,6 +1,6 @@
import { RecordValueType } from '../enums/RecordValueType'; import { RecordValueType } from '../enums/RecordValueType.js';
import { RecordValue } from './RecordValue'; import { RecordValue } from './RecordValue.js';
import { type TimeSpanData } from './TimeSpanData'; import { type TimeSpanData } from './TimeSpanData.js';
export class TimeSpanRecordValue extends RecordValue<TimeSpanData> { export class TimeSpanRecordValue extends RecordValue<TimeSpanData> {
constructor(fieldId: number, value: TimeSpanData) { constructor(fieldId: number, value: TimeSpanData) {
+1
View File
@@ -13,6 +13,7 @@
"module": "commonjs", "module": "commonjs",
"target": "ES6" "target": "ES6"
}, },
"experimentalResolver": true,
"moduleTypes": { "moduleTypes": {
"*.ts": "cjs" "*.ts": "cjs"
} }