@shizuoka-its/core 2.1.2 → 3.0.0-rc.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.
- package/README.md +45 -25
- package/dist/_virtual/_rolldown/runtime.cjs +13 -0
- package/dist/_virtual/_rolldown/runtime.mjs +13 -0
- package/dist/application/exceptions/ApplicationExceptions.cjs +124 -0
- package/dist/application/exceptions/ApplicationExceptions.cjs.map +1 -0
- package/dist/application/exceptions/ApplicationExceptions.mjs +115 -0
- package/dist/application/exceptions/ApplicationExceptions.mjs.map +1 -0
- package/dist/application/index.cjs +39 -0
- package/dist/application/index.mjs +40 -0
- package/dist/application/usecase/base.cjs +11 -0
- package/dist/application/usecase/base.cjs.map +1 -0
- package/dist/application/usecase/base.d.cts +12 -0
- package/dist/application/usecase/base.d.mts +12 -0
- package/dist/application/usecase/base.mjs +11 -0
- package/dist/application/usecase/base.mjs.map +1 -0
- package/dist/application/usecase/event/AddExhibitToEvent.cjs +27 -0
- package/dist/application/usecase/event/AddExhibitToEvent.cjs.map +1 -0
- package/dist/application/usecase/event/AddExhibitToEvent.d.cts +32 -0
- package/dist/application/usecase/event/AddExhibitToEvent.d.mts +32 -0
- package/dist/application/usecase/event/AddExhibitToEvent.mjs +27 -0
- package/dist/application/usecase/event/AddExhibitToEvent.mjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitDescription.cjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitDescription.cjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitDescription.d.cts +26 -0
- package/dist/application/usecase/event/ChangeExhibitDescription.d.mts +26 -0
- package/dist/application/usecase/event/ChangeExhibitDescription.mjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitDescription.mjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitMarkdownContent.cjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitMarkdownContent.cjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitMarkdownContent.d.cts +26 -0
- package/dist/application/usecase/event/ChangeExhibitMarkdownContent.d.mts +26 -0
- package/dist/application/usecase/event/ChangeExhibitMarkdownContent.mjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitMarkdownContent.mjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitName.cjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitName.cjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitName.d.cts +26 -0
- package/dist/application/usecase/event/ChangeExhibitName.d.mts +26 -0
- package/dist/application/usecase/event/ChangeExhibitName.mjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitName.mjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitUrl.cjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitUrl.cjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitUrl.d.cts +27 -0
- package/dist/application/usecase/event/ChangeExhibitUrl.d.mts +27 -0
- package/dist/application/usecase/event/ChangeExhibitUrl.mjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitUrl.mjs.map +1 -0
- package/dist/application/usecase/event/ChangeLightningTalkDuration.cjs +23 -0
- package/dist/application/usecase/event/ChangeLightningTalkDuration.cjs.map +1 -0
- package/dist/application/usecase/event/ChangeLightningTalkDuration.d.cts +27 -0
- package/dist/application/usecase/event/ChangeLightningTalkDuration.d.mts +27 -0
- package/dist/application/usecase/event/ChangeLightningTalkDuration.mjs +23 -0
- package/dist/application/usecase/event/ChangeLightningTalkDuration.mjs.map +1 -0
- package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.cjs +23 -0
- package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.cjs.map +1 -0
- package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.d.cts +27 -0
- package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.d.mts +27 -0
- package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.mjs +23 -0
- package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.mjs.map +1 -0
- package/dist/application/usecase/event/ChangeLightningTalkStartTime.cjs +23 -0
- package/dist/application/usecase/event/ChangeLightningTalkStartTime.cjs.map +1 -0
- package/dist/application/usecase/event/ChangeLightningTalkStartTime.d.cts +26 -0
- package/dist/application/usecase/event/ChangeLightningTalkStartTime.d.mts +26 -0
- package/dist/application/usecase/event/ChangeLightningTalkStartTime.mjs +23 -0
- package/dist/application/usecase/event/ChangeLightningTalkStartTime.mjs.map +1 -0
- package/dist/application/usecase/event/CreateEvent.cjs +23 -0
- package/dist/application/usecase/event/CreateEvent.cjs.map +1 -0
- package/dist/application/usecase/event/CreateEvent.d.cts +25 -0
- package/dist/application/usecase/event/CreateEvent.d.mts +25 -0
- package/dist/application/usecase/event/CreateEvent.mjs +23 -0
- package/dist/application/usecase/event/CreateEvent.mjs.map +1 -0
- package/dist/application/usecase/event/DeleteEvent.cjs +22 -0
- package/dist/application/usecase/event/DeleteEvent.cjs.map +1 -0
- package/dist/application/usecase/event/DeleteEvent.d.cts +23 -0
- package/dist/application/usecase/event/DeleteEvent.d.mts +23 -0
- package/dist/application/usecase/event/DeleteEvent.mjs +22 -0
- package/dist/application/usecase/event/DeleteEvent.mjs.map +1 -0
- package/dist/application/usecase/event/GetEvent.cjs +18 -0
- package/dist/application/usecase/event/GetEvent.cjs.map +1 -0
- package/dist/application/usecase/event/GetEvent.d.cts +23 -0
- package/dist/application/usecase/event/GetEvent.d.mts +23 -0
- package/dist/application/usecase/event/GetEvent.mjs +18 -0
- package/dist/application/usecase/event/GetEvent.mjs.map +1 -0
- package/dist/application/usecase/event/GetEventList.cjs +15 -0
- package/dist/application/usecase/event/GetEventList.cjs.map +1 -0
- package/dist/application/usecase/event/GetEventList.d.cts +17 -0
- package/dist/application/usecase/event/GetEventList.d.mts +17 -0
- package/dist/application/usecase/event/GetEventList.mjs +15 -0
- package/dist/application/usecase/event/GetEventList.mjs.map +1 -0
- package/dist/application/usecase/event/RemoveExhibitFromEvent.cjs +23 -0
- package/dist/application/usecase/event/RemoveExhibitFromEvent.cjs.map +1 -0
- package/dist/application/usecase/event/RemoveExhibitFromEvent.d.cts +25 -0
- package/dist/application/usecase/event/RemoveExhibitFromEvent.d.mts +25 -0
- package/dist/application/usecase/event/RemoveExhibitFromEvent.mjs +23 -0
- package/dist/application/usecase/event/RemoveExhibitFromEvent.mjs.map +1 -0
- package/dist/application/usecase/event/UpdateEvent.cjs +21 -0
- package/dist/application/usecase/event/UpdateEvent.cjs.map +1 -0
- package/dist/application/usecase/event/UpdateEvent.d.cts +22 -0
- package/dist/application/usecase/event/UpdateEvent.d.mts +22 -0
- package/dist/application/usecase/event/UpdateEvent.mjs +21 -0
- package/dist/application/usecase/event/UpdateEvent.mjs.map +1 -0
- package/dist/application/usecase/event/index.cjs +14 -0
- package/dist/application/usecase/event/index.mjs +15 -0
- package/dist/application/usecase/eventParticipation/GetEventsByMember.cjs +15 -0
- package/dist/application/usecase/eventParticipation/GetEventsByMember.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/GetEventsByMember.d.cts +20 -0
- package/dist/application/usecase/eventParticipation/GetEventsByMember.d.mts +20 -0
- package/dist/application/usecase/eventParticipation/GetEventsByMember.mjs +15 -0
- package/dist/application/usecase/eventParticipation/GetEventsByMember.mjs.map +1 -0
- package/dist/application/usecase/eventParticipation/GetExhibitsByMember.cjs +18 -0
- package/dist/application/usecase/eventParticipation/GetExhibitsByMember.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/GetExhibitsByMember.d.cts +20 -0
- package/dist/application/usecase/eventParticipation/GetExhibitsByMember.d.mts +20 -0
- package/dist/application/usecase/eventParticipation/GetExhibitsByMember.mjs +18 -0
- package/dist/application/usecase/eventParticipation/GetExhibitsByMember.mjs.map +1 -0
- package/dist/application/usecase/eventParticipation/GetMembersByEvent.cjs +19 -0
- package/dist/application/usecase/eventParticipation/GetMembersByEvent.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/GetMembersByEvent.d.cts +22 -0
- package/dist/application/usecase/eventParticipation/GetMembersByEvent.d.mts +22 -0
- package/dist/application/usecase/eventParticipation/GetMembersByEvent.mjs +19 -0
- package/dist/application/usecase/eventParticipation/GetMembersByEvent.mjs.map +1 -0
- package/dist/application/usecase/eventParticipation/GetMembersByExhibit.cjs +19 -0
- package/dist/application/usecase/eventParticipation/GetMembersByExhibit.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/GetMembersByExhibit.d.cts +22 -0
- package/dist/application/usecase/eventParticipation/GetMembersByExhibit.d.mts +22 -0
- package/dist/application/usecase/eventParticipation/GetMembersByExhibit.mjs +19 -0
- package/dist/application/usecase/eventParticipation/GetMembersByExhibit.mjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.cjs +22 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.d.cts +24 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.d.mts +24 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.mjs +22 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.mjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.cjs +22 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.d.cts +24 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.d.mts +24 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.mjs +22 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.mjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.cjs +21 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.d.cts +24 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.d.mts +24 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.mjs +21 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.mjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.cjs +21 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.d.cts +24 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.d.mts +24 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.mjs +21 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.mjs.map +1 -0
- package/dist/application/usecase/karte/CorrectKarte.cjs +20 -0
- package/dist/application/usecase/karte/CorrectKarte.cjs.map +1 -0
- package/dist/application/usecase/karte/CorrectKarte.d.cts +20 -0
- package/dist/application/usecase/karte/CorrectKarte.d.mts +20 -0
- package/dist/application/usecase/karte/CorrectKarte.mjs +20 -0
- package/dist/application/usecase/karte/CorrectKarte.mjs.map +1 -0
- package/dist/application/usecase/karte/CreateKarte.cjs +19 -0
- package/dist/application/usecase/karte/CreateKarte.cjs.map +1 -0
- package/dist/application/usecase/karte/CreateKarte.d.cts +20 -0
- package/dist/application/usecase/karte/CreateKarte.d.mts +20 -0
- package/dist/application/usecase/karte/CreateKarte.mjs +19 -0
- package/dist/application/usecase/karte/CreateKarte.mjs.map +1 -0
- package/dist/application/usecase/karte/GetKarte.cjs +18 -0
- package/dist/application/usecase/karte/GetKarte.cjs.map +1 -0
- package/dist/application/usecase/karte/GetKarte.d.cts +20 -0
- package/dist/application/usecase/karte/GetKarte.d.mts +20 -0
- package/dist/application/usecase/karte/GetKarte.mjs +18 -0
- package/dist/application/usecase/karte/GetKarte.mjs.map +1 -0
- package/dist/application/usecase/karte/ImportKarte.cjs +19 -0
- package/dist/application/usecase/karte/ImportKarte.cjs.map +1 -0
- package/dist/application/usecase/karte/ImportKarte.d.cts +39 -0
- package/dist/application/usecase/karte/ImportKarte.d.mts +39 -0
- package/dist/application/usecase/karte/ImportKarte.mjs +19 -0
- package/dist/application/usecase/karte/ImportKarte.mjs.map +1 -0
- package/dist/application/usecase/karte/ListKartes.cjs +15 -0
- package/dist/application/usecase/karte/ListKartes.cjs.map +1 -0
- package/dist/application/usecase/karte/ListKartes.d.cts +17 -0
- package/dist/application/usecase/karte/ListKartes.d.mts +17 -0
- package/dist/application/usecase/karte/ListKartes.mjs +15 -0
- package/dist/application/usecase/karte/ListKartes.mjs.map +1 -0
- package/dist/application/usecase/karte/index.cjs +5 -0
- package/dist/application/usecase/karte/index.mjs +6 -0
- package/dist/application/usecase/member/ChangeDiscordNickName.cjs +20 -0
- package/dist/application/usecase/member/ChangeDiscordNickName.cjs.map +1 -0
- package/dist/application/usecase/member/ChangeDiscordNickName.d.cts +21 -0
- package/dist/application/usecase/member/ChangeDiscordNickName.d.mts +21 -0
- package/dist/application/usecase/member/ChangeDiscordNickName.mjs +20 -0
- package/dist/application/usecase/member/ChangeDiscordNickName.mjs.map +1 -0
- package/dist/application/usecase/member/ConnectDiscordAccount.cjs +27 -0
- package/dist/application/usecase/member/ConnectDiscordAccount.cjs.map +1 -0
- package/dist/application/usecase/member/ConnectDiscordAccount.d.cts +25 -0
- package/dist/application/usecase/member/ConnectDiscordAccount.d.mts +25 -0
- package/dist/application/usecase/member/ConnectDiscordAccount.mjs +27 -0
- package/dist/application/usecase/member/ConnectDiscordAccount.mjs.map +1 -0
- package/dist/application/usecase/member/GetMember.cjs +15 -0
- package/dist/application/usecase/member/GetMember.cjs.map +1 -0
- package/dist/application/usecase/member/GetMember.d.cts +20 -0
- package/dist/application/usecase/member/GetMember.d.mts +20 -0
- package/dist/application/usecase/member/GetMember.mjs +15 -0
- package/dist/application/usecase/member/GetMember.mjs.map +1 -0
- package/dist/application/usecase/member/GetMemberByDiscordId.cjs +18 -0
- package/dist/application/usecase/member/GetMemberByDiscordId.cjs.map +1 -0
- package/dist/application/usecase/member/GetMemberByDiscordId.d.cts +22 -0
- package/dist/application/usecase/member/GetMemberByDiscordId.d.mts +22 -0
- package/dist/application/usecase/member/GetMemberByDiscordId.mjs +18 -0
- package/dist/application/usecase/member/GetMemberByDiscordId.mjs.map +1 -0
- package/dist/application/usecase/member/GetMemberByEmail.cjs +15 -0
- package/dist/application/usecase/member/GetMemberByEmail.cjs.map +1 -0
- package/dist/application/usecase/member/GetMemberByEmail.d.cts +20 -0
- package/dist/application/usecase/member/GetMemberByEmail.d.mts +20 -0
- package/dist/application/usecase/member/GetMemberByEmail.mjs +15 -0
- package/dist/application/usecase/member/GetMemberByEmail.mjs.map +1 -0
- package/dist/application/usecase/member/GetMemberList.cjs +15 -0
- package/dist/application/usecase/member/GetMemberList.cjs.map +1 -0
- package/dist/application/usecase/member/GetMemberList.d.cts +17 -0
- package/dist/application/usecase/member/GetMemberList.d.mts +17 -0
- package/dist/application/usecase/member/GetMemberList.mjs +15 -0
- package/dist/application/usecase/member/GetMemberList.mjs.map +1 -0
- package/dist/application/usecase/member/RegisterMember.cjs +30 -0
- package/dist/application/usecase/member/RegisterMember.cjs.map +1 -0
- package/dist/application/usecase/member/RegisterMember.d.cts +28 -0
- package/dist/application/usecase/member/RegisterMember.d.mts +28 -0
- package/dist/application/usecase/member/RegisterMember.mjs +30 -0
- package/dist/application/usecase/member/RegisterMember.mjs.map +1 -0
- package/dist/application/usecase/member/UpdateMember.cjs +24 -0
- package/dist/application/usecase/member/UpdateMember.cjs.map +1 -0
- package/dist/application/usecase/member/UpdateMember.d.cts +26 -0
- package/dist/application/usecase/member/UpdateMember.d.mts +26 -0
- package/dist/application/usecase/member/UpdateMember.mjs +24 -0
- package/dist/application/usecase/member/UpdateMember.mjs.map +1 -0
- package/dist/application/usecase/member/index.cjs +8 -0
- package/dist/application/usecase/member/index.mjs +9 -0
- package/dist/domain/aggregates/discord-account/DiscordAccount.cjs +47 -0
- package/dist/domain/aggregates/discord-account/DiscordAccount.cjs.map +1 -0
- package/dist/domain/aggregates/discord-account/DiscordAccount.d.cts +43 -0
- package/dist/domain/aggregates/discord-account/DiscordAccount.d.mts +43 -0
- package/dist/domain/aggregates/discord-account/DiscordAccount.mjs +46 -0
- package/dist/domain/aggregates/discord-account/DiscordAccount.mjs.map +1 -0
- package/dist/domain/aggregates/discord-account/DiscordAccountRepository.d.cts +14 -0
- package/dist/domain/aggregates/discord-account/DiscordAccountRepository.d.mts +14 -0
- package/dist/domain/aggregates/discord-account/DiscordId.cjs +8 -0
- package/dist/domain/aggregates/discord-account/DiscordId.cjs.map +1 -0
- package/dist/domain/aggregates/discord-account/DiscordId.d.cts +9 -0
- package/dist/domain/aggregates/discord-account/DiscordId.d.mts +9 -0
- package/dist/domain/aggregates/discord-account/DiscordId.mjs +8 -0
- package/dist/domain/aggregates/discord-account/DiscordId.mjs.map +1 -0
- package/dist/domain/aggregates/event/Event.cjs +91 -0
- package/dist/domain/aggregates/event/Event.cjs.map +1 -0
- package/dist/domain/aggregates/event/Event.d.cts +59 -0
- package/dist/domain/aggregates/event/Event.d.mts +59 -0
- package/dist/domain/aggregates/event/Event.mjs +91 -0
- package/dist/domain/aggregates/event/Event.mjs.map +1 -0
- package/dist/domain/aggregates/event/EventId.cjs +8 -0
- package/dist/domain/aggregates/event/EventId.cjs.map +1 -0
- package/dist/domain/aggregates/event/EventId.d.cts +9 -0
- package/dist/domain/aggregates/event/EventId.d.mts +9 -0
- package/dist/domain/aggregates/event/EventId.mjs +8 -0
- package/dist/domain/aggregates/event/EventId.mjs.map +1 -0
- package/dist/domain/aggregates/event/EventRepository.d.cts +17 -0
- package/dist/domain/aggregates/event/EventRepository.d.mts +17 -0
- package/dist/domain/aggregates/event/Exhibit.cjs +86 -0
- package/dist/domain/aggregates/event/Exhibit.cjs.map +1 -0
- package/dist/domain/aggregates/event/Exhibit.d.cts +52 -0
- package/dist/domain/aggregates/event/Exhibit.d.mts +52 -0
- package/dist/domain/aggregates/event/Exhibit.mjs +86 -0
- package/dist/domain/aggregates/event/Exhibit.mjs.map +1 -0
- package/dist/domain/aggregates/event/ExhibitId.cjs +8 -0
- package/dist/domain/aggregates/event/ExhibitId.cjs.map +1 -0
- package/dist/domain/aggregates/event/ExhibitId.d.cts +9 -0
- package/dist/domain/aggregates/event/ExhibitId.d.mts +9 -0
- package/dist/domain/aggregates/event/ExhibitId.mjs +8 -0
- package/dist/domain/aggregates/event/ExhibitId.mjs.map +1 -0
- package/dist/domain/aggregates/event/LightningTalk.cjs +39 -0
- package/dist/domain/aggregates/event/LightningTalk.cjs.map +1 -0
- package/dist/domain/aggregates/event/LightningTalk.d.cts +27 -0
- package/dist/domain/aggregates/event/LightningTalk.d.mts +27 -0
- package/dist/domain/aggregates/event/LightningTalk.mjs +39 -0
- package/dist/domain/aggregates/event/LightningTalk.mjs.map +1 -0
- package/dist/domain/aggregates/event/LightningTalkDuration.cjs +12 -0
- package/dist/domain/aggregates/event/LightningTalkDuration.cjs.map +1 -0
- package/dist/domain/aggregates/event/LightningTalkDuration.d.cts +9 -0
- package/dist/domain/aggregates/event/LightningTalkDuration.d.mts +9 -0
- package/dist/domain/aggregates/event/LightningTalkDuration.mjs +12 -0
- package/dist/domain/aggregates/event/LightningTalkDuration.mjs.map +1 -0
- package/dist/domain/aggregates/event/Url.cjs +19 -0
- package/dist/domain/aggregates/event/Url.cjs.map +1 -0
- package/dist/domain/aggregates/event/Url.d.cts +9 -0
- package/dist/domain/aggregates/event/Url.d.mts +9 -0
- package/dist/domain/aggregates/event/Url.mjs +19 -0
- package/dist/domain/aggregates/event/Url.mjs.map +1 -0
- package/dist/domain/aggregates/index.cjs +25 -0
- package/dist/domain/aggregates/index.mjs +26 -0
- package/dist/domain/aggregates/karte/Assignee.cjs +7 -0
- package/dist/domain/aggregates/karte/Assignee.cjs.map +1 -0
- package/dist/domain/aggregates/karte/Assignee.d.cts +20 -0
- package/dist/domain/aggregates/karte/Assignee.d.mts +20 -0
- package/dist/domain/aggregates/karte/Assignee.mjs +7 -0
- package/dist/domain/aggregates/karte/Assignee.mjs.map +1 -0
- package/dist/domain/aggregates/karte/Client.cjs +20 -0
- package/dist/domain/aggregates/karte/Client.cjs.map +1 -0
- package/dist/domain/aggregates/karte/Client.d.cts +42 -0
- package/dist/domain/aggregates/karte/Client.d.mts +42 -0
- package/dist/domain/aggregates/karte/Client.mjs +19 -0
- package/dist/domain/aggregates/karte/Client.mjs.map +1 -0
- package/dist/domain/aggregates/karte/Consent.d.cts +14 -0
- package/dist/domain/aggregates/karte/Consent.d.mts +14 -0
- package/dist/domain/aggregates/karte/Consultation.d.cts +19 -0
- package/dist/domain/aggregates/karte/Consultation.d.mts +19 -0
- package/dist/domain/aggregates/karte/ConsultationCategory.cjs +89 -0
- package/dist/domain/aggregates/karte/ConsultationCategory.cjs.map +1 -0
- package/dist/domain/aggregates/karte/ConsultationCategory.d.cts +75 -0
- package/dist/domain/aggregates/karte/ConsultationCategory.d.mts +75 -0
- package/dist/domain/aggregates/karte/ConsultationCategory.mjs +89 -0
- package/dist/domain/aggregates/karte/ConsultationCategory.mjs.map +1 -0
- package/dist/domain/aggregates/karte/ConsultedAt.cjs +90 -0
- package/dist/domain/aggregates/karte/ConsultedAt.cjs.map +1 -0
- package/dist/domain/aggregates/karte/ConsultedAt.d.cts +49 -0
- package/dist/domain/aggregates/karte/ConsultedAt.d.mts +49 -0
- package/dist/domain/aggregates/karte/ConsultedAt.mjs +85 -0
- package/dist/domain/aggregates/karte/ConsultedAt.mjs.map +1 -0
- package/dist/domain/aggregates/karte/FollowUp.cjs +13 -0
- package/dist/domain/aggregates/karte/FollowUp.cjs.map +1 -0
- package/dist/domain/aggregates/karte/FollowUp.d.cts +8 -0
- package/dist/domain/aggregates/karte/FollowUp.d.mts +8 -0
- package/dist/domain/aggregates/karte/FollowUp.mjs +13 -0
- package/dist/domain/aggregates/karte/FollowUp.mjs.map +1 -0
- package/dist/domain/aggregates/karte/Karte.cjs +94 -0
- package/dist/domain/aggregates/karte/Karte.cjs.map +1 -0
- package/dist/domain/aggregates/karte/Karte.d.cts +131 -0
- package/dist/domain/aggregates/karte/Karte.d.mts +131 -0
- package/dist/domain/aggregates/karte/Karte.mjs +94 -0
- package/dist/domain/aggregates/karte/Karte.mjs.map +1 -0
- package/dist/domain/aggregates/karte/KarteId.cjs +8 -0
- package/dist/domain/aggregates/karte/KarteId.cjs.map +1 -0
- package/dist/domain/aggregates/karte/KarteId.d.cts +9 -0
- package/dist/domain/aggregates/karte/KarteId.d.mts +9 -0
- package/dist/domain/aggregates/karte/KarteId.mjs +8 -0
- package/dist/domain/aggregates/karte/KarteId.mjs.map +1 -0
- package/dist/domain/aggregates/karte/KarteRepository.d.cts +12 -0
- package/dist/domain/aggregates/karte/KarteRepository.d.mts +12 -0
- package/dist/domain/aggregates/karte/Resolution.cjs +7 -0
- package/dist/domain/aggregates/karte/Resolution.cjs.map +1 -0
- package/dist/domain/aggregates/karte/Resolution.d.cts +21 -0
- package/dist/domain/aggregates/karte/Resolution.d.mts +21 -0
- package/dist/domain/aggregates/karte/Resolution.mjs +7 -0
- package/dist/domain/aggregates/karte/Resolution.mjs.map +1 -0
- package/dist/domain/aggregates/karte/SupportRecord.d.cts +22 -0
- package/dist/domain/aggregates/karte/SupportRecord.d.mts +22 -0
- package/dist/domain/aggregates/karte/WorkDuration.cjs +11 -0
- package/dist/domain/aggregates/karte/WorkDuration.cjs.map +1 -0
- package/dist/domain/aggregates/karte/WorkDuration.d.cts +10 -0
- package/dist/domain/aggregates/karte/WorkDuration.d.mts +10 -0
- package/dist/domain/aggregates/karte/WorkDuration.mjs +11 -0
- package/dist/domain/aggregates/karte/WorkDuration.mjs.map +1 -0
- package/dist/domain/aggregates/karte/index.cjs +9 -0
- package/dist/domain/aggregates/karte/index.mjs +10 -0
- package/dist/domain/aggregates/member/Email.cjs +12 -0
- package/dist/domain/aggregates/member/Email.cjs.map +1 -0
- package/dist/domain/aggregates/member/Email.d.cts +9 -0
- package/dist/domain/aggregates/member/Email.d.mts +9 -0
- package/dist/domain/aggregates/member/Email.mjs +12 -0
- package/dist/domain/aggregates/member/Email.mjs.map +1 -0
- package/dist/domain/aggregates/member/Member.cjs +247 -0
- package/dist/domain/aggregates/member/Member.cjs.map +1 -0
- package/dist/domain/aggregates/member/Member.d.cts +91 -0
- package/dist/domain/aggregates/member/Member.d.mts +91 -0
- package/dist/domain/aggregates/member/Member.mjs +245 -0
- package/dist/domain/aggregates/member/Member.mjs.map +1 -0
- package/dist/domain/aggregates/member/MemberEvent.cjs +20 -0
- package/dist/domain/aggregates/member/MemberEvent.cjs.map +1 -0
- package/dist/domain/aggregates/member/MemberEvent.d.cts +115 -0
- package/dist/domain/aggregates/member/MemberEvent.d.mts +115 -0
- package/dist/domain/aggregates/member/MemberEvent.mjs +20 -0
- package/dist/domain/aggregates/member/MemberEvent.mjs.map +1 -0
- package/dist/domain/aggregates/member/MemberId.cjs +8 -0
- package/dist/domain/aggregates/member/MemberId.cjs.map +1 -0
- package/dist/domain/aggregates/member/MemberId.d.cts +9 -0
- package/dist/domain/aggregates/member/MemberId.d.mts +9 -0
- package/dist/domain/aggregates/member/MemberId.mjs +8 -0
- package/dist/domain/aggregates/member/MemberId.mjs.map +1 -0
- package/dist/domain/aggregates/member/MemberRepository.d.cts +14 -0
- package/dist/domain/aggregates/member/MemberRepository.d.mts +14 -0
- package/dist/domain/aggregates/member/UniversityEmail.cjs +14 -0
- package/dist/domain/aggregates/member/UniversityEmail.cjs.map +1 -0
- package/dist/domain/aggregates/member/UniversityEmail.d.cts +9 -0
- package/dist/domain/aggregates/member/UniversityEmail.d.mts +9 -0
- package/dist/domain/aggregates/member/UniversityEmail.mjs +14 -0
- package/dist/domain/aggregates/member/UniversityEmail.mjs.map +1 -0
- package/dist/domain/aggregates/member/index.cjs +5 -0
- package/dist/domain/aggregates/member/index.mjs +6 -0
- package/dist/domain/base/DomainEvent.d.cts +9 -0
- package/dist/domain/base/DomainEvent.d.mts +9 -0
- package/dist/domain/base/NonEmptyArray.d.cts +10 -0
- package/dist/domain/base/NonEmptyArray.d.mts +10 -0
- package/dist/domain/base/NonEmptyString.cjs +12 -0
- package/dist/domain/base/NonEmptyString.cjs.map +1 -0
- package/dist/domain/base/NonEmptyString.d.cts +12 -0
- package/dist/domain/base/NonEmptyString.d.mts +12 -0
- package/dist/domain/base/NonEmptyString.mjs +12 -0
- package/dist/domain/base/NonEmptyString.mjs.map +1 -0
- package/dist/domain/base/ValueObject.cjs +21 -0
- package/dist/domain/base/ValueObject.cjs.map +1 -0
- package/dist/domain/base/ValueObject.d.cts +12 -0
- package/dist/domain/base/ValueObject.d.mts +12 -0
- package/dist/domain/base/ValueObject.mjs +21 -0
- package/dist/domain/base/ValueObject.mjs.map +1 -0
- package/dist/domain/exceptions/DomainExceptions.cjs +196 -0
- package/dist/domain/exceptions/DomainExceptions.cjs.map +1 -0
- package/dist/domain/exceptions/DomainExceptions.d.cts +192 -0
- package/dist/domain/exceptions/DomainExceptions.d.mts +192 -0
- package/dist/domain/exceptions/DomainExceptions.mjs +181 -0
- package/dist/domain/exceptions/DomainExceptions.mjs.map +1 -0
- package/dist/domain/index.cjs +32 -0
- package/dist/domain/index.mjs +33 -0
- package/dist/domain/shared/Recorded.cjs +17 -0
- package/dist/domain/shared/Recorded.cjs.map +1 -0
- package/dist/domain/shared/Recorded.d.cts +20 -0
- package/dist/domain/shared/Recorded.d.mts +20 -0
- package/dist/domain/shared/Recorded.mjs +16 -0
- package/dist/domain/shared/Recorded.mjs.map +1 -0
- package/dist/domain/shared/StudentId.cjs +35 -0
- package/dist/domain/shared/StudentId.cjs.map +1 -0
- package/dist/domain/shared/StudentId.d.cts +25 -0
- package/dist/domain/shared/StudentId.d.mts +25 -0
- package/dist/domain/shared/StudentId.mjs +35 -0
- package/dist/domain/shared/StudentId.mjs.map +1 -0
- package/dist/domain/shared/affiliation/Affiliation.cjs +12 -0
- package/dist/domain/shared/affiliation/Affiliation.cjs.map +1 -0
- package/dist/domain/shared/affiliation/Affiliation.d.cts +59 -0
- package/dist/domain/shared/affiliation/Affiliation.d.mts +59 -0
- package/dist/domain/shared/affiliation/Affiliation.mjs +12 -0
- package/dist/domain/shared/affiliation/Affiliation.mjs.map +1 -0
- package/dist/domain/shared/affiliation/index.cjs +2 -0
- package/dist/domain/shared/affiliation/index.mjs +3 -0
- package/dist/domain/shared/affiliation/universityStructure.cjs +444 -0
- package/dist/domain/shared/affiliation/universityStructure.cjs.map +1 -0
- package/dist/domain/shared/affiliation/universityStructure.d.cts +262 -0
- package/dist/domain/shared/affiliation/universityStructure.d.mts +262 -0
- package/dist/domain/shared/affiliation/universityStructure.mjs +439 -0
- package/dist/domain/shared/affiliation/universityStructure.mjs.map +1 -0
- package/dist/domain/shared/index.cjs +5 -0
- package/dist/domain/shared/index.mjs +6 -0
- package/dist/executable/event.cjs +63 -0
- package/dist/executable/event.cjs.map +1 -0
- package/dist/executable/event.d.cts +56 -0
- package/dist/executable/event.d.mts +56 -0
- package/dist/executable/event.mjs +63 -0
- package/dist/executable/event.mjs.map +1 -0
- package/dist/executable/eventService.cjs +146 -0
- package/dist/executable/eventService.cjs.map +1 -0
- package/dist/executable/eventService.d.cts +143 -0
- package/dist/executable/eventService.d.mts +143 -0
- package/dist/executable/eventService.mjs +146 -0
- package/dist/executable/eventService.mjs.map +1 -0
- package/dist/executable/index.cjs +6 -0
- package/dist/executable/index.mjs +7 -0
- package/dist/executable/karte.cjs +24 -0
- package/dist/executable/karte.cjs.map +1 -0
- package/dist/executable/karte.d.cts +19 -0
- package/dist/executable/karte.d.mts +19 -0
- package/dist/executable/karte.mjs +24 -0
- package/dist/executable/karte.mjs.map +1 -0
- package/dist/executable/karteService.cjs +79 -0
- package/dist/executable/karteService.cjs.map +1 -0
- package/dist/executable/karteService.d.cts +87 -0
- package/dist/executable/karteService.d.mts +87 -0
- package/dist/executable/karteService.mjs +79 -0
- package/dist/executable/karteService.mjs.map +1 -0
- package/dist/executable/member.cjs +32 -0
- package/dist/executable/member.cjs.map +1 -0
- package/dist/executable/member.d.cts +25 -0
- package/dist/executable/member.d.mts +25 -0
- package/dist/executable/member.mjs +32 -0
- package/dist/executable/member.mjs.map +1 -0
- package/dist/executable/memberService.cjs +63 -0
- package/dist/executable/memberService.cjs.map +1 -0
- package/dist/executable/memberService.d.cts +59 -0
- package/dist/executable/memberService.d.mts +59 -0
- package/dist/executable/memberService.mjs +63 -0
- package/dist/executable/memberService.mjs.map +1 -0
- package/dist/index.cjs +105 -1914
- package/dist/index.d.cts +46 -754
- package/dist/index.d.mts +46 -0
- package/dist/index.mjs +39 -0
- package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.cjs +57 -0
- package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.cjs.map +1 -0
- package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.mjs +57 -0
- package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.mjs.map +1 -0
- package/dist/infrastructure/drizzle/DrizzleEventRepository.cjs +196 -0
- package/dist/infrastructure/drizzle/DrizzleEventRepository.cjs.map +1 -0
- package/dist/infrastructure/drizzle/DrizzleEventRepository.mjs +196 -0
- package/dist/infrastructure/drizzle/DrizzleEventRepository.mjs.map +1 -0
- package/dist/infrastructure/drizzle/DrizzleKarteRepository.cjs +241 -0
- package/dist/infrastructure/drizzle/DrizzleKarteRepository.cjs.map +1 -0
- package/dist/infrastructure/drizzle/DrizzleKarteRepository.mjs +241 -0
- package/dist/infrastructure/drizzle/DrizzleKarteRepository.mjs.map +1 -0
- package/dist/infrastructure/drizzle/DrizzleMemberRepository.cjs +112 -0
- package/dist/infrastructure/drizzle/DrizzleMemberRepository.cjs.map +1 -0
- package/dist/infrastructure/drizzle/DrizzleMemberRepository.mjs +112 -0
- package/dist/infrastructure/drizzle/DrizzleMemberRepository.mjs.map +1 -0
- package/dist/infrastructure/drizzle/client.cjs +20 -0
- package/dist/infrastructure/drizzle/client.cjs.map +1 -0
- package/dist/infrastructure/drizzle/client.mjs +20 -0
- package/dist/infrastructure/drizzle/client.mjs.map +1 -0
- package/dist/infrastructure/drizzle/index.cjs +4 -0
- package/dist/infrastructure/drizzle/index.mjs +5 -0
- package/dist/infrastructure/drizzle/schema.cjs +353 -0
- package/dist/infrastructure/drizzle/schema.cjs.map +1 -0
- package/dist/infrastructure/drizzle/schema.mjs +337 -0
- package/dist/infrastructure/drizzle/schema.mjs.map +1 -0
- package/dist/infrastructure/drizzle/serializeDiscordAccountEvent.cjs +14 -0
- package/dist/infrastructure/drizzle/serializeDiscordAccountEvent.cjs.map +1 -0
- package/dist/infrastructure/drizzle/serializeDiscordAccountEvent.mjs +14 -0
- package/dist/infrastructure/drizzle/serializeDiscordAccountEvent.mjs.map +1 -0
- package/dist/infrastructure/drizzle/serializeMemberEvent.cjs +61 -0
- package/dist/infrastructure/drizzle/serializeMemberEvent.cjs.map +1 -0
- package/dist/infrastructure/drizzle/serializeMemberEvent.mjs +61 -0
- package/dist/infrastructure/drizzle/serializeMemberEvent.mjs.map +1 -0
- package/dist/infrastructure/index.cjs +5 -0
- package/dist/infrastructure/index.mjs +6 -0
- package/package.json +67 -60
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts +0 -754
- package/dist/index.js +0 -1875
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
//#region src/domain/shared/affiliation/universityStructure.ts
|
|
2
|
+
/** Object.keys の型安全版 */
|
|
3
|
+
function keysOf(obj) {
|
|
4
|
+
return Object.keys(obj);
|
|
5
|
+
}
|
|
6
|
+
/** @see https://www.hss.shizuoka.ac.jp/ */
|
|
7
|
+
const humanitiesDepts = {
|
|
8
|
+
day: [
|
|
9
|
+
"社会学科",
|
|
10
|
+
"言語文化学科",
|
|
11
|
+
"法学科",
|
|
12
|
+
"経済学科"
|
|
13
|
+
],
|
|
14
|
+
night: ["法学科", "経済学科"]
|
|
15
|
+
};
|
|
16
|
+
/** @see https://www.ed.shizuoka.ac.jp/applicants/about/organization/ */
|
|
17
|
+
const educationMajors = {
|
|
18
|
+
発達教育学専攻: [
|
|
19
|
+
"教育実践学専修",
|
|
20
|
+
"教育心理学専修",
|
|
21
|
+
"幼児教育専修"
|
|
22
|
+
],
|
|
23
|
+
初等学習開発学専攻: [],
|
|
24
|
+
養護教育専攻: [],
|
|
25
|
+
特別支援教育専攻: [],
|
|
26
|
+
教科教育学専攻: [
|
|
27
|
+
"国語教育専修",
|
|
28
|
+
"社会科教育専修",
|
|
29
|
+
"数学教育専修",
|
|
30
|
+
"理科教育専修",
|
|
31
|
+
"音楽教育専修",
|
|
32
|
+
"美術教育専修",
|
|
33
|
+
"保健体育教育専修",
|
|
34
|
+
"技術教育専修",
|
|
35
|
+
"家庭科教育専修",
|
|
36
|
+
"英語教育専修"
|
|
37
|
+
]
|
|
38
|
+
};
|
|
39
|
+
/** @see https://www.inf.shizuoka.ac.jp/ */
|
|
40
|
+
const informaticsDepts = [
|
|
41
|
+
"情報科学科",
|
|
42
|
+
"行動情報学科",
|
|
43
|
+
"情報社会学科"
|
|
44
|
+
];
|
|
45
|
+
/** @see https://www.sci.shizuoka.ac.jp/dep_study */
|
|
46
|
+
const scienceDepts = [
|
|
47
|
+
"数学科",
|
|
48
|
+
"物理学科",
|
|
49
|
+
"化学科",
|
|
50
|
+
"生物科学科",
|
|
51
|
+
"地球科学科"
|
|
52
|
+
];
|
|
53
|
+
const scienceCourses = ["創造理学コース"];
|
|
54
|
+
/** @see https://www.eng.shizuoka.ac.jp/department/ */
|
|
55
|
+
const engineeringDeptCourses = {
|
|
56
|
+
機械工学科: [
|
|
57
|
+
"宇宙・環境コース",
|
|
58
|
+
"知能・材料コース",
|
|
59
|
+
"電気機械システムコース"
|
|
60
|
+
],
|
|
61
|
+
電気電子工学科: ["情報エレクトロニクスコース", "エネルギー・電子制御コース"],
|
|
62
|
+
電子物質科学科: ["電子物理デバイスコース", "材料エネルギー化学コース"],
|
|
63
|
+
化学バイオ工学科: ["環境応用化学コース", "バイオ応用工学コース"],
|
|
64
|
+
数理システム工学科: []
|
|
65
|
+
};
|
|
66
|
+
/** @see https://www.agr.shizuoka.ac.jp/ */
|
|
67
|
+
const agricultureDeptCourses = {
|
|
68
|
+
生物資源科学科: ["バイオサイエンスコース", "環境サイエンスコース"],
|
|
69
|
+
応用生命科学科: []
|
|
70
|
+
};
|
|
71
|
+
/** @see https://www.gkk.shizuoka.ac.jp/outline/courses/ */
|
|
72
|
+
const globalCoCreationCourses = [
|
|
73
|
+
"国際地域共生学コース",
|
|
74
|
+
"生命圏循環共生学コース",
|
|
75
|
+
"総合人間科学コース"
|
|
76
|
+
];
|
|
77
|
+
/** @see https://www.hss.shizuoka.ac.jp/ghss/ */
|
|
78
|
+
const humanitiesMasterMajorCourses = {
|
|
79
|
+
臨床人間科学専攻: ["臨床心理学コース", "臨床人間科学コース"],
|
|
80
|
+
比較地域文化専攻: ["歴史・文化論コース", "言語文化論コース"],
|
|
81
|
+
経済専攻: ["国際経営コース", "地域公共政策コース"]
|
|
82
|
+
};
|
|
83
|
+
/** @see https://www.shizuoka.ac.jp/subject/graduate/stg/ */
|
|
84
|
+
const integratedSciTechMajorCourses = {
|
|
85
|
+
情報学専攻: ["基盤情報学コース", "領域情報学コース"],
|
|
86
|
+
理学専攻: [
|
|
87
|
+
"数学コース",
|
|
88
|
+
"物理学コース",
|
|
89
|
+
"化学コース",
|
|
90
|
+
"生物科学コース",
|
|
91
|
+
"地球科学コース"
|
|
92
|
+
],
|
|
93
|
+
工学専攻: [
|
|
94
|
+
"機械工学コース",
|
|
95
|
+
"電気電子工学コース",
|
|
96
|
+
"電子物質科学コース",
|
|
97
|
+
"化学バイオ工学コース",
|
|
98
|
+
"数理システム工学コース",
|
|
99
|
+
"事業開発マネジメントコース"
|
|
100
|
+
],
|
|
101
|
+
農学専攻: [
|
|
102
|
+
"生物資源科学コース",
|
|
103
|
+
"応用生命科学コース",
|
|
104
|
+
"環境森林科学コース"
|
|
105
|
+
]
|
|
106
|
+
};
|
|
107
|
+
/** @see https://gsst.shizuoka.ac.jp/ */
|
|
108
|
+
const creativeSciTechMajors = [
|
|
109
|
+
"ナノビジョン工学専攻",
|
|
110
|
+
"光・ナノ物質機能専攻",
|
|
111
|
+
"情報科学専攻",
|
|
112
|
+
"環境・エネルギーシステム専攻",
|
|
113
|
+
"バイオサイエンス専攻"
|
|
114
|
+
];
|
|
115
|
+
const undergraduateFaculties = [
|
|
116
|
+
{
|
|
117
|
+
name: "人文社会科学部",
|
|
118
|
+
subdivisions: [...humanitiesDepts.day]
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
name: "教育学部",
|
|
122
|
+
subdivisions: keysOf(educationMajors)
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "情報学部",
|
|
126
|
+
subdivisions: [...informaticsDepts]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: "理学部",
|
|
130
|
+
subdivisions: [...scienceDepts, ...scienceCourses]
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: "工学部",
|
|
134
|
+
subdivisions: keysOf(engineeringDeptCourses)
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
name: "農学部",
|
|
138
|
+
subdivisions: keysOf(agricultureDeptCourses)
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
name: "グローバル共創科学部",
|
|
142
|
+
subdivisions: ["グローバル共創科学科"]
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
name: "地域創造学環",
|
|
146
|
+
subdivisions: []
|
|
147
|
+
}
|
|
148
|
+
];
|
|
149
|
+
const masterSchools = [
|
|
150
|
+
{
|
|
151
|
+
name: "人文社会科学研究科",
|
|
152
|
+
subdivisions: keysOf(humanitiesMasterMajorCourses)
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
name: "総合科学技術研究科",
|
|
156
|
+
subdivisions: keysOf(integratedSciTechMajorCourses)
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
name: "山岳流域研究院",
|
|
160
|
+
subdivisions: []
|
|
161
|
+
}
|
|
162
|
+
];
|
|
163
|
+
const doctoralSchools = [
|
|
164
|
+
{
|
|
165
|
+
name: "創造科学技術大学院",
|
|
166
|
+
subdivisions: [...creativeSciTechMajors]
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
name: "教育学研究科",
|
|
170
|
+
subdivisions: ["共同教科開発学専攻"]
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
name: "光医工学研究科",
|
|
174
|
+
subdivisions: ["光医工学共同専攻"]
|
|
175
|
+
}
|
|
176
|
+
];
|
|
177
|
+
const UNIVERSITY_STRUCTURE = {
|
|
178
|
+
undergraduate: {
|
|
179
|
+
label: "学士課程",
|
|
180
|
+
maxYear: 4,
|
|
181
|
+
institutions: undergraduateFaculties
|
|
182
|
+
},
|
|
183
|
+
master: {
|
|
184
|
+
label: "修士課程",
|
|
185
|
+
maxYear: 2,
|
|
186
|
+
institutions: masterSchools
|
|
187
|
+
},
|
|
188
|
+
doctoral: {
|
|
189
|
+
label: "博士課程",
|
|
190
|
+
maxYear: 3,
|
|
191
|
+
institutions: doctoralSchools
|
|
192
|
+
},
|
|
193
|
+
professional: {
|
|
194
|
+
label: "専門職学位課程",
|
|
195
|
+
maxYear: 2,
|
|
196
|
+
institutions: [{
|
|
197
|
+
name: "教育学研究科",
|
|
198
|
+
subdivisions: ["教育実践高度化専攻"]
|
|
199
|
+
}]
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
function getInstitutions(courseType) {
|
|
203
|
+
return UNIVERSITY_STRUCTURE[courseType].institutions;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* 指定した機関の下位区分名を返す。
|
|
207
|
+
* 簡易的なフラットリストのため、入学区分やコースなどの階層は含まない。
|
|
208
|
+
* 正確な階層選択には getAffiliationSteps を使用すること。
|
|
209
|
+
*/
|
|
210
|
+
function getSubdivisions(courseType, institution) {
|
|
211
|
+
return getInstitutions(courseType).find((i) => i.name === institution)?.subdivisions ?? [];
|
|
212
|
+
}
|
|
213
|
+
function getMaxYear(courseType) {
|
|
214
|
+
return UNIVERSITY_STRUCTURE[courseType].maxYear;
|
|
215
|
+
}
|
|
216
|
+
function getCourseLabel(courseType) {
|
|
217
|
+
return UNIVERSITY_STRUCTURE[courseType].label;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* 選択済みの値に基づいて、次に必要な選択ステップを返す。
|
|
221
|
+
* 選択肢が1つしかない場合はそのステップも返す(UI側でauto-skip判断する)。
|
|
222
|
+
*/
|
|
223
|
+
function getAffiliationSteps(courseType, selections) {
|
|
224
|
+
switch (courseType) {
|
|
225
|
+
case "undergraduate": return getUndergraduateSteps(selections);
|
|
226
|
+
case "master": return getMasterSteps(selections);
|
|
227
|
+
case "doctoral": return getDoctoralSteps(selections);
|
|
228
|
+
case "professional": return getProfessionalSteps(selections);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
function getUndergraduateSteps(s) {
|
|
232
|
+
const steps = [];
|
|
233
|
+
steps.push({
|
|
234
|
+
field: "faculty",
|
|
235
|
+
label: "学部",
|
|
236
|
+
options: undergraduateFaculties.map((f) => f.name)
|
|
237
|
+
});
|
|
238
|
+
if (!s.faculty) return steps;
|
|
239
|
+
switch (s.faculty) {
|
|
240
|
+
case "人文社会科学部":
|
|
241
|
+
steps.push({
|
|
242
|
+
field: "enrollmentType",
|
|
243
|
+
label: "入学区分",
|
|
244
|
+
options: ["昼間コース", "夜間主コース"]
|
|
245
|
+
});
|
|
246
|
+
if (!s.enrollmentType) return steps;
|
|
247
|
+
steps.push({
|
|
248
|
+
field: "department",
|
|
249
|
+
label: "学科",
|
|
250
|
+
options: s.enrollmentType === "夜間主コース" ? [...humanitiesDepts.night] : [...humanitiesDepts.day]
|
|
251
|
+
});
|
|
252
|
+
break;
|
|
253
|
+
case "教育学部":
|
|
254
|
+
steps.push({
|
|
255
|
+
field: "program",
|
|
256
|
+
label: "課程",
|
|
257
|
+
options: ["学校教育教員養成課程"]
|
|
258
|
+
});
|
|
259
|
+
if (!s.program) return steps;
|
|
260
|
+
steps.push({
|
|
261
|
+
field: "major",
|
|
262
|
+
label: "専攻",
|
|
263
|
+
options: keysOf(educationMajors)
|
|
264
|
+
});
|
|
265
|
+
if (!s.major) return steps;
|
|
266
|
+
if (s.major in educationMajors) {
|
|
267
|
+
const subs = educationMajors[s.major];
|
|
268
|
+
if (subs.length > 0) steps.push({
|
|
269
|
+
field: "subspecialty",
|
|
270
|
+
label: "専修",
|
|
271
|
+
options: [...subs]
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
break;
|
|
275
|
+
case "情報学部":
|
|
276
|
+
steps.push({
|
|
277
|
+
field: "department",
|
|
278
|
+
label: "学科",
|
|
279
|
+
options: [...informaticsDepts]
|
|
280
|
+
});
|
|
281
|
+
break;
|
|
282
|
+
case "理学部":
|
|
283
|
+
if (!s.course) steps.push({
|
|
284
|
+
field: "department",
|
|
285
|
+
label: "学科",
|
|
286
|
+
options: [...scienceDepts]
|
|
287
|
+
});
|
|
288
|
+
if (!s.department) steps.push({
|
|
289
|
+
field: "course",
|
|
290
|
+
label: "コース",
|
|
291
|
+
options: [...scienceCourses]
|
|
292
|
+
});
|
|
293
|
+
break;
|
|
294
|
+
case "工学部":
|
|
295
|
+
steps.push({
|
|
296
|
+
field: "department",
|
|
297
|
+
label: "学科",
|
|
298
|
+
options: keysOf(engineeringDeptCourses)
|
|
299
|
+
});
|
|
300
|
+
if (!s.department) return steps;
|
|
301
|
+
if (s.department in engineeringDeptCourses) {
|
|
302
|
+
const courses = engineeringDeptCourses[s.department];
|
|
303
|
+
if (courses.length > 0) steps.push({
|
|
304
|
+
field: "course",
|
|
305
|
+
label: "コース",
|
|
306
|
+
options: [...courses]
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
break;
|
|
310
|
+
case "農学部":
|
|
311
|
+
steps.push({
|
|
312
|
+
field: "department",
|
|
313
|
+
label: "学科",
|
|
314
|
+
options: keysOf(agricultureDeptCourses)
|
|
315
|
+
});
|
|
316
|
+
if (!s.department) return steps;
|
|
317
|
+
if (s.department in agricultureDeptCourses) {
|
|
318
|
+
const courses = agricultureDeptCourses[s.department];
|
|
319
|
+
if (courses.length > 0) steps.push({
|
|
320
|
+
field: "course",
|
|
321
|
+
label: "コース",
|
|
322
|
+
options: [...courses]
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
break;
|
|
326
|
+
case "グローバル共創科学部":
|
|
327
|
+
steps.push({
|
|
328
|
+
field: "department",
|
|
329
|
+
label: "学科",
|
|
330
|
+
options: ["グローバル共創科学科"]
|
|
331
|
+
});
|
|
332
|
+
if (!s.department) return steps;
|
|
333
|
+
steps.push({
|
|
334
|
+
field: "course",
|
|
335
|
+
label: "コース",
|
|
336
|
+
options: [...globalCoCreationCourses]
|
|
337
|
+
});
|
|
338
|
+
break;
|
|
339
|
+
case "地域創造学環": break;
|
|
340
|
+
}
|
|
341
|
+
return steps;
|
|
342
|
+
}
|
|
343
|
+
function getMasterSteps(s) {
|
|
344
|
+
const steps = [];
|
|
345
|
+
steps.push({
|
|
346
|
+
field: "school",
|
|
347
|
+
label: "研究科",
|
|
348
|
+
options: masterSchools.map((sc) => sc.name)
|
|
349
|
+
});
|
|
350
|
+
if (!s.school) return steps;
|
|
351
|
+
switch (s.school) {
|
|
352
|
+
case "人文社会科学研究科":
|
|
353
|
+
steps.push({
|
|
354
|
+
field: "major",
|
|
355
|
+
label: "専攻",
|
|
356
|
+
options: keysOf(humanitiesMasterMajorCourses)
|
|
357
|
+
});
|
|
358
|
+
if (!s.major) return steps;
|
|
359
|
+
if (s.major in humanitiesMasterMajorCourses) {
|
|
360
|
+
const courses = humanitiesMasterMajorCourses[s.major];
|
|
361
|
+
steps.push({
|
|
362
|
+
field: "course",
|
|
363
|
+
label: "コース",
|
|
364
|
+
options: [...courses]
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
break;
|
|
368
|
+
case "総合科学技術研究科":
|
|
369
|
+
steps.push({
|
|
370
|
+
field: "major",
|
|
371
|
+
label: "専攻",
|
|
372
|
+
options: keysOf(integratedSciTechMajorCourses)
|
|
373
|
+
});
|
|
374
|
+
if (!s.major) return steps;
|
|
375
|
+
if (s.major in integratedSciTechMajorCourses) {
|
|
376
|
+
const courses = integratedSciTechMajorCourses[s.major];
|
|
377
|
+
steps.push({
|
|
378
|
+
field: "course",
|
|
379
|
+
label: "コース",
|
|
380
|
+
options: [...courses]
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
break;
|
|
384
|
+
case "山岳流域研究院": break;
|
|
385
|
+
}
|
|
386
|
+
return steps;
|
|
387
|
+
}
|
|
388
|
+
function getDoctoralSteps(s) {
|
|
389
|
+
const steps = [];
|
|
390
|
+
steps.push({
|
|
391
|
+
field: "school",
|
|
392
|
+
label: "研究科",
|
|
393
|
+
options: doctoralSchools.map((sc) => sc.name)
|
|
394
|
+
});
|
|
395
|
+
if (!s.school) return steps;
|
|
396
|
+
switch (s.school) {
|
|
397
|
+
case "創造科学技術大学院":
|
|
398
|
+
steps.push({
|
|
399
|
+
field: "major",
|
|
400
|
+
label: "専攻",
|
|
401
|
+
options: [...creativeSciTechMajors]
|
|
402
|
+
});
|
|
403
|
+
break;
|
|
404
|
+
case "教育学研究科":
|
|
405
|
+
steps.push({
|
|
406
|
+
field: "major",
|
|
407
|
+
label: "専攻",
|
|
408
|
+
options: ["共同教科開発学専攻"]
|
|
409
|
+
});
|
|
410
|
+
break;
|
|
411
|
+
case "光医工学研究科":
|
|
412
|
+
steps.push({
|
|
413
|
+
field: "major",
|
|
414
|
+
label: "専攻",
|
|
415
|
+
options: ["光医工学共同専攻"]
|
|
416
|
+
});
|
|
417
|
+
break;
|
|
418
|
+
}
|
|
419
|
+
return steps;
|
|
420
|
+
}
|
|
421
|
+
function getProfessionalSteps(s) {
|
|
422
|
+
const steps = [];
|
|
423
|
+
steps.push({
|
|
424
|
+
field: "school",
|
|
425
|
+
label: "研究科",
|
|
426
|
+
options: ["教育学研究科"]
|
|
427
|
+
});
|
|
428
|
+
if (!s.school) return steps;
|
|
429
|
+
steps.push({
|
|
430
|
+
field: "major",
|
|
431
|
+
label: "専攻",
|
|
432
|
+
options: ["教育実践高度化専攻"]
|
|
433
|
+
});
|
|
434
|
+
return steps;
|
|
435
|
+
}
|
|
436
|
+
//#endregion
|
|
437
|
+
exports.UNIVERSITY_STRUCTURE = UNIVERSITY_STRUCTURE;
|
|
438
|
+
exports.getAffiliationSteps = getAffiliationSteps;
|
|
439
|
+
exports.getCourseLabel = getCourseLabel;
|
|
440
|
+
exports.getInstitutions = getInstitutions;
|
|
441
|
+
exports.getMaxYear = getMaxYear;
|
|
442
|
+
exports.getSubdivisions = getSubdivisions;
|
|
443
|
+
|
|
444
|
+
//# sourceMappingURL=universityStructure.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"universityStructure.cjs","names":[],"sources":["../../../../src/domain/shared/affiliation/universityStructure.ts"],"sourcesContent":["/**\n * 静岡大学の組織構造定義\n *\n * ランタイムデータを単一の情報源とし、型を導出する。\n *\n * フィールドとユビキタス言語の対応:\n * - `faculty` — 学部(学部課程の組織単位)\n * - `school` — 研究科・大学院(大学院課程の組織単位)\n * - `department` — 学科\n * - `program` — 課程(例: 学校教育教員養成課程)\n * - `major` — 専攻\n * - `course` — コース(専門分野の細分化)\n * - `subspecialty` — 専修(コースよりさらに細分化された専門領域)\n * - `enrollmentType` — 入学区分(昼間コース / 夜間主コース)\n * - `year` — 在学年次\n *\n * @see https://www.shizuoka.ac.jp/subject/\n */\n\n// ============================================================================\n// 年次\n// ============================================================================\n\nexport type UndergraduateYear = 1 | 2 | 3 | 4;\nexport type MasterYear = 1 | 2;\nexport type DoctoralYear = 1 | 2 | 3;\nexport type ProfessionalYear = 1 | 2;\n\n// ============================================================================\n// ユーティリティ\n// ============================================================================\n\n/** Object.keys の型安全版 */\nfunction keysOf<T extends Record<string, unknown>>(obj: T): (keyof T & string)[] {\n\treturn Object.keys(obj) as (keyof T & string)[];\n}\n\n// ============================================================================\n// 学部(Undergraduate)— ランタイムデータ\n// ============================================================================\n\n/** @see https://www.hss.shizuoka.ac.jp/ */\nconst humanitiesDepts = {\n\tday: [\"社会学科\", \"言語文化学科\", \"法学科\", \"経済学科\"],\n\tnight: [\"法学科\", \"経済学科\"],\n} as const;\n\n/** @see https://www.ed.shizuoka.ac.jp/applicants/about/organization/ */\nconst educationMajors = {\n\t発達教育学専攻: [\"教育実践学専修\", \"教育心理学専修\", \"幼児教育専修\"],\n\t初等学習開発学専攻: [],\n\t養護教育専攻: [],\n\t特別支援教育専攻: [],\n\t教科教育学専攻: [\n\t\t\"国語教育専修\",\n\t\t\"社会科教育専修\",\n\t\t\"数学教育専修\",\n\t\t\"理科教育専修\",\n\t\t\"音楽教育専修\",\n\t\t\"美術教育専修\",\n\t\t\"保健体育教育専修\",\n\t\t\"技術教育専修\",\n\t\t\"家庭科教育専修\",\n\t\t\"英語教育専修\",\n\t],\n} as const;\n\n/** @see https://www.inf.shizuoka.ac.jp/ */\nconst informaticsDepts = [\"情報科学科\", \"行動情報学科\", \"情報社会学科\"] as const;\n\n/** @see https://www.sci.shizuoka.ac.jp/dep_study */\nconst scienceDepts = [\"数学科\", \"物理学科\", \"化学科\", \"生物科学科\", \"地球科学科\"] as const;\nconst scienceCourses = [\"創造理学コース\"] as const;\n\n/** @see https://www.eng.shizuoka.ac.jp/department/ */\nconst engineeringDeptCourses = {\n\t機械工学科: [\"宇宙・環境コース\", \"知能・材料コース\", \"電気機械システムコース\"],\n\t電気電子工学科: [\"情報エレクトロニクスコース\", \"エネルギー・電子制御コース\"],\n\t電子物質科学科: [\"電子物理デバイスコース\", \"材料エネルギー化学コース\"],\n\t化学バイオ工学科: [\"環境応用化学コース\", \"バイオ応用工学コース\"],\n\t数理システム工学科: [],\n} as const;\n\n/** @see https://www.agr.shizuoka.ac.jp/ */\nconst agricultureDeptCourses = {\n\t生物資源科学科: [\"バイオサイエンスコース\", \"環境サイエンスコース\"],\n\t応用生命科学科: [],\n} as const;\n\n/** @see https://www.gkk.shizuoka.ac.jp/outline/courses/ */\nconst globalCoCreationCourses = [\n\t\"国際地域共生学コース\",\n\t\"生命圏循環共生学コース\",\n\t\"総合人間科学コース\",\n] as const;\n\n// ============================================================================\n// 修士課程(Master)— ランタイムデータ\n// ============================================================================\n\n/** @see https://www.hss.shizuoka.ac.jp/ghss/ */\nconst humanitiesMasterMajorCourses = {\n\t臨床人間科学専攻: [\"臨床心理学コース\", \"臨床人間科学コース\"],\n\t比較地域文化専攻: [\"歴史・文化論コース\", \"言語文化論コース\"],\n\t経済専攻: [\"国際経営コース\", \"地域公共政策コース\"],\n} as const;\n\n/** @see https://www.shizuoka.ac.jp/subject/graduate/stg/ */\nconst integratedSciTechMajorCourses = {\n\t情報学専攻: [\"基盤情報学コース\", \"領域情報学コース\"],\n\t理学専攻: [\"数学コース\", \"物理学コース\", \"化学コース\", \"生物科学コース\", \"地球科学コース\"],\n\t工学専攻: [\n\t\t\"機械工学コース\",\n\t\t\"電気電子工学コース\",\n\t\t\"電子物質科学コース\",\n\t\t\"化学バイオ工学コース\",\n\t\t\"数理システム工学コース\",\n\t\t\"事業開発マネジメントコース\",\n\t],\n\t農学専攻: [\"生物資源科学コース\", \"応用生命科学コース\", \"環境森林科学コース\"],\n} as const;\n\n// ============================================================================\n// 博士課程(Doctoral)— ランタイムデータ\n// ============================================================================\n\n/** @see https://gsst.shizuoka.ac.jp/ */\nconst creativeSciTechMajors = [\n\t\"ナノビジョン工学専攻\",\n\t\"光・ナノ物質機能専攻\",\n\t\"情報科学専攻\",\n\t\"環境・エネルギーシステム専攻\",\n\t\"バイオサイエンス専攻\",\n] as const;\n\n// ============================================================================\n// 導出型 — ランタイムデータから自動生成\n// ============================================================================\n\n// ── 学部(Undergraduate) ──\n\n/** 人文社会科学部 @see https://www.hss.shizuoka.ac.jp/ */\ntype HumanitiesFacultyValue =\n\t| {\n\t\t\t/** 学部 */\n\t\t\tfaculty: \"人文社会科学部\";\n\t\t\t/** 入学区分 */\n\t\t\tenrollmentType: \"昼間コース\";\n\t\t\t/** 学科 */\n\t\t\tdepartment: (typeof humanitiesDepts.day)[number];\n\t\t\t/** 在学年次 */\n\t\t\tyear: UndergraduateYear;\n\t }\n\t| {\n\t\t\t/** 学部 */\n\t\t\tfaculty: \"人文社会科学部\";\n\t\t\t/** 入学区分 */\n\t\t\tenrollmentType: \"夜間主コース\";\n\t\t\t/** 学科 */\n\t\t\tdepartment: (typeof humanitiesDepts.night)[number];\n\t\t\t/** 在学年次 */\n\t\t\tyear: UndergraduateYear;\n\t };\n\ntype EducationMajorName = keyof typeof educationMajors;\ntype EducationSubspecialty<M extends EducationMajorName> = (typeof educationMajors)[M][number];\n\n/** 教育学部 @see https://www.ed.shizuoka.ac.jp/applicants/about/organization/ */\ntype EducationFacultyValue = {\n\t[M in EducationMajorName]: (typeof educationMajors)[M] extends readonly [string, ...string[]]\n\t\t? {\n\t\t\t\t/** 学部 */\n\t\t\t\tfaculty: \"教育学部\";\n\t\t\t\t/** 課程 */\n\t\t\t\tprogram: \"学校教育教員養成課程\";\n\t\t\t\t/** 専攻 */\n\t\t\t\tmajor: M;\n\t\t\t\t/** 専修 */\n\t\t\t\tsubspecialty: EducationSubspecialty<M>;\n\t\t\t\t/** 在学年次 */\n\t\t\t\tyear: UndergraduateYear;\n\t\t\t}\n\t\t: {\n\t\t\t\tfaculty: \"教育学部\";\n\t\t\t\tprogram: \"学校教育教員養成課程\";\n\t\t\t\tmajor: M;\n\t\t\t\tyear: UndergraduateYear;\n\t\t\t};\n}[EducationMajorName];\n\n/** 情報学部 @see https://www.inf.shizuoka.ac.jp/ */\ntype InformaticsFacultyValue = {\n\t/** 学部 */\n\tfaculty: \"情報学部\";\n\t/** 学科 */\n\tdepartment: (typeof informaticsDepts)[number];\n\t/** 在学年次 */\n\tyear: UndergraduateYear;\n};\n\n/** 理学部 @see https://www.sci.shizuoka.ac.jp/dep_study */\ntype ScienceFacultyValue =\n\t| {\n\t\t\tfaculty: \"理学部\";\n\t\t\t/** 学科 */\n\t\t\tdepartment: (typeof scienceDepts)[number];\n\t\t\tyear: UndergraduateYear;\n\t }\n\t| {\n\t\t\tfaculty: \"理学部\";\n\t\t\t/** コース */\n\t\t\tcourse: (typeof scienceCourses)[number];\n\t\t\tyear: UndergraduateYear;\n\t };\n\n/** 工学部 @see https://www.eng.shizuoka.ac.jp/department/ */\ntype EngineeringDept = keyof typeof engineeringDeptCourses;\ntype EngineeringFacultyValue = {\n\t[D in EngineeringDept]: (typeof engineeringDeptCourses)[D] extends readonly [string, ...string[]]\n\t\t? {\n\t\t\t\tfaculty: \"工学部\";\n\t\t\t\t/** 学科 */\n\t\t\t\tdepartment: D;\n\t\t\t\t/** コース */\n\t\t\t\tcourse: (typeof engineeringDeptCourses)[D][number];\n\t\t\t\t/** 在学年次 */\n\t\t\t\tyear: UndergraduateYear;\n\t\t\t}\n\t\t: { faculty: \"工学部\"; department: D; year: UndergraduateYear };\n}[EngineeringDept];\n\n/** 農学部 @see https://www.agr.shizuoka.ac.jp/ */\ntype AgricultureDept = keyof typeof agricultureDeptCourses;\ntype AgricultureFacultyValue = {\n\t[D in AgricultureDept]: (typeof agricultureDeptCourses)[D] extends readonly [string, ...string[]]\n\t\t? {\n\t\t\t\tfaculty: \"農学部\";\n\t\t\t\tdepartment: D;\n\t\t\t\tcourse: (typeof agricultureDeptCourses)[D][number];\n\t\t\t\tyear: UndergraduateYear;\n\t\t\t}\n\t\t: { faculty: \"農学部\"; department: D; year: UndergraduateYear };\n}[AgricultureDept];\n\n/** グローバル共創科学部 @see https://www.gkk.shizuoka.ac.jp/outline/courses/ */\ntype GlobalCoCreationFacultyValue = {\n\tfaculty: \"グローバル共創科学部\";\n\t/** 学科 */\n\tdepartment: \"グローバル共創科学科\";\n\t/** コース */\n\tcourse: (typeof globalCoCreationCourses)[number];\n\t/** 在学年次 */\n\tyear: UndergraduateYear;\n};\n\n/** 地域創造学環 @see https://www.srd.shizuoka.ac.jp/ */\ntype RegionalDevelopmentValue = {\n\tfaculty: \"地域創造学環\";\n\t/** 在学年次 */\n\tyear: UndergraduateYear;\n};\n\nexport type UndergraduateAffiliationValue =\n\t| HumanitiesFacultyValue // 人文社会科学部\n\t| EducationFacultyValue // 教育学部\n\t| InformaticsFacultyValue // 情報学部\n\t| ScienceFacultyValue // 理学部\n\t| EngineeringFacultyValue // 工学部\n\t| AgricultureFacultyValue // 農学部\n\t| GlobalCoCreationFacultyValue // グローバル共創科学部\n\t| RegionalDevelopmentValue; // 地域創造学環\n\n// ── 修士課程(Master) ──\n\n/** 人文社会科学研究科 @see https://www.hss.shizuoka.ac.jp/ghss/ */\ntype HumanitiesMasterMajor = keyof typeof humanitiesMasterMajorCourses;\ntype HumanitiesMasterValue = {\n\t[M in HumanitiesMasterMajor]: {\n\t\t/** 研究科・大学院 */\n\t\tschool: \"人文社会科学研究科\";\n\t\t/** 専攻 */\n\t\tmajor: M;\n\t\t/** コース */\n\t\tcourse: (typeof humanitiesMasterMajorCourses)[M][number];\n\t\t/** 在学年次 */\n\t\tyear: MasterYear;\n\t};\n}[HumanitiesMasterMajor];\n\n/** 総合科学技術研究科 @see https://www.shizuoka.ac.jp/subject/graduate/stg/ */\ntype IntegratedSciTechMajor = keyof typeof integratedSciTechMajorCourses;\ntype IntegratedSciTechMasterValue = {\n\t[M in IntegratedSciTechMajor]: {\n\t\tschool: \"総合科学技術研究科\";\n\t\t/** 専攻 */\n\t\tmajor: M;\n\t\t/** コース */\n\t\tcourse: (typeof integratedSciTechMajorCourses)[M][number];\n\t\t/** 在学年次 */\n\t\tyear: MasterYear;\n\t};\n}[IntegratedSciTechMajor];\n\n/** 山岳流域研究院 @see https://www.igsmw.shizuoka.ac.jp/ */\ntype MountainWatershedValue = { school: \"山岳流域研究院\"; year: MasterYear };\n\nexport type MasterAffiliationValue =\n\t| HumanitiesMasterValue // 人文社会科学研究科\n\t| IntegratedSciTechMasterValue // 総合科学技術研究科\n\t| MountainWatershedValue; // 山岳流域研究院\n\n// ── 博士課程(Doctoral) ──\n\n/** 創造科学技術大学院 @see https://gsst.shizuoka.ac.jp/ */\ntype CreativeSciTechDoctoralValue = {\n\tschool: \"創造科学技術大学院\";\n\t/** 専攻 */\n\tmajor: (typeof creativeSciTechMajors)[number];\n\t/** 在学年次 */\n\tyear: DoctoralYear;\n};\n\n/** 教育学研究科(博士) @see https://subdev.ed.shizuoka.ac.jp/ */\ntype EducationDoctoralValue = {\n\tschool: \"教育学研究科\";\n\tmajor: \"共同教科開発学専攻\";\n\tyear: DoctoralYear;\n};\n\n/** 光医工学研究科 @see https://www.cmmp.shizuoka.ac.jp/ */\ntype OptoBiomedicalDoctoralValue = {\n\tschool: \"光医工学研究科\";\n\tmajor: \"光医工学共同専攻\";\n\tyear: DoctoralYear;\n};\n\nexport type DoctoralAffiliationValue =\n\t| CreativeSciTechDoctoralValue // 創造科学技術大学院\n\t| EducationDoctoralValue // 教育学研究科\n\t| OptoBiomedicalDoctoralValue; // 光医工学研究科\n\n// ── 専門職学位課程(Professional) ──\n\n/** 教育学研究科(専門職) @see https://dapse2.ed.shizuoka.ac.jp/ */\nexport type ProfessionalAffiliationValue = {\n\tschool: \"教育学研究科\";\n\t/** 専攻 */\n\tmajor: \"教育実践高度化専攻\";\n\t/** 在学年次 */\n\tyear: ProfessionalYear;\n};\n\n// ============================================================================\n// 部分型(年次やフィールドが欠損しうる)\n// ============================================================================\n\ntype ToPartialFacultyValue<T> = T extends {\n\treadonly faculty: infer N extends string;\n}\n\t? { readonly faculty: N } & {\n\t\t\treadonly [K in Exclude<keyof T, \"faculty\">]?: T[K];\n\t\t}\n\t: never;\n\ntype ToPartialSchoolValue<T> = T extends {\n\treadonly school: infer N extends string;\n}\n\t? { readonly school: N } & {\n\t\t\treadonly [K in Exclude<keyof T, \"school\">]?: T[K];\n\t\t}\n\t: never;\n\nexport type PartialUndergraduateAffiliationValue =\n\tToPartialFacultyValue<UndergraduateAffiliationValue>;\nexport type PartialMasterAffiliationValue = ToPartialSchoolValue<MasterAffiliationValue>;\nexport type PartialDoctoralAffiliationValue = ToPartialSchoolValue<DoctoralAffiliationValue>;\nexport type PartialProfessionalAffiliationValue =\n\tToPartialSchoolValue<ProfessionalAffiliationValue>;\n\n// ============================================================================\n// UI用の統合データ\n// ============================================================================\n\ntype InstitutionEntry = {\n\treadonly name: string;\n\treadonly subdivisions: readonly string[];\n};\n\nconst undergraduateFaculties: readonly InstitutionEntry[] = [\n\t{ name: \"人文社会科学部\", subdivisions: [...humanitiesDepts.day] },\n\t{ name: \"教育学部\", subdivisions: keysOf(educationMajors) },\n\t{ name: \"情報学部\", subdivisions: [...informaticsDepts] },\n\t{ name: \"理学部\", subdivisions: [...scienceDepts, ...scienceCourses] },\n\t{ name: \"工学部\", subdivisions: keysOf(engineeringDeptCourses) },\n\t{ name: \"農学部\", subdivisions: keysOf(agricultureDeptCourses) },\n\t{ name: \"グローバル共創科学部\", subdivisions: [\"グローバル共創科学科\"] },\n\t{ name: \"地域創造学環\", subdivisions: [] },\n];\n\nconst masterSchools: readonly InstitutionEntry[] = [\n\t{\n\t\tname: \"人文社会科学研究科\",\n\t\tsubdivisions: keysOf(humanitiesMasterMajorCourses),\n\t},\n\t{\n\t\tname: \"総合科学技術研究科\",\n\t\tsubdivisions: keysOf(integratedSciTechMajorCourses),\n\t},\n\t{ name: \"山岳流域研究院\", subdivisions: [] },\n];\n\nconst doctoralSchools: readonly InstitutionEntry[] = [\n\t{ name: \"創造科学技術大学院\", subdivisions: [...creativeSciTechMajors] },\n\t{ name: \"教育学研究科\", subdivisions: [\"共同教科開発学専攻\"] },\n\t{ name: \"光医工学研究科\", subdivisions: [\"光医工学共同専攻\"] },\n];\n\nconst professionalSchools: readonly InstitutionEntry[] = [\n\t{ name: \"教育学研究科\", subdivisions: [\"教育実践高度化専攻\"] },\n];\n\nexport const UNIVERSITY_STRUCTURE = {\n\tundergraduate: {\n\t\tlabel: \"学士課程\",\n\t\tmaxYear: 4,\n\t\tinstitutions: undergraduateFaculties,\n\t},\n\tmaster: { label: \"修士課程\", maxYear: 2, institutions: masterSchools },\n\tdoctoral: { label: \"博士課程\", maxYear: 3, institutions: doctoralSchools },\n\tprofessional: {\n\t\tlabel: \"専門職学位課程\",\n\t\tmaxYear: 2,\n\t\tinstitutions: professionalSchools,\n\t},\n} as const;\n\n/** 課程区分 */\nexport type CourseType = keyof typeof UNIVERSITY_STRUCTURE;\n\n// ============================================================================\n// ヘルパー関数\n// ============================================================================\n\nexport function getInstitutions(courseType: CourseType): readonly InstitutionEntry[] {\n\treturn UNIVERSITY_STRUCTURE[courseType].institutions;\n}\n\n/**\n * 指定した機関の下位区分名を返す。\n * 簡易的なフラットリストのため、入学区分やコースなどの階層は含まない。\n * 正確な階層選択には getAffiliationSteps を使用すること。\n */\nexport function getSubdivisions(courseType: CourseType, institution: string): readonly string[] {\n\treturn getInstitutions(courseType).find((i) => i.name === institution)?.subdivisions ?? [];\n}\n\nexport function getMaxYear(courseType: CourseType): number {\n\treturn UNIVERSITY_STRUCTURE[courseType].maxYear;\n}\n\nexport function getCourseLabel(courseType: CourseType): string {\n\treturn UNIVERSITY_STRUCTURE[courseType].label;\n}\n\n// ============================================================================\n// 動的ステップ生成 — 学部ごとに異なる所属階層を表現\n// ============================================================================\n\nexport type AffiliationStep = {\n\treadonly field: string;\n\treadonly label: string;\n\treadonly options: readonly string[];\n};\n\n/**\n * 選択済みの値に基づいて、次に必要な選択ステップを返す。\n * 選択肢が1つしかない場合はそのステップも返す(UI側でauto-skip判断する)。\n */\nexport function getAffiliationSteps(\n\tcourseType: CourseType,\n\tselections: Readonly<Record<string, string>>,\n): AffiliationStep[] {\n\tswitch (courseType) {\n\t\tcase \"undergraduate\":\n\t\t\treturn getUndergraduateSteps(selections);\n\t\tcase \"master\":\n\t\t\treturn getMasterSteps(selections);\n\t\tcase \"doctoral\":\n\t\t\treturn getDoctoralSteps(selections);\n\t\tcase \"professional\":\n\t\t\treturn getProfessionalSteps(selections);\n\t}\n}\n\nfunction getUndergraduateSteps(s: Readonly<Record<string, string>>): AffiliationStep[] {\n\tconst steps: AffiliationStep[] = [];\n\tsteps.push({\n\t\tfield: \"faculty\",\n\t\tlabel: \"学部\",\n\t\toptions: undergraduateFaculties.map((f) => f.name),\n\t});\n\tif (!s.faculty) return steps;\n\n\tswitch (s.faculty) {\n\t\tcase \"人文社会科学部\":\n\t\t\tsteps.push({\n\t\t\t\tfield: \"enrollmentType\",\n\t\t\t\tlabel: \"入学区分\",\n\t\t\t\toptions: [\"昼間コース\", \"夜間主コース\"],\n\t\t\t});\n\t\t\tif (!s.enrollmentType) return steps;\n\t\t\tsteps.push({\n\t\t\t\tfield: \"department\",\n\t\t\t\tlabel: \"学科\",\n\t\t\t\toptions:\n\t\t\t\t\ts.enrollmentType === \"夜間主コース\"\n\t\t\t\t\t\t? [...humanitiesDepts.night]\n\t\t\t\t\t\t: [...humanitiesDepts.day],\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"教育学部\":\n\t\t\tsteps.push({\n\t\t\t\tfield: \"program\",\n\t\t\t\tlabel: \"課程\",\n\t\t\t\toptions: [\"学校教育教員養成課程\"],\n\t\t\t});\n\t\t\tif (!s.program) return steps;\n\t\t\tsteps.push({\n\t\t\t\tfield: \"major\",\n\t\t\t\tlabel: \"専攻\",\n\t\t\t\toptions: keysOf(educationMajors),\n\t\t\t});\n\t\t\tif (!s.major) return steps;\n\t\t\tif (s.major in educationMajors) {\n\t\t\t\tconst subs = educationMajors[s.major as keyof typeof educationMajors];\n\t\t\t\tif (subs.length > 0) {\n\t\t\t\t\tsteps.push({\n\t\t\t\t\t\tfield: \"subspecialty\",\n\t\t\t\t\t\tlabel: \"専修\",\n\t\t\t\t\t\toptions: [...subs],\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"情報学部\":\n\t\t\tsteps.push({\n\t\t\t\tfield: \"department\",\n\t\t\t\tlabel: \"学科\",\n\t\t\t\toptions: [...informaticsDepts],\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"理学部\":\n\t\t\tif (!s.course) {\n\t\t\t\tsteps.push({\n\t\t\t\t\tfield: \"department\",\n\t\t\t\t\tlabel: \"学科\",\n\t\t\t\t\toptions: [...scienceDepts],\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (!s.department) {\n\t\t\t\tsteps.push({\n\t\t\t\t\tfield: \"course\",\n\t\t\t\t\tlabel: \"コース\",\n\t\t\t\t\toptions: [...scienceCourses],\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"工学部\":\n\t\t\tsteps.push({\n\t\t\t\tfield: \"department\",\n\t\t\t\tlabel: \"学科\",\n\t\t\t\toptions: keysOf(engineeringDeptCourses),\n\t\t\t});\n\t\t\tif (!s.department) return steps;\n\t\t\tif (s.department in engineeringDeptCourses) {\n\t\t\t\tconst courses = engineeringDeptCourses[s.department as keyof typeof engineeringDeptCourses];\n\t\t\t\tif (courses.length > 0) {\n\t\t\t\t\tsteps.push({\n\t\t\t\t\t\tfield: \"course\",\n\t\t\t\t\t\tlabel: \"コース\",\n\t\t\t\t\t\toptions: [...courses],\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"農学部\":\n\t\t\tsteps.push({\n\t\t\t\tfield: \"department\",\n\t\t\t\tlabel: \"学科\",\n\t\t\t\toptions: keysOf(agricultureDeptCourses),\n\t\t\t});\n\t\t\tif (!s.department) return steps;\n\t\t\tif (s.department in agricultureDeptCourses) {\n\t\t\t\tconst courses = agricultureDeptCourses[s.department as keyof typeof agricultureDeptCourses];\n\t\t\t\tif (courses.length > 0) {\n\t\t\t\t\tsteps.push({\n\t\t\t\t\t\tfield: \"course\",\n\t\t\t\t\t\tlabel: \"コース\",\n\t\t\t\t\t\toptions: [...courses],\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"グローバル共創科学部\":\n\t\t\tsteps.push({\n\t\t\t\tfield: \"department\",\n\t\t\t\tlabel: \"学科\",\n\t\t\t\toptions: [\"グローバル共創科学科\"],\n\t\t\t});\n\t\t\tif (!s.department) return steps;\n\t\t\tsteps.push({\n\t\t\t\tfield: \"course\",\n\t\t\t\tlabel: \"コース\",\n\t\t\t\toptions: [...globalCoCreationCourses],\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"地域創造学環\":\n\t\t\tbreak;\n\t}\n\treturn steps;\n}\n\nfunction getMasterSteps(s: Readonly<Record<string, string>>): AffiliationStep[] {\n\tconst steps: AffiliationStep[] = [];\n\tsteps.push({\n\t\tfield: \"school\",\n\t\tlabel: \"研究科\",\n\t\toptions: masterSchools.map((sc) => sc.name),\n\t});\n\tif (!s.school) return steps;\n\n\tswitch (s.school) {\n\t\tcase \"人文社会科学研究科\": {\n\t\t\tsteps.push({\n\t\t\t\tfield: \"major\",\n\t\t\t\tlabel: \"専攻\",\n\t\t\t\toptions: keysOf(humanitiesMasterMajorCourses),\n\t\t\t});\n\t\t\tif (!s.major) return steps;\n\t\t\tif (s.major in humanitiesMasterMajorCourses) {\n\t\t\t\tconst courses =\n\t\t\t\t\thumanitiesMasterMajorCourses[s.major as keyof typeof humanitiesMasterMajorCourses];\n\t\t\t\tsteps.push({ field: \"course\", label: \"コース\", options: [...courses] });\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase \"総合科学技術研究科\": {\n\t\t\tsteps.push({\n\t\t\t\tfield: \"major\",\n\t\t\t\tlabel: \"専攻\",\n\t\t\t\toptions: keysOf(integratedSciTechMajorCourses),\n\t\t\t});\n\t\t\tif (!s.major) return steps;\n\t\t\tif (s.major in integratedSciTechMajorCourses) {\n\t\t\t\tconst courses =\n\t\t\t\t\tintegratedSciTechMajorCourses[s.major as keyof typeof integratedSciTechMajorCourses];\n\t\t\t\tsteps.push({ field: \"course\", label: \"コース\", options: [...courses] });\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase \"山岳流域研究院\":\n\t\t\tbreak;\n\t}\n\treturn steps;\n}\n\nfunction getDoctoralSteps(s: Readonly<Record<string, string>>): AffiliationStep[] {\n\tconst steps: AffiliationStep[] = [];\n\tsteps.push({\n\t\tfield: \"school\",\n\t\tlabel: \"研究科\",\n\t\toptions: doctoralSchools.map((sc) => sc.name),\n\t});\n\tif (!s.school) return steps;\n\n\tswitch (s.school) {\n\t\tcase \"創造科学技術大学院\":\n\t\t\tsteps.push({\n\t\t\t\tfield: \"major\",\n\t\t\t\tlabel: \"専攻\",\n\t\t\t\toptions: [...creativeSciTechMajors],\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"教育学研究科\":\n\t\t\tsteps.push({\n\t\t\t\tfield: \"major\",\n\t\t\t\tlabel: \"専攻\",\n\t\t\t\toptions: [\"共同教科開発学専攻\"],\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"光医工学研究科\":\n\t\t\tsteps.push({\n\t\t\t\tfield: \"major\",\n\t\t\t\tlabel: \"専攻\",\n\t\t\t\toptions: [\"光医工学共同専攻\"],\n\t\t\t});\n\t\t\tbreak;\n\t}\n\treturn steps;\n}\n\nfunction getProfessionalSteps(s: Readonly<Record<string, string>>): AffiliationStep[] {\n\tconst steps: AffiliationStep[] = [];\n\tsteps.push({ field: \"school\", label: \"研究科\", options: [\"教育学研究科\"] });\n\tif (!s.school) return steps;\n\tsteps.push({\n\t\tfield: \"major\",\n\t\tlabel: \"専攻\",\n\t\toptions: [\"教育実践高度化専攻\"],\n\t});\n\treturn steps;\n}\n"],"mappings":"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"}
|