@flighthq/protocol 0.5.0-next.1944.cd6b6e7 → 0.5.1-edge.1047.858b9b6
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/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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/protocol.d.ts +13 -18
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +75 -210
- package/dist/protocol.js.map +1 -1
- package/package.json +4 -3
- package/src/protocol.test.ts +134 -462
- package/src/protocolHost.test.ts +70 -0
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/protocol`. The `@fli
|
|
|
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/protocol@0.5.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/protocol@0.5.1-edge.1047.858b9b6](https://github.com/flighthq/flight/tree/858b9b601de814f6b6940cbb1ffff0916b903268/packages/protocol)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/858b9b601de814f6b6940cbb1ffff0916b903268/LICENSE.md)
|
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,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,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,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { attachProtocolHandler, createProtocolHandler, createProtocolUrl, detachProtocolHandler, disposeProtocolHandler,
|
|
1
|
+
export { attachProtocolHandler, createProtocolHandler, createProtocolUrl, detachProtocolHandler, disposeProtocolHandler, getProtocolLaunchUrl, getRegisteredProtocolSchemes, isProtocolSchemeDefault, isProtocolSchemeRegistered, isValidProtocolScheme, parseProtocolUrl, registerProtocolScheme, registerProtocolSchemes, removeProtocolSchemeAsDefault, setProtocolSchemeAsDefault, unregisterProtocolScheme, unregisterProtocolSchemes, } from './contract';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { attachProtocolHandler, createProtocolHandler, createProtocolUrl, detachProtocolHandler, disposeProtocolHandler,
|
|
1
|
+
export { attachProtocolHandler, createProtocolHandler, createProtocolUrl, detachProtocolHandler, disposeProtocolHandler, getProtocolLaunchUrl, getRegisteredProtocolSchemes, isProtocolSchemeDefault, isProtocolSchemeRegistered, isValidProtocolScheme, parseProtocolUrl, registerProtocolScheme, registerProtocolSchemes, removeProtocolSchemeAsDefault, setProtocolSchemeAsDefault, unregisterProtocolScheme, unregisterProtocolSchemes, } from './contract';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -1,25 +1,20 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function attachProtocolHandler(handler: ProtocolHandler): void;
|
|
1
|
+
import type { EntityConstruction, HasProtocolDefault, HasProtocolLaunch, HasProtocolOpen, HasProtocolRegistration, HasProtocolRegistrationQuery, HasProtocolUnregistration, ParsedProtocolUrl, ProtocolHandler } from '@flighthq/types/contract';
|
|
2
|
+
export declare function attachProtocolHandler(host: HasProtocolOpen, handler: ProtocolHandler): void;
|
|
3
3
|
export declare function createProtocolHandler(): ProtocolHandler;
|
|
4
4
|
export declare function createProtocolUrl(parts: Readonly<Partial<ParsedProtocolUrl>>): string;
|
|
5
5
|
export declare function detachProtocolHandler(handler: ProtocolHandler): void;
|
|
6
6
|
export declare function disposeProtocolHandler(handler: ProtocolHandler): void;
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function
|
|
11
|
-
export declare function
|
|
12
|
-
export declare function isProtocolSchemeDefault(scheme: string): boolean;
|
|
13
|
-
export declare function isProtocolSchemeRegistered(scheme: string): boolean;
|
|
7
|
+
export declare function getProtocolLaunchUrl(host: HasProtocolLaunch): string | null;
|
|
8
|
+
export declare function getRegisteredProtocolSchemes(host: HasProtocolRegistration): readonly string[];
|
|
9
|
+
export declare function initializeProtocolHandler(out: EntityConstruction<ProtocolHandler>): void;
|
|
10
|
+
export declare function isProtocolSchemeDefault(host: HasProtocolDefault, scheme: string): boolean;
|
|
11
|
+
export declare function isProtocolSchemeRegistered(host: HasProtocolRegistrationQuery, scheme: string): boolean;
|
|
14
12
|
export declare function isValidProtocolScheme(scheme: string): boolean;
|
|
15
|
-
export declare function observeProtocolHostResult(operation: string, succeeded: boolean): void;
|
|
16
13
|
export declare function parseProtocolUrl(url: string): ParsedProtocolUrl | null;
|
|
17
|
-
export declare function registerProtocolScheme(scheme: string): boolean;
|
|
18
|
-
export declare function registerProtocolSchemes(schemes: readonly string[]): boolean;
|
|
19
|
-
export declare function removeProtocolSchemeAsDefault(scheme: string): boolean;
|
|
20
|
-
export declare function
|
|
21
|
-
export declare function
|
|
22
|
-
export declare function
|
|
23
|
-
export declare function unregisterProtocolScheme(scheme: string): boolean;
|
|
24
|
-
export declare function unregisterProtocolSchemes(schemes: readonly string[]): boolean;
|
|
14
|
+
export declare function registerProtocolScheme(host: HasProtocolRegistration, scheme: string): boolean;
|
|
15
|
+
export declare function registerProtocolSchemes(host: HasProtocolRegistration, schemes: readonly string[]): boolean;
|
|
16
|
+
export declare function removeProtocolSchemeAsDefault(host: HasProtocolDefault, scheme: string): boolean;
|
|
17
|
+
export declare function setProtocolSchemeAsDefault(host: HasProtocolDefault, scheme: string): boolean;
|
|
18
|
+
export declare function unregisterProtocolScheme(host: HasProtocolUnregistration, scheme: string): boolean;
|
|
19
|
+
export declare function unregisterProtocolSchemes(host: HasProtocolUnregistration, schemes: readonly string[]): boolean;
|
|
25
20
|
//# sourceMappingURL=protocol.d.ts.map
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAO3F;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CAIvD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAkBrF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAGpE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAGrE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAE3E;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,uBAAuB,GAAG,SAAS,MAAM,EAAE,CAE7F;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,kBAAkB,CAAC,eAAe,CAAC,GAAG,IAAI,CAExF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzF;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEtG;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAK7D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAwCtE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7F;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAQ1G;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE/F;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE5F;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjG;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAQ9G"}
|
package/dist/protocol.js
CHANGED
|
@@ -1,28 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
// arrived before this call (buffered by the backend between process start and first attach) and
|
|
5
|
-
// emits each one before activating the live subscription. Pair with
|
|
6
|
-
// detachProtocolHandler/disposeProtocolHandler.
|
|
7
|
-
export function attachProtocolHandler(handler) {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
|
+
import { clearSignal, createSignal, emitSignal } from '@flighthq/signals/contract';
|
|
3
|
+
export function attachProtocolHandler(host, handler) {
|
|
8
4
|
detachProtocolHandler(handler);
|
|
9
|
-
const backend =
|
|
10
|
-
|
|
11
|
-
const pending = backend.drainPendingUrls();
|
|
12
|
-
for (const url of pending) {
|
|
13
|
-
emitSignal(handler.onOpenUrl, url);
|
|
14
|
-
}
|
|
15
|
-
const unsubscribe = backend.subscribe((url) => emitSignal(handler.onOpenUrl, url));
|
|
16
|
-
_subscriptions.set(handler, unsubscribe);
|
|
5
|
+
const backend = host.protocol.open;
|
|
6
|
+
_subscriptions.set(handler, backend.subscribe((url) => emitSignal(handler.onOpenUrl, url)));
|
|
17
7
|
}
|
|
18
|
-
// Allocates a ProtocolHandler event entity with an inert signal; call attachProtocolHandler to start
|
|
19
|
-
// delivery.
|
|
20
8
|
export function createProtocolHandler() {
|
|
21
|
-
|
|
9
|
+
const out = allocateEntity();
|
|
10
|
+
initializeProtocolHandler(out);
|
|
11
|
+
return finishEntity(out);
|
|
22
12
|
}
|
|
23
|
-
// Builds a protocol URL string from its parsed components. scheme, host, path, and query are all
|
|
24
|
-
// optional; the result is always a valid absolute URI string. Round-trips with parseProtocolUrl for
|
|
25
|
-
// well-formed inputs.
|
|
26
13
|
export function createProtocolUrl(parts) {
|
|
27
14
|
const scheme = parts.scheme ?? 'unknown';
|
|
28
15
|
const host = parts.host ?? '';
|
|
@@ -32,77 +19,39 @@ export function createProtocolUrl(parts) {
|
|
|
32
19
|
const normalizedPath = path && !path.startsWith('/') ? `/${path}` : path;
|
|
33
20
|
let url = `${scheme}:${authority}${normalizedPath}`;
|
|
34
21
|
if (query) {
|
|
35
|
-
const entries = Object.entries(query).filter(([
|
|
22
|
+
const entries = Object.entries(query).filter(([key]) => key.length > 0);
|
|
36
23
|
if (entries.length > 0) {
|
|
37
|
-
const
|
|
38
|
-
|
|
24
|
+
const queryString = entries
|
|
25
|
+
.map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
|
|
26
|
+
.join('&');
|
|
27
|
+
url += `?${queryString}`;
|
|
39
28
|
}
|
|
40
29
|
}
|
|
41
30
|
return url;
|
|
42
31
|
}
|
|
43
|
-
// Stops delivery to `handler` and forgets its subscription. Safe to call when not attached.
|
|
44
32
|
export function detachProtocolHandler(handler) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
unsubscribe();
|
|
48
|
-
_subscriptions.delete(handler);
|
|
49
|
-
}
|
|
33
|
+
_subscriptions.get(handler)?.();
|
|
34
|
+
_subscriptions.delete(handler);
|
|
50
35
|
}
|
|
51
|
-
// Releases `handler` for garbage collection by detaching its backend subscription. The signal remains
|
|
52
|
-
// plain GC-managed memory afterward.
|
|
53
36
|
export function disposeProtocolHandler(handler) {
|
|
54
37
|
detachProtocolHandler(handler);
|
|
38
|
+
clearSignal(handler.onOpenUrl);
|
|
55
39
|
}
|
|
56
|
-
export function
|
|
57
|
-
|
|
58
|
-
return { conflict: _hostConflict, layer: 'custom', operation: null, viability: 'unobserved' };
|
|
59
|
-
}
|
|
60
|
-
if (_host !== null) {
|
|
61
|
-
return {
|
|
62
|
-
conflict: _hostConflict,
|
|
63
|
-
layer: 'host',
|
|
64
|
-
operation: _hostObservation !== null ? _hostObservation.operation : null,
|
|
65
|
-
viability: _hostObservation !== null ? _hostObservation.viability : 'unobserved',
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
return { conflict: false, layer: 'host-not-enabled', operation: null, viability: 'unobserved' };
|
|
40
|
+
export function getProtocolLaunchUrl(host) {
|
|
41
|
+
return host.protocol.launch.getLaunchUrl();
|
|
69
42
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
return _custom ?? _host ?? _sentinel;
|
|
43
|
+
export function getRegisteredProtocolSchemes(host) {
|
|
44
|
+
return host.protocol.registration.getRegisteredSchemes();
|
|
73
45
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
// onOpenUrl, which fires only for warm (subsequent) opens.
|
|
77
|
-
export function getProtocolLaunchUrl() {
|
|
78
|
-
return getProtocolBackend().getLaunchUrl();
|
|
79
|
-
}
|
|
80
|
-
// Returns all custom URI schemes currently registered by this app. Returns [] when the host cannot
|
|
81
|
-
// enumerate registered schemes.
|
|
82
|
-
export function getRegisteredProtocolSchemes() {
|
|
83
|
-
return getProtocolBackend().getRegisteredSchemes();
|
|
84
|
-
}
|
|
85
|
-
export function installProtocolHostBackend(backend) {
|
|
86
|
-
if (_host !== null) {
|
|
87
|
-
if (_host !== backend)
|
|
88
|
-
_hostConflict = true;
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
_host = backend;
|
|
46
|
+
export function initializeProtocolHandler(out) {
|
|
47
|
+
out.onOpenUrl = createSignal();
|
|
92
48
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
export function isProtocolSchemeDefault(scheme) {
|
|
96
|
-
return getProtocolBackend().isDefault(scheme);
|
|
49
|
+
export function isProtocolSchemeDefault(host, scheme) {
|
|
50
|
+
return isValidProtocolScheme(scheme) && host.protocol.default.isDefault(scheme);
|
|
97
51
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
return getProtocolBackend().isRegistered(scheme);
|
|
52
|
+
export function isProtocolSchemeRegistered(host, scheme) {
|
|
53
|
+
return isValidProtocolScheme(scheme) && host.protocol.registrationQuery.isRegistered(scheme);
|
|
101
54
|
}
|
|
102
|
-
// Returns true when `scheme` is a valid RFC 3986 URI scheme: starts with an ASCII letter followed by
|
|
103
|
-
// zero or more letters, digits, '+', '-', or '.'. Reserved schemes ('http', 'https', 'ftp', 'ftps',
|
|
104
|
-
// 'mailto', 'file') are rejected to prevent OS conflicts. Scheme is lowercased before validation so
|
|
105
|
-
// 'MyApp' is treated identically to 'myapp'.
|
|
106
55
|
export function isValidProtocolScheme(scheme) {
|
|
107
56
|
if (typeof scheme !== 'string' || scheme.length === 0)
|
|
108
57
|
return false;
|
|
@@ -111,177 +60,93 @@ export function isValidProtocolScheme(scheme) {
|
|
|
111
60
|
return false;
|
|
112
61
|
return _schemePattern.test(lower);
|
|
113
62
|
}
|
|
114
|
-
export function observeProtocolHostResult(operation, succeeded) {
|
|
115
|
-
_hostObservation = {
|
|
116
|
-
operation,
|
|
117
|
-
viability: succeeded ? 'available' : 'runtime-api-unavailable',
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
// Parses a deep-link URL into its components. Returns null for malformed or non-custom-scheme URLs.
|
|
121
|
-
// query values are percent-decoded. Multi-value query keys: last value wins (matches URLSearchParams
|
|
122
|
-
// behavior). This function does not allocate a large object on the happy path — it reads all fields
|
|
123
|
-
// before writing to avoid aliasing issues if the caller reuses a buffer.
|
|
124
63
|
export function parseProtocolUrl(url) {
|
|
125
64
|
if (typeof url !== 'string' || url.length === 0)
|
|
126
65
|
return null;
|
|
127
|
-
const
|
|
128
|
-
if (
|
|
66
|
+
const colonIndex = url.indexOf(':');
|
|
67
|
+
if (colonIndex <= 0)
|
|
129
68
|
return null;
|
|
130
|
-
const scheme = url.slice(0,
|
|
69
|
+
const scheme = url.slice(0, colonIndex).toLowerCase();
|
|
131
70
|
if (!_schemePattern.test(scheme))
|
|
132
71
|
return null;
|
|
133
|
-
let rest = url.slice(
|
|
134
|
-
// Authority (//host)
|
|
72
|
+
let rest = url.slice(colonIndex + 1);
|
|
135
73
|
let host = '';
|
|
136
74
|
if (rest.startsWith('//')) {
|
|
137
75
|
rest = rest.slice(2);
|
|
138
|
-
const
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
hostEnd = qIdx;
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
hostEnd = rest.length;
|
|
149
|
-
}
|
|
76
|
+
const slashIndex = rest.indexOf('/');
|
|
77
|
+
const queryIndex = rest.indexOf('?');
|
|
78
|
+
const hostEnd = slashIndex >= 0 && (queryIndex < 0 || slashIndex < queryIndex)
|
|
79
|
+
? slashIndex
|
|
80
|
+
: queryIndex >= 0
|
|
81
|
+
? queryIndex
|
|
82
|
+
: rest.length;
|
|
150
83
|
host = rest.slice(0, hostEnd);
|
|
151
84
|
rest = rest.slice(hostEnd);
|
|
152
85
|
}
|
|
153
|
-
|
|
154
|
-
const
|
|
155
|
-
|
|
156
|
-
let queryString;
|
|
157
|
-
if (qIdx >= 0) {
|
|
158
|
-
path = rest.slice(0, qIdx);
|
|
159
|
-
queryString = rest.slice(qIdx + 1);
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
path = rest;
|
|
163
|
-
queryString = '';
|
|
164
|
-
}
|
|
165
|
-
// Decode query
|
|
86
|
+
const queryIndex = rest.indexOf('?');
|
|
87
|
+
const path = queryIndex >= 0 ? rest.slice(0, queryIndex) : rest;
|
|
88
|
+
const queryString = queryIndex >= 0 ? rest.slice(queryIndex + 1) : '';
|
|
166
89
|
const query = {};
|
|
167
90
|
if (queryString.length > 0) {
|
|
168
91
|
for (const pair of queryString.split('&')) {
|
|
169
|
-
const
|
|
170
|
-
if (
|
|
171
|
-
const
|
|
172
|
-
if (
|
|
173
|
-
query[
|
|
92
|
+
const equalsIndex = pair.indexOf('=');
|
|
93
|
+
if (equalsIndex < 0) {
|
|
94
|
+
const key = safeDecodeProtocolComponent(pair);
|
|
95
|
+
if (key.length > 0)
|
|
96
|
+
query[key] = '';
|
|
174
97
|
}
|
|
175
98
|
else {
|
|
176
|
-
const
|
|
177
|
-
if (
|
|
178
|
-
query[
|
|
99
|
+
const key = safeDecodeProtocolComponent(pair.slice(0, equalsIndex));
|
|
100
|
+
if (key.length > 0)
|
|
101
|
+
query[key] = safeDecodeProtocolComponent(pair.slice(equalsIndex + 1));
|
|
179
102
|
}
|
|
180
103
|
}
|
|
181
104
|
}
|
|
182
|
-
return {
|
|
105
|
+
return { host, path, query, scheme };
|
|
183
106
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
// registration.
|
|
187
|
-
export function registerProtocolScheme(scheme) {
|
|
188
|
-
if (!isValidProtocolScheme(scheme))
|
|
189
|
-
return false;
|
|
190
|
-
return getProtocolBackend().register(scheme);
|
|
107
|
+
export function registerProtocolScheme(host, scheme) {
|
|
108
|
+
return isValidProtocolScheme(scheme) && host.protocol.registration.register(scheme);
|
|
191
109
|
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
const backend =
|
|
196
|
-
let
|
|
110
|
+
export function registerProtocolSchemes(host, schemes) {
|
|
111
|
+
if (!schemes.every(isValidProtocolScheme))
|
|
112
|
+
return false;
|
|
113
|
+
const backend = host.protocol.registration;
|
|
114
|
+
let allSucceeded = true;
|
|
197
115
|
for (const scheme of schemes) {
|
|
198
|
-
if (!
|
|
199
|
-
|
|
116
|
+
if (!backend.register(scheme))
|
|
117
|
+
allSucceeded = false;
|
|
200
118
|
}
|
|
201
|
-
return
|
|
202
|
-
}
|
|
203
|
-
// Removes this app as the OS default handler for `scheme`. Returns false when the host denies or does
|
|
204
|
-
// not support it.
|
|
205
|
-
export function removeProtocolSchemeAsDefault(scheme) {
|
|
206
|
-
return getProtocolBackend().removeAsDefault(scheme);
|
|
119
|
+
return allSucceeded;
|
|
207
120
|
}
|
|
208
|
-
export function
|
|
209
|
-
|
|
210
|
-
_host = null;
|
|
211
|
-
_hostConflict = false;
|
|
212
|
-
_hostObservation = null;
|
|
121
|
+
export function removeProtocolSchemeAsDefault(host, scheme) {
|
|
122
|
+
return isValidProtocolScheme(scheme) && host.protocol.default.removeAsDefault(scheme);
|
|
213
123
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
_custom = backend;
|
|
124
|
+
export function setProtocolSchemeAsDefault(host, scheme) {
|
|
125
|
+
return isValidProtocolScheme(scheme) && host.protocol.default.setAsDefault(scheme);
|
|
217
126
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
export function setProtocolSchemeAsDefault(scheme) {
|
|
221
|
-
return getProtocolBackend().setAsDefault(scheme);
|
|
127
|
+
export function unregisterProtocolScheme(host, scheme) {
|
|
128
|
+
return isValidProtocolScheme(scheme) && host.protocol.unregistration.unregister(scheme);
|
|
222
129
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
// Unregisters multiple custom URI schemes in one call. Returns false if any unregistration fails.
|
|
229
|
-
export function unregisterProtocolSchemes(schemes) {
|
|
230
|
-
const backend = getProtocolBackend();
|
|
231
|
-
let allOk = true;
|
|
130
|
+
export function unregisterProtocolSchemes(host, schemes) {
|
|
131
|
+
if (!schemes.every(isValidProtocolScheme))
|
|
132
|
+
return false;
|
|
133
|
+
const backend = host.protocol.unregistration;
|
|
134
|
+
let allSucceeded = true;
|
|
232
135
|
for (const scheme of schemes) {
|
|
233
136
|
if (!backend.unregister(scheme))
|
|
234
|
-
|
|
137
|
+
allSucceeded = false;
|
|
235
138
|
}
|
|
236
|
-
return
|
|
139
|
+
return allSucceeded;
|
|
237
140
|
}
|
|
238
|
-
const _sentinel = {
|
|
239
|
-
drainPendingUrls() {
|
|
240
|
-
return [];
|
|
241
|
-
},
|
|
242
|
-
getLaunchUrl() {
|
|
243
|
-
return null;
|
|
244
|
-
},
|
|
245
|
-
getRegisteredSchemes() {
|
|
246
|
-
return [];
|
|
247
|
-
},
|
|
248
|
-
isDefault() {
|
|
249
|
-
return false;
|
|
250
|
-
},
|
|
251
|
-
isRegistered() {
|
|
252
|
-
return false;
|
|
253
|
-
},
|
|
254
|
-
register() {
|
|
255
|
-
return false;
|
|
256
|
-
},
|
|
257
|
-
removeAsDefault() {
|
|
258
|
-
return false;
|
|
259
|
-
},
|
|
260
|
-
setAsDefault() {
|
|
261
|
-
return false;
|
|
262
|
-
},
|
|
263
|
-
subscribe() {
|
|
264
|
-
return () => { };
|
|
265
|
-
},
|
|
266
|
-
unregister() {
|
|
267
|
-
return false;
|
|
268
|
-
},
|
|
269
|
-
};
|
|
270
|
-
// RFC 3986 scheme grammar: letter followed by zero or more letter/digit/+/-/. (lowercased).
|
|
271
141
|
const _schemePattern = /^[a-z][a-z0-9+\-.]*$/;
|
|
272
|
-
// Schemes that should never be claimed as custom URI handlers to avoid OS conflicts.
|
|
273
142
|
const _reservedSchemes = new Set(['file', 'ftp', 'ftps', 'http', 'https', 'mailto']);
|
|
274
|
-
let _custom = null;
|
|
275
|
-
let _host = null;
|
|
276
|
-
let _hostConflict = false;
|
|
277
|
-
let _hostObservation = null;
|
|
278
143
|
const _subscriptions = new WeakMap();
|
|
279
|
-
function
|
|
144
|
+
function safeDecodeProtocolComponent(value) {
|
|
280
145
|
try {
|
|
281
|
-
return decodeURIComponent(
|
|
146
|
+
return decodeURIComponent(value.replace(/\+/g, ' '));
|
|
282
147
|
}
|
|
283
148
|
catch {
|
|
284
|
-
return
|
|
149
|
+
return value;
|
|
285
150
|
}
|
|
286
151
|
}
|
|
287
152
|
//# sourceMappingURL=protocol.js.map
|
package/dist/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/protocol",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1-edge.1047.858b9b6",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,8 +38,9 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/
|
|
42
|
-
"@flighthq/
|
|
41
|
+
"@flighthq/entity": "0.5.1-edge.1047.858b9b6",
|
|
42
|
+
"@flighthq/signals": "0.5.1-edge.1047.858b9b6",
|
|
43
|
+
"@flighthq/types": "0.5.1-edge.1047.858b9b6"
|
|
43
44
|
},
|
|
44
45
|
"devDependencies": {
|
|
45
46
|
"typescript": "^5.3.0"
|