@vitessce/vit-s 3.5.1 → 3.5.3

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 (72) hide show
  1. package/dist/index.js +309 -502
  2. package/dist-tsc/VitessceGrid.d.ts.map +1 -1
  3. package/dist-tsc/VitessceGrid.js +1 -1
  4. package/dist-tsc/data-hook-utils.d.ts +1 -1
  5. package/dist-tsc/data-hook-utils.d.ts.map +1 -1
  6. package/dist-tsc/data-hook-utils.js +1 -1
  7. package/dist-tsc/data-hooks-multilevel-utils.js +1 -1
  8. package/dist-tsc/data-hooks.js +1 -1
  9. package/dist-tsc/hooks.d.ts +14 -0
  10. package/dist-tsc/hooks.d.ts.map +1 -1
  11. package/dist-tsc/hooks.js +39 -1
  12. package/dist-tsc/index.d.ts +2 -3
  13. package/dist-tsc/index.js +2 -3
  14. package/dist-tsc/state/hooks.d.ts.map +1 -1
  15. package/dist-tsc/state/hooks.js +14 -2
  16. package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.d.ts.map +1 -1
  17. package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.js +7 -3
  18. package/dist-tsc/vitessce-grid-utils.js +1 -1
  19. package/package.json +9 -8
  20. package/src/VitessceGrid.js +3 -0
  21. package/src/data-hook-utils.js +4 -4
  22. package/src/data-hooks-multilevel-utils.js +3 -3
  23. package/src/data-hooks.js +3 -3
  24. package/src/hooks.js +43 -1
  25. package/src/index.js +2 -12
  26. package/src/state/hooks.js +15 -2
  27. package/src/vitessce-grid-layout/VitessceGridLayout.js +18 -7
  28. package/src/vitessce-grid-utils.js +1 -1
  29. package/dist-tsc/data/AbstractLoader.d.ts +0 -28
  30. package/dist-tsc/data/AbstractLoader.d.ts.map +0 -1
  31. package/dist-tsc/data/AbstractLoader.js +0 -29
  32. package/dist-tsc/data/AbstractTwoStepLoader.d.ts +0 -16
  33. package/dist-tsc/data/AbstractTwoStepLoader.d.ts.map +0 -1
  34. package/dist-tsc/data/AbstractTwoStepLoader.js +0 -17
  35. package/dist-tsc/data/LoaderResult.d.ts +0 -17
  36. package/dist-tsc/data/LoaderResult.d.ts.map +0 -1
  37. package/dist-tsc/data/LoaderResult.js +0 -18
  38. package/dist-tsc/data/index.d.ts +0 -4
  39. package/dist-tsc/data/index.d.ts.map +0 -1
  40. package/dist-tsc/data/index.js +0 -3
  41. package/dist-tsc/data/loader-registry.d.ts +0 -9
  42. package/dist-tsc/data/loader-registry.d.ts.map +0 -1
  43. package/dist-tsc/data/loader-registry.js +0 -27
  44. package/dist-tsc/errors/AbstractLoaderError.d.ts +0 -10
  45. package/dist-tsc/errors/AbstractLoaderError.d.ts.map +0 -1
  46. package/dist-tsc/errors/AbstractLoaderError.js +0 -13
  47. package/dist-tsc/errors/DataSourceFetchError.d.ts +0 -8
  48. package/dist-tsc/errors/DataSourceFetchError.d.ts.map +0 -1
  49. package/dist-tsc/errors/DataSourceFetchError.js +0 -13
  50. package/dist-tsc/errors/DatasetNotFoundError.d.ts +0 -6
  51. package/dist-tsc/errors/DatasetNotFoundError.d.ts.map +0 -1
  52. package/dist-tsc/errors/DatasetNotFoundError.js +0 -17
  53. package/dist-tsc/errors/LoaderNotFoundError.d.ts +0 -10
  54. package/dist-tsc/errors/LoaderNotFoundError.d.ts.map +0 -1
  55. package/dist-tsc/errors/LoaderNotFoundError.js +0 -17
  56. package/dist-tsc/errors/LoaderValidationError.d.ts +0 -10
  57. package/dist-tsc/errors/LoaderValidationError.d.ts.map +0 -1
  58. package/dist-tsc/errors/LoaderValidationError.js +0 -15
  59. package/dist-tsc/errors/index.d.ts +0 -6
  60. package/dist-tsc/errors/index.d.ts.map +0 -1
  61. package/dist-tsc/errors/index.js +0 -5
  62. package/src/data/AbstractLoader.js +0 -41
  63. package/src/data/AbstractTwoStepLoader.js +0 -19
  64. package/src/data/LoaderResult.js +0 -19
  65. package/src/data/index.js +0 -3
  66. package/src/data/loader-registry.js +0 -28
  67. package/src/errors/AbstractLoaderError.js +0 -14
  68. package/src/errors/DataSourceFetchError.js +0 -15
  69. package/src/errors/DatasetNotFoundError.js +0 -23
  70. package/src/errors/LoaderNotFoundError.js +0 -24
  71. package/src/errors/LoaderValidationError.js +0 -23
  72. package/src/errors/index.js +0 -5
@@ -1,28 +0,0 @@
1
- /** @import { LoaderParams } from '@vitessce/types' */
2
- /**
3
- * A loader ancestor class containing a default constructor
4
- * and a stub for the required load() method.
5
- */
6
- export default class AbstractLoader {
7
- /**
8
- *
9
- * @param {LoaderParams} params
10
- */
11
- constructor({ type, fileType, url, requestInit, options, coordinationValues, }: LoaderParams);
12
- fileType: string;
13
- type: string;
14
- url: string | undefined;
15
- requestInit: RequestInit | undefined;
16
- options: any;
17
- coordinationValues: {
18
- [key: string]: any;
19
- } | undefined;
20
- /**
21
- *
22
- * @returns {Promise<LoaderResult<any>>}
23
- */
24
- load(): Promise<LoaderResult<any>>;
25
- }
26
- import LoaderResult from './LoaderResult.js';
27
- import type { LoaderParams } from '@vitessce/types';
28
- //# sourceMappingURL=AbstractLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractLoader.d.ts","sourceRoot":"","sources":["../../src/data/AbstractLoader.js"],"names":[],"mappings":"AAGA,sDAAsD;AAEtD;;;GAGG;AACH;IACE;;;OAGG;IACH,gFAFW,YAAY,EAgBtB;IANC,iBAAwB;IACxB,aAAgB;IAChB,wBAAc;IACd,qCAA8B;IAC9B,aAAsB;IACtB;;kBAA4C;IAG9C;;;OAGG;IAEH,QAHa,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAOtC;CACF;yBAvCwB,mBAAmB;kCAEV,iBAAiB"}
@@ -1,29 +0,0 @@
1
- // @ts-check
2
- import LoaderResult from './LoaderResult.js';
3
- /** @import { LoaderParams } from '@vitessce/types' */
4
- /**
5
- * A loader ancestor class containing a default constructor
6
- * and a stub for the required load() method.
7
- */
8
- export default class AbstractLoader {
9
- /**
10
- *
11
- * @param {LoaderParams} params
12
- */
13
- constructor({ type, fileType, url, requestInit, options, coordinationValues, }) {
14
- this.fileType = fileType;
15
- this.type = type;
16
- this.url = url;
17
- this.requestInit = requestInit;
18
- this.options = options;
19
- this.coordinationValues = coordinationValues;
20
- }
21
- /**
22
- *
23
- * @returns {Promise<LoaderResult<any>>}
24
- */
25
- // eslint-disable-next-line class-methods-use-this
26
- async load() {
27
- return Promise.resolve(new LoaderResult(true, null));
28
- }
29
- }
@@ -1,16 +0,0 @@
1
- /** @import { LoaderParams } from '@vitessce/types' */
2
- /**
3
- * @template DataSourceType
4
- */
5
- export default class AbstractTwoStepLoader<DataSourceType> extends AbstractLoader {
6
- /**
7
- *
8
- * @param {DataSourceType} dataSource
9
- * @param {LoaderParams} params
10
- */
11
- constructor(dataSource: DataSourceType, params: LoaderParams);
12
- dataSource: DataSourceType;
13
- }
14
- import AbstractLoader from './AbstractLoader.js';
15
- import type { LoaderParams } from '@vitessce/types';
16
- //# sourceMappingURL=AbstractTwoStepLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractTwoStepLoader.d.ts","sourceRoot":"","sources":["../../src/data/AbstractTwoStepLoader.js"],"names":[],"mappings":"AAGA,sDAAsD;AAEtD;;GAEG;AACH,2CAFa,cAAc;IAGzB;;;;OAIG;IACH,wBAHW,cAAc,UACd,YAAY,EAKtB;IADC,2BAA4B;CAE/B;2BAjB0B,qBAAqB;kCAEd,iBAAiB"}
@@ -1,17 +0,0 @@
1
- // @ts-check
2
- import AbstractLoader from './AbstractLoader.js';
3
- /** @import { LoaderParams } from '@vitessce/types' */
4
- /**
5
- * @template DataSourceType
6
- */
7
- export default class AbstractTwoStepLoader extends AbstractLoader {
8
- /**
9
- *
10
- * @param {DataSourceType} dataSource
11
- * @param {LoaderParams} params
12
- */
13
- constructor(dataSource, params) {
14
- super(params);
15
- this.dataSource = dataSource;
16
- }
17
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * @template {any} LoaderDataType
3
- */
4
- export default class LoaderResult<LoaderDataType extends unknown> {
5
- /**
6
- * @param {LoaderDataType} data
7
- * @param {object[]|string|null} url Single URL or array of { url, name } objects.
8
- * @param {object|null} coordinationValues
9
- * @param {RequestInit|null} requestInit
10
- */
11
- constructor(data: LoaderDataType, url: object[] | string | null, coordinationValues?: object | null, requestInit?: RequestInit | null);
12
- data: LoaderDataType;
13
- url: string | object[] | null;
14
- coordinationValues: object | null;
15
- requestInit: RequestInit | null;
16
- }
17
- //# sourceMappingURL=LoaderResult.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoaderResult.d.ts","sourceRoot":"","sources":["../../src/data/LoaderResult.js"],"names":[],"mappings":"AAEA;;GAEG;AACH,kCAFmB,cAAc;IAG/B;;;;;OAKG;IACH,kBALW,cAAc,OACd,MAAM,EAAE,GAAC,MAAM,GAAC,IAAI,uBACpB,MAAM,GAAC,IAAI,gBACX,WAAW,GAAC,IAAI,EAO1B;IAJC,qBAAgB;IAChB,8BAAc;IACd,kCAA4C;IAC5C,gCAA8B;CAEjC"}
@@ -1,18 +0,0 @@
1
- // @ts-check
2
- /**
3
- * @template {any} LoaderDataType
4
- */
5
- export default class LoaderResult {
6
- /**
7
- * @param {LoaderDataType} data
8
- * @param {object[]|string|null} url Single URL or array of { url, name } objects.
9
- * @param {object|null} coordinationValues
10
- * @param {RequestInit|null} requestInit
11
- */
12
- constructor(data, url, coordinationValues = null, requestInit = null) {
13
- this.data = data;
14
- this.url = url;
15
- this.coordinationValues = coordinationValues;
16
- this.requestInit = requestInit;
17
- }
18
- }
@@ -1,4 +0,0 @@
1
- export { default as AbstractLoader } from "./AbstractLoader.js";
2
- export { default as AbstractTwoStepLoader } from "./AbstractTwoStepLoader.js";
3
- export { default as LoaderResult } from "./LoaderResult.js";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.js"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export { default as AbstractLoader } from './AbstractLoader.js';
2
- export { default as AbstractTwoStepLoader } from './AbstractTwoStepLoader.js';
3
- export { default as LoaderResult } from './LoaderResult.js';
@@ -1,9 +0,0 @@
1
- /**
2
- * Get the data source and data loader class.
3
- * @param {string} type The fileType name.
4
- * @param {PluginFileType[]} fileTypes The array of file types.
5
- * @returns {array} [dataSourceClass, dataLoaderClass].
6
- */
7
- export function getSourceAndLoaderFromFileType(type: string, fileTypes: PluginFileType[]): array;
8
- export function getDataTypeFromFileType(type: any, fileTypes: any): any;
9
- //# sourceMappingURL=loader-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader-registry.d.ts","sourceRoot":"","sources":["../../src/data/loader-registry.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qDAJW,MAAM,aACN,cAAc,EAAE,GACd,KAAK,CAajB;AAED,wEAQC"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Get the data source and data loader class.
3
- * @param {string} type The fileType name.
4
- * @param {PluginFileType[]} fileTypes The array of file types.
5
- * @returns {array} [dataSourceClass, dataLoaderClass].
6
- */
7
- export function getSourceAndLoaderFromFileType(type, fileTypes) {
8
- if (Array.isArray(fileTypes)) {
9
- const matchingFileType = fileTypes.find(ft => ft.name === type);
10
- if (matchingFileType) {
11
- return matchingFileType.getSourceAndLoader();
12
- }
13
- }
14
- // Fallback to JSON.
15
- // TODO(monorepo)
16
- // return [JsonSource, JsonLoader];
17
- return [null, null];
18
- }
19
- export function getDataTypeFromFileType(type, fileTypes) {
20
- if (Array.isArray(fileTypes)) {
21
- const matchingFileType = fileTypes.find(ft => ft.name === type);
22
- if (matchingFileType) {
23
- return matchingFileType.dataType;
24
- }
25
- }
26
- return null;
27
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * A loader error ancestor class containing a default constructor
3
- * and a stub for the required warnInConsole() method.
4
- */
5
- export default class AbstractLoaderError {
6
- constructor(message: any);
7
- message: any;
8
- warnInConsole(): void;
9
- }
10
- //# sourceMappingURL=AbstractLoaderError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractLoaderError.d.ts","sourceRoot":"","sources":["../../src/errors/AbstractLoaderError.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH;IACE,0BAEC;IADC,aAAsB;IAIxB,sBAEC;CACF"}
@@ -1,13 +0,0 @@
1
- /**
2
- * A loader error ancestor class containing a default constructor
3
- * and a stub for the required warnInConsole() method.
4
- */
5
- export default class AbstractLoaderError {
6
- constructor(message) {
7
- this.message = message;
8
- }
9
- // eslint-disable-next-line class-methods-use-this
10
- warnInConsole() {
11
- throw new Error('The warnInConsole() method has not been implemented.');
12
- }
13
- }
@@ -1,8 +0,0 @@
1
- export default class DataSourceFetchError extends AbstractLoaderError {
2
- constructor(source: any, url: any, headers: any);
3
- source: any;
4
- url: any;
5
- headers: any;
6
- }
7
- import AbstractLoaderError from './AbstractLoaderError.js';
8
- //# sourceMappingURL=DataSourceFetchError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataSourceFetchError.d.ts","sourceRoot":"","sources":["../../src/errors/DataSourceFetchError.js"],"names":[],"mappings":"AAEA;IACE,iDAKC;IAHC,YAAoB;IACpB,SAAc;IACd,aAAsB;CAOzB;gCAd+B,0BAA0B"}
@@ -1,13 +0,0 @@
1
- import AbstractLoaderError from './AbstractLoaderError.js';
2
- export default class DataSourceFetchError extends AbstractLoaderError {
3
- constructor(source, url, headers) {
4
- super(`${source} Error HTTP Status fetching from ${url}`);
5
- this.source = source;
6
- this.url = url;
7
- this.headers = headers;
8
- }
9
- warnInConsole() {
10
- const { source, url, headers } = this;
11
- console.warn(`${source} failed to fetch from ${url} with headers ${JSON.stringify(headers)}`);
12
- }
13
- }
@@ -1,6 +0,0 @@
1
- export default class DatasetNotFoundError extends AbstractLoaderError {
2
- name: string;
3
- datasetUid: any;
4
- }
5
- import AbstractLoaderError from './AbstractLoaderError.js';
6
- //# sourceMappingURL=DatasetNotFoundError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatasetNotFoundError.d.ts","sourceRoot":"","sources":["../../src/errors/DatasetNotFoundError.js"],"names":[],"mappings":"AAEA;IAGI,aAAkC;IAElC,gBAA4B;CAe/B;gCAtB+B,0BAA0B"}
@@ -1,17 +0,0 @@
1
- import AbstractLoaderError from './AbstractLoaderError.js';
2
- export default class DatasetNotFoundError extends AbstractLoaderError {
3
- constructor(datasetUid) {
4
- super(`Error finding dataset for ${datasetUid}. Please check that at least one dataset exists in the view config.`);
5
- this.name = 'DatasetNotFoundError';
6
- this.datasetUid = datasetUid;
7
- }
8
- warnInConsole() {
9
- const { datasetUid, } = this;
10
- if (datasetUid) {
11
- console.warn(`Unable to find dataset for ${datasetUid}`);
12
- }
13
- else {
14
- console.warn('No dataset uid specified.');
15
- }
16
- }
17
- }
@@ -1,10 +0,0 @@
1
- export default class LoaderNotFoundError extends AbstractLoaderError {
2
- constructor(loaders: any, dataset: any, fileType: any, viewCoordinationValues: any);
3
- name: string;
4
- loaders: any;
5
- dataset: any;
6
- fileType: any;
7
- viewCoordinationValues: any;
8
- }
9
- import AbstractLoaderError from './AbstractLoaderError.js';
10
- //# sourceMappingURL=LoaderNotFoundError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoaderNotFoundError.d.ts","sourceRoot":"","sources":["../../src/errors/LoaderNotFoundError.js"],"names":[],"mappings":"AAEA;IACE,oFAQC;IANC,aAAiC;IAEjC,aAAsB;IACtB,aAAsB;IACtB,cAAwB;IACxB,4BAAoD;CAavD;gCAvB+B,0BAA0B"}
@@ -1,17 +0,0 @@
1
- import AbstractLoaderError from './AbstractLoaderError.js';
2
- export default class LoaderNotFoundError extends AbstractLoaderError {
3
- constructor(loaders, dataset, fileType, viewCoordinationValues) {
4
- super(`Error: unable to find matching ${fileType} file in dataset ${dataset}.`);
5
- this.name = 'LoaderNotFoundError';
6
- this.loaders = loaders;
7
- this.dataset = dataset;
8
- this.fileType = fileType;
9
- this.viewCoordinationValues = viewCoordinationValues;
10
- }
11
- warnInConsole() {
12
- const { loaders, viewCoordinationValues, } = this;
13
- console.warn(
14
- // eslint-disable-next-line prefer-template
15
- `Expected to match on { ${Object.entries(viewCoordinationValues).map(([k, v]) => k + ': ' + v).join(', ')} }`, loaders);
16
- }
17
- }
@@ -1,10 +0,0 @@
1
- export default class LoaderValidationError extends AbstractLoaderError {
2
- constructor(datasetType: any, datasetFileType: any, datasetUrl: any, reason: any);
3
- name: string;
4
- datasetType: any;
5
- datasetFileType: any;
6
- datasetUrl: any;
7
- reason: any;
8
- }
9
- import AbstractLoaderError from './AbstractLoaderError.js';
10
- //# sourceMappingURL=LoaderValidationError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoaderValidationError.d.ts","sourceRoot":"","sources":["../../src/errors/LoaderValidationError.js"],"names":[],"mappings":"AAEA;IACE,kFAQC;IANC,aAAmC;IAEnC,iBAA8B;IAC9B,qBAAsC;IACtC,gBAA4B;IAC5B,YAAoB;CAYvB;gCAtB+B,0BAA0B"}
@@ -1,15 +0,0 @@
1
- import AbstractLoaderError from './AbstractLoaderError.js';
2
- export default class LoaderValidationError extends AbstractLoaderError {
3
- constructor(datasetType, datasetFileType, datasetUrl, reason) {
4
- super(`Error while validating ${datasetType}.`);
5
- this.name = 'LoaderValidationError';
6
- this.datasetType = datasetType;
7
- this.datasetFileType = datasetFileType;
8
- this.datasetUrl = datasetUrl;
9
- this.reason = reason;
10
- }
11
- warnInConsole() {
12
- const { datasetType, datasetUrl, reason, } = this;
13
- console.warn(`${datasetType} from ${datasetUrl}: validation failed`, JSON.stringify(reason, null, 2));
14
- }
15
- }
@@ -1,6 +0,0 @@
1
- export { default as AbstractLoaderError } from "./AbstractLoaderError.js";
2
- export { default as LoaderValidationError } from "./LoaderValidationError.js";
3
- export { default as LoaderNotFoundError } from "./LoaderNotFoundError.js";
4
- export { default as DatasetNotFoundError } from "./DatasetNotFoundError.js";
5
- export { default as DataSourceFetchError } from "./DataSourceFetchError.js";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.js"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- export { default as AbstractLoaderError } from './AbstractLoaderError.js';
2
- export { default as LoaderValidationError } from './LoaderValidationError.js';
3
- export { default as LoaderNotFoundError } from './LoaderNotFoundError.js';
4
- export { default as DatasetNotFoundError } from './DatasetNotFoundError.js';
5
- export { default as DataSourceFetchError } from './DataSourceFetchError.js';
@@ -1,41 +0,0 @@
1
- // @ts-check
2
- import LoaderResult from './LoaderResult.js';
3
-
4
- /** @import { LoaderParams } from '@vitessce/types' */
5
-
6
- /**
7
- * A loader ancestor class containing a default constructor
8
- * and a stub for the required load() method.
9
- */
10
- export default class AbstractLoader {
11
- /**
12
- *
13
- * @param {LoaderParams} params
14
- */
15
- constructor({
16
- type,
17
- fileType,
18
- url,
19
- requestInit,
20
- options,
21
- coordinationValues,
22
- }) {
23
- this.fileType = fileType;
24
- this.type = type;
25
- this.url = url;
26
- this.requestInit = requestInit;
27
- this.options = options;
28
- this.coordinationValues = coordinationValues;
29
- }
30
-
31
- /**
32
- *
33
- * @returns {Promise<LoaderResult<any>>}
34
- */
35
- // eslint-disable-next-line class-methods-use-this
36
- async load() {
37
- return Promise.resolve(
38
- new LoaderResult(true, null),
39
- );
40
- }
41
- }
@@ -1,19 +0,0 @@
1
- // @ts-check
2
- import AbstractLoader from './AbstractLoader.js';
3
-
4
- /** @import { LoaderParams } from '@vitessce/types' */
5
-
6
- /**
7
- * @template DataSourceType
8
- */
9
- export default class AbstractTwoStepLoader extends AbstractLoader {
10
- /**
11
- *
12
- * @param {DataSourceType} dataSource
13
- * @param {LoaderParams} params
14
- */
15
- constructor(dataSource, params) {
16
- super(params);
17
- this.dataSource = dataSource;
18
- }
19
- }
@@ -1,19 +0,0 @@
1
- // @ts-check
2
-
3
- /**
4
- * @template {any} LoaderDataType
5
- */
6
- export default class LoaderResult {
7
- /**
8
- * @param {LoaderDataType} data
9
- * @param {object[]|string|null} url Single URL or array of { url, name } objects.
10
- * @param {object|null} coordinationValues
11
- * @param {RequestInit|null} requestInit
12
- */
13
- constructor(data, url, coordinationValues = null, requestInit = null) {
14
- this.data = data;
15
- this.url = url;
16
- this.coordinationValues = coordinationValues;
17
- this.requestInit = requestInit;
18
- }
19
- }
package/src/data/index.js DELETED
@@ -1,3 +0,0 @@
1
- export { default as AbstractLoader } from './AbstractLoader.js';
2
- export { default as AbstractTwoStepLoader } from './AbstractTwoStepLoader.js';
3
- export { default as LoaderResult } from './LoaderResult.js';
@@ -1,28 +0,0 @@
1
- /**
2
- * Get the data source and data loader class.
3
- * @param {string} type The fileType name.
4
- * @param {PluginFileType[]} fileTypes The array of file types.
5
- * @returns {array} [dataSourceClass, dataLoaderClass].
6
- */
7
- export function getSourceAndLoaderFromFileType(type, fileTypes) {
8
- if (Array.isArray(fileTypes)) {
9
- const matchingFileType = fileTypes.find(ft => ft.name === type);
10
- if (matchingFileType) {
11
- return matchingFileType.getSourceAndLoader();
12
- }
13
- }
14
- // Fallback to JSON.
15
- // TODO(monorepo)
16
- // return [JsonSource, JsonLoader];
17
- return [null, null];
18
- }
19
-
20
- export function getDataTypeFromFileType(type, fileTypes) {
21
- if (Array.isArray(fileTypes)) {
22
- const matchingFileType = fileTypes.find(ft => ft.name === type);
23
- if (matchingFileType) {
24
- return matchingFileType.dataType;
25
- }
26
- }
27
- return null;
28
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * A loader error ancestor class containing a default constructor
3
- * and a stub for the required warnInConsole() method.
4
- */
5
- export default class AbstractLoaderError {
6
- constructor(message) {
7
- this.message = message;
8
- }
9
-
10
- // eslint-disable-next-line class-methods-use-this
11
- warnInConsole() {
12
- throw new Error('The warnInConsole() method has not been implemented.');
13
- }
14
- }
@@ -1,15 +0,0 @@
1
- import AbstractLoaderError from './AbstractLoaderError.js';
2
-
3
- export default class DataSourceFetchError extends AbstractLoaderError {
4
- constructor(source, url, headers) {
5
- super(`${source} Error HTTP Status fetching from ${url}`);
6
- this.source = source;
7
- this.url = url;
8
- this.headers = headers;
9
- }
10
-
11
- warnInConsole() {
12
- const { source, url, headers } = this;
13
- console.warn(`${source} failed to fetch from ${url} with headers ${JSON.stringify(headers)}`);
14
- }
15
- }
@@ -1,23 +0,0 @@
1
- import AbstractLoaderError from './AbstractLoaderError.js';
2
-
3
- export default class DatasetNotFoundError extends AbstractLoaderError {
4
- constructor(datasetUid) {
5
- super(`Error finding dataset for ${datasetUid}. Please check that at least one dataset exists in the view config.`);
6
- this.name = 'DatasetNotFoundError';
7
-
8
- this.datasetUid = datasetUid;
9
- }
10
-
11
- warnInConsole() {
12
- const {
13
- datasetUid,
14
- } = this;
15
- if (datasetUid) {
16
- console.warn(
17
- `Unable to find dataset for ${datasetUid}`,
18
- );
19
- } else {
20
- console.warn('No dataset uid specified.');
21
- }
22
- }
23
- }
@@ -1,24 +0,0 @@
1
- import AbstractLoaderError from './AbstractLoaderError.js';
2
-
3
- export default class LoaderNotFoundError extends AbstractLoaderError {
4
- constructor(loaders, dataset, fileType, viewCoordinationValues) {
5
- super(`Error: unable to find matching ${fileType} file in dataset ${dataset}.`);
6
- this.name = 'LoaderNotFoundError';
7
-
8
- this.loaders = loaders;
9
- this.dataset = dataset;
10
- this.fileType = fileType;
11
- this.viewCoordinationValues = viewCoordinationValues;
12
- }
13
-
14
- warnInConsole() {
15
- const {
16
- loaders, viewCoordinationValues,
17
- } = this;
18
- console.warn(
19
- // eslint-disable-next-line prefer-template
20
- `Expected to match on { ${Object.entries(viewCoordinationValues).map(([k, v]) => k + ': ' + v).join(', ')} }`,
21
- loaders,
22
- );
23
- }
24
- }
@@ -1,23 +0,0 @@
1
- import AbstractLoaderError from './AbstractLoaderError.js';
2
-
3
- export default class LoaderValidationError extends AbstractLoaderError {
4
- constructor(datasetType, datasetFileType, datasetUrl, reason) {
5
- super(`Error while validating ${datasetType}.`);
6
- this.name = 'LoaderValidationError';
7
-
8
- this.datasetType = datasetType;
9
- this.datasetFileType = datasetFileType;
10
- this.datasetUrl = datasetUrl;
11
- this.reason = reason;
12
- }
13
-
14
- warnInConsole() {
15
- const {
16
- datasetType, datasetUrl, reason,
17
- } = this;
18
- console.warn(
19
- `${datasetType} from ${datasetUrl}: validation failed`,
20
- JSON.stringify(reason, null, 2),
21
- );
22
- }
23
- }
@@ -1,5 +0,0 @@
1
- export { default as AbstractLoaderError } from './AbstractLoaderError.js';
2
- export { default as LoaderValidationError } from './LoaderValidationError.js';
3
- export { default as LoaderNotFoundError } from './LoaderNotFoundError.js';
4
- export { default as DatasetNotFoundError } from './DatasetNotFoundError.js';
5
- export { default as DataSourceFetchError } from './DataSourceFetchError.js';