@kwiz/node 1.0.22 → 1.0.23
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,4 +1,5 @@
|
|
|
1
1
|
import { UpdateMode } from "@azure/data-tables";
|
|
2
|
+
import { IDictionary } from "@kwiz/common";
|
|
2
3
|
import { IOdataFilterStatement } from "./odata";
|
|
3
4
|
export declare function ConfigureTableStorage(config: {
|
|
4
5
|
connectionString: string;
|
|
@@ -72,4 +73,7 @@ export declare class Table<KeysType extends TableEntityBase, GetKeysParam, Saved
|
|
|
72
73
|
deleteItemByKey(param: GetKeysParam): Promise<TableOperationResult<never>>;
|
|
73
74
|
deleteItem(item: KeysType): Promise<TableOperationResult<never>>;
|
|
74
75
|
}
|
|
76
|
+
export declare const tableColumnLengthLimit = 31999;
|
|
77
|
+
export declare function overflowColumnValue<T = IDictionary<any>>(item: T, longProps: string | string[], overrideLimit?: number): T;
|
|
78
|
+
export declare function restoreOverflowColumnValue<T = IDictionary<any>>(item: T, longProps: string | string[]): T;
|
|
75
79
|
export {};
|
|
@@ -16,7 +16,7 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
|
16
16
|
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
17
17
|
};
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.Table = exports.upsertItem = exports.deleteItem = exports.addItem = exports.getItems = exports.deleteTable = exports.ensureTable = exports.listTables = exports.findTable = exports.ConfigureTableStorage = void 0;
|
|
19
|
+
exports.restoreOverflowColumnValue = exports.overflowColumnValue = exports.tableColumnLengthLimit = exports.Table = exports.upsertItem = exports.deleteItem = exports.addItem = exports.getItems = exports.deleteTable = exports.ensureTable = exports.listTables = exports.findTable = exports.ConfigureTableStorage = void 0;
|
|
20
20
|
const data_tables_1 = require("@azure/data-tables");
|
|
21
21
|
const common_1 = require("@kwiz/common");
|
|
22
22
|
const odata_1 = require("./odata");
|
|
@@ -360,4 +360,45 @@ function isError(raw) {
|
|
|
360
360
|
}
|
|
361
361
|
return { isError, errorCode };
|
|
362
362
|
}
|
|
363
|
+
exports.tableColumnLengthLimit = 31999;
|
|
364
|
+
function overflowColumnValue(item, longProps, overrideLimit) {
|
|
365
|
+
let limit = (0, common_1.isNumber)(overrideLimit) && overrideLimit > 0 ? overrideLimit : exports.tableColumnLengthLimit;
|
|
366
|
+
let columns = {};
|
|
367
|
+
const properties = !Array.isArray(longProps) ? [longProps] : longProps;
|
|
368
|
+
properties.forEach(propertyName => {
|
|
369
|
+
let value = item[propertyName];
|
|
370
|
+
if ((0, common_1.isNotEmptyString)(value)) {
|
|
371
|
+
let splitValue = (0, common_1.splitString)(value, { maxLength: limit });
|
|
372
|
+
splitValue.forEach((v, i) => {
|
|
373
|
+
//form, form2, form3...
|
|
374
|
+
let key = i === 0 ? propertyName : `${propertyName}${i + 1}`;
|
|
375
|
+
columns[key] = v;
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
if ((0, common_1.isNotEmptyArray)(Object.keys(columns)))
|
|
380
|
+
item = Object.assign(Object.assign({}, item), columns);
|
|
381
|
+
return item;
|
|
382
|
+
}
|
|
383
|
+
exports.overflowColumnValue = overflowColumnValue;
|
|
384
|
+
function restoreOverflowColumnValue(item, longProps) {
|
|
385
|
+
const properties = !Array.isArray(longProps) ? [longProps] : longProps;
|
|
386
|
+
properties.forEach(propertyName => {
|
|
387
|
+
let result = item[propertyName];
|
|
388
|
+
if ((0, common_1.isNotEmptyString)(result)) {
|
|
389
|
+
let startIndex = 2;
|
|
390
|
+
let key = `${propertyName}${startIndex}`;
|
|
391
|
+
//restore from overflow
|
|
392
|
+
while ((0, common_1.isNotEmptyString)(item[key])) {
|
|
393
|
+
result += item[key];
|
|
394
|
+
delete item[key];
|
|
395
|
+
startIndex++;
|
|
396
|
+
key = `${propertyName}${startIndex}`;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
item[propertyName] = result;
|
|
400
|
+
});
|
|
401
|
+
return item;
|
|
402
|
+
}
|
|
403
|
+
exports.restoreOverflowColumnValue = restoreOverflowColumnValue;
|
|
363
404
|
//# sourceMappingURL=table-storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-storage.js","sourceRoot":"","sources":["../../src/storage/table-storage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAMA,oDAAkH;AAClH,
|
|
1
|
+
{"version":3,"file":"table-storage.js","sourceRoot":"","sources":["../../src/storage/table-storage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kwiz/node",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.23",
|
|
4
4
|
"description": "KWIZ utilities and helpers for node applications",
|
|
5
5
|
"module": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"dependencies": {
|
|
70
70
|
"@azure/data-tables": "^13.2.2",
|
|
71
71
|
"@azure/msal-node": "^2.6.4",
|
|
72
|
-
"@kwiz/common": "^1.0.
|
|
72
|
+
"@kwiz/common": "^1.0.97",
|
|
73
73
|
"axios": "^1.6.7",
|
|
74
74
|
"esbuild": "^0.19.12",
|
|
75
75
|
"get-tsconfig": "^4.7.2",
|
|
@@ -2,7 +2,7 @@ import assert from 'assert/strict';
|
|
|
2
2
|
import test from 'node:test';
|
|
3
3
|
import { IsAzuriteRunning } from "./common";
|
|
4
4
|
import { ODataOperators } from "./odata";
|
|
5
|
-
import { ConfigureTableStorage, Table, addItem, ensureTable } from "./table-storage";
|
|
5
|
+
import { ConfigureTableStorage, Table, addItem, ensureTable, overflowColumnValue, restoreOverflowColumnValue } from "./table-storage";
|
|
6
6
|
|
|
7
7
|
test('testTableStorage', async t => {
|
|
8
8
|
if (!(await IsAzuriteRunning())) {
|
|
@@ -132,4 +132,19 @@ test('testTableStorage', async t => {
|
|
|
132
132
|
//cleanup
|
|
133
133
|
result = await table.delete();
|
|
134
134
|
await t.test("Delete table", t => assert.strictEqual(result, true));
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
test('testTableStorage', async t => {
|
|
139
|
+
let item = { title: "test1", test: "abc123def456" };
|
|
140
|
+
let withOverflow = overflowColumnValue(item, "test", 3);
|
|
141
|
+
await t.test("Test overflow column", t => assert.strictEqual(JSON.stringify(withOverflow), JSON.stringify({
|
|
142
|
+
title: "test1",
|
|
143
|
+
test: "abc",
|
|
144
|
+
test2: "123",
|
|
145
|
+
test3: "def",
|
|
146
|
+
test4: "456"
|
|
147
|
+
})));
|
|
148
|
+
|
|
149
|
+
await t.test("Test restore overflow column", t => assert.strictEqual(JSON.stringify(restoreOverflowColumnValue(withOverflow, "test")), JSON.stringify(item)));
|
|
135
150
|
});
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
//https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azurite?tabs=visual-studio-code
|
|
6
6
|
import { FullOperationResponse } from "@azure/core-client";
|
|
7
7
|
import { ListTableEntitiesOptions, TableClient, TableServiceClient, UpdateMode, odata } from "@azure/data-tables";
|
|
8
|
-
import { isNullOrEmptyString, isNullOrUndefined } from "@kwiz/common";
|
|
8
|
+
import { IDictionary, isNotEmptyArray, isNotEmptyString, isNullOrEmptyString, isNullOrUndefined, isNumber, splitString } from "@kwiz/common";
|
|
9
9
|
import { IOdataFilterStatement, getOdataFilter } from "./odata";
|
|
10
10
|
|
|
11
11
|
var connectionString: string = null;
|
|
@@ -339,4 +339,47 @@ function isError(raw: FullOperationResponse) {
|
|
|
339
339
|
}
|
|
340
340
|
|
|
341
341
|
return { isError, errorCode };
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
export const tableColumnLengthLimit = 31999;
|
|
345
|
+
export function overflowColumnValue<T = IDictionary<any>>(item: T, longProps: string | string[], overrideLimit?: number): T {
|
|
346
|
+
let limit = isNumber(overrideLimit) && overrideLimit > 0 ? overrideLimit : tableColumnLengthLimit;
|
|
347
|
+
let columns: IDictionary<string> = {};
|
|
348
|
+
const properties = !Array.isArray(longProps) ? [longProps] : longProps;
|
|
349
|
+
properties.forEach(propertyName => {
|
|
350
|
+
let value = item[propertyName];
|
|
351
|
+
if (isNotEmptyString(value)) {
|
|
352
|
+
let splitValue = splitString(value, { maxLength: limit });
|
|
353
|
+
splitValue.forEach((v, i) => {
|
|
354
|
+
//form, form2, form3...
|
|
355
|
+
let key = i === 0 ? propertyName : `${propertyName}${i + 1}`;
|
|
356
|
+
columns[key] = v;
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
|
|
361
|
+
if (isNotEmptyArray(Object.keys(columns)))
|
|
362
|
+
item = { ...item, ...columns };
|
|
363
|
+
|
|
364
|
+
return item;
|
|
365
|
+
}
|
|
366
|
+
export function restoreOverflowColumnValue<T = IDictionary<any>>(item: T, longProps: string | string[]): T {
|
|
367
|
+
const properties = !Array.isArray(longProps) ? [longProps] : longProps;
|
|
368
|
+
properties.forEach(propertyName => {
|
|
369
|
+
let result: string = item[propertyName];
|
|
370
|
+
if (isNotEmptyString(result)) {
|
|
371
|
+
let startIndex = 2;
|
|
372
|
+
let key = `${propertyName}${startIndex}`;
|
|
373
|
+
//restore from overflow
|
|
374
|
+
while (isNotEmptyString(item[key])) {
|
|
375
|
+
result += item[key];
|
|
376
|
+
delete item[key];
|
|
377
|
+
|
|
378
|
+
startIndex++;
|
|
379
|
+
key = `${propertyName}${startIndex}`;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
item[propertyName] = result;
|
|
383
|
+
});
|
|
384
|
+
return item;
|
|
342
385
|
}
|