@futdevpro/nts-dynamo 1.15.170 → 1.15.174

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.
@@ -0,0 +1,16 @@
1
+ /** Construction policy for one route- or capability-bound keyset cursor codec. */
2
+ export interface DyNTS_KeysetCursorSettings_Interface {
3
+ namespace: string;
4
+ dimensionCount: number;
5
+ maxValueLength?: number;
6
+ }
7
+ /** Canonical content-free ordering tuple carried by a keyset cursor. */
8
+ export interface DyNTS_KeysetCursorValue_Interface {
9
+ values: string[];
10
+ }
11
+ /** Internal versioned cursor payload. It deliberately carries no tenant or subject authority. */
12
+ export interface DyNTS_KeysetCursorPayload_Interface extends DyNTS_KeysetCursorValue_Interface {
13
+ contractVersion: 'dynts-keyset-cursor/1';
14
+ namespace: string;
15
+ }
16
+ //# sourceMappingURL=keyset-cursor.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyset-cursor.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/pagination/_models/keyset-cursor.interface.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,WAAW,oCAAoC;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wEAAwE;AACxE,MAAM,WAAW,iCAAiC;IAChD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,iGAAiG;AACjG,MAAM,WAAW,mCAAoC,SAAQ,iCAAiC;IAC5F,eAAe,EAAE,uBAAuB,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=keyset-cursor.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyset-cursor.interface.js","sourceRoot":"","sources":["../../../../src/_modules/pagination/_models/keyset-cursor.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { DyNTS_KeysetCursor_ControlService } from './keyset-cursor.control-service';
2
+ export type { DyNTS_KeysetCursorPayload_Interface, DyNTS_KeysetCursorSettings_Interface, DyNTS_KeysetCursorValue_Interface } from './_models/keyset-cursor.interface';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/pagination/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACpF,YAAY,EACV,mCAAmC,EACnC,oCAAoC,EACpC,iCAAiC,EAClC,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_KeysetCursor_ControlService = void 0;
4
+ var keyset_cursor_control_service_1 = require("./keyset-cursor.control-service");
5
+ Object.defineProperty(exports, "DyNTS_KeysetCursor_ControlService", { enumerable: true, get: function () { return keyset_cursor_control_service_1.DyNTS_KeysetCursor_ControlService; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/pagination/index.ts"],"names":[],"mappings":";;;AAAA,iFAAoF;AAA3E,kJAAA,iCAAiC,OAAA"}
@@ -0,0 +1,21 @@
1
+ import { DyNTS_KeysetCursorSettings_Interface, DyNTS_KeysetCursorValue_Interface } from './_models/keyset-cursor.interface';
2
+ /** Encodes deterministic, namespace-bound keyset positions without carrying caller authority. */
3
+ export declare class DyNTS_KeysetCursor_ControlService {
4
+ static readonly contractVersion: 'dynts-keyset-cursor/1';
5
+ private static readonly absoluteMaxDimensions;
6
+ private static readonly absoluteMaxValueLength;
7
+ private static readonly maxCursorLength;
8
+ private readonly namespace;
9
+ private readonly dimensionCount;
10
+ private readonly maxValueLength;
11
+ /** Creates one codec whose cursors cannot be replayed in another declared namespace. */
12
+ constructor(set: DyNTS_KeysetCursorSettings_Interface);
13
+ /** Encodes an exact non-sensitive sort tuple as canonical unpadded base64url. */
14
+ encode(value: DyNTS_KeysetCursorValue_Interface): string;
15
+ /** Decodes only an exact canonical payload created for this codec namespace and tuple shape. */
16
+ decode(cursor: string): DyNTS_KeysetCursorValue_Interface;
17
+ private isValidPayload;
18
+ private isValidValue;
19
+ private error;
20
+ }
21
+ //# sourceMappingURL=keyset-cursor.control-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyset-cursor.control-service.d.ts","sourceRoot":"","sources":["../../../src/_modules/pagination/keyset-cursor.control-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,oCAAoC,EACpC,iCAAiC,EAClC,MAAM,mCAAmC,CAAC;AAM3C,iGAAiG;AACjG,qBAAa,iCAAiC;IAC5C,gBAAuB,eAAe,EAAE,uBAAuB,CAA2B;IAC1F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAa;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAe;IAC7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAgB;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC,wFAAwF;gBAC5E,GAAG,EAAE,oCAAoC;IAuBrD,iFAAiF;IAC1E,MAAM,CAAC,KAAK,EAAE,iCAAiC,GAAG,MAAM;IAmB/D,gGAAgG;IACzF,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,iCAAiC;IAuChE,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,KAAK;CASd"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_KeysetCursor_ControlService = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const global_settings_const_1 = require("../../_collections/global-settings.const");
6
+ const DYNTS_KEYSET_CURSOR_PATTERN = /^[A-Za-z0-9_-]+$/u;
7
+ const DYNTS_KEYSET_CURSOR_NAMESPACE_PATTERN = /^[a-z0-9][a-z0-9._:/-]{0,127}$/u;
8
+ const DYNTS_KEYSET_CURSOR_VALUE_PATTERN = /^[A-Za-z0-9._:-]+$/u;
9
+ /** Encodes deterministic, namespace-bound keyset positions without carrying caller authority. */
10
+ class DyNTS_KeysetCursor_ControlService {
11
+ static contractVersion = 'dynts-keyset-cursor/1';
12
+ static absoluteMaxDimensions = 8;
13
+ static absoluteMaxValueLength = 256;
14
+ static maxCursorLength = 2048;
15
+ namespace;
16
+ dimensionCount;
17
+ maxValueLength;
18
+ /** Creates one codec whose cursors cannot be replayed in another declared namespace. */
19
+ constructor(set) {
20
+ const maxValueLength = set?.maxValueLength
21
+ ?? DyNTS_KeysetCursor_ControlService.absoluteMaxValueLength;
22
+ if (!set
23
+ || typeof set.namespace !== 'string'
24
+ || !DYNTS_KEYSET_CURSOR_NAMESPACE_PATTERN.test(set.namespace)
25
+ || !Number.isSafeInteger(set.dimensionCount)
26
+ || set.dimensionCount < 1
27
+ || set.dimensionCount > DyNTS_KeysetCursor_ControlService.absoluteMaxDimensions
28
+ || !Number.isSafeInteger(maxValueLength)
29
+ || maxValueLength < 1
30
+ || maxValueLength > DyNTS_KeysetCursor_ControlService.absoluteMaxValueLength) {
31
+ throw this.error(500, 'SETTINGS_INVALID', 'The keyset cursor settings are invalid.');
32
+ }
33
+ this.namespace = set.namespace;
34
+ this.dimensionCount = set.dimensionCount;
35
+ this.maxValueLength = maxValueLength;
36
+ }
37
+ /** Encodes an exact non-sensitive sort tuple as canonical unpadded base64url. */
38
+ encode(value) {
39
+ if (!this.isValidValue(value)) {
40
+ throw this.error(500, 'VALUE_INVALID', 'The keyset cursor value is invalid.');
41
+ }
42
+ const payload = {
43
+ contractVersion: DyNTS_KeysetCursor_ControlService.contractVersion,
44
+ namespace: this.namespace,
45
+ values: [...value.values],
46
+ };
47
+ const cursor = Buffer.from(JSON.stringify(payload), 'utf8').toString('base64url');
48
+ if (cursor.length > DyNTS_KeysetCursor_ControlService.maxCursorLength) {
49
+ throw this.error(500, 'VALUE_INVALID', 'The keyset cursor value is invalid.');
50
+ }
51
+ return cursor;
52
+ }
53
+ /** Decodes only an exact canonical payload created for this codec namespace and tuple shape. */
54
+ decode(cursor) {
55
+ try {
56
+ if (typeof cursor !== 'string'
57
+ || cursor.length < 1
58
+ || cursor.length > DyNTS_KeysetCursor_ControlService.maxCursorLength
59
+ || !DYNTS_KEYSET_CURSOR_PATTERN.test(cursor)) {
60
+ throw new Error('Cursor syntax is invalid.');
61
+ }
62
+ const decoded = Buffer.from(cursor, 'base64url');
63
+ if (decoded.toString('base64url') !== cursor) {
64
+ throw new Error('Cursor encoding is not canonical.');
65
+ }
66
+ const payload = JSON.parse(decoded.toString('utf8'));
67
+ if (!this.isValidPayload(payload)) {
68
+ throw new Error('Cursor payload is invalid.');
69
+ }
70
+ const canonicalPayload = {
71
+ contractVersion: DyNTS_KeysetCursor_ControlService.contractVersion,
72
+ namespace: this.namespace,
73
+ values: [...payload.values],
74
+ };
75
+ if (Buffer.from(JSON.stringify(canonicalPayload), 'utf8').toString('base64url') !== cursor) {
76
+ throw new Error('Cursor payload is not canonical.');
77
+ }
78
+ return { values: [...payload.values] };
79
+ }
80
+ catch {
81
+ throw this.error(400, 'CURSOR_INVALID', 'The keyset cursor is invalid.');
82
+ }
83
+ }
84
+ isValidPayload(value) {
85
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
86
+ return false;
87
+ }
88
+ const keys = Object.keys(value).sort();
89
+ const values = Reflect.get(value, 'values');
90
+ return keys.join(',') === 'contractVersion,namespace,values'
91
+ && Reflect.get(value, 'contractVersion') === DyNTS_KeysetCursor_ControlService.contractVersion
92
+ && Reflect.get(value, 'namespace') === this.namespace
93
+ && this.isValidValue({ values: Array.isArray(values) ? values : [] });
94
+ }
95
+ isValidValue(value) {
96
+ return typeof value === 'object'
97
+ && value !== null
98
+ && Array.isArray(value.values)
99
+ && value.values.length === this.dimensionCount
100
+ && value.values.every((item) => (typeof item === 'string'
101
+ && item.length >= 1
102
+ && item.length <= this.maxValueLength
103
+ && DYNTS_KEYSET_CURSOR_VALUE_PATTERN.test(item)));
104
+ }
105
+ error(status, suffix, message) {
106
+ return new fsm_dynamo_1.DyFM_Error({
107
+ status: status,
108
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|KEYSET_CURSOR|${suffix}`,
109
+ message: message,
110
+ userMessage: status < 500 ? message : 'The keyset cursor could not be created safely.',
111
+ issuerService: this.constructor.name,
112
+ });
113
+ }
114
+ }
115
+ exports.DyNTS_KeysetCursor_ControlService = DyNTS_KeysetCursor_ControlService;
116
+ //# sourceMappingURL=keyset-cursor.control-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyset-cursor.control-service.js","sourceRoot":"","sources":["../../../src/_modules/pagination/keyset-cursor.control-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/nts-dynamo",
3
- "version": "01.15.170",
3
+ "version": "01.15.174",
4
4
  "description": "Dynamic NodeTS (NodeJS-Typescript), MongoDB Backend System Framework by Future Development Program Ltd.",
5
5
  "DyBu_settings": {
6
6
  "packageType": "server-package",
@@ -231,6 +231,12 @@
231
231
  "types": "./build/_modules/privacy-lifecycle/index.d.ts",
232
232
  "typings": "./build/_modules/privacy-lifecycle/index.d.ts"
233
233
  },
234
+ "./pagination": {
235
+ "default": "./build/_modules/pagination/index.js",
236
+ "module": "./build/_modules/pagination/index.js",
237
+ "types": "./build/_modules/pagination/index.d.ts",
238
+ "typings": "./build/_modules/pagination/index.d.ts"
239
+ },
234
240
  "./artifact-compiler": {
235
241
  "default": "./build/_modules/artifact-compiler/index.js",
236
242
  "module": "./build/_modules/artifact-compiler/index.js",
@@ -369,6 +375,9 @@
369
375
  "privacy-lifecycle": [
370
376
  "build/_modules/privacy-lifecycle/index.d.ts"
371
377
  ],
378
+ "pagination": [
379
+ "build/_modules/pagination/index.d.ts"
380
+ ],
372
381
  "artifact-compiler": [
373
382
  "build/_modules/artifact-compiler/index.d.ts"
374
383
  ],