lemon-core 4.2.7 → 5.0.0
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.
- package/README.md +128 -2
- package/dist/common/lemon-error.d.ts +34 -0
- package/dist/common/lemon-error.js +52 -0
- package/dist/common/lemon-error.js.map +1 -0
- package/dist/controllers/general-api-controller.d.ts +7 -0
- package/dist/controllers/general-api-controller.js +7 -0
- package/dist/controllers/general-api-controller.js.map +1 -1
- package/dist/cores/api/api-service.js +10 -43
- package/dist/cores/api/api-service.js.map +1 -1
- package/dist/cores/aws/aws-kms-service.d.ts +13 -5
- package/dist/cores/aws/aws-kms-service.js +23 -9
- package/dist/cores/aws/aws-kms-service.js.map +1 -1
- package/dist/cores/aws/aws-s3-service.d.ts +30 -4
- package/dist/cores/aws/aws-s3-service.js +35 -15
- package/dist/cores/aws/aws-s3-service.js.map +1 -1
- package/dist/cores/aws/aws-sns-service.js +59 -9
- package/dist/cores/aws/aws-sns-service.js.map +1 -1
- package/dist/cores/aws/aws-sqs-service.d.ts +1 -1
- package/dist/cores/aws/aws-sqs-service.js +54 -12
- package/dist/cores/aws/aws-sqs-service.js.map +1 -1
- package/dist/cores/cache/cache-service.d.ts +10 -9
- package/dist/cores/cache/cache-service.js +9 -346
- package/dist/cores/cache/cache-service.js.map +1 -1
- package/dist/cores/config/config-service.d.ts +3 -15
- package/dist/cores/config/config-service.js +5 -34
- package/dist/cores/config/config-service.js.map +1 -1
- package/dist/cores/dynamo/dynamo-query-service.js +42 -2
- package/dist/cores/dynamo/dynamo-query-service.js.map +1 -1
- package/dist/cores/dynamo/dynamo-scan-service.js +42 -2
- package/dist/cores/dynamo/dynamo-scan-service.js.map +1 -1
- package/dist/cores/dynamo/dynamo-service.d.ts +45 -14
- package/dist/cores/dynamo/dynamo-service.js +48 -21
- package/dist/cores/dynamo/dynamo-service.js.map +1 -1
- package/dist/cores/dynamo/tools/expressions.js +32 -22
- package/dist/cores/dynamo/tools/expressions.js.map +1 -1
- package/dist/cores/dynamo/tools/lang.d.ts +30 -0
- package/dist/cores/dynamo/tools/lang.js +75 -0
- package/dist/cores/dynamo/tools/lang.js.map +1 -0
- package/dist/cores/dynamo/tools/query.js +20 -21
- package/dist/cores/dynamo/tools/query.js.map +1 -1
- package/dist/cores/dynamo/tools/scan.js +15 -16
- package/dist/cores/dynamo/tools/scan.js.map +1 -1
- package/dist/cores/dynamo/tools/serializer.js +40 -38
- package/dist/cores/dynamo/tools/serializer.js.map +1 -1
- package/dist/cores/dynamo/tools/utils.d.ts +6 -2
- package/dist/cores/dynamo/tools/utils.js +11 -8
- package/dist/cores/dynamo/tools/utils.js.map +1 -1
- package/dist/cores/elastic/elastic6-query-service.d.ts +1 -104
- package/dist/cores/elastic/elastic6-query-service.js +15 -489
- package/dist/cores/elastic/elastic6-query-service.js.map +1 -1
- package/dist/cores/elastic/elastic6-service.d.ts +1 -482
- package/dist/cores/elastic/elastic6-service.js +15 -1153
- package/dist/cores/elastic/elastic6-service.js.map +1 -1
- package/dist/cores/elastic/index.d.ts +2 -2
- package/dist/cores/elastic/index.js +3 -2
- package/dist/cores/elastic/index.js.map +1 -1
- package/dist/cores/elastic/os2-query-service.d.ts +104 -0
- package/dist/cores/elastic/os2-query-service.js +495 -0
- package/dist/cores/elastic/os2-query-service.js.map +1 -0
- package/dist/cores/elastic/os2-service.d.ts +372 -0
- package/dist/cores/elastic/os2-service.js +943 -0
- package/dist/cores/elastic/os2-service.js.map +1 -0
- package/dist/cores/index.d.ts +6 -1
- package/dist/cores/index.js +9 -2
- package/dist/cores/index.js.map +1 -1
- package/dist/cores/lambda/index.js +2 -1
- package/dist/cores/lambda/index.js.map +1 -1
- package/dist/cores/lambda/lambda-cron-handler.d.ts +1 -0
- package/dist/cores/lambda/lambda-cron-handler.js +5 -1
- package/dist/cores/lambda/lambda-cron-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-dynamo-stream-handler.d.ts +5 -4
- package/dist/cores/lambda/lambda-dynamo-stream-handler.js +18 -5
- package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-handler.d.ts +22 -2
- package/dist/cores/lambda/lambda-handler.js +85 -23
- package/dist/cores/lambda/lambda-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-sns-handler.d.ts +1 -0
- package/dist/cores/lambda/lambda-sns-handler.js +5 -0
- package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-sqs-handler.d.ts +1 -0
- package/dist/cores/lambda/lambda-sqs-handler.js +20 -5
- package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
- package/dist/cores/lambda/lambda-web-handler.d.ts +10 -0
- package/dist/cores/lambda/lambda-web-handler.js +107 -41
- package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
- package/dist/cores/protocol/aws-lambda-helper.js +58 -11
- package/dist/cores/protocol/aws-lambda-helper.js.map +1 -1
- package/dist/cores/protocol/index.js +3 -0
- package/dist/cores/protocol/index.js.map +1 -1
- package/dist/cores/protocol/protocol-service.d.ts +26 -5
- package/dist/cores/protocol/protocol-service.js +42 -12
- package/dist/cores/protocol/protocol-service.js.map +1 -1
- package/dist/cores/protocol/protocol-sign.d.ts +72 -0
- package/dist/cores/protocol/protocol-sign.js +194 -0
- package/dist/cores/protocol/protocol-sign.js.map +1 -0
- package/dist/cores/storage/index.d.ts +0 -1
- package/dist/cores/storage/index.js +0 -1
- package/dist/cores/storage/index.js.map +1 -1
- package/dist/cores/storage/model-fields.d.ts +7 -0
- package/dist/cores/storage/model-fields.js +21 -0
- package/dist/cores/storage/model-fields.js.map +1 -0
- package/dist/cores/storage/model-manager.d.ts +3 -2
- package/dist/cores/storage/model-manager.js +7 -3
- package/dist/cores/storage/model-manager.js.map +1 -1
- package/dist/engine/builder.js +20 -2
- package/dist/engine/builder.js.map +1 -1
- package/dist/engine/engine.d.ts +2 -2
- package/dist/engine/engine.js +4 -4
- package/dist/engine/engine.js.map +1 -1
- package/dist/engine/utilities.d.ts +11 -12
- package/dist/engine/utilities.js +30 -82
- package/dist/engine/utilities.js.map +1 -1
- package/dist/environ.d.ts +0 -6
- package/dist/environ.js +1 -12
- package/dist/environ.js.map +1 -1
- package/dist/esm/index.mjs +140 -0
- package/dist/esm/testing.mjs +12 -0
- package/dist/extended/abstract-service.d.ts +48 -139
- package/dist/extended/abstract-service.js +46 -382
- package/dist/extended/abstract-service.js.map +1 -1
- package/dist/extended/cores/abstract-controllers.d.ts +170 -0
- package/dist/extended/cores/abstract-controllers.js +533 -0
- package/dist/extended/cores/abstract-controllers.js.map +1 -0
- package/dist/extended/cores/abstract-rest-apis.d.ts +142 -0
- package/dist/extended/cores/abstract-rest-apis.js +203 -0
- package/dist/extended/cores/abstract-rest-apis.js.map +1 -0
- package/dist/extended/cores/abstract-services.d.ts +771 -0
- package/dist/extended/cores/abstract-services.js +2042 -0
- package/dist/extended/cores/abstract-services.js.map +1 -0
- package/dist/extended/cores/browser-cache.d.ts +2 -0
- package/dist/extended/cores/browser-cache.js +34 -0
- package/dist/extended/cores/browser-cache.js.map +1 -0
- package/dist/extended/cores/commons.d.ts +20 -0
- package/dist/extended/cores/commons.js +31 -0
- package/dist/extended/cores/commons.js.map +1 -0
- package/dist/extended/cores/index.d.ts +15 -0
- package/dist/extended/cores/index.js +32 -0
- package/dist/extended/cores/index.js.map +1 -0
- package/dist/extended/cores/types.d.ts +14 -0
- package/dist/extended/cores/types.js +31 -0
- package/dist/extended/cores/types.js.map +1 -0
- package/dist/helpers/helpers.d.ts +10 -5
- package/dist/helpers/helpers.js +46 -58
- package/dist/helpers/helpers.js.map +1 -1
- package/dist/helpers/types.d.ts +22 -10
- package/dist/index.d.ts +4 -0
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/http-fetch.d.ts +54 -0
- package/dist/lib/http-fetch.js +133 -0
- package/dist/lib/http-fetch.js.map +1 -0
- package/dist/lib/lazy.d.ts +22 -0
- package/dist/lib/lazy.js +54 -0
- package/dist/lib/lazy.js.map +1 -0
- package/dist/lib/perf.d.ts +35 -0
- package/dist/lib/perf.js +52 -0
- package/dist/lib/perf.js.map +1 -0
- package/dist/tools/tools.d.ts +15 -3
- package/dist/tools/tools.js +21 -4
- package/dist/tools/tools.js.map +1 -1
- package/package.json +96 -39
- package/dist/cores/storage/redis-storage-service.d.ts +0 -183
- package/dist/cores/storage/redis-storage-service.js +0 -377
- package/dist/cores/storage/redis-storage-service.js.map +0 -1
- package/dist/generated/field-registry.d.ts +0 -10
- package/dist/generated/field-registry.js +0 -17
- package/dist/generated/field-registry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/cores/dynamo/tools/query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/cores/dynamo/tools/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,9 +32,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
36
|
// origin from: https://github.com/baseprime/dynamodb @20191106
|
|
40
37
|
// Copyright (c) 2016 Ryan Fitzgerald
|
|
@@ -48,7 +45,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
48
45
|
*
|
|
49
46
|
* @copyright (C) lemoncloud.io 2019 - All Rights Reserved.
|
|
50
47
|
*/
|
|
51
|
-
const
|
|
48
|
+
const lang_1 = require("./lang");
|
|
52
49
|
const expressions = __importStar(require("./expressions"));
|
|
53
50
|
const utils = __importStar(require("./utils"));
|
|
54
51
|
const internals = {};
|
|
@@ -56,7 +53,7 @@ internals.keyCondition = function (keyName, schema, scan) {
|
|
|
56
53
|
const f = function (operator) {
|
|
57
54
|
return function ( /*values*/) {
|
|
58
55
|
const copy = [].slice.call(arguments);
|
|
59
|
-
const existingValueKeys =
|
|
56
|
+
const existingValueKeys = Object.keys(scan.request.ExpressionAttributeValues ?? {});
|
|
60
57
|
const args = [keyName, operator, existingValueKeys].concat(copy);
|
|
61
58
|
const cond = expressions.buildFilterExpression.apply(null, args);
|
|
62
59
|
return scan.addFilterCondition(cond);
|
|
@@ -98,15 +95,15 @@ class Scan {
|
|
|
98
95
|
return this;
|
|
99
96
|
};
|
|
100
97
|
addFilterCondition = function (condition) {
|
|
101
|
-
const expressionAttributeNames =
|
|
102
|
-
const expressionAttributeValues =
|
|
103
|
-
if (!
|
|
98
|
+
const expressionAttributeNames = (0, lang_1.merge)({}, condition.attributeNames, this.request.ExpressionAttributeNames);
|
|
99
|
+
const expressionAttributeValues = (0, lang_1.merge)({}, condition.attributeValues, this.request.ExpressionAttributeValues);
|
|
100
|
+
if (!(0, lang_1.isEmpty)(expressionAttributeNames)) {
|
|
104
101
|
this.request.ExpressionAttributeNames = expressionAttributeNames;
|
|
105
102
|
}
|
|
106
|
-
if (!
|
|
103
|
+
if (!(0, lang_1.isEmpty)(expressionAttributeValues)) {
|
|
107
104
|
this.request.ExpressionAttributeValues = expressionAttributeValues;
|
|
108
105
|
}
|
|
109
|
-
if (
|
|
106
|
+
if (typeof this.request.FilterExpression === 'string') {
|
|
110
107
|
this.request.FilterExpression = this.request.FilterExpression + ' AND (' + condition.statement + ')';
|
|
111
108
|
}
|
|
112
109
|
else {
|
|
@@ -119,16 +116,17 @@ class Scan {
|
|
|
119
116
|
return this;
|
|
120
117
|
};
|
|
121
118
|
attributes = function (attrs) {
|
|
122
|
-
if (!
|
|
119
|
+
if (!Array.isArray(attrs)) {
|
|
123
120
|
attrs = [attrs];
|
|
124
121
|
}
|
|
125
|
-
|
|
122
|
+
//* `#attr` → `attr` name map for the projection.
|
|
123
|
+
const expressionAttributeNames = attrs.reduce(function (result, attr) {
|
|
126
124
|
const path = '#' + attr;
|
|
127
125
|
result[path] = attr;
|
|
128
126
|
return result;
|
|
129
127
|
}, {});
|
|
130
|
-
this.request.ProjectionExpression =
|
|
131
|
-
this.request.ExpressionAttributeNames =
|
|
128
|
+
this.request.ProjectionExpression = Object.keys(expressionAttributeNames).join(',');
|
|
129
|
+
this.request.ExpressionAttributeNames = (0, lang_1.merge)({}, expressionAttributeNames, this.request.ExpressionAttributeNames);
|
|
132
130
|
return this;
|
|
133
131
|
};
|
|
134
132
|
select = function (value) {
|
|
@@ -136,7 +134,7 @@ class Scan {
|
|
|
136
134
|
return this;
|
|
137
135
|
};
|
|
138
136
|
returnConsumedCapacity = function (value) {
|
|
139
|
-
if (
|
|
137
|
+
if (value === undefined) {
|
|
140
138
|
value = 'TOTAL';
|
|
141
139
|
}
|
|
142
140
|
this.request.ReturnConsumedCapacity = value;
|
|
@@ -177,8 +175,9 @@ class Scan {
|
|
|
177
175
|
this.options.loadAll = true;
|
|
178
176
|
return this;
|
|
179
177
|
};
|
|
178
|
+
//* the request with `TableName`, as a deep copy (nested key and value maps are not shared).
|
|
180
179
|
buildRequest = function () {
|
|
181
|
-
return
|
|
180
|
+
return (0, lang_1.merge)({}, this.request, { TableName: this.table.tableName() });
|
|
182
181
|
};
|
|
183
182
|
}
|
|
184
183
|
//* export default.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../../src/cores/dynamo/tools/scan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../../src/cores/dynamo/tools/scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,9 +32,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
36
|
// origin from: https://github.com/baseprime/dynamodb @20191106
|
|
40
37
|
// Copyright (c) 2016 Ryan Fitzgerald
|
|
@@ -48,7 +45,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
48
45
|
*
|
|
49
46
|
* @copyright (C) lemoncloud.io 2019 - All Rights Reserved.
|
|
50
47
|
*/
|
|
51
|
-
const
|
|
48
|
+
const lang_1 = require("./lang");
|
|
52
49
|
const utils = __importStar(require("./utils"));
|
|
53
50
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
54
51
|
// const DocClient = require('aws-sdk/lib/dynamodb/document_client');
|
|
@@ -65,7 +62,7 @@ const internals = {
|
|
|
65
62
|
// } else {
|
|
66
63
|
// return internals.docClient.createSet([value]);
|
|
67
64
|
// }
|
|
68
|
-
if (
|
|
65
|
+
if (Array.isArray(value)) {
|
|
69
66
|
return JSON.parse(JSON.stringify(value));
|
|
70
67
|
}
|
|
71
68
|
else {
|
|
@@ -74,13 +71,13 @@ const internals = {
|
|
|
74
71
|
},
|
|
75
72
|
serialize: {
|
|
76
73
|
binary: function (value) {
|
|
77
|
-
if (
|
|
74
|
+
if (typeof value === 'string') {
|
|
78
75
|
return utils.strToBin(value);
|
|
79
76
|
}
|
|
80
77
|
return value;
|
|
81
78
|
},
|
|
82
79
|
date: function (value) {
|
|
83
|
-
if (
|
|
80
|
+
if (value instanceof Date) {
|
|
84
81
|
return value.toISOString();
|
|
85
82
|
}
|
|
86
83
|
else {
|
|
@@ -103,15 +100,17 @@ const internals = {
|
|
|
103
100
|
},
|
|
104
101
|
binarySet: function (value) {
|
|
105
102
|
let bins = value;
|
|
106
|
-
if (!
|
|
103
|
+
if (!Array.isArray(value)) {
|
|
107
104
|
bins = [value];
|
|
108
105
|
}
|
|
109
|
-
const vals =
|
|
106
|
+
const vals = bins.map((bin) => serialize.binary(bin));
|
|
110
107
|
return internals.createSet(vals, 'B');
|
|
111
108
|
},
|
|
112
109
|
},
|
|
113
110
|
deserializeAttribute: (value) => {
|
|
114
|
-
if (
|
|
111
|
+
if ((0, lang_1.isObject)(value) &&
|
|
112
|
+
typeof value.detectType === 'function' &&
|
|
113
|
+
Array.isArray(value.values)) {
|
|
115
114
|
// value is a Set object from document client
|
|
116
115
|
return value.values;
|
|
117
116
|
}
|
|
@@ -124,7 +123,7 @@ const internals = {
|
|
|
124
123
|
// if type is unknown, possibly because its an dynamic key return given value
|
|
125
124
|
return value;
|
|
126
125
|
}
|
|
127
|
-
if (
|
|
126
|
+
if (value === null) {
|
|
128
127
|
return null;
|
|
129
128
|
}
|
|
130
129
|
options = options || {};
|
|
@@ -148,30 +147,33 @@ const internals = {
|
|
|
148
147
|
};
|
|
149
148
|
const serialize = internals.serialize;
|
|
150
149
|
serializer.serializeAttribute = internals.serializeAttribute;
|
|
150
|
+
//* build the key item from a key object (with index keys) or from hash and range values.
|
|
151
151
|
serializer.buildKey = (hashKey, rangeKey, schema) => {
|
|
152
152
|
const obj = {};
|
|
153
|
-
if (
|
|
153
|
+
if ((0, lang_1.isPlainObject)(hashKey)) {
|
|
154
154
|
obj[schema.hashKey] = hashKey[schema.hashKey];
|
|
155
|
-
if (schema.rangeKey &&
|
|
155
|
+
if (schema.rangeKey && hashKey[schema.rangeKey] !== null && hashKey[schema.rangeKey] !== undefined) {
|
|
156
156
|
obj[schema.rangeKey] = hashKey[schema.rangeKey];
|
|
157
157
|
}
|
|
158
|
-
|
|
159
|
-
|
|
158
|
+
//* copy the global index keys present in the key object.
|
|
159
|
+
Object.values(schema.globalIndexes ?? {}).forEach(function (keys) {
|
|
160
|
+
if (Object.hasOwn(hashKey, keys.hashKey)) {
|
|
160
161
|
obj[keys.hashKey] = hashKey[keys.hashKey];
|
|
161
162
|
}
|
|
162
|
-
if (
|
|
163
|
+
if (Object.hasOwn(hashKey, keys.rangeKey)) {
|
|
163
164
|
obj[keys.rangeKey] = hashKey[keys.rangeKey];
|
|
164
165
|
}
|
|
165
166
|
});
|
|
166
|
-
|
|
167
|
-
|
|
167
|
+
//* copy the local index range keys present in the key object.
|
|
168
|
+
Object.values(schema.secondaryIndexes ?? {}).forEach(function (keys) {
|
|
169
|
+
if (Object.hasOwn(hashKey, keys.rangeKey)) {
|
|
168
170
|
obj[keys.rangeKey] = hashKey[keys.rangeKey];
|
|
169
171
|
}
|
|
170
172
|
});
|
|
171
173
|
}
|
|
172
174
|
else {
|
|
173
175
|
obj[schema.hashKey] = hashKey;
|
|
174
|
-
if (schema.rangeKey &&
|
|
176
|
+
if (schema.rangeKey && rangeKey !== null && rangeKey !== undefined) {
|
|
175
177
|
obj[schema.rangeKey] = rangeKey;
|
|
176
178
|
}
|
|
177
179
|
}
|
|
@@ -184,23 +186,24 @@ serializer.serializeItem = (schema, item, options) => {
|
|
|
184
186
|
if (!item) {
|
|
185
187
|
return null;
|
|
186
188
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
+
//* serialize each attribute by its datatype (nested objects and typed lists recurse).
|
|
190
|
+
return Object.entries(item).reduce(function (result, [key, val]) {
|
|
191
|
+
if (options.expected && (0, lang_1.isObject)(val) && typeof val.Exists === 'boolean') {
|
|
189
192
|
result[key] = val;
|
|
190
193
|
return result;
|
|
191
194
|
}
|
|
192
|
-
if (
|
|
195
|
+
if ((0, lang_1.isPlainObject)(val)) {
|
|
193
196
|
result[key] = serialize(val, datatypes[key]);
|
|
194
197
|
return result;
|
|
195
198
|
}
|
|
196
|
-
if (
|
|
197
|
-
result[key] =
|
|
199
|
+
if (Array.isArray(val) && Array.isArray(datatypes[key])) {
|
|
200
|
+
result[key] = val.map(function (item) {
|
|
198
201
|
return serialize(item, datatypes[key][0]);
|
|
199
202
|
});
|
|
200
203
|
return result;
|
|
201
204
|
}
|
|
202
205
|
const attr = internals.serializeAttribute(val, datatypes[key], options);
|
|
203
|
-
if (
|
|
206
|
+
if (attr !== null || options.returnNulls) {
|
|
204
207
|
if (options.expected) {
|
|
205
208
|
result[key] = { Value: attr };
|
|
206
209
|
}
|
|
@@ -216,14 +219,15 @@ serializer.serializeItem = (schema, item, options) => {
|
|
|
216
219
|
serializer.serializeItemForUpdate = function (schema, action, item) {
|
|
217
220
|
const datatypes = schema._modelDatatypes;
|
|
218
221
|
const data = utils.omitPrimaryKeys(schema, item);
|
|
219
|
-
|
|
220
|
-
|
|
222
|
+
//* one update action per attribute (null → DELETE, `$add` → ADD, `$del` → DELETE, else the given action).
|
|
223
|
+
return Object.entries(data ?? {}).reduce(function (result, [key, value]) {
|
|
224
|
+
if (value === null) {
|
|
221
225
|
result[key] = { Action: 'DELETE' };
|
|
222
226
|
}
|
|
223
|
-
else if (
|
|
227
|
+
else if ((0, lang_1.isPlainObject)(value) && value.$add) {
|
|
224
228
|
result[key] = { Action: 'ADD', Value: internals.serializeAttribute(value.$add, datatypes[key]) };
|
|
225
229
|
}
|
|
226
|
-
else if (
|
|
230
|
+
else if ((0, lang_1.isPlainObject)(value) && value.$del) {
|
|
227
231
|
result[key] = { Action: 'DELETE', Value: internals.serializeAttribute(value.$del, datatypes[key]) };
|
|
228
232
|
}
|
|
229
233
|
else {
|
|
@@ -233,27 +237,25 @@ serializer.serializeItemForUpdate = function (schema, action, item) {
|
|
|
233
237
|
}, {});
|
|
234
238
|
};
|
|
235
239
|
serializer.deserializeItem = function (item) {
|
|
236
|
-
if (
|
|
240
|
+
if (item === null) {
|
|
237
241
|
return null;
|
|
238
242
|
}
|
|
243
|
+
//* walk objects and arrays, turning document-client sets back into arrays.
|
|
239
244
|
const formatter = (data) => {
|
|
240
|
-
|
|
241
|
-
if (lodash_1.default.isArray(data)) {
|
|
242
|
-
map = lodash_1.default.map;
|
|
243
|
-
}
|
|
244
|
-
return map(data, function (value) {
|
|
245
|
+
const each = function (value) {
|
|
245
246
|
let result;
|
|
246
|
-
if (
|
|
247
|
+
if ((0, lang_1.isPlainObject)(value)) {
|
|
247
248
|
result = formatter(value);
|
|
248
249
|
}
|
|
249
|
-
else if (
|
|
250
|
+
else if (Array.isArray(value)) {
|
|
250
251
|
result = formatter(value);
|
|
251
252
|
}
|
|
252
253
|
else {
|
|
253
254
|
result = internals.deserializeAttribute(value);
|
|
254
255
|
}
|
|
255
256
|
return result;
|
|
256
|
-
}
|
|
257
|
+
};
|
|
258
|
+
return Array.isArray(data) ? data.map(value => each(value)) : (0, lang_1.mapValues)(data, value => each(value));
|
|
257
259
|
};
|
|
258
260
|
return formatter(item);
|
|
259
261
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../../src/cores/dynamo/tools/serializer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../../src/cores/dynamo/tools/serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
export declare const omitNulls: (data: any) =>
|
|
1
|
+
export declare const omitNulls: (data: any) => {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
};
|
|
2
4
|
export declare const mergeResults: (responses: any, tableName: string) => any;
|
|
3
5
|
export declare const paginatedRequest: (self: any, runRequestFunc: any, callback: any) => void;
|
|
4
|
-
export declare const omitPrimaryKeys: (schema: any, params: any) =>
|
|
6
|
+
export declare const omitPrimaryKeys: (schema: any, params: any) => {
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
};
|
|
5
9
|
export declare const strToBin: (value: any) => Buffer;
|
|
@@ -16,19 +16,21 @@ exports.strToBin = exports.omitPrimaryKeys = exports.paginatedRequest = exports.
|
|
|
16
16
|
*
|
|
17
17
|
* @copyright (C) lemoncloud.io 2019 - All Rights Reserved.
|
|
18
18
|
*/
|
|
19
|
-
const
|
|
19
|
+
const lang_1 = require("./lang");
|
|
20
20
|
const async_1 = __importDefault(require("async"));
|
|
21
21
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
22
22
|
// const AWSUtil = require('aws-sdk/lib/util');
|
|
23
|
+
//* drop null, undefined, empty array and empty string attributes.
|
|
23
24
|
const omitNulls = (data) => {
|
|
24
|
-
return
|
|
25
|
-
return (
|
|
26
|
-
|
|
27
|
-
(
|
|
28
|
-
(
|
|
25
|
+
return (0, lang_1.omitBy)(data, function (value) {
|
|
26
|
+
return (value === null ||
|
|
27
|
+
value === undefined ||
|
|
28
|
+
(Array.isArray(value) && (0, lang_1.isEmpty)(value)) ||
|
|
29
|
+
(typeof value === 'string' && (0, lang_1.isEmpty)(value)));
|
|
29
30
|
});
|
|
30
31
|
};
|
|
31
32
|
exports.omitNulls = omitNulls;
|
|
33
|
+
//* merge paged responses into one result (items, counts, capacity, last key).
|
|
32
34
|
const mergeResults = (responses, tableName) => {
|
|
33
35
|
const result = {
|
|
34
36
|
Items: [],
|
|
@@ -39,7 +41,7 @@ const mergeResults = (responses, tableName) => {
|
|
|
39
41
|
Count: 0,
|
|
40
42
|
ScannedCount: 0,
|
|
41
43
|
};
|
|
42
|
-
const merged =
|
|
44
|
+
const merged = (responses ?? []).reduce((memo, resp) => {
|
|
43
45
|
if (!resp) {
|
|
44
46
|
return memo;
|
|
45
47
|
}
|
|
@@ -104,8 +106,9 @@ const paginatedRequest = (self, runRequestFunc, callback) => {
|
|
|
104
106
|
async_1.default.doWhilst(doFunc, testFunc, resulsFunc);
|
|
105
107
|
};
|
|
106
108
|
exports.paginatedRequest = paginatedRequest;
|
|
109
|
+
//* copy the params without the hash and range key attributes.
|
|
107
110
|
const omitPrimaryKeys = function (schema, params) {
|
|
108
|
-
return
|
|
111
|
+
return (0, lang_1.omitBy)(params, (_value, key) => key === schema.hashKey || key === schema.rangeKey);
|
|
109
112
|
};
|
|
110
113
|
exports.omitPrimaryKeys = omitPrimaryKeys;
|
|
111
114
|
const strToBin = function (value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/cores/dynamo/tools/utils.ts"],"names":[],"mappings":";;;;;;AAAA,+DAA+D;AAC/D,qCAAqC;AACrC;;;;;;;;;GASG;AACH,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/cores/dynamo/tools/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,104 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { Elastic6Service, SearchType } from './elastic6-service';
|
|
3
|
-
/**
|
|
4
|
-
* class: `Elastic6QueryService`
|
|
5
|
-
* - support simple query like range search.
|
|
6
|
-
*/
|
|
7
|
-
export declare class Elastic6QueryService<T extends GeneralItem> implements Elastic6SimpleQueriable<T> {
|
|
8
|
-
protected readonly service: Elastic6Service;
|
|
9
|
-
/**
|
|
10
|
-
* use query w/ the given search-service.
|
|
11
|
-
* @param service the origin search-service to use.
|
|
12
|
-
*/
|
|
13
|
-
constructor(service: Elastic6Service);
|
|
14
|
-
/**
|
|
15
|
-
* get options
|
|
16
|
-
*/
|
|
17
|
-
protected get options(): import("./elastic6-service").ElasticOption;
|
|
18
|
-
/**
|
|
19
|
-
* say hello of identity.
|
|
20
|
-
*/
|
|
21
|
-
hello: () => string;
|
|
22
|
-
/**
|
|
23
|
-
* query all by id.
|
|
24
|
-
*
|
|
25
|
-
* @param id
|
|
26
|
-
* @param limit
|
|
27
|
-
* @param isDesc
|
|
28
|
-
*/
|
|
29
|
-
queryAll(id: string, limit?: number, isDesc?: boolean): Promise<QueryResult<T>>;
|
|
30
|
-
/**
|
|
31
|
-
* search in simple mode
|
|
32
|
-
* - 기본적으로 'mini-language'를 그대로 지원하도록한다.
|
|
33
|
-
* - 입력의 파라마터의 키값은 테스트할 필드들이다.
|
|
34
|
-
* {"stock":">1"} => query_string : "stock:>1"
|
|
35
|
-
*
|
|
36
|
-
* - 파라미터 예약:
|
|
37
|
-
* $query : ES _search 용 쿼리를 그대로 이용.
|
|
38
|
-
* $exist : 'a,!b,c' => a AND NOT b AND c 를 _exists_ 항목으로 풀어씀.
|
|
39
|
-
* $source : _source 항목에 포함될 내용. (undefined => _source:false)
|
|
40
|
-
* $limit : same as "size"
|
|
41
|
-
* $page : same as "from" / "size" ($limit 를 ipp 으로 함축하여 이용).
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* [Mini-Language]
|
|
46
|
-
* ```
|
|
47
|
-
* # find title field which contains quick or brown.
|
|
48
|
-
* title:(quick OR brown)
|
|
49
|
-
*
|
|
50
|
-
* # not-null value.
|
|
51
|
-
* _exists_:title
|
|
52
|
-
*
|
|
53
|
-
* # regular exp.
|
|
54
|
-
* name:/joh?n(ath[oa]n)/
|
|
55
|
-
* ```
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* 참고: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax
|
|
59
|
-
* 참고: http://okfnlabs.org/blog/2013/07/01/elasticsearch-query-tutorial.html
|
|
60
|
-
*
|
|
61
|
-
* @param param search param
|
|
62
|
-
*/
|
|
63
|
-
searchSimple(param: SimpleSearchParam): Promise<QueryResult<T>>;
|
|
64
|
-
/**
|
|
65
|
-
* search with raw query language.
|
|
66
|
-
*
|
|
67
|
-
* @param body SearchBody.
|
|
68
|
-
* @returns results.
|
|
69
|
-
*/
|
|
70
|
-
search(body: SearchBody, searchType?: SearchType): Promise<any>;
|
|
71
|
-
/**
|
|
72
|
-
* convert result as `QueryResult`
|
|
73
|
-
* @param body the query body requested
|
|
74
|
-
* @param res the result
|
|
75
|
-
* @returns QueryResult
|
|
76
|
-
*/
|
|
77
|
-
asQueryResult(body: SearchBody, res: any): QueryResult<T>;
|
|
78
|
-
/**
|
|
79
|
-
* convert `AutocompleteSearchParam` to `SearchBody`
|
|
80
|
-
* @param param AutocompleteSearchParam
|
|
81
|
-
* @returns SearchBody
|
|
82
|
-
*/
|
|
83
|
-
asSearchBody(param: AutocompleteSearchParam): {
|
|
84
|
-
field: string;
|
|
85
|
-
query: string;
|
|
86
|
-
body: SearchBody;
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* search item in Search-as-You-Type way
|
|
90
|
-
* @param param AutocompleteSearchParam
|
|
91
|
-
*/
|
|
92
|
-
searchAutocomplete(param: AutocompleteSearchParam): Promise<{
|
|
93
|
-
list: T[];
|
|
94
|
-
total?: number;
|
|
95
|
-
page?: number;
|
|
96
|
-
limit?: number;
|
|
97
|
-
aggregations?: any;
|
|
98
|
-
last?: any;
|
|
99
|
-
}>;
|
|
100
|
-
/**
|
|
101
|
-
* build query parameter from search param.
|
|
102
|
-
*/
|
|
103
|
-
buildQueryBody: (param: SimpleSearchParam) => SearchBody;
|
|
104
|
-
}
|
|
1
|
+
export * from './os2-query-service';
|