@geospatial-sdk/core 0.0.5-dev.39 → 0.0.5-dev.41
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.
- package/dist/model/map-context.d.ts +2 -2
- package/dist/model/map-context.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/map-context-diff.d.ts.map +1 -1
- package/dist/utils/map-context-diff.js +1 -4
- package/lib/model/map-context.ts +2 -2
- package/lib/utils/index.ts +1 -0
- package/lib/utils/map-context-diff.test.ts +32 -1
- package/lib/utils/map-context-diff.ts +1 -4
- package/package.json +2 -2
|
@@ -59,11 +59,11 @@ interface LayerGeojson extends MapContextBaseLayer {
|
|
|
59
59
|
type: "geojson";
|
|
60
60
|
style?: VectorStyle;
|
|
61
61
|
}
|
|
62
|
-
interface LayerGeojsonWithUrl extends LayerGeojson {
|
|
62
|
+
export interface LayerGeojsonWithUrl extends LayerGeojson {
|
|
63
63
|
url: string;
|
|
64
64
|
data?: never;
|
|
65
65
|
}
|
|
66
|
-
interface LayerGeojsonWithData extends LayerGeojson {
|
|
66
|
+
export interface LayerGeojsonWithData extends LayerGeojson {
|
|
67
67
|
data: FeatureCollection<Geometry | null> | string;
|
|
68
68
|
url?: never;
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-context.d.ts","sourceRoot":"","sources":["../../lib/model/map-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAGD,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,oCAAoC,CAAC;CACnD;AAED,UAAU,YAAa,SAAQ,mBAAmB;IAChD,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AACD,
|
|
1
|
+
{"version":3,"file":"map-context.d.ts","sourceRoot":"","sources":["../../lib/model/map-context.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from "./url";
|
|
2
2
|
export * from "./freeze";
|
|
3
|
+
export * from "./hash";
|
|
3
4
|
export { computeMapContextDiff } from "./map-context-diff";
|
|
4
5
|
export { getLayerPosition, addLayerToContext, removeLayerFromContext, replaceLayerInContext, changeLayerPositionInContext, } from "./map-context";
|
|
5
6
|
export { createViewFromLayer } from "./view";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from "./url";
|
|
2
2
|
export * from "./freeze";
|
|
3
|
+
export * from "./hash";
|
|
3
4
|
export { computeMapContextDiff } from "./map-context-diff";
|
|
4
5
|
export { getLayerPosition, addLayerToContext, removeLayerFromContext, replaceLayerInContext, changeLayerPositionInContext, } from "./map-context";
|
|
5
6
|
export { createViewFromLayer } from "./view";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-context-diff.d.ts","sourceRoot":"","sources":["../../lib/utils/map-context-diff.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EAIf,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"map-context-diff.d.ts","sourceRoot":"","sources":["../../lib/utils/map-context-diff.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EAIf,MAAM,UAAU,CAAC;AAGlB;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,UAAU,EACvB,eAAe,EAAE,UAAU,GAC1B,cAAc,CA0EhB"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { isLayerSame, isLayerSameAndUnchanged } from "./map-context";
|
|
2
|
-
import { getHash } from "./hash";
|
|
3
2
|
/**
|
|
4
3
|
* The following logic is produced by identifying layers in both context
|
|
5
4
|
* and determining whether they have been added, removed, changed or reordered.
|
|
@@ -69,9 +68,7 @@ export function computeMapContextDiff(nextContext, previousContext) {
|
|
|
69
68
|
});
|
|
70
69
|
}
|
|
71
70
|
}
|
|
72
|
-
let viewChanges =
|
|
73
|
-
? nextContext.view
|
|
74
|
-
: undefined;
|
|
71
|
+
let viewChanges = nextContext.view !== previousContext.view ? nextContext.view : undefined;
|
|
75
72
|
if (viewChanges !== null && viewChanges !== undefined) {
|
|
76
73
|
viewChanges = Object.assign({}, viewChanges); // copy the view to avoid unexpected mutations
|
|
77
74
|
}
|
package/lib/model/map-context.ts
CHANGED
|
@@ -71,11 +71,11 @@ interface LayerGeojson extends MapContextBaseLayer {
|
|
|
71
71
|
type: "geojson";
|
|
72
72
|
style?: VectorStyle;
|
|
73
73
|
}
|
|
74
|
-
interface LayerGeojsonWithUrl extends LayerGeojson {
|
|
74
|
+
export interface LayerGeojsonWithUrl extends LayerGeojson {
|
|
75
75
|
url: string;
|
|
76
76
|
data?: never;
|
|
77
77
|
}
|
|
78
|
-
interface LayerGeojsonWithData extends LayerGeojson {
|
|
78
|
+
export interface LayerGeojsonWithData extends LayerGeojson {
|
|
79
79
|
data: FeatureCollection<Geometry | null> | string;
|
|
80
80
|
url?: never;
|
|
81
81
|
}
|
package/lib/utils/index.ts
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
SAMPLE_LAYER4,
|
|
9
9
|
SAMPLE_LAYER5,
|
|
10
10
|
} from "../../fixtures/map-context.fixtures";
|
|
11
|
-
import { describe } from "vitest";
|
|
11
|
+
import { describe, it, expect, beforeEach } from "vitest";
|
|
12
12
|
|
|
13
13
|
describe("Context diff utils", () => {
|
|
14
14
|
describe("computeMapContextDiff", () => {
|
|
@@ -295,6 +295,37 @@ describe("Context diff utils", () => {
|
|
|
295
295
|
});
|
|
296
296
|
});
|
|
297
297
|
});
|
|
298
|
+
describe("same content but different reference", () => {
|
|
299
|
+
beforeEach(() => {
|
|
300
|
+
contextOld = {
|
|
301
|
+
...SAMPLE_CONTEXT,
|
|
302
|
+
view: {
|
|
303
|
+
center: [5, 10],
|
|
304
|
+
zoom: 3,
|
|
305
|
+
},
|
|
306
|
+
};
|
|
307
|
+
contextNew = {
|
|
308
|
+
...SAMPLE_CONTEXT,
|
|
309
|
+
view: {
|
|
310
|
+
center: [5, 10],
|
|
311
|
+
zoom: 3,
|
|
312
|
+
},
|
|
313
|
+
};
|
|
314
|
+
});
|
|
315
|
+
it("output the correct diff", () => {
|
|
316
|
+
diff = computeMapContextDiff(contextNew, contextOld);
|
|
317
|
+
expect(diff).toEqual({
|
|
318
|
+
layersAdded: [],
|
|
319
|
+
layersChanged: [],
|
|
320
|
+
layersRemoved: [],
|
|
321
|
+
layersReordered: [],
|
|
322
|
+
viewChanges: {
|
|
323
|
+
center: [5, 10],
|
|
324
|
+
zoom: 3,
|
|
325
|
+
},
|
|
326
|
+
});
|
|
327
|
+
});
|
|
328
|
+
});
|
|
298
329
|
});
|
|
299
330
|
|
|
300
331
|
describe("combined changes", () => {
|
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
MapContextLayerReordered,
|
|
7
7
|
} from "../model";
|
|
8
8
|
import { isLayerSame, isLayerSameAndUnchanged } from "./map-context";
|
|
9
|
-
import { getHash } from "./hash";
|
|
10
9
|
|
|
11
10
|
/**
|
|
12
11
|
* The following logic is produced by identifying layers in both context
|
|
@@ -92,9 +91,7 @@ export function computeMapContextDiff(
|
|
|
92
91
|
}
|
|
93
92
|
|
|
94
93
|
let viewChanges =
|
|
95
|
-
|
|
96
|
-
? nextContext.view
|
|
97
|
-
: undefined;
|
|
94
|
+
nextContext.view !== previousContext.view ? nextContext.view : undefined;
|
|
98
95
|
if (viewChanges !== null && viewChanges !== undefined) {
|
|
99
96
|
viewChanges = { ...viewChanges }; // copy the view to avoid unexpected mutations
|
|
100
97
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@geospatial-sdk/core",
|
|
3
|
-
"version": "0.0.5-dev.
|
|
3
|
+
"version": "0.0.5-dev.41+dba0603",
|
|
4
4
|
"description": "Core functions and models for the SDK",
|
|
5
5
|
"author": "Olivia <olivia.guyot@camptocamp.com>",
|
|
6
6
|
"homepage": "",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"test": "vitest",
|
|
23
23
|
"build": "tsc"
|
|
24
24
|
},
|
|
25
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "dba060374167251ca486946c95e8a885c121ccd5",
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"proj4": "^2.9.2"
|
|
28
28
|
},
|