@synonymdev/react-native-pubky 0.1.1 → 0.2.0
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 +13 -1
- package/android/src/main/java/com/pubky/PubkyModule.kt +14 -0
- package/android/src/main/java/uniffi/pubkymobile/pubkymobile.kt +15 -0
- package/android/src/main/jniLibs/arm64-v8a/libpubkymobile.so +0 -0
- package/android/src/main/jniLibs/armeabi-v7a/libpubkymobile.so +0 -0
- package/android/src/main/jniLibs/x86/libpubkymobile.so +0 -0
- package/android/src/main/jniLibs/x86_64/libpubkymobile.so +0 -0
- package/ios/Frameworks/PubkyMobile.xcframework/ios-arm64/Headers/pubkymobileFFI.h +5 -0
- package/ios/Frameworks/PubkyMobile.xcframework/ios-arm64/libpubkymobile.a +0 -0
- package/ios/Frameworks/PubkyMobile.xcframework/ios-arm64-simulator/Headers/pubkymobileFFI.h +5 -0
- package/ios/Frameworks/PubkyMobile.xcframework/ios-arm64-simulator/libpubkymobile.a +0 -0
- package/ios/Pubky.mm +4 -0
- package/ios/Pubky.swift +22 -11
- package/ios/pubkymobile.swift +12 -0
- package/lib/commonjs/index.js +13 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +12 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +11 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +11 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/index.tsx +26 -0
package/README.md
CHANGED
@@ -11,8 +11,8 @@ npm install @synonymdev/react-native-pubky
|
|
11
11
|
## Implementation Status
|
12
12
|
### Implemented Methods
|
13
13
|
- [x] [auth](#auth): Authentication functionality.
|
14
|
+
- [x] [parseAuthUrl](#parseAuthUrl): Method to decode an authUrl.
|
14
15
|
### Methods to be Implemented
|
15
|
-
- [ ] parseAuthUrl: Method to decode an authUrl.
|
16
16
|
- [ ] publish: Functionality to publish content.
|
17
17
|
- [ ] resolve: Functionality to resolve content.
|
18
18
|
- [ ] signIn: Functionality to sign in.
|
@@ -31,6 +31,18 @@ if (authRes.isErr()) {
|
|
31
31
|
}
|
32
32
|
console.log(authRes.value);
|
33
33
|
```
|
34
|
+
### <a name="parseAuthUrl"></a>parseAuthUrl
|
35
|
+
```js
|
36
|
+
import { parseAuthUrl } from '@synonymdev/react-native-pubky';
|
37
|
+
|
38
|
+
const pubkyAuthUrl = 'pubkyauth:///?relay=https://demo.httprelay.io/link&capabilities=/pub/pubky.app:rw,/pub/example.com/nested:rw&secret=FyzJ3gJ1W7boyFZC1Do9fYrRmDNgCLNRwEu_gaBgPUA';
|
39
|
+
const parseRes = await parseAuthUrl(pubkyAuthUrl);
|
40
|
+
if (parseRes.isErr()) {
|
41
|
+
console.log(parseRes.error.message);
|
42
|
+
return;
|
43
|
+
}
|
44
|
+
console.log(parseRes.value);
|
45
|
+
```
|
34
46
|
|
35
47
|
## Local Installation
|
36
48
|
|
@@ -10,6 +10,7 @@ import kotlinx.coroutines.Dispatchers
|
|
10
10
|
import kotlinx.coroutines.launch
|
11
11
|
import kotlinx.coroutines.withContext
|
12
12
|
import uniffi.pubkymobile.auth
|
13
|
+
import uniffi.pubkymobile.parseAuthUrl
|
13
14
|
|
14
15
|
class PubkyModule(reactContext: ReactApplicationContext) :
|
15
16
|
ReactContextBaseJavaModule(reactContext) {
|
@@ -37,6 +38,19 @@ class PubkyModule(reactContext: ReactApplicationContext) :
|
|
37
38
|
}
|
38
39
|
}
|
39
40
|
|
41
|
+
@ReactMethod
|
42
|
+
fun parseAuthUrl(url: String, promise: Promise) {
|
43
|
+
try {
|
44
|
+
val result = parseAuthUrl(url)
|
45
|
+
val array = Arguments.createArray().apply {
|
46
|
+
result.forEach { pushString(it) }
|
47
|
+
}
|
48
|
+
promise.resolve(array)
|
49
|
+
} catch (e: Exception) {
|
50
|
+
promise.reject("Error", e.message)
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
40
54
|
companion object {
|
41
55
|
const val NAME = "Pubky"
|
42
56
|
}
|
@@ -387,6 +387,8 @@ internal interface _UniFFILib : Library {
|
|
387
387
|
|
388
388
|
fun uniffi_pubkymobile_fn_func_auth(`url`: RustBuffer.ByValue,`secretKey`: RustBuffer.ByValue,
|
389
389
|
): Pointer
|
390
|
+
fun uniffi_pubkymobile_fn_func_parse_auth_url(`url`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus,
|
391
|
+
): RustBuffer.ByValue
|
390
392
|
fun ffi_pubkymobile_rustbuffer_alloc(`size`: Int,_uniffi_out_err: RustCallStatus,
|
391
393
|
): RustBuffer.ByValue
|
392
394
|
fun ffi_pubkymobile_rustbuffer_from_bytes(`bytes`: ForeignBytes.ByValue,_uniffi_out_err: RustCallStatus,
|
@@ -503,6 +505,8 @@ internal interface _UniFFILib : Library {
|
|
503
505
|
): Unit
|
504
506
|
fun uniffi_pubkymobile_checksum_func_auth(
|
505
507
|
): Short
|
508
|
+
fun uniffi_pubkymobile_checksum_func_parse_auth_url(
|
509
|
+
): Short
|
506
510
|
fun ffi_pubkymobile_uniffi_contract_version(
|
507
511
|
): Int
|
508
512
|
|
@@ -523,6 +527,9 @@ private fun uniffiCheckApiChecksums(lib: _UniFFILib) {
|
|
523
527
|
if (lib.uniffi_pubkymobile_checksum_func_auth() != 46918.toShort()) {
|
524
528
|
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
525
529
|
}
|
530
|
+
if (lib.uniffi_pubkymobile_checksum_func_parse_auth_url() != 29088.toShort()) {
|
531
|
+
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
532
|
+
}
|
526
533
|
}
|
527
534
|
|
528
535
|
// Async support
|
@@ -671,3 +678,11 @@ suspend fun `auth`(`url`: String, `secretKey`: String) : List<String> {
|
|
671
678
|
)
|
672
679
|
}
|
673
680
|
|
681
|
+
fun `parseAuthUrl`(`url`: String): List<String> {
|
682
|
+
return FfiConverterSequenceString.lift(
|
683
|
+
rustCall() { _status ->
|
684
|
+
_UniFFILib.INSTANCE.uniffi_pubkymobile_fn_func_parse_auth_url(FfiConverterString.lower(`url`),_status)
|
685
|
+
})
|
686
|
+
}
|
687
|
+
|
688
|
+
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -65,6 +65,8 @@ typedef void (*UniFfiRustFutureContinuation)(void * _Nonnull, int8_t);
|
|
65
65
|
// Scaffolding functions
|
66
66
|
void* _Nonnull uniffi_pubkymobile_fn_func_auth(RustBuffer url, RustBuffer secret_key
|
67
67
|
);
|
68
|
+
RustBuffer uniffi_pubkymobile_fn_func_parse_auth_url(RustBuffer url, RustCallStatus *_Nonnull out_status
|
69
|
+
);
|
68
70
|
RustBuffer ffi_pubkymobile_rustbuffer_alloc(int32_t size, RustCallStatus *_Nonnull out_status
|
69
71
|
);
|
70
72
|
RustBuffer ffi_pubkymobile_rustbuffer_from_bytes(ForeignBytes bytes, RustCallStatus *_Nonnull out_status
|
@@ -181,6 +183,9 @@ void ffi_pubkymobile_rust_future_complete_void(void* _Nonnull handle, RustCallSt
|
|
181
183
|
);
|
182
184
|
uint16_t uniffi_pubkymobile_checksum_func_auth(void
|
183
185
|
|
186
|
+
);
|
187
|
+
uint16_t uniffi_pubkymobile_checksum_func_parse_auth_url(void
|
188
|
+
|
184
189
|
);
|
185
190
|
uint32_t ffi_pubkymobile_uniffi_contract_version(void
|
186
191
|
|
Binary file
|
@@ -65,6 +65,8 @@ typedef void (*UniFfiRustFutureContinuation)(void * _Nonnull, int8_t);
|
|
65
65
|
// Scaffolding functions
|
66
66
|
void* _Nonnull uniffi_pubkymobile_fn_func_auth(RustBuffer url, RustBuffer secret_key
|
67
67
|
);
|
68
|
+
RustBuffer uniffi_pubkymobile_fn_func_parse_auth_url(RustBuffer url, RustCallStatus *_Nonnull out_status
|
69
|
+
);
|
68
70
|
RustBuffer ffi_pubkymobile_rustbuffer_alloc(int32_t size, RustCallStatus *_Nonnull out_status
|
69
71
|
);
|
70
72
|
RustBuffer ffi_pubkymobile_rustbuffer_from_bytes(ForeignBytes bytes, RustCallStatus *_Nonnull out_status
|
@@ -181,6 +183,9 @@ void ffi_pubkymobile_rust_future_complete_void(void* _Nonnull handle, RustCallSt
|
|
181
183
|
);
|
182
184
|
uint16_t uniffi_pubkymobile_checksum_func_auth(void
|
183
185
|
|
186
|
+
);
|
187
|
+
uint16_t uniffi_pubkymobile_checksum_func_parse_auth_url(void
|
188
|
+
|
184
189
|
);
|
185
190
|
uint32_t ffi_pubkymobile_uniffi_contract_version(void
|
186
191
|
|
Binary file
|
package/ios/Pubky.mm
CHANGED
@@ -7,6 +7,10 @@ RCT_EXTERN_METHOD(auth:(NSString *)url
|
|
7
7
|
withResolver:(RCTPromiseResolveBlock)resolve
|
8
8
|
withRejecter:(RCTPromiseRejectBlock)reject)
|
9
9
|
|
10
|
+
RCT_EXTERN_METHOD(parseAuthUrl:(NSString *)url
|
11
|
+
withResolver:(RCTPromiseResolveBlock)resolve
|
12
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
13
|
+
|
10
14
|
+ (BOOL)requiresMainQueueSetup
|
11
15
|
{
|
12
16
|
return NO;
|
package/ios/Pubky.swift
CHANGED
@@ -2,15 +2,26 @@ import Foundation
|
|
2
2
|
|
3
3
|
@objc(Pubky)
|
4
4
|
class Pubky: NSObject {
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
5
|
+
@objc(auth:secretKey:withResolver:withRejecter:)
|
6
|
+
func auth(_ url: String, secretKey: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
7
|
+
Task {
|
8
|
+
do {
|
9
|
+
let result = try await react_native_pubky.auth(url: url, secretKey: secretKey)
|
10
|
+
resolve(result)
|
11
|
+
} catch {
|
12
|
+
reject("auth Error", "Failed to auth", error)
|
13
|
+
}
|
14
|
+
}
|
15
|
+
}
|
16
|
+
@objc(parseAuthUrl:withResolver:withRejecter:)
|
17
|
+
func parseAuthUrl(_ url: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
18
|
+
Task {
|
19
|
+
do {
|
20
|
+
let result = react_native_pubky.parseAuthUrl(url: url)
|
21
|
+
resolve(result)
|
22
|
+
} catch {
|
23
|
+
reject("parseAuthUrl Error", "Failed to parse auth url", error)
|
24
|
+
}
|
25
|
+
}
|
26
|
+
}
|
16
27
|
}
|
package/ios/pubkymobile.swift
CHANGED
@@ -438,6 +438,15 @@ public func auth(url: String, secretKey: String) async -> [String] {
|
|
438
438
|
|
439
439
|
|
440
440
|
|
441
|
+
public func parseAuthUrl(url: String) -> [String] {
|
442
|
+
return try! FfiConverterSequenceString.lift(
|
443
|
+
try! rustCall() {
|
444
|
+
uniffi_pubkymobile_fn_func_parse_auth_url(
|
445
|
+
FfiConverterString.lower(url),$0)
|
446
|
+
}
|
447
|
+
)
|
448
|
+
}
|
449
|
+
|
441
450
|
private enum InitializationResult {
|
442
451
|
case ok
|
443
452
|
case contractVersionMismatch
|
@@ -456,6 +465,9 @@ private var initializationResult: InitializationResult {
|
|
456
465
|
if (uniffi_pubkymobile_checksum_func_auth() != 46918) {
|
457
466
|
return InitializationResult.apiChecksumMismatch
|
458
467
|
}
|
468
|
+
if (uniffi_pubkymobile_checksum_func_parse_auth_url() != 29088) {
|
469
|
+
return InitializationResult.apiChecksumMismatch
|
470
|
+
}
|
459
471
|
|
460
472
|
uniffiInitContinuationCallback()
|
461
473
|
return InitializationResult.ok
|
package/lib/commonjs/index.js
CHANGED
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.auth = auth;
|
7
|
+
exports.parseAuthUrl = parseAuthUrl;
|
7
8
|
var _reactNative = require("react-native");
|
8
9
|
var _result = require("@synonymdev/result");
|
9
10
|
const LINKING_ERROR = `The package 'react-native-pubky' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
@@ -22,4 +23,16 @@ async function auth(url, secretKey) {
|
|
22
23
|
}
|
23
24
|
return (0, _result.ok)(res[1]);
|
24
25
|
}
|
26
|
+
async function parseAuthUrl(url) {
|
27
|
+
try {
|
28
|
+
const res = await Pubky.parseAuthUrl(url);
|
29
|
+
if (res[0] === 'error') {
|
30
|
+
return (0, _result.err)(res[1]);
|
31
|
+
}
|
32
|
+
const parsed = JSON.parse(res[1]);
|
33
|
+
return (0, _result.ok)(parsed);
|
34
|
+
} catch (e) {
|
35
|
+
return (0, _result.err)(JSON.stringify(e));
|
36
|
+
}
|
37
|
+
}
|
25
38
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_result","LINKING_ERROR","Platform","select","ios","default","Pubky","NativeModules","Proxy","get","Error","auth","url","secretKey","res","err","ok"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"
|
1
|
+
{"version":3,"names":["_reactNative","require","_result","LINKING_ERROR","Platform","select","ios","default","Pubky","NativeModules","Proxy","get","Error","auth","url","secretKey","res","err","ok","parseAuthUrl","parsed","JSON","parse","e","stringify"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,MAAME,aAAa,GACjB,6EAA6E,GAC7EC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,KAAK,GAAGC,0BAAa,CAACD,KAAK,GAC7BC,0BAAa,CAACD,KAAK,GACnB,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEE,eAAeU,IAAIA,CACxBC,GAAW,EACXC,SAAiB,EACU;EAC3B,MAAMC,GAAG,GAAG,MAAMR,KAAK,CAACK,IAAI,CAACC,GAAG,EAAEC,SAAS,CAAC;EAC5C,IAAIC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;IACtB,OAAO,IAAAC,WAAG,EAACD,GAAG,CAAC,CAAC,CAAC,CAAC;EACpB;EACA,OAAO,IAAAE,UAAE,EAACF,GAAG,CAAC,CAAC,CAAC,CAAC;AACnB;AAaO,eAAeG,YAAYA,CAChCL,GAAW,EACwB;EACnC,IAAI;IACF,MAAME,GAAG,GAAG,MAAMR,KAAK,CAACW,YAAY,CAACL,GAAG,CAAC;IACzC,IAAIE,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;MACtB,OAAO,IAAAC,WAAG,EAACD,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB;IACA,MAAMI,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACN,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,IAAAE,UAAE,EAACE,MAAM,CAAC;EACnB,CAAC,CAAC,OAAOG,CAAC,EAAE;IACV,OAAO,IAAAN,WAAG,EAACI,IAAI,CAACG,SAAS,CAACD,CAAC,CAAC,CAAC;EAC/B;AACF","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
@@ -18,4 +18,16 @@ export async function auth(url, secretKey) {
|
|
18
18
|
}
|
19
19
|
return ok(res[1]);
|
20
20
|
}
|
21
|
+
export async function parseAuthUrl(url) {
|
22
|
+
try {
|
23
|
+
const res = await Pubky.parseAuthUrl(url);
|
24
|
+
if (res[0] === 'error') {
|
25
|
+
return err(res[1]);
|
26
|
+
}
|
27
|
+
const parsed = JSON.parse(res[1]);
|
28
|
+
return ok(parsed);
|
29
|
+
} catch (e) {
|
30
|
+
return err(JSON.stringify(e));
|
31
|
+
}
|
32
|
+
}
|
21
33
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","ok","err","LINKING_ERROR","select","ios","default","Pubky","Proxy","get","Error","auth","url","secretKey","res"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,EAAE,EAAEC,GAAG,QAAqB,oBAAoB;AAEzD,MAAMC,aAAa,GACjB,6EAA6E,GAC7EH,QAAQ,CAACI,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,KAAK,GAAGR,aAAa,CAACQ,KAAK,GAC7BR,aAAa,CAACQ,KAAK,GACnB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,OAAO,eAAeQ,IAAIA,CACxBC,GAAW,EACXC,SAAiB,EACU;EAC3B,MAAMC,GAAG,GAAG,MAAMP,KAAK,CAACI,IAAI,CAACC,GAAG,EAAEC,SAAS,CAAC;EAC5C,IAAIC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;IACtB,OAAOZ,GAAG,CAACY,GAAG,CAAC,CAAC,CAAC,CAAC;EACpB;EACA,OAAOb,EAAE,CAACa,GAAG,CAAC,CAAC,CAAC,CAAC;AACnB","ignoreList":[]}
|
1
|
+
{"version":3,"names":["NativeModules","Platform","ok","err","LINKING_ERROR","select","ios","default","Pubky","Proxy","get","Error","auth","url","secretKey","res","parseAuthUrl","parsed","JSON","parse","e","stringify"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,EAAE,EAAEC,GAAG,QAAqB,oBAAoB;AAEzD,MAAMC,aAAa,GACjB,6EAA6E,GAC7EH,QAAQ,CAACI,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,KAAK,GAAGR,aAAa,CAACQ,KAAK,GAC7BR,aAAa,CAACQ,KAAK,GACnB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,OAAO,eAAeQ,IAAIA,CACxBC,GAAW,EACXC,SAAiB,EACU;EAC3B,MAAMC,GAAG,GAAG,MAAMP,KAAK,CAACI,IAAI,CAACC,GAAG,EAAEC,SAAS,CAAC;EAC5C,IAAIC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;IACtB,OAAOZ,GAAG,CAACY,GAAG,CAAC,CAAC,CAAC,CAAC;EACpB;EACA,OAAOb,EAAE,CAACa,GAAG,CAAC,CAAC,CAAC,CAAC;AACnB;AAaA,OAAO,eAAeC,YAAYA,CAChCH,GAAW,EACwB;EACnC,IAAI;IACF,MAAME,GAAG,GAAG,MAAMP,KAAK,CAACQ,YAAY,CAACH,GAAG,CAAC;IACzC,IAAIE,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;MACtB,OAAOZ,GAAG,CAACY,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB;IACA,MAAME,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACJ,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC,OAAOb,EAAE,CAACe,MAAM,CAAC;EACnB,CAAC,CAAC,OAAOG,CAAC,EAAE;IACV,OAAOjB,GAAG,CAACe,IAAI,CAACG,SAAS,CAACD,CAAC,CAAC,CAAC;EAC/B;AACF","ignoreList":[]}
|
@@ -1,3 +1,14 @@
|
|
1
1
|
import { type Result } from '@synonymdev/result';
|
2
2
|
export declare function auth(url: string, secretKey: string): Promise<Result<string[]>>;
|
3
|
+
type Capability = {
|
4
|
+
path: string;
|
5
|
+
permission: string;
|
6
|
+
};
|
7
|
+
type PubkyAuthDetails = {
|
8
|
+
relay: string;
|
9
|
+
capabilities: Capability[];
|
10
|
+
secret: string;
|
11
|
+
};
|
12
|
+
export declare function parseAuthUrl(url: string): Promise<Result<PubkyAuthDetails>>;
|
13
|
+
export {};
|
3
14
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmB1D,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAM3B"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmB1D,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAM3B;AAED,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAWnC"}
|
@@ -1,3 +1,14 @@
|
|
1
1
|
import { type Result } from '@synonymdev/result';
|
2
2
|
export declare function auth(url: string, secretKey: string): Promise<Result<string[]>>;
|
3
|
+
type Capability = {
|
4
|
+
path: string;
|
5
|
+
permission: string;
|
6
|
+
};
|
7
|
+
type PubkyAuthDetails = {
|
8
|
+
relay: string;
|
9
|
+
capabilities: Capability[];
|
10
|
+
secret: string;
|
11
|
+
};
|
12
|
+
export declare function parseAuthUrl(url: string): Promise<Result<PubkyAuthDetails>>;
|
13
|
+
export {};
|
3
14
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmB1D,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAM3B"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmB1D,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAM3B;AAED,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAWnC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@synonymdev/react-native-pubky",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.2.0",
|
4
4
|
"description": "React Native Implementation of Pubky",
|
5
5
|
"source": "./src/index.tsx",
|
6
6
|
"main": "./lib/commonjs/index.js",
|
@@ -49,7 +49,8 @@
|
|
49
49
|
"cargo-build": "cd rust && cargo build && cd pubky && cargo build && cd pubky && cargo build && cd ../ && cd pubky-common && cargo build && cd ../ && cd pubky-homeserver && cargo build && cd ../../../",
|
50
50
|
"update-bindings:ios": "npm run cargo-build && node setup-ios-bindings.js && npm run reinstall",
|
51
51
|
"update-bindings:android": "npm run cargo-build && node setup-android-bindings.js && npm run reinstall",
|
52
|
-
"update-bindings": "npm run reinstall && npm run cargo-build && npm run update-bindings:ios && npm run update-bindings:android"
|
52
|
+
"update-bindings": "npm run reinstall && npm run cargo-build && npm run update-bindings:ios && npm run update-bindings:android",
|
53
|
+
"rebuild": "rm -rf node_modules && cd example && rm -rf node_modules && cd ios && rm -rf Pods Podfile.lock build && cd ../../ && npm run cargo-build && yarn install && npm run update-bindings && cd example && yarn install && bundle install && cd ios && pod install && cd ../ && yarn build:ios && yarn ios"
|
53
54
|
},
|
54
55
|
"keywords": [
|
55
56
|
"pubky",
|
package/src/index.tsx
CHANGED
@@ -28,3 +28,29 @@ export async function auth(
|
|
28
28
|
}
|
29
29
|
return ok(res[1]);
|
30
30
|
}
|
31
|
+
|
32
|
+
type Capability = {
|
33
|
+
path: string;
|
34
|
+
permission: string;
|
35
|
+
};
|
36
|
+
|
37
|
+
type PubkyAuthDetails = {
|
38
|
+
relay: string;
|
39
|
+
capabilities: Capability[];
|
40
|
+
secret: string;
|
41
|
+
};
|
42
|
+
|
43
|
+
export async function parseAuthUrl(
|
44
|
+
url: string
|
45
|
+
): Promise<Result<PubkyAuthDetails>> {
|
46
|
+
try {
|
47
|
+
const res = await Pubky.parseAuthUrl(url);
|
48
|
+
if (res[0] === 'error') {
|
49
|
+
return err(res[1]);
|
50
|
+
}
|
51
|
+
const parsed = JSON.parse(res[1]);
|
52
|
+
return ok(parsed);
|
53
|
+
} catch (e) {
|
54
|
+
return err(JSON.stringify(e));
|
55
|
+
}
|
56
|
+
}
|