Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
SGApps - Open Source Projects
🦜 Application Prototype Light
Commits
6d878e6e
Commit
6d878e6e
authored
Apr 27, 2020
by
Sergiu Gordienco
Browse files
Add Public Code of Application Prototype and Builder
parent
cae7d6c1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1 addition
and
0 deletions
+1
-0
index.js
index.js
+1
-0
No files found.
index.js
0 → 100644
View file @
6d878e6e
var
isBrowser
=
new
Function
(
"
try {return this===window;}catch(e){ return false;}
"
),
isNode
=
new
Function
(
"
var isBrowser = false; try { isBrowser = this===window;}catch(e){ isBrowser = false;}; try {return !isBrowser && ( this ===global );}catch(e){console.error(e); return false;}
"
);(
function
(){
if
(
typeof
window
!==
"
undefined
"
){
return
window
}
else
if
(
typeof
global
!==
"
undefined
"
){
return
global
}
else
if
(
typeof
APP_BUILDER_GLOBAL
===
"
undefined
"
){
throw
new
Error
(
"
Define APP_BUILDER_GLOBAL as global reference
"
)}
else
{
return
APP_BUILDER_GLOBAL
}})().
ApplicationPrototype
=
function
(
e
){
function
n
(
i
,
l
,
e
){
function
o
(
e
,
r
,
n
){
var
o
=
""
+
e
,
t
=
{
listenedBefore
:
!
0
,
listenedOn
:
!
0
,
listenedAfter
:
!
0
,
allowInteruption
:
!
0
};
return
"
string
"
==
typeof
n
&&
"
all
"
!==
n
&&
"
default
"
!==
n
&&
(
t
=
{
listenedBefore
:
!
1
,
listenedOn
:
!
1
,
listenedAfter
:
!
1
,
allowInteruption
:
!
1
},
-
1
!==
n
.
indexOf
(
"
light
"
)
&&
(
t
.
listenedOn
=!
0
,
t
.
allowInteruption
=!
0
),
-
1
!==
n
.
indexOf
(
"
af
"
)
&&
(
t
.
listenedAfter
=!
0
),
-
1
!==
n
.
indexOf
(
"
on
"
)
&&
(
t
.
listenedOn
=!
0
),
-
1
!==
n
.
indexOf
(
"
st
"
)
&&
(
t
.
allowInteruption
=!
0
),
-
1
===
n
.
indexOf
(
"
before
"
)
&&-
1
===
n
.
indexOf
(
"
bf
"
)
||
(
t
.
listenedBefore
=!
0
)),
n
&&
"
object
"
==
typeof
n
&&
function
(
e
,
n
){
var
r
;
for
(
r
in
e
)
r
in
n
&&
typeof
n
[
r
]
==
typeof
e
[
r
]
&&
(
e
[
r
]
=
n
[
r
])}(
t
,
n
),
l
[
o
]
=
function
(){
if
(
t
.
listenedBefore
&&!
1
===
i
.
emit
(
"
before
"
+
o
.
replace
(
/^./
,
function
(
e
){
return
e
.
toUpperCase
()}),
arguments
,
!
1
,
!
t
.
allowInteruption
))
return
!
1
;
if
(
t
.
listenedOn
&&!
1
==!
i
.
emit
(
"
on
"
+
o
.
replace
(
/^./
,
function
(
e
){
return
e
.
toUpperCase
()}),
arguments
,
!
1
,
!
t
.
allowInteruption
))
return
!
1
;
var
e
=
(
r
||
i
[
o
]).
apply
(
l
,
arguments
);
if
(
t
.
listenedAfter
){
var
n
=
arguments
;
setTimeout
(
function
(){
if
(
!
1
==!
i
.
emit
(
"
after
"
+
o
.
replace
(
/^./
,
function
(
e
){
return
e
.
toUpperCase
()}),
n
,
!
1
,
!
t
.
allowInteruption
))
return
!
1
},
1
)}
return
e
},
l
}
var
n
,
a
=
{};
for
(
n
in
i
.
on
=
function
(
e
,
n
,
r
){
if
(
e
.
match
(
/
\s
*
\,\s
*/
))
e
.
split
(
/
\s
*
\,\s
*/
).
forEach
(
function
(
e
){(
e
=
e
.
replace
(
/^
\s
+/
,
""
).
replace
(
/
\s
+$/
,
""
))
&&
i
.
on
(
e
,
n
,
r
)});
else
if
(
e
=
e
.
replace
(
/^
\s
+/
,
""
).
replace
(
/
\s
+$/
,
""
))
return
"
function
"
==
typeof
n
&&
(
e
in
a
||
(
a
[
e
]
=
{}),(
r
=
r
||
"
s
"
+
(
new
Date
).
valueOf
().
toString
(
36
)
+
"
-
"
+
Math
.
floor
(
1
e7
*
Math
.
random
()).
toString
(
36
))
in
a
[
e
]
&&
delete
a
[
e
][
r
],
a
[
e
][
r
]
=
n
,
r
)},
i
.
once
=
function
(
e
,
n
,
r
){
var
o
;
return
o
=
i
.
on
(
e
,
function
(){
i
.
off
(
e
,
o
),
n
.
apply
(
this
,
arguments
)},
n
)},
i
.
off
=
function
(
e
,
n
){
if
(
e
.
match
(
/
\s
*
\,\s
*/
))
e
.
split
(
/
\s
*
\,\s
*/
).
forEach
(
function
(
e
){(
e
=
e
.
replace
(
/^
\s
+/
,
""
).
replace
(
/
\s
+$/
,
""
))
&&
i
.
off
(
e
,
handler
,
n
)});
else
if
(
e
=
e
.
replace
(
/^
\s
+/
,
""
).
replace
(
/
\s
+$/
,
""
)){
if
(
n
){
if
(
e
in
a
&&
n
in
a
[
e
])
return
delete
a
[
e
][
n
],
!
0
}
else
if
(
e
in
a
){
var
r
=!
1
;
for
(
n
in
a
[
e
])
delete
a
[
e
][
n
],
r
=!
0
;
return
r
}
return
!
1
}},
i
.
emit
=
function
(
e
,
n
,
r
,
o
){
var
t
;
if
(
e
in
a
)
for
(
t
in
a
[
e
])
try
{
if
(
!
1
===
a
[
e
][
t
].
apply
(
r
?
l
:
i
,
n
||
[])
&&!
o
)
return
!
1
}
catch
(
e
){
console
.
error
(
"
Error detected:
"
,
e
)}},
i
.
bind
=
function
(
e
,
n
,
r
){
return
"
function
"
==
typeof
e
&&
(
r
=
n
,
e
=
(
n
=
e
).
name
),
o
(
e
,
n
,
r
)},
i
)
-
1
===
e
.
indexOf
(
n
)
&&
o
(
n
)}
var
r
=
{},
o
=
[],
t
=
{};
if
(
r
.
crudEvents
=
function
(){
return
n
.
apply
(
r
,
arguments
)},
"
function
"
==
typeof
e
){
if
(
!
1
===
e
({},{},
r
,
t
,
o
))
return
r
;
n
(
r
,
t
,
o
)}
else
n
(
r
,
t
,
o
);
return
t
};
var
isBrowser
=
new
Function
(
"
try {return this===window;}catch(e){ return false;}
"
),
isNode
=
new
Function
(
"
var isBrowser = false; try { isBrowser = this===window;}catch(e){ isBrowser = false;}; try {return !isBrowser && ( this ===global );}catch(e){console.error(e); return false;}
"
),
ApplicationBuilder
=
function
(
callback
){
var
m_urlload
=
function
(
e
,
n
){
var
r
=
new
XMLHttpRequest
;
r
.
responseType
=
"
text
"
,
r
.
addEventListener
(
"
load
"
,
function
(){
n
(
e
,
r
.
responseText
||
r
.
response
)}),
r
.
open
(
"
GET
"
,
e
,
!
0
),
r
.
send
()},
config
,
module_path
=
"
./constructors
"
,
vars
,
cacheSuffix
=
null
,
params
=
{
callback_ready
:
!
1
};
callback
&&
"
object
"
==
typeof
callback
&&
(
"
function
"
==
typeof
callback
.
onready
&&
(
params
.
callback_ready
=
callback
.
onready
),
callback
=
"
function
"
==
typeof
callback
.
onconstruct
&&
callback
.
onconstruct
),
isNode
()
&&
(
ApplicationPrototype
=
require
(
"
./ApplicationPrototype.js
"
));
var
Application
=
new
ApplicationPrototype
(
function
(
e
,
n
,
r
,
o
,
t
){
vars
=
n
,(
config
=
e
).
cache_enabled
=!
1
,
config
.
debug_enabled
=!
1
,
"
function
"
==
typeof
callback
&&
callback
.
apply
(
r
,[
n
,
e
])}),
er
;
if
(
Application
.
bind
(
"
isNode
"
,
function
(){
return
isNode
()},
""
),
Application
.
bind
(
"
isBrowser
"
,
function
(){
return
isBrowser
()},
""
),
Application
.
bind
(
"
Promise
"
,
function
(
e
){
function
n
(
e
){
u
&&
(
u
=!
1
,
l
=
e
,
a
.
forEach
(
function
(
e
){
c
(
e
,
l
)}))}
function
r
(
e
){
u
&&
(
u
=!
1
,
i
=
e
,
o
.
forEach
(
function
(
e
){
c
(
e
,
i
)}))}
var
i
=
void
0
,
l
=
void
0
,
a
=
[],
o
=
[],
u
=!
0
,
c
=
function
(
e
,
n
){
try
{
e
(
n
)}
catch
(
e
){
console
.
error
(
e
)}},
s
=
{
then
:
function
(
t
,
e
){
return
s
.
catch
(
e
||
function
(
e
){
console
.
error
(
e
)}),
Application
.
Promise
(
function
(
r
,
o
){
function
e
(
e
){
var
n
;
try
{
n
=
t
(
e
),
r
(
n
)}
catch
(
e
){
console
.
warn
(
"
Unchecked error in Promise
"
),
console
.
error
(
e
),
o
(
e
)}}
s
.
catch
(
o
),
"
function
"
==
typeof
t
&&
(
u
?
a
.
push
(
e
):
void
0
===
i
&&
c
(
e
,
l
))})},
catch
:
function
(
e
){
return
"
function
"
==
typeof
e
&&
(
u
?
o
.
push
(
e
):
void
0
!==
i
&&
c
(
e
,
i
)),
s
},
resolve
:
n
,
reject
:
r
};
try
{
"
function
"
==
typeof
e
&&
e
(
n
,
r
)}
catch
(
i
){
console
.
warn
(
"
Promise Exception on constructor exeution:
"
,
e
),
console
.
error
(
i
),
r
(
i
)}
return
s
}),
Application
.
isBrowser
()
&&
(
window
.
Promise
||
(
window
.
Promise
=
Application
.
Promise
)),
Application
.
Promise
.
reject
=
function
(
r
){
return
new
Application
.
Promise
(
function
(
e
,
n
){
n
(
r
)})},
Application
.
Promise
.
resolve
=
function
(
r
){
return
new
Application
.
Promise
(
function
(
e
,
n
){
e
(
r
)})},
Application
.
Promise
.
race
=
function
(
e
){
var
n
,
r
=
new
Application
.
Promise
,
o
=!
1
;
for
(
n
=
0
;
n
<
e
.
length
;
n
++
)
e
[
n
].
then
(
function
(
e
){
o
||
(
o
=!
0
,
r
.
resolve
(
e
))},
function
(
e
){
o
||
r
.
reject
(
e
)});
return
r
},
Application
.
Promise
.
all
=
function
(
n
){
var
r
=
new
Application
.
Promise
,
o
=
[];
for
(
i
=
0
;
i
<
n
.
length
;
i
++
)
n
[
i
].
then
(
function
(
e
){
o
.
push
(
e
),
o
.
length
===
n
.
length
&&
r
.
resolve
(
o
)},
function
(
e
){
r
.
reject
(
e
)});
return
r
},
Application
.
bind
(
"
cacheEnabled
"
,
function
(
e
){
return
"
boolean
"
==
typeof
e
&&
(
config
.
cache_enabled
=
e
),
"
string
"
==
typeof
e
&&
(
cacheSuffix
=
e
||
null
),
config
.
cache_enabled
}),
Application
.
bind
(
"
debugEnabled
"
,
function
(
e
){
return
"
boolean
"
==
typeof
e
&&
(
config
.
debug_enabled
=
e
),
config
.
debug_enabled
}),
Application
.
bind
(
"
modulePath
"
,
function
(
e
){
return
e
&&
"
string
"
==
typeof
module_path
&&
(
module_path
=
e
),
module_path
}),
function
(){
var
i
=
{};
Application
.
bind
(
"
moduleRegister
"
,
function
(
r
,
e
){
return
"
string
"
==
typeof
r
&&
Array
.
isArray
(
e
)
&&
e
.
forEach
(
function
(
e
){
var
n
=
Application
.
moduleResolve
(
e
,
r
);
i
[
n
.
name
]
=
n
,
i
[
"
#
"
+
e
]
=
n
}),
i
});
Application
.
bind
(
"
moduleResolve
"
,
function
(
e
,
n
){
if
(
void
0
===
n
&&
(
n
=
module_path
),
"
#
"
+
e
in
i
)
return
i
[
"
#
"
+
e
];
var
r
,
o
=
{
store
:{},
$requestQuery
:
e
,
module_path
:
n
,
name
:
e
,
url
:
n
+
"
/
"
+
e
.
replace
(
/
[\#\?]
.*$/
,
""
)
+
"
.js
"
,
path
:
""
,
__dirname
:
""
};
if
(
e
.
match
(
/^
(
http|https|ws
)\:\/\/
/
))
o
.
url
=
e
;
else
if
(
e
.
match
(
/^
\/
/
)
&&
(
o
.
url
=
e
,
!
o
.
url
.
match
(
/
((\.
js
)(\?
.*|
\#
.*|
))
$/
))){
var
t
=
o
.
url
.
match
(
/^
(
.*
?)([\?
|#
]
.*|
)
$/
);
t
?
o
.
url
=
t
[
1
]
+
"
.js
"
+
t
[
2
]:
o
.
url
+=
"
.js
"
}
return
(
r
=
e
.
match
(
/
(\#[\?]{0,1}
module
\=
|
\?
module
\=
|
\&
module
\=)([
a-z0-9A-Z
][
a-z0-9
\_\.\-
A-Z
]
*
)
/
))
&&
r
[
2
]
&&
(
o
.
name
=
r
[
2
]),
o
.
name
in
i
?
i
[
o
.
name
]:(
o
.
path
=
o
.
url
.
replace
(
/
(\.
js|
)(\?
.*|
\#
.*|
)
$/
,
""
),
o
.
__dirname
=
o
.
path
.
replace
(
/
\/[^\/]
+$/
,
""
),
o
)})}(),
function
(){
var
fs
=!
1
;
isNode
()
&&
(
fs
=
require
(
"
fs
"
));
var
module_cache
=
{},
module_requests
=
{},
require_cache
=
{};
Application
.
bind
(
"
require
"
,
function
(
module_name
,
callback
){
if
(
"
string
"
==
typeof
module_name
){
var
moduleMeta
=
Application
.
moduleResolve
(
module_name
,
void
0
),
__dirname
=
moduleMeta
.
__dirname
,
$request
,
requireDownload
;
if
(
moduleMeta
.
name
in
require_cache
)
return
callback
&&
callback
(
require_cache
[
moduleMeta
.
name
].
exports
||
null
,
void
0
),
require_cache
[
moduleMeta
.
name
].
$request
;
moduleMeta
.
path
in
module_requests
?
$request
=
module_requests
[
moduleMeta
.
path
]:(
requireDownload
=!
0
,
$request
=
new
Application
.
Promise
,
module_requests
[
moduleMeta
.
path
]
=
$request
);
var
module
=
{
cache
:
function
(){
return
module_cache
[
moduleMeta
.
path
]
=
module_cache
[
moduleMeta
.
path
]
||
{},
module_cache
[
moduleMeta
.
path
]},
require
:
function
(
e
,
n
){
function
r
(
e
,
n
){
return
n
.
match
(
/^
(
http|https|ws
)\:\/\/
/
)
&&
(
e
.
match
(
/
((\.
js
)(\?
.*|
\#
.*|
))
$/
)
||
(
e
+=
"
.js
"
)),
-
1
!==
e
.
indexOf
(
"
::
"
)?(
e
=
e
.
split
(
/
\s
*
\:\:\s
*/
))[
0
]
+
"
::
"
+
n
+
"
/
"
+
e
[
1
]:
n
+
"
/
"
+
e
}
return
"
string
"
==
typeof
e
?
Application
.
require
(
r
(
e
,
moduleMeta
.
path
),
n
):
Array
.
isArray
(
e
)?
Application
.
require
(
e
.
map
(
function
(
e
){
return
r
(
e
,
moduleMeta
.
path
)}),
n
):
void
0
},
resourceUrl
:
function
(
e
){
return
moduleMeta
.
path
+
"
/
"
+
e
},
meta
:
moduleMeta
,
$request
:
$request
};
sb
=
void
0
,
Object
.
defineProperty
(
module
,
"
exports
"
,{
get
:
function
(){
return
sb
||
null
},
set
:
function
(
e
){
void
0
===
sb
?(
sb
=
e
,(
require_cache
[
moduleMeta
.
name
]
=
module
).
$request
.
resolve
(
module
.
exports
),
callback
&&
callback
(
module
.
exports
||
null
,
void
0
)):
sb
=
e
},
enumerable
:
!
0
,
configurable
:
!
0
});
var
global
=
Application
;
module
.
atime
=
(
new
Date
).
valueOf
(),
module
.
Application
=
function
(){
return
Application
||
global
||
null
};
var
module_url
=
moduleMeta
.
url
+
(
Application
.
cacheEnabled
()?
""
:(
-
1
===
moduleMeta
.
url
.
indexOf
(
"
?
"
)?
"
?
"
:
"
&
"
)
+
"
t=
"
+
(
cacheSuffix
||
module
.
atime
)),
module_header
=
Application
.
debugEnabled
()?
"
/**
\n
* Platform: ApplicationBuilder/ApplicationPrototype by Sergiu Gordienco Vasile
\n
* Module Name:
"
+
module
.
meta
.
name
+
"
\n
* Module Url:
"
+
module
.
meta
.
url
+
"
\n
*/
\n\n
"
:
""
;
return
requireDownload
?
isNode
()?
fs
.
readFile
(
require
(
"
path
"
).
normalize
((
ub
=
module_url
,
ub
.
match
(
/^
[
a-z
][
a-z
\d]
*
\:
/
)?
ub
:
ub
.
replace
(
/
\?
.*/
,
""
))),
"
utf8
"
,
function
(
err
,
module_text
){
err
=
void
0
;
try
{
eval
(
module_header
+
module_text
)}
catch
(
err
){
console
.
warn
(
"
Application Loading Module
"
,
module_url
),
console
.
error
(
err
),
module
.
$request
.
reject
(
err
)}}):
m_urlload
(
module_url
,
function
(
module_url
,
module_text
){
var
err
;
try
{
eval
(
module_header
+
module_text
)}
catch
(
err
){
console
.
warn
(
"
Application Loading Module
"
,
module_url
),
console
.
error
(
err
),
module
.
$request
.
reject
(
err
)}}):
module
.
$request
.
then
(
function
(
e
){
callback
&&
callback
(
e
||
null
,
void
0
)}).
catch
(
function
(
e
){
console
.
warn
(
"
Application Loading Module
"
,
module_url
),
console
.
error
(
e
)}),
module
.
$request
}
if
(
Array
.
isArray
(
module_name
)){
var
modules
=
{},
module_count
=
0
,
module_length
=
module_name
.
length
,
module_errors
=
[],
$request
=
Application
.
Promise
();
return
module_name
.
forEach
(
function
(
r
){
var
e
,
o
=!
1
;
e
=
r
.
match
(
/^
([
a-zA-Z0-9
\_\-\.
"
]
+
)(\s
*
\:\:\s
*
)(
.*
?)
$/
),
Array
.
isArray
(
e
)
&&
"
//
"
!==
e
[
3
].
substr
(
0
,
2
)
&&
(
o
=
e
[
1
],
r
=
e
[
3
]),
Application
.
require
(
r
,
function
(
e
,
n
){
module_count
+=
1
,
modules
[
r
]
=
e
,
o
&&
o
!==
r
&&
(
modules
[
o
]
=
e
),
n
&&
(
$request
.
reject
(
n
),
module_errors
.
push
({
module_name
:
r
,
error
:
n
})),
module_count
===
module_length
&&
(
module_errors
.
length
||
$request
.
resolve
(
modules
),
callback
&&
callback
(
modules
,
module_errors
))})}),
$request
}
var
ub
,
sb
})}(),
"
function
"
==
typeof
params
.
callback_ready
)
try
{
params
.
callback_ready
.
apply
(
Application
,[
vars
,
config
])}
catch
(
er
){
console
.
warn
(
"
Application callbackReady error
"
,
er
)}
return
Application
};
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment