1 module libwasm.bindings.PushManager; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.PushSubscription; 7 8 @safe: 9 nothrow: 10 11 struct PushManager { 12 nothrow: 13 JsHandle handle; 14 alias handle this; 15 this(Handle h) { 16 this.handle = JsHandle(h); 17 } 18 auto subscribe()(scope ref PushSubscriptionOptionsInit options) { 19 return JsPromise!(PushSubscription)(Object_Call_Handle__Handle(this.handle, "subscribe", options.handle)); 20 } 21 auto subscribe()() { 22 return JsPromise!(PushSubscription)(Object_Getter__Handle(this.handle, "subscribe")); 23 } 24 auto getSubscription()() { 25 return JsPromise!(Optional!(PushSubscription))(Object_Getter__Handle(this.handle, "getSubscription")); 26 } 27 auto permissionState()(scope ref PushSubscriptionOptionsInit options) { 28 return JsPromise!(PushPermissionState)(Object_Call_Handle__Handle(this.handle, "permissionState", options.handle)); 29 } 30 auto permissionState()() { 31 return JsPromise!(PushPermissionState)(Object_Getter__Handle(this.handle, "permissionState")); 32 } 33 } 34 struct PushManagerImpl { 35 nothrow: 36 JsHandle handle; 37 alias handle this; 38 this(Handle h) { 39 this.handle = JsHandle(h); 40 } 41 auto subscribe()(scope ref PushSubscriptionOptionsInit options) { 42 return JsPromise!(PushSubscription)(Object_Call_Handle__Handle(this.handle, "subscribe", options.handle)); 43 } 44 auto subscribe()() { 45 return JsPromise!(PushSubscription)(Object_Getter__Handle(this.handle, "subscribe")); 46 } 47 auto getSubscription()() { 48 return JsPromise!(Optional!(PushSubscription))(Object_Getter__Handle(this.handle, "getSubscription")); 49 } 50 auto permissionState()(scope ref PushSubscriptionOptionsInit options) { 51 return JsPromise!(PushPermissionState)(Object_Call_Handle__Handle(this.handle, "permissionState", options.handle)); 52 } 53 auto permissionState()() { 54 return JsPromise!(PushPermissionState)(Object_Getter__Handle(this.handle, "permissionState")); 55 } 56 } 57 enum PushPermissionState { 58 granted, 59 denied, 60 prompt 61 } 62 struct PushSubscriptionOptionsInit { 63 nothrow: 64 JsHandle handle; 65 alias handle this; 66 this(Handle h) { 67 this.handle = JsHandle(h); 68 } 69 static auto create() { 70 return PushSubscriptionOptionsInit(libwasm_add__object()); 71 } 72 void applicationServerKey(T0)(scope auto ref Optional!(T0) applicationServerKey) if (isTOrPointer!(T0, SumType!(BufferSource, string))) { 73 Serialize_Object_VarArgCall!void(this.handle, "applicationServerKey", "Optional!SumType!(Handle,string)", tuple(!applicationServerKey.empty, libwasm.sumtype.match!(((ref applicationServerKey.Types[0] v) => 0),((string v) => 1))(applicationServerKey),tuple(libwasm.sumtype.match!(((ref applicationServerKey.Types[0] v) => cast(Handle)v.handle),((string v) => Handle.init))(applicationServerKey),libwasm.sumtype.match!(((ref applicationServerKey.Types[0] v) => string.init),((string v) => v))(applicationServerKey)))); 74 } 75 auto applicationServerKey()() { 76 return PushSubscriptionOptionsInit_applicationServerKey_Get(this.handle); 77 } 78 } 79 80 81 extern (C) Optional!(SumType!(BufferSource, string)) PushSubscriptionOptionsInit_applicationServerKey_Get(Handle);