@coursebuilder/core
Version:
Core package for Course Builder
85 lines (83 loc) • 1.96 kB
JavaScript
import {
defaultCookies
} from "./chunk-YHIVAMGP.js";
import {
parseProviders
} from "./chunk-GN23C7L3.js";
import {
merge
} from "./chunk-PKSI5Z7M.js";
import {
logger
} from "./chunk-734KCKQL.js";
import {
AdapterError
} from "./chunk-CK22XAGT.js";
import {
__name
} from "./chunk-VLQXSCFN.js";
// src/lib/init.ts
async function init({ url, courseBuilderOptions, providerId, action, isPost, cookies: reqCookies }) {
const { providers, provider } = parseProviders({
providers: courseBuilderOptions.providers,
url,
providerId,
options: courseBuilderOptions
});
const maxAge = 30 * 24 * 60 * 60;
const options = {
debug: false,
pages: {},
...courseBuilderOptions,
url,
action,
// @ts-expect-errors
provider,
cookies: merge({}, defaultCookies(courseBuilderOptions.useSecureCookies ?? url.protocol === "https:"), courseBuilderOptions.cookies || {}, reqCookies),
providers,
adapter: adapterErrorHandler(courseBuilderOptions.adapter, logger),
callbacks: {
...defaultCallbacks,
...courseBuilderOptions.callbacks
},
logger,
getCurrentUser: courseBuilderOptions.getCurrentUser
};
const cookies = [];
return {
options,
cookies
};
}
__name(init, "init");
var defaultCallbacks = {
session(payload) {
return payload;
}
};
function adapterErrorHandler(adapter, logger2) {
if (!adapter)
return;
return Object.keys(adapter).reduce((acc, name) => {
acc[name] = async (...args) => {
try {
logger2.debug(`adapter_${name}`, {
args
});
const method = adapter[name];
return await method(...args);
} catch (e) {
const error = new AdapterError(e);
logger2.error(error);
throw error;
}
};
return acc;
}, {});
}
__name(adapterErrorHandler, "adapterErrorHandler");
export {
init,
defaultCallbacks
};
//# sourceMappingURL=chunk-NEEWBEH7.js.map