@rusaint/react-native 0.13.6 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/android/build.gradle +4 -4
  2. package/android/src/main/jniLibs/arm64-v8a/librusaint_ffi.so +0 -0
  3. package/android/src/main/jniLibs/armeabi-v7a/librusaint_ffi.so +0 -0
  4. package/build/RusaintReactNative.xcframework/_CodeSignature/CodeDirectory +0 -0
  5. package/build/RusaintReactNative.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  6. package/build/RusaintReactNative.xcframework/_CodeSignature/CodeResources +6 -6
  7. package/build/RusaintReactNative.xcframework/_CodeSignature/CodeSignature +0 -0
  8. package/build/RusaintReactNative.xcframework/ios-arm64/librusaint_ffi.a +0 -0
  9. package/build/RusaintReactNative.xcframework/ios-arm64-simulator/librusaint_ffi.a +0 -0
  10. package/cpp/generated/rusaint_ffi.cpp +555 -0
  11. package/cpp/generated/rusaint_ffi.hpp +30 -0
  12. package/lib/commonjs/generated/rusaint.js +720 -1
  13. package/lib/commonjs/generated/rusaint.js.map +1 -1
  14. package/lib/commonjs/generated/rusaint_ffi-ffi.js.map +1 -1
  15. package/lib/commonjs/generated/rusaint_ffi.js +388 -1
  16. package/lib/commonjs/generated/rusaint_ffi.js.map +1 -1
  17. package/lib/module/generated/rusaint.js +719 -0
  18. package/lib/module/generated/rusaint.js.map +1 -1
  19. package/lib/module/generated/rusaint_ffi-ffi.js.map +1 -1
  20. package/lib/module/generated/rusaint_ffi.js +385 -0
  21. package/lib/module/generated/rusaint_ffi.js.map +1 -1
  22. package/lib/typescript/commonjs/src/generated/rusaint.d.ts +676 -0
  23. package/lib/typescript/commonjs/src/generated/rusaint.d.ts.map +1 -1
  24. package/lib/typescript/commonjs/src/generated/rusaint_ffi-ffi.d.ts +30 -0
  25. package/lib/typescript/commonjs/src/generated/rusaint_ffi-ffi.d.ts.map +1 -1
  26. package/lib/typescript/commonjs/src/generated/rusaint_ffi.d.ts +192 -1
  27. package/lib/typescript/commonjs/src/generated/rusaint_ffi.d.ts.map +1 -1
  28. package/lib/typescript/module/src/generated/rusaint.d.ts +676 -0
  29. package/lib/typescript/module/src/generated/rusaint.d.ts.map +1 -1
  30. package/lib/typescript/module/src/generated/rusaint_ffi-ffi.d.ts +30 -0
  31. package/lib/typescript/module/src/generated/rusaint_ffi-ffi.d.ts.map +1 -1
  32. package/lib/typescript/module/src/generated/rusaint_ffi.d.ts +192 -1
  33. package/lib/typescript/module/src/generated/rusaint_ffi.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/src/generated/rusaint.ts +1271 -25
  36. package/src/generated/rusaint_ffi-ffi.ts +82 -0
  37. package/src/generated/rusaint_ffi.ts +1107 -168
@@ -70,6 +70,80 @@ const uniffiIsDebug =
70
70
  false;
71
71
  // Public interface members begin here.
72
72
 
73
+ /**
74
+ * 대체 과목 정보
75
+ */
76
+ export type AlternativeLecture = {
77
+ /**
78
+ * 구분
79
+ */
80
+ kind: string;
81
+ /**
82
+ * 과목번호
83
+ */
84
+ code: string;
85
+ /**
86
+ * 과목명
87
+ */
88
+ name: string;
89
+ };
90
+
91
+ /**
92
+ * Generated factory for {@link AlternativeLecture} record objects.
93
+ */
94
+ export const AlternativeLecture = (() => {
95
+ const defaults = () => ({});
96
+ const create = (() => {
97
+ return uniffiCreateRecord<AlternativeLecture, ReturnType<typeof defaults>>(
98
+ defaults
99
+ );
100
+ })();
101
+ return Object.freeze({
102
+ /**
103
+ * Create a frozen instance of {@link AlternativeLecture}, with defaults specified
104
+ * in Rust, in the {@link rusaint} crate.
105
+ */
106
+ create,
107
+
108
+ /**
109
+ * Create a frozen instance of {@link AlternativeLecture}, with defaults specified
110
+ * in Rust, in the {@link rusaint} crate.
111
+ */
112
+ new: create,
113
+
114
+ /**
115
+ * Defaults specified in the {@link rusaint} crate.
116
+ */
117
+ defaults: () => Object.freeze(defaults()) as Partial<AlternativeLecture>,
118
+ });
119
+ })();
120
+
121
+ const FfiConverterTypeAlternativeLecture = (() => {
122
+ type TypeName = AlternativeLecture;
123
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
124
+ read(from: RustBuffer): TypeName {
125
+ return {
126
+ kind: FfiConverterString.read(from),
127
+ code: FfiConverterString.read(from),
128
+ name: FfiConverterString.read(from),
129
+ };
130
+ }
131
+ write(value: TypeName, into: RustBuffer): void {
132
+ FfiConverterString.write(value.kind, into);
133
+ FfiConverterString.write(value.code, into);
134
+ FfiConverterString.write(value.name, into);
135
+ }
136
+ allocationSize(value: TypeName): number {
137
+ return (
138
+ FfiConverterString.allocationSize(value.kind) +
139
+ FfiConverterString.allocationSize(value.code) +
140
+ FfiConverterString.allocationSize(value.name)
141
+ );
142
+ }
143
+ }
144
+ return new FFIConverter();
145
+ })();
146
+
73
147
  /**
74
148
  * 채플 결석신청 정보
75
149
  */
@@ -458,6 +532,122 @@ const FfiConverterTypeClassGrade = (() => {
458
532
  return new FFIConverter();
459
533
  })();
460
534
 
535
+ /**
536
+ * 이수구분별 개별 과목 성적
537
+ */
538
+ export type ClassGradeItem = {
539
+ /**
540
+ * 이수구분 (e.g., "교양필수", "전공선택")
541
+ */
542
+ classification: string;
543
+ /**
544
+ * 학년도
545
+ */
546
+ year: string;
547
+ /**
548
+ * 학기
549
+ */
550
+ semester: string;
551
+ /**
552
+ * 과목코드
553
+ */
554
+ courseCode: string;
555
+ /**
556
+ * 과목명
557
+ */
558
+ courseName: string;
559
+ /**
560
+ * 학점
561
+ */
562
+ credits: string;
563
+ /**
564
+ * 성적 점수 (e.g., "100")
565
+ */
566
+ score: string;
567
+ /**
568
+ * 성적 등급 (e.g., "A+")
569
+ */
570
+ grade: string;
571
+ /**
572
+ * 비고
573
+ */
574
+ note: string;
575
+ };
576
+
577
+ /**
578
+ * Generated factory for {@link ClassGradeItem} record objects.
579
+ */
580
+ export const ClassGradeItem = (() => {
581
+ const defaults = () => ({});
582
+ const create = (() => {
583
+ return uniffiCreateRecord<ClassGradeItem, ReturnType<typeof defaults>>(
584
+ defaults
585
+ );
586
+ })();
587
+ return Object.freeze({
588
+ /**
589
+ * Create a frozen instance of {@link ClassGradeItem}, with defaults specified
590
+ * in Rust, in the {@link rusaint} crate.
591
+ */
592
+ create,
593
+
594
+ /**
595
+ * Create a frozen instance of {@link ClassGradeItem}, with defaults specified
596
+ * in Rust, in the {@link rusaint} crate.
597
+ */
598
+ new: create,
599
+
600
+ /**
601
+ * Defaults specified in the {@link rusaint} crate.
602
+ */
603
+ defaults: () => Object.freeze(defaults()) as Partial<ClassGradeItem>,
604
+ });
605
+ })();
606
+
607
+ const FfiConverterTypeClassGradeItem = (() => {
608
+ type TypeName = ClassGradeItem;
609
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
610
+ read(from: RustBuffer): TypeName {
611
+ return {
612
+ classification: FfiConverterString.read(from),
613
+ year: FfiConverterString.read(from),
614
+ semester: FfiConverterString.read(from),
615
+ courseCode: FfiConverterString.read(from),
616
+ courseName: FfiConverterString.read(from),
617
+ credits: FfiConverterString.read(from),
618
+ score: FfiConverterString.read(from),
619
+ grade: FfiConverterString.read(from),
620
+ note: FfiConverterString.read(from),
621
+ };
622
+ }
623
+ write(value: TypeName, into: RustBuffer): void {
624
+ FfiConverterString.write(value.classification, into);
625
+ FfiConverterString.write(value.year, into);
626
+ FfiConverterString.write(value.semester, into);
627
+ FfiConverterString.write(value.courseCode, into);
628
+ FfiConverterString.write(value.courseName, into);
629
+ FfiConverterString.write(value.credits, into);
630
+ FfiConverterString.write(value.score, into);
631
+ FfiConverterString.write(value.grade, into);
632
+ FfiConverterString.write(value.note, into);
633
+ }
634
+ allocationSize(value: TypeName): number {
635
+ return (
636
+ FfiConverterString.allocationSize(value.classification) +
637
+ FfiConverterString.allocationSize(value.year) +
638
+ FfiConverterString.allocationSize(value.semester) +
639
+ FfiConverterString.allocationSize(value.courseCode) +
640
+ FfiConverterString.allocationSize(value.courseName) +
641
+ FfiConverterString.allocationSize(value.credits) +
642
+ FfiConverterString.allocationSize(value.score) +
643
+ FfiConverterString.allocationSize(value.grade) +
644
+ FfiConverterString.allocationSize(value.note)
645
+ );
646
+ }
647
+ }
648
+ return new FFIConverter();
649
+ })();
650
+
461
651
  /**
462
652
  * 강의의 시간표 정보입니다.
463
653
  */
@@ -529,6 +719,80 @@ const FfiConverterTypeCourseScheduleInformation = (() => {
529
719
  return new FFIConverter();
530
720
  })();
531
721
 
722
+ /**
723
+ * 강의 검색 결과와 상세 정보, 강의계획서를 함께 담는 구조체
724
+ */
725
+ export type DetailedLecture = {
726
+ /**
727
+ * 강의 기본 정보
728
+ */
729
+ lecture: Lecture;
730
+ /**
731
+ * 강의 상세 정보 (상세 정보 링크가 없는 경우 `None`)
732
+ */
733
+ detail: LectureDetail | undefined;
734
+ /**
735
+ * 강의계획서 (조회하지 않았거나 강의계획서가 없는 강의의 경우 `None`)
736
+ */
737
+ syllabus: LectureSyllabus | undefined;
738
+ };
739
+
740
+ /**
741
+ * Generated factory for {@link DetailedLecture} record objects.
742
+ */
743
+ export const DetailedLecture = (() => {
744
+ const defaults = () => ({});
745
+ const create = (() => {
746
+ return uniffiCreateRecord<DetailedLecture, ReturnType<typeof defaults>>(
747
+ defaults
748
+ );
749
+ })();
750
+ return Object.freeze({
751
+ /**
752
+ * Create a frozen instance of {@link DetailedLecture}, with defaults specified
753
+ * in Rust, in the {@link rusaint} crate.
754
+ */
755
+ create,
756
+
757
+ /**
758
+ * Create a frozen instance of {@link DetailedLecture}, with defaults specified
759
+ * in Rust, in the {@link rusaint} crate.
760
+ */
761
+ new: create,
762
+
763
+ /**
764
+ * Defaults specified in the {@link rusaint} crate.
765
+ */
766
+ defaults: () => Object.freeze(defaults()) as Partial<DetailedLecture>,
767
+ });
768
+ })();
769
+
770
+ const FfiConverterTypeDetailedLecture = (() => {
771
+ type TypeName = DetailedLecture;
772
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
773
+ read(from: RustBuffer): TypeName {
774
+ return {
775
+ lecture: FfiConverterTypeLecture.read(from),
776
+ detail: FfiConverterOptionalTypeLectureDetail.read(from),
777
+ syllabus: FfiConverterOptionalTypeLectureSyllabus.read(from),
778
+ };
779
+ }
780
+ write(value: TypeName, into: RustBuffer): void {
781
+ FfiConverterTypeLecture.write(value.lecture, into);
782
+ FfiConverterOptionalTypeLectureDetail.write(value.detail, into);
783
+ FfiConverterOptionalTypeLectureSyllabus.write(value.syllabus, into);
784
+ }
785
+ allocationSize(value: TypeName): number {
786
+ return (
787
+ FfiConverterTypeLecture.allocationSize(value.lecture) +
788
+ FfiConverterOptionalTypeLectureDetail.allocationSize(value.detail) +
789
+ FfiConverterOptionalTypeLectureSyllabus.allocationSize(value.syllabus)
790
+ );
791
+ }
792
+ }
793
+ return new FFIConverter();
794
+ })();
795
+
532
796
  /**
533
797
  * 채플 기본 정보(좌석번호, 결석현황, 성적결과)
534
798
  */
@@ -711,6 +975,117 @@ const FfiConverterTypeGradeSummary = (() => {
711
975
  return new FFIConverter();
712
976
  })();
713
977
 
978
+ /**
979
+ * 이수구분별 성적 조회 결과
980
+ */
981
+ export type GradesByClassification = {
982
+ /**
983
+ * 학번
984
+ */
985
+ studentNumber: string;
986
+ /**
987
+ * 이름
988
+ */
989
+ studentName: string;
990
+ /**
991
+ * 학년
992
+ */
993
+ yearLevel: string;
994
+ /**
995
+ * 대학
996
+ */
997
+ college: string;
998
+ /**
999
+ * 학부(과)
1000
+ */
1001
+ department: string;
1002
+ /**
1003
+ * 전공
1004
+ */
1005
+ major: string;
1006
+ /**
1007
+ * 조회일
1008
+ */
1009
+ auditDate: string;
1010
+ /**
1011
+ * 이수구분별 과목 성적 목록
1012
+ */
1013
+ grades: Array<ClassGradeItem>;
1014
+ };
1015
+
1016
+ /**
1017
+ * Generated factory for {@link GradesByClassification} record objects.
1018
+ */
1019
+ export const GradesByClassification = (() => {
1020
+ const defaults = () => ({});
1021
+ const create = (() => {
1022
+ return uniffiCreateRecord<
1023
+ GradesByClassification,
1024
+ ReturnType<typeof defaults>
1025
+ >(defaults);
1026
+ })();
1027
+ return Object.freeze({
1028
+ /**
1029
+ * Create a frozen instance of {@link GradesByClassification}, with defaults specified
1030
+ * in Rust, in the {@link rusaint} crate.
1031
+ */
1032
+ create,
1033
+
1034
+ /**
1035
+ * Create a frozen instance of {@link GradesByClassification}, with defaults specified
1036
+ * in Rust, in the {@link rusaint} crate.
1037
+ */
1038
+ new: create,
1039
+
1040
+ /**
1041
+ * Defaults specified in the {@link rusaint} crate.
1042
+ */
1043
+ defaults: () =>
1044
+ Object.freeze(defaults()) as Partial<GradesByClassification>,
1045
+ });
1046
+ })();
1047
+
1048
+ const FfiConverterTypeGradesByClassification = (() => {
1049
+ type TypeName = GradesByClassification;
1050
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
1051
+ read(from: RustBuffer): TypeName {
1052
+ return {
1053
+ studentNumber: FfiConverterString.read(from),
1054
+ studentName: FfiConverterString.read(from),
1055
+ yearLevel: FfiConverterString.read(from),
1056
+ college: FfiConverterString.read(from),
1057
+ department: FfiConverterString.read(from),
1058
+ major: FfiConverterString.read(from),
1059
+ auditDate: FfiConverterString.read(from),
1060
+ grades: FfiConverterArrayTypeClassGradeItem.read(from),
1061
+ };
1062
+ }
1063
+ write(value: TypeName, into: RustBuffer): void {
1064
+ FfiConverterString.write(value.studentNumber, into);
1065
+ FfiConverterString.write(value.studentName, into);
1066
+ FfiConverterString.write(value.yearLevel, into);
1067
+ FfiConverterString.write(value.college, into);
1068
+ FfiConverterString.write(value.department, into);
1069
+ FfiConverterString.write(value.major, into);
1070
+ FfiConverterString.write(value.auditDate, into);
1071
+ FfiConverterArrayTypeClassGradeItem.write(value.grades, into);
1072
+ }
1073
+ allocationSize(value: TypeName): number {
1074
+ return (
1075
+ FfiConverterString.allocationSize(value.studentNumber) +
1076
+ FfiConverterString.allocationSize(value.studentName) +
1077
+ FfiConverterString.allocationSize(value.yearLevel) +
1078
+ FfiConverterString.allocationSize(value.college) +
1079
+ FfiConverterString.allocationSize(value.department) +
1080
+ FfiConverterString.allocationSize(value.major) +
1081
+ FfiConverterString.allocationSize(value.auditDate) +
1082
+ FfiConverterArrayTypeClassGradeItem.allocationSize(value.grades)
1083
+ );
1084
+ }
1085
+ }
1086
+ return new FFIConverter();
1087
+ })();
1088
+
714
1089
  /**
715
1090
  * 졸업 요건
716
1091
  */
@@ -1214,32 +1589,593 @@ const FfiConverterTypeLectureAssessmentResult = (() => {
1214
1589
  })();
1215
1590
 
1216
1591
  /**
1217
- * 개인의 수업 시간표 정보를 조회합니다.
1592
+ * 강의 변경 이력
1218
1593
  */
1219
- export type PersonalCourseSchedule = {
1220
- schedule: Map<Weekday, Array<CourseScheduleInformation>>;
1594
+ export type LectureChangeHistory = {
1595
+ /**
1596
+ * 시작일자
1597
+ */
1598
+ startDate: string;
1599
+ /**
1600
+ * 종료일자
1601
+ */
1602
+ endDate: string;
1603
+ /**
1604
+ * 과목명
1605
+ */
1606
+ name: string;
1607
+ };
1608
+
1609
+ /**
1610
+ * Generated factory for {@link LectureChangeHistory} record objects.
1611
+ */
1612
+ export const LectureChangeHistory = (() => {
1613
+ const defaults = () => ({});
1614
+ const create = (() => {
1615
+ return uniffiCreateRecord<
1616
+ LectureChangeHistory,
1617
+ ReturnType<typeof defaults>
1618
+ >(defaults);
1619
+ })();
1620
+ return Object.freeze({
1621
+ /**
1622
+ * Create a frozen instance of {@link LectureChangeHistory}, with defaults specified
1623
+ * in Rust, in the {@link rusaint} crate.
1624
+ */
1625
+ create,
1626
+
1627
+ /**
1628
+ * Create a frozen instance of {@link LectureChangeHistory}, with defaults specified
1629
+ * in Rust, in the {@link rusaint} crate.
1630
+ */
1631
+ new: create,
1632
+
1633
+ /**
1634
+ * Defaults specified in the {@link rusaint} crate.
1635
+ */
1636
+ defaults: () => Object.freeze(defaults()) as Partial<LectureChangeHistory>,
1637
+ });
1638
+ })();
1639
+
1640
+ const FfiConverterTypeLectureChangeHistory = (() => {
1641
+ type TypeName = LectureChangeHistory;
1642
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
1643
+ read(from: RustBuffer): TypeName {
1644
+ return {
1645
+ startDate: FfiConverterString.read(from),
1646
+ endDate: FfiConverterString.read(from),
1647
+ name: FfiConverterString.read(from),
1648
+ };
1649
+ }
1650
+ write(value: TypeName, into: RustBuffer): void {
1651
+ FfiConverterString.write(value.startDate, into);
1652
+ FfiConverterString.write(value.endDate, into);
1653
+ FfiConverterString.write(value.name, into);
1654
+ }
1655
+ allocationSize(value: TypeName): number {
1656
+ return (
1657
+ FfiConverterString.allocationSize(value.startDate) +
1658
+ FfiConverterString.allocationSize(value.endDate) +
1659
+ FfiConverterString.allocationSize(value.name)
1660
+ );
1661
+ }
1662
+ }
1663
+ return new FFIConverter();
1664
+ })();
1665
+
1666
+ /**
1667
+ * 강의 상세 정보
1668
+ */
1669
+ export type LectureDetail = {
1670
+ /**
1671
+ * 강의 변경 이력 목록
1672
+ */
1673
+ changesHistory: Array<LectureChangeHistory>;
1674
+ /**
1675
+ * 대체 과목 목록
1676
+ */
1677
+ alternativeLectures: Array<AlternativeLecture>;
1678
+ /**
1679
+ * 과목 분류 목록
1680
+ */
1681
+ categories: Array<string>;
1682
+ /**
1683
+ * 선수 과목 목록
1684
+ */
1685
+ prerequisites: Array<PrerequisiteLecture>;
1686
+ };
1687
+
1688
+ /**
1689
+ * Generated factory for {@link LectureDetail} record objects.
1690
+ */
1691
+ export const LectureDetail = (() => {
1692
+ const defaults = () => ({});
1693
+ const create = (() => {
1694
+ return uniffiCreateRecord<LectureDetail, ReturnType<typeof defaults>>(
1695
+ defaults
1696
+ );
1697
+ })();
1698
+ return Object.freeze({
1699
+ /**
1700
+ * Create a frozen instance of {@link LectureDetail}, with defaults specified
1701
+ * in Rust, in the {@link rusaint} crate.
1702
+ */
1703
+ create,
1704
+
1705
+ /**
1706
+ * Create a frozen instance of {@link LectureDetail}, with defaults specified
1707
+ * in Rust, in the {@link rusaint} crate.
1708
+ */
1709
+ new: create,
1710
+
1711
+ /**
1712
+ * Defaults specified in the {@link rusaint} crate.
1713
+ */
1714
+ defaults: () => Object.freeze(defaults()) as Partial<LectureDetail>,
1715
+ });
1716
+ })();
1717
+
1718
+ const FfiConverterTypeLectureDetail = (() => {
1719
+ type TypeName = LectureDetail;
1720
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
1721
+ read(from: RustBuffer): TypeName {
1722
+ return {
1723
+ changesHistory: FfiConverterArrayTypeLectureChangeHistory.read(from),
1724
+ alternativeLectures: FfiConverterArrayTypeAlternativeLecture.read(from),
1725
+ categories: FfiConverterArrayString.read(from),
1726
+ prerequisites: FfiConverterArrayTypePrerequisiteLecture.read(from),
1727
+ };
1728
+ }
1729
+ write(value: TypeName, into: RustBuffer): void {
1730
+ FfiConverterArrayTypeLectureChangeHistory.write(
1731
+ value.changesHistory,
1732
+ into
1733
+ );
1734
+ FfiConverterArrayTypeAlternativeLecture.write(
1735
+ value.alternativeLectures,
1736
+ into
1737
+ );
1738
+ FfiConverterArrayString.write(value.categories, into);
1739
+ FfiConverterArrayTypePrerequisiteLecture.write(value.prerequisites, into);
1740
+ }
1741
+ allocationSize(value: TypeName): number {
1742
+ return (
1743
+ FfiConverterArrayTypeLectureChangeHistory.allocationSize(
1744
+ value.changesHistory
1745
+ ) +
1746
+ FfiConverterArrayTypeAlternativeLecture.allocationSize(
1747
+ value.alternativeLectures
1748
+ ) +
1749
+ FfiConverterArrayString.allocationSize(value.categories) +
1750
+ FfiConverterArrayTypePrerequisiteLecture.allocationSize(
1751
+ value.prerequisites
1752
+ )
1753
+ );
1754
+ }
1755
+ }
1756
+ return new FFIConverter();
1757
+ })();
1758
+
1759
+ /**
1760
+ * 강의계획서 - Full lecture syllabus information
1761
+ */
1762
+ export type LectureSyllabus = {
1763
+ /**
1764
+ * 교과목명
1765
+ */
1766
+ courseName: string;
1767
+ /**
1768
+ * 담당교수
1769
+ */
1770
+ professor: string;
1771
+ /**
1772
+ * 과목코드
1773
+ */
1774
+ courseCode: string;
1775
+ /**
1776
+ * 학년도
1777
+ */
1778
+ year: string;
1779
+ /**
1780
+ * 학기
1781
+ */
1782
+ semester: string;
1783
+ /**
1784
+ * 학점
1785
+ */
1786
+ credits: string;
1787
+ /**
1788
+ * 강의개요
1789
+ */
1790
+ abstractText: string;
1791
+ /**
1792
+ * 수업방법
1793
+ */
1794
+ teachingMethod: string;
1795
+ /**
1796
+ * 주교재
1797
+ */
1798
+ mainTextbook: string;
1799
+ /**
1800
+ * 부교재
1801
+ */
1802
+ subTextbook: string;
1803
+ /**
1804
+ * 교수 전화번호
1805
+ */
1806
+ professorPhone: string;
1807
+ /**
1808
+ * 교수 이메일
1809
+ */
1810
+ professorEmail: string;
1811
+ /**
1812
+ * 상담시간
1813
+ */
1814
+ officeHours: string;
1815
+ /**
1816
+ * 수강대상
1817
+ */
1818
+ targetStudents: string;
1819
+ /**
1820
+ * 이수구분
1821
+ */
1822
+ designation: string;
1823
+ /**
1824
+ * 결석처리
1825
+ */
1826
+ absencePolicy: string;
1827
+ /**
1828
+ * 성적평가 항목
1829
+ */
1830
+ gradingItems: Array<SyllabusGradingItem>;
1831
+ /**
1832
+ * 학습목표
1833
+ */
1834
+ learningObjectives: Array<string>;
1835
+ /**
1836
+ * 주차별 수업계획
1837
+ */
1838
+ weeklySchedule: Array<SyllabusWeeklyPlan>;
1839
+ /**
1840
+ * 핵심역량
1841
+ */
1842
+ competencies: Array<SyllabusCompetency>;
1843
+ };
1844
+
1845
+ /**
1846
+ * Generated factory for {@link LectureSyllabus} record objects.
1847
+ */
1848
+ export const LectureSyllabus = (() => {
1849
+ const defaults = () => ({});
1850
+ const create = (() => {
1851
+ return uniffiCreateRecord<LectureSyllabus, ReturnType<typeof defaults>>(
1852
+ defaults
1853
+ );
1854
+ })();
1855
+ return Object.freeze({
1856
+ /**
1857
+ * Create a frozen instance of {@link LectureSyllabus}, with defaults specified
1858
+ * in Rust, in the {@link rusaint} crate.
1859
+ */
1860
+ create,
1861
+
1862
+ /**
1863
+ * Create a frozen instance of {@link LectureSyllabus}, with defaults specified
1864
+ * in Rust, in the {@link rusaint} crate.
1865
+ */
1866
+ new: create,
1867
+
1868
+ /**
1869
+ * Defaults specified in the {@link rusaint} crate.
1870
+ */
1871
+ defaults: () => Object.freeze(defaults()) as Partial<LectureSyllabus>,
1872
+ });
1873
+ })();
1874
+
1875
+ const FfiConverterTypeLectureSyllabus = (() => {
1876
+ type TypeName = LectureSyllabus;
1877
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
1878
+ read(from: RustBuffer): TypeName {
1879
+ return {
1880
+ courseName: FfiConverterString.read(from),
1881
+ professor: FfiConverterString.read(from),
1882
+ courseCode: FfiConverterString.read(from),
1883
+ year: FfiConverterString.read(from),
1884
+ semester: FfiConverterString.read(from),
1885
+ credits: FfiConverterString.read(from),
1886
+ abstractText: FfiConverterString.read(from),
1887
+ teachingMethod: FfiConverterString.read(from),
1888
+ mainTextbook: FfiConverterString.read(from),
1889
+ subTextbook: FfiConverterString.read(from),
1890
+ professorPhone: FfiConverterString.read(from),
1891
+ professorEmail: FfiConverterString.read(from),
1892
+ officeHours: FfiConverterString.read(from),
1893
+ targetStudents: FfiConverterString.read(from),
1894
+ designation: FfiConverterString.read(from),
1895
+ absencePolicy: FfiConverterString.read(from),
1896
+ gradingItems: FfiConverterArrayTypeSyllabusGradingItem.read(from),
1897
+ learningObjectives: FfiConverterArrayString.read(from),
1898
+ weeklySchedule: FfiConverterArrayTypeSyllabusWeeklyPlan.read(from),
1899
+ competencies: FfiConverterArrayTypeSyllabusCompetency.read(from),
1900
+ };
1901
+ }
1902
+ write(value: TypeName, into: RustBuffer): void {
1903
+ FfiConverterString.write(value.courseName, into);
1904
+ FfiConverterString.write(value.professor, into);
1905
+ FfiConverterString.write(value.courseCode, into);
1906
+ FfiConverterString.write(value.year, into);
1907
+ FfiConverterString.write(value.semester, into);
1908
+ FfiConverterString.write(value.credits, into);
1909
+ FfiConverterString.write(value.abstractText, into);
1910
+ FfiConverterString.write(value.teachingMethod, into);
1911
+ FfiConverterString.write(value.mainTextbook, into);
1912
+ FfiConverterString.write(value.subTextbook, into);
1913
+ FfiConverterString.write(value.professorPhone, into);
1914
+ FfiConverterString.write(value.professorEmail, into);
1915
+ FfiConverterString.write(value.officeHours, into);
1916
+ FfiConverterString.write(value.targetStudents, into);
1917
+ FfiConverterString.write(value.designation, into);
1918
+ FfiConverterString.write(value.absencePolicy, into);
1919
+ FfiConverterArrayTypeSyllabusGradingItem.write(value.gradingItems, into);
1920
+ FfiConverterArrayString.write(value.learningObjectives, into);
1921
+ FfiConverterArrayTypeSyllabusWeeklyPlan.write(value.weeklySchedule, into);
1922
+ FfiConverterArrayTypeSyllabusCompetency.write(value.competencies, into);
1923
+ }
1924
+ allocationSize(value: TypeName): number {
1925
+ return (
1926
+ FfiConverterString.allocationSize(value.courseName) +
1927
+ FfiConverterString.allocationSize(value.professor) +
1928
+ FfiConverterString.allocationSize(value.courseCode) +
1929
+ FfiConverterString.allocationSize(value.year) +
1930
+ FfiConverterString.allocationSize(value.semester) +
1931
+ FfiConverterString.allocationSize(value.credits) +
1932
+ FfiConverterString.allocationSize(value.abstractText) +
1933
+ FfiConverterString.allocationSize(value.teachingMethod) +
1934
+ FfiConverterString.allocationSize(value.mainTextbook) +
1935
+ FfiConverterString.allocationSize(value.subTextbook) +
1936
+ FfiConverterString.allocationSize(value.professorPhone) +
1937
+ FfiConverterString.allocationSize(value.professorEmail) +
1938
+ FfiConverterString.allocationSize(value.officeHours) +
1939
+ FfiConverterString.allocationSize(value.targetStudents) +
1940
+ FfiConverterString.allocationSize(value.designation) +
1941
+ FfiConverterString.allocationSize(value.absencePolicy) +
1942
+ FfiConverterArrayTypeSyllabusGradingItem.allocationSize(
1943
+ value.gradingItems
1944
+ ) +
1945
+ FfiConverterArrayString.allocationSize(value.learningObjectives) +
1946
+ FfiConverterArrayTypeSyllabusWeeklyPlan.allocationSize(
1947
+ value.weeklySchedule
1948
+ ) +
1949
+ FfiConverterArrayTypeSyllabusCompetency.allocationSize(
1950
+ value.competencies
1951
+ )
1952
+ );
1953
+ }
1954
+ }
1955
+ return new FFIConverter();
1956
+ })();
1957
+
1958
+ /**
1959
+ * 개인의 수업 시간표 정보를 조회합니다.
1960
+ */
1961
+ export type PersonalCourseSchedule = {
1962
+ schedule: Map<Weekday, Array<CourseScheduleInformation>>;
1963
+ };
1964
+
1965
+ /**
1966
+ * Generated factory for {@link PersonalCourseSchedule} record objects.
1967
+ */
1968
+ export const PersonalCourseSchedule = (() => {
1969
+ const defaults = () => ({});
1970
+ const create = (() => {
1971
+ return uniffiCreateRecord<
1972
+ PersonalCourseSchedule,
1973
+ ReturnType<typeof defaults>
1974
+ >(defaults);
1975
+ })();
1976
+ return Object.freeze({
1977
+ /**
1978
+ * Create a frozen instance of {@link PersonalCourseSchedule}, with defaults specified
1979
+ * in Rust, in the {@link rusaint} crate.
1980
+ */
1981
+ create,
1982
+
1983
+ /**
1984
+ * Create a frozen instance of {@link PersonalCourseSchedule}, with defaults specified
1985
+ * in Rust, in the {@link rusaint} crate.
1986
+ */
1987
+ new: create,
1988
+
1989
+ /**
1990
+ * Defaults specified in the {@link rusaint} crate.
1991
+ */
1992
+ defaults: () =>
1993
+ Object.freeze(defaults()) as Partial<PersonalCourseSchedule>,
1994
+ });
1995
+ })();
1996
+
1997
+ const FfiConverterTypePersonalCourseSchedule = (() => {
1998
+ type TypeName = PersonalCourseSchedule;
1999
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
2000
+ read(from: RustBuffer): TypeName {
2001
+ return {
2002
+ schedule:
2003
+ FfiConverterMapTypeWeekdayArrayTypeCourseScheduleInformation.read(
2004
+ from
2005
+ ),
2006
+ };
2007
+ }
2008
+ write(value: TypeName, into: RustBuffer): void {
2009
+ FfiConverterMapTypeWeekdayArrayTypeCourseScheduleInformation.write(
2010
+ value.schedule,
2011
+ into
2012
+ );
2013
+ }
2014
+ allocationSize(value: TypeName): number {
2015
+ return FfiConverterMapTypeWeekdayArrayTypeCourseScheduleInformation.allocationSize(
2016
+ value.schedule
2017
+ );
2018
+ }
2019
+ }
2020
+ return new FFIConverter();
2021
+ })();
2022
+
2023
+ /**
2024
+ * 선수 과목 정보
2025
+ */
2026
+ export type PrerequisiteLecture = {
2027
+ /**
2028
+ * 과목번호
2029
+ */
2030
+ code: string;
2031
+ /**
2032
+ * 과목명
2033
+ */
2034
+ name: string;
2035
+ };
2036
+
2037
+ /**
2038
+ * Generated factory for {@link PrerequisiteLecture} record objects.
2039
+ */
2040
+ export const PrerequisiteLecture = (() => {
2041
+ const defaults = () => ({});
2042
+ const create = (() => {
2043
+ return uniffiCreateRecord<PrerequisiteLecture, ReturnType<typeof defaults>>(
2044
+ defaults
2045
+ );
2046
+ })();
2047
+ return Object.freeze({
2048
+ /**
2049
+ * Create a frozen instance of {@link PrerequisiteLecture}, with defaults specified
2050
+ * in Rust, in the {@link rusaint} crate.
2051
+ */
2052
+ create,
2053
+
2054
+ /**
2055
+ * Create a frozen instance of {@link PrerequisiteLecture}, with defaults specified
2056
+ * in Rust, in the {@link rusaint} crate.
2057
+ */
2058
+ new: create,
2059
+
2060
+ /**
2061
+ * Defaults specified in the {@link rusaint} crate.
2062
+ */
2063
+ defaults: () => Object.freeze(defaults()) as Partial<PrerequisiteLecture>,
2064
+ });
2065
+ })();
2066
+
2067
+ const FfiConverterTypePrerequisiteLecture = (() => {
2068
+ type TypeName = PrerequisiteLecture;
2069
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
2070
+ read(from: RustBuffer): TypeName {
2071
+ return {
2072
+ code: FfiConverterString.read(from),
2073
+ name: FfiConverterString.read(from),
2074
+ };
2075
+ }
2076
+ write(value: TypeName, into: RustBuffer): void {
2077
+ FfiConverterString.write(value.code, into);
2078
+ FfiConverterString.write(value.name, into);
2079
+ }
2080
+ allocationSize(value: TypeName): number {
2081
+ return (
2082
+ FfiConverterString.allocationSize(value.code) +
2083
+ FfiConverterString.allocationSize(value.name)
2084
+ );
2085
+ }
2086
+ }
2087
+ return new FFIConverter();
2088
+ })();
2089
+
2090
+ /**
2091
+ * 수강신청한 과목 정보
2092
+ */
2093
+ export type RegisteredLecture = {
2094
+ /**
2095
+ * 계획
2096
+ */
2097
+ syllabus: string | undefined;
2098
+ /**
2099
+ * 이수구분(주전공)
2100
+ */
2101
+ category: string;
2102
+ /**
2103
+ * 이수구분(다전공)
2104
+ */
2105
+ subCategory: string | undefined;
2106
+ /**
2107
+ * 공학인증
2108
+ */
2109
+ abeekInfo: string | undefined;
2110
+ /**
2111
+ * 교과영역
2112
+ */
2113
+ field: string | undefined;
2114
+ /**
2115
+ * 과목번호
2116
+ */
2117
+ code: string;
2118
+ /**
2119
+ * 과목명
2120
+ */
2121
+ name: string;
2122
+ /**
2123
+ * 분반
2124
+ */
2125
+ division: string | undefined;
2126
+ /**
2127
+ * 교수명
2128
+ */
2129
+ professor: string;
2130
+ /**
2131
+ * 개설학과
2132
+ */
2133
+ department: string;
2134
+ /**
2135
+ * 시간/학점(설계)
2136
+ */
2137
+ timePoints: string;
2138
+ /**
2139
+ * 수강인원
2140
+ */
2141
+ personeel: string;
2142
+ /**
2143
+ * 여석
2144
+ */
2145
+ remainingSeats: string;
2146
+ /**
2147
+ * 강의시간(강의실)
2148
+ */
2149
+ scheduleRoom: string;
2150
+ /**
2151
+ * 수강대상
2152
+ */
2153
+ target: string;
2154
+ /**
2155
+ * 비고
2156
+ */
2157
+ remarks: string;
1221
2158
  };
1222
2159
 
1223
2160
  /**
1224
- * Generated factory for {@link PersonalCourseSchedule} record objects.
2161
+ * Generated factory for {@link RegisteredLecture} record objects.
1225
2162
  */
1226
- export const PersonalCourseSchedule = (() => {
2163
+ export const RegisteredLecture = (() => {
1227
2164
  const defaults = () => ({});
1228
2165
  const create = (() => {
1229
- return uniffiCreateRecord<
1230
- PersonalCourseSchedule,
1231
- ReturnType<typeof defaults>
1232
- >(defaults);
2166
+ return uniffiCreateRecord<RegisteredLecture, ReturnType<typeof defaults>>(
2167
+ defaults
2168
+ );
1233
2169
  })();
1234
2170
  return Object.freeze({
1235
2171
  /**
1236
- * Create a frozen instance of {@link PersonalCourseSchedule}, with defaults specified
2172
+ * Create a frozen instance of {@link RegisteredLecture}, with defaults specified
1237
2173
  * in Rust, in the {@link rusaint} crate.
1238
2174
  */
1239
2175
  create,
1240
2176
 
1241
2177
  /**
1242
- * Create a frozen instance of {@link PersonalCourseSchedule}, with defaults specified
2178
+ * Create a frozen instance of {@link RegisteredLecture}, with defaults specified
1243
2179
  * in Rust, in the {@link rusaint} crate.
1244
2180
  */
1245
2181
  new: create,
@@ -1247,31 +2183,69 @@ export const PersonalCourseSchedule = (() => {
1247
2183
  /**
1248
2184
  * Defaults specified in the {@link rusaint} crate.
1249
2185
  */
1250
- defaults: () =>
1251
- Object.freeze(defaults()) as Partial<PersonalCourseSchedule>,
2186
+ defaults: () => Object.freeze(defaults()) as Partial<RegisteredLecture>,
1252
2187
  });
1253
2188
  })();
1254
2189
 
1255
- const FfiConverterTypePersonalCourseSchedule = (() => {
1256
- type TypeName = PersonalCourseSchedule;
2190
+ const FfiConverterTypeRegisteredLecture = (() => {
2191
+ type TypeName = RegisteredLecture;
1257
2192
  class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
1258
2193
  read(from: RustBuffer): TypeName {
1259
2194
  return {
1260
- schedule:
1261
- FfiConverterMapTypeWeekdayArrayTypeCourseScheduleInformation.read(
1262
- from
1263
- ),
2195
+ syllabus: FfiConverterOptionalString.read(from),
2196
+ category: FfiConverterString.read(from),
2197
+ subCategory: FfiConverterOptionalString.read(from),
2198
+ abeekInfo: FfiConverterOptionalString.read(from),
2199
+ field: FfiConverterOptionalString.read(from),
2200
+ code: FfiConverterString.read(from),
2201
+ name: FfiConverterString.read(from),
2202
+ division: FfiConverterOptionalString.read(from),
2203
+ professor: FfiConverterString.read(from),
2204
+ department: FfiConverterString.read(from),
2205
+ timePoints: FfiConverterString.read(from),
2206
+ personeel: FfiConverterString.read(from),
2207
+ remainingSeats: FfiConverterString.read(from),
2208
+ scheduleRoom: FfiConverterString.read(from),
2209
+ target: FfiConverterString.read(from),
2210
+ remarks: FfiConverterString.read(from),
1264
2211
  };
1265
2212
  }
1266
2213
  write(value: TypeName, into: RustBuffer): void {
1267
- FfiConverterMapTypeWeekdayArrayTypeCourseScheduleInformation.write(
1268
- value.schedule,
1269
- into
1270
- );
2214
+ FfiConverterOptionalString.write(value.syllabus, into);
2215
+ FfiConverterString.write(value.category, into);
2216
+ FfiConverterOptionalString.write(value.subCategory, into);
2217
+ FfiConverterOptionalString.write(value.abeekInfo, into);
2218
+ FfiConverterOptionalString.write(value.field, into);
2219
+ FfiConverterString.write(value.code, into);
2220
+ FfiConverterString.write(value.name, into);
2221
+ FfiConverterOptionalString.write(value.division, into);
2222
+ FfiConverterString.write(value.professor, into);
2223
+ FfiConverterString.write(value.department, into);
2224
+ FfiConverterString.write(value.timePoints, into);
2225
+ FfiConverterString.write(value.personeel, into);
2226
+ FfiConverterString.write(value.remainingSeats, into);
2227
+ FfiConverterString.write(value.scheduleRoom, into);
2228
+ FfiConverterString.write(value.target, into);
2229
+ FfiConverterString.write(value.remarks, into);
1271
2230
  }
1272
2231
  allocationSize(value: TypeName): number {
1273
- return FfiConverterMapTypeWeekdayArrayTypeCourseScheduleInformation.allocationSize(
1274
- value.schedule
2232
+ return (
2233
+ FfiConverterOptionalString.allocationSize(value.syllabus) +
2234
+ FfiConverterString.allocationSize(value.category) +
2235
+ FfiConverterOptionalString.allocationSize(value.subCategory) +
2236
+ FfiConverterOptionalString.allocationSize(value.abeekInfo) +
2237
+ FfiConverterOptionalString.allocationSize(value.field) +
2238
+ FfiConverterString.allocationSize(value.code) +
2239
+ FfiConverterString.allocationSize(value.name) +
2240
+ FfiConverterOptionalString.allocationSize(value.division) +
2241
+ FfiConverterString.allocationSize(value.professor) +
2242
+ FfiConverterString.allocationSize(value.department) +
2243
+ FfiConverterString.allocationSize(value.timePoints) +
2244
+ FfiConverterString.allocationSize(value.personeel) +
2245
+ FfiConverterString.allocationSize(value.remainingSeats) +
2246
+ FfiConverterString.allocationSize(value.scheduleRoom) +
2247
+ FfiConverterString.allocationSize(value.target) +
2248
+ FfiConverterString.allocationSize(value.remarks)
1275
2249
  );
1276
2250
  }
1277
2251
  }
@@ -2920,6 +3894,221 @@ const FfiConverterTypeStudentWorkInformation = (() => {
2920
3894
  return new FFIConverter();
2921
3895
  })();
2922
3896
 
3897
+ /**
3898
+ * 핵심역량
3899
+ */
3900
+ export type SyllabusCompetency = {
3901
+ /**
3902
+ * 역량명
3903
+ */
3904
+ name: string;
3905
+ /**
3906
+ * 관련비율 (%)
3907
+ */
3908
+ rate: string;
3909
+ };
3910
+
3911
+ /**
3912
+ * Generated factory for {@link SyllabusCompetency} record objects.
3913
+ */
3914
+ export const SyllabusCompetency = (() => {
3915
+ const defaults = () => ({});
3916
+ const create = (() => {
3917
+ return uniffiCreateRecord<SyllabusCompetency, ReturnType<typeof defaults>>(
3918
+ defaults
3919
+ );
3920
+ })();
3921
+ return Object.freeze({
3922
+ /**
3923
+ * Create a frozen instance of {@link SyllabusCompetency}, with defaults specified
3924
+ * in Rust, in the {@link rusaint} crate.
3925
+ */
3926
+ create,
3927
+
3928
+ /**
3929
+ * Create a frozen instance of {@link SyllabusCompetency}, with defaults specified
3930
+ * in Rust, in the {@link rusaint} crate.
3931
+ */
3932
+ new: create,
3933
+
3934
+ /**
3935
+ * Defaults specified in the {@link rusaint} crate.
3936
+ */
3937
+ defaults: () => Object.freeze(defaults()) as Partial<SyllabusCompetency>,
3938
+ });
3939
+ })();
3940
+
3941
+ const FfiConverterTypeSyllabusCompetency = (() => {
3942
+ type TypeName = SyllabusCompetency;
3943
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
3944
+ read(from: RustBuffer): TypeName {
3945
+ return {
3946
+ name: FfiConverterString.read(from),
3947
+ rate: FfiConverterString.read(from),
3948
+ };
3949
+ }
3950
+ write(value: TypeName, into: RustBuffer): void {
3951
+ FfiConverterString.write(value.name, into);
3952
+ FfiConverterString.write(value.rate, into);
3953
+ }
3954
+ allocationSize(value: TypeName): number {
3955
+ return (
3956
+ FfiConverterString.allocationSize(value.name) +
3957
+ FfiConverterString.allocationSize(value.rate)
3958
+ );
3959
+ }
3960
+ }
3961
+ return new FFIConverter();
3962
+ })();
3963
+
3964
+ /**
3965
+ * 성적평가 항목
3966
+ */
3967
+ export type SyllabusGradingItem = {
3968
+ /**
3969
+ * 평가항목명
3970
+ */
3971
+ name: string;
3972
+ /**
3973
+ * 비율 (%)
3974
+ */
3975
+ rate: string;
3976
+ };
3977
+
3978
+ /**
3979
+ * Generated factory for {@link SyllabusGradingItem} record objects.
3980
+ */
3981
+ export const SyllabusGradingItem = (() => {
3982
+ const defaults = () => ({});
3983
+ const create = (() => {
3984
+ return uniffiCreateRecord<SyllabusGradingItem, ReturnType<typeof defaults>>(
3985
+ defaults
3986
+ );
3987
+ })();
3988
+ return Object.freeze({
3989
+ /**
3990
+ * Create a frozen instance of {@link SyllabusGradingItem}, with defaults specified
3991
+ * in Rust, in the {@link rusaint} crate.
3992
+ */
3993
+ create,
3994
+
3995
+ /**
3996
+ * Create a frozen instance of {@link SyllabusGradingItem}, with defaults specified
3997
+ * in Rust, in the {@link rusaint} crate.
3998
+ */
3999
+ new: create,
4000
+
4001
+ /**
4002
+ * Defaults specified in the {@link rusaint} crate.
4003
+ */
4004
+ defaults: () => Object.freeze(defaults()) as Partial<SyllabusGradingItem>,
4005
+ });
4006
+ })();
4007
+
4008
+ const FfiConverterTypeSyllabusGradingItem = (() => {
4009
+ type TypeName = SyllabusGradingItem;
4010
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
4011
+ read(from: RustBuffer): TypeName {
4012
+ return {
4013
+ name: FfiConverterString.read(from),
4014
+ rate: FfiConverterString.read(from),
4015
+ };
4016
+ }
4017
+ write(value: TypeName, into: RustBuffer): void {
4018
+ FfiConverterString.write(value.name, into);
4019
+ FfiConverterString.write(value.rate, into);
4020
+ }
4021
+ allocationSize(value: TypeName): number {
4022
+ return (
4023
+ FfiConverterString.allocationSize(value.name) +
4024
+ FfiConverterString.allocationSize(value.rate)
4025
+ );
4026
+ }
4027
+ }
4028
+ return new FFIConverter();
4029
+ })();
4030
+
4031
+ /**
4032
+ * 주차별 수업계획
4033
+ */
4034
+ export type SyllabusWeeklyPlan = {
4035
+ /**
4036
+ * 주차
4037
+ */
4038
+ week: string;
4039
+ /**
4040
+ * 핵심주제
4041
+ */
4042
+ topic: string;
4043
+ /**
4044
+ * 세부내용
4045
+ */
4046
+ details: string;
4047
+ /**
4048
+ * 수업방법
4049
+ */
4050
+ teachingMethod: string;
4051
+ };
4052
+
4053
+ /**
4054
+ * Generated factory for {@link SyllabusWeeklyPlan} record objects.
4055
+ */
4056
+ export const SyllabusWeeklyPlan = (() => {
4057
+ const defaults = () => ({});
4058
+ const create = (() => {
4059
+ return uniffiCreateRecord<SyllabusWeeklyPlan, ReturnType<typeof defaults>>(
4060
+ defaults
4061
+ );
4062
+ })();
4063
+ return Object.freeze({
4064
+ /**
4065
+ * Create a frozen instance of {@link SyllabusWeeklyPlan}, with defaults specified
4066
+ * in Rust, in the {@link rusaint} crate.
4067
+ */
4068
+ create,
4069
+
4070
+ /**
4071
+ * Create a frozen instance of {@link SyllabusWeeklyPlan}, with defaults specified
4072
+ * in Rust, in the {@link rusaint} crate.
4073
+ */
4074
+ new: create,
4075
+
4076
+ /**
4077
+ * Defaults specified in the {@link rusaint} crate.
4078
+ */
4079
+ defaults: () => Object.freeze(defaults()) as Partial<SyllabusWeeklyPlan>,
4080
+ });
4081
+ })();
4082
+
4083
+ const FfiConverterTypeSyllabusWeeklyPlan = (() => {
4084
+ type TypeName = SyllabusWeeklyPlan;
4085
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
4086
+ read(from: RustBuffer): TypeName {
4087
+ return {
4088
+ week: FfiConverterString.read(from),
4089
+ topic: FfiConverterString.read(from),
4090
+ details: FfiConverterString.read(from),
4091
+ teachingMethod: FfiConverterString.read(from),
4092
+ };
4093
+ }
4094
+ write(value: TypeName, into: RustBuffer): void {
4095
+ FfiConverterString.write(value.week, into);
4096
+ FfiConverterString.write(value.topic, into);
4097
+ FfiConverterString.write(value.details, into);
4098
+ FfiConverterString.write(value.teachingMethod, into);
4099
+ }
4100
+ allocationSize(value: TypeName): number {
4101
+ return (
4102
+ FfiConverterString.allocationSize(value.week) +
4103
+ FfiConverterString.allocationSize(value.topic) +
4104
+ FfiConverterString.allocationSize(value.details) +
4105
+ FfiConverterString.allocationSize(value.teachingMethod)
4106
+ );
4107
+ }
4108
+ }
4109
+ return new FFIConverter();
4110
+ })();
4111
+
2923
4112
  /**
2924
4113
  * uniffi 지원을 위한 u32 Pair입니다.
2925
4114
  */
@@ -4627,6 +5816,16 @@ const FfiConverterOptionalFloat32 = new FfiConverterOptional(
4627
5816
  FfiConverterFloat32
4628
5817
  );
4629
5818
 
5819
+ // FfiConverter for LectureDetail | undefined
5820
+ const FfiConverterOptionalTypeLectureDetail = new FfiConverterOptional(
5821
+ FfiConverterTypeLectureDetail
5822
+ );
5823
+
5824
+ // FfiConverter for LectureSyllabus | undefined
5825
+ const FfiConverterOptionalTypeLectureSyllabus = new FfiConverterOptional(
5826
+ FfiConverterTypeLectureSyllabus
5827
+ );
5828
+
4630
5829
  // FfiConverter for StudentForignStudyInformation | undefined
4631
5830
  const FfiConverterOptionalTypeStudentForignStudyInformation =
4632
5831
  new FfiConverterOptional(FfiConverterTypeStudentForignStudyInformation);
@@ -4651,6 +5850,11 @@ const FfiConverterOptionalString = new FfiConverterOptional(FfiConverterString);
4651
5850
  // FfiConverter for /*u32*/number | undefined
4652
5851
  const FfiConverterOptionalUInt32 = new FfiConverterOptional(FfiConverterUInt32);
4653
5852
 
5853
+ // FfiConverter for Array<AlternativeLecture>
5854
+ const FfiConverterArrayTypeAlternativeLecture = new FfiConverterArray(
5855
+ FfiConverterTypeAlternativeLecture
5856
+ );
5857
+
4654
5858
  // FfiConverter for Array<ChapelAbsenceRequest>
4655
5859
  const FfiConverterArrayTypeChapelAbsenceRequest = new FfiConverterArray(
4656
5860
  FfiConverterTypeChapelAbsenceRequest
@@ -4661,11 +5865,26 @@ const FfiConverterArrayTypeChapelAttendance = new FfiConverterArray(
4661
5865
  FfiConverterTypeChapelAttendance
4662
5866
  );
4663
5867
 
5868
+ // FfiConverter for Array<ClassGradeItem>
5869
+ const FfiConverterArrayTypeClassGradeItem = new FfiConverterArray(
5870
+ FfiConverterTypeClassGradeItem
5871
+ );
5872
+
4664
5873
  // FfiConverter for Array<CourseScheduleInformation>
4665
5874
  const FfiConverterArrayTypeCourseScheduleInformation = new FfiConverterArray(
4666
5875
  FfiConverterTypeCourseScheduleInformation
4667
5876
  );
4668
5877
 
5878
+ // FfiConverter for Array<LectureChangeHistory>
5879
+ const FfiConverterArrayTypeLectureChangeHistory = new FfiConverterArray(
5880
+ FfiConverterTypeLectureChangeHistory
5881
+ );
5882
+
5883
+ // FfiConverter for Array<PrerequisiteLecture>
5884
+ const FfiConverterArrayTypePrerequisiteLecture = new FfiConverterArray(
5885
+ FfiConverterTypePrerequisiteLecture
5886
+ );
5887
+
4669
5888
  // FfiConverter for Array<StudentAcademicRecord>
4670
5889
  const FfiConverterArrayTypeStudentAcademicRecord = new FfiConverterArray(
4671
5890
  FfiConverterTypeStudentAcademicRecord
@@ -4681,6 +5900,21 @@ const FfiConverterArrayTypeStudentTransferRecord = new FfiConverterArray(
4681
5900
  FfiConverterTypeStudentTransferRecord
4682
5901
  );
4683
5902
 
5903
+ // FfiConverter for Array<SyllabusCompetency>
5904
+ const FfiConverterArrayTypeSyllabusCompetency = new FfiConverterArray(
5905
+ FfiConverterTypeSyllabusCompetency
5906
+ );
5907
+
5908
+ // FfiConverter for Array<SyllabusGradingItem>
5909
+ const FfiConverterArrayTypeSyllabusGradingItem = new FfiConverterArray(
5910
+ FfiConverterTypeSyllabusGradingItem
5911
+ );
5912
+
5913
+ // FfiConverter for Array<SyllabusWeeklyPlan>
5914
+ const FfiConverterArrayTypeSyllabusWeeklyPlan = new FfiConverterArray(
5915
+ FfiConverterTypeSyllabusWeeklyPlan
5916
+ );
5917
+
4684
5918
  // FfiConverter for Array<string>
4685
5919
  const FfiConverterArrayString = new FfiConverterArray(FfiConverterString);
4686
5920
 
@@ -4827,15 +6061,19 @@ function uniffiEnsureInitialized() {
4827
6061
  export default Object.freeze({
4828
6062
  initialize: uniffiEnsureInitialized,
4829
6063
  converters: {
6064
+ FfiConverterTypeAlternativeLecture,
4830
6065
  FfiConverterTypeChapelAbsenceRequest,
4831
6066
  FfiConverterTypeChapelAttendance,
4832
6067
  FfiConverterTypeChapelInformation,
4833
6068
  FfiConverterTypeClassGrade,
6069
+ FfiConverterTypeClassGradeItem,
4834
6070
  FfiConverterTypeClassScore,
4835
6071
  FfiConverterTypeCourseScheduleInformation,
4836
6072
  FfiConverterTypeCourseType,
6073
+ FfiConverterTypeDetailedLecture,
4837
6074
  FfiConverterTypeGeneralChapelInformation,
4838
6075
  FfiConverterTypeGradeSummary,
6076
+ FfiConverterTypeGradesByClassification,
4839
6077
  FfiConverterTypeGraduationRequirement,
4840
6078
  FfiConverterTypeGraduationRequirements,
4841
6079
  FfiConverterTypeGraduationStudent,
@@ -4843,7 +6081,12 @@ export default Object.freeze({
4843
6081
  FfiConverterTypeLectureAssessmentResult,
4844
6082
  FfiConverterTypeLectureCategory,
4845
6083
  FfiConverterTypeLectureCategoryBuilder,
6084
+ FfiConverterTypeLectureChangeHistory,
6085
+ FfiConverterTypeLectureDetail,
6086
+ FfiConverterTypeLectureSyllabus,
4846
6087
  FfiConverterTypePersonalCourseSchedule,
6088
+ FfiConverterTypePrerequisiteLecture,
6089
+ FfiConverterTypeRegisteredLecture,
4847
6090
  FfiConverterTypeScholarship,
4848
6091
  FfiConverterTypeSemesterGrade,
4849
6092
  FfiConverterTypeSemesterType,
@@ -4864,6 +6107,9 @@ export default Object.freeze({
4864
6107
  FfiConverterTypeStudentTransferRecord,
4865
6108
  FfiConverterTypeStudentTransferRecords,
4866
6109
  FfiConverterTypeStudentWorkInformation,
6110
+ FfiConverterTypeSyllabusCompetency,
6111
+ FfiConverterTypeSyllabusGradingItem,
6112
+ FfiConverterTypeSyllabusWeeklyPlan,
4867
6113
  FfiConverterTypeU32Pair,
4868
6114
  FfiConverterTypeUnsignedIntPair,
4869
6115
  FfiConverterTypeWeekday,