@dynamic-labs/react-native-extension 4.22.8 → 4.23.1
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/index.cjs
CHANGED
|
@@ -9,12 +9,13 @@ var reactNativeWebview = require('react-native-webview');
|
|
|
9
9
|
var logger$1 = require('@dynamic-labs/logger');
|
|
10
10
|
var messageTransport = require('@dynamic-labs/message-transport');
|
|
11
11
|
var jsxRuntime = require('react/jsx-runtime');
|
|
12
|
+
var reactNativePasskey = require('react-native-passkey');
|
|
12
13
|
var expoLinking = require('expo-linking');
|
|
13
14
|
var expoWebBrowser = require('expo-web-browser');
|
|
14
15
|
var expoSecureStore = require('expo-secure-store');
|
|
15
16
|
var reactNativePasskeyStamper = require('@turnkey/react-native-passkey-stamper');
|
|
16
17
|
|
|
17
|
-
var version = "4.
|
|
18
|
+
var version = "4.23.1";
|
|
18
19
|
|
|
19
20
|
function _extends() {
|
|
20
21
|
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
@@ -364,6 +365,37 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
364
365
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
365
366
|
};
|
|
366
367
|
|
|
368
|
+
const setupPasskeyHandler = core => {
|
|
369
|
+
const passkeyRequestChannel = messageTransport.createRequestChannel(core.messageTransport);
|
|
370
|
+
passkeyRequestChannel.handle('passkey_register', _a => __awaiter(void 0, [_a], void 0, function* ({
|
|
371
|
+
optionsJSON
|
|
372
|
+
}) {
|
|
373
|
+
/**
|
|
374
|
+
* It is safe to cast the request type here because the react-native-passkey
|
|
375
|
+
* package follow the web API spec but typescript does not match both types
|
|
376
|
+
* correctly
|
|
377
|
+
*/
|
|
378
|
+
const result = yield reactNativePasskey.Passkey.create(
|
|
379
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
380
|
+
optionsJSON);
|
|
381
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
382
|
+
return result;
|
|
383
|
+
}));
|
|
384
|
+
passkeyRequestChannel.handle('passkey_authenticate', _b => __awaiter(void 0, [_b], void 0, function* ({
|
|
385
|
+
optionsJSON
|
|
386
|
+
}) {
|
|
387
|
+
/**
|
|
388
|
+
* It is safe to cast the request type here because the react-native-passkey
|
|
389
|
+
* package follow the web API spec but typescript does not match both types
|
|
390
|
+
* correctly
|
|
391
|
+
*/
|
|
392
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
393
|
+
const result = yield reactNativePasskey.Passkey.get(optionsJSON);
|
|
394
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
395
|
+
return result;
|
|
396
|
+
}));
|
|
397
|
+
};
|
|
398
|
+
|
|
367
399
|
const setupPlatformHandler = core => {
|
|
368
400
|
const platformChannel = messageTransport.createRequestChannel(core.messageTransport);
|
|
369
401
|
core.manifest.setPlatform('react-native');
|
|
@@ -464,6 +496,7 @@ const ReactNativeExtension = ({
|
|
|
464
496
|
};
|
|
465
497
|
}
|
|
466
498
|
if (appOrigin) core.manifest.setAppOrigin(appOrigin);
|
|
499
|
+
setupPasskeyHandler(core);
|
|
467
500
|
setupTurnkeyPasskeyHandler(core);
|
|
468
501
|
setupPlatformHandler(core);
|
|
469
502
|
setupStorageHandler(core);
|
package/index.js
CHANGED
|
@@ -5,12 +5,13 @@ import { WebView as WebView$1 } from 'react-native-webview';
|
|
|
5
5
|
import { Logger } from '@dynamic-labs/logger';
|
|
6
6
|
import { parseMessageTransportData, createRequestChannel } from '@dynamic-labs/message-transport';
|
|
7
7
|
import { jsx } from 'react/jsx-runtime';
|
|
8
|
+
import { Passkey } from 'react-native-passkey';
|
|
8
9
|
import { createURL, openURL } from 'expo-linking';
|
|
9
10
|
import { openAuthSessionAsync } from 'expo-web-browser';
|
|
10
11
|
import { getItemAsync, deleteItemAsync, setItemAsync } from 'expo-secure-store';
|
|
11
12
|
import { createPasskey, PasskeyStamper } from '@turnkey/react-native-passkey-stamper';
|
|
12
13
|
|
|
13
|
-
var version = "4.
|
|
14
|
+
var version = "4.23.1";
|
|
14
15
|
|
|
15
16
|
function _extends() {
|
|
16
17
|
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
@@ -360,6 +361,37 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
360
361
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
361
362
|
};
|
|
362
363
|
|
|
364
|
+
const setupPasskeyHandler = core => {
|
|
365
|
+
const passkeyRequestChannel = createRequestChannel(core.messageTransport);
|
|
366
|
+
passkeyRequestChannel.handle('passkey_register', _a => __awaiter(void 0, [_a], void 0, function* ({
|
|
367
|
+
optionsJSON
|
|
368
|
+
}) {
|
|
369
|
+
/**
|
|
370
|
+
* It is safe to cast the request type here because the react-native-passkey
|
|
371
|
+
* package follow the web API spec but typescript does not match both types
|
|
372
|
+
* correctly
|
|
373
|
+
*/
|
|
374
|
+
const result = yield Passkey.create(
|
|
375
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
376
|
+
optionsJSON);
|
|
377
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
378
|
+
return result;
|
|
379
|
+
}));
|
|
380
|
+
passkeyRequestChannel.handle('passkey_authenticate', _b => __awaiter(void 0, [_b], void 0, function* ({
|
|
381
|
+
optionsJSON
|
|
382
|
+
}) {
|
|
383
|
+
/**
|
|
384
|
+
* It is safe to cast the request type here because the react-native-passkey
|
|
385
|
+
* package follow the web API spec but typescript does not match both types
|
|
386
|
+
* correctly
|
|
387
|
+
*/
|
|
388
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
389
|
+
const result = yield Passkey.get(optionsJSON);
|
|
390
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
391
|
+
return result;
|
|
392
|
+
}));
|
|
393
|
+
};
|
|
394
|
+
|
|
363
395
|
const setupPlatformHandler = core => {
|
|
364
396
|
const platformChannel = createRequestChannel(core.messageTransport);
|
|
365
397
|
core.manifest.setPlatform('react-native');
|
|
@@ -460,6 +492,7 @@ const ReactNativeExtension = ({
|
|
|
460
492
|
};
|
|
461
493
|
}
|
|
462
494
|
if (appOrigin) core.manifest.setAppOrigin(appOrigin);
|
|
495
|
+
setupPasskeyHandler(core);
|
|
463
496
|
setupTurnkeyPasskeyHandler(core);
|
|
464
497
|
setupPlatformHandler(core);
|
|
465
498
|
setupStorageHandler(core);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/react-native-extension",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.23.1",
|
|
4
4
|
"main": "./index.cjs",
|
|
5
5
|
"module": "./index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
@@ -14,11 +14,12 @@
|
|
|
14
14
|
"./package.json": "./package.json"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"
|
|
18
|
-
"@
|
|
19
|
-
"@dynamic-labs/
|
|
20
|
-
"@dynamic-labs/
|
|
21
|
-
"@dynamic-labs/
|
|
17
|
+
"react-native-passkey": "3.1.0",
|
|
18
|
+
"@turnkey/react-native-passkey-stamper": "1.0.17",
|
|
19
|
+
"@dynamic-labs/assert-package-version": "4.23.1",
|
|
20
|
+
"@dynamic-labs/client": "4.23.1",
|
|
21
|
+
"@dynamic-labs/logger": "4.23.1",
|
|
22
|
+
"@dynamic-labs/message-transport": "4.23.1"
|
|
22
23
|
},
|
|
23
24
|
"peerDependencies": {
|
|
24
25
|
"react": ">=18.0.0 <20.0.0",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { setupPasskeyHandler } from './setupPasskeyHandler';
|