All files / test/framework/demo/orchestrator/subject ~.schema.ts

100% Statements 47/47
100% Branches 0/0
100% Functions 0/0
100% Lines 47/47

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 481x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
import {validationHandlers} from '@feasibleone/blong';
import {Type, type Static} from 'typebox';
 
type subjectAge = Static<typeof subjectAge>;
const subjectAge = Type.Function(
    [
        Type.Object({
            birthDate: Type.String({description: 'Birth Date'}),
        }),
    ],
    Type.Promise(
        Type.Object({
            age: Type.Number({description: 'Age in years'}),
        }),
    ),
    {description: 'Calculate age'},
);
 
type subjectHello = Static<typeof subjectHello>;
const subjectHello = Type.Function(
    [Type.Unknown()],
    Type.Promise(
        Type.Object({
            hello: Type.Unknown(),
        }),
    ),
);
 
type subjectNumberSum = Static<typeof subjectNumberSum>;
const subjectNumberSum = Type.Function([Type.Array(Type.Number())], Type.Promise(Type.Number()));
 
export default validationHandlers({
    subjectAge,
    subjectHello,
    subjectNumberSum,
});
 
declare module '@feasibleone/blong' {
    interface ISchema {
        subjectAge(params: Parameters<subjectAge>[0], $meta: IMeta): ReturnType<subjectAge>;
        subjectHello(params: Parameters<subjectHello>[0], $meta: IMeta): ReturnType<subjectHello>;
        subjectNumberSum(
            params: Parameters<subjectNumberSum>[0],
            $meta: IMeta,
        ): ReturnType<subjectNumberSum>;
    }
}