mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 19:04:02 +00:00
refactor: expose reference sources independently of standalone setup
This commit is contained in:
1 parent
8bfce9080d
commit
e46d50ce52
9 files changed
+66
-19
No files matched your search
@@ -0,0 +1,10 @@
|
||||
import { createUsgsEarthquakeSource } from '../layers/earthquakes/source.js';
|
||||
import { createBundledCableSource } from '../layers/submarineCables/bundledSource.js';
|
||||
|
||||
/** Construct the existing reference feeds independently of application setup. */
|
||||
export function createReferenceSources() {
|
||||
return {
|
||||
earthquakes: createUsgsEarthquakeSource(),
|
||||
cables: createBundledCableSource(),
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
import test from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import { createReferenceSources } from './reference.js';
|
||||
import { createStandaloneReferenceSources } from '../standalone/layerSources.js';
|
||||
|
||||
test('reference factories retain compatibility without starting acquisition or sharing instances', (t) => {
|
||||
let requests = 0;
|
||||
t.mock.method(globalThis, 'fetch', () => {
|
||||
requests++;
|
||||
throw new Error('unexpected acquisition');
|
||||
});
|
||||
assert.equal(createReferenceSources, createStandaloneReferenceSources);
|
||||
const first = createReferenceSources();
|
||||
const second = createReferenceSources();
|
||||
assert.deepEqual(Object.keys(first), ['earthquakes', 'cables']);
|
||||
assert.notEqual(first.earthquakes, second.earthquakes);
|
||||
assert.notEqual(first.cables, second.cables);
|
||||
assert.equal(typeof first.earthquakes.getSnapshot, 'function');
|
||||
assert.equal(typeof first.cables.fetch, 'function');
|
||||
assert.equal(requests, 0);
|
||||
});
|
||||
Reference in new issue
Block a user