/* This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ import {Layout, WordDefinition} from '../domain/layout'; const it_is: WordDefinition = {1: [1, 2, 4, 5]}; const half: WordDefinition = {4: [1, 2, 3, 4]}; const to: WordDefinition = {4: [10, 11]}; const past: WordDefinition = {5: [1, 2, 3, 4]}; const o_clock: WordDefinition = {10: [5, 6, 7, 8, 9, 10, 11]}; const five: WordDefinition = {3: [7, 8, 9, 10]}; const ten: WordDefinition = {4: [6, 7, 8]}; const a_quarter: WordDefinition = {2: [1, 3, 4, 5, 6, 7, 8, 9]}; const twenty: WordDefinition = {3: [1, 2, 3, 4, 5, 6]}; const twentyfive: WordDefinition = {3: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}; export const Layout_en: Layout = { code: 'en', getHour: (time: Date) => { const hour = time.getHours(); if (time.getMinutes() >= 35) { return (hour + 1) % 24; } return hour; }, hours: { '0,12': {9: [6, 7, 8, 9, 10, 11]}, '1,13': {6: [1, 2, 3]}, '2,14': {7: [9, 10, 11]}, '3,15': {6: [7, 8, 9, 10, 11]}, '4,16': {7: [1, 2, 3, 4]}, '5,17': {7: [5, 6, 7, 8]}, '6,18': {6: [4, 5, 6]}, '7,19': {9: [1, 2, 3, 4, 5]}, '8,20': {8: [1, 2, 3, 4, 5]}, '9,21': {5: [8, 9, 10, 11]}, '10,22': {10: [1, 2, 3]}, '11,23': {8: [6, 7, 8, 9, 10, 11]} }, letters: [ 'ITLISBFAMPM', 'ACQUARTERDC', 'TWENTYFIVEX', 'HALFBTENFTO', 'PASTERUNINE', 'ONESIXTHREE', 'FOURFIVETWO', 'EIGHTELEVEN', 'SEVENTWELVE', 'TENSO\'CLOCK' ], minutes: { '0,1,2,3,4': o_clock, '5,6,7,8,9': [five, past], '10,11,12,13,14': [ten, past], '15,16,17,18,19': [a_quarter, past], '20,21,22,23,24': [twenty, past], '25,26,27,28,29': [twentyfive, past], '30,31,32,33,34': [half, past], '35,36,37,38,39': [twentyfive, to], '40,41,42,43,44': [twenty, to], '45,46,47,48,49': [a_quarter, to], '50,51,52,53,54': [ten, to], '55,56,57,58,59': [five, to] }, permanent: it_is, prettyName: 'English', version: 2 }; $.fritteli.uhr.register(Layout_en); declare namespace $ { const fritteli: Fritteli.Fritteli; } declare namespace Fritteli { interface Fritteli { uhr: Uhr; } interface Uhr { register: (layout: Layout) => void; } }