permission-node: destructure options inside function to simplify api-report

Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
This commit is contained in:
Mike Lewis
2021-11-24 14:18:11 +00:00
parent 5bff67aac4
commit b08dbb1035
2 changed files with 21 additions and 23 deletions
+1 -5
View File
@@ -57,11 +57,7 @@ export type ConditionTransformer<TQuery> = (
export const createConditionExports: <
TResource,
TRules extends Record<string, PermissionRule<TResource, any, unknown[]>>,
>({
pluginId,
resourceType,
rules,
}: {
>(options: {
pluginId: string;
resourceType: string;
rules: TRules;
@@ -63,11 +63,7 @@ export type Conditions<
export const createConditionExports = <
TResource,
TRules extends Record<string, PermissionRule<TResource, any>>,
>({
pluginId,
resourceType,
rules,
}: {
>(options: {
pluginId: string;
resourceType: string;
rules: TRules;
@@ -78,17 +74,23 @@ export const createConditionExports = <
resourceType: string;
conditions: PermissionCriteria<PermissionCondition>;
};
} => ({
conditions: Object.entries(rules).reduce(
(acc, [key, rule]) => ({
...acc,
[key]: createConditionFactory(rule),
} => {
const { pluginId, resourceType, rules } = options;
return {
conditions: Object.entries(rules).reduce(
(acc, [key, rule]) => ({
...acc,
[key]: createConditionFactory(rule),
}),
{} as Conditions<TRules>,
),
createConditions: (
conditions: PermissionCriteria<PermissionCondition>,
) => ({
pluginId,
resourceType,
conditions,
}),
{} as Conditions<TRules>,
),
createConditions: (conditions: PermissionCriteria<PermissionCondition>) => ({
pluginId,
resourceType,
conditions,
}),
});
};
};