UNPKG

openfl

Version:

A fast, productive library for 2D cross-platform development.

257 lines (239 loc) 10.3 kB
// Class: openfl.globalization._DateTimeFormatter.DateTimeFormatTokenizer var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this $global.Object.defineProperty(exports, "__esModule", {value: true}); var __map_reserved = {}; // Imports var $hxClasses = require("./../../../hxClasses_stub").default; var $hxEnums = require("./../../../hxEnums_stub").default; var $import = require("./../../../import_stub").default; function openfl_globalization__$DateTimeFormatter_DateTimeFormatToken() {return require("./../../../openfl/globalization/_DateTimeFormatter/DateTimeFormatToken");} function EReg() {return require("./../../../EReg");} function Type() {return require("./../../../Type");} function Std() {return require("./../../../Std");} // Constructor var DateTimeFormatTokenizer = function(){} // Meta DateTimeFormatTokenizer.__name__ = "openfl.globalization._DateTimeFormatter.DateTimeFormatTokenizer"; DateTimeFormatTokenizer.__isInterface__ = false; DateTimeFormatTokenizer.prototype = { }; DateTimeFormatTokenizer.prototype.__class__ = DateTimeFormatTokenizer.prototype.constructor = $hxClasses["openfl.globalization._DateTimeFormatter.DateTimeFormatTokenizer"] = DateTimeFormatTokenizer; // Init // Statics DateTimeFormatTokenizer.tokenize = function(format) { var tokens = []; var unquotedText = ""; var currentToken = null; var i = 0; while(i < format.length) { var char = format.charAt(i); ++i; if(currentToken != null) { if(currentToken._hx_index == 0) { var text = currentToken.text; if(char == "'") { var nextChar = i < format.length ? format.charAt(i) : null; if(nextChar == "'") { currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Text(text + char); ++i; } else { tokens.push(currentToken); currentToken = null; } } else { currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Text(text + char); } continue; } } var newToken; switch(char) { case "'": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Text(""); break; case "D": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).DayOfYear(1); break; case "E": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Weekday(1); break; case "F": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).DayOfWeekOccurence; break; case "G": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Era(1); break; case "H": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Hour23(1); break; case "K": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Hour11(1); break; case "M": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Month(1); break; case "Q": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Quarter(1); break; case "S": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Millisecond(1); break; case "W": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).WeekOfMonth; break; case "Z": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).TimeZoneOffset(1); break; case "a": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).AMPM; break; case "d": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Date(1); break; case "h": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Hour12(1); break; case "k": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Hour24(1); break; case "m": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Minute(1); break; case "s": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Second(1); break; case "v": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).TimeZone(1); break; case "w": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).WeekOfYear(1); break; case "y": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Year(1); break; case "z": newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).TimeZoneDST(1); break; default: if(new (EReg().default)("^[A-Za-z]$","").match(char)) { newToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Invalid(char); } else { unquotedText += char; newToken = null; } } if(newToken != null && unquotedText.length > 0) { tokens.push((openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Text(unquotedText)); unquotedText = ""; } if(currentToken != null && newToken != null && (Type().default).enumConstructor(newToken) == (Type().default).enumConstructor(currentToken)) { switch(currentToken._hx_index) { case 0: var text1 = currentToken.text; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Invalid(text1); break; case 1: var text2 = currentToken.text; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Invalid(text2); break; case 2: var length = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Weekday((Std().default).int(Math.min(5,length + 1))); break; case 3: var length1 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Era((Std().default).int(Math.min(5,length1 + 1))); break; case 4: var length2 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Year((Std().default).int(Math.min(5,length2 + 1))); break; case 5: var length3 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Month((Std().default).int(Math.min(5,length3 + 1))); break; case 6: var length4 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Date((Std().default).int(Math.min(2,length4 + 1))); break; case 7: var length5 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Quarter((Std().default).int(Math.min(4,length5 + 1))); break; case 8: var length6 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).WeekOfYear((Std().default).int(Math.min(2,length6 + 1))); break; case 9: currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).WeekOfMonth; break; case 10: var length7 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).DayOfYear((Std().default).int(Math.min(3,length7 + 1))); break; case 11: currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).DayOfWeekOccurence; break; case 12: currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).AMPM; break; case 13: var length8 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Hour11((Std().default).int(Math.min(2,length8 + 1))); break; case 14: var length9 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Hour12((Std().default).int(Math.min(2,length9 + 1))); break; case 15: var length10 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Hour23((Std().default).int(Math.min(2,length10 + 1))); break; case 16: var length11 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Hour24((Std().default).int(Math.min(2,length11 + 1))); break; case 17: var length12 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Minute((Std().default).int(Math.min(2,length12 + 1))); break; case 18: var length13 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Second((Std().default).int(Math.min(2,length13 + 1))); break; case 19: var length14 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Millisecond((Std().default).int(Math.min(5,length14 + 1))); break; case 20: var length15 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).TimeZone((Std().default).int(Math.min(4,length15 + 1))); break; case 21: var length16 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).TimeZoneDST((Std().default).int(Math.min(4,length16 + 1))); break; case 22: var length17 = currentToken.length; currentToken = (openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).TimeZoneOffset((Std().default).int(Math.min(4,length17 + 1))); break; } } else { if(currentToken != null) { tokens.push(currentToken); } currentToken = newToken; } } if(currentToken != null) { tokens.push(currentToken); currentToken = null; } if(unquotedText.length > 0) { tokens.push((openfl_globalization__$DateTimeFormatter_DateTimeFormatToken().default).Text(unquotedText)); unquotedText = ""; } return tokens; } // Export exports.default = DateTimeFormatTokenizer;