lt-open-data-sdk 1.0.0 → 1.1.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/LICENSE +21 -21
- package/README.md +371 -366
- package/dist/builder/FilterBuilder.d.ts.map +1 -1
- package/dist/builder/FilterBuilder.js +22 -0
- package/dist/builder/FilterBuilder.js.map +1 -1
- package/dist/builder/types.d.ts +15 -3
- package/dist/builder/types.d.ts.map +1 -1
- package/dist/cli/crawler.d.ts.map +1 -1
- package/dist/cli/crawler.js +23 -0
- package/dist/cli/crawler.js.map +1 -1
- package/dist/cli/generator.js +1 -1
- package/dist/cli/generator.js.map +1 -1
- package/dist/cli/index.js +27 -19
- package/dist/cli/index.js.map +1 -1
- package/dist/client/SpintaClient.d.ts +61 -2
- package/dist/client/SpintaClient.d.ts.map +1 -1
- package/dist/client/SpintaClient.js +92 -1
- package/dist/client/SpintaClient.js.map +1 -1
- package/dist/client/types.d.ts +26 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterBuilder.d.ts","sourceRoot":"","sources":["../../src/builder/FilterBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EAEpB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"FilterBuilder.d.ts","sourceRoot":"","sources":["../../src/builder/FilterBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EAEpB,gBAAgB,EAIjB,MAAM,YAAY,CAAC;AA2GpB;;GAEG;AACH,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,sBAAsB,CAAC,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,oBAAoB;CAGpD;AA6CD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAwD7D"}
|
|
@@ -75,6 +75,23 @@ class FieldFilter {
|
|
|
75
75
|
startswith(value) {
|
|
76
76
|
return this.stringOp('startswith', value);
|
|
77
77
|
}
|
|
78
|
+
endswith(value) {
|
|
79
|
+
return this.stringOp('endswith', value);
|
|
80
|
+
}
|
|
81
|
+
arrayOp(operator, values) {
|
|
82
|
+
return createExpressionBuilder({
|
|
83
|
+
type: 'array_op',
|
|
84
|
+
field: this.fieldName,
|
|
85
|
+
operator,
|
|
86
|
+
values,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
in(values) {
|
|
90
|
+
return this.arrayOp('in', values);
|
|
91
|
+
}
|
|
92
|
+
notin(values) {
|
|
93
|
+
return this.arrayOp('notin', values);
|
|
94
|
+
}
|
|
78
95
|
}
|
|
79
96
|
/**
|
|
80
97
|
* FilterBuilder - Entry point for constructing filter expressions
|
|
@@ -154,6 +171,11 @@ export function filterToString(expr) {
|
|
|
154
171
|
// Use method syntax: field.contains(value)
|
|
155
172
|
return `${expr.field}.${expr.operator}(${value})`;
|
|
156
173
|
}
|
|
174
|
+
case 'array_op': {
|
|
175
|
+
const values = expr.values.map(formatValue).join(',');
|
|
176
|
+
// Use method syntax: field.in(val1,val2) or field.notin(val1,val2)
|
|
177
|
+
return `${expr.field}.${expr.operator}(${values})`;
|
|
178
|
+
}
|
|
157
179
|
case 'and': {
|
|
158
180
|
const leftStr = needsParens(expr.left, 'and')
|
|
159
181
|
? `(${filterToString(expr.left)})`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterBuilder.js","sourceRoot":"","sources":["../../src/builder/FilterBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"FilterBuilder.js","sourceRoot":"","sources":["../../src/builder/FilterBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH;;GAEG;AACH,SAAS,uBAAuB,CAAC,IAAsB;IACrD,OAAO;QACL,IAAI;QACJ,GAAG,CAAC,KAA8B;YAChC,OAAO,uBAAuB,CAAC;gBAC7B,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,KAAK,CAAC,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;QACD,EAAE,CAAC,KAA8B;YAC/B,OAAO,uBAAuB,CAAC;gBAC7B,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,KAAK,CAAC,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,WAAW;IACE,SAAS,CAAS;IAEnC,YAAY,SAAiB;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEO,UAAU,CAAC,QAA4B,EAAE,KAAc;QAC7D,OAAO,uBAAuB,CAAC;YAC7B,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,QAAQ;YACR,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAEO,QAAQ,CAAC,QAAwB,EAAE,KAAa;QACtD,OAAO,uBAAuB,CAAC;YAC7B,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,QAAQ;YACR,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,EAAE,CAAC,KAAc;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,EAAE,CAAC,KAAc;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,EAAE,CAAC,KAAc;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,EAAE,CAAC,KAAc;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,EAAE,CAAC,KAAc;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,EAAE,CAAC,KAAc;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEO,OAAO,CAAC,QAAuB,EAAE,MAAiB;QACxD,OAAO,uBAAuB,CAAC;YAC7B,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,QAAQ;YACR,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,EAAE,CAAC,MAAiB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAiB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,aAAa;IACxB,KAAK,CAAC,IAAsB;QAC1B,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,4BAA4B;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,OAAO,GAAG,CAAC;QAC9B,yDAAyD;QACzD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,wCAAwC;QACxC,OAAO,kBAAkB,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,mDAAmD;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,4DAA4D;IAC5D,OAAO,kBAAkB,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;AAC7F,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,KAAuB,EAAE,UAAwB;IACpE,oEAAoE;IACpE,OAAO,UAAU,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAsB;IACnD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,uDAAuD;YACvD,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtB,KAAK,IAAI;oBACP,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;gBAClC,KAAK,IAAI;oBACP,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACnC,KAAK,IAAI;oBACP,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;gBAClC,KAAK,IAAI;oBACP,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACnC,KAAK,IAAI;oBACP,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;gBAClC,KAAK,IAAI;oBACP,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACrC,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,2CAA2C;YAC3C,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,GAAG,CAAC;QACpD,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtD,mEAAmE;YACnE,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,GAAG,CAAC;QACrD,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC3C,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAClC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;gBAC7C,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;gBACnC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC;QAClC,CAAC;QAED,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;gBAC1C,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAClC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC5C,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;gBACnC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
package/dist/builder/types.d.ts
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
/** Comparison operators for filtering */
|
|
5
5
|
export type ComparisonOperator = 'eq' | 'ne' | 'lt' | 'le' | 'gt' | 'ge';
|
|
6
6
|
/** String-specific operators */
|
|
7
|
-
export type StringOperator = 'contains' | 'startswith';
|
|
7
|
+
export type StringOperator = 'contains' | 'startswith' | 'endswith';
|
|
8
|
+
/** Array/list operators */
|
|
9
|
+
export type ArrayOperator = 'in' | 'notin';
|
|
8
10
|
/** Sort direction */
|
|
9
11
|
export type SortDirection = 'asc' | 'desc';
|
|
10
12
|
/** Sort specification for a field */
|
|
@@ -14,7 +16,7 @@ export interface SortSpec {
|
|
|
14
16
|
}
|
|
15
17
|
/** Base filter expression node */
|
|
16
18
|
export interface FilterNode {
|
|
17
|
-
type: 'comparison' | 'string_op' | 'and' | 'or';
|
|
19
|
+
type: 'comparison' | 'string_op' | 'array_op' | 'and' | 'or';
|
|
18
20
|
}
|
|
19
21
|
/** Comparison filter expression */
|
|
20
22
|
export interface ComparisonNode extends FilterNode {
|
|
@@ -30,6 +32,13 @@ export interface StringOpNode extends FilterNode {
|
|
|
30
32
|
operator: StringOperator;
|
|
31
33
|
value: string;
|
|
32
34
|
}
|
|
35
|
+
/** Array operation filter expression (in, notin) */
|
|
36
|
+
export interface ArrayOpNode extends FilterNode {
|
|
37
|
+
type: 'array_op';
|
|
38
|
+
field: string;
|
|
39
|
+
operator: ArrayOperator;
|
|
40
|
+
values: unknown[];
|
|
41
|
+
}
|
|
33
42
|
/** AND combination of filters */
|
|
34
43
|
export interface AndNode extends FilterNode {
|
|
35
44
|
type: 'and';
|
|
@@ -43,7 +52,7 @@ export interface OrNode extends FilterNode {
|
|
|
43
52
|
right: FilterExpression;
|
|
44
53
|
}
|
|
45
54
|
/** Union of all filter expression types */
|
|
46
|
-
export type FilterExpression = ComparisonNode | StringOpNode | AndNode | OrNode;
|
|
55
|
+
export type FilterExpression = ComparisonNode | StringOpNode | ArrayOpNode | AndNode | OrNode;
|
|
47
56
|
/** Callback type for building filter expressions */
|
|
48
57
|
export type FilterCallback<T> = (builder: FilterBuilderInterface<T>) => FilterExpressionBuilder;
|
|
49
58
|
/** Interface for field filter operations */
|
|
@@ -56,6 +65,9 @@ export interface FieldFilterInterface {
|
|
|
56
65
|
ge(value: unknown): FilterExpressionBuilder;
|
|
57
66
|
contains(value: string): FilterExpressionBuilder;
|
|
58
67
|
startswith(value: string): FilterExpressionBuilder;
|
|
68
|
+
endswith(value: string): FilterExpressionBuilder;
|
|
69
|
+
in(values: unknown[]): FilterExpressionBuilder;
|
|
70
|
+
notin(values: unknown[]): FilterExpressionBuilder;
|
|
59
71
|
}
|
|
60
72
|
/** Interface for building filter expressions */
|
|
61
73
|
export interface FilterBuilderInterface<T> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/builder/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,yCAAyC;AACzC,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzE,gCAAgC;AAChC,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/builder/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crawler.d.ts","sourceRoot":"","sources":["../../src/cli/crawler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,8BAA8B;AAC9B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,sBAAsB;AACtB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,UAAO,GACf,OAAO,CAAC,MAAM,EAAE,CAAC,CAenB;
|
|
1
|
+
{"version":3,"file":"crawler.d.ts","sourceRoot":"","sources":["../../src/cli/crawler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,8BAA8B;AAC9B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,sBAAsB;AACtB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,UAAO,GACf,OAAO,CAAC,MAAM,EAAE,CAAC,CAenB;AAmED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CA6ExB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,OAAO,CAAC,aAAa,EAAE,CAAC,CAS1B"}
|
package/dist/cli/crawler.js
CHANGED
|
@@ -26,12 +26,22 @@ export async function crawlNamespace(client, namespace, recursive = true) {
|
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* Infer type from a JavaScript value
|
|
29
|
+
* Enhanced to detect geometry (WKT), files, and external URLs
|
|
29
30
|
*/
|
|
30
31
|
function inferType(value) {
|
|
31
32
|
if (value === null) {
|
|
32
33
|
return 'unknown';
|
|
33
34
|
}
|
|
34
35
|
if (typeof value === 'string') {
|
|
36
|
+
// Check for WKT geometry formats (common in Lithuanian open data)
|
|
37
|
+
// WKT format: POINT(...), LINESTRING(...), POLYGON(...), etc.
|
|
38
|
+
if (/^(POINT|LINESTRING|POLYGON|MULTIPOINT|MULTILINESTRING|MULTIPOLYGON|GEOMETRYCOLLECTION)\s*\(/i.test(value)) {
|
|
39
|
+
return 'geometry';
|
|
40
|
+
}
|
|
41
|
+
// Check for SRID-prefixed WKT: SRID=4326;POINT(...)
|
|
42
|
+
if (/^SRID=\d+;/i.test(value)) {
|
|
43
|
+
return 'geometry';
|
|
44
|
+
}
|
|
35
45
|
// Check for ISO date format
|
|
36
46
|
if (/^\d{4}-\d{2}-\d{2}/.test(value)) {
|
|
37
47
|
return value.includes('T') ? 'datetime' : 'date';
|
|
@@ -40,6 +50,14 @@ function inferType(value) {
|
|
|
40
50
|
if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(value)) {
|
|
41
51
|
return 'ref';
|
|
42
52
|
}
|
|
53
|
+
// Check for URL (file or external link)
|
|
54
|
+
if (/^https?:\/\//i.test(value)) {
|
|
55
|
+
// Files often have extensions like .pdf, .jpg, .doc, etc.
|
|
56
|
+
if (/\.\w{2,5}($|\?)/i.test(value)) {
|
|
57
|
+
return 'file';
|
|
58
|
+
}
|
|
59
|
+
return 'url';
|
|
60
|
+
}
|
|
43
61
|
return 'string';
|
|
44
62
|
}
|
|
45
63
|
if (typeof value === 'number') {
|
|
@@ -52,6 +70,11 @@ function inferType(value) {
|
|
|
52
70
|
return 'array';
|
|
53
71
|
}
|
|
54
72
|
if (typeof value === 'object') {
|
|
73
|
+
// Check for file object structure FIRST (has _content_type or _size)
|
|
74
|
+
// This must come before ref check since files also have _id
|
|
75
|
+
if ('_content_type' in value || '_size' in value) {
|
|
76
|
+
return 'file';
|
|
77
|
+
}
|
|
55
78
|
// Check for ref object with _id
|
|
56
79
|
if ('_id' in value && typeof value._id === 'string') {
|
|
57
80
|
return 'ref';
|
package/dist/cli/crawler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crawler.js","sourceRoot":"","sources":["../../src/cli/crawler.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4BH;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAoB,EACpB,SAAiB,EACjB,SAAS,GAAG,IAAI;IAEhB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,oDAAoD;YACpD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAOD
|
|
1
|
+
{"version":3,"file":"crawler.js","sourceRoot":"","sources":["../../src/cli/crawler.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/generator.js
CHANGED
|
@@ -52,7 +52,7 @@ export function generateDeclarationFile(models, namespace) {
|
|
|
52
52
|
lines.push('/**');
|
|
53
53
|
lines.push(` * TypeScript definitions for ${namespace}`);
|
|
54
54
|
lines.push(' * ');
|
|
55
|
-
lines.push(' * Generated by lt-data-sdk CLI');
|
|
55
|
+
lines.push(' * Generated by lt-open-data-sdk CLI');
|
|
56
56
|
lines.push(` * Generated at: ${new Date().toISOString()}`);
|
|
57
57
|
lines.push(' * ');
|
|
58
58
|
lines.push(' * @see https://get.data.gov.lt/' + namespace);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/cli/generator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,oBAAoB,EACpB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAoB;IAC7C,MAAM,aAAa,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,YAAY;IACZ,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,oBAAoB,aAAa,IAAI,CAAC,CAAC;IAElD,oCAAoC;IACpC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAE/B,uBAAuB;IACvB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAErC,qBAAqB;QACrB,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CACR,SAAS;iBACN,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;iBAC5B,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAgC,EAChC,SAAiB;IAEjB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/cli/generator.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
* --base-url Base URL for the API (default: https://get.data.gov.lt)
|
|
16
16
|
* --help, -h Show help
|
|
17
17
|
*/
|
|
18
|
-
import { writeFileSync } from 'fs';
|
|
18
|
+
import { writeFileSync, mkdirSync } from 'fs';
|
|
19
|
+
import { dirname } from 'path';
|
|
19
20
|
import { SpintaClient } from '../client/SpintaClient.js';
|
|
20
21
|
import { crawlNamespace, fetchAllModelsMetadata } from './crawler.js';
|
|
21
22
|
import { generateDeclarationFile } from './generator.js';
|
|
@@ -57,24 +58,24 @@ function parseArgs(args) {
|
|
|
57
58
|
return options;
|
|
58
59
|
}
|
|
59
60
|
function showHelp() {
|
|
60
|
-
console.log(`
|
|
61
|
-
lt-gen - Generate TypeScript definitions from Spinta API metadata
|
|
62
|
-
|
|
63
|
-
Usage:
|
|
64
|
-
lt-gen <namespace> [options]
|
|
65
|
-
|
|
66
|
-
Arguments:
|
|
67
|
-
namespace Namespace path to generate types for (e.g., datasets/gov/ivpk/adk)
|
|
68
|
-
|
|
69
|
-
Options:
|
|
70
|
-
--output, -o Output file path (default: stdout)
|
|
71
|
-
--base-url Base URL for the API (default: https://get.data.gov.lt)
|
|
72
|
-
--help, -h Show this help message
|
|
73
|
-
|
|
74
|
-
Examples:
|
|
75
|
-
lt-gen datasets/gov/ivpk/adk
|
|
76
|
-
lt-gen datasets/gov/ivpk/adk -o ./types/adk.d.ts
|
|
77
|
-
lt-gen datasets/gov/ivpk/adk --base-url https://get-test.data.gov.lt
|
|
61
|
+
console.log(`
|
|
62
|
+
lt-gen - Generate TypeScript definitions from Spinta API metadata
|
|
63
|
+
|
|
64
|
+
Usage:
|
|
65
|
+
lt-gen <namespace> [options]
|
|
66
|
+
|
|
67
|
+
Arguments:
|
|
68
|
+
namespace Namespace path to generate types for (e.g., datasets/gov/ivpk/adk)
|
|
69
|
+
|
|
70
|
+
Options:
|
|
71
|
+
--output, -o Output file path (default: stdout)
|
|
72
|
+
--base-url Base URL for the API (default: https://get.data.gov.lt)
|
|
73
|
+
--help, -h Show this help message
|
|
74
|
+
|
|
75
|
+
Examples:
|
|
76
|
+
lt-gen datasets/gov/ivpk/adk
|
|
77
|
+
lt-gen datasets/gov/ivpk/adk -o ./types/adk.d.ts
|
|
78
|
+
lt-gen datasets/gov/ivpk/adk --base-url https://get-test.data.gov.lt
|
|
78
79
|
`);
|
|
79
80
|
}
|
|
80
81
|
async function main() {
|
|
@@ -85,6 +86,11 @@ async function main() {
|
|
|
85
86
|
process.exit(options.help ? 0 : 1);
|
|
86
87
|
}
|
|
87
88
|
console.error(`🔍 Discovering models in ${options.namespace}...`);
|
|
89
|
+
if (options.namespace.startsWith('http://') || options.namespace.startsWith('https://')) {
|
|
90
|
+
console.error(`\n❌ Error: Namespace should be a path (e.g. "datasets/gov/rc"), not a URL.`);
|
|
91
|
+
console.error(` Use --base-url to change the API endpoint if needed.`);
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
88
94
|
const client = new SpintaClient({ baseUrl: options.baseUrl });
|
|
89
95
|
try {
|
|
90
96
|
// Crawl namespace to find all models
|
|
@@ -105,6 +111,8 @@ async function main() {
|
|
|
105
111
|
const output = generateDeclarationFile(metadata, options.namespace);
|
|
106
112
|
// Write output
|
|
107
113
|
if (options.output !== undefined) {
|
|
114
|
+
// Ensure directory exists
|
|
115
|
+
mkdirSync(dirname(options.output), { recursive: true });
|
|
108
116
|
writeFileSync(options.output, output, 'utf-8');
|
|
109
117
|
console.error(`\n✅ Written to ${options.output}`);
|
|
110
118
|
}
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @example
|
|
5
5
|
* ```typescript
|
|
6
|
-
* import { SpintaClient, QueryBuilder } from 'lt-data-sdk';
|
|
6
|
+
* import { SpintaClient, QueryBuilder } from 'lt-open-data-sdk';
|
|
7
7
|
*
|
|
8
8
|
* const client = new SpintaClient();
|
|
9
9
|
*
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* const largeCities = await client.getAll('datasets/gov/example/City', query);
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
|
-
import type { ClientConfig, SpintaObject, SpintaResponse } from './types.js';
|
|
27
|
+
import type { ClientConfig, SpintaObject, SpintaResponse, ChangeEntry } from './types.js';
|
|
28
28
|
import type { QueryBuilder } from '../builder/QueryBuilder.js';
|
|
29
29
|
export declare class SpintaClient {
|
|
30
30
|
private readonly baseUrl;
|
|
@@ -148,6 +148,65 @@ export declare class SpintaClient {
|
|
|
148
148
|
* ```
|
|
149
149
|
*/
|
|
150
150
|
discoverModels(namespace: string): Promise<DiscoveredModel[]>;
|
|
151
|
+
/**
|
|
152
|
+
* Get the latest change ID for a model
|
|
153
|
+
*
|
|
154
|
+
* Useful for initializing sync - get the current position before starting.
|
|
155
|
+
*
|
|
156
|
+
* @param model - Full model path (e.g., 'datasets/gov/example/City')
|
|
157
|
+
* @returns The most recent change entry, or null if no changes exist
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* const latest = await client.getLatestChange('datasets/gov/example/City');
|
|
161
|
+
* if (latest) {
|
|
162
|
+
* console.log('Last change ID:', latest._cid);
|
|
163
|
+
* }
|
|
164
|
+
*/
|
|
165
|
+
getLatestChange<T>(model: string): Promise<(ChangeEntry<T>) | null>;
|
|
166
|
+
/**
|
|
167
|
+
* Get changes since a specific change ID
|
|
168
|
+
*
|
|
169
|
+
* Returns a log of all data modifications (insert, update, delete) since
|
|
170
|
+
* the given change ID. Use for incremental data synchronization.
|
|
171
|
+
*
|
|
172
|
+
* @param model - Full model path
|
|
173
|
+
* @param sinceId - Change ID to start from (exclusive). Pass 0 or omit to get all changes.
|
|
174
|
+
* @param limit - Maximum number of changes to return (default: 100)
|
|
175
|
+
* @returns Array of change entries with operation type and data
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
* // Initial sync: get current position
|
|
179
|
+
* const latest = await client.getLatestChange('datasets/gov/example/City');
|
|
180
|
+
* let lastId = latest?._cid ?? 0;
|
|
181
|
+
*
|
|
182
|
+
* // Incremental sync: get changes since last sync
|
|
183
|
+
* const changes = await client.getChanges('datasets/gov/example/City', lastId);
|
|
184
|
+
* for (const change of changes) {
|
|
185
|
+
* if (change._op === 'insert') {
|
|
186
|
+
* // Handle new record
|
|
187
|
+
* } else if (change._op === 'update' || change._op === 'patch') {
|
|
188
|
+
* // Handle modification
|
|
189
|
+
* } else if (change._op === 'delete') {
|
|
190
|
+
* // Handle deletion
|
|
191
|
+
* }
|
|
192
|
+
* lastId = change._cid;
|
|
193
|
+
* }
|
|
194
|
+
*/
|
|
195
|
+
getChanges<T>(model: string, sinceId?: number, limit?: number): Promise<ChangeEntry<T>[]>;
|
|
196
|
+
/**
|
|
197
|
+
* Stream all changes since a specific ID with automatic pagination
|
|
198
|
+
*
|
|
199
|
+
* @param model - Full model path
|
|
200
|
+
* @param sinceId - Change ID to start from (exclusive)
|
|
201
|
+
* @param pageSize - Number of changes per page (default: 100)
|
|
202
|
+
* @yields Change entries one at a time
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* for await (const change of client.streamChanges('datasets/gov/example/City', 0)) {
|
|
206
|
+
* console.log(change._op, change._id);
|
|
207
|
+
* }
|
|
208
|
+
*/
|
|
209
|
+
streamChanges<T>(model: string, sinceId?: number, pageSize?: number): AsyncGenerator<ChangeEntry<T>, void, undefined>;
|
|
151
210
|
}
|
|
152
211
|
/** Discovered model from namespace traversal */
|
|
153
212
|
export interface DiscoveredModel {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpintaClient.d.ts","sourceRoot":"","sources":["../../src/client/SpintaClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,
|
|
1
|
+
{"version":3,"file":"SpintaClient.d.ts","sourceRoot":"","sources":["../../src/client/SpintaClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EAEd,WAAW,EAEZ,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAY/D,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;gBAEnC,MAAM,GAAE,YAAiB;IAgBrC;;;OAGG;YACW,UAAU;IAaxB;;OAEG;YACW,OAAO;IAarB;;;;;;;;;OASG;IACG,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,YAAY,CAAC;IAKrE;;;;;;;;;;;;;;;OAeG;IACG,MAAM,CAAC,CAAC,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACtB,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC;IAKhC;;;;;;;;OAQG;IACG,SAAS,CAAC,CAAC,EACf,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACtB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAM7B;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,MAAM,CAAC,CAAC,EACb,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACtB,cAAc,CAAC,CAAC,GAAG,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC;IA0BpD;;;;;;;;;;OAUG;IACG,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAcvE;;;;;;;;;;;;;;;OAeG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAoBhE;;;;;;;;;;;;;;;;;;OAkBG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAwBnE;;;;;;;;;;;;;OAaG;IACG,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAYzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,UAAU,CAAC,CAAC,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,SAAM,GACV,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAQ5B;;;;;;;;;;;;OAYG;IACI,aAAa,CAAC,CAAC,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,SAAI,EACX,QAAQ,SAAM,GACb,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC;CAmBnD;AAED,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAcD,wCAAwC;AACxC,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @example
|
|
5
5
|
* ```typescript
|
|
6
|
-
* import { SpintaClient, QueryBuilder } from 'lt-data-sdk';
|
|
6
|
+
* import { SpintaClient, QueryBuilder } from 'lt-open-data-sdk';
|
|
7
7
|
*
|
|
8
8
|
* const client = new SpintaClient();
|
|
9
9
|
*
|
|
@@ -258,5 +258,96 @@ export class SpintaClient {
|
|
|
258
258
|
await traverse(namespace);
|
|
259
259
|
return models;
|
|
260
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* Get the latest change ID for a model
|
|
263
|
+
*
|
|
264
|
+
* Useful for initializing sync - get the current position before starting.
|
|
265
|
+
*
|
|
266
|
+
* @param model - Full model path (e.g., 'datasets/gov/example/City')
|
|
267
|
+
* @returns The most recent change entry, or null if no changes exist
|
|
268
|
+
*
|
|
269
|
+
* @example
|
|
270
|
+
* const latest = await client.getLatestChange('datasets/gov/example/City');
|
|
271
|
+
* if (latest) {
|
|
272
|
+
* console.log('Last change ID:', latest._cid);
|
|
273
|
+
* }
|
|
274
|
+
*/
|
|
275
|
+
async getLatestChange(model) {
|
|
276
|
+
// Use -1 to get the most recent change (negative numbers count from end)
|
|
277
|
+
const path = `/${model}/:changes/-1`;
|
|
278
|
+
try {
|
|
279
|
+
const response = await this.request(path);
|
|
280
|
+
return response._data[0] ?? null;
|
|
281
|
+
}
|
|
282
|
+
catch {
|
|
283
|
+
// No changes exist yet
|
|
284
|
+
return null;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Get changes since a specific change ID
|
|
289
|
+
*
|
|
290
|
+
* Returns a log of all data modifications (insert, update, delete) since
|
|
291
|
+
* the given change ID. Use for incremental data synchronization.
|
|
292
|
+
*
|
|
293
|
+
* @param model - Full model path
|
|
294
|
+
* @param sinceId - Change ID to start from (exclusive). Pass 0 or omit to get all changes.
|
|
295
|
+
* @param limit - Maximum number of changes to return (default: 100)
|
|
296
|
+
* @returns Array of change entries with operation type and data
|
|
297
|
+
*
|
|
298
|
+
* @example
|
|
299
|
+
* // Initial sync: get current position
|
|
300
|
+
* const latest = await client.getLatestChange('datasets/gov/example/City');
|
|
301
|
+
* let lastId = latest?._cid ?? 0;
|
|
302
|
+
*
|
|
303
|
+
* // Incremental sync: get changes since last sync
|
|
304
|
+
* const changes = await client.getChanges('datasets/gov/example/City', lastId);
|
|
305
|
+
* for (const change of changes) {
|
|
306
|
+
* if (change._op === 'insert') {
|
|
307
|
+
* // Handle new record
|
|
308
|
+
* } else if (change._op === 'update' || change._op === 'patch') {
|
|
309
|
+
* // Handle modification
|
|
310
|
+
* } else if (change._op === 'delete') {
|
|
311
|
+
* // Handle deletion
|
|
312
|
+
* }
|
|
313
|
+
* lastId = change._cid;
|
|
314
|
+
* }
|
|
315
|
+
*/
|
|
316
|
+
async getChanges(model, sinceId, limit = 100) {
|
|
317
|
+
const changeId = sinceId ?? 0;
|
|
318
|
+
const path = `/${model}/:changes/${String(changeId)}`;
|
|
319
|
+
const queryString = `?limit(${String(limit)})`;
|
|
320
|
+
const response = await this.request(path, queryString);
|
|
321
|
+
return response._data;
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Stream all changes since a specific ID with automatic pagination
|
|
325
|
+
*
|
|
326
|
+
* @param model - Full model path
|
|
327
|
+
* @param sinceId - Change ID to start from (exclusive)
|
|
328
|
+
* @param pageSize - Number of changes per page (default: 100)
|
|
329
|
+
* @yields Change entries one at a time
|
|
330
|
+
*
|
|
331
|
+
* @example
|
|
332
|
+
* for await (const change of client.streamChanges('datasets/gov/example/City', 0)) {
|
|
333
|
+
* console.log(change._op, change._id);
|
|
334
|
+
* }
|
|
335
|
+
*/
|
|
336
|
+
async *streamChanges(model, sinceId = 0, pageSize = 100) {
|
|
337
|
+
let lastId = sinceId;
|
|
338
|
+
let hasMore = true;
|
|
339
|
+
while (hasMore) {
|
|
340
|
+
const changes = await this.getChanges(model, lastId, pageSize);
|
|
341
|
+
if (changes.length === 0) {
|
|
342
|
+
break;
|
|
343
|
+
}
|
|
344
|
+
for (const change of changes) {
|
|
345
|
+
yield change;
|
|
346
|
+
lastId = change._cid;
|
|
347
|
+
}
|
|
348
|
+
// If we got fewer than requested, we've reached the end
|
|
349
|
+
hasMore = changes.length >= pageSize;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
261
352
|
}
|
|
262
353
|
//# sourceMappingURL=SpintaClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpintaClient.js","sourceRoot":"","sources":["../../src/client/SpintaClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;
|
|
1
|
+
{"version":3,"file":"SpintaClient.js","sourceRoot":"","sources":["../../src/client/SpintaClient.ts"],"names":[],"mappings":"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"}
|
package/dist/client/types.d.ts
CHANGED
|
@@ -93,4 +93,30 @@ export interface NamespaceItem {
|
|
|
93
93
|
export interface NamespaceResponse {
|
|
94
94
|
_data: NamespaceItem[];
|
|
95
95
|
}
|
|
96
|
+
/** Operation types for change entries */
|
|
97
|
+
export type ChangeOperation = 'insert' | 'update' | 'patch' | 'delete';
|
|
98
|
+
/**
|
|
99
|
+
* Change entry from the /:changes endpoint
|
|
100
|
+
* Represents a single data modification event
|
|
101
|
+
*/
|
|
102
|
+
export interface ChangeEntry<T> {
|
|
103
|
+
/** Change ID - monotonically increasing, use for pagination */
|
|
104
|
+
_cid: number;
|
|
105
|
+
/** Timestamp of the change (ISO 8601) */
|
|
106
|
+
_created: string;
|
|
107
|
+
/** Type of operation performed */
|
|
108
|
+
_op: ChangeOperation;
|
|
109
|
+
/** Transaction ID */
|
|
110
|
+
_txn: string;
|
|
111
|
+
/** Revision after the change */
|
|
112
|
+
_revision: string;
|
|
113
|
+
/** ID of the modified object */
|
|
114
|
+
_id: string;
|
|
115
|
+
/** The data after modification (not present for delete) */
|
|
116
|
+
_data?: T;
|
|
117
|
+
}
|
|
118
|
+
/** Response wrapper for changes endpoint */
|
|
119
|
+
export interface ChangesResponse<T> {
|
|
120
|
+
_data: ChangeEntry<T>[];
|
|
121
|
+
}
|
|
96
122
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wCAAwC;AACxC,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,kCAAkC;AAClC,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,sCAAsC;AACtC,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChC;AAED,sCAAsC;AACtC,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;CACL;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iCAAiC;AACjC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* lt-data-sdk - TypeScript SDK for the Lithuanian Open Data platform (data.gov.lt)
|
|
2
|
+
* lt-open-data-sdk - TypeScript SDK for the Lithuanian Open Data platform (data.gov.lt)
|
|
3
3
|
*
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*
|
|
6
6
|
* @example
|
|
7
7
|
* ```typescript
|
|
8
|
-
* import { SpintaClient, QueryBuilder } from 'lt-data-sdk';
|
|
8
|
+
* import { SpintaClient, QueryBuilder } from 'lt-open-data-sdk';
|
|
9
9
|
*
|
|
10
10
|
* const client = new SpintaClient();
|
|
11
11
|
*
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* lt-data-sdk - TypeScript SDK for the Lithuanian Open Data platform (data.gov.lt)
|
|
2
|
+
* lt-open-data-sdk - TypeScript SDK for the Lithuanian Open Data platform (data.gov.lt)
|
|
3
3
|
*
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*
|
|
6
6
|
* @example
|
|
7
7
|
* ```typescript
|
|
8
|
-
* import { SpintaClient, QueryBuilder } from 'lt-data-sdk';
|
|
8
|
+
* import { SpintaClient, QueryBuilder } from 'lt-open-data-sdk';
|
|
9
9
|
*
|
|
10
10
|
* const client = new SpintaClient();
|
|
11
11
|
*
|