mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 11:29:46 +00:00
no more any types
This commit is contained in:
parent
3ace715498
commit
adcaa207d9
2 changed files with 9 additions and 5 deletions
|
|
@ -16,9 +16,12 @@ export const policyRegistry = new PolicyRegistry({
|
||||||
store: new MockRelay(),
|
store: new MockRelay(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export type PolicyParam = ParamValue | (string | number)[];
|
||||||
|
export type PolicyParams = Record<string, PolicyParam>;
|
||||||
|
|
||||||
interface PolicySpecItem {
|
interface PolicySpecItem {
|
||||||
name: keyof typeof policyRegistry.available;
|
name: keyof typeof policyRegistry.available;
|
||||||
params?: Record<string, ParamValue | (number | string)[]>;
|
params?: PolicyParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface PolicySpec {
|
export interface PolicySpec {
|
||||||
|
|
|
||||||
|
|
@ -34,10 +34,10 @@ import {
|
||||||
WhitelistPolicyOptsSchema,
|
WhitelistPolicyOptsSchema,
|
||||||
WoTPolicyOptsSchema,
|
WoTPolicyOptsSchema,
|
||||||
} from '@/utils/policies/schemas.ts';
|
} from '@/utils/policies/schemas.ts';
|
||||||
import { normalizeNpub } from '@/utils/policies/mod.ts';
|
import { normalizeNpub, PolicyParams } from '@/utils/policies/mod.ts';
|
||||||
|
|
||||||
export interface PolicyItem {
|
export interface PolicyItem {
|
||||||
instantiate: (params: Record<string, any>) => NPolicy;
|
instantiate: (params: PolicyParams) => NPolicy;
|
||||||
name: string;
|
name: string;
|
||||||
parameters: Record<string, FieldItem>;
|
parameters: Record<string, FieldItem>;
|
||||||
description: string;
|
description: string;
|
||||||
|
|
@ -88,10 +88,11 @@ export class PolicyRegistry {
|
||||||
instantiate: (params) => {
|
instantiate: (params) => {
|
||||||
if (!params.filters || !Array.isArray(params.filters)) throw new Error('Invalid params to FiltersPolicy');
|
if (!params.filters || !Array.isArray(params.filters)) throw new Error('Invalid params to FiltersPolicy');
|
||||||
const filters = params.filters.map((item) => {
|
const filters = params.filters.map((item) => {
|
||||||
|
if (typeof item === 'number') return;
|
||||||
try {
|
try {
|
||||||
return JSON.parse(item);
|
return JSON.parse(item);
|
||||||
} catch {
|
} catch {
|
||||||
return undefined;
|
return;
|
||||||
}
|
}
|
||||||
}).filter(Boolean);
|
}).filter(Boolean);
|
||||||
const parsed = FiltersPolicyOptsSchema.parse({ filters });
|
const parsed = FiltersPolicyOptsSchema.parse({ filters });
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue