Skip to content

Commit

Permalink
remove unnecessary recursion
Browse files Browse the repository at this point in the history
  • Loading branch information
bdemann committed Dec 5, 2023
1 parent 6555b5f commit 600a8f7
Showing 1 changed file with 25 additions and 41 deletions.
66 changes: 25 additions & 41 deletions property_tests/arbitraries/candid/candid_value_and_meta_arb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,10 @@ import { Float32Arb } from './primitive/floats/float32_arb';
import { Float64Arb } from './primitive/floats/float64_arb';
import { TextArb } from './primitive/text';
import { BlobArb } from './constructed/blob_arb';
import { Func } from './reference/func_arb';
import { Opt } from './constructed/opt_arb';
import { Variant } from './constructed/variant_arb';
import { VariantArb } from './constructed/variant_arb';
import { Record } from './constructed/record_arb';
import { Tuple } from './constructed/tuple_arb';
import { RecordArb } from './constructed/record_arb';
import { TupleArb } from './constructed/tuple_arb';
import { OptArb } from './constructed/opt_arb';
import { Vec } from './constructed/vec_arb';
import { VecArb } from './constructed/vec_arb';
import { FuncArb } from './reference/func_arb';
import { CorrespondingJSType } from './corresponding_js_type';
Expand All @@ -48,41 +42,31 @@ export type CandidValueAndMeta<T extends CorrespondingJSType, E = T> = {
export function CandidValueAndMetaArb(): fc.Arbitrary<
CandidValueAndMeta<CorrespondingJSType>
> {
return fc.letrec((tie) => ({
CandidType: fc.oneof(
BlobArb(),
tie('Opt').map((sample) => sample as CandidValueAndMeta<Opt>),
tie('Record').map((sample) => sample as CandidValueAndMeta<Record>),
tie('Tuple').map((sample) => sample as CandidValueAndMeta<Tuple>),
tie('Variant').map(
(sample) => sample as CandidValueAndMeta<Variant>
),
tie('Vec').map((sample) => sample as CandidValueAndMeta<Vec>),
Float32Arb(),
Float64Arb(),
IntArb(),
Int8Arb(),
Int16Arb(),
Int32Arb(),
Int64Arb(),
NatArb(),
Nat8Arb(),
Nat16Arb(),
Nat32Arb(),
Nat64Arb(),
BoolArb(),
NullArb(),
TextArb(),
tie('Func').map((sample) => sample as CandidValueAndMeta<Func>),
PrincipalArb()
),
Func: FuncArb(),
Vec: VecArb(),
Opt: OptArb(),
Variant: VariantArb(),
Tuple: TupleArb(),
Record: RecordArb()
})).CandidType;
return fc.oneof(
BlobArb(),
OptArb(),
RecordArb(),
TupleArb(),
VariantArb(),
VecArb(),
Float32Arb(),
Float64Arb(),
IntArb(),
Int8Arb(),
Int16Arb(),
Int32Arb(),
Int64Arb(),
NatArb(),
Nat8Arb(),
Nat16Arb(),
Nat32Arb(),
Nat64Arb(),
BoolArb(),
NullArb(),
TextArb(),
FuncArb(),
PrincipalArb()
);
}

// TODO: This needs to support service.

0 comments on commit 600a8f7

Please sign in to comment.