lt-open-data-sdk 1.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.
Files changed (59) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +366 -0
  3. package/dist/builder/FilterBuilder.d.ts +19 -0
  4. package/dist/builder/FilterBuilder.d.ts.map +1 -0
  5. package/dist/builder/FilterBuilder.js +178 -0
  6. package/dist/builder/FilterBuilder.js.map +1 -0
  7. package/dist/builder/QueryBuilder.d.ts +99 -0
  8. package/dist/builder/QueryBuilder.d.ts.map +1 -0
  9. package/dist/builder/QueryBuilder.js +162 -0
  10. package/dist/builder/QueryBuilder.js.map +1 -0
  11. package/dist/builder/index.d.ts +7 -0
  12. package/dist/builder/index.d.ts.map +1 -0
  13. package/dist/builder/index.js +6 -0
  14. package/dist/builder/index.js.map +1 -0
  15. package/dist/builder/types.d.ts +70 -0
  16. package/dist/builder/types.d.ts.map +1 -0
  17. package/dist/builder/types.js +5 -0
  18. package/dist/builder/types.js.map +1 -0
  19. package/dist/cli/crawler.d.ts +50 -0
  20. package/dist/cli/crawler.d.ts.map +1 -0
  21. package/dist/cli/crawler.js +161 -0
  22. package/dist/cli/crawler.js.map +1 -0
  23. package/dist/cli/generator.d.ts +9 -0
  24. package/dist/cli/generator.d.ts.map +1 -0
  25. package/dist/cli/generator.js +81 -0
  26. package/dist/cli/generator.js.map +1 -0
  27. package/dist/cli/index.d.ts +19 -0
  28. package/dist/cli/index.d.ts.map +1 -0
  29. package/dist/cli/index.js +125 -0
  30. package/dist/cli/index.js.map +1 -0
  31. package/dist/cli/typeMapper.d.ts +34 -0
  32. package/dist/cli/typeMapper.d.ts.map +1 -0
  33. package/dist/cli/typeMapper.js +150 -0
  34. package/dist/cli/typeMapper.js.map +1 -0
  35. package/dist/client/SpintaClient.d.ts +168 -0
  36. package/dist/client/SpintaClient.d.ts.map +1 -0
  37. package/dist/client/SpintaClient.js +262 -0
  38. package/dist/client/SpintaClient.js.map +1 -0
  39. package/dist/client/auth.d.ts +31 -0
  40. package/dist/client/auth.d.ts.map +1 -0
  41. package/dist/client/auth.js +96 -0
  42. package/dist/client/auth.js.map +1 -0
  43. package/dist/client/errors.d.ts +35 -0
  44. package/dist/client/errors.d.ts.map +1 -0
  45. package/dist/client/errors.js +73 -0
  46. package/dist/client/errors.js.map +1 -0
  47. package/dist/client/index.d.ts +8 -0
  48. package/dist/client/index.d.ts.map +1 -0
  49. package/dist/client/index.js +6 -0
  50. package/dist/client/index.js.map +1 -0
  51. package/dist/client/types.d.ts +96 -0
  52. package/dist/client/types.d.ts.map +1 -0
  53. package/dist/client/types.js +5 -0
  54. package/dist/client/types.js.map +1 -0
  55. package/dist/index.d.ts +35 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +35 -0
  58. package/dist/index.js.map +1 -0
  59. package/package.json +69 -0
@@ -0,0 +1,35 @@
1
+ /**
2
+ * lt-data-sdk - TypeScript SDK for the Lithuanian Open Data platform (data.gov.lt)
3
+ *
4
+ * @packageDocumentation
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import { SpintaClient, QueryBuilder } from 'lt-data-sdk';
9
+ *
10
+ * const client = new SpintaClient();
11
+ *
12
+ * // Query with fluent builder
13
+ * const query = new QueryBuilder()
14
+ * .select('name', 'population')
15
+ * .filter(f => f.field('population').gt(10000))
16
+ * .sort('name')
17
+ * .limit(100);
18
+ *
19
+ * // Get single page of results
20
+ * const cities = await client.getAll('datasets/gov/example/City', query);
21
+ *
22
+ * // Or stream all results with automatic pagination
23
+ * for await (const city of client.stream('datasets/gov/example/City', query)) {
24
+ * console.log(city.name);
25
+ * }
26
+ * ```
27
+ */
28
+ export { QueryBuilder } from './builder/QueryBuilder.js';
29
+ export { FilterBuilder, filterToString } from './builder/FilterBuilder.js';
30
+ export type { FilterCallback, FilterExpression, FilterExpressionBuilder, ComparisonOperator, StringOperator, SortDirection, SortSpec, } from './builder/types.js';
31
+ export { SpintaClient } from './client/SpintaClient.js';
32
+ export { TokenCache } from './client/auth.js';
33
+ export { SpintaError, AuthenticationError, NotFoundError, ValidationError, } from './client/errors.js';
34
+ export type { ClientConfig, SpintaObject, SpintaResponse, PageInfo, TokenResponse, CachedToken, CountResponse, SpintaErrorResponse, NamespaceItem, NamespaceResponse, } from './client/types.js';
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC3E,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,aAAa,EACb,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,35 @@
1
+ /**
2
+ * lt-data-sdk - TypeScript SDK for the Lithuanian Open Data platform (data.gov.lt)
3
+ *
4
+ * @packageDocumentation
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import { SpintaClient, QueryBuilder } from 'lt-data-sdk';
9
+ *
10
+ * const client = new SpintaClient();
11
+ *
12
+ * // Query with fluent builder
13
+ * const query = new QueryBuilder()
14
+ * .select('name', 'population')
15
+ * .filter(f => f.field('population').gt(10000))
16
+ * .sort('name')
17
+ * .limit(100);
18
+ *
19
+ * // Get single page of results
20
+ * const cities = await client.getAll('datasets/gov/example/City', query);
21
+ *
22
+ * // Or stream all results with automatic pagination
23
+ * for await (const city of client.stream('datasets/gov/example/City', query)) {
24
+ * console.log(city.name);
25
+ * }
26
+ * ```
27
+ */
28
+ // QueryBuilder
29
+ export { QueryBuilder } from './builder/QueryBuilder.js';
30
+ export { FilterBuilder, filterToString } from './builder/FilterBuilder.js';
31
+ // SpintaClient
32
+ export { SpintaClient } from './client/SpintaClient.js';
33
+ export { TokenCache } from './client/auth.js';
34
+ export { SpintaError, AuthenticationError, NotFoundError, ValidationError, } from './client/errors.js';
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAW3E,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,eAAe,GAChB,MAAM,oBAAoB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "lt-open-data-sdk",
3
+ "version": "1.0.0",
4
+ "description": "TypeScript SDK for the Lithuanian Open Data platform (data.gov.lt)",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "bin": {
15
+ "lt-gen": "./dist/cli/index.js"
16
+ },
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "postbuild": "node -e \"try{require('fs').chmodSync('dist/cli/index.js',0o755)}catch{}\"",
20
+ "test": "vitest run",
21
+ "test:watch": "vitest",
22
+ "lint": "eslint src",
23
+ "lt-gen": "node --loader ts-node/esm src/cli/index.ts"
24
+ },
25
+ "engines": {
26
+ "node": ">=18.0.0"
27
+ },
28
+ "keywords": [
29
+ "lithuania",
30
+ "open-data",
31
+ "data.gov.lt",
32
+ "spinta",
33
+ "api-client",
34
+ "typescript"
35
+ ],
36
+ "author": {
37
+ "name": "Giedrius Macevičius",
38
+ "email": "gmacev@gmail.com",
39
+ "url": "https://github.com/gmacev/"
40
+ },
41
+ "repository": {
42
+ "type": "git",
43
+ "url": "git+https://github.com/gmacev/lt-open-data-sdk.git"
44
+ },
45
+ "bugs": {
46
+ "url": "https://github.com/gmacev/lt-open-data-sdk/issues"
47
+ },
48
+ "homepage": "https://github.com/gmacev/lt-open-data-sdk#readme",
49
+ "license": "MIT",
50
+ "devDependencies": {
51
+ "@eslint/js": "^9.39.2",
52
+ "@types/node": "^22.0.0",
53
+ "@typescript-eslint/eslint-plugin": "^8.51.0",
54
+ "@typescript-eslint/parser": "^8.51.0",
55
+ "eslint": "^9.39.2",
56
+ "typescript": "^5.5.3",
57
+ "typescript-eslint": "^8.51.0",
58
+ "vitest": "^2.0.0"
59
+ },
60
+ "publishConfig": {
61
+ "access": "public"
62
+ },
63
+ "sideEffects": false,
64
+ "files": [
65
+ "dist",
66
+ "README.md",
67
+ "LICENSE"
68
+ ]
69
+ }