@dappworks/kit 0.5.18 → 0.5.20
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/dist/{PromiseState-CmvDXcdg.d.ts → PromiseState-GU5X863c.d.ts} +2 -2
- package/dist/{chunk-TEGU7RN3.mjs → chunk-4MCAH3FV.mjs} +6 -2
- package/dist/chunk-4MCAH3FV.mjs.map +1 -0
- package/dist/experimental.mjs +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/plugins.d.mts +1 -1
- package/dist/wallet.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-TEGU7RN3.mjs.map +0 -1
|
@@ -17,8 +17,8 @@ declare class PromiseState<T extends (...args: any[]) => Promise<any>, U = Retur
|
|
|
17
17
|
defaultValue: any;
|
|
18
18
|
function: T;
|
|
19
19
|
transform?: (value: any) => Promise<Awaited<U>> | Awaited<U>;
|
|
20
|
-
signOut
|
|
21
|
-
onError
|
|
20
|
+
signOut?: () => void | null;
|
|
21
|
+
onError?: (error: any) => void | null;
|
|
22
22
|
autoAlert: boolean;
|
|
23
23
|
autoUpdate: boolean;
|
|
24
24
|
autoInit: boolean;
|
|
@@ -66,6 +66,9 @@ var PromiseState = class {
|
|
|
66
66
|
this.value = null;
|
|
67
67
|
this.defaultValue = null;
|
|
68
68
|
this.transform = null;
|
|
69
|
+
// 401 403
|
|
70
|
+
this.signOut = null;
|
|
71
|
+
this.onError = null;
|
|
69
72
|
this.autoAlert = true;
|
|
70
73
|
this.autoUpdate = false;
|
|
71
74
|
this.autoInit = false;
|
|
@@ -191,6 +194,7 @@ var PromiseState = class {
|
|
|
191
194
|
}
|
|
192
195
|
return res;
|
|
193
196
|
} catch (error) {
|
|
197
|
+
console.log("this.autoAlert=>", this.autoAlert);
|
|
194
198
|
if (this.autoAlert) {
|
|
195
199
|
const message = error.message;
|
|
196
200
|
if (message.includes("UNAUTHORIZED")) {
|
|
@@ -202,10 +206,10 @@ var PromiseState = class {
|
|
|
202
206
|
}
|
|
203
207
|
(_b = this.onError) == null ? void 0 : _b.call(this, error);
|
|
204
208
|
} else {
|
|
205
|
-
this.event.emit("error", error);
|
|
206
209
|
if (this.onError) {
|
|
207
210
|
this.onError(error);
|
|
208
211
|
} else {
|
|
212
|
+
this.event.emit("error", error);
|
|
209
213
|
throw error;
|
|
210
214
|
}
|
|
211
215
|
}
|
|
@@ -218,4 +222,4 @@ var PromiseState = class {
|
|
|
218
222
|
|
|
219
223
|
export { BooleanState, NumberState, PromiseState, Store, StringState, ValueState };
|
|
220
224
|
//# sourceMappingURL=out.js.map
|
|
221
|
-
//# sourceMappingURL=chunk-
|
|
225
|
+
//# sourceMappingURL=chunk-4MCAH3FV.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../store/standard/base.ts","../store/standard/PromiseState.ts"],"names":["makeAutoObservable"],"mappings":"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","sourcesContent":["import { makeAutoObservable } from \"mobx\";\n\nimport { type RootStore } from \"../root\";\n\nexport abstract class Store {\n sid?: string;\n stype?: string;\n disabled?: boolean;\n autoObservable?: boolean;\n autoAsyncable?: boolean;\n _active?: number;\n\n stores?: Store[];\n\n private pannel?: {\n title: string;\n render: any;\n };\n devtools?: {\n enable?: boolean;\n started?: boolean;\n panels: Store[\"pannel\"][];\n };\n\n private slot?: {\n name?: string;\n input?: Record<string, any>;\n render: React.FC;\n };\n slots?: Record<string, Store[\"slot\"]>;\n\n events?: Record<string, { name: string; handler(args: { e: MouseEvent; v?: any }): any }>;\n\n provider?({ rootStore }: { rootStore: RootStore }): any;\n\n onNewStore?({ rootStore, store }: { rootStore: RootStore; store: Store }): void;\n onAddedStores?({ rootStore }: { rootStore: RootStore }): void;\n onAdded?({ rootStore }: { rootStore: RootStore }): void;\n\n init?(): void;\n JSONView?: Record<string, { name: string; render: React.FC }>;\n\n onKeyBindings?: () => { key: string; fn: () => void }[];\n\n constructor() {\n this._active = this._active ?? 0;\n }\n}\n\nexport type StoreClass<T extends Store> = new (...args: any[]) => T;\n\nexport interface BaseState {\n value: number;\n setValue(value: any): any;\n}\n\nexport class StringState<T extends string> {\n //@ts-ignore\n value: T = null;\n constructor(args: Partial<StringState<T>> = {}) {\n Object.assign(this, args);\n makeAutoObservable(this);\n }\n setValue(value: T) {\n this.value = value;\n }\n}\n\nexport class BooleanState {\n value: boolean = false;\n constructor(args: Partial<BooleanState> = {}) {\n Object.assign(this, args);\n makeAutoObservable(this);\n }\n setValue(value: boolean) {\n this.value = value;\n }\n}\n\nexport class NumberState {\n value: number = 0;\n constructor(args: Partial<NumberState> = {}) {\n Object.assign(this, args);\n makeAutoObservable(this);\n }\n setValue(value: number) {\n this.value = value;\n }\n}\n\nexport class ValueState<T> {\n //@ts-ignore\n _value: T = null;\n constructor(args: Partial<ValueState<T>> = {}) {\n Object.assign(this, args);\n makeAutoObservable(this);\n }\n\n get value() {\n return this.getValue ? this.getValue(this._value) : this._value;\n }\n\n set value(value) {\n this._value = value;\n }\n\n getValue: (value: T) => T;\n\n setValue(value: T) {\n this._value = value;\n }\n}\n\n// export interface Events {\n// data: (data: any) => void;\n// error: (error: any) => void;\n// update: () => void;\n// wait: () => void;\n// }\n","import { EventEmitter } from \"events\";\nimport { makeAutoObservable } from \"mobx\";\nimport { ToastPlugin } from \"../../module/Toast/Toast\";\nimport { RootStore } from \"../root\";\nimport { BaseState, BooleanState, NumberState } from \"./base\";\nimport { useEffect } from \"react\";\n\nexport interface Events {\n data: (data: any) => void;\n error: (error: any) => void;\n select: (index: number) => void;\n update: () => void;\n finally: () => void;\n wait: () => void;\n}\n\nexport class PromiseState<T extends (...args: any[]) => Promise<any>, U = ReturnType<T>> {\n sid = \"PromiseState\";\n key?: string;\n loading = new BooleanState();\n // @ts-ignore\n value?: Awaited<U> = null;\n defaultValue: any = null;\n function: T;\n transform?: (value: any) => Promise<Awaited<U>> | Awaited<U> = null;\n // 401 403\n signOut?: () => void | null = null;\n onError?: (error: any) => void | null = null;\n\n autoAlert = true;\n autoUpdate = false;\n autoInit = false;\n autoClean = false;\n context: any = undefined;\n\n successMsg: string = \"\";\n errMsg: string = \"\";\n\n loadingLock = true;\n\n // event plugin\n event = new EventEmitter();\n\n on<E extends keyof Events>(event: E, listener: Events[E]) {\n this.event.on(event, listener);\n return this;\n }\n\n once<E extends keyof Events>(event: E, listener: Events[E]) {\n this.event.once(event, listener);\n return this;\n }\n\n use<E extends keyof Events>(event: E, listener: Events[E]) {\n useEffect(() => {\n this.event.on(event, listener);\n return () => {\n this.event.off(event, listener);\n };\n }, []);\n\n return () => this.event.off(event, listener);\n }\n\n emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>) {\n this.event.emit(event, ...args);\n }\n\n // init plugin\n init: () => Promise<void>;\n\n // list selector plugin\n currentIndex: BaseState = new NumberState({ value: 0 });\n get current() {\n if (Array.isArray(this.value) && this.value.length > 0 && !this.value[this.currentIndex.value]) {\n this.currentIndex.setValue(0);\n }\n //@ts-ignore\n return this.value[this.currentIndex.value];\n }\n\n _onSelect(index: number) {\n this.currentIndex.setValue(index);\n this.event.emit(\"select\", index);\n this.event.emit(\"update\");\n }\n\n onSelect(index: number) {\n this._onSelect(index);\n }\n\n toJSON() {\n return {\n value: this.value,\n };\n }\n\n //@ts-ignore\n async waitItem(): Promise<Awaited<U>[0]> {\n await this.wait();\n return this.current;\n }\n\n // wait hook plugin\n async wait({ call = false } = {}): Promise<Awaited<U>> {\n return new Promise<Awaited<U>>((res, rej) => {\n if (this.value) {\n if (Array.isArray(this.value)) {\n if (this.value.length > 0) {\n res(this.value);\n }\n } else {\n res(this.value);\n }\n }\n\n //@ts-ignore\n if (call && !this.loading.value) this.call();\n this.event.emit(\"wait\");\n this.event.once(\"data\", res);\n this.event.on(\"error\", rej);\n });\n }\n\n // devtool plugin\n debug: { name: string; input: Record<string, any> } = null;\n\n constructor(args: Partial<PromiseState<T, U>> = {}) {\n Object.assign(this, args);\n if (this.defaultValue) {\n this.value = this.defaultValue;\n }\n if (this.key) {\n RootStore.init().add(this, { sid: this.key });\n } else {\n makeAutoObservable(this);\n }\n }\n\n async setValue(val) {\n let _val = val;\n if (this.transform) {\n _val = await this.transform(val);\n }\n this.value = _val;\n this.event.emit(\"data\", val);\n this.event.emit(\"update\");\n }\n\n async getOrCall(...args: Parameters<T>): Promise<Awaited<U>> {\n if (this.value) {\n if (Array.isArray(this.value)) {\n if (this.value.length > 0) {\n return this.value;\n } else {\n return this.call(...args);\n }\n } else {\n return this.value;\n }\n } else {\n return this.call(...args);\n }\n }\n\n async call(...args: Parameters<T>): Promise<Awaited<U>> {\n const toast = RootStore.Get(ToastPlugin);\n try {\n if (this.loadingLock && this.loading.value == true) return;\n this.loading.setValue(true);\n const res = await this.function.apply(this.context, args);\n this.setValue(res);\n if (this.successMsg && res) {\n toast.success(this.successMsg);\n }\n return res;\n } catch (error) {\n console.log(\"this.autoAlert=>\", this.autoAlert);\n if (this.autoAlert) {\n const message = error.message;\n if (message.includes(\"UNAUTHORIZED\")) {\n toast.dismiss();\n // toast.error(message, {\n // id: \"UNAUTHORIZED\",\n // });\n this.signOut?.();\n } else {\n this.errMsg = message;\n toast.error(message);\n }\n this.onError?.(error);\n } else {\n if (this.onError) {\n this.onError(error);\n } else {\n this.event.emit(\"error\", error);\n throw error;\n }\n }\n } finally {\n this.event.emit(\"finally\");\n this.loading.setValue(false);\n }\n }\n}\n"]}
|
package/dist/experimental.mjs
CHANGED
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { R as RootStore, E as EventMap, S as Store } from './root-BPMUmS6H.js';
|
|
2
2
|
export { B as BaseState, c as BooleanState, N as NumberState, a as StoreClass, b as StringState, V as ValueState } from './root-BPMUmS6H.js';
|
|
3
|
-
export { P as PromiseState } from './PromiseState-
|
|
3
|
+
export { P as PromiseState } from './PromiseState-GU5X863c.js';
|
|
4
4
|
export { P as PromiseHook, S as StorageState } from './StorageState-qapaHguM.js';
|
|
5
5
|
import BigNumber from 'bignumber.js';
|
|
6
6
|
export { P as PaginationState } from './PaginationState-Bmrrw0ky.js';
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { AppProvider, AutoMan, BigNumberInputState, BigNumberState, ObjectPool, PromiseHook, StorageListState, StorageState } from './chunk-I3PECBV3.mjs';
|
|
2
|
-
export { BooleanState, NumberState, PromiseState, Store, StringState, ValueState } from './chunk-
|
|
2
|
+
export { BooleanState, NumberState, PromiseState, Store, StringState, ValueState } from './chunk-4MCAH3FV.mjs';
|
|
3
3
|
import './chunk-6AX24IFY.mjs';
|
|
4
4
|
import './chunk-2N4HH4ZF.mjs';
|
|
5
5
|
import './chunk-DVNRHEKS.mjs';
|
package/dist/plugins.d.mts
CHANGED
|
@@ -3,7 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import { SlotsToClasses, ModalSlots, ButtonProps, SpinnerProps } from '@nextui-org/react';
|
|
4
4
|
import { T as ThemeType } from './index-CUKoRIdy.js';
|
|
5
5
|
import * as react_hot_toast from 'react-hot-toast';
|
|
6
|
-
import { P as PromiseState } from './PromiseState-
|
|
6
|
+
import { P as PromiseState } from './PromiseState-GU5X863c.js';
|
|
7
7
|
import 'typed-emitter';
|
|
8
8
|
import 'events';
|
|
9
9
|
|
package/dist/wallet.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WalletConfigStore, WalletStore, WalletRpcStore } from './chunk-I3PECBV3.mjs';
|
|
2
2
|
export { ConnectLedger, DisconnectLedger, WalletConfigStore, WalletHistoryStore, WalletRpcStore, WalletStore } from './chunk-I3PECBV3.mjs';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-4MCAH3FV.mjs';
|
|
4
4
|
import './chunk-6AX24IFY.mjs';
|
|
5
5
|
import './chunk-2N4HH4ZF.mjs';
|
|
6
6
|
import './chunk-DVNRHEKS.mjs';
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../store/standard/base.ts","../store/standard/PromiseState.ts"],"names":["makeAutoObservable"],"mappings":"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","sourcesContent":["import { makeAutoObservable } from \"mobx\";\n\nimport { type RootStore } from \"../root\";\n\nexport abstract class Store {\n sid?: string;\n stype?: string;\n disabled?: boolean;\n autoObservable?: boolean;\n autoAsyncable?: boolean;\n _active?: number;\n\n stores?: Store[];\n\n private pannel?: {\n title: string;\n render: any;\n };\n devtools?: {\n enable?: boolean;\n started?: boolean;\n panels: Store[\"pannel\"][];\n };\n\n private slot?: {\n name?: string;\n input?: Record<string, any>;\n render: React.FC;\n };\n slots?: Record<string, Store[\"slot\"]>;\n\n events?: Record<string, { name: string; handler(args: { e: MouseEvent; v?: any }): any }>;\n\n provider?({ rootStore }: { rootStore: RootStore }): any;\n\n onNewStore?({ rootStore, store }: { rootStore: RootStore; store: Store }): void;\n onAddedStores?({ rootStore }: { rootStore: RootStore }): void;\n onAdded?({ rootStore }: { rootStore: RootStore }): void;\n\n init?(): void;\n JSONView?: Record<string, { name: string; render: React.FC }>;\n\n onKeyBindings?: () => { key: string; fn: () => void }[];\n\n constructor() {\n this._active = this._active ?? 0;\n }\n}\n\nexport type StoreClass<T extends Store> = new (...args: any[]) => T;\n\nexport interface BaseState {\n value: number;\n setValue(value: any): any;\n}\n\nexport class StringState<T extends string> {\n //@ts-ignore\n value: T = null;\n constructor(args: Partial<StringState<T>> = {}) {\n Object.assign(this, args);\n makeAutoObservable(this);\n }\n setValue(value: T) {\n this.value = value;\n }\n}\n\nexport class BooleanState {\n value: boolean = false;\n constructor(args: Partial<BooleanState> = {}) {\n Object.assign(this, args);\n makeAutoObservable(this);\n }\n setValue(value: boolean) {\n this.value = value;\n }\n}\n\nexport class NumberState {\n value: number = 0;\n constructor(args: Partial<NumberState> = {}) {\n Object.assign(this, args);\n makeAutoObservable(this);\n }\n setValue(value: number) {\n this.value = value;\n }\n}\n\nexport class ValueState<T> {\n //@ts-ignore\n _value: T = null;\n constructor(args: Partial<ValueState<T>> = {}) {\n Object.assign(this, args);\n makeAutoObservable(this);\n }\n\n get value() {\n return this.getValue ? this.getValue(this._value) : this._value;\n }\n\n set value(value) {\n this._value = value;\n }\n\n getValue: (value: T) => T;\n\n setValue(value: T) {\n this._value = value;\n }\n}\n\n// export interface Events {\n// data: (data: any) => void;\n// error: (error: any) => void;\n// update: () => void;\n// wait: () => void;\n// }\n","import { EventEmitter } from \"events\";\nimport { makeAutoObservable } from \"mobx\";\nimport { ToastPlugin } from \"../../module/Toast/Toast\";\nimport { RootStore } from \"../root\";\nimport { BaseState, BooleanState, NumberState } from \"./base\";\nimport { useEffect } from \"react\";\n\nexport interface Events {\n data: (data: any) => void;\n error: (error: any) => void;\n select: (index: number) => void;\n update: () => void;\n finally: () => void;\n wait: () => void;\n}\n\nexport class PromiseState<T extends (...args: any[]) => Promise<any>, U = ReturnType<T>> {\n sid = \"PromiseState\";\n key?: string;\n loading = new BooleanState();\n // @ts-ignore\n value?: Awaited<U> = null;\n defaultValue: any = null;\n function: T;\n transform?: (value: any) => Promise<Awaited<U>> | Awaited<U> = null;\n // 401 403\n signOut: () => void;\n onError: (error: any) => void;\n\n autoAlert = true;\n autoUpdate = false;\n autoInit = false;\n autoClean = false;\n context: any = undefined;\n\n successMsg: string = \"\";\n errMsg: string = \"\";\n\n loadingLock = true;\n\n // event plugin\n event = new EventEmitter();\n\n on<E extends keyof Events>(event: E, listener: Events[E]) {\n this.event.on(event, listener);\n return this;\n }\n\n once<E extends keyof Events>(event: E, listener: Events[E]) {\n this.event.once(event, listener);\n return this;\n }\n\n use<E extends keyof Events>(event: E, listener: Events[E]) {\n useEffect(() => {\n this.event.on(event, listener);\n return () => {\n this.event.off(event, listener);\n };\n }, []);\n\n return () => this.event.off(event, listener);\n }\n\n emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>) {\n this.event.emit(event, ...args);\n }\n\n // init plugin\n init: () => Promise<void>;\n\n // list selector plugin\n currentIndex: BaseState = new NumberState({ value: 0 });\n get current() {\n if (Array.isArray(this.value) && this.value.length > 0 && !this.value[this.currentIndex.value]) {\n this.currentIndex.setValue(0);\n }\n //@ts-ignore\n return this.value[this.currentIndex.value];\n }\n\n _onSelect(index: number) {\n this.currentIndex.setValue(index);\n this.event.emit(\"select\", index);\n this.event.emit(\"update\");\n }\n\n onSelect(index: number) {\n this._onSelect(index);\n }\n\n toJSON() {\n return {\n value: this.value,\n };\n }\n\n //@ts-ignore\n async waitItem(): Promise<Awaited<U>[0]> {\n await this.wait();\n return this.current;\n }\n\n // wait hook plugin\n async wait({ call = false } = {}): Promise<Awaited<U>> {\n return new Promise<Awaited<U>>((res, rej) => {\n if (this.value) {\n if (Array.isArray(this.value)) {\n if (this.value.length > 0) {\n res(this.value);\n }\n } else {\n res(this.value);\n }\n }\n\n //@ts-ignore\n if (call && !this.loading.value) this.call();\n this.event.emit(\"wait\");\n this.event.once(\"data\", res);\n this.event.on(\"error\", rej);\n });\n }\n\n // devtool plugin\n debug: { name: string; input: Record<string, any> } = null;\n\n constructor(args: Partial<PromiseState<T, U>> = {}) {\n Object.assign(this, args);\n if (this.defaultValue) {\n this.value = this.defaultValue;\n }\n if (this.key) {\n RootStore.init().add(this, { sid: this.key });\n } else {\n makeAutoObservable(this);\n }\n }\n\n async setValue(val) {\n let _val = val;\n if (this.transform) {\n _val = await this.transform(val);\n }\n this.value = _val;\n this.event.emit(\"data\", val);\n this.event.emit(\"update\");\n }\n\n async getOrCall(...args: Parameters<T>): Promise<Awaited<U>> {\n if (this.value) {\n if (Array.isArray(this.value)) {\n if (this.value.length > 0) {\n return this.value;\n } else {\n return this.call(...args);\n }\n } else {\n return this.value;\n }\n } else {\n return this.call(...args);\n }\n }\n\n async call(...args: Parameters<T>): Promise<Awaited<U>> {\n const toast = RootStore.Get(ToastPlugin);\n try {\n if (this.loadingLock && this.loading.value == true) return;\n this.loading.setValue(true);\n const res = await this.function.apply(this.context, args);\n this.setValue(res);\n if (this.successMsg && res) {\n toast.success(this.successMsg);\n }\n return res;\n } catch (error) {\n if (this.autoAlert) {\n const message = error.message;\n if (message.includes(\"UNAUTHORIZED\")) {\n toast.dismiss();\n // toast.error(message, {\n // id: \"UNAUTHORIZED\",\n // });\n this.signOut?.();\n } else {\n this.errMsg = message;\n toast.error(message);\n }\n this.onError?.(error);\n } else {\n this.event.emit(\"error\", error);\n if (this.onError) {\n this.onError(error);\n } else {\n throw error;\n }\n }\n } finally {\n this.event.emit(\"finally\");\n this.loading.setValue(false);\n }\n }\n}\n"]}
|