@dappworks/kit 0.5.21 → 0.5.22

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.
@@ -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 | 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 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"]}