@flighthq/connectivity 0.5.1-next.815.cc08b93 → 0.5.1-next.903.f434bc2
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/README.md +2 -2
- package/dist/connectivity.d.ts +2 -1
- package/dist/connectivity.d.ts.map +1 -1
- package/dist/connectivity.js +11 -8
- package/dist/connectivity.js.map +1 -1
- package/dist/contract.d.ts +1 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +1 -0
- package/dist/contract.js.map +1 -1
- package/package.json +4 -4
- package/src/connectivity.test.ts +18 -17
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/connectivity`. The `
|
|
|
13
13
|
This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
|
|
14
14
|
|
|
15
15
|
- [Flight project](https://github.com/flighthq/flight)
|
|
16
|
-
- [Source for @flighthq/connectivity@0.5.1-next.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/connectivity@0.5.1-next.903.f434bc2](https://github.com/flighthq/flight/tree/f434bc233778d75aeea61995df3a8cfaec459a85/packages/connectivity)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/f434bc233778d75aeea61995df3a8cfaec459a85/LICENSE.md)
|
package/dist/connectivity.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Connectivity, ConnectivityReachability, ConnectivityReachabilityOptions, ConnectivityStatus, HasConnectivityChange, HasConnectivityReachability, HasConnectivityStatus } from '@flighthq/types/contract';
|
|
1
|
+
import type { Connectivity, ConnectivityReachability, ConnectivityReachabilityOptions, ConnectivityStatus, EntityConstruction, HasConnectivityChange, HasConnectivityReachability, HasConnectivityStatus } from '@flighthq/types/contract';
|
|
2
2
|
export declare function attachConnectivity(host: HasConnectivityStatus & HasConnectivityChange, connectivity: Connectivity): boolean;
|
|
3
3
|
export declare function createConnectivity(): Connectivity;
|
|
4
4
|
export declare function destroyConnectivity(host: HasConnectivityChange): void;
|
|
@@ -8,6 +8,7 @@ export declare function disposeConnectivity(connectivity: Connectivity): void;
|
|
|
8
8
|
export declare function getConnectivityOnline(host: HasConnectivityStatus): boolean | null;
|
|
9
9
|
export declare function getConnectivityStatus(host: HasConnectivityStatus, out: ConnectivityStatus): ConnectivityStatus;
|
|
10
10
|
export declare function hasConnectivityStatusChanged(a: Readonly<ConnectivityStatus>, b: Readonly<ConnectivityStatus>): boolean;
|
|
11
|
+
export declare function initializeConnectivity(out: EntityConstruction<Connectivity>): void;
|
|
11
12
|
export declare function isConnectivityMetered(host: HasConnectivityStatus): boolean;
|
|
12
13
|
export declare function isConnectivitySaveDataEnabled(host: HasConnectivityStatus): boolean;
|
|
13
14
|
//# sourceMappingURL=connectivity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectivity.d.ts","sourceRoot":"","sources":["../src/connectivity.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,wBAAwB,EACxB,+BAA+B,EAC/B,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,EACnD,YAAY,EAAE,YAAY,GACzB,OAAO,CA2BT;AAED,wBAAgB,kBAAkB,IAAI,YAAY,
|
|
1
|
+
{"version":3,"file":"connectivity.d.ts","sourceRoot":"","sources":["../src/connectivity.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,wBAAwB,EACxB,+BAA+B,EAC/B,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,EACnD,YAAY,EAAE,YAAY,GACzB,OAAO,CA2BT;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAIjD;AAID,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAErE;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAKnE;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,2BAA2B,EACjC,OAAO,EAAE,QAAQ,CAAC,+BAA+B,CAAC,EAClD,GAAG,EAAE,wBAAwB,GAC5B,OAAO,CAAC,wBAAwB,CAAC,CAEnC;AAID,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAOpE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,GAAG,IAAI,CAEjF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,kBAAkB,GAAG,kBAAkB,CAE9G;AAED,wBAAgB,4BAA4B,CAC1C,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAC/B,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAC9B,OAAO,CAWT;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,kBAAkB,CAAC,YAAY,CAAC,GAAG,IAAI,CAMlF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAE1E;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAElF"}
|
package/dist/connectivity.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import { clearSignal, createSignal, emitSignal } from '@flighthq/signals/contract';
|
|
3
3
|
// Starts raw host-change delivery and turns it into the five core-owned diff signals. Status and
|
|
4
4
|
// change are separate Host witnesses: a snapshot command cannot stand in for an event subscription.
|
|
@@ -36,13 +36,9 @@ export function attachConnectivity(host, connectivity) {
|
|
|
36
36
|
return true;
|
|
37
37
|
}
|
|
38
38
|
export function createConnectivity() {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
onMeteredChange: createSignal(),
|
|
43
|
-
onOffline: createSignal(),
|
|
44
|
-
onOnline: createSignal(),
|
|
45
|
-
});
|
|
39
|
+
const out = allocateEntity();
|
|
40
|
+
initializeConnectivity(out);
|
|
41
|
+
return finishEntity(out);
|
|
46
42
|
}
|
|
47
43
|
// Terminal provider teardown. This is deliberately separate from per-entity detach: a caller that
|
|
48
44
|
// releases one subscription must not destroy a shared host provider.
|
|
@@ -85,6 +81,13 @@ export function hasConnectivityStatusChanged(a, b) {
|
|
|
85
81
|
a.saveData !== b.saveData ||
|
|
86
82
|
a.metered !== b.metered);
|
|
87
83
|
}
|
|
84
|
+
export function initializeConnectivity(out) {
|
|
85
|
+
out.onChange = createSignal();
|
|
86
|
+
out.onConnectionTypeChange = createSignal();
|
|
87
|
+
out.onMeteredChange = createSignal();
|
|
88
|
+
out.onOffline = createSignal();
|
|
89
|
+
out.onOnline = createSignal();
|
|
90
|
+
}
|
|
88
91
|
export function isConnectivityMetered(host) {
|
|
89
92
|
return host.connectivity.status.getStatus(connectivityStatusOut()).metered;
|
|
90
93
|
}
|
package/dist/connectivity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectivity.js","sourceRoot":"","sources":["../src/connectivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"connectivity.js","sourceRoot":"","sources":["../src/connectivity.ts"],"names":[],"mappings":"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"}
|
package/dist/contract.d.ts
CHANGED
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/contract.js
CHANGED
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/connectivity",
|
|
3
|
-
"version": "0.5.1-next.
|
|
3
|
+
"version": "0.5.1-next.903.f434bc2",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/entity": "0.5.1-next.
|
|
42
|
-
"@flighthq/signals": "0.5.1-next.
|
|
43
|
-
"@flighthq/types": "0.5.1-next.
|
|
41
|
+
"@flighthq/entity": "0.5.1-next.903.f434bc2",
|
|
42
|
+
"@flighthq/signals": "0.5.1-next.903.f434bc2",
|
|
43
|
+
"@flighthq/types": "0.5.1-next.903.f434bc2"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"typescript": "^5.3.0"
|
package/src/connectivity.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import { connectSignal, hasSignalSlots } from '@flighthq/signals/contract';
|
|
3
3
|
import type {
|
|
4
4
|
ConnectivityChangeBackend,
|
|
@@ -48,18 +48,19 @@ function fakeProvider(
|
|
|
48
48
|
let unsubscribes = 0;
|
|
49
49
|
let destroyed = false;
|
|
50
50
|
return Object.assign(
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
(() => {
|
|
52
|
+
const out = allocateEntity<any>();
|
|
53
|
+
out.destroy = () => {
|
|
53
54
|
if (destroyed) return;
|
|
54
55
|
destroyed = true;
|
|
55
56
|
destroys++;
|
|
56
57
|
listeners.clear();
|
|
57
|
-
}
|
|
58
|
-
getStatus(out: ConnectivityStatus) {
|
|
58
|
+
};
|
|
59
|
+
out.getStatus = (out: ConnectivityStatus) => {
|
|
59
60
|
Object.assign(out, current);
|
|
60
61
|
return out;
|
|
61
|
-
}
|
|
62
|
-
subscribe(listener: () => void) {
|
|
62
|
+
};
|
|
63
|
+
out.subscribe = (listener: () => void) => {
|
|
63
64
|
if (!subscriptionAvailable || destroyed) return null;
|
|
64
65
|
listeners.add(listener);
|
|
65
66
|
let active = true;
|
|
@@ -69,8 +70,9 @@ function fakeProvider(
|
|
|
69
70
|
unsubscribes++;
|
|
70
71
|
listeners.delete(listener);
|
|
71
72
|
};
|
|
72
|
-
}
|
|
73
|
-
|
|
73
|
+
};
|
|
74
|
+
return finishEntity(out);
|
|
75
|
+
})(),
|
|
74
76
|
{
|
|
75
77
|
activeSubscriptions: () => listeners.size,
|
|
76
78
|
destroyCalls: () => destroys,
|
|
@@ -215,14 +217,13 @@ describe('detachConnectivity', () => {
|
|
|
215
217
|
describe('detectConnectivityReachability', () => {
|
|
216
218
|
it('dispatches reachability only to the supplied reachability slot', async () => {
|
|
217
219
|
let calls = 0;
|
|
218
|
-
const reachability =
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
} satisfies Omit<ConnectivityReachabilityBackend, typeof EntityRuntimeKey>);
|
|
220
|
+
const reachability = allocateEntity<ConnectivityReachabilityBackend>();
|
|
221
|
+
reachability.detectReachability = async (_options, out) => {
|
|
222
|
+
calls++;
|
|
223
|
+
out.latency = 7;
|
|
224
|
+
out.reachable = true;
|
|
225
|
+
return out;
|
|
226
|
+
};
|
|
226
227
|
const out = { latency: -1, reachable: false };
|
|
227
228
|
const result = await detectConnectivityReachability(
|
|
228
229
|
{ connectivity: { reachability } },
|