%PDF- %PDF-
| Direktori : /var/www/projetos/takthua.com.br/wp-content/plugins/ml-slider/extendify-sdk/src/middleware/ |
| Current File : /var/www/projetos/takthua.com.br/wp-content/plugins/ml-slider/extendify-sdk/src/middleware/index.js |
import { hasPluginsActivated } from './hasPluginsActivated'
import { hasRequiredPlugins } from './hasRequiredPlugins'
export const Middleware = (middleware = []) => {
return {
hasRequiredPlugins: hasRequiredPlugins,
hasPluginsActivated: hasPluginsActivated,
stack: [],
async check(template) {
for (const m of middleware) {
const cb = await this[`${m}`](template)
this.stack.push(cb.pass ? cb.allow : cb.deny)
}
},
reset() {
this.stack = []
},
}
}
export async function AuthorizationCheck(middleware) {
const middlewareGenerator = MiddlewareGenerator(middleware.stack)
while (true) {
let result
try {
result = await middlewareGenerator.next()
} catch {
// Reset the stack and exit the middleware
// This is used if you want to have the user cancel
middleware.reset()
throw 'Middleware exited'
}
// TODO: Could probably have a check for errors here
if (result.done) {
break
}
}
}
export async function* MiddlewareGenerator(middleware) {
for (const m of middleware) {
yield await m()
}
}