@synonymdev/react-native-pubky 0.7.1 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +75 -3
- package/android/src/main/java/com/pubky/PubkyModule.kt +369 -252
- package/android/src/main/java/uniffi/pubkymobile/pubkymobile.kt +557 -127
- 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/Info.plist +4 -4
- package/ios/Frameworks/PubkyMobile.xcframework/ios-arm64/Headers/pubkymobileFFI.h +38 -0
- package/ios/Frameworks/PubkyMobile.xcframework/ios-arm64/libpubkymobile.a +0 -0
- package/ios/Frameworks/PubkyMobile.xcframework/ios-arm64-simulator/Headers/pubkymobileFFI.h +38 -0
- package/ios/Frameworks/PubkyMobile.xcframework/ios-arm64-simulator/libpubkymobile.a +0 -0
- package/ios/Pubky-Bridging-Header.h +1 -0
- package/ios/Pubky.mm +26 -1
- package/ios/Pubky.swift +84 -1
- package/ios/pubkymobile.swift +310 -0
- package/lib/commonjs/index.js +69 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +64 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +10 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +10 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +84 -1
package/ios/pubkymobile.swift
CHANGED
@@ -335,6 +335,240 @@ fileprivate struct FfiConverterString: FfiConverter {
|
|
335
335
|
}
|
336
336
|
}
|
337
337
|
|
338
|
+
|
339
|
+
public protocol EventNotifierProtocol {
|
340
|
+
|
341
|
+
}
|
342
|
+
|
343
|
+
public class EventNotifier: EventNotifierProtocol {
|
344
|
+
fileprivate let pointer: UnsafeMutableRawPointer
|
345
|
+
|
346
|
+
// TODO: We'd like this to be `private` but for Swifty reasons,
|
347
|
+
// we can't implement `FfiConverter` without making this `required` and we can't
|
348
|
+
// make it `required` without making it `public`.
|
349
|
+
required init(unsafeFromRawPointer pointer: UnsafeMutableRawPointer) {
|
350
|
+
self.pointer = pointer
|
351
|
+
}
|
352
|
+
|
353
|
+
deinit {
|
354
|
+
try! rustCall { uniffi_pubkymobile_fn_free_eventnotifier(pointer, $0) }
|
355
|
+
}
|
356
|
+
|
357
|
+
|
358
|
+
|
359
|
+
|
360
|
+
|
361
|
+
}
|
362
|
+
|
363
|
+
public struct FfiConverterTypeEventNotifier: FfiConverter {
|
364
|
+
typealias FfiType = UnsafeMutableRawPointer
|
365
|
+
typealias SwiftType = EventNotifier
|
366
|
+
|
367
|
+
public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> EventNotifier {
|
368
|
+
let v: UInt64 = try readInt(&buf)
|
369
|
+
// The Rust code won't compile if a pointer won't fit in a UInt64.
|
370
|
+
// We have to go via `UInt` because that's the thing that's the size of a pointer.
|
371
|
+
let ptr = UnsafeMutableRawPointer(bitPattern: UInt(truncatingIfNeeded: v))
|
372
|
+
if (ptr == nil) {
|
373
|
+
throw UniffiInternalError.unexpectedNullPointer
|
374
|
+
}
|
375
|
+
return try lift(ptr!)
|
376
|
+
}
|
377
|
+
|
378
|
+
public static func write(_ value: EventNotifier, into buf: inout [UInt8]) {
|
379
|
+
// This fiddling is because `Int` is the thing that's the same size as a pointer.
|
380
|
+
// The Rust code won't compile if a pointer won't fit in a `UInt64`.
|
381
|
+
writeInt(&buf, UInt64(bitPattern: Int64(Int(bitPattern: lower(value)))))
|
382
|
+
}
|
383
|
+
|
384
|
+
public static func lift(_ pointer: UnsafeMutableRawPointer) throws -> EventNotifier {
|
385
|
+
return EventNotifier(unsafeFromRawPointer: pointer)
|
386
|
+
}
|
387
|
+
|
388
|
+
public static func lower(_ value: EventNotifier) -> UnsafeMutableRawPointer {
|
389
|
+
return value.pointer
|
390
|
+
}
|
391
|
+
}
|
392
|
+
|
393
|
+
|
394
|
+
public func FfiConverterTypeEventNotifier_lift(_ pointer: UnsafeMutableRawPointer) throws -> EventNotifier {
|
395
|
+
return try FfiConverterTypeEventNotifier.lift(pointer)
|
396
|
+
}
|
397
|
+
|
398
|
+
public func FfiConverterTypeEventNotifier_lower(_ value: EventNotifier) -> UnsafeMutableRawPointer {
|
399
|
+
return FfiConverterTypeEventNotifier.lower(value)
|
400
|
+
}
|
401
|
+
|
402
|
+
fileprivate extension NSLock {
|
403
|
+
func withLock<T>(f: () throws -> T) rethrows -> T {
|
404
|
+
self.lock()
|
405
|
+
defer { self.unlock() }
|
406
|
+
return try f()
|
407
|
+
}
|
408
|
+
}
|
409
|
+
|
410
|
+
fileprivate typealias UniFFICallbackHandle = UInt64
|
411
|
+
fileprivate class UniFFICallbackHandleMap<T> {
|
412
|
+
private var leftMap: [UniFFICallbackHandle: T] = [:]
|
413
|
+
private var counter: [UniFFICallbackHandle: UInt64] = [:]
|
414
|
+
private var rightMap: [ObjectIdentifier: UniFFICallbackHandle] = [:]
|
415
|
+
|
416
|
+
private let lock = NSLock()
|
417
|
+
private var currentHandle: UniFFICallbackHandle = 0
|
418
|
+
private let stride: UniFFICallbackHandle = 1
|
419
|
+
|
420
|
+
func insert(obj: T) -> UniFFICallbackHandle {
|
421
|
+
lock.withLock {
|
422
|
+
let id = ObjectIdentifier(obj as AnyObject)
|
423
|
+
let handle = rightMap[id] ?? {
|
424
|
+
currentHandle += stride
|
425
|
+
let handle = currentHandle
|
426
|
+
leftMap[handle] = obj
|
427
|
+
rightMap[id] = handle
|
428
|
+
return handle
|
429
|
+
}()
|
430
|
+
counter[handle] = (counter[handle] ?? 0) + 1
|
431
|
+
return handle
|
432
|
+
}
|
433
|
+
}
|
434
|
+
|
435
|
+
func get(handle: UniFFICallbackHandle) -> T? {
|
436
|
+
lock.withLock {
|
437
|
+
leftMap[handle]
|
438
|
+
}
|
439
|
+
}
|
440
|
+
|
441
|
+
func delete(handle: UniFFICallbackHandle) {
|
442
|
+
remove(handle: handle)
|
443
|
+
}
|
444
|
+
|
445
|
+
@discardableResult
|
446
|
+
func remove(handle: UniFFICallbackHandle) -> T? {
|
447
|
+
lock.withLock {
|
448
|
+
defer { counter[handle] = (counter[handle] ?? 1) - 1 }
|
449
|
+
guard counter[handle] == 1 else { return leftMap[handle] }
|
450
|
+
let obj = leftMap.removeValue(forKey: handle)
|
451
|
+
if let obj = obj {
|
452
|
+
rightMap.removeValue(forKey: ObjectIdentifier(obj as AnyObject))
|
453
|
+
}
|
454
|
+
return obj
|
455
|
+
}
|
456
|
+
}
|
457
|
+
}
|
458
|
+
|
459
|
+
// Magic number for the Rust proxy to call using the same mechanism as every other method,
|
460
|
+
// to free the callback once it's dropped by Rust.
|
461
|
+
private let IDX_CALLBACK_FREE: Int32 = 0
|
462
|
+
// Callback return codes
|
463
|
+
private let UNIFFI_CALLBACK_SUCCESS: Int32 = 0
|
464
|
+
private let UNIFFI_CALLBACK_ERROR: Int32 = 1
|
465
|
+
private let UNIFFI_CALLBACK_UNEXPECTED_ERROR: Int32 = 2
|
466
|
+
|
467
|
+
// Declaration and FfiConverters for EventListener Callback Interface
|
468
|
+
|
469
|
+
public protocol EventListener : AnyObject {
|
470
|
+
func onEventOccurred(eventData: String)
|
471
|
+
|
472
|
+
}
|
473
|
+
|
474
|
+
// The ForeignCallback that is passed to Rust.
|
475
|
+
fileprivate let foreignCallbackCallbackInterfaceEventListener : ForeignCallback =
|
476
|
+
{ (handle: UniFFICallbackHandle, method: Int32, argsData: UnsafePointer<UInt8>, argsLen: Int32, out_buf: UnsafeMutablePointer<RustBuffer>) -> Int32 in
|
477
|
+
|
478
|
+
|
479
|
+
func invokeOnEventOccurred(_ swiftCallbackInterface: EventListener, _ argsData: UnsafePointer<UInt8>, _ argsLen: Int32, _ out_buf: UnsafeMutablePointer<RustBuffer>) throws -> Int32 {
|
480
|
+
var reader = createReader(data: Data(bytes: argsData, count: Int(argsLen)))
|
481
|
+
func makeCall() throws -> Int32 {
|
482
|
+
try swiftCallbackInterface.onEventOccurred(
|
483
|
+
eventData: try FfiConverterString.read(from: &reader)
|
484
|
+
)
|
485
|
+
return UNIFFI_CALLBACK_SUCCESS
|
486
|
+
}
|
487
|
+
return try makeCall()
|
488
|
+
}
|
489
|
+
|
490
|
+
|
491
|
+
switch method {
|
492
|
+
case IDX_CALLBACK_FREE:
|
493
|
+
FfiConverterCallbackInterfaceEventListener.drop(handle: handle)
|
494
|
+
// Sucessful return
|
495
|
+
// See docs of ForeignCallback in `uniffi_core/src/ffi/foreigncallbacks.rs`
|
496
|
+
return UNIFFI_CALLBACK_SUCCESS
|
497
|
+
case 1:
|
498
|
+
let cb: EventListener
|
499
|
+
do {
|
500
|
+
cb = try FfiConverterCallbackInterfaceEventListener.lift(handle)
|
501
|
+
} catch {
|
502
|
+
out_buf.pointee = FfiConverterString.lower("EventListener: Invalid handle")
|
503
|
+
return UNIFFI_CALLBACK_UNEXPECTED_ERROR
|
504
|
+
}
|
505
|
+
do {
|
506
|
+
return try invokeOnEventOccurred(cb, argsData, argsLen, out_buf)
|
507
|
+
} catch let error {
|
508
|
+
out_buf.pointee = FfiConverterString.lower(String(describing: error))
|
509
|
+
return UNIFFI_CALLBACK_UNEXPECTED_ERROR
|
510
|
+
}
|
511
|
+
|
512
|
+
// This should never happen, because an out of bounds method index won't
|
513
|
+
// ever be used. Once we can catch errors, we should return an InternalError.
|
514
|
+
// https://github.com/mozilla/uniffi-rs/issues/351
|
515
|
+
default:
|
516
|
+
// An unexpected error happened.
|
517
|
+
// See docs of ForeignCallback in `uniffi_core/src/ffi/foreigncallbacks.rs`
|
518
|
+
return UNIFFI_CALLBACK_UNEXPECTED_ERROR
|
519
|
+
}
|
520
|
+
}
|
521
|
+
|
522
|
+
// FfiConverter protocol for callback interfaces
|
523
|
+
fileprivate struct FfiConverterCallbackInterfaceEventListener {
|
524
|
+
private static let initCallbackOnce: () = {
|
525
|
+
// Swift ensures this initializer code will once run once, even when accessed by multiple threads.
|
526
|
+
try! rustCall { (err: UnsafeMutablePointer<RustCallStatus>) in
|
527
|
+
uniffi_pubkymobile_fn_init_callback_eventlistener(foreignCallbackCallbackInterfaceEventListener, err)
|
528
|
+
}
|
529
|
+
}()
|
530
|
+
|
531
|
+
private static func ensureCallbackinitialized() {
|
532
|
+
_ = initCallbackOnce
|
533
|
+
}
|
534
|
+
|
535
|
+
static func drop(handle: UniFFICallbackHandle) {
|
536
|
+
handleMap.remove(handle: handle)
|
537
|
+
}
|
538
|
+
|
539
|
+
private static var handleMap = UniFFICallbackHandleMap<EventListener>()
|
540
|
+
}
|
541
|
+
|
542
|
+
extension FfiConverterCallbackInterfaceEventListener : FfiConverter {
|
543
|
+
typealias SwiftType = EventListener
|
544
|
+
// We can use Handle as the FfiType because it's a typealias to UInt64
|
545
|
+
typealias FfiType = UniFFICallbackHandle
|
546
|
+
|
547
|
+
public static func lift(_ handle: UniFFICallbackHandle) throws -> SwiftType {
|
548
|
+
ensureCallbackinitialized();
|
549
|
+
guard let callback = handleMap.get(handle: handle) else {
|
550
|
+
throw UniffiInternalError.unexpectedStaleHandle
|
551
|
+
}
|
552
|
+
return callback
|
553
|
+
}
|
554
|
+
|
555
|
+
public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> SwiftType {
|
556
|
+
ensureCallbackinitialized();
|
557
|
+
let handle: UniFFICallbackHandle = try readInt(&buf)
|
558
|
+
return try lift(handle)
|
559
|
+
}
|
560
|
+
|
561
|
+
public static func lower(_ v: SwiftType) -> UniFFICallbackHandle {
|
562
|
+
ensureCallbackinitialized();
|
563
|
+
return handleMap.insert(obj: v)
|
564
|
+
}
|
565
|
+
|
566
|
+
public static func write(_ v: SwiftType, into buf: inout [UInt8]) {
|
567
|
+
ensureCallbackinitialized();
|
568
|
+
writeInt(&buf, lower(v))
|
569
|
+
}
|
570
|
+
}
|
571
|
+
|
338
572
|
fileprivate struct FfiConverterSequenceString: FfiConverterRustBuffer {
|
339
573
|
typealias SwiftType = [String]
|
340
574
|
|
@@ -367,6 +601,35 @@ public func auth(url: String, secretKey: String) -> [String] {
|
|
367
601
|
)
|
368
602
|
}
|
369
603
|
|
604
|
+
public func createRecoveryFile(secretKey: String, passphrase: String) -> [String] {
|
605
|
+
return try! FfiConverterSequenceString.lift(
|
606
|
+
try! rustCall() {
|
607
|
+
uniffi_pubkymobile_fn_func_create_recovery_file(
|
608
|
+
FfiConverterString.lower(secretKey),
|
609
|
+
FfiConverterString.lower(passphrase),$0)
|
610
|
+
}
|
611
|
+
)
|
612
|
+
}
|
613
|
+
|
614
|
+
public func decryptRecoveryFile(recoveryFile: String, passphrase: String) -> [String] {
|
615
|
+
return try! FfiConverterSequenceString.lift(
|
616
|
+
try! rustCall() {
|
617
|
+
uniffi_pubkymobile_fn_func_decrypt_recovery_file(
|
618
|
+
FfiConverterString.lower(recoveryFile),
|
619
|
+
FfiConverterString.lower(passphrase),$0)
|
620
|
+
}
|
621
|
+
)
|
622
|
+
}
|
623
|
+
|
624
|
+
public func deleteFile(url: String) -> [String] {
|
625
|
+
return try! FfiConverterSequenceString.lift(
|
626
|
+
try! rustCall() {
|
627
|
+
uniffi_pubkymobile_fn_func_delete_file(
|
628
|
+
FfiConverterString.lower(url),$0)
|
629
|
+
}
|
630
|
+
)
|
631
|
+
}
|
632
|
+
|
370
633
|
public func generateSecretKey() -> [String] {
|
371
634
|
return try! FfiConverterSequenceString.lift(
|
372
635
|
try! rustCall() {
|
@@ -443,6 +706,14 @@ public func put(url: String, content: String) -> [String] {
|
|
443
706
|
)
|
444
707
|
}
|
445
708
|
|
709
|
+
public func removeEventListener() {
|
710
|
+
try! rustCall() {
|
711
|
+
uniffi_pubkymobile_fn_func_remove_event_listener($0)
|
712
|
+
}
|
713
|
+
}
|
714
|
+
|
715
|
+
|
716
|
+
|
446
717
|
public func resolve(publicKey: String) -> [String] {
|
447
718
|
return try! FfiConverterSequenceString.lift(
|
448
719
|
try! rustCall() {
|
@@ -461,6 +732,24 @@ public func resolveHttps(publicKey: String) -> [String] {
|
|
461
732
|
)
|
462
733
|
}
|
463
734
|
|
735
|
+
public func session(pubky: String) -> [String] {
|
736
|
+
return try! FfiConverterSequenceString.lift(
|
737
|
+
try! rustCall() {
|
738
|
+
uniffi_pubkymobile_fn_func_session(
|
739
|
+
FfiConverterString.lower(pubky),$0)
|
740
|
+
}
|
741
|
+
)
|
742
|
+
}
|
743
|
+
|
744
|
+
public func setEventListener(listener: EventListener) {
|
745
|
+
try! rustCall() {
|
746
|
+
uniffi_pubkymobile_fn_func_set_event_listener(
|
747
|
+
FfiConverterCallbackInterfaceEventListener.lower(listener),$0)
|
748
|
+
}
|
749
|
+
}
|
750
|
+
|
751
|
+
|
752
|
+
|
464
753
|
public func signIn(secretKey: String) -> [String] {
|
465
754
|
return try! FfiConverterSequenceString.lift(
|
466
755
|
try! rustCall() {
|
@@ -507,6 +796,15 @@ private var initializationResult: InitializationResult {
|
|
507
796
|
if (uniffi_pubkymobile_checksum_func_auth() != 61378) {
|
508
797
|
return InitializationResult.apiChecksumMismatch
|
509
798
|
}
|
799
|
+
if (uniffi_pubkymobile_checksum_func_create_recovery_file() != 55903) {
|
800
|
+
return InitializationResult.apiChecksumMismatch
|
801
|
+
}
|
802
|
+
if (uniffi_pubkymobile_checksum_func_decrypt_recovery_file() != 59688) {
|
803
|
+
return InitializationResult.apiChecksumMismatch
|
804
|
+
}
|
805
|
+
if (uniffi_pubkymobile_checksum_func_delete_file() != 57905) {
|
806
|
+
return InitializationResult.apiChecksumMismatch
|
807
|
+
}
|
510
808
|
if (uniffi_pubkymobile_checksum_func_generate_secret_key() != 63116) {
|
511
809
|
return InitializationResult.apiChecksumMismatch
|
512
810
|
}
|
@@ -531,12 +829,21 @@ private var initializationResult: InitializationResult {
|
|
531
829
|
if (uniffi_pubkymobile_checksum_func_put() != 51107) {
|
532
830
|
return InitializationResult.apiChecksumMismatch
|
533
831
|
}
|
832
|
+
if (uniffi_pubkymobile_checksum_func_remove_event_listener() != 6794) {
|
833
|
+
return InitializationResult.apiChecksumMismatch
|
834
|
+
}
|
534
835
|
if (uniffi_pubkymobile_checksum_func_resolve() != 18303) {
|
535
836
|
return InitializationResult.apiChecksumMismatch
|
536
837
|
}
|
537
838
|
if (uniffi_pubkymobile_checksum_func_resolve_https() != 34593) {
|
538
839
|
return InitializationResult.apiChecksumMismatch
|
539
840
|
}
|
841
|
+
if (uniffi_pubkymobile_checksum_func_session() != 65177) {
|
842
|
+
return InitializationResult.apiChecksumMismatch
|
843
|
+
}
|
844
|
+
if (uniffi_pubkymobile_checksum_func_set_event_listener() != 19468) {
|
845
|
+
return InitializationResult.apiChecksumMismatch
|
846
|
+
}
|
540
847
|
if (uniffi_pubkymobile_checksum_func_sign_in() != 21006) {
|
541
848
|
return InitializationResult.apiChecksumMismatch
|
542
849
|
}
|
@@ -546,6 +853,9 @@ private var initializationResult: InitializationResult {
|
|
546
853
|
if (uniffi_pubkymobile_checksum_func_sign_up() != 58756) {
|
547
854
|
return InitializationResult.apiChecksumMismatch
|
548
855
|
}
|
856
|
+
if (uniffi_pubkymobile_checksum_method_eventlistener_on_event_occurred() != 39865) {
|
857
|
+
return InitializationResult.apiChecksumMismatch
|
858
|
+
}
|
549
859
|
|
550
860
|
return InitializationResult.ok
|
551
861
|
}
|
package/lib/commonjs/index.js
CHANGED
@@ -4,6 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.auth = auth;
|
7
|
+
exports.createRecoveryFile = createRecoveryFile;
|
8
|
+
exports.decryptRecoveryFile = decryptRecoveryFile;
|
9
|
+
exports.deleteFile = deleteFile;
|
7
10
|
exports.generateSecretKey = generateSecretKey;
|
8
11
|
exports.get = get;
|
9
12
|
exports.getPublicKeyFromSecretKey = getPublicKeyFromSecretKey;
|
@@ -12,8 +15,11 @@ exports.parseAuthUrl = parseAuthUrl;
|
|
12
15
|
exports.publish = publish;
|
13
16
|
exports.publishHttps = publishHttps;
|
14
17
|
exports.put = put;
|
18
|
+
exports.removeEventListener = removeEventListener;
|
15
19
|
exports.resolve = resolve;
|
16
20
|
exports.resolveHttps = resolveHttps;
|
21
|
+
exports.session = session;
|
22
|
+
exports.setEventListener = setEventListener;
|
17
23
|
exports.signIn = signIn;
|
18
24
|
exports.signOut = signOut;
|
19
25
|
exports.signUp = signUp;
|
@@ -28,6 +34,25 @@ const Pubky = _reactNative.NativeModules.Pubky ? _reactNative.NativeModules.Pubk
|
|
28
34
|
throw new Error(LINKING_ERROR);
|
29
35
|
}
|
30
36
|
});
|
37
|
+
const eventEmitter = new _reactNative.NativeEventEmitter(Pubky);
|
38
|
+
async function setEventListener(callback) {
|
39
|
+
try {
|
40
|
+
await Pubky.setEventListener();
|
41
|
+
eventEmitter.addListener('PubkyEvent', callback);
|
42
|
+
return (0, _result.ok)(undefined);
|
43
|
+
} catch (e) {
|
44
|
+
return (0, _result.err)(JSON.stringify(e));
|
45
|
+
}
|
46
|
+
}
|
47
|
+
async function removeEventListener() {
|
48
|
+
try {
|
49
|
+
//await Pubky.removeEventListener();
|
50
|
+
eventEmitter.removeAllListeners('PubkyEvent');
|
51
|
+
return (0, _result.ok)(undefined);
|
52
|
+
} catch (e) {
|
53
|
+
return (0, _result.err)(JSON.stringify(e));
|
54
|
+
}
|
55
|
+
}
|
31
56
|
async function auth(url, secretKey) {
|
32
57
|
const res = await Pubky.auth(url, secretKey);
|
33
58
|
if (res[0] === 'error') {
|
@@ -157,6 +182,28 @@ async function list(url) {
|
|
157
182
|
return (0, _result.err)(JSON.stringify(e));
|
158
183
|
}
|
159
184
|
}
|
185
|
+
async function deleteFile(url) {
|
186
|
+
try {
|
187
|
+
const res = await Pubky.deleteFile(url);
|
188
|
+
if (res[0] === 'error') {
|
189
|
+
return (0, _result.err)(res[1]);
|
190
|
+
}
|
191
|
+
return (0, _result.ok)(res[1]);
|
192
|
+
} catch (e) {
|
193
|
+
return (0, _result.err)(JSON.stringify(e));
|
194
|
+
}
|
195
|
+
}
|
196
|
+
async function session(pubky) {
|
197
|
+
try {
|
198
|
+
const res = await Pubky.session(pubky);
|
199
|
+
if (res[0] === 'error') {
|
200
|
+
return (0, _result.err)(res[1]);
|
201
|
+
}
|
202
|
+
return (0, _result.ok)(JSON.parse(res[1]));
|
203
|
+
} catch (e) {
|
204
|
+
return (0, _result.err)(JSON.stringify(e));
|
205
|
+
}
|
206
|
+
}
|
160
207
|
async function generateSecretKey() {
|
161
208
|
try {
|
162
209
|
const res = await Pubky.generateSecretKey();
|
@@ -179,4 +226,26 @@ async function getPublicKeyFromSecretKey(secretKey) {
|
|
179
226
|
return (0, _result.err)(JSON.stringify(e));
|
180
227
|
}
|
181
228
|
}
|
229
|
+
async function createRecoveryFile(secretKey, passphrase) {
|
230
|
+
try {
|
231
|
+
const res = await Pubky.createRecoveryFile(secretKey, passphrase);
|
232
|
+
if (res[0] === 'error') {
|
233
|
+
return (0, _result.err)(res[1]);
|
234
|
+
}
|
235
|
+
return (0, _result.ok)(res[1]);
|
236
|
+
} catch (e) {
|
237
|
+
return (0, _result.err)(JSON.stringify(e));
|
238
|
+
}
|
239
|
+
}
|
240
|
+
async function decryptRecoveryFile(recoveryFile, passphrase) {
|
241
|
+
try {
|
242
|
+
const res = await Pubky.decryptRecoveryFile(recoveryFile, passphrase);
|
243
|
+
if (res[0] === 'error') {
|
244
|
+
return (0, _result.err)(res[1]);
|
245
|
+
}
|
246
|
+
return (0, _result.ok)(res[1]);
|
247
|
+
} catch (e) {
|
248
|
+
return (0, _result.err)(JSON.stringify(e));
|
249
|
+
}
|
250
|
+
}
|
182
251
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_result","LINKING_ERROR","Platform","select","ios","default","Pubky","NativeModules","Proxy","get","Error","
|
1
|
+
{"version":3,"names":["_reactNative","require","_result","LINKING_ERROR","Platform","select","ios","default","Pubky","NativeModules","Proxy","get","Error","eventEmitter","NativeEventEmitter","setEventListener","callback","addListener","ok","undefined","e","err","JSON","stringify","removeEventListener","removeAllListeners","auth","url","secretKey","res","parseAuthUrl","parsed","parse","publish","recordName","recordContent","resolve","publicKey","signUp","homeserver","signIn","signOut","put","content","publishHttps","target","resolveHttps","list","deleteFile","session","pubky","generateSecretKey","getPublicKeyFromSecretKey","createRecoveryFile","passphrase","decryptRecoveryFile","recoveryFile"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
import { NativeModules, Platform } from 'react-native';
|
3
|
+
import { NativeModules, Platform, NativeEventEmitter } from 'react-native';
|
4
4
|
import { ok, err } from '@synonymdev/result';
|
5
5
|
const LINKING_ERROR = `The package 'react-native-pubky' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
6
6
|
ios: "- You have run 'pod install'\n",
|
@@ -11,6 +11,25 @@ const Pubky = NativeModules.Pubky ? NativeModules.Pubky : new Proxy({}, {
|
|
11
11
|
throw new Error(LINKING_ERROR);
|
12
12
|
}
|
13
13
|
});
|
14
|
+
const eventEmitter = new NativeEventEmitter(Pubky);
|
15
|
+
export async function setEventListener(callback) {
|
16
|
+
try {
|
17
|
+
await Pubky.setEventListener();
|
18
|
+
eventEmitter.addListener('PubkyEvent', callback);
|
19
|
+
return ok(undefined);
|
20
|
+
} catch (e) {
|
21
|
+
return err(JSON.stringify(e));
|
22
|
+
}
|
23
|
+
}
|
24
|
+
export async function removeEventListener() {
|
25
|
+
try {
|
26
|
+
//await Pubky.removeEventListener();
|
27
|
+
eventEmitter.removeAllListeners('PubkyEvent');
|
28
|
+
return ok(undefined);
|
29
|
+
} catch (e) {
|
30
|
+
return err(JSON.stringify(e));
|
31
|
+
}
|
32
|
+
}
|
14
33
|
export async function auth(url, secretKey) {
|
15
34
|
const res = await Pubky.auth(url, secretKey);
|
16
35
|
if (res[0] === 'error') {
|
@@ -140,6 +159,28 @@ export async function list(url) {
|
|
140
159
|
return err(JSON.stringify(e));
|
141
160
|
}
|
142
161
|
}
|
162
|
+
export async function deleteFile(url) {
|
163
|
+
try {
|
164
|
+
const res = await Pubky.deleteFile(url);
|
165
|
+
if (res[0] === 'error') {
|
166
|
+
return err(res[1]);
|
167
|
+
}
|
168
|
+
return ok(res[1]);
|
169
|
+
} catch (e) {
|
170
|
+
return err(JSON.stringify(e));
|
171
|
+
}
|
172
|
+
}
|
173
|
+
export async function session(pubky) {
|
174
|
+
try {
|
175
|
+
const res = await Pubky.session(pubky);
|
176
|
+
if (res[0] === 'error') {
|
177
|
+
return err(res[1]);
|
178
|
+
}
|
179
|
+
return ok(JSON.parse(res[1]));
|
180
|
+
} catch (e) {
|
181
|
+
return err(JSON.stringify(e));
|
182
|
+
}
|
183
|
+
}
|
143
184
|
export async function generateSecretKey() {
|
144
185
|
try {
|
145
186
|
const res = await Pubky.generateSecretKey();
|
@@ -162,4 +203,26 @@ export async function getPublicKeyFromSecretKey(secretKey) {
|
|
162
203
|
return err(JSON.stringify(e));
|
163
204
|
}
|
164
205
|
}
|
206
|
+
export async function createRecoveryFile(secretKey, passphrase) {
|
207
|
+
try {
|
208
|
+
const res = await Pubky.createRecoveryFile(secretKey, passphrase);
|
209
|
+
if (res[0] === 'error') {
|
210
|
+
return err(res[1]);
|
211
|
+
}
|
212
|
+
return ok(res[1]);
|
213
|
+
} catch (e) {
|
214
|
+
return err(JSON.stringify(e));
|
215
|
+
}
|
216
|
+
}
|
217
|
+
export async function decryptRecoveryFile(recoveryFile, passphrase) {
|
218
|
+
try {
|
219
|
+
const res = await Pubky.decryptRecoveryFile(recoveryFile, passphrase);
|
220
|
+
if (res[0] === 'error') {
|
221
|
+
return err(res[1]);
|
222
|
+
}
|
223
|
+
return ok(res[1]);
|
224
|
+
} catch (e) {
|
225
|
+
return err(JSON.stringify(e));
|
226
|
+
}
|
227
|
+
}
|
165
228
|
//# 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","
|
1
|
+
{"version":3,"names":["NativeModules","Platform","NativeEventEmitter","ok","err","LINKING_ERROR","select","ios","default","Pubky","Proxy","get","Error","eventEmitter","setEventListener","callback","addListener","undefined","e","JSON","stringify","removeEventListener","removeAllListeners","auth","url","secretKey","res","parseAuthUrl","parsed","parse","publish","recordName","recordContent","resolve","publicKey","signUp","homeserver","signIn","signOut","put","content","publishHttps","target","resolveHttps","list","deleteFile","session","pubky","generateSecretKey","getPublicKeyFromSecretKey","createRecoveryFile","passphrase","decryptRecoveryFile","recoveryFile"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
@@ -1,4 +1,6 @@
|
|
1
1
|
import { type Result } from '@synonymdev/result';
|
2
|
+
export declare function setEventListener(callback: (eventData: string) => void): Promise<Result<void>>;
|
3
|
+
export declare function removeEventListener(): Promise<Result<void>>;
|
2
4
|
export declare function auth(url: string, secretKey: string): Promise<Result<string[]>>;
|
3
5
|
type Capability = {
|
4
6
|
path: string;
|
@@ -52,6 +54,12 @@ interface IHttpsResolveResult {
|
|
52
54
|
}
|
53
55
|
export declare function resolveHttps(publicKey: string): Promise<Result<IHttpsResolveResult>>;
|
54
56
|
export declare function list(url: string): Promise<Result<string[]>>;
|
57
|
+
export declare function deleteFile(url: string): Promise<Result<string[]>>;
|
58
|
+
interface SessionInfo {
|
59
|
+
pubky: string;
|
60
|
+
capabilities: string[];
|
61
|
+
}
|
62
|
+
export declare function session(pubky: string): Promise<Result<SessionInfo>>;
|
55
63
|
interface IPublicKeyInfo {
|
56
64
|
public_key: string;
|
57
65
|
uri: string;
|
@@ -61,5 +69,7 @@ interface IGenerateSecretKey extends IPublicKeyInfo {
|
|
61
69
|
}
|
62
70
|
export declare function generateSecretKey(): Promise<Result<IGenerateSecretKey>>;
|
63
71
|
export declare function getPublicKeyFromSecretKey(secretKey: string): Promise<Result<IPublicKeyInfo>>;
|
72
|
+
export declare function createRecoveryFile(secretKey: string, passphrase: string): Promise<Result<string>>;
|
73
|
+
export declare function decryptRecoveryFile(recoveryFile: string, passphrase: string): Promise<Result<string>>;
|
64
74
|
export {};
|
65
75
|
//# sourceMappingURL=index.d.ts.map
|