lemoncloud-engine-js
Advanced tools
Comparing version 1.0.22 to 1.0.23
@@ -1,1 +0,1 @@ | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};exports=module.exports=function(e,r){if(!e)throw new Error("_$(global instance pool) is required!");e._;var _=e.U,l=e.log,m=(e.inf,e.err),E=_.NS("META","yellow"),d=e.MMS;function v(e){return b(404,e)}function g(e){return b(503,e)}function b(e,r){return{statusCode:e,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Credentials":!0},body:JSON.stringify(r)}}var t=function(e,r,t){r.callbackWaitsForEmptyEventLoop=!1;var n=e.queryStringParameters||{},o=e.pathParameters||{},i=decodeURIComponent(o.type||""),d=decodeURIComponent(o.id||""),a=(d||"GET"!==e.httpMethod?e.httpMethod:"LIST")||"",s=decodeURIComponent(o.cmd||""),u=!a&&e.Records?"EVENT":{LIST:"LIST",GET:"GET",PUT:"PUT",POST:"POST",DELETE:"DELETE"}[a],p=e.body&&("string"==typeof e.body&&(e.body.startsWith("{")||e.body.startsWith("["))?JSON.parse(e.body):e.body)||e.Records&&{records:e.Records}||null;!p&&l(E,"#"+u+":"+s+" ("+a+", "+i+"/"+d+")...."),p&&l(E,"#"+u+":"+s+" ("+a+", "+i+"/"+d+").... body.len=",p?_.json(p).length:-1);var c={_id:d,_param:n,_body:p,_ctx:r},f=Promise.resolve(c),y=function(e,r,t){var n=null;switch(e){case"LIST?":n=T;break;case"GET":n=P,"self-test"===t&&(n=h);break;case"PUT":case"POST":case"DELETE":break;case"EVENT":n=j}return n}(u,0,s);if(!y)return t(null,v({MODE:u}));try{f.then(function(e){var r=e._id,t=e._param,n=e._body,o=e._ctx;return y(r,t,n,o)}).then(function(e){return e&&"object"===(void 0===e?"undefined":_typeof(e))&&(e=_.cleanup(e)),t(null,b(200,e)),!0}).catch(function(e){return m(E,"!!! callback@1 with err",e),0<=(e&&e.message||"").indexOf("404 NOT FOUND")?t(null,v(e.message)):t(null,g(e.message||e)),!1})}catch(e){t(e,g(e.message))}};t.do_list_meta=T,t.do_get_meta=P,t.do_put_meta=function(n,e,r,t){var o=Object.assign({},r||e);if(!o.type)return Promise.reject(new Error("type is required!"));var i=o.type;return delete o.type,d.do_read(n,o).then(function(e){var r=e._node||{},t=e.deleted_at||r.deleted_at||0;return t?Promise.reject(new Error("404 NOT FOUND: Node deleted_at="+t)):r.type&&r.type!=i?Promise.reject(new Error("404 NOT FOUND: Invalid Type="+r.type)):(l(E,"> update =",o),d.do_update(n,o))})},t.do_post_meta=function(e,r,t,n){if(0!==e)return Promise.reject(new Error("invalid id:"+e));var o=Object.assign({},t||r);return o.type?d.do_create_safe(e,o):Promise.reject(new Error("type is required!"))},t.do_delete_meta=function(r,e,t,n){if("number"!=typeof r)return Promise.reject(new Error("invalid id:"+r));var o=Object.assign({},t||e);if(!o.type)return Promise.reject(new Error("type is required!"));var i=o.type;return delete o.type,d.do_read(r,o).then(function(t){var e=t._node||{};return t.deleted_at||e.deleted_at?t:e.type&&e.type!=i?Promise.reject(new Error("404 NOT FOUND: Invalid Type="+e.type)):d.do_delete(r,o).then(function(e){var r=(e._node||e).deleted_at||0;return t.deleted_at=r,t})})},t.do_self_test_meta=h;t.do_chain_on_update_parent=function(r){if(!r.type)return Promise.reject(new Error("type is required!"));var t=r.type;if(void 0!==r.parent){var n=(""+r.parent).trim();if(n&&"0"!==n){if("string"!=typeof r.parent)return d.do_read(n).then(function(e){return l(E,"> set parent-id :=",e.id,"<- pid:"+n),r.parent=e.id,e.type!==t?Promise.reject(new Error("parent.type is different. type:"+e.type)):r.parent==r.id||r.parent==r._id?Promise.reject(new Error("parent-id is same as id")):r});var o={type:t,name:r.parent};return o.refid=d.calculate_refid(o),d.do_search_refid(o).then(function(e){return l(E,"> set parent-id :=",e.id,"<- ref:"+o.refid),r.parent=e.id,r.parent==r.id||r.parent==r._id?Promise.reject(new Error("parent is same as id")):r})}r.parent=0}return r};t.do_chain_on_update_group=function(r){if(void 0!==r.group){var t=(""+r.group).trim();if(t&&"0"!==t&&""!==t){if("string"!=typeof r.group)return d.do_read(t).then(function(e){return l(E,"> set group-id :=",e.id,"<- gid:"+t),r.group=e.id,"group"!==e.type?Promise.reject(new Error("group.type is different. type:"+e.type)):r.group==r.id||r.group==r._id?Promise.reject(new Error("group-id is same as id")):r});var n={type:"group",name:t};return n.refid=d.calculate_refid(n),d.do_search_refid(n).then(function(e){return l(E,"> set group-id :=",e.id,"<- refid:",n.refid),r.group=e.id,r})}r.group=0}return r};function h(e,r,t,n){l(E,"do_self_test_meta("+e+")....");var o=Object.assign({},t||{});return o.id=_.N(e,0),Promise.resolve(o).then(function(e){return d.do_test_self(e,r)})}function T(e,r,t,n){var o=Object.assign({},t||r);return o.type?d.do_search(e,o):Promise.reject(new Error("type is required!"))}function P(e,r,t,n){var o=Object.assign({},t||r);if(!o.type)return Promise.reject(new Error("type is required!"));var i=o.type;return delete o.type,d.do_read(e,o).then(function(e){var r=e._node||{},t=e.deleted_at||r.deleted_at||0;return t?Promise.reject(new Error("404 NOT FOUND: Node deleted_at="+t)):r.type&&r.type!=i?Promise.reject(new Error("404 NOT FOUND: Invalid Type="+r.type)):e})}function j(e,r,t,n){return l(E,"do_event_records("+e+")...."),d.on_records(t)}return t}; | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};exports=module.exports=function(e,r){if(!e)throw new Error("_$(global instance pool) is required!");e._;var _=e.U,l=e.log,m=(e.inf,e.err),E=_.NS("META","yellow"),d=e.MMS;function g(e){return b(404,e)}function v(e){return b(503,e)}function b(e,r){return{statusCode:e,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Credentials":!0},body:JSON.stringify(r)}}function t(e,r,t){r.callbackWaitsForEmptyEventLoop=!1;var n=e.queryStringParameters||{},o=e.pathParameters||{},i=decodeURIComponent(o.type||""),d=decodeURIComponent(o.id||""),a=(d||"GET"!==e.httpMethod?e.httpMethod:"LIST")||"",s=decodeURIComponent(o.cmd||""),u=!a&&e.Records?"EVENT":{LIST:"LIST",GET:"GET",PUT:"PUT",POST:"POST",DELETE:"DELETE"}[a],p=e.body&&("string"==typeof e.body&&(e.body.startsWith("{")||e.body.startsWith("["))?JSON.parse(e.body):e.body)||e.Records&&{records:e.Records}||null;p||l(E,"#"+u+":"+s+" ("+a+", "+i+"/"+d+")...."),p&&l(E,"#"+u+":"+s+" ("+a+", "+i+"/"+d+").... body.len=",p?_.json(p).length:-1);var c={_id:d,_param:n,_body:p,_ctx:r},f=Promise.resolve(c),y=function(e,r,t){var n=null;switch(e){case"LIST?":n=T;break;case"GET":n=P,"self-test"===t&&(n=h);break;case"PUT":case"POST":case"DELETE":break;case"EVENT":n=j}return n}(u,0,s);if(!y)return t(null,g({MODE:u}));try{f.then(function(e){var r=e._id,t=e._param,n=e._body,o=e._ctx;return y(r,t,n,o)}).then(function(e){return e&&"object"===(void 0===e?"undefined":_typeof(e))&&(e=_.cleanup(e)),t(null,function(e){return b(200,e)}(e)),!0}).catch(function(e){return m(E,"!!! callback@1 with err",e),0<=(e&&e.message||"").indexOf("404 NOT FOUND")?t(null,g(e.message)):t(null,v(e.message||e)),!1})}catch(e){t(e,v(e.message))}}t.do_list_meta=T,t.do_get_meta=P,t.do_put_meta=function(n,e,r,t){var o=Object.assign({},r||e);if(!o.type)return Promise.reject(new Error("type is required!"));var i=o.type;return delete o.type,d.do_read(n,o).then(function(e){var r=e._node||{},t=e.deleted_at||r.deleted_at||0;return t?Promise.reject(new Error("404 NOT FOUND: Node deleted_at="+t)):r.type&&r.type!=i?Promise.reject(new Error("404 NOT FOUND: Invalid Type="+r.type)):(l(E,"> update =",o),d.do_update(n,o))})},t.do_post_meta=function(e,r,t,n){if(0!==e)return Promise.reject(new Error("invalid id:"+e));var o=Object.assign({},t||r);return o.type?d.do_create_safe(e,o):Promise.reject(new Error("type is required!"))},t.do_delete_meta=function(r,e,t,n){if("number"!=typeof r)return Promise.reject(new Error("invalid id:"+r));var o=Object.assign({},t||e);if(!o.type)return Promise.reject(new Error("type is required!"));var i=o.type;return delete o.type,d.do_read(r,o).then(function(t){var e=t._node||{};return t.deleted_at||e.deleted_at?t:e.type&&e.type!=i?Promise.reject(new Error("404 NOT FOUND: Invalid Type="+e.type)):d.do_delete(r,o).then(function(e){var r=(e._node||e).deleted_at||0;return t.deleted_at=r,t})})},t.do_self_test_meta=h;t.do_chain_on_update_parent=function(r){if(!r.type)return Promise.reject(new Error("type is required!"));var t=r.type;if(void 0!==r.parent){var n=(""+r.parent).trim();if(n&&"0"!==n){if("string"!=typeof r.parent)return d.do_read(n).then(function(e){return l(E,"> set parent-id :=",e.id,"<- pid:"+n),r.parent=e.id,e.type!==t?Promise.reject(new Error("parent.type is different. type:"+e.type)):r.parent==r.id||r.parent==r._id?Promise.reject(new Error("parent-id is same as id")):r});var o={type:t,name:r.parent};return o.refid=d.calculate_refid(o),d.do_search_refid(o).then(function(e){return l(E,"> set parent-id :=",e.id,"<- ref:"+o.refid),r.parent=e.id,r.parent==r.id||r.parent==r._id?Promise.reject(new Error("parent is same as id")):r})}r.parent=0}return r};t.do_chain_on_update_group=function(r){if(void 0!==r.group){var t=(""+r.group).trim();if(t&&"0"!==t&&""!==t){if("string"!=typeof r.group)return d.do_read(t).then(function(e){return l(E,"> set group-id :=",e.id,"<- gid:"+t),r.group=e.id,"group"!==e.type?Promise.reject(new Error("group.type is different. type:"+e.type)):r.group==r.id||r.group==r._id?Promise.reject(new Error("group-id is same as id")):r});var n={type:"group",name:t};return n.refid=d.calculate_refid(n),d.do_search_refid(n).then(function(e){return l(E,"> set group-id :=",e.id,"<- refid:",n.refid),r.group=e.id,r})}r.group=0}return r};function h(e,r,t,n){l(E,"do_self_test_meta("+e+")....");var o=Object.assign({},t||{});return o.id=_.N(e,0),Promise.resolve(o).then(function(e){return d.do_test_self(e,r)})}function T(e,r,t,n){var o=Object.assign({},t||r);return o.type?d.do_search(e,o):Promise.reject(new Error("type is required!"))}function P(e,r,t,n){var o=Object.assign({},t||r);if(!o.type)return Promise.reject(new Error("type is required!"));var i=o.type;return delete o.type,d.do_read(e,o).then(function(e){var r=e._node||{},t=e.deleted_at||r.deleted_at||0;return t?Promise.reject(new Error("404 NOT FOUND: Node deleted_at="+t)):r.type&&r.type!=i?Promise.reject(new Error("404 NOT FOUND: Invalid Type="+r.type)):e})}function j(e,r,t,n){return l(E,"do_event_records("+e+")...."),d.on_records(t)}return t}; |
@@ -1,1 +0,1 @@ | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};exports=module.exports=function(e,t){if(!e)throw new Error("_$(global instance pool) is required!");e._;var f=e.U,h=e.log,p=(e.inf,e.err),y=f.NS("CHAT","yellow");function g(e){return v(404,e)}function b(e){return v(503,e)}function v(e,t){return{statusCode:e,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Credentials":!0},body:JSON.stringify(t)}}var r=function(e,t,r){t.callbackWaitsForEmptyEventLoop=!1;var n=e.queryStringParameters||{},o=e.pathParameters||{},i=decodeURIComponent(o.type||""),a=decodeURIComponent(o.id||""),u=(a||"GET"!==e.httpMethod?e.httpMethod:"LIST")||"",s=decodeURIComponent(o.cmd||""),c=!u&&e.Records?"EVENT":{LIST:"LIST",GET:"GET",PUT:"PUT",POST:"POST",DELETE:"DELETE"}[u],d=e.body&&("string"==typeof e.body&&(e.body.startsWith("{")||e.body.startsWith("["))?JSON.parse(e.body):e.body)||e.Records&&{records:e.Records}||null;!d&&h(y,"#"+c+":"+s+" ("+u+", "+i+"/"+a+")...."),d&&h(y,"#"+c+":"+s+" ("+u+", "+i+"/"+a+").... body.len=",d?f.json(d).length:-1);var _={_id:a,_param:n,_body:d,_ctx:t},m=Promise.resolve(_),l=function(e,t,r){var n=null;switch(e){case"LIST":n=E;break;case"GET":n=T,"0"===t&&"self-test"===r&&(n=S);break;case"PUT":n=P;break;case"POST":n=w;break;case"DELETE":n=I}return n}(c,a,s);if(!l)return r(null,g({MODE:c}));try{m.then(function(e){var t=e._id,r=e._param,n=e._body,o=e._ctx;return l(t,r,n,o)}).then(function(e){return e&&"object"===(void 0===e?"undefined":_typeof(e))&&(e=f.cleanup(e)),r(null,v(200,e)),!0}).catch(function(e){return p(y,"!!! callback@1 with err",e),0<=(e&&e.message||"").indexOf("404 NOT FOUND")?r(null,g(e.message)):r(null,b(e.message||e)),!1})}catch(e){r(e,b(e.message))}};r.do_list_chat=E,r.do_get_chat=T,r.do_put_chat=P,r.do_post_chat=w,r.do_delete_chat=I;var o="chat",i={id:"ID",parent:"Parent Chat ID (for reply)",group:"Group/Org ID",name:'Tag (should be "#")',nick:"Sender Nickname",message:"Short Message",description:"Long Message body",image:"Sender Avatar",state:"State",source:"Creator ID",target:"Target ID",created_at:"Created Time",updated_at:"Updated Time"},a=require("./_meta-api")(e),n=require("./user-api")(e),u=function(n){n=n||{};var e=Object.keys(i).reduce(function(e,t,r){return void 0!==n[t]&&(e[t]=n[t]),e},{});return void 0!==n._id&&(e._id=n._id),e},s=function(e){return e.type=o,e},c=function(e){return void 0!==e.name&&(e.name=(""+e.name).trim()),a.do_chain_on_update_parent(e)},d=function(e){return a.do_chain_on_update_group(e)},_=function(r){return void 0!==r.source?n.do_get_user(r.source).then(function(e){var t=(r.name||"#sms").trim();return r.name=t,r.source=e.id,r.nick=r.nick||e.nick||e.name,r.image=e.image,r}):r},m=function(t){return void 0!==t.target?n.do_get_user(t.target).then(function(e){return t.target=e.id,t}):t};function E(e,t,r,n){return h(y,"do_list_chat("+e+")...."),(t=t||{}).type=o,a.do_list_meta(e,t).then(function(e){var t=e.list||[];return e.list=t.map(u),e})}function T(e,t,r,n){return h(y,"do_get_chat("+e+")...."),(t=t||{}).type=o,a.do_get_meta(e,t).then(u)}function S(e,t,r,n){return h(y,"do_self_test_chat("+e+")...."),(t=t||{}).type=o,a.do_self_test_meta(e,t)}function P(t,e,r,n){h(y,"do_put_chat("+t+")....");var o=r||e;return o?(o._id=f.N(t,0),Promise.resolve(o).then(u).then(s).then(c).then(d).then(function(e){return a.do_put_meta(t,e)})):Promise.reject(new Error("node is required!"))}function w(t,e,r,n){if(h(y,"do_post_chat("+t+")...."),"0"!==t&&0!==t)return Promise.reject(new Error("invalid ID:"+t));var o=r||e;if(!o)return Promise.reject(new Error("node is required!"));t=f.N(t,0);return Promise.resolve(o).then(u).then(s).then(function(e){(e.source||"").trim();if(!e.source)return Promise.reject(new Error("source is required!"));(e.message||"").trim();return e.message?e:Promise.reject(new Error("message is required!"))}).then(_).then(m).then(c).then(d).then(function(e){return a.do_post_meta(t,e)}).then(u)}function I(t,e,r,n){h(y,"do_delete_chat("+t+")....");var o=r||e;return o?(t=f.N(t,0),Promise.resolve(o).then(u).then(s).then(function(e){return a.do_delete_meta(t,e)})):Promise.reject(new Error("node is required!"))}return r}; | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};exports=module.exports=function(e,t){if(!e)throw new Error("_$(global instance pool) is required!");e._;var f=e.U,h=e.log,p=(e.inf,e.err),y=f.NS("CHAT","yellow");function g(e){return v(404,e)}function b(e){return v(503,e)}function v(e,t){return{statusCode:e,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Credentials":!0},body:JSON.stringify(t)}}function r(e,t,r){t.callbackWaitsForEmptyEventLoop=!1;var n=e.queryStringParameters||{},o=e.pathParameters||{},i=decodeURIComponent(o.type||""),a=decodeURIComponent(o.id||""),u=(a||"GET"!==e.httpMethod?e.httpMethod:"LIST")||"",s=decodeURIComponent(o.cmd||""),c=!u&&e.Records?"EVENT":{LIST:"LIST",GET:"GET",PUT:"PUT",POST:"POST",DELETE:"DELETE"}[u],d=e.body&&("string"==typeof e.body&&(e.body.startsWith("{")||e.body.startsWith("["))?JSON.parse(e.body):e.body)||e.Records&&{records:e.Records}||null;d||h(y,"#"+c+":"+s+" ("+u+", "+i+"/"+a+")...."),d&&h(y,"#"+c+":"+s+" ("+u+", "+i+"/"+a+").... body.len=",d?f.json(d).length:-1);var _={_id:a,_param:n,_body:d,_ctx:t},m=Promise.resolve(_),l=function(e,t,r){var n=null;switch(e){case"LIST":n=E;break;case"GET":n=T,"0"===t&&"self-test"===r&&(n=S);break;case"PUT":n=P;break;case"POST":n=w;break;case"DELETE":n=I}return n}(c,a,s);if(!l)return r(null,g({MODE:c}));try{m.then(function(e){var t=e._id,r=e._param,n=e._body,o=e._ctx;return l(t,r,n,o)}).then(function(e){return e&&"object"===(void 0===e?"undefined":_typeof(e))&&(e=f.cleanup(e)),r(null,function(e){return v(200,e)}(e)),!0}).catch(function(e){return p(y,"!!! callback@1 with err",e),0<=(e&&e.message||"").indexOf("404 NOT FOUND")?r(null,g(e.message)):r(null,b(e.message||e)),!1})}catch(e){r(e,b(e.message))}}r.do_list_chat=E,r.do_get_chat=T,r.do_put_chat=P,r.do_post_chat=w,r.do_delete_chat=I;var o="chat",i={id:"ID",parent:"Parent Chat ID (for reply)",group:"Group/Org ID",name:'Tag (should be "#")',nick:"Sender Nickname",message:"Short Message",description:"Long Message body",image:"Sender Avatar",state:"State",source:"Creator ID",target:"Target ID",created_at:"Created Time",updated_at:"Updated Time"},a=require("./_meta-api")(e),n=require("./user-api")(e),u=function(n){n=n||{};var e=Object.keys(i).reduce(function(e,t,r){return void 0!==n[t]&&(e[t]=n[t]),e},{});return void 0!==n._id&&(e._id=n._id),e},s=function(e){return e.type=o,e},c=function(e){return void 0!==e.name&&(e.name=(""+e.name).trim()),a.do_chain_on_update_parent(e)},d=function(e){return a.do_chain_on_update_group(e)},_=function(r){return void 0!==r.source?n.do_get_user(r.source).then(function(e){var t=(r.name||"#sms").trim();return r.name=t,r.source=e.id,r.nick=r.nick||e.nick||e.name,r.image=e.image,r}):r},m=function(t){return void 0!==t.target?n.do_get_user(t.target).then(function(e){return t.target=e.id,t}):t};function E(e,t,r,n){return h(y,"do_list_chat("+e+")...."),(t=t||{}).type=o,a.do_list_meta(e,t).then(function(e){var t=e.list||[];return e.list=t.map(u),e})}function T(e,t,r,n){return h(y,"do_get_chat("+e+")...."),(t=t||{}).type=o,a.do_get_meta(e,t).then(u)}function S(e,t,r,n){return h(y,"do_self_test_chat("+e+")...."),(t=t||{}).type=o,a.do_self_test_meta(e,t)}function P(t,e,r,n){h(y,"do_put_chat("+t+")....");var o=r||e;return o?(o._id=f.N(t,0),Promise.resolve(o).then(u).then(s).then(c).then(d).then(function(e){return a.do_put_meta(t,e)})):Promise.reject(new Error("node is required!"))}function w(t,e,r,n){if(h(y,"do_post_chat("+t+")...."),"0"!==t&&0!==t)return Promise.reject(new Error("invalid ID:"+t));var o=r||e;if(!o)return Promise.reject(new Error("node is required!"));t=f.N(t,0);return Promise.resolve(o).then(u).then(s).then(function(e){(e.source||"").trim();if(!e.source)return Promise.reject(new Error("source is required!"));(e.message||"").trim();return e.message?e:Promise.reject(new Error("message is required!"))}).then(_).then(m).then(c).then(d).then(function(e){return a.do_post_meta(t,e)}).then(u)}function I(t,e,r,n){h(y,"do_delete_chat("+t+")....");var o=r||e;return o?(t=f.N(t,0),Promise.resolve(o).then(u).then(s).then(function(e){return a.do_delete_meta(t,e)})):Promise.reject(new Error("node is required!"))}return r}; |
@@ -1,1 +0,1 @@ | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};exports=module.exports=function(e,t){if(!e)throw new Error("_$(global instance pool) is required!");e._;var m=e.U,f=e.log,y=(e.inf,e.err),h=m.NS("GRUP","yellow");function g(e){return v(404,e)}function b(e){return v(503,e)}function v(e,t){return{statusCode:e,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Credentials":!0},body:JSON.stringify(t)}}var r=function(e,t,r){t.callbackWaitsForEmptyEventLoop=!1;var o=e.queryStringParameters||{},n=e.pathParameters||{},i=decodeURIComponent(n.type||""),u=decodeURIComponent(n.id||""),a=(u||"GET"!==e.httpMethod?e.httpMethod:"LIST")||"",s=decodeURIComponent(n.cmd||""),d=!a&&e.Records?"EVENT":{LIST:"LIST",GET:"GET",PUT:"PUT",POST:"POST",DELETE:"DELETE"}[a],c=e.body&&("string"==typeof e.body&&(e.body.startsWith("{")||e.body.startsWith("["))?JSON.parse(e.body):e.body)||e.Records&&{records:e.Records}||null;!c&&f(h,"#"+d+":"+s+" ("+a+", "+i+"/"+u+")...."),c&&f(h,"#"+d+":"+s+" ("+a+", "+i+"/"+u+").... body.len=",c?m.json(c).length:-1);var _={_id:u,_param:o,_body:c,_ctx:t},p=Promise.resolve(_),l=function(e,t,r){var o=null;switch(e){case"LIST":o=E;break;case"GET":o=T,"0"===t&&"self-test"===r&&(o=S);break;case"PUT":o=P;break;case"POST":o=I;break;case"DELETE":o=D}return o}(d,u,s);if(!l)return r(null,g({MODE:d}));try{p.then(function(e){var t=e._id,r=e._param,o=e._body,n=e._ctx;return l(t,r,o,n)}).then(function(e){return e&&"object"===(void 0===e?"undefined":_typeof(e))&&(e=m.cleanup(e)),r(null,v(200,e)),!0}).catch(function(e){return y(h,"!!! callback@1 with err",e),0<=(e&&e.message||"").indexOf("404 NOT FOUND")?r(null,g(e.message)):r(null,b(e.message||e)),!1})}catch(e){r(e,b(e.message))}};r.do_list_group=E,r.do_get_group=T,r.do_put_group=P,r.do_post_group=I,r.do_delete_group=D;var n="group",i={id:"ID",parent:"Parent ID (상위 조직의 ID)",group:"Group ID (???)",name:"Name (그룹 고유 이름ID)",nick:"Show Name (표시할 이름)",message:"Short Description (그룹의 상태 표시 메세지)",description:"Long Description (그룹의 상세 내용)",image:"Image URL (대표 이미지)",state:"State (그룹 상태)",source:"Creator ID (생성자)",created_at:"Created Time",updated_at:"Updated Time"},u=require("./_meta-api")(e),a=function(o){o=o||{};var e=Object.keys(i).reduce(function(e,t,r){return void 0!==o[t]&&(e[t]=o[t]),e},{});return void 0!==o._id&&(e._id=o._id),e},s=function(e){return e.type=n,e},d=function(e){return void 0!==e.name&&(e.name=(""+e.name).trim()),u.do_chain_on_update_parent(e)},c=function(e){return u.do_chain_on_update_group(e)};function E(e,t,r,o){return f(h,"do_list_group("+e+")...."),(t=t||{}).type=n,u.do_list_meta(e,t).then(function(e){var t=e.list||[];return e.list=t.map(a),e})}function T(e,t,r,o){return f(h,"do_get_group("+e+")...."),(t=t||{}).type=n,u.do_get_meta(e,t).then(a)}function S(e,t,r,o){return f(h,"do_self_test_group("+e+")...."),(t=t||{}).type=n,u.do_self_test_meta(e,t)}function P(t,e,r,o){f(h,"do_put_group("+t+")....");var n=r||e;return n?(n._id=m.N(t,0),Promise.resolve(n).then(a).then(s).then(d).then(c).then(function(e){return u.do_put_meta(t,e)})):Promise.reject(new Error("node is required!"))}function I(t,e,r,o){if(f(h,"do_post_group("+t+")...."),"0"!==t&&0!==t)return Promise.reject(new Error("invalid ID:"+t));var n=r||e;return n?(t=m.N(t,0),Promise.resolve(n).then(a).then(s).then(d).then(c).then(function(e){return u.do_post_meta(t,e)}).then(a)):Promise.reject(new Error("node is required!"))}function D(t,e,r,o){f(h,"do_delete_group("+t+")....");var n=r||e;return n?(t=m.N(t,0),Promise.resolve(n).then(a).then(s).then(function(e){return u.do_delete_meta(t,e)})):Promise.reject(new Error("node is required!"))}return r}; | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};exports=module.exports=function(e,t){if(!e)throw new Error("_$(global instance pool) is required!");e._;var m=e.U,f=e.log,y=(e.inf,e.err),h=m.NS("GRUP","yellow");function g(e){return E(404,e)}function b(e){return E(503,e)}function E(e,t){return{statusCode:e,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Credentials":!0},body:JSON.stringify(t)}}function r(e,t,r){t.callbackWaitsForEmptyEventLoop=!1;var o=e.queryStringParameters||{},n=e.pathParameters||{},i=decodeURIComponent(n.type||""),u=decodeURIComponent(n.id||""),a=(u||"GET"!==e.httpMethod?e.httpMethod:"LIST")||"",s=decodeURIComponent(n.cmd||""),d=!a&&e.Records?"EVENT":{LIST:"LIST",GET:"GET",PUT:"PUT",POST:"POST",DELETE:"DELETE"}[a],c=e.body&&("string"==typeof e.body&&(e.body.startsWith("{")||e.body.startsWith("["))?JSON.parse(e.body):e.body)||e.Records&&{records:e.Records}||null;c||f(h,"#"+d+":"+s+" ("+a+", "+i+"/"+u+")...."),c&&f(h,"#"+d+":"+s+" ("+a+", "+i+"/"+u+").... body.len=",c?m.json(c).length:-1);var _={_id:u,_param:o,_body:c,_ctx:t},p=Promise.resolve(_),l=function(e,t,r){var o=null;switch(e){case"LIST":o=v;break;case"GET":o=T,"0"===t&&"self-test"===r&&(o=S);break;case"PUT":o=P;break;case"POST":o=I;break;case"DELETE":o=D}return o}(d,u,s);if(!l)return r(null,g({MODE:d}));try{p.then(function(e){var t=e._id,r=e._param,o=e._body,n=e._ctx;return l(t,r,o,n)}).then(function(e){return e&&"object"===(void 0===e?"undefined":_typeof(e))&&(e=m.cleanup(e)),r(null,function(e){return E(200,e)}(e)),!0}).catch(function(e){return y(h,"!!! callback@1 with err",e),0<=(e&&e.message||"").indexOf("404 NOT FOUND")?r(null,g(e.message)):r(null,b(e.message||e)),!1})}catch(e){r(e,b(e.message))}}r.do_list_group=v,r.do_get_group=T,r.do_put_group=P,r.do_post_group=I,r.do_delete_group=D;var n="group",i={id:"ID",parent:"Parent ID (상위 조직의 ID)",group:"Group ID (???)",name:"Name (그룹 고유 이름ID)",nick:"Show Name (표시할 이름)",message:"Short Description (그룹의 상태 표시 메세지)",description:"Long Description (그룹의 상세 내용)",image:"Image URL (대표 이미지)",state:"State (그룹 상태)",source:"Creator ID (생성자)",created_at:"Created Time",updated_at:"Updated Time"},u=require("./_meta-api")(e),a=function(o){o=o||{};var e=Object.keys(i).reduce(function(e,t,r){return void 0!==o[t]&&(e[t]=o[t]),e},{});return void 0!==o._id&&(e._id=o._id),e},s=function(e){return e.type=n,e},d=function(e){return void 0!==e.name&&(e.name=(""+e.name).trim()),u.do_chain_on_update_parent(e)},c=function(e){return u.do_chain_on_update_group(e)};function v(e,t,r,o){return f(h,"do_list_group("+e+")...."),(t=t||{}).type=n,u.do_list_meta(e,t).then(function(e){var t=e.list||[];return e.list=t.map(a),e})}function T(e,t,r,o){return f(h,"do_get_group("+e+")...."),(t=t||{}).type=n,u.do_get_meta(e,t).then(a)}function S(e,t,r,o){return f(h,"do_self_test_group("+e+")...."),(t=t||{}).type=n,u.do_self_test_meta(e,t)}function P(t,e,r,o){f(h,"do_put_group("+t+")....");var n=r||e;return n?(n._id=m.N(t,0),Promise.resolve(n).then(a).then(s).then(d).then(c).then(function(e){return u.do_put_meta(t,e)})):Promise.reject(new Error("node is required!"))}function I(t,e,r,o){if(f(h,"do_post_group("+t+")...."),"0"!==t&&0!==t)return Promise.reject(new Error("invalid ID:"+t));var n=r||e;return n?(t=m.N(t,0),Promise.resolve(n).then(a).then(s).then(d).then(c).then(function(e){return u.do_post_meta(t,e)}).then(a)):Promise.reject(new Error("node is required!"))}function D(t,e,r,o){f(h,"do_delete_group("+t+")....");var n=r||e;return n?(t=m.N(t,0),Promise.resolve(n).then(a).then(s).then(function(e){return u.do_delete_meta(t,e)})):Promise.reject(new Error("node is required!"))}return r}; |
@@ -1,1 +0,1 @@ | ||
"use strict";var _slicedToArray=function(e,r){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,r){var t=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(t.push(a.value),!r||t.length!==r);n=!0);}catch(e){o=!0,i=e}finally{try{!n&&u.return&&u.return()}finally{if(o)throw i}}return t}(e,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")},_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};exports=module.exports=function(e,r){if(!e)throw new Error("_$(global instance pool) is required!");e._;var f=e.U,m=e.log,h=(e.inf,e.err),y=f.NS("USER","yellow"),a=e.MMS;function g(e){return b(404,e)}function v(e){return b(503,e)}function b(e,r){return{statusCode:e,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Credentials":!0},body:JSON.stringify(r)}}var t=function(e,r,t){r.callbackWaitsForEmptyEventLoop=!1;var n=e.queryStringParameters||{},o=e.pathParameters||{},i=decodeURIComponent(o.type||""),a=decodeURIComponent(o.id||""),u=(a||"GET"!==e.httpMethod?e.httpMethod:"LIST")||"",s=decodeURIComponent(o.cmd||""),c=!u&&e.Records?"EVENT":{LIST:"LIST",GET:"GET",PUT:"PUT",POST:"POST",DELETE:"DELETE"}[u],d=e.body&&("string"==typeof e.body&&(e.body.startsWith("{")||e.body.startsWith("["))?JSON.parse(e.body):e.body)||e.Records&&{records:e.Records}||null;!d&&m(y,"#"+c+":"+s+" ("+u+", "+i+"/"+a+")...."),d&&m(y,"#"+c+":"+s+" ("+u+", "+i+"/"+a+").... body.len=",d?f.json(d).length:-1);var l={_id:a,_param:n,_body:d,_ctx:r},_=Promise.resolve(l),p=function(e,r,t){var n=null;switch(e){case"LIST":n=E;break;case"GET":n=T,"0"===r&&"self-test"===t&&(n=k);break;case"PUT":n=S;break;case"POST":n=w;break;case"DELETE":n=P}return n}(c,a,s);if(!p)return t(null,g({MODE:c}));try{_.then(function(e){var r=e._id,t=e._param,n=e._body,o=e._ctx;return p(r,t,n,o)}).then(function(e){return e&&"object"===(void 0===e?"undefined":_typeof(e))&&(e=f.cleanup(e)),t(null,b(200,e)),!0}).catch(function(e){return h(y,"!!! callback@1 with err",e),0<=(e&&e.message||"").indexOf("404 NOT FOUND")?t(null,g(e.message)):t(null,v(e.message||e)),!1})}catch(e){t(e,v(e.message))}};t.do_list_user=E,t.do_get_user=T,t.do_put_user=S,t.do_post_user=w,t.do_delete_user=P;var u="user",o={id:"ID",parent:"Parent User ID (같은 유저끼리 묶을 때, 상위 유저 속성)",group:"Group/Org ID (유저가 속한 조직/채널)",name:"UserName/Email/HP (유저 고유 식별번호)",nick:"Display Name (표시이름)",message:"Short Description (유저 상태 메세지)",description:"Long Description (유저 상세 정보)",image:"Image/Avatar URL (유저 이미지/아바타)",state:"State (상태)",source:"Creator ID (작성자)",created_at:"Created Time",updated_at:"Updated Time"},s=require("./_meta-api")(e),c=require("./group-api")(e),d=function(n){n=n||{};var e=Object.keys(o).reduce(function(e,r,t){return void 0!==n[r]&&(e[r]=n[r]),e},{});return void 0!==n._id&&(e._id=n._id),e},i=function(e){return e.type=u,e},l=function(e){return void 0!==e.name&&(e.name=(""+e.name).trim()),s.do_chain_on_update_parent(e)},_=function(e){return s.do_chain_on_update_group(e)};function E(e,r,t,n){return m(y,"do_list_user("+e+")...."),(r=r||{}).type=u,s.do_list_meta(e,r).then(function(e){var r=e.list||[];return e.list=r.map(d),e})}function T(e,r,t,n){m(y,"do_get_user("+e+")...."),(r=r||{}).type=u;var o=(""+(e||"")).toLowerCase();if(o&&/^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i.test(o)){m(y,"! email=",o);var i={type:u,name:o};return i.refid=a.calculate_refid(i),a.do_search_refid(i).then(function(e){return m(y,"> set email-id :=",e.id,"<- ref:"+i.refid),e.id}).catch(function(e){if(h(y,"! err=",e),(e&&e.message||"").startsWith("404 NOT FOUND")){if(i.name){var r=i.name.split("@",2),t=_slicedToArray(r,2),n=t[0],o=t[1];i.nick=n||"nobody",i.group=o||"nowhere",i.nick="d.kim"===i.nick?"daniel":i.nick,i.nick="kai.w"===i.nick?"kai":i.nick,i.nick=i.nick.charAt(0).toUpperCase()+i.nick.slice(1),i.image="/assets/avatars/"+i.nick.toLowerCase()+("Steve"===i.nick?".png":".jpg")}return m(y,">> new-node :=",i),Promise.resolve(i).then(function(r){return r.group?c.do_post_group(0,{name:r.group}).then(function(e){return m(y,">> group-id :=",e.id),r.group=e.id,r}):(r.group=0,r)}).then(function(e){return s.do_post_meta(0,e).then(function(e){return e.id})})}throw e}).then(function(e){return s.do_get_meta(e,r).then(d)})}return s.do_get_meta(e,r).then(d)}function k(e,r,t,n){return m(y,"do_self_test_user("+e+")...."),(r=r||{}).type=u,s.do_self_test_meta(e,r)}function S(r,e,t,n){m(y,"do_put_user("+r+")....");var o=t||e;return o?(o._id=f.N(r,0),Promise.resolve(o).then(d).then(i).then(l).then(_).then(function(e){return s.do_put_meta(r,e)})):Promise.reject(new Error("node is required!"))}function w(r,e,t,n){if(m(y,"do_post_user("+r+")...."),"0"!==r&&0!==r)return Promise.reject(new Error("invalid ID:"+r));var o=t||e;return o?(r=f.N(r,0),Promise.resolve(o).then(d).then(i).then(l).then(_).then(function(e){return s.do_post_meta(r,e)}).then(d)):Promise.reject(new Error("node is required!"))}function P(r,e,t,n){m(y,"do_delete_user("+r+")....");var o=t||e;return o?(r=f.N(r,0),Promise.resolve(o).then(d).then(i).then(function(e){return s.do_delete_meta(r,e)})):Promise.reject(new Error("node is required!"))}return t}; | ||
"use strict";var _slicedToArray=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{!n&&u.return&&u.return()}finally{if(o)throw i}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};exports=module.exports=function(e,t){if(!e)throw new Error("_$(global instance pool) is required!");e._;var f=e.U,m=e.log,h=(e.inf,e.err),y=f.NS("USER","yellow"),a=e.MMS;function g(e){return b(404,e)}function v(e){return b(503,e)}function b(e,t){return{statusCode:e,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Credentials":!0},body:JSON.stringify(t)}}function r(e,t,r){t.callbackWaitsForEmptyEventLoop=!1;var n=e.queryStringParameters||{},o=e.pathParameters||{},i=decodeURIComponent(o.type||""),a=decodeURIComponent(o.id||""),u=(a||"GET"!==e.httpMethod?e.httpMethod:"LIST")||"",s=decodeURIComponent(o.cmd||""),c=!u&&e.Records?"EVENT":{LIST:"LIST",GET:"GET",PUT:"PUT",POST:"POST",DELETE:"DELETE"}[u],d=e.body&&("string"==typeof e.body&&(e.body.startsWith("{")||e.body.startsWith("["))?JSON.parse(e.body):e.body)||e.Records&&{records:e.Records}||null;d||m(y,"#"+c+":"+s+" ("+u+", "+i+"/"+a+")...."),d&&m(y,"#"+c+":"+s+" ("+u+", "+i+"/"+a+").... body.len=",d?f.json(d).length:-1);var l={_id:a,_param:n,_body:d,_ctx:t},_=Promise.resolve(l),p=function(e,t,r){var n=null;switch(e){case"LIST":n=E;break;case"GET":n=T,"0"===t&&"self-test"===r&&(n=k);break;case"PUT":n=S;break;case"POST":n=w;break;case"DELETE":n=P}return n}(c,a,s);if(!p)return r(null,g({MODE:c}));try{_.then(function(e){var t=e._id,r=e._param,n=e._body,o=e._ctx;return p(t,r,n,o)}).then(function(e){return e&&"object"===(void 0===e?"undefined":_typeof(e))&&(e=f.cleanup(e)),r(null,function(e){return b(200,e)}(e)),!0}).catch(function(e){return h(y,"!!! callback@1 with err",e),0<=(e&&e.message||"").indexOf("404 NOT FOUND")?r(null,g(e.message)):r(null,v(e.message||e)),!1})}catch(e){r(e,v(e.message))}}r.do_list_user=E,r.do_get_user=T,r.do_put_user=S,r.do_post_user=w,r.do_delete_user=P;var u="user",o={id:"ID",parent:"Parent User ID (같은 유저끼리 묶을 때, 상위 유저 속성)",group:"Group/Org ID (유저가 속한 조직/채널)",name:"UserName/Email/HP (유저 고유 식별번호)",nick:"Display Name (표시이름)",message:"Short Description (유저 상태 메세지)",description:"Long Description (유저 상세 정보)",image:"Image/Avatar URL (유저 이미지/아바타)",state:"State (상태)",source:"Creator ID (작성자)",created_at:"Created Time",updated_at:"Updated Time"},s=require("./_meta-api")(e),c=require("./group-api")(e),d=function(n){n=n||{};var e=Object.keys(o).reduce(function(e,t,r){return void 0!==n[t]&&(e[t]=n[t]),e},{});return void 0!==n._id&&(e._id=n._id),e},i=function(e){return e.type=u,e},l=function(e){return void 0!==e.name&&(e.name=(""+e.name).trim()),s.do_chain_on_update_parent(e)},_=function(e){return s.do_chain_on_update_group(e)};function E(e,t,r,n){return m(y,"do_list_user("+e+")...."),(t=t||{}).type=u,s.do_list_meta(e,t).then(function(e){var t=e.list||[];return e.list=t.map(d),e})}function T(e,t,r,n){m(y,"do_get_user("+e+")...."),(t=t||{}).type=u;var o=(""+(e||"")).toLowerCase();if(o&&/^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i.test(o)){m(y,"! email=",o);var i={type:u,name:o};return i.refid=a.calculate_refid(i),a.do_search_refid(i).then(function(e){return m(y,"> set email-id :=",e.id,"<- ref:"+i.refid),e.id}).catch(function(e){if(h(y,"! err=",e),(e&&e.message||"").startsWith("404 NOT FOUND")){if(i.name){var t=i.name.split("@",2),r=_slicedToArray(t,2),n=r[0],o=r[1];i.nick=n||"nobody",i.group=o||"nowhere",i.nick="d.kim"===i.nick?"daniel":i.nick,i.nick="kai.w"===i.nick?"kai":i.nick,i.nick=i.nick.charAt(0).toUpperCase()+i.nick.slice(1),i.image="/assets/avatars/"+i.nick.toLowerCase()+("Steve"===i.nick?".png":".jpg")}return m(y,">> new-node :=",i),Promise.resolve(i).then(function(t){return t.group?c.do_post_group(0,{name:t.group}).then(function(e){return m(y,">> group-id :=",e.id),t.group=e.id,t}):(t.group=0,t)}).then(function(e){return s.do_post_meta(0,e).then(function(e){return e.id})})}throw e}).then(function(e){return s.do_get_meta(e,t).then(d)})}return s.do_get_meta(e,t).then(d)}function k(e,t,r,n){return m(y,"do_self_test_user("+e+")...."),(t=t||{}).type=u,s.do_self_test_meta(e,t)}function S(t,e,r,n){m(y,"do_put_user("+t+")....");var o=r||e;return o?(o._id=f.N(t,0),Promise.resolve(o).then(d).then(i).then(l).then(_).then(function(e){return s.do_put_meta(t,e)})):Promise.reject(new Error("node is required!"))}function w(t,e,r,n){if(m(y,"do_post_user("+t+")...."),"0"!==t&&0!==t)return Promise.reject(new Error("invalid ID:"+t));var o=r||e;return o?(t=f.N(t,0),Promise.resolve(o).then(d).then(i).then(l).then(_).then(function(e){return s.do_post_meta(t,e)}).then(d)):Promise.reject(new Error("node is required!"))}function P(t,e,r,n){m(y,"do_delete_user("+t+")....");var o=r||e;return o?(t=f.N(t,0),Promise.resolve(o).then(d).then(i).then(function(e){return s.do_delete_meta(t,e)})):Promise.reject(new Error("node is required!"))}return r}; |
@@ -1,1 +0,1 @@ | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_slicedToArray=function(e,r){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,r){var t=[],n=!0,i=!1,o=void 0;try{for(var d,u=e[Symbol.iterator]();!(n=(d=u.next()).done)&&(t.push(d.value),!r||t.length!==r);n=!0);}catch(e){i=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(i)throw o}}return t}(e,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function _defineProperty(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}module.exports=function(e,r,t){var n=r||"LEM",f=e.U,h=e._,i=e.MS,u=e.DS,o=e.RS,d=e.ES,a=e.ES6;if(!f)throw new Error("$U is required!");if(!h)throw new Error("$U is required!");if(!i)throw new Error("$MS is required!");if(!u)throw new Error("$DS is required!");if(!o)throw new Error("$RS is required!");var l=e.log,m=e.inf,s=e.err,p=f.NS(n,"green"),_=t||{},c=function(e){throw new Error("NOT_IMPLEMENTED - "+p+":"+JSON.stringify(e))};_.do_prepare=c,_.do_create=c,_.do_clone=c,_.do_update=c,_.do_increment=c,_.do_read=c,_.do_readX=c,_.do_delete=c,_.do_destroy=c,_.do_search=c,_.do_initialize=c,_.do_terminate=c,_.do_test_self=c,_.on_records=c,_.do_notify=c,_.do_subscribe=c,_.do_next_id=c,r.startsWith("_")||e(r,_);var v=function(e,r){return void 0===_[e]?r:_[e]},E=v("VERSION",1),y=v("REVISION",1),P=v("VERSION_NAME","V"),g=v("REVISION_NAME","R"),w=v("ID_INPUT","id"),S=v("ID_NAME","id"),j=v("ID_TYPE","test"),q=v("ID_NEXT",0),N=v("DYNA_TABLE","TestTable"),b=v("REDIS_PKEY","TPKEY"),O=v("DEFAULTS",null),I=v("CLONEABLE",!1),R=v("CLONED_ID","cloned"),A=v("PARENT_ID","parent"),T=v("PARENT_IMUT",!0),x=v("ES_INDEX","test-v1"),D=v("ES_TIMESERIES",!1),W=v("ES_TYPE",""),L=v("ES_MASTER",D?1:0),M=v("ES_VERSION",5);l(p,"! CONF_ES_TIMESERIES=",D);var $=v("XECURE_KEY",null),F=function(){var e=v("FIELDS",null),r=v("ES_FIELDS",D?null:["updated_at","name"]),n=v("XEC_FIELDS",null),t=function(e){return e&&"string"==typeof e?e.split(",").reduce(function(e,r){return(r=r.trim())&&e.push(r),r},[]):e};if(e){if(e=t(e),r=t(r||[]),n=t(n||[]),!Array.isArray(e))throw new Error("FIELDS must be array!");if(!Array.isArray(r))throw new Error("ES_FIELDS must be array!");if(!Array.isArray(n))throw new Error("XEC_FIELDS must be array!");e=e.reduce(function(e,r){var t=r.startsWith("*");if(!(r=t?r.substring(1):r))throw new Error("Invalid field name");return t&&n.indexOf(r)<0&&n.push(r),e.push(r),e},[]),r=r.reduce(function(e,r){var t=r.startsWith("*");if(!(r=t?r.substring(1):r))throw new Error("Invalid field name");return t&&n.indexOf(r)<0&&n.push(r),e.push(r),e},[]),n.length&&m(p,"XECURED-FIELDS =",n)}return!e||!e.length?n=r=e=null:r&&!r.length&&(r=D?e:null),[e,r,n]}(),k=_slicedToArray(F,3),Q=k[0],U=k[1],C=k[2];if(l(p,"! CONF_ES_FIELDS :=",U&&U.join(", ")),D&&b&&!b.startsWith("#"))throw new Error("ES_TIMESERIES - Redis should be inactive. PKEY:"+b);if(D&&!U.length)throw new Error("ES_TIMESERIES - CONF_ES_FIELDS should be valid!");var V=v("NS_NAME",""),Y=5<M?a:d;if(!Y)throw new Error("$ES is required! Ver:"+M);var B=require("dynamodb-value"),z=function(e){var o=require("crypto"),d="aes-256-ctr";if(!o)throw new Error("crypto module is required!");var r={crypto:o,algorithm:d,passwd:e};return r.encrypt=function(e){e=void 0===e?null:e;var r=JSON.stringify({alg:d,val:e}),t=new Buffer("LM!#"+(r||""),"utf8"),n=this.passwd||"",i=o.createCipher(d,n);return Buffer.concat([i.update(t),i.final()]).toString("base64")},r.decrypt=function(e){var r=new Buffer(e||"","base64"),t=this.passwd||"",n=o.createDecipher(d,t),i=Buffer.concat([n.update(r),n.final()]).toString("utf8");return(JSON.parse(i.substr("LM!#".length))||{}).val},r},H=require("./notify-service")(e,"!"+V,{NS_NAME:V});_.do_notify=H.do_notify,_.do_subscribe=H.do_subscribe,I&&Q&&(A&&Q.indexOf(A)<0&&Q.push(A),R&&Q.indexOf(R)<0&&Q.push(R));var X=[w,S,"created_at","updated_at","deleted_at",R];T&&A&&X.push(A);var J=function(e,r,t,n){t=t||"";var i=r="object"===(void 0===(e=e||0)?"undefined":_typeof(e))?r?f.extend(e,r):e:(r=null==r?{}:"object"!==(void 0===r?"undefined":_typeof(r))||r instanceof Promise?{params:r}:f.copy(r),f.extend(r,{_id:e}));if(void 0!==i.records)return f.promise(i);if(t.startsWith("notify"))return f.promise(i);if(i&&void 0!==i._is_prepared&&i._is_prepared)return i._current_mode=t,i._method_stack.push(t),1e3<i._method_stack.length?Promise.reject("method-stack full. size:"+i._method_stack):f.promise(i);e=j.startsWith("#")?i._id||i[w]||"":f.N(i._id||i[w]||0);var o=i._current_time||f.current_time_ms();return i._id=e,i._current_time=o,i._current_mode=t,i._method_stack=[],i._method_stack.push(t),i._updated_node=null,i._ctx=n,i._node={},i._is_prepared=!0,void 0===i._params_count&&(i._params_count=0,i=h.reduce(i,function(e,r,t){return t.startsWith("_")||t.startsWith("$")||0<=X.indexOf(t)||e._params_count++,e},i)),f.promise(i)},K=function(e){if(!e)return e;var r=e._current_mode||"";if(void 0!==e.records)return f.promise(e);if(r.startsWith("notify"))return f.promise(e);if(e._method_stack&&e._method_stack.pop(),"read"!==r&&"increment"!==r&&"create"!==r)return e;if(void 0!==e._auto_populate&&!e._auto_populate)return e;var t=e._node;return 0===e._params_count||-1===e._fields_count?e=h.reduce(t,function(e,r,t){return"updated_at"===t&&void 0!==e[t]?e[t]=e[t]>r?e[t]:r:e[t]=r,e},e):0<=e._fields_count&&(e=Q?Q.reduce(function(e,r){return void 0!==e[r]&&void 0!==t[r]&&(e[r]=t[r]),e},e):e),e},G=function(r){var e=r._id;if(l(p,"- my_prepare_id("+j+", "+e+")...."),j.startsWith("#")){if(j&&j.startsWith("#")&&1<j.length&&0<q){var t=j.substring(1);return i.do_get_next_id(t).then(function(e){return l(p,"> created next-id["+t+"]=",e),r._id=e,r})}}else if(j&&!e)return i.do_get_next_id(j).then(function(e){return l(p,"> created next-id=",e),r._id=e,r});return l(p,"> prepared-id =",e),Promise.resolve(r)},Z=function(t){if(!t._current_mode)throw new Error("._current_mode is required!");var n=t._current_mode,i=O||{},o=0,e=t._node||{};return Q?"prepare"===n||"create"===n||"clone"===n?e=Q.reduce(function(e,r){return r===S||r===P||r===g||("prepare"===n?(void 0!==i[r]?e[r]=O[r]:void 0!==t[r]&&(e[r]=t[r]),P&&(e[P]=E),g&&(e[g]=0)):("create"===n&&g&&(e[g]=y-1),void 0!==t[r]&&(e[r]=t[r])),o++),e},e):"update"!==n&&"increment"!==n&&"read"!==n||(e=Q.reduce(function(e,r){return r===S||void 0!==t[r]&&o++,e},e)):o=-1,t._fields_count=o,t._node=e,t},ee=function(e,r){return e.created_at=0,e.updated_at=r,e.deleted_at=r,e},re=function(e,r){return e.created_at=r,e.updated_at=r,e.deleted_at=0,e},te=function(t){if(!t._node)return Promise.reject(new Error("._node is required!"));if(!t._current_time)return Promise.reject(new Error("._current_time is required!"));if(D)return t._node=t._node||{},Promise.resolve(t);var n=t._id,i=t._current_time;return n?ye(t).catch(function(e){var r=e&&e.message||"";if(r.indexOf("404 NOT FOUND")<0)throw e;return m(p,"WARN! NOT FOUND. msg=",r),t}).then(function(e){var r=(e=Z(e))._node||{};if(e._force_create)s(p,"WARN! _force_create is set!");else if(!r.deleted_at)return s(p,"INVALID STATE FOR PREPARED. ID=",n,", TIMES[CUD]=",[r.created_at,r.updated_at,r.deleted_at]),Promise.reject(new Error("INVALID STATE. deleted_at:"+r.deleted_at));return e[w]=e._id,r[S]=e._id,e._node=ee(e._node,i),e}):(t=Z(t),G(t).then(function(e){var r=e._node||{};return e[w]=e._id,r[S]=e._id,e._node=ee(r,i),e}))},ne=function(e){if(!e._id)return Promise.reject(new Error("._id is required!"));if(!e._node)return Promise.reject(new Error("._node is required!"));if(!e._current_time)return Promise.reject(new Error("._current_time is required!"));if(D)return e._node=e._node||{},Promise.resolve(e);var t=e._id,n=e._current_time;return l(p,"> prepared-id =",t,", current-time =",n),ye(e).then(function(e){var r=(e=Z(e))._node||{};if(e._force_create)m(p,"WARN! _force_create is set!");else if(!r.deleted_at)return s(p,"INVALID STATE FOR CREATED. ID=",t,", TIMES[CUD]=",[r.created_at,r.updated_at,r.deleted_at]),Promise.reject(new Error("INVALID STATE. deleted_at:"+r.deleted_at));return e._node=re(r,n),e})},ie=function(e){if(!e._id)return Promise.reject(new Error("._id is required!"));if(!e._node)return Promise.reject(new Error("._node is required!"));if(!e._current_time)return Promise.reject(new Error("._current_time is required!"));if(D)return e._node=e._node||{},Promise.resolve(e);e._id,e._node;var r=e._current_time;return ye(e).then(function(e){return(e=Z(e))._node=re(e._node,r),e})},oe=function(e){if(!e._id)return Promise.reject(new Error("._id is required!"));if(!e._node)return Promise.reject(new Error("._node is required!"));if(!e._current_time)return Promise.reject(new Error("._current_time is required!"));if(D)return e._node=e._node||{},Promise.resolve(e);e._id,e._node;var n=e._current_time;return 0===(e=Z(e))._fields_count?e:ye(e).then(function(e){var r,t;return e._node=(r=e._node,t=n,r.updated_at=t,r),e})},de=function(e){if(!e._id)return Promise.reject(new Error("._id is required!"));if(!e._node)return Promise.reject(new Error("._node is required!"));if(!e._current_time)return Promise.reject(new Error("._current_time is required!"));if(D)return e._node=e._node||{},Promise.resolve(e);e._id;var n=e._current_time;return ye(e).then(function(e){var r,t;return(e=Z(e))._node=(r=e._node,t=n,r.updated_at=t,r.deleted_at=t,r),e})},ue=function(r){var e;if(!r._id)return Promise.reject(new Error("._id is required!"));var t=r._id;l(p,"- dynamo: read("+t+")....");var n=j.startsWith("#")?"String":"";return u.do_get_item(N,(e={},_defineProperty(e,S,t),_defineProperty(e,"idType",n),e)).then(function(e){return l(p,"> dynamo: node("+t+") res=",f.json(e)),r._node=e,r})},ae=function(r){if(!r._id)return Promise.reject(new Error("._id is required!"));if(!r._node)return Promise.reject(new Error("._node is required!"));var t=r._id,e=r._node;l(p,"- dynamo: update("+t+")....");var n={},i=0,o=$?z($):null;for(var d in r)d&&r.hasOwnProperty(d)&&((d=""+d).startsWith("_")||d.startsWith("$")||0<=X.indexOf(d)||Q&&Q.indexOf(d)<0||d&&(n[d]=r[d],e[d]=r[d],i++,o&&C&&0<=C.indexOf(d)&&(e[d]=r[d]?o.encrypt(r[d]):"",n[d]=e[d])));return n.updated_at=e.updated_at,l(p,"> dynamo: updated["+t+"]["+i+"] =",f.json(n)),r._updated_node=null,(r._updated_count=i)?(void 0!==e[g]&&(e[g]=f.N(e[g],0)+1),u.do_update_item(N,_defineProperty({},S,t),n,g?_defineProperty({},g,1):null).then(function(e){return r._updated_node=n,r._node=Object.assign(r._node,n),l(p,"> dynamo: updated("+t+") res=",f.json(e)),r})):Q?r:Promise.reject(new Error("nothing to update"))},se=function(r){if(!r._id)return Promise.reject(new Error("._id is required!"));if(!r._node)return Promise.reject(new Error("._node is required!"));var t=r._id,e=r._node,n=r._current_mode||"",i=r._current_time;if(l(p,"- dynamo: save("+t+")...."),"prepare"!==n){var o=$?z($):null;for(var d in r)d&&r.hasOwnProperty(d)&&((d=""+d).startsWith("_")||d.startsWith("$")||0<=X.indexOf(d)||Q&&Q.indexOf(d)<0||(e[d]=r[d],o&&C&&0<=C.indexOf(d)&&(e[d]=r[d]?o.encrypt(r[d]):"")))}return void 0!==e[g]&&(e[g]=f.N(e[g],0)+1),l(p,"> save@node-id =",t,", current-time =",i,", node :=",f.json(e)),u.do_create_item(N,_defineProperty({},S,t),e).then(function(e){return l(p,"> dynamo: saved("+t+") res=",f.json(e)),r})},_e=function(r){if(!r._id)return Promise.reject(new Error("._id is required!"));if(!r._node)return Promise.reject(new Error("._node is required!"));var t=r._id,e=r._node;l(p,"- dynamo: increment("+t+")....");var n={},i=0;for(var o in r)r.hasOwnProperty(o)&&((o=""+o).startsWith("_")||o.startsWith("$")||0<=X.indexOf(o)||Q&&Q.indexOf(o)<0||o&&(n[o]=r[o],e[o]=f.N(e[o],0)+f.N(r[o]),i++));return n.updated_at=e.updated_at,l(p,"> dynamo: incremented["+t+"] :=",f.json(n)),r._updated_node=null,(r._updated_count=i)?(void 0!==e[g]&&(e[g]=f.N(e[g],0)+1),u.do_increment_item(N,_defineProperty({},S,t),n,g?_defineProperty({},g,1):null).then(function(e){return l(p,"> dynamo: increment("+t+") res=",f.json(e)),r._updated_node=n,r})):Q?r:Promise.reject(new Error("nothing to update"))},ce=function(r){var t=r._id;return t?(l(p,"- dynamo: delete("+t+")...."),u.do_delete_item(N,_defineProperty({},S,t)).then(function(e){return l(p,"> dynamo: deleted("+t+") res=",f.json(e)),r._node=e||{},r})):Promise.reject(new Error("._id is required!"))},fe={do_read_cache:function(r){var t=r._id;return t?b?b.startsWith("#")?D?ue(r).then(function(e){return void 0===(e._node||{})[S]?Promise.reject(new Error("404 NOT FOUND. "+N+".id:"+(e._id||""))):e}):he.do_read_search(r).catch(function(e){throw e instanceof Error&&(s(p,"! redis: read-search("+b+", "+t+") err :=",e.message||e),r._error=e),r}):(l(p,"- redis: get-item("+t+")...."),o.do_get_item(b,t).then(function(e){return e?(r._node=e,r):Promise.reject(r)}).catch(function(e){throw e instanceof Error&&(s(p,"! redis: get-item("+b+", "+t+") err :=",e.message||e),r._error=e),r})):Promise.reject(r):Promise.reject(new Error("._id is required!"))},do_save_cache:function(r){var e=r._id;if(!e)return Promise.reject(new Error("._id is required!"));if(!r._node)return Promise.reject(new Error("._node is required!"));if(!b)return Promise.resolve(r);if(b.startsWith("#"))return Promise.resolve(r);var t=r._node;l(p,"- redis: create-item("+e+")....");var n=fe.do_set_cache_footprint(e,t);return n=n.then(function(){return o.do_create_item(b,e,t)}).then(function(e){return r})},do_update_cache:function(r){var e=r._id;if(!e)return Promise.reject(new Error("._id is required!"));if(!r._node)return Promise.reject(new Error("._node is required!"));if(!b)return Promise.resolve(r);if(b.startsWith("#"))return Promise.resolve(r);var t=r._node;l(p,"- redis: update-item("+e+")....");var n=fe.do_set_cache_footprint(e,t);return n=n.then(function(){return o.do_update_item(b,e,t)}).then(function(e){return r})},do_delete_cache:function(r){var t=r._id;if(!t)return Promise.reject(new Error("._id is required!"));if(!b)return Promise.resolve(r);var e=b.startsWith("#")?b.substr(1):b;if(!e)return Promise.resolve(r);return Promise.all([e,e+"/UPDATED",e+"/HASH"].map(function(e){return o.do_delete_item(e,t).then(function(e){return e}).catch(function(e){return e.message||""+e})})).then(function(e){return l(p,"> redis: deleted("+t+") res=",f.json(e)),r})},do_set_cache_footprint:function(e,r){if(!e)return Promise.reject(new Error("id is required!"));if(!b)return Promise.resolve(0);r=r||{};var t=f.N(r.updated_at,0),n=f.hash(r);return o.do_create_item([b+"/UPDATED",b+"/HASH"],e,[t,n]).then(function(e){return e})},do_get_cache_updated:function(e){return e?b?b.startsWith("#")?Promise.resolve(-1):o.do_get_item(b+"/UPDATED",e).then(function(e){return e}):Promise.resolve(-1):Promise.reject(new Error("id is required!"))},do_get_cache_hash:function(e){return e?b?b.startsWith("#")?Promise.resolve(-1):o.do_get_item(b+"/HASH",e).then(function(e){return e}):Promise.resolve(-1):Promise.reject(new Error("id is required!"))}},he={do_read_search:function(r){var e=r._id;return e?x?(l(p,"- elasticsearch: read("+e+")...."),Y.do_get_item(x,W,e).then(function(e){return e?(r._node=U?f.extend(r._node||{},e):e,r):Promise.reject(r)})):r:Promise.reject(new Error("._id is required!"))},do_save_search:function(r){var t=r._id;if(!t)return Promise.reject(new Error("._id is required!"));if(!r._node)return Promise.reject(new Error("._node is required!"));if(!x)return r;var n=r._node,e=r._current_time||f.current_time_ms();if(U){var i=h.reduce(U,function(e,r){return void 0!==n[r]&&(e[r]=n[r]),e},{});return Object.keys(i).length?(void 0!==n.created_at&&(i.created_at=n.created_at),void 0!==n.updated_at&&(i.updated_at=n.updated_at),void 0!==n.deleted_at&&(i.deleted_at=n.deleted_at),l(p,"> elasticsearch:save("+L+"/"+t+").... node2=",f.json(i)),D?(i["@timestamp"]=e,i[S]=t,Y.do_push_item(x,W,i).then(function(e){return l(p,"! elasticsearch: pushed-item("+t+")@1 res=",f.json(e)),r})):L?Y.do_create_item(x,W,t,i).then(function(e){return l(p,"! elasticsearch: saved-item("+t+")@1 res=",f.json(e)),r}):Y.do_update_item(x,W,t,i).then(function(e){return l(p,"! elasticsearch: updated-item("+t+")@1 res=",f.json(e)),r})):(s(p,"! elasticsearch:WARN! nothing to update ("+t+")...."),r)}return Y.do_create_item(x,W,t,n).then(function(e){return l(p,"! elasticsearch: create-item("+t+")@3 res=",f.json(e)),r})},do_update_search:function(r){var t=r._id;if(!t)return Promise.reject(new Error("._id is required!"));if(!r._updated_node)return Promise.reject(new Error("._updated_node is required!"));if(!x)return r;var n=r._updated_node;if(U){var e=h.reduce(U,function(e,r){return e[r]=n[r],e},{});return Object.keys(e).length?(void 0!==n.created_at&&(e.created_at=n.created_at),void 0!==n.updated_at&&(e.updated_at=n.updated_at),void 0!==n.deleted_at&&(e.deleted_at=n.deleted_at),Y.do_update_item(x,W,t,e).then(function(e){return l(p,"! elasticsearch: updated-item("+t+") res=",f.json(e)),r})):(s(p,"! elasticsearch:WARN! nothing to update ("+t+")...."),r)}return Y.do_update_item(x,W,t,n).then(function(e){return l(p,"! elasticsearch: updated-item("+t+") res=",f.json(e)),r})},do_delete_search:function(r){var t=r._id;return t?x?U&&!L?(l(p,"! elasticsearch:WARN! ignore delete ("+t+")...."),r):Y.do_delete_item(x,W,t).then(function(e){return l(p,"! elasticsearch: deleted-item("+t+") res=",f.json(e)),r}).catch(function(e){return l(p,"ERR! ignore - elastic:delete("+t+") res=",e),r}):r:Promise.reject(new Error("._id is required!"))},do_search:function(i){if(!x)return i;if(U&&!L)return i;var o={$page:0,$limit:0};return o.$page=f.N(i.page,0),o.$limit=f.N(i.ipp,0===i.ipp?0:10),D||(o.deleted_at=void 0!==i.deleted_at?i.deleted_at:"0"),i.$source&&(o.$source=i.$source),i.$exist&&(o.$exist=i.$exist),i.Q&&(o.$Q=i.Q),i.A&&(o.$A=i.A),i.O&&(o.$O=i.O),i.H&&(o.$H=i.H),D&&(o.$O=o.$O||"!@timestamp"),o.$O=o.$O||(j.startsWith("#")?S+".keyword":S),U&&U.forEach(function(e){"page"!=e&&"ipp"!=e&&(void 0!==i[e]&&(o[e]=i[e]),void 0!==i["!"+e]&&(o["!"+e]=i["!"+e]),void 0!==i["#"+e]&&(o["#"+e]=i["#"+e]))}),l(p,"! elasticsearch: search["+x+"/"+W+"] =",f.json(o)),Y.do_search_item(x,W,o).then(function(e){var r=e&&e.hits||{},t=r.hits||[],n=r;return i.list=t.map(function(r){var t=r._score?f.extend({_score:r._score},r._source):r._source;return D&&(t["@id"]=r._id),null!=r.highlight&&Object.keys(r.highlight).forEach(function(e){t[e+"_highlight"]=r.highlight[e][0]}),t}),i.total=f.N(n.total||0),i.page=o.$page,i.ipp=o.$limit,i.took=e.took||0,void 0!==e.aggregations&&(i.aggregations=e.aggregations),i}).catch(function(e){throw s(p,"!ERR @search =",e),e})}},le={},me=function(e){var r=e._id||"";return[b,N,""+r].join(":").toUpperCase()},pe=function(e){if(D)return e;var r=me(e),t=e._node,n=e._current_time||f.current_time_ms();t||delete le[r];var i={cached_at:n,node:t};return le[r]=i,e},ve=function(e){var r=me(e);return delete le[r],e},Ee=function(n){var i=n._id;return Object.keys(n).forEach(function(t,e){if(n.hasOwnProperty(t)&&!(t.startsWith("_")||t.startsWith("$")||Q&&Q.indexOf(t)<0)){var r=n[t];if(r&&"object"==(void 0===r?"undefined":_typeof(r))){if(!Array.isArray(r))throw new Error("Invalid data-type (object) key:"+t+"@"+i);r.forEach(function(e,r){if(e&&"object"==(void 0===e?"undefined":_typeof(e)))throw new Error("Invalid data-type (object) key:"+t+"@"+i+":"+r)})}}}),n},ye=function(e){var r,t,n,i,o;return e._id?(t=me(r=e),n=le[t]||{},i=f.N(n.cached_at,0),o=(r._current_time||f.current_time_ms())-i,n.node&&i&&!(2e3<o)&&(r._node=Object.assign({},n.node),r.C=i,1)?Promise.resolve(e):Promise.resolve(e).then(fe.do_read_cache).catch(function(e){if(e&&e instanceof Error)throw e;return ue(e).then(function(e){return void 0===(e._node||{})[S]?Promise.reject(new Error("404 NOT FOUND. "+N+".id:"+(e._id||""))):e}).then(fe.do_save_cache).then(he.do_save_search)}).then(pe)):Promise.reject(new Error("._id is required!"))},Pe=function(e){if(!e)return e;if(!C||!C.length)return e;var n=$?z($):null;return n?C.reduce(function(e,r){var t=e[r];return void 0===t||(e[r]=t?n.decrypt(t):t),e},e):e},ge=function(e){return e._id?e._node?Promise.resolve(e).then(Ee).then(se).then(fe.do_save_cache).then(he.do_save_search).then(pe):Promise.reject(new Error("_node is required!")):Promise.reject(new Error("._id is required!"))},we=function(e){var r=e._id;return r?e._node?e._current_time?(l(p,"- my_clone_node ("+r+")...."),Promise.resolve(e).then(function(n){if(!I)return n;var i=void 0!==n[A]?f.N(n[A],0):r,o=r;return G({_id:0}).then(function(e){var r=e._id,t=n._node||{};return t[S]=r,A&&(t[A]=i),R&&(t[R]=o),A&&(n[A]=i),R&&(n[R]=o),n._clone_id=r,n._node=t,n})}).then(function(e){var r=e._id;return e._node?e._clone_id?(e._id=e._clone_id,h.reduce(e,function(e,r,t){return t&&(t.startsWith("_")||t.startsWith("$")||0<=X.indexOf(t)||void 0!==e[t]&&(e[t]=r)),e},e._node),l(p,">> before save-node().. that._node =",f.json(e._node)),ge(e).then(function(){return e._id=r,e})):Promise.reject(new Error("._clone_id is required!")):Promise.reject(new Error("._node is required!"))}).then(function(e){return l(p,">> cloned-node["+e._id+" -> "+e._clone_id+"] res=",f.json(e._node)),e})):Promise.reject(new Error("._current_time is required!")):Promise.reject(new Error("._node is required!")):Promise.reject(new Error("._id is required!"))},Se=function(e){return e._id?Promise.resolve(e).then(ce).then(fe.do_delete_cache).then(he.do_delete_search).then(ve).then(function(e){return l(p,">> deleted-node res=",f.json(e._node)),e}):Promise.reject(new Error("._id is required!"))},je=function(e){return Promise.resolve(e).then(he.do_search)},qe=function(e){if(!e)return e;if(!e._id)return Promise.reject(new Error("_id is required!"));var n=e._current_mode;return Promise.resolve(e).then(function(r){var e=!1;if("create"===n||"prepare"===n||"delete"===n||"destroy"===n?e=!0:"update"!==n&&"increment"!==n||(e=0<r._fields_count),e){var t=V+":event:"+n;return l(p,">>> notify event-id:",t,", notifiable=",e),Oe(t,r).then(function(e){return r})}return r})},Ne=function(r){if(!r.records)return Promise.reject(new Error("records is required!"));var e=r.records.slice(0);if(l(p,"- my_event_records().... records.len=",e.length),!e.length)return r;var t,n,i;return(t=e,n=be,i=f.promise(t.shift()),i=t.reduce(function(e,r){return e.then(function(){return n(r)})},i.then(function(e){return n(e)}))).catch(function(e){return s(p,"error ignored! =",e),r}).then(function(){return r})},be=function(e){if(!e)return Promise.reject(new Error("record is required"));if(!e.dynamodb&&!e.Sns)return Promise.reject(new Error("record.dynamodb|Sns is required"));var i=e.eventName||"EVENT",r=null;if(e.dynamodb){var o=e.table||e.eventSourceARN&&e.eventSourceARN.split("/")[1]||"";if(l(p,"--- process-record("+o+") ... "),N!==o)return l(p,"! ignore record-table: "+N+" != "+o+" "),e;var t=e.dynamodb.Keys?B.toJavascript(e.dynamodb.Keys):{},d=e.dynamodb.NewImage?B.toJavascript(e.dynamodb.NewImage):null,n=e.dynamodb.OldImage?B.toJavascript(e.dynamodb.OldImage):null,u=t[S],a="MODIFY"===i?f.diff(n,d):null,s=f.N(d&&d.updated_at||0),_=a?h.reduce(a,function(e,r){return e[r]=n[r],e},{}):null,c={_id:u,_node:d,_updated_at:s,_diff:a,_prev:_};switch(r=Promise.resolve(c),a&&l(p,">> "+o+".different["+u+"]=",f.json(a)),i){case"INSERT":case"MODIFY":r=r.then(function(t){var n=t._id;return D?t:fe.do_get_cache_updated(n).then(function(e){if(m(p,">> "+o+".updated_at["+n+"] res=",e," <- ",t._updated_at,t._updated_at!==e?"*":""),!e||t._updated_at>=e){var r=f.hash(d);return fe.do_get_cache_hash(n).then(function(e){return e&&e===r?(l(p,"!WARN! ignored due to hash-value matching =",e),t):(-1!==e&&l(p,"! INFO! node was updated. hash :=",r,"<-",e),fe.do_save_cache(t).then(he.do_save_search))})}return l(p,"! ignored due to old-record"),t})});break;case"REMOVE":l(p,">> removed!"),r=(r=r.then(fe.do_delete_cache)).then(he.do_delete_search)}}else if(e.Sns){l(p,">> event-SNS =",e.Sns);r=Promise.resolve(e.Sns)}return r?r.then(function(r){var e={INSERT:"create",MODIFY:"update",REMOVE:"delete",EVENT:"event"}[i],t=!!e;if(r._current_mode=e,t){var n=V+":record:"+e;return l(p,">>> notify event-id:",n,", notifiable=",t),Oe(n,r).then(function(e){return r})}return r}).then(function(){return e}):Promise.reject(new Error("invalid chain!"))},Oe=function(e,r){return H.do_notify(e,r)},Ie=function(r){var e=[];if(N){var t=j.startsWith("#")?"S":"N";e.push(Promise.resolve("DynamoDb").then(function(e){return l(p,"# initialize ",e),u.do_create_table(N,S,t).then(function(e){return{result:e.TableDescription.TableName===N,name:"dynamo:"+N}})}).catch(function(e){var r=e.message||""+e;return s(p,"> create-table error=",e),"ResourceInUseException"===e.code?{result:!1,name:"dynamo:"+N,code:e.code}:{result:!1,name:"dynamo:"+N,error:r}}))}else l(p,"DS: WARN! ignored configuration. DYNA_TABLE=",N);if(j&&!j.startsWith("#")?e.push(Promise.resolve("MySQL").then(function(e){return l(p,"# initialize MySQL (Sequence) "),i.do_create_id_seq(j,q).then(function(e){return l(p,"> create-id-seq res=",e),{result:!0,name:"sequence"}})}).catch(function(e){var r=e.message||""+e;return s(p,"> create-id-seq error=",e),"ER_TABLE_EXISTS_ERROR"===e.code?{result:!1,name:"MySQL",code:e.code}:{result:!1,name:"MySQL",error:r}})):j&&j.startsWith("#")&&1<j.length&&0<q?e.push(Promise.resolve("MySQL").then(function(e){l(p,"# initialize MySQL (Sequence) ");var r=j.substring(1);return i.do_create_id_seq(r,q).then(function(e){return l(p,"> create-id-seq["+r+"] res=",e),{result:!0,name:"MySQL"}})}).catch(function(e){var r=e.message||""+e;return s(p,"> create-id-seq error=",e),"ER_TABLE_EXISTS_ERROR"===e.code?{result:!1,name:"MySQL",code:e.code}:{result:!1,name:"MySQL",error:r}})):l(p,"MS: WARN! ignored configuration. ID_TYPE=",j),x&&U){var n={template:x,mappings:{_default_:{dynamic_templates:[{string_fields:{match:"*_multi",match_mapping_type:"string",mapping:{type:"multi_field",fields:{"{name}":{type:6<=M?"text":"string",index:"analyzed",omit_norms:!0,index_options:"docs"},"{name}.raw":{type:6<=M?"text":"string",index:"not_analyzed",ignore_above:256}}}}}],_source:{enabled:6<=M},properties:{"@version":{type:6<=M?"text":"string",index:!(6<=M)&&"not_analyzed"},title:{type:6<=M?"text":"string"},name:{type:6<=M?"text":"string"},created_at:{type:"date",format:"strict_date_optional_time||epoch_millis"},updated_at:{type:"date",format:"strict_date_optional_time||epoch_millis"},deleted_at:{type:"date",format:"strict_date_optional_time||epoch_millis"}}}}};if(6<=M||(n.mappings._default_.all={enabled:!0}),S&&j.startsWith("#")&&(n.mappings._default_.properties[S]={type:6<=M?"text":"string",fields:{keyword:{type:"keyword",ignore_above:256}}}),D)n.settings={index:{refresh_interval:"5s"}},n.mappings._default_.properties["@timestamp"]={type:"date",doc_values:!0},n.mappings._default_.properties.ip={type:"ip"},"@version,title,created_at,updated_at,deleted_at".split(",").map(function(e){return delete n.mappings._default_.properties[e]});e.push(Promise.resolve("ElasticSearch").then(function(e){return l(p,"# initialize ElasticSearch. ES_TYPE=",W),Y.do_create_index_type(x,W,n).then(function(e){return l(p,"> create-es-index res=",e),{result:!0,name:"elasticsearch:"+x,settings:n}}).catch(function(e){var r=e.message||e.reason||""+e;return s(p,"> create-es-index error=",e),"index_already_exists_exception"===e.type?{result:!0,name:"elasticsearch:"+x,warn:e.type}:{result:!1,name:"elasticsearch:"+x,error:r}})}))}else l(p,"MS: WARN! ignored configuration. ES_TYPE=",W);return Promise.all(e).then(function(e){return l(p,">> results=",e),r.results=e,r})},Re=function(r){var e=[];if(N&&(l(p,"# terminate DynamoDB"),e.push(u.do_delete_table(N).then(function(e){e.TableDescription.TableName;return{result:!0,name:"dynamo:"+N}}).catch(function(e){var r=e.message||""+e;return s(p,"> delete-table error=",e),"ResourceNotFoundException"===e.code?{result:!0,name:"dynamo:"+N,code:e.code}:{result:!1,name:"dynamo:"+N,error:r}}))),j&&!j.startsWith("#"))l(p,"# terminate MySQL (Sequence) "),e.push(i.do_delete_id_seq(j).then(function(e){return l(p,"> delete-id-seq res=",e),{result:!0,name:"MySQL:"+j}}).catch(function(e){var r=e.message||""+e;return s(p,"> delete-id-seq error=",e),"ER_BAD_TABLE_ERROR"===e.code?{result:!0,name:"MySQL:"+j,code:e.code}:{result:!1,name:"MySQL:"+j,error:r}}));else if(j&&j.startsWith("#")&&1<j.length&&0<q){l(p,"# terminate MySQL (Sequence) ");var t=j.substring(1);e.push(i.do_delete_id_seq(t).then(function(e){return l(p,"> delete-id-seq["+t+"] res=",e),{result:!0,name:"MySQL:"+t}}).catch(function(e){var r=e.message||""+e;return s(p,"> delete-id-seq error=",e),"ER_BAD_TABLE_ERROR"===e.code?{result:!0,name:"MySQL:"+t,code:e.code}:{result:!1,name:"MySQL:"+t,error:r}}))}else l(p,"# ignored MySQL (Sequence) ");return x?(l(p,"# terminate ES (Index) "),e.push(Y.do_delete_index_type(x,null).then(function(e){return l(p,"> delete-es-index res=",e),{result:!0,name:"elasticsearch:"+x}}).catch(function(e){var r=e.message||e.reason||""+e;return s(p,"> delete-es-index error=",e),{result:!1,name:"elasticsearch:"+x,error:r}}))):l(p,"# ignored ES (Index) "),Promise.all(e).then(function(e){return l(p,">> results=",e),r.results=e,r})},Ae=function(e){var r={a:1,b:2,x:3},t={x:3,a:1,b:2},n={b:2,x:3,a:1};r.name="hi",t.name="hi",n.name="hi",l(p,"# node1 =",f.json(r)),l(p,"> node2 =",f.json(t)),l(p,"> node3 =",f.json(n)),l(p,"# node1.sorted =",f.json(r,!0)),l(p,"> node2.sorted =",f.json(t,!0)),l(p,"> node3.sorted =",f.json(n,!0)),l(p,"# hash1 =",f.hash(1)),l(p,"> node1 =",f.hash(r)),l(p,"> node2 =",f.hash(t)),l(p,"> node3 =",f.hash(n));var i={updated_at:234,name:"test hash"};return Promise.resolve(i).then(function(e){return o.do_create_item("H#",1,e)}).then(function(){return o.do_get_item("H#",1).then(function(e){return l(p,"> read-back data=",e),e})}).then(function(){return fe.do_set_cache_footprint(1,i)}).then(function(){return fe.do_get_cache_updated(1).then(function(e){return l(p,"> updated-at value=",void 0===e?"undefined":_typeof(e),":",e),e})}).then(function(){return fe.do_get_cache_hash(1).then(function(e){return l(p,"> hash-value value=",void 0===e?"undefined":_typeof(e),":",e),e})})},Te=function(r){return l(p,"- my_test_self()...."),Promise.resolve(r).then(Ae).then(function(e){return e||r})};return _.do_prepare_chain=function(e,r,t,n){return J(e,r,t,n)},_.do_finish_chain=function(e,r,t,n){return K(e)},_.do_prepare=function(e,r){return J(e,r,"prepare").then(te).then(ge).then(qe).then(K)},_.do_create=function(t,n){return J(t,n,"create").then(ne).catch(function(e){s(p,"ERR! prepare_node_created =",e instanceof Error,e.message||e);var r=e&&e.message||"";if(e instanceof Error&&0<=r.indexOf("404 NOT FOUND"))return m(p,"WARN! AUTO TRY TO PREPARE NODE. ID="+t),J(t,n,"create").then(function(e){var r=e._current_time;return e=Z(e),l(p,">> prepared old-node=",f.json(e._node)),e._node=re(e._node,r),e});throw e}).then(ge).then(qe).then(K)},_.do_saveES=function(e,r){return e?r?J(e,{},"save").then(Ee).then(function(e){return e._node=r,e}).then(he.do_save_search).then(K):Promise.reject(new Error("node is required!")):Promise.reject(new Error("id is required!"))},_.do_cleanRedis=function(e,r){return e?J(e,{},"clean").then(function(e){return e._node=r,e}).then(fe.do_delete_cache).then(K):Promise.reject(new Error("id is required!"))},_.do_clone=function(e,r){return J(e,r,"clone").then(ie).then(we).then(qe).then(K)},_.do_read=function(e,r){return J(e,r,"read").then(Z).then(function(e){return 0!==e._params_count&&0===e._fields_count?e:ye(e)}).then(K)},_.do_readX=function(e,r){return J(e,r,"read").then(Z).then(function(e){return 0!==e._params_count&&0===e._fields_count?e:ye(e)}).then(K).then(Pe)},_.do_update=function(e,r){return J(e,r,"update").then(oe).then(function(e){return 0===e._fields_count?e:(n=(t=e)._id)?0===t._fields_count?(l(p,"! my_update_node() no need to update... fields_count="+t._fields_count),t):Promise.resolve(t).then(Ee).then(ae).then(function(e){return e._updated_node?fe.do_save_cache(e):e}).then(function(e){return e._updated_node?he.do_save_search(e):e}).then(function(e){return e._updated_node?pe(e):e}).then(function(e){return l(p,">> updated-node["+n+"] res=",f.json(e._updated_node)),e}).catch(function(e){var r=e&&e.message||"";if(s(p,">> updated-node["+n+"] err=",r),0<r.indexOf("an attribute that does not exist in the item"))return ge(t);throw e}):Promise.reject(new Error("._id is required!"));var t,n}).then(qe).then(K)},_.do_increment=function(e,r){return J(e,r,"increment").then(oe).then(function(e){return 0===e._fields_count?e:(t=(r=e)._id)?0===r._fields_count?(l(p,"! my_increment_node() no need to increment... fields_count="+r._fields_count),r):Promise.resolve(r).then(Ee).then(_e).then(function(e){return e._updated_node?fe.do_save_cache(e):e}).then(function(e){return e._updated_node?he.do_save_search(e):e}).then(function(e){return e._updated_node?pe(e):e}).then(function(e){return l(p,">> increment-node["+t+"] res=",f.json(e._updated_node)),e}):Promise.reject(new Error("._id is required!"));var r,t}).then(qe).then(K)},_.do_delete=function(e,r){return J(e,r,"delete").then(de).then(ge).then(qe).then(K)},_.do_destroy=function(e,r){return J(e,r,"destroy").then(Se).then(qe).then(K)},_.do_search=function(e,r){return J(e,r,"search").then(je).then(K)},_.on_records=function(e,r){return J(e,r,"on_records").then(Ne).then(K)},_.do_initialize=function(e,r){return J(e,r,"initialize").then(Ie).then(K)},_.do_terminate=function(e,r){return J(e,r,"terminate").then(Re).then(K)},_.do_test_self=function(e,r){return J(e,r,"self-test").then(Te).then(K)},_.do_next_id=function(){return G({_id:0}).then(function(e){return e._id})},_}; | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_slicedToArray=function(e,r){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,r){var t=[],n=!0,i=!1,o=void 0;try{for(var d,u=e[Symbol.iterator]();!(n=(d=u.next()).done)&&(t.push(d.value),!r||t.length!==r);n=!0);}catch(e){i=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(i)throw o}}return t}(e,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function _defineProperty(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}module.exports=function(e,r,t){var n=r||"LEM",f=e.U,h=e._,i=e.MS,u=e.DS,o=e.RS,d=e.ES,a=e.ES6;if(!f)throw new Error("$U is required!");if(!h)throw new Error("$U is required!");if(!i)throw new Error("$MS is required!");if(!u)throw new Error("$DS is required!");if(!o)throw new Error("$RS is required!");function s(e){throw new Error("NOT_IMPLEMENTED - "+p+":"+JSON.stringify(e))}var l=e.log,m=e.inf,_=e.err,p=f.NS(n,"green"),c=t||{};c.do_prepare=s,c.do_create=s,c.do_clone=s,c.do_update=s,c.do_increment=s,c.do_read=s,c.do_readX=s,c.do_delete=s,c.do_destroy=s,c.do_search=s,c.do_initialize=s,c.do_terminate=s,c.do_test_self=s,c.on_records=s,c.do_notify=s,c.do_subscribe=s,c.do_next_id=s,r.startsWith("_")||e(r,c);function v(e,r){return void 0===c[e]?r:c[e]}var E=v("VERSION",1),y=v("REVISION",1),P=v("VERSION_NAME","V"),g=v("REVISION_NAME","R"),w=v("ID_INPUT","id"),S=v("ID_NAME","id"),j=v("ID_TYPE","test"),q=v("ID_NEXT",0),N=v("DYNA_TABLE","TestTable"),b=v("REDIS_PKEY","TPKEY"),O=v("DEFAULTS",null),I=v("CLONEABLE",!1),R=v("CLONED_ID","cloned"),A=v("PARENT_ID","parent"),T=v("PARENT_IMUT",!0),x=v("ES_INDEX","test-v1"),D=v("ES_TIMESERIES",!1),W=v("ES_TYPE",""),L=v("ES_MASTER",D?1:0),M=v("ES_VERSION",5);l(p,"! CONF_ES_TIMESERIES=",D);var $=v("XECURE_KEY",null),F=function(){function e(e){return e&&"string"==typeof e?e.split(",").reduce(function(e,r){return(r=r.trim())&&e.push(r),r},[]):e}var r=v("FIELDS",null),t=v("ES_FIELDS",D?null:["updated_at","name"]),n=v("XEC_FIELDS",null);if(r){if(r=e(r),t=e(t||[]),n=e(n||[]),!Array.isArray(r))throw new Error("FIELDS must be array!");if(!Array.isArray(t))throw new Error("ES_FIELDS must be array!");if(!Array.isArray(n))throw new Error("XEC_FIELDS must be array!");r=r.reduce(function(e,r){var t=r.startsWith("*");if(!(r=t?r.substring(1):r))throw new Error("Invalid field name");return t&&n.indexOf(r)<0&&n.push(r),e.push(r),e},[]),t=t.reduce(function(e,r){var t=r.startsWith("*");if(!(r=t?r.substring(1):r))throw new Error("Invalid field name");return t&&n.indexOf(r)<0&&n.push(r),e.push(r),e},[]),n.length&&m(p,"XECURED-FIELDS =",n)}return!r||!r.length?n=t=r=null:t&&!t.length&&(t=D?r:null),[r,t,n]}(),k=_slicedToArray(F,3),Q=k[0],U=k[1],C=k[2];if(l(p,"! CONF_ES_FIELDS :=",U&&U.join(", ")),D&&b&&!b.startsWith("#"))throw new Error("ES_TIMESERIES - Redis should be inactive. PKEY:"+b);if(D&&!U.length)throw new Error("ES_TIMESERIES - CONF_ES_FIELDS should be valid!");var V=v("NS_NAME",""),Y=5<M?a:d;if(!Y)throw new Error("$ES is required! Ver:"+M);function B(e){var o=require("crypto"),d="aes-256-ctr";if(!o)throw new Error("crypto module is required!");var r={crypto:o,algorithm:d,passwd:e,encrypt:function(e){e=void 0===e?null:e;var r=JSON.stringify({alg:d,val:e}),t=new Buffer("LM!#"+(r||""),"utf8"),n=this.passwd||"",i=o.createCipher(d,n);return Buffer.concat([i.update(t),i.final()]).toString("base64")},decrypt:function(e){var r=new Buffer(e||"","base64"),t=this.passwd||"",n=o.createDecipher(d,t),i=Buffer.concat([n.update(r),n.final()]).toString("utf8");return(JSON.parse(i.substr("LM!#".length))||{}).val}};return r}var z=require("dynamodb-value"),H=require("./notify-service")(e,"!"+V,{NS_NAME:V});c.do_notify=H.do_notify,c.do_subscribe=H.do_subscribe,I&&Q&&(A&&Q.indexOf(A)<0&&Q.push(A),R&&Q.indexOf(R)<0&&Q.push(R));var X=[w,S,"created_at","updated_at","deleted_at",R];T&&A&&X.push(A);function J(e,r,t,n){t=t||"";var i=r="object"===(void 0===(e=e||0)?"undefined":_typeof(e))?r?f.extend(e,r):e:(r=null==r?{}:"object"!==(void 0===r?"undefined":_typeof(r))||r instanceof Promise?{params:r}:f.copy(r),f.extend(r,{_id:e}));if(void 0!==i.records)return f.promise(i);if(t.startsWith("notify"))return f.promise(i);if(i&&void 0!==i._is_prepared&&i._is_prepared)return i._current_mode=t,i._method_stack.push(t),1e3<i._method_stack.length?Promise.reject("method-stack full. size:"+i._method_stack):f.promise(i);e=j.startsWith("#")?i._id||i[w]||"":f.N(i._id||i[w]||0);var o=i._current_time||f.current_time_ms();return i._id=e,i._current_time=o,i._current_mode=t,i._method_stack=[],i._method_stack.push(t),i._updated_node=null,i._ctx=n,i._node={},i._is_prepared=!0,void 0===i._params_count&&(i._params_count=0,i=h.reduce(i,function(e,r,t){return t.startsWith("_")||t.startsWith("$")||0<=X.indexOf(t)||e._params_count++,e},i)),f.promise(i)}function K(e){if(!e)return e;var r=e._current_mode||"";if(void 0!==e.records)return f.promise(e);if(r.startsWith("notify"))return f.promise(e);if(e._method_stack&&e._method_stack.pop(),"read"!==r&&"increment"!==r&&"create"!==r)return e;if(void 0!==e._auto_populate&&!e._auto_populate)return e;var t=e._node;return 0===e._params_count||-1===e._fields_count?e=h.reduce(t,function(e,r,t){return"updated_at"===t&&void 0!==e[t]?e[t]=e[t]>r?e[t]:r:e[t]=r,e},e):0<=e._fields_count&&(e=Q?Q.reduce(function(e,r){return void 0!==e[r]&&void 0!==t[r]&&(e[r]=t[r]),e},e):e),e}function G(r){var e=r._id;if(l(p,"- my_prepare_id("+j+", "+e+")...."),j.startsWith("#")){if(j&&j.startsWith("#")&&1<j.length&&0<q){var t=j.substring(1);return i.do_get_next_id(t).then(function(e){return l(p,"> created next-id["+t+"]=",e),r._id=e,r})}}else if(j&&!e)return i.do_get_next_id(j).then(function(e){return l(p,"> created next-id=",e),r._id=e,r});return l(p,"> prepared-id =",e),Promise.resolve(r)}function Z(t){if(!t._current_mode)throw new Error("._current_mode is required!");var n=t._current_mode,i=O||{},o=0,e=t._node||{};return Q?"prepare"===n||"create"===n||"clone"===n?e=Q.reduce(function(e,r){return r===S||r===P||r===g||("prepare"===n?(void 0!==i[r]?e[r]=O[r]:void 0!==t[r]&&(e[r]=t[r]),P&&(e[P]=E),g&&(e[g]=0)):("create"===n&&g&&(e[g]=y-1),void 0!==t[r]&&(e[r]=t[r])),o++),e},e):"update"!==n&&"increment"!==n&&"read"!==n||(e=Q.reduce(function(e,r){return r===S||void 0!==t[r]&&o++,e},e)):o=-1,t._fields_count=o,t._node=e,t}function ee(e,r){return e.created_at=0,e.updated_at=r,e.deleted_at=r,e}function re(e,r){return e.created_at=r,e.updated_at=r,e.deleted_at=0,e}function te(t){if(!t._node)return Promise.reject(new Error("._node is required!"));if(!t._current_time)return Promise.reject(new Error("._current_time is required!"));if(D)return t._node=t._node||{},Promise.resolve(t);var n=t._id,i=t._current_time;return n?Re(t).catch(function(e){var r=e&&e.message||"";if(r.indexOf("404 NOT FOUND")<0)throw e;return m(p,"WARN! NOT FOUND. msg=",r),t}).then(function(e){var r=(e=Z(e))._node||{};if(e._force_create)_(p,"WARN! _force_create is set!");else if(!r.deleted_at)return _(p,"INVALID STATE FOR PREPARED. ID=",n,", TIMES[CUD]=",[r.created_at,r.updated_at,r.deleted_at]),Promise.reject(new Error("INVALID STATE. deleted_at:"+r.deleted_at));return e[w]=e._id,r[S]=e._id,e._node=ee(e._node,i),e}):(t=Z(t),G(t).then(function(e){var r=e._node||{};return e[w]=e._id,r[S]=e._id,e._node=ee(r,i),e}))}function ne(e){if(!e._id)return Promise.reject(new Error("._id is required!"));if(!e._node)return Promise.reject(new Error("._node is required!"));if(!e._current_time)return Promise.reject(new Error("._current_time is required!"));if(D)return e._node=e._node||{},Promise.resolve(e);var t=e._id,n=e._current_time;return l(p,"> prepared-id =",t,", current-time =",n),Re(e).then(function(e){var r=(e=Z(e))._node||{};if(e._force_create)m(p,"WARN! _force_create is set!");else if(!r.deleted_at)return _(p,"INVALID STATE FOR CREATED. ID=",t,", TIMES[CUD]=",[r.created_at,r.updated_at,r.deleted_at]),Promise.reject(new Error("INVALID STATE. deleted_at:"+r.deleted_at));return e._node=re(r,n),e})}function ie(e){if(!e._id)return Promise.reject(new Error("._id is required!"));if(!e._node)return Promise.reject(new Error("._node is required!"));if(!e._current_time)return Promise.reject(new Error("._current_time is required!"));if(D)return e._node=e._node||{},Promise.resolve(e);e._id,e._node;var r=e._current_time;return Re(e).then(function(e){return(e=Z(e))._node=re(e._node,r),e})}function oe(e){if(!e._id)return Promise.reject(new Error("._id is required!"));if(!e._node)return Promise.reject(new Error("._node is required!"));if(!e._current_time)return Promise.reject(new Error("._current_time is required!"));if(D)return e._node=e._node||{},Promise.resolve(e);e._id,e._node;var r=e._current_time;return 0===(e=Z(e))._fields_count?e:Re(e).then(function(e){return e._node=function(e,r){return e.updated_at=r,e}(e._node,r),e})}function de(e){if(!e._id)return Promise.reject(new Error("._id is required!"));if(!e._node)return Promise.reject(new Error("._node is required!"));if(!e._current_time)return Promise.reject(new Error("._current_time is required!"));if(D)return e._node=e._node||{},Promise.resolve(e);e._id;var r=e._current_time;return Re(e).then(function(e){return(e=Z(e))._node=function(e,r){return e.updated_at=r,e.deleted_at=r,e}(e._node,r),e})}function ue(e){var r=e._id||"";return[b,N,""+r].join(":").toUpperCase()}function ae(e){if(D)return e;var r=ue(e),t=e._node,n=e._current_time||f.current_time_ms();t||delete Ie[r];var i={cached_at:n,node:t};return Ie[r]=i,e}function se(e){var r=ue(e);return delete Ie[r],e}function _e(n){var i=n._id;return Object.keys(n).forEach(function(t,e){if(n.hasOwnProperty(t)&&!(t.startsWith("_")||t.startsWith("$")||Q&&Q.indexOf(t)<0)){var r=n[t];if(r&&"object"==(void 0===r?"undefined":_typeof(r))){if(!Array.isArray(r))throw new Error("Invalid data-type (object) key:"+t+"@"+i);r.forEach(function(e,r){if(e&&"object"==(void 0===e?"undefined":_typeof(e)))throw new Error("Invalid data-type (object) key:"+t+"@"+i+":"+r)})}}}),n}function ce(e){if(!e)return e;if(!C||!C.length)return e;var n=$?B($):null;return n?C.reduce(function(e,r){var t=e[r];return void 0===t||(e[r]=t?n.decrypt(t):t),e},e):e}function fe(e){return e._id?e._node?Promise.resolve(e).then(_e).then(je).then(be.do_save_cache).then(Oe.do_save_search).then(ae):Promise.reject(new Error("_node is required!")):Promise.reject(new Error("._id is required!"))}function he(e){var r=e._id;return r?e._node?e._current_time?(l(p,"- my_clone_node ("+r+")...."),Promise.resolve(e).then(function(n){if(!I)return n;var i=void 0!==n[A]?f.N(n[A],0):r,o=r;return G({_id:0}).then(function(e){var r=e._id,t=n._node||{};return t[S]=r,A&&(t[A]=i),R&&(t[R]=o),A&&(n[A]=i),R&&(n[R]=o),n._clone_id=r,n._node=t,n})}).then(function(e){var r=e._id;return e._node?e._clone_id?(e._id=e._clone_id,h.reduce(e,function(e,r,t){return t&&(t.startsWith("_")||t.startsWith("$")||0<=X.indexOf(t)||void 0!==e[t]&&(e[t]=r)),e},e._node),l(p,">> before save-node().. that._node =",f.json(e._node)),fe(e).then(function(){return e._id=r,e})):Promise.reject(new Error("._clone_id is required!")):Promise.reject(new Error("._node is required!"))}).then(function(e){return l(p,">> cloned-node["+e._id+" -> "+e._clone_id+"] res=",f.json(e._node)),e})):Promise.reject(new Error("._current_time is required!")):Promise.reject(new Error("._node is required!")):Promise.reject(new Error("._id is required!"))}function le(e){return e._id?Promise.resolve(e).then(Ne).then(be.do_delete_cache).then(Oe.do_delete_search).then(se).then(function(e){return l(p,">> deleted-node res=",f.json(e._node)),e}):Promise.reject(new Error("._id is required!"))}function me(e){return Promise.resolve(e).then(Oe.do_search)}function pe(e){if(!e)return e;if(!e._id)return Promise.reject(new Error("_id is required!"));var n=e._current_mode;return Promise.resolve(e).then(function(r){var e=!1;if("create"===n||"prepare"===n||"delete"===n||"destroy"===n?e=!0:"update"!==n&&"increment"!==n||(e=0<r._fields_count),e){var t=V+":event:"+n;return l(p,">>> notify event-id:",t,", notifiable=",e),Te(t,r).then(function(e){return r})}return r})}function ve(r){if(!r.records)return Promise.reject(new Error("records is required!"));var e,t,n,i=r.records.slice(0);return l(p,"- my_event_records().... records.len=",i.length),i.length?(e=i,t=Ae,n=f.promise(e.shift()),n=e.reduce(function(e,r){return e.then(function(){return t(r)})},n.then(function(e){return t(e)}))).catch(function(e){return _(p,"error ignored! =",e),r}).then(function(){return r}):r}function Ee(r){var e=[];if(N){var t=j.startsWith("#")?"S":"N";e.push(Promise.resolve("DynamoDb").then(function(e){return l(p,"# initialize ",e),u.do_create_table(N,S,t).then(function(e){return{result:e.TableDescription.TableName===N,name:"dynamo:"+N}})}).catch(function(e){var r=e.message||""+e;return _(p,"> create-table error=",e),"ResourceInUseException"===e.code?{result:!1,name:"dynamo:"+N,code:e.code}:{result:!1,name:"dynamo:"+N,error:r}}))}else l(p,"DS: WARN! ignored configuration. DYNA_TABLE=",N);if(j&&!j.startsWith("#")?e.push(Promise.resolve("MySQL").then(function(e){return l(p,"# initialize MySQL (Sequence) "),i.do_create_id_seq(j,q).then(function(e){return l(p,"> create-id-seq res=",e),{result:!0,name:"sequence"}})}).catch(function(e){var r=e.message||""+e;return _(p,"> create-id-seq error=",e),"ER_TABLE_EXISTS_ERROR"===e.code?{result:!1,name:"MySQL",code:e.code}:{result:!1,name:"MySQL",error:r}})):j&&j.startsWith("#")&&1<j.length&&0<q?e.push(Promise.resolve("MySQL").then(function(e){l(p,"# initialize MySQL (Sequence) ");var r=j.substring(1);return i.do_create_id_seq(r,q).then(function(e){return l(p,"> create-id-seq["+r+"] res=",e),{result:!0,name:"MySQL"}})}).catch(function(e){var r=e.message||""+e;return _(p,"> create-id-seq error=",e),"ER_TABLE_EXISTS_ERROR"===e.code?{result:!1,name:"MySQL",code:e.code}:{result:!1,name:"MySQL",error:r}})):l(p,"MS: WARN! ignored configuration. ID_TYPE=",j),x&&U){var n={template:x,mappings:{_default_:{dynamic_templates:[{string_fields:{match:"*_multi",match_mapping_type:"string",mapping:{type:"multi_field",fields:{"{name}":{type:6<=M?"text":"string",index:"analyzed",omit_norms:!0,index_options:"docs"},"{name}.raw":{type:6<=M?"text":"string",index:"not_analyzed",ignore_above:256}}}}}],_source:{enabled:6<=M},properties:{"@version":{type:6<=M?"text":"string",index:!(6<=M)&&"not_analyzed"},title:{type:6<=M?"text":"string"},name:{type:6<=M?"text":"string"},created_at:{type:"date",format:"strict_date_optional_time||epoch_millis"},updated_at:{type:"date",format:"strict_date_optional_time||epoch_millis"},deleted_at:{type:"date",format:"strict_date_optional_time||epoch_millis"}}}}};if(6<=M||(n.mappings._default_.all={enabled:!0}),S&&j.startsWith("#")&&(n.mappings._default_.properties[S]={type:6<=M?"text":"string",fields:{keyword:{type:"keyword",ignore_above:256}}}),D)n.settings={index:{refresh_interval:"5s"}},n.mappings._default_.properties["@timestamp"]={type:"date",doc_values:!0},n.mappings._default_.properties.ip={type:"ip"},"@version,title,created_at,updated_at,deleted_at".split(",").map(function(e){return delete n.mappings._default_.properties[e]});e.push(Promise.resolve("ElasticSearch").then(function(e){return l(p,"# initialize ElasticSearch. ES_TYPE=",W),Y.do_create_index_type(x,W,n).then(function(e){return l(p,"> create-es-index res=",e),{result:!0,name:"elasticsearch:"+x,settings:n}}).catch(function(e){var r=e.message||e.reason||""+e;return _(p,"> create-es-index error=",e),"index_already_exists_exception"===e.type?{result:!0,name:"elasticsearch:"+x,warn:e.type}:{result:!1,name:"elasticsearch:"+x,error:r}})}))}else l(p,"MS: WARN! ignored configuration. ES_TYPE=",W);return Promise.all(e).then(function(e){return l(p,">> results=",e),r.results=e,r})}function ye(r){var e=[];if(N&&(l(p,"# terminate DynamoDB"),e.push(u.do_delete_table(N).then(function(e){e.TableDescription.TableName;return{result:!0,name:"dynamo:"+N}}).catch(function(e){var r=e.message||""+e;return _(p,"> delete-table error=",e),"ResourceNotFoundException"===e.code?{result:!0,name:"dynamo:"+N,code:e.code}:{result:!1,name:"dynamo:"+N,error:r}}))),j&&!j.startsWith("#"))l(p,"# terminate MySQL (Sequence) "),e.push(i.do_delete_id_seq(j).then(function(e){return l(p,"> delete-id-seq res=",e),{result:!0,name:"MySQL:"+j}}).catch(function(e){var r=e.message||""+e;return _(p,"> delete-id-seq error=",e),"ER_BAD_TABLE_ERROR"===e.code?{result:!0,name:"MySQL:"+j,code:e.code}:{result:!1,name:"MySQL:"+j,error:r}}));else if(j&&j.startsWith("#")&&1<j.length&&0<q){l(p,"# terminate MySQL (Sequence) ");var t=j.substring(1);e.push(i.do_delete_id_seq(t).then(function(e){return l(p,"> delete-id-seq["+t+"] res=",e),{result:!0,name:"MySQL:"+t}}).catch(function(e){var r=e.message||""+e;return _(p,"> delete-id-seq error=",e),"ER_BAD_TABLE_ERROR"===e.code?{result:!0,name:"MySQL:"+t,code:e.code}:{result:!1,name:"MySQL:"+t,error:r}}))}else l(p,"# ignored MySQL (Sequence) ");return x?(l(p,"# terminate ES (Index) "),e.push(Y.do_delete_index_type(x,null).then(function(e){return l(p,"> delete-es-index res=",e),{result:!0,name:"elasticsearch:"+x}}).catch(function(e){var r=e.message||e.reason||""+e;return _(p,"> delete-es-index error=",e),{result:!1,name:"elasticsearch:"+x,error:r}}))):l(p,"# ignored ES (Index) "),Promise.all(e).then(function(e){return l(p,">> results=",e),r.results=e,r})}function Pe(e){var r={a:1,b:2,x:3},t={x:3,a:1,b:2},n={b:2,x:3,a:1};r.name="hi",t.name="hi",n.name="hi",l(p,"# node1 =",f.json(r)),l(p,"> node2 =",f.json(t)),l(p,"> node3 =",f.json(n)),l(p,"# node1.sorted =",f.json(r,!0)),l(p,"> node2.sorted =",f.json(t,!0)),l(p,"> node3.sorted =",f.json(n,!0)),l(p,"# hash1 =",f.hash(1)),l(p,"> node1 =",f.hash(r)),l(p,"> node2 =",f.hash(t)),l(p,"> node3 =",f.hash(n));var i={updated_at:234,name:"test hash"};return Promise.resolve(i).then(function(e){return o.do_create_item("H#",1,e)}).then(function(){return o.do_get_item("H#",1).then(function(e){return l(p,"> read-back data=",e),e})}).then(function(){return be.do_set_cache_footprint(1,i)}).then(function(){return be.do_get_cache_updated(1).then(function(e){return l(p,"> updated-at value=",void 0===e?"undefined":_typeof(e),":",e),e})}).then(function(){return be.do_get_cache_hash(1).then(function(e){return l(p,"> hash-value value=",void 0===e?"undefined":_typeof(e),":",e),e})})}function ge(r){return l(p,"- my_test_self()...."),Promise.resolve(r).then(Pe).then(function(e){return e||r})}var we=function(r){var e;if(!r._id)return Promise.reject(new Error("._id is required!"));var t=r._id;l(p,"- dynamo: read("+t+")....");var n=j.startsWith("#")?"String":"";return u.do_get_item(N,(_defineProperty(e={},S,t),_defineProperty(e,"idType",n),e)).then(function(e){return l(p,"> dynamo: node("+t+") res=",f.json(e)),r._node=e,r})},Se=function(r){if(!r._id)return Promise.reject(new Error("._id is required!"));if(!r._node)return Promise.reject(new Error("._node is required!"));var t=r._id,e=r._node;l(p,"- dynamo: update("+t+")....");var n={},i=0,o=$?B($):null;for(var d in r)d&&r.hasOwnProperty(d)&&((d=""+d).startsWith("_")||d.startsWith("$")||0<=X.indexOf(d)||Q&&Q.indexOf(d)<0||d&&(n[d]=r[d],e[d]=r[d],i++,o&&C&&0<=C.indexOf(d)&&(e[d]=r[d]?o.encrypt(r[d]):"",n[d]=e[d])));return n.updated_at=e.updated_at,l(p,"> dynamo: updated["+t+"]["+i+"] =",f.json(n)),r._updated_node=null,(r._updated_count=i)?(void 0!==e[g]&&(e[g]=f.N(e[g],0)+1),u.do_update_item(N,_defineProperty({},S,t),n,g?_defineProperty({},g,1):null).then(function(e){return r._updated_node=n,r._node=Object.assign(r._node,n),l(p,"> dynamo: updated("+t+") res=",f.json(e)),r})):Q?r:Promise.reject(new Error("nothing to update"))},je=function(r){if(!r._id)return Promise.reject(new Error("._id is required!"));if(!r._node)return Promise.reject(new Error("._node is required!"));var t=r._id,e=r._node,n=r._current_mode||"",i=r._current_time;if(l(p,"- dynamo: save("+t+")...."),"prepare"!==n){var o=$?B($):null;for(var d in r)d&&r.hasOwnProperty(d)&&((d=""+d).startsWith("_")||d.startsWith("$")||0<=X.indexOf(d)||Q&&Q.indexOf(d)<0||(e[d]=r[d],o&&C&&0<=C.indexOf(d)&&(e[d]=r[d]?o.encrypt(r[d]):"")))}return void 0!==e[g]&&(e[g]=f.N(e[g],0)+1),l(p,"> save@node-id =",t,", current-time =",i,", node :=",f.json(e)),u.do_create_item(N,_defineProperty({},S,t),e).then(function(e){return l(p,"> dynamo: saved("+t+") res=",f.json(e)),r})},qe=function(r){if(!r._id)return Promise.reject(new Error("._id is required!"));if(!r._node)return Promise.reject(new Error("._node is required!"));var t=r._id,e=r._node;l(p,"- dynamo: increment("+t+")....");var n={},i=0;for(var o in r)r.hasOwnProperty(o)&&((o=""+o).startsWith("_")||o.startsWith("$")||0<=X.indexOf(o)||Q&&Q.indexOf(o)<0||o&&(n[o]=r[o],e[o]=f.N(e[o],0)+f.N(r[o]),i++));return n.updated_at=e.updated_at,l(p,"> dynamo: incremented["+t+"] :=",f.json(n)),r._updated_node=null,(r._updated_count=i)?(void 0!==e[g]&&(e[g]=f.N(e[g],0)+1),u.do_increment_item(N,_defineProperty({},S,t),n,g?_defineProperty({},g,1):null).then(function(e){return l(p,"> dynamo: increment("+t+") res=",f.json(e)),r._updated_node=n,r})):Q?r:Promise.reject(new Error("nothing to update"))},Ne=function(r){var t=r._id;return t?(l(p,"- dynamo: delete("+t+")...."),u.do_delete_item(N,_defineProperty({},S,t)).then(function(e){return l(p,"> dynamo: deleted("+t+") res=",f.json(e)),r._node=e||{},r})):Promise.reject(new Error("._id is required!"))},be={do_read_cache:function(r){var t=r._id;return t?b?b.startsWith("#")?D?we(r).then(function(e){return void 0===(e._node||{})[S]?Promise.reject(new Error("404 NOT FOUND. "+N+".id:"+(e._id||""))):e}):Oe.do_read_search(r).catch(function(e){throw e instanceof Error&&(_(p,"! redis: read-search("+b+", "+t+") err :=",e.message||e),r._error=e),r}):(l(p,"- redis: get-item("+t+")...."),o.do_get_item(b,t).then(function(e){return e?(r._node=e,r):Promise.reject(r)}).catch(function(e){throw e instanceof Error&&(_(p,"! redis: get-item("+b+", "+t+") err :=",e.message||e),r._error=e),r})):Promise.reject(r):Promise.reject(new Error("._id is required!"))},do_save_cache:function(r){var e=r._id;if(!e)return Promise.reject(new Error("._id is required!"));if(!r._node)return Promise.reject(new Error("._node is required!"));if(!b)return Promise.resolve(r);if(b.startsWith("#"))return Promise.resolve(r);var t=r._node;l(p,"- redis: create-item("+e+")....");var n=be.do_set_cache_footprint(e,t);return n=n.then(function(){return o.do_create_item(b,e,t)}).then(function(e){return r})},do_update_cache:function(r){var e=r._id;if(!e)return Promise.reject(new Error("._id is required!"));if(!r._node)return Promise.reject(new Error("._node is required!"));if(!b)return Promise.resolve(r);if(b.startsWith("#"))return Promise.resolve(r);var t=r._node;l(p,"- redis: update-item("+e+")....");var n=be.do_set_cache_footprint(e,t);return n=n.then(function(){return o.do_update_item(b,e,t)}).then(function(e){return r})},do_delete_cache:function(r){var t=r._id;if(!t)return Promise.reject(new Error("._id is required!"));if(!b)return Promise.resolve(r);var e=b.startsWith("#")?b.substr(1):b;if(!e)return Promise.resolve(r);return Promise.all([e,e+"/UPDATED",e+"/HASH"].map(function(e){return o.do_delete_item(e,t).then(function(e){return e}).catch(function(e){return e.message||""+e})})).then(function(e){return l(p,"> redis: deleted("+t+") res=",f.json(e)),r})},do_set_cache_footprint:function(e,r){if(!e)return Promise.reject(new Error("id is required!"));if(!b)return Promise.resolve(0);r=r||{};var t=f.N(r.updated_at,0),n=f.hash(r);return o.do_create_item([b+"/UPDATED",b+"/HASH"],e,[t,n]).then(function(e){return e})},do_get_cache_updated:function(e){return e?b?b.startsWith("#")?Promise.resolve(-1):o.do_get_item(b+"/UPDATED",e).then(function(e){return e}):Promise.resolve(-1):Promise.reject(new Error("id is required!"))},do_get_cache_hash:function(e){return e?b?b.startsWith("#")?Promise.resolve(-1):o.do_get_item(b+"/HASH",e).then(function(e){return e}):Promise.resolve(-1):Promise.reject(new Error("id is required!"))}},Oe={do_read_search:function(r){var e=r._id;return e?x?(l(p,"- elasticsearch: read("+e+")...."),Y.do_get_item(x,W,e).then(function(e){return e?(r._node=U?f.extend(r._node||{},e):e,r):Promise.reject(r)})):r:Promise.reject(new Error("._id is required!"))},do_save_search:function(r){var t=r._id;if(!t)return Promise.reject(new Error("._id is required!"));if(!r._node)return Promise.reject(new Error("._node is required!"));if(!x)return r;var n=r._node,e=r._current_time||f.current_time_ms();if(U){var i=h.reduce(U,function(e,r){return void 0!==n[r]&&(e[r]=n[r]),e},{});return Object.keys(i).length?(void 0!==n.created_at&&(i.created_at=n.created_at),void 0!==n.updated_at&&(i.updated_at=n.updated_at),void 0!==n.deleted_at&&(i.deleted_at=n.deleted_at),l(p,"> elasticsearch:save("+L+"/"+t+").... node2=",f.json(i)),D?(i["@timestamp"]=e,i[S]=t,Y.do_push_item(x,W,i).then(function(e){return l(p,"! elasticsearch: pushed-item("+t+")@1 res=",f.json(e)),r})):L?Y.do_create_item(x,W,t,i).then(function(e){return l(p,"! elasticsearch: saved-item("+t+")@1 res=",f.json(e)),r}):Y.do_update_item(x,W,t,i).then(function(e){return l(p,"! elasticsearch: updated-item("+t+")@1 res=",f.json(e)),r})):(_(p,"! elasticsearch:WARN! nothing to update ("+t+")...."),r)}return Y.do_create_item(x,W,t,n).then(function(e){return l(p,"! elasticsearch: create-item("+t+")@3 res=",f.json(e)),r})},do_update_search:function(r){var t=r._id;if(!t)return Promise.reject(new Error("._id is required!"));if(!r._updated_node)return Promise.reject(new Error("._updated_node is required!"));if(!x)return r;var n=r._updated_node;if(U){var e=h.reduce(U,function(e,r){return e[r]=n[r],e},{});return Object.keys(e).length?(void 0!==n.created_at&&(e.created_at=n.created_at),void 0!==n.updated_at&&(e.updated_at=n.updated_at),void 0!==n.deleted_at&&(e.deleted_at=n.deleted_at),Y.do_update_item(x,W,t,e).then(function(e){return l(p,"! elasticsearch: updated-item("+t+") res=",f.json(e)),r})):(_(p,"! elasticsearch:WARN! nothing to update ("+t+")...."),r)}return Y.do_update_item(x,W,t,n).then(function(e){return l(p,"! elasticsearch: updated-item("+t+") res=",f.json(e)),r})},do_delete_search:function(r){var t=r._id;return t?x?U&&!L?(l(p,"! elasticsearch:WARN! ignore delete ("+t+")...."),r):Y.do_delete_item(x,W,t).then(function(e){return l(p,"! elasticsearch: deleted-item("+t+") res=",f.json(e)),r}).catch(function(e){return l(p,"ERR! ignore - elastic:delete("+t+") res=",e),r}):r:Promise.reject(new Error("._id is required!"))},do_search:function(i){if(!x)return i;if(U&&!L)return i;var o={$page:0,$limit:0};return o.$page=f.N(i.page,0),o.$limit=f.N(i.ipp,0===i.ipp?0:10),D||(o.deleted_at=void 0!==i.deleted_at?i.deleted_at:"0"),i.$source&&(o.$source=i.$source),i.$exist&&(o.$exist=i.$exist),i.Q&&(o.$Q=i.Q),i.A&&(o.$A=i.A),i.O&&(o.$O=i.O),i.H&&(o.$H=i.H),D&&(o.$O=o.$O||"!@timestamp"),o.$O=o.$O||(j.startsWith("#")?S+".keyword":S),U&&U.forEach(function(e){"page"!=e&&"ipp"!=e&&(void 0!==i[e]&&(o[e]=i[e]),void 0!==i["!"+e]&&(o["!"+e]=i["!"+e]),void 0!==i["#"+e]&&(o["#"+e]=i["#"+e]))}),l(p,"! elasticsearch: search["+x+"/"+W+"] =",f.json(o)),Y.do_search_item(x,W,o).then(function(e){var r=e&&e.hits||{},t=r.hits||[],n=r;return i.list=t.map(function(r){var t=r._score?f.extend({_score:r._score},r._source):r._source;return D&&(t["@id"]=r._id),null!=r.highlight&&Object.keys(r.highlight).forEach(function(e){t[e+"_highlight"]=r.highlight[e][0]}),t}),i.total=f.N(n.total||0),i.page=o.$page,i.ipp=o.$limit,i.took=e.took||0,void 0!==e.aggregations&&(i.aggregations=e.aggregations),i}).catch(function(e){throw _(p,"!ERR @search =",e),e})}},Ie={},Re=function(e){return e._id?function(e){var r=ue(e),t=Ie[r]||{},n=f.N(t.cached_at,0),i=(e._current_time||f.current_time_ms())-n;return!(!t.node||!n||2e3<i||(e._node=Object.assign({},t.node),e.C=n,0))}(e)?Promise.resolve(e):Promise.resolve(e).then(be.do_read_cache).catch(function(e){if(e&&e instanceof Error)throw e;return we(e).then(function(e){return void 0===(e._node||{})[S]?Promise.reject(new Error("404 NOT FOUND. "+N+".id:"+(e._id||""))):e}).then(be.do_save_cache).then(Oe.do_save_search)}).then(ae):Promise.reject(new Error("._id is required!"))},Ae=function(e){if(!e)return Promise.reject(new Error("record is required"));if(!e.dynamodb&&!e.Sns)return Promise.reject(new Error("record.dynamodb|Sns is required"));var i=e.eventName||"EVENT",r=null;if(e.dynamodb){var o=e.table||e.eventSourceARN&&e.eventSourceARN.split("/")[1]||"";if(l(p,"--- process-record("+o+") ... "),N!==o)return l(p,"! ignore record-table: "+N+" != "+o+" "),e;var t=e.dynamodb.Keys?z.toJavascript(e.dynamodb.Keys):{},d=e.dynamodb.NewImage?z.toJavascript(e.dynamodb.NewImage):null,n=e.dynamodb.OldImage?z.toJavascript(e.dynamodb.OldImage):null,u=t[S],a="MODIFY"===i?f.diff(n,d):null,s=f.N(d&&d.updated_at||0),_=a?h.reduce(a,function(e,r){return e[r]=n[r],e},{}):null,c={_id:u,_node:d,_updated_at:s,_diff:a,_prev:_};switch(r=Promise.resolve(c),a&&l(p,">> "+o+".different["+u+"]=",f.json(a)),i){case"INSERT":case"MODIFY":r=r.then(function(t){var n=t._id;return D?t:be.do_get_cache_updated(n).then(function(e){if(m(p,">> "+o+".updated_at["+n+"] res=",e," <- ",t._updated_at,t._updated_at!==e?"*":""),!e||t._updated_at>=e){var r=f.hash(d);return be.do_get_cache_hash(n).then(function(e){return e&&e===r?(l(p,"!WARN! ignored due to hash-value matching =",e),t):(-1!==e&&l(p,"! INFO! node was updated. hash :=",r,"<-",e),be.do_save_cache(t).then(Oe.do_save_search))})}return l(p,"! ignored due to old-record"),t})});break;case"REMOVE":l(p,">> removed!"),r=(r=r.then(be.do_delete_cache)).then(Oe.do_delete_search)}}else if(e.Sns){l(p,">> event-SNS =",e.Sns);r=Promise.resolve(e.Sns)}return r?r.then(function(r){var e={INSERT:"create",MODIFY:"update",REMOVE:"delete",EVENT:"event"}[i],t=!!e;if(r._current_mode=e,t){var n=V+":record:"+e;return l(p,">>> notify event-id:",n,", notifiable=",t),Te(n,r).then(function(e){return r})}return r}).then(function(){return e}):Promise.reject(new Error("invalid chain!"))},Te=function(e,r){return H.do_notify(e,r)};return c.do_prepare_chain=function(e,r,t,n){return J(e,r,t,n)},c.do_finish_chain=function(e,r,t,n){return K(e)},c.do_prepare=function(e,r){return J(e,r,"prepare").then(te).then(fe).then(pe).then(K)},c.do_create=function(t,n){return J(t,n,"create").then(ne).catch(function(e){_(p,"ERR! prepare_node_created =",e instanceof Error,e.message||e);var r=e&&e.message||"";if(e instanceof Error&&0<=r.indexOf("404 NOT FOUND"))return m(p,"WARN! AUTO TRY TO PREPARE NODE. ID="+t),J(t,n,"create").then(function(e){var r=e._current_time;return e=Z(e),l(p,">> prepared old-node=",f.json(e._node)),e._node=re(e._node,r),e});throw e}).then(fe).then(pe).then(K)},c.do_saveES=function(e,r){return e?r?J(e,{},"save").then(_e).then(function(e){return e._node=r,e}).then(Oe.do_save_search).then(K):Promise.reject(new Error("node is required!")):Promise.reject(new Error("id is required!"))},c.do_cleanRedis=function(e,r){return e?J(e,{},"clean").then(function(e){return e._node=r,e}).then(be.do_delete_cache).then(K):Promise.reject(new Error("id is required!"))},c.do_clone=function(e,r){return J(e,r,"clone").then(ie).then(he).then(pe).then(K)},c.do_read=function(e,r){return J(e,r,"read").then(Z).then(function(e){return 0!==e._params_count&&0===e._fields_count?e:Re(e)}).then(K)},c.do_readX=function(e,r){return J(e,r,"read").then(Z).then(function(e){return 0!==e._params_count&&0===e._fields_count?e:Re(e)}).then(K).then(ce)},c.do_update=function(e,r){return J(e,r,"update").then(oe).then(function(e){return 0===e._fields_count?e:function(t){var n=t._id;return n?0===t._fields_count?(l(p,"! my_update_node() no need to update... fields_count="+t._fields_count),t):Promise.resolve(t).then(_e).then(Se).then(function(e){return e._updated_node?be.do_save_cache(e):e}).then(function(e){return e._updated_node?Oe.do_save_search(e):e}).then(function(e){return e._updated_node?ae(e):e}).then(function(e){return l(p,">> updated-node["+n+"] res=",f.json(e._updated_node)),e}).catch(function(e){var r=e&&e.message||"";if(_(p,">> updated-node["+n+"] err=",r),0<r.indexOf("an attribute that does not exist in the item"))return fe(t);throw e}):Promise.reject(new Error("._id is required!"))}(e)}).then(pe).then(K)},c.do_increment=function(e,r){return J(e,r,"increment").then(oe).then(function(e){return 0===e._fields_count?e:function(e){var r=e._id;return r?0===e._fields_count?(l(p,"! my_increment_node() no need to increment... fields_count="+e._fields_count),e):Promise.resolve(e).then(_e).then(qe).then(function(e){return e._updated_node?be.do_save_cache(e):e}).then(function(e){return e._updated_node?Oe.do_save_search(e):e}).then(function(e){return e._updated_node?ae(e):e}).then(function(e){return l(p,">> increment-node["+r+"] res=",f.json(e._updated_node)),e}):Promise.reject(new Error("._id is required!"))}(e)}).then(pe).then(K)},c.do_delete=function(e,r){return J(e,r,"delete").then(de).then(fe).then(pe).then(K)},c.do_destroy=function(e,r){return J(e,r,"destroy").then(le).then(pe).then(K)},c.do_search=function(e,r){return J(e,r,"search").then(me).then(K)},c.on_records=function(e,r){return J(e,r,"on_records").then(ve).then(K)},c.do_initialize=function(e,r){return J(e,r,"initialize").then(Ee).then(K)},c.do_terminate=function(e,r){return J(e,r,"terminate").then(ye).then(K)},c.do_test_self=function(e,r){return J(e,r,"self-test").then(ge).then(K)},c.do_next_id=function(){return G({_id:0}).then(function(e){return e._id})},c}; |
@@ -1,1 +0,1 @@ | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r};module.exports=function(r,e,t){e=e||"NS";var f=r.U,i=r._;if(!f)throw new Error("$U is required!");if(!i)throw new Error("$_ is required!");var d=r.log,n=(r.inf,r.err),c=f.NS(e,"magenta"),a=t||{},o=function(r){throw new Error("NOT_IMPLEMENTED - "+c+":"+JSON.stringify(r))};a.do_notify=o,a.do_subscribe=o,e.startsWith("!")||e.startsWith("_")||r(e,a);var s=function(r,e){return void 0===a[r]?e:a[r]},y=s("NS_NAME",""),u=s("MASTER",null),l=s("CHILDS",[]),b=["create","update","delete"];a.$notify={};var m=function(t){if(!y)return Promise.resolve(t);if(!t._id)return Promise.reject(new Error(c+"notify:_id is required!"));var r=""+t._id;if(d(c,"- my_notify_trigger("+r+")...."),!r.startsWith(y+":"))return d(c,"! WARN - ignored due to id="+r+" by NS="+y),t;var e=a.$notify[r];return e?Promise.all(e.map(function(r,e){try{return r.handle?r.handle(t):r.promise?r.promise:null}catch(r){return n(c,">> action["+e+"] :",r),r}})).then(function(){return d(c,"! finished call subscriptions!!! count="+e.length),t}).catch(function(r){throw n(c,"actions.error=",r),r}):t};if(u){var _=":record:*";d(c,">>>>> subscribe master ("+_+") ... "),u.do_subscribe(":record:*",function(r){d(c,"- on-notified-record ("+r._id+").... that=",f.json(r));var e=r._id||"",t=e.split(":");if(t.length<2)return r;t.shift(),t.unshift(y);var i=t.join(":"),n=f.extend({},r);return n._id=i,n._id_org=e,m(n)}).then(function(r){d(c,"! subscribed master. res=",r)}),d(c,"<<<<< subscribe master ("+_+") ... ")}var h=function(r){return r};return a.do_notify=function(r,e){return function(r,e,t){r=r||"",t=t||"",y&&d(c,"do_"+t+"()... id=",r&&r._id||r&&r.records&&"record#:"+r.records.length||r);var i=e="object"===(void 0===r?"undefined":_typeof(r))?r:{_id:r,_current_mode:t,data:e};return f.promise(i)}(r,e,"notify").then(m).then(h)},a.do_subscribe=function(r,e){var t=e="object"===(void 0===r?"undefined":_typeof(r))?r:f.extend(void 0!==e&&("object"!==(void 0===e?"undefined":_typeof(e))||e instanceof Promise)?{params:e}:e||{},{_id:r});if(!y)return Promise.resolve(t);if(!t._id)return Promise.reject(new Error(c+"notify:_id is required!"));if(!t.params)return Promise.reject(new Error(c+"notify:params is required!"));var i=""+t._id,n=t.params;if(d(c,"- my_notify_subscribe_sync("+i+").... params=",void 0===n?"undefined":_typeof(n)),i.startsWith(":")&&(i=y+i,t._id=i),!i.startsWith(y+":")){if(!l||!l.length)return d(c,"! ignored subscribe due to NS-NAME:"+y),Promise.resolve(t);d(c,"> bubble down for target notifier!!! id=",i);var o=l.map(function(r){return r.do_subscribe(t)});return Promise.all(o).then(function(){return t})}d(c,"> INFO! - register subscriber by id ="+i);var s={handle:null,promise:null};if("function"==typeof n)s.callee=n,s.handle=function(t){var i=this.callee;return new Promise(function(r,e){try{r(i(t))}catch(r){e(r)}})};else{if(!("object"===(void 0===n?"undefined":_typeof(n))&&n instanceof Promise))return Promise.reject(new Error(c+"invalid params type:"+(void 0===n?"undefined":_typeof(n))));s.promise=n}if(s)if(i.endsWith(":*")){var u=i.substring(0,i.length-1);b.forEach(function(r){var e=u+r;a.$notify[e]||(a.$notify[e]=[]),a.$notify[e].push(s),d(c,"> notify-subscribe("+e+") count=",a.$notify[e].length)}),d(c,"! notify-subscribe("+i+") ... modes=",b.join("/"))}else a.$notify[i]||(a.$notify[i]=[]),a.$notify[i].push(s),d(c,"! notify-subscribe("+i+") count=",a.$notify[i].length);return d(c,"! subscribed-notify("+i+")... that=",f.json(t)),Promise.resolve(t)},a}; | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r};module.exports=function(r,e,t){e=e||"NS";var f=r.U,i=r._;if(!f)throw new Error("$U is required!");if(!i)throw new Error("$_ is required!");function n(r){throw new Error("NOT_IMPLEMENTED - "+c+":"+JSON.stringify(r))}var d=r.log,o=(r.inf,r.err),c=f.NS(e,"magenta"),a=t||{};a.do_notify=n,a.do_subscribe=n,e.startsWith("!")||e.startsWith("_")||r(e,a);function s(r,e){return void 0===a[r]?e:a[r]}var y=s("NS_NAME",""),u=s("MASTER",null),l=s("CHILDS",[]),b=["create","update","delete"];a.$notify={};var m=function(t){if(!y)return Promise.resolve(t);if(!t._id)return Promise.reject(new Error(c+"notify:_id is required!"));var r=""+t._id;if(d(c,"- my_notify_trigger("+r+")...."),!r.startsWith(y+":"))return d(c,"! WARN - ignored due to id="+r+" by NS="+y),t;var e=a.$notify[r];return e?Promise.all(e.map(function(r,e){try{return r.handle?r.handle(t):r.promise?r.promise:null}catch(r){return o(c,">> action["+e+"] :",r),r}})).then(function(){return d(c,"! finished call subscriptions!!! count="+e.length),t}).catch(function(r){throw o(c,"actions.error=",r),r}):t};if(u){var _=":record:*";d(c,">>>>> subscribe master ("+_+") ... "),u.do_subscribe(":record:*",function(r){d(c,"- on-notified-record ("+r._id+").... that=",f.json(r));var e=r._id||"",t=e.split(":");if(t.length<2)return r;t.shift(),t.unshift(y);var i=t.join(":"),n=f.extend({},r);return n._id=i,n._id_org=e,m(n)}).then(function(r){d(c,"! subscribed master. res=",r)}),d(c,"<<<<< subscribe master ("+_+") ... ")}function h(r){return r}return a.do_notify=function(r,e){return function(r,e,t){r=r||"",t=t||"",y&&d(c,"do_"+t+"()... id=",r&&r._id||r&&r.records&&"record#:"+r.records.length||r);var i=e="object"===(void 0===r?"undefined":_typeof(r))?r:{_id:r,_current_mode:t,data:e};return f.promise(i)}(r,e,"notify").then(m).then(h)},a.do_subscribe=function(r,e){var t=e="object"===(void 0===r?"undefined":_typeof(r))?r:f.extend(void 0!==e&&("object"!==(void 0===e?"undefined":_typeof(e))||e instanceof Promise)?{params:e}:e||{},{_id:r});if(!y)return Promise.resolve(t);if(!t._id)return Promise.reject(new Error(c+"notify:_id is required!"));if(!t.params)return Promise.reject(new Error(c+"notify:params is required!"));var i=""+t._id,n=t.params;if(d(c,"- my_notify_subscribe_sync("+i+").... params=",void 0===n?"undefined":_typeof(n)),i.startsWith(":")&&(i=y+i,t._id=i),!i.startsWith(y+":")){if(!l||!l.length)return d(c,"! ignored subscribe due to NS-NAME:"+y),Promise.resolve(t);d(c,"> bubble down for target notifier!!! id=",i);var o=l.map(function(r){return r.do_subscribe(t)});return Promise.all(o).then(function(){return t})}d(c,"> INFO! - register subscriber by id ="+i);var s={handle:null,promise:null};if("function"==typeof n)s.callee=n,s.handle=function(t){var i=this.callee;return new Promise(function(r,e){try{r(i(t))}catch(r){e(r)}})};else{if(!("object"===(void 0===n?"undefined":_typeof(n))&&n instanceof Promise))return Promise.reject(new Error(c+"invalid params type:"+(void 0===n?"undefined":_typeof(n))));s.promise=n}if(s)if(i.endsWith(":*")){var u=i.substring(0,i.length-1);b.forEach(function(r){var e=u+r;a.$notify[e]||(a.$notify[e]=[]),a.$notify[e].push(s),d(c,"> notify-subscribe("+e+") count=",a.$notify[e].length)}),d(c,"! notify-subscribe("+i+") ... modes=",b.join("/"))}else a.$notify[i]||(a.$notify[i]=[]),a.$notify[i].push(s),d(c,"! notify-subscribe("+i+") count=",a.$notify[i].length);return d(c,"! subscribed-notify("+i+")... that=",f.json(t)),Promise.resolve(t)},a}; |
@@ -1,1 +0,1 @@ | ||
"use strict";function initialize(r,e){var i=this;if(!r)throw new Error("$export is required.");if(!i)throw new Error("_$ is required.");if("function"!=typeof i)throw new Error("_$ should be function.");i.log;var o=i.inf,t=(i.err,i.environ("STAGE",""));t&&o("#STAGE =",t),i("U",require("./lib/utilities")(i));var n=require("./lib/http-proxy");i("httpProxy",n),require("./lib/mysql-proxy")(i,"MS"),require("./lib/dynamo-proxy")(i,"DS"),require("./lib/redis-proxy")(i,"RS"),require("./lib/elastic-proxy")(i,"ES"),require("./lib/elastic6-proxy")(i,"ES6"),require("./lib/s3-proxy")(i,"S3"),require("./lib/sqs-proxy")(i,"SS"),require("./lib/sns-proxy")(i,"SN"),require("./lib/ses-proxy")(i,"SE"),require("./lib/web-proxy")(i,"WS"),require("./lib/cognito-proxy")(i,"CS"),require("./lib/lambda-proxy")(i,"LS"),require("./lib/protocol-proxy")(i,"PR"),require("./lib/cron-proxy")(i,"CR");var u=require("./core/lemon-engine-model");return i("LEM",u),Object.assign(r,{createModel:function(r,e,i){return u(r,e,i)},createHttpProxy:function(r,e,i){return n(r,e,i)}})}module.exports=function(r,t){r=r||new function(){};var e=(t=t||{}).name||"lemon",i=p("STAGE",""),o="1"===p("TS","1"),n="local"===i||"express"===i||"1"===p("LC",""),u={thiz:console,log:console.log,error:console.error,auto_ts:o,auto_color:n},s=function(){var r=!Array.isArray(arguments)&&Array.prototype.slice.call(arguments)||arguments;return u.auto_color?(r.unshift("[0m"),u.auto_ts&&r.unshift(f(),"L")||r.unshift("L"),r.unshift("[32m")):u.auto_ts&&r.unshift(f(),"L"),u.log.apply(u.thiz,r)},l=function(){var r=!Array.isArray(arguments)&&Array.prototype.slice.call(arguments)||arguments;return u.auto_color?(r.unshift(""),r.push("[0m"),u.auto_ts&&r.unshift(f(),"I")||r.unshift("I"),r.unshift("[33m")):u.auto_ts&&r.unshift(f(),"I"),u.log.apply(u.thiz,r)},a=function(){var r=!Array.isArray(arguments)&&Array.prototype.slice.call(arguments)||arguments;return u.auto_color?(r.unshift(""),r.push("[0m"),u.auto_ts&&r.unshift(f(),"E")||r.unshift("E"),r.unshift("[31m")):u.auto_ts&&r.unshift(f(),"E"),u.error.apply(u.thiz,r)},c=function(r,e){for(var i in e){var o=e[i];void 0===o?delete r[i]:r[i]=o}return r};function f(r){var e=r||new Date,i=[e.getFullYear(),e.getMonth()+1,e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds()],o=i[0],t=i[1],n=i[2],u=i[3],s=i[4],l=i[5];return(o<10?"0":"")+o+"-"+(t<10?"0":"")+t+"-"+(n<10?"0":"")+n+" "+(u<10?"0":"")+u+":"+(s<10?"0":"")+s+":"+(l<10?"0":"")+l}function p(r,e){var i=t.env||process&&process.env||{},o=i&&i[r]||void 0;if(e&&e instanceof Error&&void 0===o)throw e;return void 0===o?e:o}var y=function r(e,i){if(e){var o=r,t=void 0!==o[e]?o[e]:void 0;return void 0===i?t:o[e]=void 0===t?(s("INFO! service["+e+"] registered"),i):(a("WARN! service["+e+"] exists! so extends "),t=c(t=t||{},i=i||{}))}};return y.STAGE=i,y.id=e,y.log=s,y.inf=l,y.err=a,y.extend=c,y.ts=f,y.environ=p,y.$console=u,y.toString=function(){return e||"$ROOT"},r._log=s,r._inf=l,r._err=a,r._$=y,(r[y.id]=y)("_",require("lodash/core")),initialize.apply(y,[r,t]),r}; | ||
"use strict";function initialize(r,e){var i=this;if(!r)throw new Error("$export is required.");if(!i)throw new Error("_$ is required.");if("function"!=typeof i)throw new Error("_$ should be function.");i.log;var o=i.inf,t=(i.err,i.environ("STAGE",""));t&&o("#STAGE =",t),i("U",require("./lib/utilities")(i));var n=require("./lib/http-proxy");i("httpProxy",n),require("./lib/mysql-proxy")(i,"MS"),require("./lib/dynamo-proxy")(i,"DS"),require("./lib/redis-proxy")(i,"RS"),require("./lib/elastic-proxy")(i,"ES"),require("./lib/elastic6-proxy")(i,"ES6"),require("./lib/s3-proxy")(i,"S3"),require("./lib/sqs-proxy")(i,"SS"),require("./lib/sns-proxy")(i,"SN"),require("./lib/ses-proxy")(i,"SE"),require("./lib/web-proxy")(i,"WS"),require("./lib/cognito-proxy")(i,"CS"),require("./lib/lambda-proxy")(i,"LS"),require("./lib/protocol-proxy")(i,"PR"),require("./lib/cron-proxy")(i,"CR"),require("./lib/agw-proxy")(i,"AG");var u=require("./core/lemon-engine-model");return i("LEM",u),Object.assign(r,{createModel:function(r,e,i){return u(r,e,i)},createHttpProxy:function(r,e,i){return n(r,e,i)}})}module.exports=function(r,t){r=r||new function(){};function n(){var r=!Array.isArray(arguments)&&Array.prototype.slice.call(arguments)||arguments;return c.auto_color?(r.unshift("[0m"),c.auto_ts&&r.unshift(p(),"L")||r.unshift("L"),r.unshift("[32m")):c.auto_ts&&r.unshift(p(),"L"),c.log.apply(c.thiz,r)}function e(){var r=!Array.isArray(arguments)&&Array.prototype.slice.call(arguments)||arguments;return c.auto_color?(r.unshift(""),r.push("[0m"),c.auto_ts&&r.unshift(p(),"I")||r.unshift("I"),r.unshift("[33m")):c.auto_ts&&r.unshift(p(),"I"),c.log.apply(c.thiz,r)}function u(){var r=!Array.isArray(arguments)&&Array.prototype.slice.call(arguments)||arguments;return c.auto_color?(r.unshift(""),r.push("[0m"),c.auto_ts&&r.unshift(p(),"E")||r.unshift("E"),r.unshift("[31m")):c.auto_ts&&r.unshift(p(),"E"),c.error.apply(c.thiz,r)}function s(r,e){for(var i in e){var o=e[i];void 0===o?delete r[i]:r[i]=o}return r}var i=(t=t||{}).name||"lemon",o=f("STAGE",""),l="1"===f("TS","1"),a="local"===o||"express"===o||"1"===f("LC",""),c={thiz:console,log:console.log,error:console.error,auto_ts:l,auto_color:a};function p(r){var e=r||new Date,i=[e.getFullYear(),e.getMonth()+1,e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds()],o=i[0],t=i[1],n=i[2],u=i[3],s=i[4],l=i[5];return(o<10?"0":"")+o+"-"+(t<10?"0":"")+t+"-"+(n<10?"0":"")+n+" "+(u<10?"0":"")+u+":"+(s<10?"0":"")+s+":"+(l<10?"0":"")+l}function f(r,e){var i=t.env||process&&process.env||{},o=i&&i[r]||void 0;if(e&&e instanceof Error&&void 0===o)throw e;return void 0===o?e:o}function y(r,e){if(r){var i=y,o=void 0!==i[r]?i[r]:void 0;return void 0===e?o:void 0===o?(n("INFO! service["+r+"] registered"),i[r]=e):(u("WARN! service["+r+"] exists! so extends "),o=s(o=o||{},e=e||{}),i[r]=o)}}return y.STAGE=o,y.id=i,y.log=n,y.inf=e,y.err=u,y.extend=s,y.ts=p,y.environ=f,y.$console=c,y.toString=function(){return i||"$ROOT"},r._log=n,r._inf=e,r._err=u,r._$=y,(r[y.id]=y)("_",require("lodash/core")),initialize.apply(y,[r,t]),r}; |
@@ -1,1 +0,1 @@ | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};module.exports=function(n){var i={},u=y("util"),s=n._;if(!s)throw new Error("$_(lodash) is required!");i.name=u+"-utils",i.ts=l,i.dt=m,i.now=m,i.escape=function(e,r){if(void 0===e)return"NULL";if(t=e,"number"==typeof t&&t%1==0)return e;var t;"object"==(void 0===(e=e||"")?"undefined":_typeof(e))&&(e=JSON.stringify(e));e=e.replace(/\\/g,"\\\\").replace(/\$/g,"\\$").replace(/'/g,"\\'").replace(/"/g,'\\"'),r&&(e=decodeURI(e));return"'"+e+"'"},i.cleanup=function(e){return Object.keys(e).reduce(function(e,r){return r.startsWith("_")&&delete e[r],r.startsWith("$")&&delete e[r],e},e)},i.updated=function(t,n){return Object.keys(n).reduce(function(e,r){if(t[r]!==n[r]){if(null===t[r]&&""===n[r])return e;e[r]=n[r]}return e},{})},i.copy=function(t){return Object.keys(t).reduce(function(e,r){return e[r]=t[r],e},{})},i.N=_,i.F=v,i.current_time_ms=function(){var e=(new Date).getTime();return e+=0},i.NS=y,i.env=r,i.extend=d,i.isset=function(e){return void 0!==e},i.empty=function(e){return!e},i.min=function(e,r){return e<r?e:r},i.max=function(e,r){return r<e?e:r},i.round=function(e){return Math.round(e)},i.json=p,i.diff=function(n,i){return Object.keys(n).reduce(function(e,r){if(i.hasOwnProperty(r)){if(s.isEqual(n[r],i[r])){var t=e.indexOf(r);e.splice(t,1)}}else e.push(r);return e},Object.keys(i))},i.copy_node=function(t,n){return n=void 0!==n&&n,Object.keys(t).reduce(function(e,r){return r.startsWith("_")||r.startsWith("$")||(e[r]=n?null:t[r]),e},{})},i.bare_node=function(e,r){var t={};t._id=e._id,t._current_time=e._current_time,r&&(t=d(t,r));return t},i.diff_node=function(n,i){var r=[],t=[];return Object.keys(n).forEach(function(e){e.startsWith("_")||e.startsWith("$")||r.push(e)}),Object.keys(i).forEach(function(e){e.startsWith("_")||e.startsWith("$")||t.push(e)}),r.reduce(function(e,r){if(i.hasOwnProperty(r)){if(s.isEqual(n[r],i[r])){var t=e.indexOf(r);e.splice(t,1)}}else e.push(r);return e},t)},i.hash=function(e){return function(e,r,t){var n,i=void 0,o=void 0===t?2166136261:t;for(i=0,n=e.length;i<n;i++)o^=e.charCodeAt(i),o+=(o<<1)+(o<<4)+(o<<7)+(o<<8)+(o<<24);return r?("0000000"+(o>>>0).toString(16)).substr(-8):o>>>0}(e="string"!=typeof(e="object"===(void 0===(e=e||"")?"undefined":_typeof(e))?p(e,!0):e)?String(e):e)},i.md5=function(e,r){var t=require("crypto");return r=void 0===r?"hex":r,t.createHash("md5").update(e).digest(r)},i.hmac=function(e,r,t,n){var i=require("crypto");return r=r||"XENI",n=n||"base64",t=t||"sha256",i.createHmac(t,r).update(e).digest(n)},i.qs_parse=function(e){var r=require("query-string").parse(e);return Object.keys(r).forEach(function(e){null===r[e]?r[e]="":/^[1-9][0-9]*$/.test(r[e])&&(r[e]=_(r[e]))}),r},i.qs_stringify=function(e){return require("query-string").stringify(e)},i.logger_factory=t,i.load_data_csv=function(e){if(!e)throw new Error("param:name is required!");var r=require("fs"),i=require("csv-parse"),o=require("path").resolve(__dirname,"../data/"+e+(e.endsWith(".csv")?"":".csv"));return new Promise(function(t,n){r.readFile(o,"UTF-8",function(e,r){if(e)return n(e);i(r,{columns:!0,trim:!0},function(e,r){return e?n(e):t(r)})})})},i.load_data_yml=function(e){if(!e)throw new Error("param:name is required!");var t=require("fs"),r=require("path"),n=require("js-yaml"),i=r.resolve(__dirname,"../data/"+e+(e.endsWith(".yml")?"":".yml"));return o(u,"load file =",i),new Promise(function(e,r){try{e(n.safeLoad(t.readFileSync(i,"utf8")))}catch(e){r(e)}})},i.promise=h,i.promise_sequence=function(e,t){var r=h(e.shift());return r=e.reduce(function(e,r){return e.then(function(){return t(r)})},r.then(function(e){return t(e)}))},i.trans_row_to_prod_node=function(e){if(!e)return null;if(Array.isArray(e))throw new Error("row is array.");return b().transform_row(e)},i.trans_prod_node_to_row=function(e){if(!e)return null;if("object"!=(void 0===e?"undefined":_typeof(e)))throw new Error("node must be object. but is "+(void 0===e?"undefined":_typeof(e)));return b().transform_node(e)},i.split_prod_node_to_aid=function(e,r,t,n){if(!e)return null;if("object"!=(void 0===e?"undefined":_typeof(e)))throw new Error("node must be object. but is "+(void 0===e?"undefined":_typeof(e)));if("object"!=(void 0===r?"undefined":_typeof(r)))throw new Error("atem must be object. but is "+(void 0===r?"undefined":_typeof(r)));if("object"!=(void 0===t?"undefined":_typeof(t)))throw new Error("item must be object. but is "+(void 0===t?"undefined":_typeof(t)));if("object"!=(void 0===n?"undefined":_typeof(n)))throw new Error("deal must be object. but is "+(void 0===n?"undefined":_typeof(n)));return b().split_node(e,r,t,n)},i.merge_prod_node_by_aid=function(e,r,t,n){if(!e)return null;if("object"!=(void 0===e?"undefined":_typeof(e)))throw new Error("node must be object. but is "+(void 0===e?"undefined":_typeof(e)));if("object"!=(void 0===r?"undefined":_typeof(r)))throw new Error("atem must be object. but is "+(void 0===r?"undefined":_typeof(r)));if("object"!=(void 0===t?"undefined":_typeof(t)))throw new Error("item must be object. but is "+(void 0===t?"undefined":_typeof(t)));if("object"!=(void 0===n?"undefined":_typeof(n)))throw new Error("deal must be object. but is "+(void 0===n?"undefined":_typeof(n)));return b().merge_node(e,r,t,n)};var o=o||n.log||function(){return c(arguments,"I")},f=f||n.err||function(){return c(arguments,"E")},e=e||function(){var e=r("ENV")||r("NODE_ENV")||r("STAGE");return"production"!==e&&"op"!==e};function r(e,r){if("function"==typeof n.get_env)return n.get_env(e,r);if("function"==typeof n.environ)return n.environ(e,r);var t=process&&process.env[e]||void 0;return void 0===t?r:t}function t(){return{create:function(e,r){e=e||u,r=r||"/var/www/html/logs/";var t=require("log4js"),n=r+e+".log";return t.loadAppender("file"),t.addAppender(t.appenders.file(n),e),t.getLogger(e)}}}i.log=o,i.err=f,i.is_dev=e();var a=null,c=function(e,r){return a?"E"==r?a.error.apply(a,e):a.info.apply(a,e):"undefined"!=typeof console&&(Array.isArray(e)||(e=Array.prototype.slice.call(e)),r&&e.unshift(r),e.unshift(l()),"E"==r?console.error.apply(console,e):console.log.apply(console,e)),!0};function d(e,r){for(var t in r)e[t]=r[t];return e}function p(r,e){if(e){var t={};Object.keys(r).sort().forEach(function(e){t[e]=r[e]}),r=t}return r&&JSON.stringify(r)||r}function l(e){var r=e&&"object"===(void 0===e?"undefined":_typeof(e))?e:e?new Date(e):new Date,t=r.getFullYear(),n=r.getMonth()+1,i=(e=r.getDate(),r.getHours()),o=r.getMinutes(),u=r.getSeconds();return(t<10?"0":"")+t+"-"+(n<10?"0":"")+n+"-"+(e<10?"0":"")+e+" "+(i<10?"0":"")+i+":"+(o<10?"0":"")+o+":"+(u<10?"0":"")+u}function m(e){var r=(e=e||l()).split(" "),t=r[0].split("-"),n=r[1].split(":"),i=parseInt(t[0]),o=parseInt(t[1])-1,u=parseInt(t[2]),a=parseInt(n[0]),s=parseInt(n[1]),f=parseInt(n[2]);return Date.prototype.add_seconds||(Date.prototype.add_seconds=function(e){return this.setSeconds(this.getSeconds()+e),this}),Date.prototype.ts||(Date.prototype.ts=function(){return l(this)}),new Date(i,o,u,a,s,f,0)}function y(e,r,t){if(!e)return e;t=t||4,t-=e.length;if(e=" ".substr(0,t=t<0?0:t)+e+":",i.is_dev&&r){e={red:"[31m",green:"[32m",yellow:"[33m",blue:"[34m",magenta:"[35m",cyan:"[36m",white:"[37m"}[r]+e+"[0m"}return e}function _(r,t){try{return""===r||null==r?t:"number"==typeof r&&r%1==0?r:"number"==typeof r?parseInt(r):(r=(r="0"+r).startsWith("0-")?r.substr(1):r,parseInt(r.replace(/,/gi,"").trim()))}catch(e){return f("err at _N: x="+r+";"+(void 0===r?"undefined":_typeof(r))+";"+(e.message||""),e),t}}function v(r,t){try{return""===r||null==r?t:"number"==typeof r&&r%1==0?r:"number"==typeof r?parseFloat(r):(r=(r="0"+r).startsWith("0-")?r.substr(1):r,parseFloat(r.replace(/,/gi,"").trim()))}catch(e){return f("err at _N: x="+r+";"+(void 0===r?"undefined":_typeof(r))+";"+(e.message||""),e),t}}function h(t){return new Promise(function(e,r){e(t)})}function b(){var e="_trans_handler_prod",a=i[e];return a||(o(u,"build transformer of prod!"),(a={initialize:function(){var e=function(r){if(!r)throw new Error("param:name is required!");var e=require("fs"),t=require("path"),n=require("js-yaml"),i=t.resolve(__dirname,"../data/"+r+(r.endsWith(".yml")?"":".yml"));try{return o(u,"load-sync-file =",i),n.safeLoad(e.readFileSync(i,"utf8"))}catch(e){f(u,"error:load-sync-yaml("+r+")=",e)}return{}}("prod-fields"),r=e&&e.fields;if(!r)throw new Error(u+"valid fields definition is required!");var t={parser:{},serial:{},splits:{}};t=s.reduce(r,function(e,r,o){var t=function(e,r){if("object"===(void 0===r?"undefined":_typeof(r)))e=s.reduce(r,function(e,t,r){if("X"==r){var n={atem:null,item:null,deal:null};if(t)(Array.isArray(t)?t:t.split(",")).forEach(function(e){if((e=e.trim()).startsWith("."))n.atem=e.substring(1),n.item=e.substring(1),n.deal=e.substring(1);else if(e.endsWith("."))n[e.substring(0,e.length-1)]=o;else if(e.indexOf(".")){var r=e.split(".",2);n[r[0]]=r[1]}else f(u,"WARN!! NO ALIAS SUPPORT name:"+t)});return e.splits[o]=n,e}var i=a.parser[r];return i||f(u,"ERROR! invalid type:"+r+", name:"+t),t&&i&&(e.parser[t]={name:o,trans:i},e.serial[o]||(e.serial[o]={name:t,trans:a.serial[r]})),e},e);else{var t=a.parser.S;e.parser[r]={name:o,trans:t},e.serial[o]||(e.serial[o]={name:r,trans:a.serial.S})}return e};return e=Array.isArray(r)?s.reduce(r,function(e,r){return e=t(e,r)},e):t(e,r)},t),a._map=t},transform_row:function(e){var r={};return r=s.reduce(e,function(e,r,t){var n=a._map.parser[t];return n||f(u,"ERROR! invalid parser by key:"+t),n&&(e[n.name]=n.trans(r)),e},r)},transform_node:function(e){var r={};return r=s.reduce(e,function(e,r,t){var n=a._map.serial[t];return n||f(u,"ERROR! invalid serial by name:"+t),n&&(e[n.name]=n.trans(r)),e},r)},split_node:function(e,i,o,u){var r={};return r=s.reduce(e,function(e,r,t){if(t.startsWith("_")||t.startsWith("$"))return e;var n=a._map.splits[t];return n?(n.atem&&(i[n.atem]=r),n.item&&(o[n.item]=r),n.deal&&(u[n.deal]=r)):i[t]=r,e},r)},merge_node:function(e,i,o,u){i=i||{},o=o||{},u=u||{};var r={};return d(e,r=s.reduce(e,function(e,r,t){if(t.startsWith("_")||t.startsWith("$"))return e;var n=a._map.splits[t];return n?(n.item&&(e[t]=o[n.item]),n.atem&&(e[t]=i[n.atem]),n.deal&&(e[t]=u[n.deal])):void 0!==i[t]&&(e[t]=i[t]),e},r)),r},parser:{I:function(e){return parseInt(_(e,0))},N:function(e){return _(e,0)},F:function(e){return v(e,0)},F1:function(e){return Math.round(10*v(e,0))/10},F2:function(e){return Math.round(100*v(e,0))/100},F3:function(e){return Math.round(1e3*v(e,0))/1e3},U:function(e){throw new Error("not implemented!")},O:function(e){throw new Error("not implemented!")},A:function(e){return e?(e||"").split(","):[]},AI:function(e){return e?(e||"").split(",").map(function(e){return _(e,0)}):[]},AN:function(e){return e?(e||"").split(",").map(function(e){return _(e,0)}):[]},M:function(e){return JSON.parse(e)},S:function(e){return"string"==typeof e?e.trim():""+e},B:function(e){return"Y"===(e=(e||"").toUpperCase())||"T"===e||"1"===e||"true"===e}},serial:{I:function(e){return e},N:function(e){return e},F:function(e){return e},F1:function(e){return _(Math.round(10*e))/10},F2:function(e){return _(Math.round(100*e))/100},F3:function(e){return _(Math.round(1e3*e))/1e3},U:function(e){throw new Error("not implemented!")},O:function(e){throw new Error("not implemented!")},A:function(e){return(e||[]).join(",")},AI:function(e){return(e||[]).join(",")},AN:function(e){return(e||[]).join(",")},M:function(e){return p(e)},S:function(e){return""+e},B:function(e){return e?"Y":"N"}}}).initialize(),i[e]=a)}return i}; | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};module.exports=function(n){var i={},u=y("util"),s=n._;if(!s)throw new Error("$_(lodash) is required!");i.name=u+"-utils",i.ts=l,i.dt=m,i.now=m,i.escape=function(e,r){if(void 0===e)return"NULL";if(function(e){return"number"==typeof e&&e%1==0}(e))return e;"object"==(e=e||"",_typeof(e))&&(e=JSON.stringify(e));e=e.replace(/\\/g,"\\\\").replace(/\$/g,"\\$").replace(/'/g,"\\'").replace(/"/g,'\\"'),r&&(e=decodeURI(e));return"'"+e+"'"},i.cleanup=function(e){return Object.keys(e).reduce(function(e,r){return r.startsWith("_")&&delete e[r],r.startsWith("$")&&delete e[r],e},e)},i.updated=function(t,n){return Object.keys(n).reduce(function(e,r){if(t[r]!==n[r]){if(null===t[r]&&""===n[r])return e;e[r]=n[r]}return e},{})},i.copy=function(t){return Object.keys(t).reduce(function(e,r){return e[r]=t[r],e},{})},i.N=_,i.F=v,i.current_time_ms=function(){var e=(new Date).getTime();return e+=0},i.NS=y,i.env=r,i.extend=d,i.isset=function(e){return void 0!==e},i.empty=function(e){return!e},i.min=function(e,r){return e<r?e:r},i.max=function(e,r){return r<e?e:r},i.round=function(e){return Math.round(e)},i.json=p,i.diff=function(n,i){return Object.keys(n).reduce(function(e,r){if(i.hasOwnProperty(r)){if(s.isEqual(n[r],i[r])){var t=e.indexOf(r);e.splice(t,1)}}else e.push(r);return e},Object.keys(i))},i.copy_node=function(t,n){return n=void 0!==n&&n,Object.keys(t).reduce(function(e,r){return r.startsWith("_")||r.startsWith("$")||(e[r]=n?null:t[r]),e},{})},i.bare_node=function(e,r){var t={};t._id=e._id,t._current_time=e._current_time,r&&(t=d(t,r));return t},i.diff_node=function(n,i){var r=[],t=[];return Object.keys(n).forEach(function(e){e.startsWith("_")||e.startsWith("$")||r.push(e)}),Object.keys(i).forEach(function(e){e.startsWith("_")||e.startsWith("$")||t.push(e)}),r.reduce(function(e,r){if(i.hasOwnProperty(r)){if(s.isEqual(n[r],i[r])){var t=e.indexOf(r);e.splice(t,1)}}else e.push(r);return e},t)},i.hash=function(e){return function(e,r,t){var n,i=void 0,o=void 0===t?2166136261:t;for(i=0,n=e.length;i<n;i++)o^=e.charCodeAt(i),o+=(o<<1)+(o<<4)+(o<<7)+(o<<8)+(o<<24);return r?("0000000"+(o>>>0).toString(16)).substr(-8):o>>>0}(e="string"!=typeof(e="object"===(e=e||"",_typeof(e))?p(e,!0):e)?String(e):e)},i.md5=function(e,r){var t=require("crypto");return r=void 0===r?"hex":r,t.createHash("md5").update(e).digest(r)},i.hmac=function(e,r,t,n){var i=require("crypto");return r=r||"XENI",n=n||"base64",t=t||"sha256",i.createHmac(t,r).update(e).digest(n)},i.qs_parse=function(e){var r=require("query-string").parse(e);return Object.keys(r).forEach(function(e){null===r[e]?r[e]="":/^[1-9][0-9]*$/.test(r[e])&&(r[e]=_(r[e]))}),r},i.qs_stringify=function(e){return require("query-string").stringify(e)},i.logger_factory=t,i.load_data_csv=function(e){if(!e)throw new Error("param:name is required!");var r=require("fs"),i=require("csv-parse"),o=require("path").resolve(__dirname,"../data/"+e+(e.endsWith(".csv")?"":".csv"));return new Promise(function(t,n){r.readFile(o,"UTF-8",function(e,r){if(e)return n(e);i(r,{columns:!0,trim:!0},function(e,r){return e?n(e):t(r)})})})},i.load_data_yml=function(e){if(!e)throw new Error("param:name is required!");var t=require("fs"),r=require("path"),n=require("js-yaml"),i=r.resolve(__dirname,"../data/"+e+(e.endsWith(".yml")?"":".yml"));return o(u,"load file =",i),new Promise(function(e,r){try{e(n.safeLoad(t.readFileSync(i,"utf8")))}catch(e){r(e)}})},i.promise=h,i.promise_sequence=function(e,t){var r=h(e.shift());return r=e.reduce(function(e,r){return e.then(function(){return t(r)})},r.then(function(e){return t(e)}))},i.trans_row_to_prod_node=function(e){if(!e)return null;if(Array.isArray(e))throw new Error("row is array.");return b().transform_row(e)},i.trans_prod_node_to_row=function(e){if(!e)return null;if("object"!=(void 0===e?"undefined":_typeof(e)))throw new Error("node must be object. but is "+(void 0===e?"undefined":_typeof(e)));return b().transform_node(e)},i.split_prod_node_to_aid=function(e,r,t,n){if(!e)return null;if("object"!=(void 0===e?"undefined":_typeof(e)))throw new Error("node must be object. but is "+(void 0===e?"undefined":_typeof(e)));if("object"!=(void 0===r?"undefined":_typeof(r)))throw new Error("atem must be object. but is "+(void 0===r?"undefined":_typeof(r)));if("object"!=(void 0===t?"undefined":_typeof(t)))throw new Error("item must be object. but is "+(void 0===t?"undefined":_typeof(t)));if("object"!=(void 0===n?"undefined":_typeof(n)))throw new Error("deal must be object. but is "+(void 0===n?"undefined":_typeof(n)));return b().split_node(e,r,t,n)},i.merge_prod_node_by_aid=function(e,r,t,n){if(!e)return null;if("object"!=(void 0===e?"undefined":_typeof(e)))throw new Error("node must be object. but is "+(void 0===e?"undefined":_typeof(e)));if("object"!=(void 0===r?"undefined":_typeof(r)))throw new Error("atem must be object. but is "+(void 0===r?"undefined":_typeof(r)));if("object"!=(void 0===t?"undefined":_typeof(t)))throw new Error("item must be object. but is "+(void 0===t?"undefined":_typeof(t)));if("object"!=(void 0===n?"undefined":_typeof(n)))throw new Error("deal must be object. but is "+(void 0===n?"undefined":_typeof(n)));return b().merge_node(e,r,t,n)};var o=o||n.log||function(){return c(arguments,"I")},f=f||n.err||function(){return c(arguments,"E")},e=e||function(){var e=r("ENV")||r("NODE_ENV")||r("STAGE");return"production"!==e&&"op"!==e};function r(e,r){if("function"==typeof n.get_env)return n.get_env(e,r);if("function"==typeof n.environ)return n.environ(e,r);var t=process&&process.env[e]||void 0;return void 0===t?r:t}function t(){return{create:function(e,r){e=e||u,r=r||"/var/www/html/logs/";var t=require("log4js"),n=r+e+".log";return t.loadAppender("file"),t.addAppender(t.appenders.file(n),e),t.getLogger(e)}}}i.log=o,i.err=f,i.is_dev=e();var a=null,c=function(e,r){return a?"E"==r?a.error.apply(a,e):a.info.apply(a,e):"undefined"!=typeof console&&(Array.isArray(e)||(e=Array.prototype.slice.call(e)),r&&e.unshift(r),e.unshift(l()),"E"==r?console.error.apply(console,e):console.log.apply(console,e)),!0};function d(e,r){for(var t in r)e[t]=r[t];return e}function p(r,e){if(e){var t={};Object.keys(r).sort().forEach(function(e){t[e]=r[e]}),r=t}return r&&JSON.stringify(r)||r}function l(e){var r=e&&"object"===(void 0===e?"undefined":_typeof(e))?e:e?new Date(e):new Date,t=r.getFullYear(),n=r.getMonth()+1,i=(e=r.getDate(),r.getHours()),o=r.getMinutes(),u=r.getSeconds();return(t<10?"0":"")+t+"-"+(n<10?"0":"")+n+"-"+(e<10?"0":"")+e+" "+(i<10?"0":"")+i+":"+(o<10?"0":"")+o+":"+(u<10?"0":"")+u}function m(e){var r=(e=e||l()).split(" "),t=r[0].split("-"),n=r[1].split(":"),i=parseInt(t[0]),o=parseInt(t[1])-1,u=parseInt(t[2]),a=parseInt(n[0]),s=parseInt(n[1]),f=parseInt(n[2]);return Date.prototype.add_seconds||(Date.prototype.add_seconds=function(e){return this.setSeconds(this.getSeconds()+e),this}),Date.prototype.ts||(Date.prototype.ts=function(){return l(this)}),new Date(i,o,u,a,s,f,0)}function y(e,r,t){if(!e)return e;t=t||4,t-=e.length;if(e=" ".substr(0,t=t<0?0:t)+e+":",i.is_dev&&r){e={red:"[31m",green:"[32m",yellow:"[33m",blue:"[34m",magenta:"[35m",cyan:"[36m",white:"[37m"}[r]+e+"[0m"}return e}function _(r,t){try{return""===r||null==r?t:"number"==typeof r&&r%1==0?r:"number"==typeof r?parseInt(r):(r=(r="0"+r).startsWith("0-")?r.substr(1):r,parseInt(r.replace(/,/gi,"").trim()))}catch(e){return f("err at _N: x="+r+";"+(void 0===r?"undefined":_typeof(r))+";"+(e.message||""),e),t}}function v(r,t){try{return""===r||null==r?t:"number"==typeof r&&r%1==0?r:"number"==typeof r?parseFloat(r):(r=(r="0"+r).startsWith("0-")?r.substr(1):r,parseFloat(r.replace(/,/gi,"").trim()))}catch(e){return f("err at _N: x="+r+";"+(void 0===r?"undefined":_typeof(r))+";"+(e.message||""),e),t}}function h(t){return new Promise(function(e,r){e(t)})}function b(){var e="_trans_handler_prod",a=i[e];return a||(o(u,"build transformer of prod!"),(a={initialize:function(){var e=function(r){if(!r)throw new Error("param:name is required!");var e=require("fs"),t=require("path"),n=require("js-yaml"),i=t.resolve(__dirname,"../data/"+r+(r.endsWith(".yml")?"":".yml"));try{return o(u,"load-sync-file =",i),n.safeLoad(e.readFileSync(i,"utf8"))}catch(e){f(u,"error:load-sync-yaml("+r+")=",e)}return{}}("prod-fields"),r=e&&e.fields;if(!r)throw new Error(u+"valid fields definition is required!");var t={parser:{},serial:{},splits:{}};t=s.reduce(r,function(e,r,o){function t(e,r){if("object"===(void 0===r?"undefined":_typeof(r)))e=s.reduce(r,function(e,t,r){if("X"==r){var n={atem:null,item:null,deal:null};if(t)(Array.isArray(t)?t:t.split(",")).forEach(function(e){if((e=e.trim()).startsWith("."))n.atem=e.substring(1),n.item=e.substring(1),n.deal=e.substring(1);else if(e.endsWith("."))n[e.substring(0,e.length-1)]=o;else if(e.indexOf(".")){var r=e.split(".",2);n[r[0]]=r[1]}else f(u,"WARN!! NO ALIAS SUPPORT name:"+t)});return e.splits[o]=n,e}var i=a.parser[r];return i||f(u,"ERROR! invalid type:"+r+", name:"+t),t&&i&&(e.parser[t]={name:o,trans:i},e.serial[o]||(e.serial[o]={name:t,trans:a.serial[r]})),e},e);else{var t=a.parser.S;e.parser[r]={name:o,trans:t},e.serial[o]||(e.serial[o]={name:r,trans:a.serial.S})}return e}return e=Array.isArray(r)?s.reduce(r,function(e,r){return e=t(e,r)},e):t(e,r)},t),a._map=t},transform_row:function(e){var r={};return r=s.reduce(e,function(e,r,t){var n=a._map.parser[t];return n||f(u,"ERROR! invalid parser by key:"+t),n&&(e[n.name]=n.trans(r)),e},r)},transform_node:function(e){var r={};return r=s.reduce(e,function(e,r,t){var n=a._map.serial[t];return n||f(u,"ERROR! invalid serial by name:"+t),n&&(e[n.name]=n.trans(r)),e},r)},split_node:function(e,i,o,u){var r={};return r=s.reduce(e,function(e,r,t){if(t.startsWith("_")||t.startsWith("$"))return e;var n=a._map.splits[t];return n?(n.atem&&(i[n.atem]=r),n.item&&(o[n.item]=r),n.deal&&(u[n.deal]=r)):i[t]=r,e},r)},merge_node:function(e,i,o,u){i=i||{},o=o||{},u=u||{};var r={};return d(e,r=s.reduce(e,function(e,r,t){if(t.startsWith("_")||t.startsWith("$"))return e;var n=a._map.splits[t];return n?(n.item&&(e[t]=o[n.item]),n.atem&&(e[t]=i[n.atem]),n.deal&&(e[t]=u[n.deal])):void 0!==i[t]&&(e[t]=i[t]),e},r)),r},parser:{I:function(e){return parseInt(_(e,0))},N:function(e){return _(e,0)},F:function(e){return v(e,0)},F1:function(e){return Math.round(10*v(e,0))/10},F2:function(e){return Math.round(100*v(e,0))/100},F3:function(e){return Math.round(1e3*v(e,0))/1e3},U:function(e){throw new Error("not implemented!")},O:function(e){throw new Error("not implemented!")},A:function(e){return e?(e||"").split(","):[]},AI:function(e){return e?(e||"").split(",").map(function(e){return _(e,0)}):[]},AN:function(e){return e?(e||"").split(",").map(function(e){return _(e,0)}):[]},M:function(e){return JSON.parse(e)},S:function(e){return"string"==typeof e?e.trim():""+e},B:function(e){return"Y"===(e=(e||"").toUpperCase())||"T"===e||"1"===e||"true"===e}},serial:{I:function(e){return e},N:function(e){return e},F:function(e){return e},F1:function(e){return _(Math.round(10*e))/10},F2:function(e){return _(Math.round(100*e))/100},F3:function(e){return _(Math.round(1e3*e))/1e3},U:function(e){throw new Error("not implemented!")},O:function(e){throw new Error("not implemented!")},A:function(e){return(e||[]).join(",")},AI:function(e){return(e||[]).join(",")},AN:function(e){return(e||[]).join(",")},M:function(e){return p(e)},S:function(e){return""+e},B:function(e){return e?"Y":"N"}}}).initialize(),i[e]=a)}return i}; |
{ | ||
"name": "lemoncloud-engine-js", | ||
"version": "1.0.22", | ||
"version": "1.0.23", | ||
"description": "lemoncloud.io - Lemon Engine Modle of Node for Robust Micro-service based on DynamoDB + ElastiCache + Elasticsearch.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -89,2 +89,3 @@ # lemoncloud-engine-js | ||
|-- |-- | ||
| 1.0.23 | add `agw-proxy` as `AG`. @190509. | ||
| 1.0.22 | improve log | ||
@@ -91,0 +92,0 @@ | 1.0.21 | `environ.TS` for time-stamp. |
@@ -1,1 +0,1 @@ | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};module.exports=function(e,r,t){r=r||"IMS";var n=["id","type","parent","name","group","refid","stereo","size","description"],o=n.reduce(function(e,r){return(r=r||"").startsWith("desc")||e.push(r),e},[]),i=e.U,d=e.LEM;if(!i)throw new Error("$U is required!");if(!d)throw new Error("LEM is required!");var _=e.log,u=(e.inf,e.err,i.NS(r)),a=d(e,"_"+r,{ID_TYPE:"#ImageSeq",ID_NEXT:0,FIELDS:n,DYNA_TABLE:"Images",REDIS_PKEY:"CIMS",ES_INDEX:"images-v1",ES_TYPE:"image",ES_FIELDS:o,NS_NAME:r,ES_MASTER:1,CLONEABLE:!0,PARENT_IMUT:!0});if(!a)throw new Error(u+"$LEM is required!");var c=t||{},s=function(e){throw new Error("NOT_IMPLEMENTED - "+u+":"+JSON.stringify(e))};c.$LEM=a,c.do_prepare=s,c.do_create=s,c.do_clone=s,c.do_update=s,c.do_increment=s,c.do_read=s,c.do_delete=s,c.do_destroy=s,c.do_search=s,c.on_records=s,c.do_notify=a.do_notify,c.do_subscribe=a.do_subscribe,c.do_initialize=s,c.do_terminate=s,c.do_test_self=s,e(r,c);var f=function(e,r,t){return a.do_prepare_chain(e,r,t)},h=function(e){return a.do_finish_chain(e)},p=function(t){var e=t._id;return _(u,"my_read_origin_node("+e+")...."),e?f(e,null,"read").then(a.do_read).then(function(e){var r=e._node;return t._node=r,t}).catch(function(e){if((e&&e.message||""+e).startsWith("404 NOT FOUND"))return t._node=null,t;throw e}):Promise.reject(new Error("ID is required!"))},m=function(e){var r=e._id;return _(u,"my_validate_origin("+r+")...."),e._node?e:Promise.reject(new Error("404 NOT FOUND. ID:"+r))},E=function(e){var r=e._id;_(u,"my_validate_deleted("+r+")....");var t=e._node||e;return _(u,"> node=",t),t.deleted_at?Promise.reject(new Error("404 NOT FOUND. deleted_at:"+t.deleted_at)):e},l=function(e){var r=e._id;_(u,"my_filter_different("+r+")....");var n=e._node;return n&&Object.keys(e).reduce(function(e,r){if(r.startsWith("_")||r.startsWith("$"))return e;var t=n[r];return e[r]===t&&delete e[r],e},e),e};return c.do_create=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(u,"do_create()... id=",t),f(e,r,"create").then(p).then(function(e){var t,r,n=e._node;return!n||n.deleted_at?(r=(t=e)._id,_(u,"my_prepare_origin_node("+r+")...."),r?f(r,null,"prepare").then(function(e){return e._force_create=!0,e}).then(a.do_prepare).then(function(e){var r=e._node;return t._node=r,t}):Promise.reject(new Error("ID is required!"))):(e._is_update=!0,l(e))}).then(m).then(function(e){return e._is_update?a.do_update(e):a.do_create(e)}).then(h)):Promise.reject(new Error("id is required!"))},c.do_update=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(u,"do_update()... id=",t),f(e,r,"update").then(p).then(m).then(E).then(l).then(a.do_update).then(h)):Promise.reject(new Error("id is required!"))},c.do_increment=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(u,"do_increment()... id=",t),f(e,r,"increment").then(a.do_increment).then(h)):Promise.reject(new Error("id is required!"))},c.do_read=function(e,r){return(e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e)?f(e,r,"read").then(a.do_read).then(E).then(h):Promise.reject(new Error("id is required!"))},c.do_delete=function(e,r){return(e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e)?f(e,r,"delete").then(a.do_delete).then(h):Promise.reject(new Error("id is required!"))},c.do_search=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return _(u,"do_search()... id=",t),f(e,r,"search").then(a.do_search).then(h)},c.on_records=function(e){return _(u,"on_records()... records.len=",e&&e.records&&e.records.length||0),a.on_records(e||{})},c.do_initialize=function(e){return _(u+"do_initialize()... params=",i.json(e)),a.do_initialize(e||{})},c.do_terminate=function(e){return _(u+"do_terminate()... params=",i.json(e)),a.do_terminate(e||{})},c}; | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};module.exports=function(e,r,t){r=r||"IMS";var n=["id","type","parent","name","group","refid","stereo","size","description"],o=n.reduce(function(e,r){return(r=r||"").startsWith("desc")||e.push(r),e},[]),i=e.U,d=e.LEM;if(!i)throw new Error("$U is required!");if(!d)throw new Error("LEM is required!");var _=e.log,u=(e.inf,e.err,i.NS(r)),a=d(e,"_"+r,{ID_TYPE:"#ImageSeq",ID_NEXT:0,FIELDS:n,DYNA_TABLE:"Images",REDIS_PKEY:"CIMS",ES_INDEX:"images-v1",ES_TYPE:"image",ES_FIELDS:o,NS_NAME:r,ES_MASTER:1,CLONEABLE:!0,PARENT_IMUT:!0});if(!a)throw new Error(u+"$LEM is required!");function c(e){throw new Error("NOT_IMPLEMENTED - "+u+":"+JSON.stringify(e))}var s=t||{};s.$LEM=a,s.do_prepare=c,s.do_create=c,s.do_clone=c,s.do_update=c,s.do_increment=c,s.do_read=c,s.do_delete=c,s.do_destroy=c,s.do_search=c,s.on_records=c,s.do_notify=a.do_notify,s.do_subscribe=a.do_subscribe,s.do_initialize=c,s.do_terminate=c,s.do_test_self=c,e(r,s);function f(e,r,t){return a.do_prepare_chain(e,r,t)}function h(e){return a.do_finish_chain(e)}function p(t){var e=t._id;return _(u,"my_read_origin_node("+e+")...."),e?f(e,null,"read").then(a.do_read).then(function(e){var r=e._node;return t._node=r,t}).catch(function(e){if((e&&e.message||""+e).startsWith("404 NOT FOUND"))return t._node=null,t;throw e}):Promise.reject(new Error("ID is required!"))}function m(e){var r=e._id;return _(u,"my_validate_origin("+r+")...."),e._node?e:Promise.reject(new Error("404 NOT FOUND. ID:"+r))}function E(e){var r=e._id;_(u,"my_validate_deleted("+r+")....");var t=e._node||e;return _(u,"> node=",t),t.deleted_at?Promise.reject(new Error("404 NOT FOUND. deleted_at:"+t.deleted_at)):e}function l(e){var r=e._id;_(u,"my_filter_different("+r+")....");var n=e._node;return n&&Object.keys(e).reduce(function(e,r){if(r.startsWith("_")||r.startsWith("$"))return e;var t=n[r];return e[r]===t&&delete e[r],e},e),e}return s.do_create=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(u,"do_create()... id=",t),f(e,r,"create").then(p).then(function(e){var r=e._node;return!r||r.deleted_at?function(t){var e=t._id;return _(u,"my_prepare_origin_node("+e+")...."),e?f(e,null,"prepare").then(function(e){return e._force_create=!0,e}).then(a.do_prepare).then(function(e){var r=e._node;return t._node=r,t}):Promise.reject(new Error("ID is required!"))}(e):(e._is_update=!0,l(e))}).then(m).then(function(e){return e._is_update?a.do_update(e):a.do_create(e)}).then(h)):Promise.reject(new Error("id is required!"))},s.do_update=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(u,"do_update()... id=",t),f(e,r,"update").then(p).then(m).then(E).then(l).then(a.do_update).then(h)):Promise.reject(new Error("id is required!"))},s.do_increment=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(u,"do_increment()... id=",t),f(e,r,"increment").then(a.do_increment).then(h)):Promise.reject(new Error("id is required!"))},s.do_read=function(e,r){return(e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e)?f(e,r,"read").then(a.do_read).then(E).then(h):Promise.reject(new Error("id is required!"))},s.do_delete=function(e,r){return(e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e)?f(e,r,"delete").then(a.do_delete).then(h):Promise.reject(new Error("id is required!"))},s.do_search=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return _(u,"do_search()... id=",t),f(e,r,"search").then(a.do_search).then(h)},s.on_records=function(e){return _(u,"on_records()... records.len=",e&&e.records&&e.records.length||0),a.on_records(e||{})},s.do_initialize=function(e){return _(u+"do_initialize()... params=",i.json(e)),a.do_initialize(e||{})},s.do_terminate=function(e){return _(u+"do_terminate()... params=",i.json(e)),a.do_terminate(e||{})},s}; |
@@ -1,1 +0,1 @@ | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};module.exports=function(e,r,t){r=r||"MMS";var n=["id","type","parent","name","group","refid","nick","stereo","message","description","image","source","target","state"],i=n.reduce(function(e,r){return(r=r||"").startsWith("desc")||e.push(r),e},[]),o=e.U,d=e.LEM;if(!o)throw new Error("$U is required!");if(!d)throw new Error("LEM is required!");var _=e.log,a=e.inf,u=e.err,c=o.NS(r),s=d(e,"_"+r,{ID_TYPE:"LemonMessagesSeq",ID_NEXT:1e3,FIELDS:n,DYNA_TABLE:"Messages",REDIS_PKEY:"CMMS",ES_INDEX:"messages-v1",ES_TYPE:"messages",ES_FIELDS:i,NS_NAME:r,ES_MASTER:1,CLONEABLE:!0,PARENT_IMUT:!1});if(!s)throw new Error(c+"$LEM is required!");var f=t||{},E=function(e){throw new Error("NOT_IMPLEMENTED - "+c+":"+JSON.stringify(e))};f.$LEM=s,f.do_prepare=E,f.do_create=E,f.do_clone=E,f.do_update=E,f.do_increment=E,f.do_read=E,f.do_delete=E,f.do_destroy=E,f.do_search=E,f.on_records=E,f.do_notify=s.do_notify,f.do_subscribe=s.do_subscribe,f.do_initialize=E,f.do_terminate=E,f.do_test_self=E,e(r,f);var p=function(e,r,t){return s.do_prepare_chain(e,r,t)},h=function(e){return s.do_finish_chain(e)},m=function(e){var r=((""+e.type).trim()+":"+(""+e.name).trim()).toLowerCase();return"MD5"+o.md5(r)};f.calculate_refid=m;var l=function(e){var r=e._node||{},t=(e._id||r.id,r.refid),n=e.type||r.type||"",i=e.name||r.name||"",o=(n.trim()+":"+i.trim()).toLowerCase(),d=":"==o?"":m({type:n,name:i});if(d&&t!=d){if(a(c,">> refid := ",d," (",o,")"),r.id)return p(r.id,{refid:d},"update").then(s.do_update).then(h).then(function(){return e});e.refid=d}return e};return f.do_prepare=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return _(c,"do_prepare()... id=",t),p(e,r,"prepare").then(s.do_prepare).then(h)},f.do_create=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(c,"do_create()... id=",t),p(e,r,"create").then(function(e){return e.type?e.name?e:Promise.reject(new Error("name is required!")):Promise.reject(new Error("type is required!"))}).then(l).then(s.do_create).then(h)):Promise.reject(new Error("id is required!"))},f.do_search_refid=function(e){var t=e.refid;return t?s.do_search(0,{refid:t}).then(function(e){var r=e.list||[];return 0<r.length?r[0]:Promise.reject(new Error("404 NOT FOUND - refid:"+t))}):Promise.reject(new Error("refid is required!"))},f.do_create_safe=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?Promise.reject(new Error("id is invalid")):(_(c,"do_create_safe()... id=",t),p(e,r,"create").then(function(e){return e.type?e.name?e:Promise.reject(new Error("name is required!")):Promise.reject(new Error("type is required!"))}).then(l).then(function(t){if((""+(t.name||"")).startsWith("#"))return s.do_prepare(0).then(function(e){return a(c,"! prepared-id =",e._id),t._id=e._id,t._prepared=1,t});var n=t.refid;return n?s.do_search(0,{refid:n}).then(function(e){var r=e.list||[];return r.length<1?s.do_prepare(0).then(function(e){return a(c,"! prepared-id =",e._id),t._id=e._id,t._prepared=1,t}):1!==r.length?(u(c,"TOO MANY RESULT BY REFID:"+n+" = ",r),Promise.reject(new Error("Invalid refid@1:"+n))):(t._id=r[0].id,t)}):Promise.reject(new Error("refid is invalid"))}).then(function(e){return e._id&&!e._prepared?s.do_update(e):s.do_create(e)}).then(function(e){return e.id=e._id,e}).then(h))},f.do_clone=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(c,"do_clone()... id=",t),p(e,r,"clone").then(s.do_clone).then(l).then(h)):Promise.reject(new Error("id is required!"))},f.do_update=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(c,"do_update()... id=",t),p(e,r,"update").then(function(e){return e.type?Promise.reject(new Error("type is imutable")):e}).then(s.do_update).then(l).then(h)):Promise.reject(new Error("id is required!"))},f.do_increment=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(c,"do_increment()... id=",t),p(e,r,"increment").then(function(e){return e.type?e:Promise.reject(new Error("type is imutable"))}).then(s.do_increment).then(h)):Promise.reject(new Error("id is required!"))},f.do_read=function(e,r){return(e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e)?p(e,r,"read").then(s.do_read).then(h):Promise.reject(new Error("id is required!"))},f.do_delete=function(e,r){return(e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e)?p(e,r,"delete").then(s.do_delete).then(h):Promise.reject(new Error("id is required!"))},f.do_destroy=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(c,"do_destroy()... id=",t),p(e,r,"destroy").then(s.do_destroy).then(h)):Promise.reject(new Error("id is required!"))},f.do_search=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return _(c,"do_search()... id=",void 0===e?"undefined":_typeof(e),t),p(e,r,"search").then(s.do_search).then(h)},f.on_records=function(e){return _(c,"on_records()... records.len=",e&&e.records&&e.records.length||0),s.on_records(e||{})},f.do_initialize=function(e){return _(c+"do_initialize()... params=",o.json(e)),s.do_initialize(e||{})},f.do_terminate=function(e){return _(c+"do_terminate()... params=",o.json(e)),s.do_terminate(e||{})},f.do_test_self=function(e,r){return _(c+"do_test_self()... params=",o.json(r)),function(e,r){_(c,"- do_test_self()... that=",o.json(e));var t=o.promise(e);return t=t.then(function(e){_(c,"------------- STEP1 ");var t=Object.assign({_id:0,type:"TEST",name:"test-name",nick:"hello",description:"test description (invisible in ES)",meta:'{"hello":1}'},r||{});return void 0!==e.id&&(t._id=e.id),_(c,"! ID =",t._id),Promise.resolve(t).then(function(e){return _(c,"======== PREPARE"),e._id?e:f.do_prepare(0)}).then(function(e){_(c,"======== CREATE"),_(c,"> do_create =",o.json(e));var r=e._id;return f.do_create(r,t).then(function(e){_(c,"======== VALIDATE-CREATE"),_(c,">> do_create = ",o.json(e));var r=e._node||{},t=r.id,n=r.created_at&&r.updated_at&&!r.deleted_at&&r.id===t;if(n&&_(c,">> CREATE TEST RESULT: OK"),!n&&u(c,">> CREATE TEST RESULT: FAIL"),!t)throw new Error("invalid id after creation");return e})}).then(function(e){_(c,"======== UPDATE"),_(c,"> do_update =",o.json(e));var r=e._node||{},t=r.id,n={name:(r.name||"!")+"+"};return f.do_update(t,n).then(function(e){return _(c,"======== VALIDATE-UPDATE"),_(c,">> do_update = ",o.json(e)),e})}).catch(function(e){if(u(c,"ERR =",e),0<(e.message||"").indexOf("INVALID STATE.")){_(c,"======== DELETE");var n=t._id;return f.do_delete(n,t).then(function(e){_(c,">> do_delete = ",o.json(e));var r=e._node||{},t=r.created_at&&r.updated_at&&r.deleted_at&&r.id===n;return t&&_(c,">> DELETE TEST RESULT: OK"),!t&&u(c,">> DELETE TEST RESULT: FAIL"),e})}throw e})})}(e,r)},f}; | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};module.exports=function(e,r,t){r=r||"MMS";var n=["id","type","parent","name","group","refid","nick","stereo","message","description","image","source","target","state"],i=n.reduce(function(e,r){return(r=r||"").startsWith("desc")||e.push(r),e},[]),o=e.U,d=e.LEM;if(!o)throw new Error("$U is required!");if(!d)throw new Error("LEM is required!");var _=e.log,a=e.inf,u=e.err,c=o.NS(r),s=d(e,"_"+r,{ID_TYPE:"LemonMessagesSeq",ID_NEXT:1e3,FIELDS:n,DYNA_TABLE:"Messages",REDIS_PKEY:"CMMS",ES_INDEX:"messages-v1",ES_TYPE:"messages",ES_FIELDS:i,NS_NAME:r,ES_MASTER:1,CLONEABLE:!0,PARENT_IMUT:!1});if(!s)throw new Error(c+"$LEM is required!");function f(e){throw new Error("NOT_IMPLEMENTED - "+c+":"+JSON.stringify(e))}var E=t||{};E.$LEM=s,E.do_prepare=f,E.do_create=f,E.do_clone=f,E.do_update=f,E.do_increment=f,E.do_read=f,E.do_delete=f,E.do_destroy=f,E.do_search=f,E.on_records=f,E.do_notify=s.do_notify,E.do_subscribe=s.do_subscribe,E.do_initialize=f,E.do_terminate=f,E.do_test_self=f,e(r,E);function p(e,r,t){return s.do_prepare_chain(e,r,t)}function h(e){return s.do_finish_chain(e)}function m(e){var r=((""+e.type).trim()+":"+(""+e.name).trim()).toLowerCase();return"MD5"+o.md5(r)}E.calculate_refid=m;function l(e){var r=e._node||{},t=(e._id||r.id,r.refid),n=e.type||r.type||"",i=e.name||r.name||"",o=(n.trim()+":"+i.trim()).toLowerCase(),d=":"==o?"":m({type:n,name:i});if(d&&t!=d){if(a(c,">> refid := ",d," (",o,")"),r.id)return p(r.id,{refid:d},"update").then(s.do_update).then(h).then(function(){return e});e.refid=d}return e}return E.do_prepare=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return _(c,"do_prepare()... id=",t),p(e,r,"prepare").then(s.do_prepare).then(h)},E.do_create=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(c,"do_create()... id=",t),p(e,r,"create").then(function(e){return e.type?e.name?e:Promise.reject(new Error("name is required!")):Promise.reject(new Error("type is required!"))}).then(l).then(s.do_create).then(h)):Promise.reject(new Error("id is required!"))},E.do_search_refid=function(e){var t=e.refid;return t?s.do_search(0,{refid:t}).then(function(e){var r=e.list||[];return 0<r.length?r[0]:Promise.reject(new Error("404 NOT FOUND - refid:"+t))}):Promise.reject(new Error("refid is required!"))},E.do_create_safe=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?Promise.reject(new Error("id is invalid")):(_(c,"do_create_safe()... id=",t),p(e,r,"create").then(function(e){return e.type?e.name?e:Promise.reject(new Error("name is required!")):Promise.reject(new Error("type is required!"))}).then(l).then(function(t){if((""+(t.name||"")).startsWith("#"))return s.do_prepare(0).then(function(e){return a(c,"! prepared-id =",e._id),t._id=e._id,t._prepared=1,t});var n=t.refid;return n?s.do_search(0,{refid:n}).then(function(e){var r=e.list||[];return r.length<1?s.do_prepare(0).then(function(e){return a(c,"! prepared-id =",e._id),t._id=e._id,t._prepared=1,t}):1!==r.length?(u(c,"TOO MANY RESULT BY REFID:"+n+" = ",r),Promise.reject(new Error("Invalid refid@1:"+n))):(t._id=r[0].id,t)}):Promise.reject(new Error("refid is invalid"))}).then(function(e){return e._id&&!e._prepared?s.do_update(e):s.do_create(e)}).then(function(e){return e.id=e._id,e}).then(h))},E.do_clone=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(c,"do_clone()... id=",t),p(e,r,"clone").then(s.do_clone).then(l).then(h)):Promise.reject(new Error("id is required!"))},E.do_update=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(c,"do_update()... id=",t),p(e,r,"update").then(function(e){return e.type?Promise.reject(new Error("type is imutable")):e}).then(s.do_update).then(l).then(h)):Promise.reject(new Error("id is required!"))},E.do_increment=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(c,"do_increment()... id=",t),p(e,r,"increment").then(function(e){return e.type?e:Promise.reject(new Error("type is imutable"))}).then(s.do_increment).then(h)):Promise.reject(new Error("id is required!"))},E.do_read=function(e,r){return(e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e)?p(e,r,"read").then(s.do_read).then(h):Promise.reject(new Error("id is required!"))},E.do_delete=function(e,r){return(e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e)?p(e,r,"delete").then(s.do_delete).then(h):Promise.reject(new Error("id is required!"))},E.do_destroy=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return t?(_(c,"do_destroy()... id=",t),p(e,r,"destroy").then(s.do_destroy).then(h)):Promise.reject(new Error("id is required!"))},E.do_search=function(e,r){var t=e&&"object"===(void 0===e?"undefined":_typeof(e))?e._id:e;return _(c,"do_search()... id=",void 0===e?"undefined":_typeof(e),t),p(e,r,"search").then(s.do_search).then(h)},E.on_records=function(e){return _(c,"on_records()... records.len=",e&&e.records&&e.records.length||0),s.on_records(e||{})},E.do_initialize=function(e){return _(c+"do_initialize()... params=",o.json(e)),s.do_initialize(e||{})},E.do_terminate=function(e){return _(c+"do_terminate()... params=",o.json(e)),s.do_terminate(e||{})},E.do_test_self=function(e,r){return _(c+"do_test_self()... params=",o.json(r)),function(e,r){_(c,"- do_test_self()... that=",o.json(e));var t=o.promise(e);return t=t.then(function(e){_(c,"------------- STEP1 ");var t=Object.assign({_id:0,type:"TEST",name:"test-name",nick:"hello",description:"test description (invisible in ES)",meta:'{"hello":1}'},r||{});return void 0!==e.id&&(t._id=e.id),_(c,"! ID =",t._id),Promise.resolve(t).then(function(e){return _(c,"======== PREPARE"),e._id?e:E.do_prepare(0)}).then(function(e){_(c,"======== CREATE"),_(c,"> do_create =",o.json(e));var r=e._id;return E.do_create(r,t).then(function(e){_(c,"======== VALIDATE-CREATE"),_(c,">> do_create = ",o.json(e));var r=e._node||{},t=r.id,n=r.created_at&&r.updated_at&&!r.deleted_at&&r.id===t;if(n&&_(c,">> CREATE TEST RESULT: OK"),n||u(c,">> CREATE TEST RESULT: FAIL"),!t)throw new Error("invalid id after creation");return e})}).then(function(e){_(c,"======== UPDATE"),_(c,"> do_update =",o.json(e));var r=e._node||{},t=r.id,n={name:(r.name||"!")+"+"};return E.do_update(t,n).then(function(e){return _(c,"======== VALIDATE-UPDATE"),_(c,">> do_update = ",o.json(e)),e})}).catch(function(e){if(u(c,"ERR =",e),0<(e.message||"").indexOf("INVALID STATE.")){_(c,"======== DELETE");var n=t._id;return E.do_delete(n,t).then(function(e){_(c,">> do_delete = ",o.json(e));var r=e._node||{},t=r.created_at&&r.updated_at&&r.deleted_at&&r.id===n;return t&&_(c,">> DELETE TEST RESULT: OK"),t||u(c,">> DELETE TEST RESULT: FAIL"),e})}throw e})})}(e,r)},E}; |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
118970
28
144
23