Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
N
node-bigstream
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
3
Merge Requests
3
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bs
node-bigstream
Commits
4b417d1c
Commit
4b417d1c
authored
Mar 06, 2020
by
Kamron Aroonrua
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
transform register
parent
3ab3e3ee
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
109 additions
and
23 deletions
+109
-23
Changelog
Changelog
+1
-0
mems-register.js
jobworker/lib/mems-register.js
+57
-0
perform.js
plugins/dt/dt-transform/perform.js
+50
-22
version.json
version.json
+1
-1
No files found.
Changelog
View file @
4b417d1c
#Changelog
#Changelog
## [1.2.3] - 2019-11-19
## [1.2.3] - 2019-11-19
### Added
### Added
- PLUGIN :: dt-transform register
- BS :: Configuration Context with ENV
- BS :: Configuration Context with ENV
- PLUGIN :: do-http
- PLUGIN :: do-http
- PLUGIN :: do-bsspeak
- PLUGIN :: do-bsspeak
...
...
jobworker/lib/mems-register.js
0 → 100644
View file @
4b417d1c
module
.
exports
.
create
=
function
(
regis
)
{
return
new
MemsRegister
(
regis
);
}
function
MemsRegister
(
regis
)
{
this
.
_register
=
{};
if
(
typeof
regis
==
'object'
&&
regis
!=
null
){
this
.
_register
=
regis
;
}
}
MemsRegister
.
prototype
.
init
=
function
(
name
,
val
){
var
value
=
(
val
)?
val
:
''
;
if
(
typeof
this
.
_register
[
name
]
==
'undefined'
){
this
.
_register
[
name
]
=
value
;
}
}
MemsRegister
.
prototype
.
get
=
function
(
name
){
if
(
name
){
return
this
.
_register
[
name
];
}
return
this
.
_register
;
}
MemsRegister
.
prototype
.
set
=
function
(
name
,
val
){
if
(
name
){
this
.
_register
[
name
]
=
val
;
}
}
MemsRegister
.
prototype
.
reset
=
function
(
name
){
if
(
name
){
delete
this
.
_register
[
name
];
}
else
{
this
.
_register
=
{};
}
}
MemsRegister
.
prototype
.
init_counter
=
function
(
name
,
val
){
if
(
!
name
){
return
;}
if
(
typeof
this
.
_register
[
name
]
!=
'number'
){
this
.
_register
[
name
]
=
(
typeof
val
==
'number'
)?
val
:
0
;
}
}
MemsRegister
.
prototype
.
inc
=
function
(
name
,
val
){
if
(
!
name
){
return
;}
if
(
typeof
val
!=
'number'
){
val
=
1
}
if
(
typeof
this
.
_register
[
name
]
!=
'number'
){
this
.
init_counter
(
name
);
}
this
.
_register
[
name
]
+=
val
;
}
\ No newline at end of file
plugins/dt/dt-transform/perform.js
View file @
4b417d1c
var
vm
=
require
(
'vm'
);
var
vm
=
require
(
'vm'
);
var
ctx
=
require
(
'../context'
);
var
ctx
=
require
(
'../context'
);
var
Utils
=
ctx
.
getLib
(
'lib/util/plugin-utils'
);
var
Utils
=
ctx
.
getLib
(
'lib/util/plugin-utils'
);
var
Register
=
ctx
.
getLib
(
'jobworker/lib/mems-register'
);
function
perform_function
(
context
,
request
,
response
){
function
perform_function
(
context
,
request
,
response
){
var
job_id
=
context
.
jobconfig
.
job_id
;
var
job_id
=
context
.
jobconfig
.
job_id
;
var
transaction_id
=
context
.
transaction
.
id
;
var
transaction_id
=
context
.
transaction
.
id
;
var
param
=
context
.
task
.
config
.
param
;
var
param
=
context
.
task
.
config
.
param
||
{}
;
var
memstore
=
context
.
task
.
memstore
var
memstore
=
context
.
task
.
memstore
var
in_type
=
request
.
input_type
;
var
in_type
=
request
.
input_type
;
var
in_data
=
request
.
data
;
var
in_data
=
request
.
data
;
var
in_meta
=
request
.
meta
;
var
in_meta
=
request
.
meta
;
var
mapscr
=
Utils
.
parse_script_param
(
param
.
script
);
var
datascr
=
param
.
text
;
var
ba64script
=
param
.
ba64script
;
if
(
datascr
){
mapscr
=
mapscr
+
"; data=`"
+
datascr
+
"`"
;
}
var
mapenv
=
{
var
mapenv
=
{
'src'
:
{
'src'
:
{
'type'
:
in_type
,
'type'
:
in_type
,
...
@@ -31,6 +24,52 @@ function perform_function(context,request,response){
...
@@ -31,6 +24,52 @@ function perform_function(context,request,response){
'data'
:
in_data
,
'data'
:
in_data
,
'meta'
:
in_meta
'meta'
:
in_meta
}
}
if
(
param
.
use_register
){
memstore
.
getItem
(
'register'
,
function
(
err
,
value
){
if
(
err
){
return
response
.
error
(
"memstore error"
);}
if
(
typeof
value
==
'object'
&&
value
!=
null
)
{
mapenv
.
register
=
Register
.
create
(
value
);
}
mapenv
=
_compile
(
mapenv
,
param
);
memstore
.
setItem
(
'register'
,
mapenv
.
register
.
get
(),
function
(
err
){
_response
();
});
});
}
else
{
mapenv
=
_compile
(
mapenv
,
param
);
_response
();
}
function
_response
()
{
var
data
=
mapenv
.
data
;
var
meta
=
mapenv
.
meta
;
var
output_type
=
mapenv
.
type
;
if
(
param
.
to_binary
&&
typeof
data
==
'string'
){
data
=
Buffer
.
from
(
data
,
'base64'
);
output_type
=
'binary'
;
}
response
.
success
(
data
,{
'meta'
:
meta
,
'output_type'
:
output_type
});
}
}
function
_compile
(
mape
,
param
)
{
var
mapenv
=
mape
;
var
mapscr
=
Utils
.
parse_script_param
(
param
.
script
);
var
datascr
=
param
.
text
;
var
ba64script
=
param
.
ba64script
;
if
(
datascr
){
mapscr
=
mapscr
+
"; data=`"
+
datascr
+
"`"
;
}
var
context
=
new
vm
.
createContext
(
mapenv
);
var
context
=
new
vm
.
createContext
(
mapenv
);
...
@@ -43,18 +82,7 @@ function perform_function(context,request,response){
...
@@ -43,18 +82,7 @@ function perform_function(context,request,response){
var
script
=
new
vm
.
Script
(
mapscr
);
var
script
=
new
vm
.
Script
(
mapscr
);
script
.
runInContext
(
context
);
script
.
runInContext
(
context
);
var
data
=
mapenv
.
data
;
return
mapenv
;
var
meta
=
mapenv
.
meta
;
var
output_type
=
mapenv
.
type
;
if
(
param
.
to_binary
&&
typeof
data
==
'string'
){
data
=
Buffer
.
from
(
data
,
'base64'
);
output_type
=
'binary'
;
}
response
.
success
(
data
,{
'meta'
:
meta
,
'output_type'
:
output_type
});
}
}
module
.
exports
=
perform_function
;
module
.
exports
=
perform_function
;
version.json
View file @
4b417d1c
{
{
"version"
:
"1.2.3"
,
"version"
:
"1.2.3"
,
"build"
:
"20200
221
1200"
"build"
:
"20200
306
1200"
}
}
\ 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