@cirrobio/api-client 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/.openapi-generator/FILES +6 -0
  2. package/README.md +1 -1
  3. package/dist/apis/AuditApi.d.ts +44 -0
  4. package/dist/apis/AuditApi.js +175 -0
  5. package/dist/apis/index.d.ts +1 -0
  6. package/dist/apis/index.js +1 -0
  7. package/dist/models/AuditEvent.d.ts +89 -0
  8. package/dist/models/AuditEvent.js +68 -0
  9. package/dist/models/ColumnDefinition.d.ts +43 -0
  10. package/dist/models/ColumnDefinition.js +54 -0
  11. package/dist/models/DatasetAssetsManifest.d.ts +7 -0
  12. package/dist/models/DatasetAssetsManifest.js +3 -0
  13. package/dist/models/LoginProvider.d.ts +49 -0
  14. package/dist/models/LoginProvider.js +59 -0
  15. package/dist/models/Process.d.ts +6 -0
  16. package/dist/models/Process.js +2 -0
  17. package/dist/models/ProcessDetail.d.ts +6 -0
  18. package/dist/models/ProcessDetail.js +2 -0
  19. package/dist/models/SystemInfoResponse.d.ts +8 -1
  20. package/dist/models/SystemInfoResponse.js +7 -3
  21. package/dist/models/Table.d.ts +62 -0
  22. package/dist/models/Table.js +62 -0
  23. package/dist/models/TenantInfo.d.ts +80 -0
  24. package/dist/models/TenantInfo.js +75 -0
  25. package/dist/models/index.d.ts +5 -0
  26. package/dist/models/index.js +5 -0
  27. package/package.json +1 -1
  28. package/src/apis/AuditApi.ts +106 -0
  29. package/src/apis/index.ts +1 -0
  30. package/src/models/AuditEvent.ts +137 -0
  31. package/src/models/ColumnDefinition.ts +81 -0
  32. package/src/models/DatasetAssetsManifest.ts +14 -0
  33. package/src/models/LoginProvider.ts +93 -0
  34. package/src/models/Process.ts +8 -0
  35. package/src/models/ProcessDetail.ts +8 -0
  36. package/src/models/SystemInfoResponse.ts +19 -4
  37. package/src/models/Table.ts +113 -0
  38. package/src/models/TenantInfo.ts +145 -0
  39. package/src/models/index.ts +5 -0
@@ -0,0 +1,137 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Cirro Data
5
+ * Cirro Data Platform service API
6
+ *
7
+ * The version of the OpenAPI document: latest
8
+ * Contact: support@cirro.bio
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { exists, mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface AuditEvent
20
+ */
21
+ export interface AuditEvent {
22
+ /**
23
+ * The unique identifier for the audit event
24
+ * @type {string}
25
+ * @memberof AuditEvent
26
+ */
27
+ id?: string;
28
+ /**
29
+ * The type of event
30
+ * @type {string}
31
+ * @memberof AuditEvent
32
+ */
33
+ eventType?: string;
34
+ /**
35
+ * The project ID associated with the event (if applicable)
36
+ * @type {string}
37
+ * @memberof AuditEvent
38
+ */
39
+ projectId?: string;
40
+ /**
41
+ * The entity ID associated with the event
42
+ * @type {string}
43
+ * @memberof AuditEvent
44
+ */
45
+ entityId?: string;
46
+ /**
47
+ * The entity type associated with the event
48
+ * @type {string}
49
+ * @memberof AuditEvent
50
+ */
51
+ entityType?: string;
52
+ /**
53
+ * The details of the event, such as the request details sent from the client
54
+ * @type {{ [key: string]: any; }}
55
+ * @memberof AuditEvent
56
+ */
57
+ eventDetail?: { [key: string]: any; };
58
+ /**
59
+ * The changes made to the entity (if applicable)
60
+ * @type {{ [key: string]: string; }}
61
+ * @memberof AuditEvent
62
+ */
63
+ changes?: { [key: string]: string; };
64
+ /**
65
+ * The username of the user who performed the action
66
+ * @type {string}
67
+ * @memberof AuditEvent
68
+ */
69
+ username?: string;
70
+ /**
71
+ * The IP address of the user who performed the action
72
+ * @type {string}
73
+ * @memberof AuditEvent
74
+ */
75
+ ipAddress?: string;
76
+ /**
77
+ * The date and time the event was created
78
+ * @type {Date}
79
+ * @memberof AuditEvent
80
+ */
81
+ createdAt?: Date;
82
+ }
83
+
84
+ /**
85
+ * Check if a given object implements the AuditEvent interface.
86
+ */
87
+ export function instanceOfAuditEvent(value: object): boolean {
88
+ let isInstance = true;
89
+
90
+ return isInstance;
91
+ }
92
+
93
+ export function AuditEventFromJSON(json: any): AuditEvent {
94
+ return AuditEventFromJSONTyped(json, false);
95
+ }
96
+
97
+ export function AuditEventFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuditEvent {
98
+ if ((json === undefined) || (json === null)) {
99
+ return json;
100
+ }
101
+ return {
102
+
103
+ 'id': !exists(json, 'id') ? undefined : json['id'],
104
+ 'eventType': !exists(json, 'eventType') ? undefined : json['eventType'],
105
+ 'projectId': !exists(json, 'projectId') ? undefined : json['projectId'],
106
+ 'entityId': !exists(json, 'entityId') ? undefined : json['entityId'],
107
+ 'entityType': !exists(json, 'entityType') ? undefined : json['entityType'],
108
+ 'eventDetail': !exists(json, 'eventDetail') ? undefined : json['eventDetail'],
109
+ 'changes': !exists(json, 'changes') ? undefined : json['changes'],
110
+ 'username': !exists(json, 'username') ? undefined : json['username'],
111
+ 'ipAddress': !exists(json, 'ipAddress') ? undefined : json['ipAddress'],
112
+ 'createdAt': !exists(json, 'createdAt') ? undefined : (new Date(json['createdAt'])),
113
+ };
114
+ }
115
+
116
+ export function AuditEventToJSON(value?: AuditEvent | null): any {
117
+ if (value === undefined) {
118
+ return undefined;
119
+ }
120
+ if (value === null) {
121
+ return null;
122
+ }
123
+ return {
124
+
125
+ 'id': value.id,
126
+ 'eventType': value.eventType,
127
+ 'projectId': value.projectId,
128
+ 'entityId': value.entityId,
129
+ 'entityType': value.entityType,
130
+ 'eventDetail': value.eventDetail,
131
+ 'changes': value.changes,
132
+ 'username': value.username,
133
+ 'ipAddress': value.ipAddress,
134
+ 'createdAt': value.createdAt === undefined ? undefined : (value.createdAt.toISOString()),
135
+ };
136
+ }
137
+
@@ -0,0 +1,81 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Cirro Data
5
+ * Cirro Data Platform service API
6
+ *
7
+ * The version of the OpenAPI document: latest
8
+ * Contact: support@cirro.bio
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { exists, mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface ColumnDefinition
20
+ */
21
+ export interface ColumnDefinition {
22
+ /**
23
+ * Column name in asset file
24
+ * @type {string}
25
+ * @memberof ColumnDefinition
26
+ */
27
+ col?: string;
28
+ /**
29
+ * User-friendly column name
30
+ * @type {string}
31
+ * @memberof ColumnDefinition
32
+ */
33
+ name?: string;
34
+ /**
35
+ * Description of the column
36
+ * @type {string}
37
+ * @memberof ColumnDefinition
38
+ */
39
+ desc?: string;
40
+ }
41
+
42
+ /**
43
+ * Check if a given object implements the ColumnDefinition interface.
44
+ */
45
+ export function instanceOfColumnDefinition(value: object): boolean {
46
+ let isInstance = true;
47
+
48
+ return isInstance;
49
+ }
50
+
51
+ export function ColumnDefinitionFromJSON(json: any): ColumnDefinition {
52
+ return ColumnDefinitionFromJSONTyped(json, false);
53
+ }
54
+
55
+ export function ColumnDefinitionFromJSONTyped(json: any, ignoreDiscriminator: boolean): ColumnDefinition {
56
+ if ((json === undefined) || (json === null)) {
57
+ return json;
58
+ }
59
+ return {
60
+
61
+ 'col': !exists(json, 'col') ? undefined : json['col'],
62
+ 'name': !exists(json, 'name') ? undefined : json['name'],
63
+ 'desc': !exists(json, 'desc') ? undefined : json['desc'],
64
+ };
65
+ }
66
+
67
+ export function ColumnDefinitionToJSON(value?: ColumnDefinition | null): any {
68
+ if (value === undefined) {
69
+ return undefined;
70
+ }
71
+ if (value === null) {
72
+ return null;
73
+ }
74
+ return {
75
+
76
+ 'col': value.col,
77
+ 'name': value.name,
78
+ 'desc': value.desc,
79
+ };
80
+ }
81
+
@@ -25,6 +25,12 @@ import {
25
25
  FileEntryFromJSONTyped,
26
26
  FileEntryToJSON,
27
27
  } from './FileEntry';
28
+ import type { Table } from './Table';
29
+ import {
30
+ TableFromJSON,
31
+ TableFromJSONTyped,
32
+ TableToJSON,
33
+ } from './Table';
28
34
 
29
35
  /**
30
36
  *
@@ -50,6 +56,12 @@ export interface DatasetAssetsManifest {
50
56
  * @memberof DatasetAssetsManifest
51
57
  */
52
58
  viz?: Array<DatasetViz>;
59
+ /**
60
+ * List of web optimized tables for the dataset
61
+ * @type {Array<Table>}
62
+ * @memberof DatasetAssetsManifest
63
+ */
64
+ tables?: Array<Table>;
53
65
  }
54
66
 
55
67
  /**
@@ -74,6 +86,7 @@ export function DatasetAssetsManifestFromJSONTyped(json: any, ignoreDiscriminato
74
86
  'domain': !exists(json, 'domain') ? undefined : json['domain'],
75
87
  'files': !exists(json, 'files') ? undefined : ((json['files'] as Array<any>).map(FileEntryFromJSON)),
76
88
  'viz': !exists(json, 'viz') ? undefined : ((json['viz'] as Array<any>).map(DatasetVizFromJSON)),
89
+ 'tables': !exists(json, 'tables') ? undefined : ((json['tables'] as Array<any>).map(TableFromJSON)),
77
90
  };
78
91
  }
79
92
 
@@ -89,6 +102,7 @@ export function DatasetAssetsManifestToJSON(value?: DatasetAssetsManifest | null
89
102
  'domain': value.domain,
90
103
  'files': value.files === undefined ? undefined : ((value.files as Array<any>).map(FileEntryToJSON)),
91
104
  'viz': value.viz === undefined ? undefined : ((value.viz as Array<any>).map(DatasetVizToJSON)),
105
+ 'tables': value.tables === undefined ? undefined : ((value.tables as Array<any>).map(TableToJSON)),
92
106
  };
93
107
  }
94
108
 
@@ -0,0 +1,93 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Cirro Data
5
+ * Cirro Data Platform service API
6
+ *
7
+ * The version of the OpenAPI document: latest
8
+ * Contact: support@cirro.bio
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { exists, mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface LoginProvider
20
+ */
21
+ export interface LoginProvider {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof LoginProvider
26
+ */
27
+ id: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof LoginProvider
32
+ */
33
+ name: string;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof LoginProvider
38
+ */
39
+ description: string;
40
+ /**
41
+ *
42
+ * @type {string}
43
+ * @memberof LoginProvider
44
+ */
45
+ logoUrl: string;
46
+ }
47
+
48
+ /**
49
+ * Check if a given object implements the LoginProvider interface.
50
+ */
51
+ export function instanceOfLoginProvider(value: object): boolean {
52
+ let isInstance = true;
53
+ isInstance = isInstance && "id" in value;
54
+ isInstance = isInstance && "name" in value;
55
+ isInstance = isInstance && "description" in value;
56
+ isInstance = isInstance && "logoUrl" in value;
57
+
58
+ return isInstance;
59
+ }
60
+
61
+ export function LoginProviderFromJSON(json: any): LoginProvider {
62
+ return LoginProviderFromJSONTyped(json, false);
63
+ }
64
+
65
+ export function LoginProviderFromJSONTyped(json: any, ignoreDiscriminator: boolean): LoginProvider {
66
+ if ((json === undefined) || (json === null)) {
67
+ return json;
68
+ }
69
+ return {
70
+
71
+ 'id': json['id'],
72
+ 'name': json['name'],
73
+ 'description': json['description'],
74
+ 'logoUrl': json['logoUrl'],
75
+ };
76
+ }
77
+
78
+ export function LoginProviderToJSON(value?: LoginProvider | null): any {
79
+ if (value === undefined) {
80
+ return undefined;
81
+ }
82
+ if (value === null) {
83
+ return null;
84
+ }
85
+ return {
86
+
87
+ 'id': value.id,
88
+ 'name': value.name,
89
+ 'description': value.description,
90
+ 'logoUrl': value.logoUrl,
91
+ };
92
+ }
93
+
@@ -92,6 +92,12 @@ export interface Process {
92
92
  * @memberof Process
93
93
  */
94
94
  linkedProjectIds?: Array<string>;
95
+ /**
96
+ * Whether the pipeline is allowed to have multiple dataset sources
97
+ * @type {boolean}
98
+ * @memberof Process
99
+ */
100
+ allowMultipleSources?: boolean;
95
101
  /**
96
102
  * Whether the pipeline is marked as archived
97
103
  * @type {boolean}
@@ -133,6 +139,7 @@ export function ProcessFromJSONTyped(json: any, ignoreDiscriminator: boolean): P
133
139
  'parentProcessIds': !exists(json, 'parentProcessIds') ? undefined : json['parentProcessIds'],
134
140
  'owner': !exists(json, 'owner') ? undefined : json['owner'],
135
141
  'linkedProjectIds': !exists(json, 'linkedProjectIds') ? undefined : json['linkedProjectIds'],
142
+ 'allowMultipleSources': !exists(json, 'allowMultipleSources') ? undefined : json['allowMultipleSources'],
136
143
  'isArchived': !exists(json, 'isArchived') ? undefined : json['isArchived'],
137
144
  };
138
145
  }
@@ -157,6 +164,7 @@ export function ProcessToJSON(value?: Process | null): any {
157
164
  'parentProcessIds': value.parentProcessIds,
158
165
  'owner': value.owner,
159
166
  'linkedProjectIds': value.linkedProjectIds,
167
+ 'allowMultipleSources': value.allowMultipleSources,
160
168
  'isArchived': value.isArchived,
161
169
  };
162
170
  }
@@ -110,6 +110,12 @@ export interface ProcessDetail {
110
110
  * @memberof ProcessDetail
111
111
  */
112
112
  linkedProjectIds: Array<string>;
113
+ /**
114
+ * Whether the pipeline is allowed to have multiple dataset sources
115
+ * @type {boolean}
116
+ * @memberof ProcessDetail
117
+ */
118
+ allowMultipleSources?: boolean;
113
119
  /**
114
120
  *
115
121
  * @type {CustomPipelineSettings}
@@ -162,6 +168,7 @@ export function ProcessDetailFromJSONTyped(json: any, ignoreDiscriminator: boole
162
168
  'pipelineCode': !exists(json, 'pipelineCode') ? undefined : PipelineCodeFromJSON(json['pipelineCode']),
163
169
  'owner': !exists(json, 'owner') ? undefined : json['owner'],
164
170
  'linkedProjectIds': json['linkedProjectIds'],
171
+ 'allowMultipleSources': !exists(json, 'allowMultipleSources') ? undefined : json['allowMultipleSources'],
165
172
  'customSettings': !exists(json, 'customSettings') ? undefined : CustomPipelineSettingsFromJSON(json['customSettings']),
166
173
  'isArchived': !exists(json, 'isArchived') ? undefined : json['isArchived'],
167
174
  };
@@ -188,6 +195,7 @@ export function ProcessDetailToJSON(value?: ProcessDetail | null): any {
188
195
  'pipelineCode': PipelineCodeToJSON(value.pipelineCode),
189
196
  'owner': value.owner,
190
197
  'linkedProjectIds': value.linkedProjectIds,
198
+ 'allowMultipleSources': value.allowMultipleSources,
191
199
  'customSettings': CustomPipelineSettingsToJSON(value.customSettings),
192
200
  'isArchived': value.isArchived,
193
201
  };
@@ -19,6 +19,12 @@ import {
19
19
  ResourcesInfoFromJSONTyped,
20
20
  ResourcesInfoToJSON,
21
21
  } from './ResourcesInfo';
22
+ import type { TenantInfo } from './TenantInfo';
23
+ import {
24
+ TenantInfoFromJSON,
25
+ TenantInfoFromJSONTyped,
26
+ TenantInfoToJSON,
27
+ } from './TenantInfo';
22
28
 
23
29
  /**
24
30
  *
@@ -43,7 +49,7 @@ export interface SystemInfoResponse {
43
49
  * @type {string}
44
50
  * @memberof SystemInfoResponse
45
51
  */
46
- dataEndpoint: string;
52
+ referencesBucket: string;
47
53
  /**
48
54
  *
49
55
  * @type {string}
@@ -74,6 +80,12 @@ export interface SystemInfoResponse {
74
80
  * @memberof SystemInfoResponse
75
81
  */
76
82
  resourcesInfo: ResourcesInfo;
83
+ /**
84
+ *
85
+ * @type {TenantInfo}
86
+ * @memberof SystemInfoResponse
87
+ */
88
+ tenantInfo: TenantInfo;
77
89
  }
78
90
 
79
91
  /**
@@ -83,12 +95,13 @@ export function instanceOfSystemInfoResponse(value: object): boolean {
83
95
  let isInstance = true;
84
96
  isInstance = isInstance && "sdkAppId" in value;
85
97
  isInstance = isInstance && "resourcesBucket" in value;
86
- isInstance = isInstance && "dataEndpoint" in value;
98
+ isInstance = isInstance && "referencesBucket" in value;
87
99
  isInstance = isInstance && "region" in value;
88
100
  isInstance = isInstance && "systemMessage" in value;
89
101
  isInstance = isInstance && "commitHash" in value;
90
102
  isInstance = isInstance && "version" in value;
91
103
  isInstance = isInstance && "resourcesInfo" in value;
104
+ isInstance = isInstance && "tenantInfo" in value;
92
105
 
93
106
  return isInstance;
94
107
  }
@@ -105,12 +118,13 @@ export function SystemInfoResponseFromJSONTyped(json: any, ignoreDiscriminator:
105
118
 
106
119
  'sdkAppId': json['sdkAppId'],
107
120
  'resourcesBucket': json['resourcesBucket'],
108
- 'dataEndpoint': json['dataEndpoint'],
121
+ 'referencesBucket': json['referencesBucket'],
109
122
  'region': json['region'],
110
123
  'systemMessage': json['systemMessage'],
111
124
  'commitHash': json['commitHash'],
112
125
  'version': json['version'],
113
126
  'resourcesInfo': ResourcesInfoFromJSON(json['resourcesInfo']),
127
+ 'tenantInfo': TenantInfoFromJSON(json['tenantInfo']),
114
128
  };
115
129
  }
116
130
 
@@ -125,12 +139,13 @@ export function SystemInfoResponseToJSON(value?: SystemInfoResponse | null): any
125
139
 
126
140
  'sdkAppId': value.sdkAppId,
127
141
  'resourcesBucket': value.resourcesBucket,
128
- 'dataEndpoint': value.dataEndpoint,
142
+ 'referencesBucket': value.referencesBucket,
129
143
  'region': value.region,
130
144
  'systemMessage': value.systemMessage,
131
145
  'commitHash': value.commitHash,
132
146
  'version': value.version,
133
147
  'resourcesInfo': ResourcesInfoToJSON(value.resourcesInfo),
148
+ 'tenantInfo': TenantInfoToJSON(value.tenantInfo),
134
149
  };
135
150
  }
136
151
 
@@ -0,0 +1,113 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Cirro Data
5
+ * Cirro Data Platform service API
6
+ *
7
+ * The version of the OpenAPI document: latest
8
+ * Contact: support@cirro.bio
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { exists, mapValues } from '../runtime';
16
+ import type { ColumnDefinition } from './ColumnDefinition';
17
+ import {
18
+ ColumnDefinitionFromJSON,
19
+ ColumnDefinitionFromJSONTyped,
20
+ ColumnDefinitionToJSON,
21
+ } from './ColumnDefinition';
22
+
23
+ /**
24
+ *
25
+ * @export
26
+ * @interface Table
27
+ */
28
+ export interface Table {
29
+ /**
30
+ * User-friendly name of asset
31
+ * @type {string}
32
+ * @memberof Table
33
+ */
34
+ name?: string;
35
+ /**
36
+ *
37
+ * @type {string}
38
+ * @memberof Table
39
+ */
40
+ desc: string;
41
+ /**
42
+ * Type of file
43
+ * @type {string}
44
+ * @memberof Table
45
+ */
46
+ type?: string;
47
+ /**
48
+ * Number of rows in table
49
+ * @type {number}
50
+ * @memberof Table
51
+ */
52
+ rows?: number;
53
+ /**
54
+ * Relative path to asset
55
+ * @type {string}
56
+ * @memberof Table
57
+ */
58
+ path?: string;
59
+ /**
60
+ *
61
+ * @type {Array<ColumnDefinition>}
62
+ * @memberof Table
63
+ */
64
+ cols?: Array<ColumnDefinition> | null;
65
+ }
66
+
67
+ /**
68
+ * Check if a given object implements the Table interface.
69
+ */
70
+ export function instanceOfTable(value: object): boolean {
71
+ let isInstance = true;
72
+ isInstance = isInstance && "desc" in value;
73
+
74
+ return isInstance;
75
+ }
76
+
77
+ export function TableFromJSON(json: any): Table {
78
+ return TableFromJSONTyped(json, false);
79
+ }
80
+
81
+ export function TableFromJSONTyped(json: any, ignoreDiscriminator: boolean): Table {
82
+ if ((json === undefined) || (json === null)) {
83
+ return json;
84
+ }
85
+ return {
86
+
87
+ 'name': !exists(json, 'name') ? undefined : json['name'],
88
+ 'desc': json['desc'],
89
+ 'type': !exists(json, 'type') ? undefined : json['type'],
90
+ 'rows': !exists(json, 'rows') ? undefined : json['rows'],
91
+ 'path': !exists(json, 'path') ? undefined : json['path'],
92
+ 'cols': !exists(json, 'cols') ? undefined : (json['cols'] === null ? null : (json['cols'] as Array<any>).map(ColumnDefinitionFromJSON)),
93
+ };
94
+ }
95
+
96
+ export function TableToJSON(value?: Table | null): any {
97
+ if (value === undefined) {
98
+ return undefined;
99
+ }
100
+ if (value === null) {
101
+ return null;
102
+ }
103
+ return {
104
+
105
+ 'name': value.name,
106
+ 'desc': value.desc,
107
+ 'type': value.type,
108
+ 'rows': value.rows,
109
+ 'path': value.path,
110
+ 'cols': value.cols === undefined ? undefined : (value.cols === null ? null : (value.cols as Array<any>).map(ColumnDefinitionToJSON)),
111
+ };
112
+ }
113
+