"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.UpdateStudentItemResponseResponse$ = exports.UpdateStudentItemResponseResponse$outboundSchema = exports.UpdateStudentItemResponseResponse$inboundSchema = exports.UpdateStudentItemResponseRequest$ = exports.UpdateStudentItemResponseRequest$outboundSchema = exports.UpdateStudentItemResponseRequest$inboundSchema = exports.UpdateStudentItemResponseResult$ = exports.UpdateStudentItemResponseResult$outboundSchema = exports.UpdateStudentItemResponseResult$inboundSchema = exports.UpdateStudentItemResponseLearningObjectiveSet$ = exports.UpdateStudentItemResponseLearningObjectiveSet$outboundSchema = exports.UpdateStudentItemResponseLearningObjectiveSet$inboundSchema = exports.UpdateStudentItemResponseLearningObjectiveResult$ = exports.UpdateStudentItemResponseLearningObjectiveResult$outboundSchema = exports.UpdateStudentItemResponseLearningObjectiveResult$inboundSchema = exports.UpdateStudentItemResponseScoreStatus$ = exports.UpdateStudentItemResponseScoreStatus$outboundSchema = exports.UpdateStudentItemResponseScoreStatus$inboundSchema = exports.UpdateStudentItemResponseStatus$ = exports.UpdateStudentItemResponseStatus$outboundSchema = exports.UpdateStudentItemResponseStatus$inboundSchema = exports.UpdateStudentItemResponseScoreStatus = exports.UpdateStudentItemResponseStatus = void 0;
exports.updateStudentItemResponseLearningObjectiveResultToJSON = updateStudentItemResponseLearningObjectiveResultToJSON;
exports.updateStudentItemResponseLearningObjectiveResultFromJSON = updateStudentItemResponseLearningObjectiveResultFromJSON;
exports.updateStudentItemResponseLearningObjectiveSetToJSON = updateStudentItemResponseLearningObjectiveSetToJSON;
exports.updateStudentItemResponseLearningObjectiveSetFromJSON = updateStudentItemResponseLearningObjectiveSetFromJSON;
exports.updateStudentItemResponseResultToJSON = updateStudentItemResponseResultToJSON;
exports.updateStudentItemResponseResultFromJSON = updateStudentItemResponseResultFromJSON;
exports.updateStudentItemResponseRequestToJSON = updateStudentItemResponseRequestToJSON;
exports.updateStudentItemResponseRequestFromJSON = updateStudentItemResponseRequestFromJSON;
exports.updateStudentItemResponseResponseToJSON = updateStudentItemResponseResponseToJSON;
exports.updateStudentItemResponseResponseFromJSON = updateStudentItemResponseResponseFromJSON;
const z = __importStar(require("zod"));
const schemas_js_1 = require("../../lib/schemas.js");
const components = __importStar(require("../components/index.js"));
exports.UpdateStudentItemResponseStatus = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
exports.UpdateStudentItemResponseScoreStatus = {
    Exempt: "exempt",
    FullyGraded: "fully graded",
    NotSubmitted: "not submitted",
    PartiallyGraded: "partially graded",
    Submitted: "submitted",
};
/** @internal */
exports.UpdateStudentItemResponseStatus$inboundSchema = z.nativeEnum(exports.UpdateStudentItemResponseStatus);
/** @internal */
exports.UpdateStudentItemResponseStatus$outboundSchema = exports.UpdateStudentItemResponseStatus$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var UpdateStudentItemResponseStatus$;
(function (UpdateStudentItemResponseStatus$) {
    /** @deprecated use `UpdateStudentItemResponseStatus$inboundSchema` instead. */
    UpdateStudentItemResponseStatus$.inboundSchema = exports.UpdateStudentItemResponseStatus$inboundSchema;
    /** @deprecated use `UpdateStudentItemResponseStatus$outboundSchema` instead. */
    UpdateStudentItemResponseStatus$.outboundSchema = exports.UpdateStudentItemResponseStatus$outboundSchema;
})(UpdateStudentItemResponseStatus$ || (exports.UpdateStudentItemResponseStatus$ = UpdateStudentItemResponseStatus$ = {}));
/** @internal */
exports.UpdateStudentItemResponseScoreStatus$inboundSchema = z.nativeEnum(exports.UpdateStudentItemResponseScoreStatus);
/** @internal */
exports.UpdateStudentItemResponseScoreStatus$outboundSchema = exports.UpdateStudentItemResponseScoreStatus$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var UpdateStudentItemResponseScoreStatus$;
(function (UpdateStudentItemResponseScoreStatus$) {
    /** @deprecated use `UpdateStudentItemResponseScoreStatus$inboundSchema` instead. */
    UpdateStudentItemResponseScoreStatus$.inboundSchema = exports.UpdateStudentItemResponseScoreStatus$inboundSchema;
    /** @deprecated use `UpdateStudentItemResponseScoreStatus$outboundSchema` instead. */
    UpdateStudentItemResponseScoreStatus$.outboundSchema = exports.UpdateStudentItemResponseScoreStatus$outboundSchema;
})(UpdateStudentItemResponseScoreStatus$ || (exports.UpdateStudentItemResponseScoreStatus$ = UpdateStudentItemResponseScoreStatus$ = {}));
/** @internal */
exports.UpdateStudentItemResponseLearningObjectiveResult$inboundSchema = z.object({
    learningObjectiveId: z.string(),
    score: z.number().optional(),
    textScore: z.string().optional(),
});
/** @internal */
exports.UpdateStudentItemResponseLearningObjectiveResult$outboundSchema = z.object({
    learningObjectiveId: z.string(),
    score: z.number().optional(),
    textScore: z.string().optional(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var UpdateStudentItemResponseLearningObjectiveResult$;
(function (UpdateStudentItemResponseLearningObjectiveResult$) {
    /** @deprecated use `UpdateStudentItemResponseLearningObjectiveResult$inboundSchema` instead. */
    UpdateStudentItemResponseLearningObjectiveResult$.inboundSchema = exports.UpdateStudentItemResponseLearningObjectiveResult$inboundSchema;
    /** @deprecated use `UpdateStudentItemResponseLearningObjectiveResult$outboundSchema` instead. */
    UpdateStudentItemResponseLearningObjectiveResult$.outboundSchema = exports.UpdateStudentItemResponseLearningObjectiveResult$outboundSchema;
})(UpdateStudentItemResponseLearningObjectiveResult$ || (exports.UpdateStudentItemResponseLearningObjectiveResult$ = UpdateStudentItemResponseLearningObjectiveResult$ = {}));
function updateStudentItemResponseLearningObjectiveResultToJSON(updateStudentItemResponseLearningObjectiveResult) {
    return JSON.stringify(exports.UpdateStudentItemResponseLearningObjectiveResult$outboundSchema.parse(updateStudentItemResponseLearningObjectiveResult));
}
function updateStudentItemResponseLearningObjectiveResultFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.UpdateStudentItemResponseLearningObjectiveResult$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateStudentItemResponseLearningObjectiveResult' from JSON`);
}
/** @internal */
exports.UpdateStudentItemResponseLearningObjectiveSet$inboundSchema = z.object({
    source: z.string(),
    learningObjectiveResults: z.array(z.lazy(() => exports.UpdateStudentItemResponseLearningObjectiveResult$inboundSchema)),
});
/** @internal */
exports.UpdateStudentItemResponseLearningObjectiveSet$outboundSchema = z.object({
    source: z.string(),
    learningObjectiveResults: z.array(z.lazy(() => exports.UpdateStudentItemResponseLearningObjectiveResult$outboundSchema)),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var UpdateStudentItemResponseLearningObjectiveSet$;
(function (UpdateStudentItemResponseLearningObjectiveSet$) {
    /** @deprecated use `UpdateStudentItemResponseLearningObjectiveSet$inboundSchema` instead. */
    UpdateStudentItemResponseLearningObjectiveSet$.inboundSchema = exports.UpdateStudentItemResponseLearningObjectiveSet$inboundSchema;
    /** @deprecated use `UpdateStudentItemResponseLearningObjectiveSet$outboundSchema` instead. */
    UpdateStudentItemResponseLearningObjectiveSet$.outboundSchema = exports.UpdateStudentItemResponseLearningObjectiveSet$outboundSchema;
})(UpdateStudentItemResponseLearningObjectiveSet$ || (exports.UpdateStudentItemResponseLearningObjectiveSet$ = UpdateStudentItemResponseLearningObjectiveSet$ = {}));
function updateStudentItemResponseLearningObjectiveSetToJSON(updateStudentItemResponseLearningObjectiveSet) {
    return JSON.stringify(exports.UpdateStudentItemResponseLearningObjectiveSet$outboundSchema.parse(updateStudentItemResponseLearningObjectiveSet));
}
function updateStudentItemResponseLearningObjectiveSetFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.UpdateStudentItemResponseLearningObjectiveSet$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateStudentItemResponseLearningObjectiveSet' from JSON`);
}
/** @internal */
exports.UpdateStudentItemResponseResult$inboundSchema = z.object({
    status: exports.UpdateStudentItemResponseStatus$inboundSchema,
    metadata: z.nullable(z.record(z.any())).optional(),
    score: z.nullable(z.number()).optional(),
    textScore: z.nullable(z.string()).optional(),
    scoreDate: z.string().datetime({ offset: true }).transform(v => new Date(v)),
    scorePercentile: z.nullable(z.number()).optional(),
    scoreStatus: exports.UpdateStudentItemResponseScoreStatus$inboundSchema,
    comment: z.nullable(z.string()).optional(),
    learningObjectiveSet: z.nullable(z.array(z.lazy(() => exports.UpdateStudentItemResponseLearningObjectiveSet$inboundSchema))).optional(),
    inProgress: z.nullable(z.string()).optional(),
    incomplete: z.nullable(z.string()).optional(),
    late: z.nullable(z.string()).optional(),
    missing: z.nullable(z.string()).optional(),
});
/** @internal */
exports.UpdateStudentItemResponseResult$outboundSchema = z.object({
    status: exports.UpdateStudentItemResponseStatus$outboundSchema,
    metadata: z.nullable(z.record(z.any())).optional(),
    score: z.nullable(z.number()).optional(),
    textScore: z.nullable(z.string()).optional(),
    scoreDate: z.date().transform(v => v.toISOString()),
    scorePercentile: z.nullable(z.number()).optional(),
    scoreStatus: exports.UpdateStudentItemResponseScoreStatus$outboundSchema,
    comment: z.nullable(z.string()).optional(),
    learningObjectiveSet: z.nullable(z.array(z.lazy(() => exports.UpdateStudentItemResponseLearningObjectiveSet$outboundSchema))).optional(),
    inProgress: z.nullable(z.string()).optional(),
    incomplete: z.nullable(z.string()).optional(),
    late: z.nullable(z.string()).optional(),
    missing: z.nullable(z.string()).optional(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var UpdateStudentItemResponseResult$;
(function (UpdateStudentItemResponseResult$) {
    /** @deprecated use `UpdateStudentItemResponseResult$inboundSchema` instead. */
    UpdateStudentItemResponseResult$.inboundSchema = exports.UpdateStudentItemResponseResult$inboundSchema;
    /** @deprecated use `UpdateStudentItemResponseResult$outboundSchema` instead. */
    UpdateStudentItemResponseResult$.outboundSchema = exports.UpdateStudentItemResponseResult$outboundSchema;
})(UpdateStudentItemResponseResult$ || (exports.UpdateStudentItemResponseResult$ = UpdateStudentItemResponseResult$ = {}));
function updateStudentItemResponseResultToJSON(updateStudentItemResponseResult) {
    return JSON.stringify(exports.UpdateStudentItemResponseResult$outboundSchema.parse(updateStudentItemResponseResult));
}
function updateStudentItemResponseResultFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.UpdateStudentItemResponseResult$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateStudentItemResponseResult' from JSON`);
}
/** @internal */
exports.UpdateStudentItemResponseRequest$inboundSchema = z.object({
    studentId: z.string(),
    componentResourceId: z.string(),
    result: z.lazy(() => exports.UpdateStudentItemResponseResult$inboundSchema),
});
/** @internal */
exports.UpdateStudentItemResponseRequest$outboundSchema = z.object({
    studentId: z.string(),
    componentResourceId: z.string(),
    result: z.lazy(() => exports.UpdateStudentItemResponseResult$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var UpdateStudentItemResponseRequest$;
(function (UpdateStudentItemResponseRequest$) {
    /** @deprecated use `UpdateStudentItemResponseRequest$inboundSchema` instead. */
    UpdateStudentItemResponseRequest$.inboundSchema = exports.UpdateStudentItemResponseRequest$inboundSchema;
    /** @deprecated use `UpdateStudentItemResponseRequest$outboundSchema` instead. */
    UpdateStudentItemResponseRequest$.outboundSchema = exports.UpdateStudentItemResponseRequest$outboundSchema;
})(UpdateStudentItemResponseRequest$ || (exports.UpdateStudentItemResponseRequest$ = UpdateStudentItemResponseRequest$ = {}));
function updateStudentItemResponseRequestToJSON(updateStudentItemResponseRequest) {
    return JSON.stringify(exports.UpdateStudentItemResponseRequest$outboundSchema.parse(updateStudentItemResponseRequest));
}
function updateStudentItemResponseRequestFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.UpdateStudentItemResponseRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateStudentItemResponseRequest' from JSON`);
}
/** @internal */
exports.UpdateStudentItemResponseResponse$inboundSchema = z.object({
    componentResourceLineItem: components.AssessmentLineItem$inboundSchema
        .optional(),
    componentResourceResult: components.AssessmentResult$inboundSchema.optional(),
});
/** @internal */
exports.UpdateStudentItemResponseResponse$outboundSchema = z.object({
    componentResourceLineItem: components.AssessmentLineItem$outboundSchema
        .optional(),
    componentResourceResult: components.AssessmentResult$outboundSchema
        .optional(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var UpdateStudentItemResponseResponse$;
(function (UpdateStudentItemResponseResponse$) {
    /** @deprecated use `UpdateStudentItemResponseResponse$inboundSchema` instead. */
    UpdateStudentItemResponseResponse$.inboundSchema = exports.UpdateStudentItemResponseResponse$inboundSchema;
    /** @deprecated use `UpdateStudentItemResponseResponse$outboundSchema` instead. */
    UpdateStudentItemResponseResponse$.outboundSchema = exports.UpdateStudentItemResponseResponse$outboundSchema;
})(UpdateStudentItemResponseResponse$ || (exports.UpdateStudentItemResponseResponse$ = UpdateStudentItemResponseResponse$ = {}));
function updateStudentItemResponseResponseToJSON(updateStudentItemResponseResponse) {
    return JSON.stringify(exports.UpdateStudentItemResponseResponse$outboundSchema.parse(updateStudentItemResponseResponse));
}
function updateStudentItemResponseResponseFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.UpdateStudentItemResponseResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateStudentItemResponseResponse' from JSON`);
}
//# sourceMappingURL=updatestudentitemresponse.js.map