@hw-agconnect/cloud-server 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1,358 @@
1
- "use strict";var __values=this&&this.__values||function(e){var r="function"==typeof Symbol&&Symbol.iterator,o=r&&e[r],n=0;if(o)return o.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=this&&this.__read||function(e,r){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,t,i=o.call(e),l=[];try{for(;(void 0===r||r-- >0)&&!(n=i.next()).done;)l.push(n.value)}catch(e){t={error:e}}finally{try{n&&!n.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}return l};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Utils=void 0;var FieldType_1=require("./FieldType"),Constant_1=require("./Constant"),AGConnectCloudDBException_1=require("../exception/AGConnectCloudDBException"),CloudDBErrorCode_1=require("../exception/CloudDBErrorCode"),DataModelHelper_1=require("./DataModelHelper"),CloudDBZoneGenericObject_1=require("../request/CloudDBZoneGenericObject"),ErrorCodeMessage_1=require("../exception/ErrorCodeMessage"),Utils=function(){function e(){}return e.isArray=function(e){return typeof Array.isArray===Constant_1.VerifyKey.Function?Array.isArray(e):"[object Array]"===Object.prototype.toString.call(e)},e.isNullOrUndefined=function(e){return null==e},e.isNotNullObject=function(e){return null!==e&&"object"==typeof e},e.serializeObjects=function(e){var r=this,o=[];return e.forEach((function(e){var n=r.serializeObject(e);o.push(n)})),o},e.serializeDate=function(e){return e instanceof Date?e.getTime():e},e.deserializeObjects=function(r,o,n,t){var i,l,a,d,c,u,C=[];try{for(var s=__values(r),_=s.next();!_.done;_=s.next()){var E=_.value,p=new n(t);if(n!==CloudDBZoneGenericObject_1.CloudDBZoneGenericObject){try{for(var D=(c=void 0,__values(o.keys())),f=D.next();!f.done;f=D.next()){var y=f.value;if(void 0===E[y]||p.getEncryptedFieldList().includes(y))p[y]=void 0;else if(null!==E[y]){var T=o.get(y);T!==FieldType_1.FieldType.Date?e.isFieldTypeNumber(T)?p[y]=e.deserializeNumber(E[y]):T!==FieldType_1.FieldType.ByteArray?p[y]=E[y]:p[y]=e.base64ToArrayBuffer(E[y]):p[y]=e.deserializeDate(E[y])}else p[y]=null}}catch(e){c={error:e}}finally{try{f&&!f.done&&(u=D.return)&&u.call(D)}finally{if(c)throw c.error}}C.push(p)}else{try{for(var A=(a=void 0,__values(Object.keys(E))),B=A.next();!B.done;B=A.next()){var h=B.value;p.fieldMap.set(h,E[h])}}catch(e){a={error:e}}finally{try{B&&!B.done&&(d=A.return)&&d.call(A)}finally{if(a)throw a.error}}C.push(p)}}}catch(e){i={error:e}}finally{try{_&&!_.done&&(l=s.return)&&l.call(s)}finally{if(i)throw i.error}}return C},e.arrayBufferToBase64=function(e){return Buffer.from(e).toString("base64")},e.base64ToArrayBuffer=function(e){var r=Buffer.from(e,"base64");return new Uint8Array(r).slice()},e.isFieldTypeNumber=function(e){if(!e)throw new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PARAMETER_INVALID);switch(e){case FieldType_1.FieldType.Byte:case FieldType_1.FieldType.Short:case FieldType_1.FieldType.Integer:case FieldType_1.FieldType.IntAutoIncrement:case FieldType_1.FieldType.Float:case FieldType_1.FieldType.Double:return!0;default:return!1}},e.deserializeNumber=function(e){return"string"==typeof e?Number(e).valueOf():e},e.deserializeDate=function(e){if(!this.DATE_REG_EXP.test(e))throw console.warn("The date string from cloud is invalid: ",e),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATE_STRING_INVALID);var r=e.replace(" ","T").replace(" ",".")+"Z";return new Date(r)},e.addCondition=function(e,r,o,n){var t={};return t.fieldName=r,t.fieldType=o,t.conditionType=e,t.value=n,t},e.serializeGenericObjQuery=function(r,o,n){var t,i,l=[];try{for(var a=__values(r),d=a.next();!d.done;d=a.next()){var c=d.value,u={};if(Object.assign(u,c),e.isPaginationType(c.conditionType)){if(!e.isObjectValid(c.value))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID);u.value=this.serializeObject(c.value),l.push(u)}else"In"===c.conditionType?this.getInCondition(u,c.value):u.value=e.serializeDate(c.value),l.push(u)}}catch(e){t={error:e}}finally{try{d&&!d.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}if(o&&n){var C=this.addCondition("GreaterThanOrEqualTo",this.KEY_DELETE_TIME,FieldType_1.FieldType.Long,e.serializeDate(o));l.push(C);var s=this.addCondition("LessThanOrEqualTo",this.KEY_DELETE_TIME,FieldType_1.FieldType.Long,e.serializeDate(n));l.push(s)}return l},e.getInCondition=function(r,o){if(0!==o.length)for(var n=0;n<o.length;n++)r.value[n]=e.serializeDate(o[n])},e.serializeQueryConditions=function(r,o,n,t){var i=this,l=[];if(r.forEach((function(r){var n={};if(Object.assign(n,r),e.isPaginationType(r.conditionType)){if(!e.isObjectValid(r.value))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID);return n.value=i.serializeObject(r.value),void l.push(n)}if(o.get(r.fieldName)===FieldType_1.FieldType.Date&&"In"===r.conditionType)for(var t=0;t<r.value.length;t++)n.value[t]=e.serializeDate(r.value[t]);else n.value=e.serializeDate(r.value);l.push(n)})),n&&t){var a=this.addCondition("GreaterThanOrEqualTo",this.KEY_DELETE_TIME,FieldType_1.FieldType.Long,e.serializeDate(n));l.push(a);var d=this.addCondition("LessThanOrEqualTo",this.KEY_DELETE_TIME,FieldType_1.FieldType.Long,e.serializeDate(t));l.push(d)}return l},e.isNumericField=function(e){return e===FieldType_1.FieldType.Double||e===FieldType_1.FieldType.Byte||e===FieldType_1.FieldType.Float||e===FieldType_1.FieldType.Integer||e===FieldType_1.FieldType.Long||e===FieldType_1.FieldType.Short||e===FieldType_1.FieldType.IntAutoIncrement||e===FieldType_1.FieldType.LongAutoIncrement},e.clazzCheck=function(e){try{var r=new e;if(!this.isObjectValid(r))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID)}catch(e){throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID)}},e.isObjectValid=function(e){return typeof e.getFieldTypeMap===Constant_1.VerifyKey.Function&&typeof e.getClassName===Constant_1.VerifyKey.Function&&typeof e.getPrimaryKeyList===Constant_1.VerifyKey.Function&&typeof e.getIndexList===Constant_1.VerifyKey.Function&&typeof e.getEncryptedFieldList===Constant_1.VerifyKey.Function||e instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject},e.serializeObject=function(r){var o,n,t,i;if(r instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject){var l=r.getObject();try{for(var a=__values(Object.keys(l)),d=a.next();!d.done;d=a.next()){var c=d.value;l[c]instanceof Uint8Array||l[c]instanceof Array?l[c]=e.arrayBufferToBase64(l[c]):l[c]=e.serializeDate(l[c])}}catch(e){o={error:e}}finally{try{d&&!d.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return l}var u={},C=r.getFieldTypeMap(),s=r.getEncryptedFieldList();try{for(var _=__values(Object.keys(r)),E=_.next();!E.done;E=_.next()){var p=E.value;if(void 0!==r[p]&&!s.includes(p))if(null!==r[p]){var D=C.get(p);if(e.isNumericField(D)&&!isFinite(r[p]))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.NUMBER_IS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.NUMBER_IS_INVALID);C.get(p)!==FieldType_1.FieldType.Date?D!==FieldType_1.FieldType.ByteArray?u[p]=r[p]:u[p]=e.arrayBufferToBase64(r[p]):u[p]=e.serializeDate(r[p])}else u[p]=null}}catch(e){t={error:e}}finally{try{E&&!E.done&&(i=_.return)&&i.call(_)}finally{if(t)throw t.error}}return u},e.isAggregateType=function(e){return["Average","Count","Max","Min","Sum"].includes(e)},e.isPaginationType=function(e){return["StartAt","StartAfter","EndAt","EndBefore"].includes(e)},e.checkSchemaAndDataSize=function(r){var o;r.forEach((function(r){var n,t,i,l;if(!e.isObjectValid(r))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID);if(r instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject){if(null==o&&(o=r),DataModelHelper_1.DataModelHelper.validateGenericObj(r),(null===(i=o.constructor)||void 0===i?void 0:i.name)!==(null===(l=r.constructor)||void 0===l?void 0:l.name)||o.getObjectTypeName()!==r.getObjectTypeName())throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_ONE_SCHEMA).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_ONE_SCHEMA)}else{if(DataModelHelper_1.DataModelHelper.validate(r),null==o&&(o=r),(null===(n=o.constructor)||void 0===n?void 0:n.name)!==(null===(t=r.constructor)||void 0===t?void 0:t.name)||o.getClassName()!==r.getClassName())throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_ONE_SCHEMA).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_ONE_SCHEMA);if(DataModelHelper_1.DataModelHelper.calculateObject(r)>e.MAX_OBJECT_CAPACITY)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW)}}))},e.getRequestId=function(){return this.generateTraceId()},e.generateTraceId=function(){for(var e="",r=0;r<this.TRACE_ID_LENGTH/this.RANDOM_KEY_LENGTH;r++)e+=this.randomKey();return e},e.randomKey=function(){return((1+this.getSecRandom())*this.RANDOM_VALUE|0).toString(this.HEX).substring(1)},e.getSecRandom=function(){return Math.floor(Math.random()*this.RANDOM_RANGE)/(this.RANDOM_DIVISOR+1)},e.checkTraceId=function(e){return this.TRACE_ID_EXP.test(e)},e.primaryKeyCompareTo=function(e,r,o){switch(o){case FieldType_1.FieldType.Byte:case FieldType_1.FieldType.Short:case FieldType_1.FieldType.Integer:case FieldType_1.FieldType.IntAutoIncrement:return e-r;case FieldType_1.FieldType.String:return e.localeCompare(r);case FieldType_1.FieldType.Long:case FieldType_1.FieldType.LongAutoIncrement:return this.longCompareTo(e,r);default:return}},e.isNumberString=function(r){return typeof r===Constant_1.VerifyKey.String&&e.NUMBER_REG_EXP.test(r)},e.longCompareTo=function(r,o){if(!e.NUMBER_REG_EXP.test(r)||!e.NUMBER_REG_EXP.test(o))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if("-"===r.charAt(0)&&"-"!==o.charAt(0))return-1;if("-"!==r.charAt(0)&&"-"===o.charAt(0))return 1;var n="-"===r.charAt(0)?-1:1;if(r.length>o.length)return n;if(r.length<o.length)return-n;for(var t=0;t<r.length;t++){var i=r.charAt(t).localeCompare(o.charAt(t));if(0!==i)return n*i}return 0},e.serializeMapObject=function(r,o){var n,t,i,l,a;if(r instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject){a=CloudDBZoneGenericObject_1.CloudDBZoneGenericObject.build(r.getObjectTypeName());try{for(var d=__values(o),c=d.next();!c.done;c=d.next()){var u=__read(c.value,2);E=u[0],p=u[1];a.addFieldValue(E,p)}}catch(e){i={error:e}}finally{try{c&&!c.done&&(l=d.return)&&l.call(d)}finally{if(i)throw i.error}}}else{a=Object.create(r);try{for(var C=__values(o),s=C.next();!s.done;s=C.next()){var _=__read(s.value,2),E=_[0],p=_[1];a[E]=p}}catch(e){n={error:e}}finally{try{s&&!s.done&&(t=C.return)&&t.call(C)}finally{if(n)throw n.error}}}return e.checkSchemaAndDataSize([a]),e.serializeObject(a)},e.deepCopy=function(e){var r,o,n=[];try{for(var t=__values(e),i=t.next();!i.done;i=t.next()){var l=i.value;if("object"==typeof l)if(l.constructor!==Date)if(l.constructor!==RegExp)if(l.clone)n.push(l.clone());else{var a=new l.constructor;for(var d in l)if(Object.hasOwnProperty.call(l,d)){var c=l[d];a[d]=c}n.push(a)}else n.push(new RegExp(l));else n.push(new Date(l));else n.push(l)}}catch(e){r={error:e}}finally{try{i&&!i.done&&(o=t.return)&&o.call(t)}finally{if(r)throw r.error}}return n},e.checkObjectTypeName=function(r){if(!r||!e.OBJECT_TYPE_EXP.test(r)||e.SYSTEM_OBJECT_TYPES.includes(r.toLowerCase())){var o=new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_OBJECT_TYPE_NAME);throw console.warn(o.message),o}},e.checkFieldName=function(r){if(!r||!e.FIELD_NAME_EXP.test(r)||e.SYSTEM_FIELDS.includes(r.toLowerCase())){var o=new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_NAME);throw console.warn(o.message),o}},e.checkIllegalCharacter=function(e){if(-1!==e.indexOf("\0")||-1!==e.indexOf("\0"))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_CONTAIN_ILLEGAL_CHARACTER)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_CONTAIN_ILLEGAL_CHARACTER)},e.TRACE_ID_EXP=/^[0-9a-f]{1,32}$/,e.DATE_REG_EXP=/^[1-9]\d{3}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\s\d{3}/,e.NUMBER_REG_EXP=/^(-)?(0|[1-9][0-9]*)$/,e.MAX_OBJECT_CAPACITY=2097152,e.RANDOM_DIVISOR=4294967295,e.RANDOM_VALUE=65536,e.RANDOM_RANGE=1e9,e.HEX=16,e.TRACE_ID_LENGTH=32,e.RANDOM_KEY_LENGTH=4,e.KEY_DELETE_TIME="delete#time",e.OBJECT_TYPE_EXP=/^(?!sqlite_)[a-zA-Z][A-Za-z0-9_]{0,28}[A-Za-z0-9]$|^[a-zA-Z]$/,e.SYSTEM_OBJECT_TYPES=["naturalbase_metadata","objecttypeinfohelper","t_data_upgrade_info"],e.FIELD_NAME_EXP=/^[a-zA-Z][A-Za-z0-9_]{0,28}[A-Za-z0-9]$|^[a-zA-Z]$/,e.SYSTEM_FIELDS=["naturalbase_version","naturalbase_deleted","naturalbase_operationtype","naturalbase_creator","naturalbase_accesstime","naturalbase_operationtime","naturalbase_syncstatus","naturalbase_changedfieldsbitmap","naturalbase_lastmodifier","cmin","cmax","xmin","xmax","ctid","oid","tableoid","xc_node_id","tablebucketid","rowid","tid"],e}();exports.Utils=Utils;
1
+ "use strict";
2
+ var __values = this && this.__values || function (e) {
3
+ var r = "function" == typeof Symbol && Symbol.iterator, o = r && e[r], n = 0;
4
+ if (o) return o.call(e);
5
+ if (e && "number" == typeof e.length) return {
6
+ next: function () {
7
+ return e && n >= e.length && (e = void 0), {value: e && e[n++], done: !e}
8
+ }
9
+ };
10
+ throw new TypeError(r ? "Object is not iterable." : "Symbol.iterator is not defined.")
11
+ }, __read = this && this.__read || function (e, r) {
12
+ var o = "function" == typeof Symbol && e[Symbol.iterator];
13
+ if (!o) return e;
14
+ var n, t, i = o.call(e), l = [];
15
+ try {
16
+ for (; (void 0 === r || r-- > 0) && !(n = i.next()).done;) l.push(n.value)
17
+ } catch (e) {
18
+ t = {error: e}
19
+ } finally {
20
+ try {
21
+ n && !n.done && (o = i.return) && o.call(i)
22
+ } finally {
23
+ if (t) throw t.error
24
+ }
25
+ }
26
+ return l
27
+ };
28
+ Object.defineProperty(exports, "__esModule", {value: !0}), exports.Utils = void 0;
29
+ var FieldType_1 = require("./FieldType"), Constant_1 = require("./Constant"),
30
+ AGConnectCloudDBException_1 = require("../exception/AGConnectCloudDBException"),
31
+ CloudDBErrorCode_1 = require("../exception/CloudDBErrorCode"), DataModelHelper_1 = require("./DataModelHelper"),
32
+ CloudDBZoneGenericObject_1 = require("../request/CloudDBZoneGenericObject"),
33
+ ErrorCodeMessage_1 = require("../exception/ErrorCodeMessage"), Utils = function () {
34
+ function e() {
35
+ }
36
+
37
+ return e.isArray = function (e) {
38
+ return typeof Array.isArray === Constant_1.VerifyKey.Function ? Array.isArray(e) : "[object Array]" === Object.prototype.toString.call(e)
39
+ }, e.isNullOrUndefined = function (e) {
40
+ return null == e
41
+ }, e.isNotNullObject = function (e) {
42
+ return null !== e && "object" == typeof e
43
+ }, e.serializeObjects = function (e) {
44
+ var r = this, o = [];
45
+ return e.forEach((function (e) {
46
+ var n = r.serializeObject(e);
47
+ o.push(n)
48
+ })), o
49
+ }, e.serializeDate = function (e) {
50
+ return e instanceof Date ? e.getTime() : e
51
+ }, e.deserializeObjects = function (r, o, n, t) {
52
+ var i, l, a, d, c, u, C = [];
53
+ try {
54
+ for (var s = __values(r), _ = s.next(); !_.done; _ = s.next()) {
55
+ var E = _.value, p = new n(t);
56
+ if (n !== CloudDBZoneGenericObject_1.CloudDBZoneGenericObject) {
57
+ try {
58
+ for (var y = (c = void 0, __values(o.keys())), D = y.next(); !D.done; D = y.next()) {
59
+ var f = D.value;
60
+ if (void 0 === E[f] || p.getEncryptedFieldList().includes(f)) p[f] = void 0; else if (null !== E[f]) {
61
+ var T = o.get(f);
62
+ T !== FieldType_1.FieldType.Date ? e.isFieldTypeNumber(T) ? p[f] = e.deserializeNumber(E[f]) : T !== FieldType_1.FieldType.ByteArray ? p[f] = E[f] : p[f] = e.base64ToArrayBuffer(E[f]) : p[f] = e.deserializeDate(E[f])
63
+ } else p[f] = null
64
+ }
65
+ } catch (e) {
66
+ c = {error: e}
67
+ } finally {
68
+ try {
69
+ D && !D.done && (u = y.return) && u.call(y)
70
+ } finally {
71
+ if (c) throw c.error
72
+ }
73
+ }
74
+ C.push(p)
75
+ } else {
76
+ try {
77
+ for (var A = (a = void 0, __values(Object.keys(E))), B = A.next(); !B.done; B = A.next()) {
78
+ var h = B.value;
79
+ p.fieldMap.set(h, E[h])
80
+ }
81
+ } catch (e) {
82
+ a = {error: e}
83
+ } finally {
84
+ try {
85
+ B && !B.done && (d = A.return) && d.call(A)
86
+ } finally {
87
+ if (a) throw a.error
88
+ }
89
+ }
90
+ C.push(p)
91
+ }
92
+ }
93
+ } catch (e) {
94
+ i = {error: e}
95
+ } finally {
96
+ try {
97
+ _ && !_.done && (l = s.return) && l.call(s)
98
+ } finally {
99
+ if (i) throw i.error
100
+ }
101
+ }
102
+ return C
103
+ }, e.arrayBufferToBase64 = function (e) {
104
+ return Buffer.from(e).toString("base64")
105
+ }, e.base64ToArrayBuffer = function (e) {
106
+ var r = Buffer.from(e, "base64");
107
+ return new Uint8Array(r).slice()
108
+ }, e.isFieldTypeNumber = function (e) {
109
+ if (!e) throw new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PARAMETER_INVALID);
110
+ switch (e) {
111
+ case FieldType_1.FieldType.Byte:
112
+ case FieldType_1.FieldType.Short:
113
+ case FieldType_1.FieldType.Integer:
114
+ case FieldType_1.FieldType.IntAutoIncrement:
115
+ case FieldType_1.FieldType.Float:
116
+ case FieldType_1.FieldType.Double:
117
+ case FieldType_1.FieldType.LongAutoIncrement:
118
+ return !0;
119
+ default:
120
+ return !1
121
+ }
122
+ }, e.deserializeNumber = function (e) {
123
+ return "string" == typeof e ? Number(e).valueOf() : e
124
+ }, e.deserializeDate = function (e) {
125
+ if (!this.DATE_REG_EXP.test(e)) throw console.warn("The date string from cloud is invalid: ", e), new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATE_STRING_INVALID);
126
+ var r = e.replace(" ", "T").replace(" ", ".") + "Z";
127
+ return new Date(r)
128
+ }, e.addCondition = function (e, r, o, n) {
129
+ var t = {};
130
+ return t.fieldName = r, t.fieldType = o, t.conditionType = e, t.value = n, t
131
+ }, e.serializeGenericObjQuery = function (r, o, n) {
132
+ var t, i, l = [];
133
+ try {
134
+ for (var a = __values(r), d = a.next(); !d.done; d = a.next()) {
135
+ var c = d.value, u = {};
136
+ if (Object.assign(u, c), e.isPaginationType(c.conditionType)) {
137
+ if (!e.isObjectValid(c.value)) throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID).message), new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID);
138
+ u.value = this.serializeObject(c.value), l.push(u)
139
+ } else "In" === c.conditionType ? this.getInCondition(u, c.value) : u.value = e.serializeDate(c.value), l.push(u)
140
+ }
141
+ } catch (e) {
142
+ t = {error: e}
143
+ } finally {
144
+ try {
145
+ d && !d.done && (i = a.return) && i.call(a)
146
+ } finally {
147
+ if (t) throw t.error
148
+ }
149
+ }
150
+ if (o && n) {
151
+ var C = this.addCondition("GreaterThanOrEqualTo", this.KEY_DELETE_TIME, FieldType_1.FieldType.Long, e.serializeDate(o));
152
+ l.push(C);
153
+ var s = this.addCondition("LessThanOrEqualTo", this.KEY_DELETE_TIME, FieldType_1.FieldType.Long, e.serializeDate(n));
154
+ l.push(s)
155
+ }
156
+ return l
157
+ }, e.getInCondition = function (r, o) {
158
+ if (0 !== o.length) for (var n = 0; n < o.length; n++) r.value[n] = e.serializeDate(o[n])
159
+ }, e.serializeQueryConditions = function (r, o, n, t) {
160
+ var i = this, l = [];
161
+ if (r.forEach((function (r) {
162
+ var n = {};
163
+ if (Object.assign(n, r), e.isPaginationType(r.conditionType)) {
164
+ if (!e.isObjectValid(r.value)) throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID).message), new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID);
165
+ return n.value = i.serializeObject(r.value), void l.push(n)
166
+ }
167
+ if (o.get(r.fieldName) === FieldType_1.FieldType.Date && "In" === r.conditionType) for (var t = 0; t < r.value.length; t++) n.value[t] = e.serializeDate(r.value[t]); else n.value = e.serializeDate(r.value);
168
+ l.push(n)
169
+ })), n && t) {
170
+ var a = this.addCondition("GreaterThanOrEqualTo", this.KEY_DELETE_TIME, FieldType_1.FieldType.Long, e.serializeDate(n));
171
+ l.push(a);
172
+ var d = this.addCondition("LessThanOrEqualTo", this.KEY_DELETE_TIME, FieldType_1.FieldType.Long, e.serializeDate(t));
173
+ l.push(d)
174
+ }
175
+ return l
176
+ }, e.isNumericField = function (e) {
177
+ return e === FieldType_1.FieldType.Double || e === FieldType_1.FieldType.Byte || e === FieldType_1.FieldType.Float || e === FieldType_1.FieldType.Integer || e === FieldType_1.FieldType.Long || e === FieldType_1.FieldType.Short || e === FieldType_1.FieldType.IntAutoIncrement || e === FieldType_1.FieldType.LongAutoIncrement
178
+ }, e.clazzCheck = function (e) {
179
+ try {
180
+ var r = new e;
181
+ if (!this.isObjectValid(r)) throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID).message), new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID)
182
+ } catch (e) {
183
+ throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID).message), new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID)
184
+ }
185
+ }, e.isObjectValid = function (e) {
186
+ return typeof e.getFieldTypeMap === Constant_1.VerifyKey.Function && typeof e.getClassName === Constant_1.VerifyKey.Function && typeof e.getPrimaryKeyList === Constant_1.VerifyKey.Function && typeof e.getIndexList === Constant_1.VerifyKey.Function && typeof e.getEncryptedFieldList === Constant_1.VerifyKey.Function || e instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject
187
+ }, e.serializeObject = function (r) {
188
+ var o, n, t, i;
189
+ if (r instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject) {
190
+ var l = r.getObject();
191
+ try {
192
+ for (var a = __values(Object.keys(l)), d = a.next(); !d.done; d = a.next()) {
193
+ var c = d.value;
194
+ l[c] instanceof Uint8Array || l[c] instanceof Array ? l[c] = e.arrayBufferToBase64(l[c]) : l[c] = e.serializeDate(l[c])
195
+ }
196
+ } catch (e) {
197
+ o = {error: e}
198
+ } finally {
199
+ try {
200
+ d && !d.done && (n = a.return) && n.call(a)
201
+ } finally {
202
+ if (o) throw o.error
203
+ }
204
+ }
205
+ return l
206
+ }
207
+ var u = {}, C = r.getFieldTypeMap(), s = r.getEncryptedFieldList();
208
+ try {
209
+ for (var _ = __values(Object.keys(r)), E = _.next(); !E.done; E = _.next()) {
210
+ var p = E.value;
211
+ if (void 0 !== r[p] && !s.includes(p)) if (null !== r[p]) {
212
+ var y = C.get(p);
213
+ if (e.isNumericField(y) && !isFinite(r[p])) throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.NUMBER_IS_INVALID).message), new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.NUMBER_IS_INVALID);
214
+ C.get(p) !== FieldType_1.FieldType.Date ? y !== FieldType_1.FieldType.ByteArray ? u[p] = r[p] : u[p] = e.arrayBufferToBase64(r[p]) : u[p] = e.serializeDate(r[p])
215
+ } else u[p] = null
216
+ }
217
+ } catch (e) {
218
+ t = {error: e}
219
+ } finally {
220
+ try {
221
+ E && !E.done && (i = _.return) && i.call(_)
222
+ } finally {
223
+ if (t) throw t.error
224
+ }
225
+ }
226
+ return u
227
+ }, e.isAggregateType = function (e) {
228
+ return ["Average", "Count", "Max", "Min", "Sum"].includes(e)
229
+ }, e.isPaginationType = function (e) {
230
+ return ["StartAt", "StartAfter", "EndAt", "EndBefore"].includes(e)
231
+ }, e.checkSchemaAndDataSize = function (r) {
232
+ var o;
233
+ r.forEach((function (r) {
234
+ var n, t, i, l;
235
+ if (!e.isObjectValid(r)) throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID).message), new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID);
236
+ if (r instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject) {
237
+ if (null == o && (o = r), DataModelHelper_1.DataModelHelper.validateGenericObj(r), (null === (i = o.constructor) || void 0 === i ? void 0 : i.name) !== (null === (l = r.constructor) || void 0 === l ? void 0 : l.name) || o.getObjectTypeName() !== r.getObjectTypeName()) throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_ONE_SCHEMA).message), new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_ONE_SCHEMA)
238
+ } else {
239
+ if (DataModelHelper_1.DataModelHelper.validate(r), null == o && (o = r), (null === (n = o.constructor) || void 0 === n ? void 0 : n.name) !== (null === (t = r.constructor) || void 0 === t ? void 0 : t.name) || o.getClassName() !== r.getClassName()) throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_ONE_SCHEMA).message), new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_ONE_SCHEMA);
240
+ if (DataModelHelper_1.DataModelHelper.calculateObject(r) > e.MAX_OBJECT_CAPACITY) throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW).message), new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW)
241
+ }
242
+ }))
243
+ }, e.getRequestId = function () {
244
+ return this.generateTraceId()
245
+ }, e.generateTraceId = function () {
246
+ for (var e = "", r = 0; r < this.TRACE_ID_LENGTH / this.RANDOM_KEY_LENGTH; r++) e += this.randomKey();
247
+ return e
248
+ }, e.randomKey = function () {
249
+ return ((1 + this.getSecRandom()) * this.RANDOM_VALUE | 0).toString(this.HEX).substring(1)
250
+ }, e.getSecRandom = function () {
251
+ return Math.floor(Math.random() * this.RANDOM_RANGE) / (this.RANDOM_DIVISOR + 1)
252
+ }, e.checkTraceId = function (e) {
253
+ return this.TRACE_ID_EXP.test(e)
254
+ }, e.primaryKeyCompareTo = function (e, r, o) {
255
+ switch (o) {
256
+ case FieldType_1.FieldType.Byte:
257
+ case FieldType_1.FieldType.Short:
258
+ case FieldType_1.FieldType.Integer:
259
+ case FieldType_1.FieldType.IntAutoIncrement:
260
+ return e - r;
261
+ case FieldType_1.FieldType.String:
262
+ return e.localeCompare(r);
263
+ case FieldType_1.FieldType.Long:
264
+ case FieldType_1.FieldType.LongAutoIncrement:
265
+ return this.longCompareTo(e, r);
266
+ default:
267
+ return
268
+ }
269
+ }, e.isNumberString = function (r) {
270
+ return typeof r === Constant_1.VerifyKey.String && e.NUMBER_REG_EXP.test(r)
271
+ }, e.longCompareTo = function (r, o) {
272
+ if (!e.NUMBER_REG_EXP.test(r) || !e.NUMBER_REG_EXP.test(o)) throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE).message), new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);
273
+ if ("-" === r.charAt(0) && "-" !== o.charAt(0)) return -1;
274
+ if ("-" !== r.charAt(0) && "-" === o.charAt(0)) return 1;
275
+ var n = "-" === r.charAt(0) ? -1 : 1;
276
+ if (r.length > o.length) return n;
277
+ if (r.length < o.length) return -n;
278
+ for (var t = 0; t < r.length; t++) {
279
+ var i = r.charAt(t).localeCompare(o.charAt(t));
280
+ if (0 !== i) return n * i
281
+ }
282
+ return 0
283
+ }, e.serializeMapObject = function (r, o) {
284
+ var n, t, i, l, a;
285
+ if (r instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject) {
286
+ a = CloudDBZoneGenericObject_1.CloudDBZoneGenericObject.build(r.getObjectTypeName());
287
+ try {
288
+ for (var d = __values(o), c = d.next(); !c.done; c = d.next()) {
289
+ var u = __read(c.value, 2);
290
+ E = u[0], p = u[1];
291
+ a.addFieldValue(E, p)
292
+ }
293
+ } catch (e) {
294
+ i = {error: e}
295
+ } finally {
296
+ try {
297
+ c && !c.done && (l = d.return) && l.call(d)
298
+ } finally {
299
+ if (i) throw i.error
300
+ }
301
+ }
302
+ } else {
303
+ a = Object.create(r);
304
+ try {
305
+ for (var C = __values(o), s = C.next(); !s.done; s = C.next()) {
306
+ var _ = __read(s.value, 2), E = _[0], p = _[1];
307
+ a[E] = p
308
+ }
309
+ } catch (e) {
310
+ n = {error: e}
311
+ } finally {
312
+ try {
313
+ s && !s.done && (t = C.return) && t.call(C)
314
+ } finally {
315
+ if (n) throw n.error
316
+ }
317
+ }
318
+ }
319
+ return e.checkSchemaAndDataSize([a]), e.serializeObject(a)
320
+ }, e.deepCopy = function (e) {
321
+ var r, o, n = [];
322
+ try {
323
+ for (var t = __values(e), i = t.next(); !i.done; i = t.next()) {
324
+ var l = i.value;
325
+ if ("object" == typeof l) if (l.constructor !== Date) if (l.constructor !== RegExp) if (l.clone) n.push(l.clone()); else {
326
+ var a = new l.constructor;
327
+ for (var d in l) if (Object.hasOwnProperty.call(l, d)) {
328
+ var c = l[d];
329
+ a[d] = c
330
+ }
331
+ n.push(a)
332
+ } else n.push(new RegExp(l)); else n.push(new Date(l)); else n.push(l)
333
+ }
334
+ } catch (e) {
335
+ r = {error: e}
336
+ } finally {
337
+ try {
338
+ i && !i.done && (o = t.return) && o.call(t)
339
+ } finally {
340
+ if (r) throw r.error
341
+ }
342
+ }
343
+ return n
344
+ }, e.checkObjectTypeName = function (r) {
345
+ if (!r || !e.OBJECT_TYPE_EXP.test(r) || e.SYSTEM_OBJECT_TYPES.includes(r.toLowerCase())) {
346
+ var o = new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_OBJECT_TYPE_NAME);
347
+ throw console.warn(o.message), o
348
+ }
349
+ }, e.checkFieldName = function (r) {
350
+ if (!r || !e.FIELD_NAME_EXP.test(r) || e.SYSTEM_FIELDS.includes(r.toLowerCase())) {
351
+ var o = new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_NAME);
352
+ throw console.warn(o.message), o
353
+ }
354
+ }, e.checkIllegalCharacter = function (e) {
355
+ if (-1 !== e.indexOf("\0") || -1 !== e.indexOf("\0")) throw console.warn((0, ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_CONTAIN_ILLEGAL_CHARACTER)), new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_CONTAIN_ILLEGAL_CHARACTER)
356
+ }, e.TRACE_ID_EXP = /^[0-9a-f]{1,32}$/, e.DATE_REG_EXP = /^[1-9]\d{3}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\s\d{3}/, e.NUMBER_REG_EXP = /^(-)?(0|[1-9][0-9]*)$/, e.MAX_OBJECT_CAPACITY = 2097152, e.RANDOM_DIVISOR = 4294967295, e.RANDOM_VALUE = 65536, e.RANDOM_RANGE = 1e9, e.HEX = 16, e.TRACE_ID_LENGTH = 32, e.RANDOM_KEY_LENGTH = 4, e.KEY_DELETE_TIME = "delete#time", e.OBJECT_TYPE_EXP = /^(?!sqlite_)[a-zA-Z][A-Za-z0-9_]{0,28}[A-Za-z0-9]$|^[a-zA-Z]$/, e.SYSTEM_OBJECT_TYPES = ["naturalbase_metadata", "objecttypeinfohelper", "t_data_upgrade_info"], e.FIELD_NAME_EXP = /^[a-zA-Z][A-Za-z0-9_]{0,28}[A-Za-z0-9]$|^[a-zA-Z]$/, e.SYSTEM_FIELDS = ["naturalbase_version", "naturalbase_deleted", "naturalbase_operationtype", "naturalbase_creator", "naturalbase_accesstime", "naturalbase_operationtime", "naturalbase_syncstatus", "naturalbase_changedfieldsbitmap", "naturalbase_lastmodifier", "cmin", "cmax", "xmin", "xmax", "ctid", "oid", "tableoid", "xc_node_id", "tablebucketid", "rowid", "tid"], e
357
+ }();
358
+ exports.Utils = Utils;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hw-agconnect/cloud-server",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "AppGallery Connect Server-SDK for Node.js common module",
5
5
  "author": {
6
6
  "name": "AppGallery Connect",