Fix types
This commit is contained in:
parent
588d4b7485
commit
8842bfe3b4
|
@ -1,7 +1,7 @@
|
||||||
import { get } from "svelte/store"
|
import { get } from "svelte/store"
|
||||||
import { selectedScreen as selectedScreenStore } from "./screens"
|
import { selectedScreen as selectedScreenStore } from "./screens"
|
||||||
import { findComponentPath } from "@/helpers/components"
|
import { findComponentPath } from "@/helpers/components"
|
||||||
import { Component } from "@budibase/types"
|
import { Component, Screen } from "@budibase/types"
|
||||||
import { BudiStore, PersistenceType } from "@/stores/BudiStore"
|
import { BudiStore, PersistenceType } from "@/stores/BudiStore"
|
||||||
|
|
||||||
interface OpenNodesState {
|
interface OpenNodesState {
|
||||||
|
|
|
@ -35,7 +35,7 @@ export const initialScreenState: ScreenState = {
|
||||||
export class ScreenStore extends BudiStore<ScreenState> {
|
export class ScreenStore extends BudiStore<ScreenState> {
|
||||||
history: any
|
history: any
|
||||||
delete: any
|
delete: any
|
||||||
save: any
|
save: (screen: Screen) => Promise<Screen>
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super(initialScreenState)
|
super(initialScreenState)
|
||||||
|
@ -281,7 +281,10 @@ export class ScreenStore extends BudiStore<ScreenState> {
|
||||||
* supports deeply mutating the current doc rather than just appending data.
|
* supports deeply mutating the current doc rather than just appending data.
|
||||||
*/
|
*/
|
||||||
sequentialScreenPatch = Utils.sequential(
|
sequentialScreenPatch = Utils.sequential(
|
||||||
async (patchFn: (screen: Screen) => any, screenId: string) => {
|
async (
|
||||||
|
patchFn: (screen: Screen) => boolean,
|
||||||
|
screenId: string
|
||||||
|
): Promise<Screen | void> => {
|
||||||
const state = get(this.store)
|
const state = get(this.store)
|
||||||
const screen = state.screens.find(screen => screen._id === screenId)
|
const screen = state.screens.find(screen => screen._id === screenId)
|
||||||
if (!screen) {
|
if (!screen) {
|
||||||
|
|
|
@ -17,12 +17,13 @@ export const sequential = <
|
||||||
TFunction extends (...args: any[]) => Promise<TReturn>
|
TFunction extends (...args: any[]) => Promise<TReturn>
|
||||||
>(
|
>(
|
||||||
fn: TFunction
|
fn: TFunction
|
||||||
): ((...args: Parameters<TFunction>) => Promise<TReturn | undefined>) => {
|
): TFunction => {
|
||||||
let queue: any[] = []
|
let queue: (() => Promise<void>)[] = []
|
||||||
return (...params: Parameters<TFunction>) => {
|
const result = (...params: Parameters<TFunction>) => {
|
||||||
return new Promise<TReturn | undefined>((resolve, reject) => {
|
return new Promise<TReturn>((resolve, reject) => {
|
||||||
queue.push(async () => {
|
queue.push(async () => {
|
||||||
let data, error
|
let data: TReturn | undefined
|
||||||
|
let error: unknown
|
||||||
try {
|
try {
|
||||||
data = await fn(...params)
|
data = await fn(...params)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
@ -35,7 +36,7 @@ export const sequential = <
|
||||||
if (error) {
|
if (error) {
|
||||||
reject(error)
|
reject(error)
|
||||||
} else {
|
} else {
|
||||||
resolve(data)
|
resolve(data!)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
if (queue.length === 1) {
|
if (queue.length === 1) {
|
||||||
|
@ -43,6 +44,7 @@ export const sequential = <
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
return result as TFunction
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue