//************************* FILE HEAD *************************// //==========================================================================================// // [ DEPENDENCIES ] //==========================================================================================// //-------------------------------------------// // [ DEFAULT ] //-------------------------------------------// const neg = -1; const nil = 0; const pos = 1; const two = 2; const three = 3; const tri = 3; const four = 4; const qua = 4; const five = 5; const qui = 5; const hex = 6; const sev = 7; const oct = 8; const nin = 9; const ten = 10; const pi = 3.14159; const hun = 100; const abs = 'absolute'; const all = 'all'; const auto = 'auto'; const block = 'block'; const bracket_c = ']'; const bracket_o = '['; const breakl = ''; const buffer = 'buffer'; const click = 'click'; const col = 'column'; const collapse = 'collapse'; const colon = ':'; const comma = ','; const curly_c = '}'; const curly_o = '{'; const dash = '-'; const decimal = '.'; const element = 'DIV'; const empty = ''; const endl = '\r\n'; const epoch = 1000; const equals = '='; const expand = 'expand'; const fade = 'fade'; const fixed = 'fixed'; const fixedGlobal = 'fixed-global'; const fixedLocal = 'fixed-local'; const flex = 'flex'; const forward = 'forwards'; const full = '100%'; const fulli = '-100%'; const gradient = 'gradient'; const half = 0.5; const hashtag = '#'; const hide = 'hidden'; const highlight = 'highlight'; const home = 'www'; const hover = 'hover'; const id = 'id'; const index = 'index'; const infinite = 'infinite'; const inherit = 'inherit'; const initial = 'initial'; const inline = 'inline'; const inlineblock = 'inline-block'; const inset = 'inset'; const jsx = '.jsx'; const jump = '___'; const kernel = 'kernel'; const magic = 'magic'; const Na = 'none'; const newl = '\n'; const npixel = '0px'; const opixel = '1px'; const parenth_c = ')'; const parenth_o = '('; const percent = '%'; const pixel = 'px'; const pointer = 'pointer'; const qmark = '?'; const quarter = 0.25; const quote_d = '\"'; const quote_s = '\''; const redirect = 'redirect'; const refer = 'refer'; const relative = 'relative'; const routes = 'routes'; const row = 'row'; const scale = 'scale'; const scroll_ = 'scroll'; const scaleOffset = 1.025; const show = 'visible'; const slashb = '\\'; const slashf = '/'; const semicolon = ';'; const solid = 'solid'; const space = ' '; const split = ' | '; const static = 'static'; const sticky = 'sticky'; const tab = '\t'; const text = 'text'; const total = 100; const tpixel = '2px'; const underscore = '_'; const alpha = { a: 'a', b: 'b', c: 'c', d: 'd', e: 'e', f: 'f', g: 'g', h: 'h', i: 'i', j: 'j', k: 'k', l: 'l', m: 'm', n: 'n', o: 'o', p: 'p', q: 'q', r: 'r', s: 's', t: 't', u: 'u', v: 'v', w: 'w', x: 'x', y: 'y', z: 'z', }; const color = { black: '#191919', blue: '#4db8ff', clear: 'transparent', gray: 'lightgray', grayLight: '#e6e6e6', white: 'white', }; const delay = { cycle: 1024, fading: 512, invoke: 256, loading: 16, offset: 1024, resize: 512, }; const direct = { b: 'bottom', c: 'center', h: 'horizontal', l: 'left', r: 'right', t: 'top', v: 'vertical' }; const events = { moveto: { beg: 'translate(', end: 'px)', mid: 'px,', origin: 'translate(0px,0px)' }, rotate: { beg: 'rotate(', end: 'deg)' }, fade: { x: { in:'translate( 100%, 0% )', out:'translate(-100%, 0%)', }, y: { in:'translate( 0%, -100%)', out:'translate( 0%, 100%)', } } }; const fraction = { x02x50: 0.025, x25x00: 0.25, x50x00: 0.5, x95x00: 0.95, }; const percentage = { x02x50: '2.5%', x15x00: '15%', x20x00: '20%', x25x00: '25%', x30x00: '30%', x35x00: '35%', x40x00: '40%', x50x00: '50%', x60x00: '60%', x95x00: '95%', }; const system = { action: { fade: 'fade', highlight: 'highlight', }, config: { pause: 'paused', pulse: '1s ease 0s 1 normal forwards running pulse', run: 'running', }, error: { compat: 'keyword incompatible with module', denied: 'action denied', duplicate: 'duplicate item found - import skipped', ext: 'invalid extension', fail: 'action failed', failed: 'failed to load', focus: 'object fetch failed', format: 'invalid format', ignore: 'request ignored', kernel: 'kernel not found', keyword: 'invalid keyword', mismatch: 'mismatched parameters', missfire: 'missfire', module: 'invalid module', oor: 'out-of-range argument', param: 'invalid parameter type/keyword', program: 'program failed to load', require: 'missing requirements', token: { attach: 'token-attach-failed', buffer: 'token-buffer-failed', detach: 'token-detach-failed', join: 'token-join-failed', load: 'token-load-failed' }, type: 'unmet strict-parameter-type', udf: 'undefined', unknown: 'keyword not known', }, event: { fade: 'fade', highlight: 'highlight', underline: 'underline', }, ext: { maxidx: 5, maxlen: 4, minidx: 4, minlen: 3, }, major: { atlas: 'atlas', chronicle: 'chronicle', client: 'cache', client: 'client', config: 'config', driver: 'driver', linker: 'linker', loadbar: 'loadbar', main: 'main', manifest: 'manifest', network: 'network', program: 'program', registry: 'registry', runware: 'runware', scheduler: 'scheduler', source: 'source', stack: 'stack', thread: 'thread', token: 'token', worker: 'worker', }, minor: { animate: 'animation', buffer: 'buffer', dropselect: 'dropselect', event: 'event', form: 'form', format: 'format', graphic: 'graphic', init: 'constructor', kill: 'shutdown', launch: 'launch', math: 'math', memory: 'memory', merge: 'merge', module: 'module', parse: 'parse', redir: 'redirect', result: 'result', route: 'route', get routes() { return routes; }, sched: 'schedule', string: 'string', style: 'styles', type: 'type', update: 'update', }, proto: { align: 'text-align', anchor: 'anchor', append: 'append', assets: 'assets', attach: 'attach', cache: 'cache', click: 'click', client: 'client', collapse: 'collapse', config: 'config', copy: 'copy', dims: 'dimension', ease: 'ease-in-out', elapse: 'all 0.5s ease-in-out', enter: 'enter', entry: 'entries', export: 'export', expand: 'expand', format: 'format', import: 'import', get index() { return index; }, init: 'initial', invoke: 'invoke', jsx: 'jsx', jsxType: 'type/javascript', leave: 'leave', label: 'labels', onselect: 'onselect', opacity: 'opacity', options: 'options', pad: 'padding', pair: 'pair', pos: 'position', pulse: 'pulse', rotate: 'rotate', scroll: 'scroll', select: 'select', show: 'show', size: 'size', source: 'source', static: 'static', stroke: 'stroke', styles: 'styles', submit: 'submit', symbol: 'symbol', text: 'text', tokens: 'tokens', transfer: 'transfer', update: 'update', }, style: { border: 'border', color: 'color', padding: 'padding', radius: 'radius', size: 'size', style: 'style', }, }; const type = new class { get bool() { return nil; } get int() { return pos; } get string() { return two; } get array() { return tri; } get object() { return qua; } get function() { return qui; } get node() { return hex; } //: 1, //: 2, //array: 3, //object: 4, //function: 5, //node: 6, }; const CS_TYPESTR_B = 'boolean'; const CS_TYPESTR_F = 'function'; const CS_TYPESTR_N = 'number'; const CS_TYPESTR_O = 'object'; const CS_TYPESTR_S = 'string'; const typestr = new class { get bool() { return CS_TYPESTR_B; } get int() { return CS_TYPESTR_N; } get string() { return CS_TYPESTR_S; } get object() { return CS_TYPESTR_O; } get function() { return CS_TYPESTR_F; } }; //==========================================================================================// // [ DECLARATION ]: GLOBALS //==========================================================================================// const COVASCRIPT_DEF_CSS = ''; const COVASCRIPT_DEF_SRC = document.getElementById( 'covascript' ).src.substr( 0, document.getElementById( 'covascript' ).src.indexOf( 'public' ) ); const cvl = { typeof( VAR ) { switch( typeof VAR ) { case typestr.object: if( VAR.length != undefined ) { return type.array; } return type.object; case typestr.string: return type.string; case typestr.int: return type.int; case typestr.bool: return type.bool; case typestr.function: return type.function; } return neg; }, typecheck( VAR, KEY ) { switch( typeof VAR ) { case typestr.object: if( VAR.length != undefined ) { return ( KEY == type.array ); } return ( KEY == type.object ); case typestr.string: return ( KEY == type.string ); case typestr.int: return ( KEY == type.int ); case typestr.bool: return ( KEY == type.bool ); case typestr.function: return ( KEY == type.function ); } return false; }, typequery( OBJ, KEY ) { if( typeof OBJ == typestr.object ) { if( OBJ.length != undefined ) { for( var i = nil; i < OBJ.length; ++i ) { if( this.typeof( OBJ[ i ] ) != KEY ) { return false; } } } else { for( var i in OBJ ) { if( this.typeof( OBJ[ i ] ) != KEY ) { return false; } } } return true; } return this.typecheck( OBJ, KEY ); }, }; //-------------------------------------------// // [ Globals ]: System (CovaScript) //-------------------------------------------// const cache = new Object; const firmware = { browser: undefined, device: undefined, display: undefined, keyboard: undefined, mouse: undefined, window: undefined, }; //-------------------------------------------// // [ Globals ]: Client (Website) //-------------------------------------------// // COVASCRIPT // const covascript = { //-------------------------------------------// // [ A ] //-------------------------------------------// //-------------------------------------------// // [ B ] //-------------------------------------------// //======================================================================// // [ Class ]: Binares // [ Status ]: Complete (ongoing) // [ Tested ]: Yes // [ Sizeof ]: ...b // [ Author ]: Robert (Danial) Hickman // [ Architect ]: Robert (Danial) Hickman // [ Last-Update ]: 00/00/0000 // [ Description ]: // //======================================================================// binares: { // [ A ] // [ B ] // [ C ] // [ D ] // [ E ] // [ F ] // [ G ] // [ H ] // [ I ] // [ J ] // [ K ] // [ L ] // [ M ] // [ N ] // [ O ] // [ P ] // [ Q ] // [ R ] // [ S ] // [ T ] // [ U ] // [ V ] // [ W ] // [ X ] // [ Y ] // [ Z ] }, //-------------------------------------------// // [ C ] //-------------------------------------------// //-------------------------------------------// // [ D ] //-------------------------------------------// //-------------------------------------------// // [ E ] //-------------------------------------------// //-------------------------------------------// // [ F ] //-------------------------------------------// //======================================================================// // [ Library ]: Firmware // [ Status ]: Complete (ongoing) // [ Tested ]: Yes // [ Sizeof ]: ...b // [ Author ]: Robert (Danial) Hickman // [ Architect ]: Robert (Danial) Hickman // [ Last-Update ]: 00/00/0000 // [ Description ]: // //======================================================================// firmware: { // [ A ] // [ B ] // [ C ] // [ D ] device: undefined, display: undefined, // [ E ] // [ F ] // [ G ] // [ H ] // [ I ] // [ J ] // [ K ] keyboard: undefined, // [ L ] // [ M ] mouse: undefined, // [ N ] // [ O ] // [ P ] // [ Q ] // [ R ] // [ S ] // [ T ] // [ U ] // [ V ] // [ W ] // [ X ] // [ Y ] // [ Z ] browser: undefined, window: undefined, }, //-------------------------------------------// // [ G ] //-------------------------------------------// //-------------------------------------------// // [ H ] //-------------------------------------------// //-------------------------------------------// // [ I ] //-------------------------------------------// //-------------------------------------------// // [ J ] //-------------------------------------------// //-------------------------------------------// // [ K ] //-------------------------------------------// //======================================================================// // [ Class ]: Kernel // [ Status ]: Complete (ongoing) // [ Tested ]: Yes // [ Sizeof ]: ...b // [ Author ]: Robert (Danial) Hickman // [ Architect ]: Robert (Danial) Hickman // [ Last-Update ]: 00/00/0000 // [ Description ]: // //======================================================================// kernel: { // [ A ] // [ B ] // [ C ] // [ D ] // [ E ] // [ F ] // [ G ] // [ H ] // [ I ] // [ J ] // [ K ] // [ L ] // [ M ] // [ N ] // [ O ] // [ P ] // [ Q ] // [ R ] // [ S ] // [ T ] // [ U ] // [ V ] // [ W ] // [ X ] // [ Y ] // [ Z ] }, //-------------------------------------------// // [ L ] //-------------------------------------------// //-------------------------------------------// // [ M ] //-------------------------------------------// //-------------------------------------------// // [ N ] //-------------------------------------------// //-------------------------------------------// // [ O ] //-------------------------------------------// //-------------------------------------------// // [ P ] //-------------------------------------------// //-------------------------------------------// // [ Q ] //-------------------------------------------// //-------------------------------------------// // [ R ] //-------------------------------------------// //-------------------------------------------// // [ S ] //-------------------------------------------// //-------------------------------------------// // [ T ] //-------------------------------------------// //-------------------------------------------// // [ U ] //-------------------------------------------// //-------------------------------------------// // [ V ] //-------------------------------------------// //-------------------------------------------// // [ W ] //-------------------------------------------// //-------------------------------------------// // [ X ] //-------------------------------------------// //-------------------------------------------// // [ Y ] //-------------------------------------------// //-------------------------------------------// // [ Z ] //-------------------------------------------// modules: undefined, }; const client = { cache: undefined, // CLIENT SITE CACHED DATA config: undefined, // CLIENT SITE IMPORT devmode: { // CLIENT CONFIGURATION SETTING (For Testing Purposes w/i Dev Environments) notifications: false, status: false, }, }; //==========================================================================================// // [ DECLARATION ]: MAIN //==========================================================================================// //======================================================================// // [ CLASS ]: covaMAIN_t // [ DEV STATUS ]: Incomplete // [ TESTED ]: No // [ ARCHITECT ]: Danial Hickman // [ AUTHOR ]: Danial Hickman // [ LAST REVISION ]: 10/22/2020 //======================================================================// const main = new class { //======================================================================// // [ PUBLIC ]: CONSTRUCTOR/DESTRUCTOR //======================================================================// //-------------------// //--- CONSTRUCTOR ---// //-------------------// constructor() { //-------------------------------------------// // [ PUBLIC ]: MEMORY ALLOCATION //-------------------------------------------// this.buffer = new Object; //======================================================================// // [ INIT ] //======================================================================// this.self = new class { constructor() { //-------------------------------------------// // [ CONFIG ]: INTERNAL PRESETS //-------------------------------------------// this.REGISTRY = { SYSTEM: { BINARIES: [ //"Canvas", "Linker", "Script", "Style", "Member", ], FIRMWARE: [ "Bank", "Browser", "Device", "Display", "Keyboard", "Mouse", "Ram", "Thread", "Window", ], KERNEL: [ //"Audio", //"Calendar", "Cell", "Chart", //"Clock", //"Dropdown", "Dropselect", //"Editor", "Element", //"Explorer", "Form", "Graph", "Image", "Index", "Input", "Item", "Link", "List", //"Media", //"Popup", "Row", //"Search", //"Slideshow", "Svg", "Table", "Text", "Textarea", "Video", ], RUNWARE: [ "Atlas", "Buffer", "Column", "Config", "Domain", 'Extract', "Format", "Grid", "Label", "Math", "Memory", "Parse", "Row", "Runtime", "Sort", "String", "Validate", ], SYSTEMS: [ "Cache", "Chronicle", "Client", "Console", "Gateway", "Linker", "Loadbar", "Manifest", "Notice", "Overlay", "Page", "Program", "Scheduler", "Stack", "Worker", ], }, SCRIPT: { INDEX: COVASCRIPT_DEF_SRC + 'private', MAJOR: 'COVASCRIPT', MINOR: '___', PROTO: '.jsx', TAG: 'script', TYPE: 'text/javascript', }, }; //-------------------------------------------// // [ self ]: MEMORY ALLOCATION //-------------------------------------------// this.buffer = new Array( new String, new String, ); this.linker = document.createElement( system.major.linker ); this.linker.source = home; document.head.append( this.linker ); } //-------------------------------------------// // [ self ]: FUNCTIONS //-------------------------------------------// checkin() { --window.progress; }; import( Nx0 ) { //=== LOCAL MEMORY ===// var xN; //=== TASK IMPLEMENTATION ===// xN = document.createElement( this.REGISTRY.SCRIPT.TAG ); xN.type = this.REGISTRY.SCRIPT.TYPE; xN.src = new String( this.buffer[ nil ] ); xN.src += Nx0[ nil ]; xN.src += slashf; xN.src += this.buffer[ pos ]; xN.src += Nx0; xN.src += this.REGISTRY.SCRIPT.PROTO; xN.async = true; xN.onload = this.checkin; this.linker.append( xN ); }; import_Config( Nx0 ) { //=== LOCAL MEMORY ===// var xN; //=== TASK IMPLEMENTATION ===// ++window.progress; xN = document.createElement( this.REGISTRY.SCRIPT.TAG ); xN.type = this.REGISTRY.SCRIPT.TYPE; xN.src = ( system.proto.client + slashf + system.proto.config + slashf + Nx0 + decimal + system.proto.jsx ); xN.async = true; xN.onload = this.checkin; this.linker.append( xN ); }; launch() { if( window.progress == nil ) { clearInterval( window.timing ); // COVASCRIPT VIRTUAL LIBRARY // cvl.atlas = new covaATLAS_t, cvl.buffer = new covaBuffer_t; cvl.column = new covaCOL_t; cvl.config = new covaConfig_t; cvl.domain = new covaDomain_t; cvl.extract = new covaExtract_t; cvl.format = new covaFormat_t; cvl.grid = new covaGRID_t; cvl.label = new covaLabel_t; cvl.math = new covaMath_t; cvl.memory = new covaMemory_t; cvl.parse = new covaParse_t; cvl.row = new covaROW_t; cvl.runtime = new covaRuntime_t; cvl.sort = new covaSORT_t; cvl.string = new covaString_t; cvl.validate = new covaValidate_t; firmware.browser = new covaBrowser_t; //firmware.cache = new covaCache_t; firmware.device = new covaDevice_t; firmware.display = new covaDisplay_t; firmware.keyboard = new covaKeyboard_t; firmware.mouse = new covaMouse_t; firmware.window = new covaWindow_t; cache.token = new covaCache_t; covascript.kernel.linker = COVASCRIPT_KERNEL_LINKER_OBJ; window.system = { cache: undefined, chronicle: new covaChronicle_t, console: undefined, gateway: new covaGateway_t, linker: undefined, manifest: new covaManifest_t, notice: new covaNotice_t, overlay: new covaOverlay_t, scheduler: new covaScheduler_t, stack: new covaStack_t, }; window.system.console = new covaConsole_t( window.system.notice ); window.system.cache = new covaRAM_t( window.registry ); window.registry.cache = window.system.cache; window.system.linker = new covaLinker_t( window.registry.atlas, window.system.cache ); window.registry.linker = window.system.linker; window.system.scheduler.attach( new covaWorker_t ); //window.system.scheduler.attach( new covaWorker_t ); window.system.scheduler.launch(); window.loadbar = new covaLoadbar_t; window.client = new covaClient_t( client.config ); //window.system.gateway.launch(); // CLEANUP delete window.buffer; delete window.progress; delete window.timing; delete main.self.REGISTRY.SYSTEM; delete main.self.REGISTRY.SCRIPT; } }; } //======================================================================// // [ ASSIGNMENT ] //======================================================================// //=== LOCAL MEMORY ===// var aN; var bN; //=== TASK IMPLEMENTATION ===// if( window.history.length > two ) { window.history.go( pos ); } window.progress = new Number; window.registry = { atlas: new Object, cache: undefined, events: undefined, kernel: new Object, styles: new Object, config_Axis_X( MOD ) { MOD.style.display = inlineblock; MOD.style.position = system.proto.static; }, config_Axis_X_Pos( MOD, PAD ) { //=== LOCAL MEMORY ===// var xN; //=== TASK IMPLEMENTATION ===// xN = PAD; for( var i = nil; i < MOD.children.length; ++i ) { MOD.children[ i ].style.left = ( xN + pixel ); xN += cvl.parse.pixel( MOD.children[ i ].style.width ); } }, config_Axis_Y( MOD ) { MOD.style.display = block; MOD.style.position = system.proto.static; }, config_Axis_Y_Pos( MOD ) { //=== LOCAL MEMORY ===// var xN; //=== TASK IMPLEMENTATION ===// xN = PAD; for( var i = nil; i < MOD.children.length; ++i ) { MOD.children[ i ].style.top = ( xN + pixel ); xN += cvl.parse.pixel( MOD.children[ i ].style.height ); } }, config_Border( MOD, STYLE, COLOR, SIZE ) { MOD.style.borderStyle = STYLE; MOD.style.borderColor = COLOR; MOD.style.borderWidth = ( SIZE + pixel ); }, config_Border_Bottom( MOD, STYLE, COLOR, SIZE ) { MOD.style.borderBottomStyle = STYLE; MOD.style.borderBottomColor = COLOR; MOD.style.borderBottomWidth = ( SIZE + pixel ); }, config_Border_Left( MOD, STYLE, COLOR, SIZE ) { MOD.style.borderLeftStyle = STYLE; MOD.style.borderLeftColor = COLOR; MOD.style.borderLeftWidth = ( SIZE + pixel ); }, config_Border_Right( MOD, STYLE, COLOR, SIZE ) { MOD.style.borderRightStyle = STYLE; MOD.style.borderRightColor = COLOR; MOD.style.borderRightWidth = ( SIZE + pixel ); }, config_Border_Top( MOD, STYLE, COLOR, SIZE ) { MOD.style.borderTopStyle = STYLE; MOD.style.borderTopColor = COLOR; MOD.style.borderTopWidth = ( SIZE + pixel ); }, config_Color( MOD, COLOR ) { if( COLOR.indexOf( gradient ) == neg ) { MOD.style.backgroundColor = COLOR; } else { MOD.style.background = COLOR; } }, config_Coords( MOD, X, Y ) { switch( cvl.typeof( X ) ) { case type.string: MOD.style.left = X; break; case type.int: MOD.style.left = ( X + pixel ); break; } switch( cvl.typeof( Y ) ) { case type.string: MOD.style.top = Y; break; case type.int: MOD.style.top = ( Y + pixel ); break; } }, config_Coords_Inverse( MOD, X, Y ) { switch( cvl.typeof( X ) ) { case type.string: MOD.style.right = X; break; case type.int: MOD.style.right = ( X + pixel ); break; } switch( cvl.typeof( Y ) ) { case type.string: MOD.style.bottom = Y; break; case type.int: MOD.style.bottom = ( Y + pixel ); break; } }, config_Display( MOD, ARG ) { MOD.style.display = ARG; }, config_Event_Clear( MOD ) { MOD.style.transition = empty; MOD.style.transform = empty; }, config_Event_Elapse( MOD, DURATION ) { MOD.style.transition = ( all + space + DURATION + alpha.s + space + system.proto.ease ); }, config_Event_Moveto( MOD, OFFSET_X, OFFSET_Y ) { if( MOD.style.transform != empty ) { MOD.style.transform = ( space + events.movoto + parenth_o + ( OFFSET_X + pixel ) + comma + ( OFFSET_Y + pixel ) + parenth_c ); } else { MOD.style.transform = ( events.movoto + parenth_o + ( OFFSET_X + pixel ) + comma + ( OFFSET_Y + pixel ) + parenth_c ); } }, config_Event_Reset( MOD ) { MOD.style.transform = empty; }, config_Input_Align( MOD, DIRECT ) { MOD = MOD.covaChild != undefined ? MOD.covaChild : MOD; MOD.style.textAlign = DIRECT; }, config_Input_Locked( MOD, BOOL ) { MOD = MOD.covaChild != undefined ? MOD.covaChild : MOD; MOD.disabled = BOOL; }, config_Input_Placeholder( MOD, ARG ) { MOD = MOD.covaChild != undefined ? MOD.covaChild : MOD; switch( MOD.style.textAlign ) { case direct.r: switch( cvl.typeof( ARG ) ) { case type.int: MOD.placeholder = ARG.toString().padEnd( five, space ); break; case type.string: MOD.placeholder = ARG.padEnd( five, space ); break; } break; case direct.l: switch( cvl.typeof( ARG ) ) { case type.int: MOD.placeholder = ARG.toString().padStart( two, space ); break; case type.string: MOD.placeholder = ARG.padStart( two, space ); break; } break; default: switch( cvl.typeof( ARG ) ) { case type.int: MOD.placeholder = ARG.toString(); break; case type.string: MOD.placeholder = ARG; break; } break; } }, config_Input_Require( MOD, ARG ) { MOD = MOD.covaChild != undefined ? MOD.covaChild : MOD; MOD.covaRequire = ARG; }, config_Input_Required( MOD ) { MOD = MOD.covaChild != undefined ? MOD.covaChild : MOD; if( MOD.covaRequire != undefined ) { return MOD.covaChild.covaRequire; } return false; }, config_Input_Value( MOD, ARG ) { MOD = MOD.covaChild != undefined ? MOD.covaChild : MOD; switch( MOD.style.textAlign ) { case direct.r: switch( cvl.typeof( ARG ) ) { case type.int: MOD.value = ARG.toString().padEnd( two, space ); break; case type.string: MOD.value = ARG.padEnd( two, space ); break; } break; default: switch( cvl.typeof( ARG ) ) { case type.int: MOD.value = ARG.toString().padStart( two, space ); break; case type.string: MOD.value = ARG.padStart( two, space ); break; } break; } }, config_Opacity( MOD, OFFSET ) { MOD.style.opacity = OFFSET; }, config_Overflow( MOD, BOOL ) { if( BOOL ) { MOD.style.overflow = system.proto.scroll; } else { MOD.style.overflow = hide; } }, config_Size( MOD, X, Y ) { if( cvl.typeof( X ) == type.int ) { MOD.style.width = ( X + pixel ); } else { MOD.style.width = X; } if( cvl.typeof( Y ) == type.int ) { MOD.style.height = ( Y + pixel ); } else { MOD.style.height = Y; } }, config_Text_Align( MOD, ARG ) { MOD.covaText.style.textAlign = ARG; }, config_Text_Value( MOD, ARG ) { MOD.covaText.style.innerHTML = ARG; }, }; window.viewport = { minHeight: '100vh', minWidth: '100vw', }; aN = this.self.REGISTRY; for( var key in aN.SYSTEM ) { bN = aN.SYSTEM[ key ]; window.progress += bN.length; this.self.buffer[ nil ] = ( aN.SCRIPT.INDEX + slashf + key.toLowerCase() + slashf ); this.self.buffer[ pos ] = ( aN.SCRIPT.MAJOR + underscore + key + aN.SCRIPT.MINOR ); for( var i = nil; i < bN.length; ++i ) { this.self.import( bN[ i ] ); } } this.self.import_Config( system.proto.config ); this.self.import_Config( system.proto.styles ); this.self.import_Config( system.proto.cache ); window.timing = setInterval( this.self.launch, 100 ); document.head.innerHTML += COVASCRIPT_DEF_CSS; } //======================================================================// // [ PUBLIC ]: FUNCTIONS //======================================================================// //-------------------------------------------// // [ A ] //-------------------------------------------// asset( Nx0, Nx1 ) { Nx0.src = ( system.proto.client + slashf + system.proto.source + slashf + this.self.linker.source + slashf + system.proto.assets + slashf + Nx1 ); }; //-------------------------------------------// // [ B ] //-------------------------------------------// //-------------------------------------------// // [ C ] //-------------------------------------------// //-------------------------------------------// // [ D ] //-------------------------------------------// //-------------------------------------------// // [ E ] //-------------------------------------------// error( HEADER, PROTOCOL = undefined, ERROR_MESSAGE = undefined ) { window.system.console.error( HEADER, PROTOCOL, ERROR_MESSAGE ); }; //-------------------------------------------// // [ F ] //-------------------------------------------// fatal( HEADER, PROTOCOL = undefined, ERROR_MESSAGE = undefined ) { window.system.console.fatal( HEADER, PROTOCOL, ERROR_MESSAGE ); }; //-------------------------------------------// // [ G ] //-------------------------------------------// //-------------------------------------------// // [ H ] //-------------------------------------------// //-------------------------------------------// // [ I ] //-------------------------------------------// //-------------------------------------------// // [ J ] //-------------------------------------------// //-------------------------------------------// // [ K ] //-------------------------------------------// //-------------------------------------------// // [ L ] //-------------------------------------------// log( HEADER, PROTOCOL = undefined, ERROR_MESSAGE = undefined ) { window.system.console.log( HEADER, PROTOCOL, ERROR_MESSAGE ); }; //-------------------------------------------// // [ M ] //-------------------------------------------// //-------------------------------------------// // [ N ] //-------------------------------------------// //-------------------------------------------// // [ O ] //-------------------------------------------// //-------------------------------------------// // [ P ] //-------------------------------------------// //-------------------------------------------// // [ Q ] //-------------------------------------------// //-------------------------------------------// // [ R ] //-------------------------------------------// //-------------------------------------------// // [ S ] //-------------------------------------------// schedule( KERNEL, PARAMS, TIMEOUT = undefined ) { window.system.scheduler.queue( KERNEL, PARAMS, TIMEOUT ); }; schedule_Block( Nx0 ) { switch( Nx0.length ) { case nil: return; case pos: window.system.scheduler.queue( Nx0[ nil ][ nil ], Nx0[ nil ][ pos ] ); break; default: window.system.scheduler.queue_Block( Nx0 ); break; } }; schedule_Low_Priority( KERNEL, PARAMS, TIMEOUT = undefined ) { window.system.scheduler.queue_Low_Priority( KERNEL, PARAMS, TIMEOUT ); }; //-------------------------------------------// // [ T ] //-------------------------------------------// //-------------------------------------------// // [ U ] //-------------------------------------------// //-------------------------------------------// // [ V ] //-------------------------------------------// //-------------------------------------------// // [ W ] //-------------------------------------------// warn( HEADER, PROTOCOL = undefined, ERROR_MESSAGE = undefined ) { window.system.console.warn( HEADER, PROTOCOL, ERROR_MESSAGE ); }; //-------------------------------------------// // [ X ] //-------------------------------------------// //-------------------------------------------// // [ Y ] //-------------------------------------------// //-------------------------------------------// // [ Z ] //-------------------------------------------// }; //==========================================================================================// // [ DECLARATION ]: MAIN //==========================================================================================// var cvs = undefined; var vec = [ 0, 400, 70, 100, 140, 280, 210, 240, 280, 200, 350, 300, 420, 180, 490, 240, 560, 120, 630, 80, 700, 160, 770, 220, ]; // script -> client -> program -> driver -> // loadbar -> const clientImportCacheDataKernel = new Array( undefined, // bool undefined, // int function( NODE, DATA ) { let t = { text: { value: DATA } }; window.system.linker.build( NODE, t ); }, // string function( NODE, DATA ) { let t = { import: DATA }; window.system.linker.build( NODE, t ); }, // array undefined, // object undefined, // function ); function MAIN() { setInterval( function() { if( client.cache != undefined ) { for( let i in client.cache ) { if( cvl.typeof( client.cache[ i ] ) == type.object ) { let data = client.cache[ i ]; for( let key in data ) { let n = document.getElementById( key ); if( ( n != undefined ) && ( n.kernel != undefined ) ) { cvl.runtime.invoke_Kernel( n, clientImportCacheDataKernel, data[ key ] ); delete data[ key ]; } } } } } //window.system.notice.message( 'You have successfully logged out.' ); }, 500 ); }; //************************* FILE END *************************//