dcql 0.2.3 → 0.2.4

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 (148) hide show
  1. package/dist/src/dcql-query/claims-path.d.ts +14 -0
  2. package/dist/src/dcql-query/claims-path.d.ts.map +1 -0
  3. package/dist/src/dcql-query/claims-path.js +23 -0
  4. package/dist/src/dcql-query/claims-path.js.map +1 -0
  5. package/dist/src/dcql-query/claims-path.test.d.ts +2 -0
  6. package/dist/src/dcql-query/claims-path.test.d.ts.map +1 -0
  7. package/dist/src/dcql-query/claims-path.test.js +97 -0
  8. package/dist/src/dcql-query/claims-path.test.js.map +1 -0
  9. package/dist/src/dcql-query/dcql-query.d.ts +5 -0
  10. package/dist/src/dcql-query/dcql-query.d.ts.map +1 -0
  11. package/dist/src/dcql-query/dcql-query.js +53 -0
  12. package/dist/src/dcql-query/dcql-query.js.map +1 -0
  13. package/dist/src/dcql-query/dcql-query.test.d.ts +2 -0
  14. package/dist/src/dcql-query/dcql-query.test.d.ts.map +1 -0
  15. package/dist/src/dcql-query/dcql-query.test.js +165 -0
  16. package/dist/src/dcql-query/dcql-query.test.js.map +1 -0
  17. package/dist/src/dcql-query/m-dcql-claims-query.d.ts +37 -0
  18. package/dist/src/dcql-query/m-dcql-claims-query.d.ts.map +1 -0
  19. package/dist/src/dcql-query/m-dcql-claims-query.js +57 -0
  20. package/dist/src/dcql-query/m-dcql-claims-query.js.map +1 -0
  21. package/dist/src/dcql-query/m-dcql-credential-query.d.ts +186 -0
  22. package/dist/src/dcql-query/m-dcql-credential-query.d.ts.map +1 -0
  23. package/dist/src/dcql-query/m-dcql-credential-query.js +85 -0
  24. package/dist/src/dcql-query/m-dcql-credential-query.js.map +1 -0
  25. package/dist/src/dcql-query/m-dcql-credential-set-query.d.ts +18 -0
  26. package/dist/src/dcql-query/m-dcql-credential-set-query.d.ts.map +1 -0
  27. package/dist/src/dcql-query/m-dcql-credential-set-query.js +41 -0
  28. package/dist/src/dcql-query/m-dcql-credential-set-query.js.map +1 -0
  29. package/dist/src/dcql-query/m-dcql-query.d.ts +433 -0
  30. package/dist/src/dcql-query/m-dcql-query.d.ts.map +1 -0
  31. package/dist/src/dcql-query/m-dcql-query.js +89 -0
  32. package/dist/src/dcql-query/m-dcql-query.js.map +1 -0
  33. package/dist/src/dcql-query-result/dcql-claims-query-result.d.ts +81 -0
  34. package/dist/src/dcql-query-result/dcql-claims-query-result.d.ts.map +1 -0
  35. package/dist/src/dcql-query-result/dcql-claims-query-result.js +158 -0
  36. package/dist/src/dcql-query-result/dcql-claims-query-result.js.map +1 -0
  37. package/dist/src/dcql-query-result/dcql-credential-query-result.d.ts +38 -0
  38. package/dist/src/dcql-query-result/dcql-credential-query-result.d.ts.map +1 -0
  39. package/dist/src/dcql-query-result/dcql-credential-query-result.js +61 -0
  40. package/dist/src/dcql-query-result/dcql-credential-query-result.js.map +1 -0
  41. package/dist/src/dcql-query-result/m-dcql-query-result.d.ts +730 -0
  42. package/dist/src/dcql-query-result/m-dcql-query-result.d.ts.map +1 -0
  43. package/dist/src/dcql-query-result/m-dcql-query-result.js +78 -0
  44. package/dist/src/dcql-query-result/m-dcql-query-result.js.map +1 -0
  45. package/dist/src/dcql-query-vp-token/m-dcql-query-vp-token.d.ts +65 -0
  46. package/dist/src/dcql-query-vp-token/m-dcql-query-vp-token.d.ts.map +1 -0
  47. package/dist/src/dcql-query-vp-token/m-dcql-query-vp-token.js +50 -0
  48. package/dist/src/dcql-query-vp-token/m-dcql-query-vp-token.js.map +1 -0
  49. package/dist/src/e-base.d.ts +15 -0
  50. package/dist/src/e-base.d.ts.map +1 -0
  51. package/dist/{esm/src → src}/e-base.js +18 -23
  52. package/dist/src/e-base.js.map +1 -0
  53. package/dist/src/e-dcql.d.ts +32 -0
  54. package/dist/src/e-dcql.d.ts.map +1 -0
  55. package/dist/src/e-dcql.js +35 -0
  56. package/dist/src/e-dcql.js.map +1 -0
  57. package/dist/src/index.d.ts +9 -0
  58. package/dist/src/index.d.ts.map +1 -0
  59. package/dist/src/index.js +30 -0
  60. package/dist/src/index.js.map +1 -0
  61. package/dist/src/u-dcql-credential-representation.d.ts +28 -0
  62. package/dist/src/u-dcql-credential-representation.d.ts.map +1 -0
  63. package/dist/src/u-dcql-credential-representation.js +32 -0
  64. package/dist/src/u-dcql-credential-representation.js.map +1 -0
  65. package/dist/src/u-dcql.d.ts +49 -0
  66. package/dist/src/u-dcql.d.ts.map +1 -0
  67. package/dist/src/u-dcql.js +76 -0
  68. package/dist/src/u-dcql.js.map +1 -0
  69. package/package.json +14 -9
  70. package/.cache/tsbuildinfo.json +0 -1
  71. package/.turbo/turbo-build.log +0 -4
  72. package/CHANGELOG.md +0 -13
  73. package/dist/esm/src/claims-query/claims-query-result.d.ts +0 -24
  74. package/dist/esm/src/claims-query/claims-query-result.d.ts.map +0 -1
  75. package/dist/esm/src/claims-query/claims-query-result.js +0 -67
  76. package/dist/esm/src/claims-query/claims-query-result.js.map +0 -1
  77. package/dist/esm/src/claims-query/v-claims-query-result.d.ts +0 -82
  78. package/dist/esm/src/claims-query/v-claims-query-result.d.ts.map +0 -1
  79. package/dist/esm/src/claims-query/v-claims-query-result.js +0 -30
  80. package/dist/esm/src/claims-query/v-claims-query-result.js.map +0 -1
  81. package/dist/esm/src/claims-query/v-claims-query.d.ts +0 -34
  82. package/dist/esm/src/claims-query/v-claims-query.d.ts.map +0 -1
  83. package/dist/esm/src/claims-query/v-claims-query.js +0 -24
  84. package/dist/esm/src/claims-query/v-claims-query.js.map +0 -1
  85. package/dist/esm/src/credential-query/credential-query-result.d.ts +0 -101
  86. package/dist/esm/src/credential-query/credential-query-result.d.ts.map +0 -1
  87. package/dist/esm/src/credential-query/credential-query-result.js +0 -91
  88. package/dist/esm/src/credential-query/credential-query-result.js.map +0 -1
  89. package/dist/esm/src/credential-query/v-credential-query-result.d.ts +0 -696
  90. package/dist/esm/src/credential-query/v-credential-query-result.d.ts.map +0 -1
  91. package/dist/esm/src/credential-query/v-credential-query-result.js +0 -44
  92. package/dist/esm/src/credential-query/v-credential-query-result.js.map +0 -1
  93. package/dist/esm/src/credential-query/v-credential-query.d.ts +0 -109
  94. package/dist/esm/src/credential-query/v-credential-query.d.ts.map +0 -1
  95. package/dist/esm/src/credential-query/v-credential-query.js +0 -57
  96. package/dist/esm/src/credential-query/v-credential-query.js.map +0 -1
  97. package/dist/esm/src/e-base.d.ts +0 -25
  98. package/dist/esm/src/e-base.d.ts.map +0 -1
  99. package/dist/esm/src/e-base.js.map +0 -1
  100. package/dist/esm/src/e-vp-query.d.ts +0 -32
  101. package/dist/esm/src/e-vp-query.d.ts.map +0 -1
  102. package/dist/esm/src/e-vp-query.js +0 -27
  103. package/dist/esm/src/e-vp-query.js.map +0 -1
  104. package/dist/esm/src/index.d.ts +0 -7
  105. package/dist/esm/src/index.d.ts.map +0 -1
  106. package/dist/esm/src/index.js +0 -7
  107. package/dist/esm/src/index.js.map +0 -1
  108. package/dist/esm/src/u-query.d.ts +0 -20
  109. package/dist/esm/src/u-query.d.ts.map +0 -1
  110. package/dist/esm/src/u-query.js +0 -25
  111. package/dist/esm/src/u-query.js.map +0 -1
  112. package/dist/esm/src/vp-query/v-vp-query-result.d.ts +0 -767
  113. package/dist/esm/src/vp-query/v-vp-query-result.d.ts.map +0 -1
  114. package/dist/esm/src/vp-query/v-vp-query-result.js +0 -18
  115. package/dist/esm/src/vp-query/v-vp-query-result.js.map +0 -1
  116. package/dist/esm/src/vp-query/v-vp-query.d.ts +0 -94
  117. package/dist/esm/src/vp-query/v-vp-query.d.ts.map +0 -1
  118. package/dist/esm/src/vp-query/v-vp-query.js +0 -52
  119. package/dist/esm/src/vp-query/v-vp-query.js.map +0 -1
  120. package/dist/esm/src/vp-query/vp-query.d.ts +0 -5
  121. package/dist/esm/src/vp-query/vp-query.d.ts.map +0 -1
  122. package/dist/esm/src/vp-query/vp-query.fixtures.d.ts +0 -7
  123. package/dist/esm/src/vp-query/vp-query.fixtures.d.ts.map +0 -1
  124. package/dist/esm/src/vp-query/vp-query.fixtures.js +0 -172
  125. package/dist/esm/src/vp-query/vp-query.fixtures.js.map +0 -1
  126. package/dist/esm/src/vp-query/vp-query.js +0 -21
  127. package/dist/esm/src/vp-query/vp-query.js.map +0 -1
  128. package/dist/esm/src/vp-query/vp-query.test.d.ts +0 -31
  129. package/dist/esm/src/vp-query/vp-query.test.d.ts.map +0 -1
  130. package/dist/esm/src/vp-query/vp-query.test.js +0 -130
  131. package/dist/esm/src/vp-query/vp-query.test.js.map +0 -1
  132. package/eslint.config.js +0 -10
  133. package/src/claims-query/claims-query-result.ts +0 -104
  134. package/src/claims-query/v-claims-query-result.ts +0 -42
  135. package/src/claims-query/v-claims-query.ts +0 -34
  136. package/src/credential-query/credential-query-result.ts +0 -130
  137. package/src/credential-query/v-credential-query-result.ts +0 -71
  138. package/src/credential-query/v-credential-query.ts +0 -85
  139. package/src/e-base.ts +0 -116
  140. package/src/e-vp-query.ts +0 -31
  141. package/src/index.ts +0 -6
  142. package/src/u-query.ts +0 -39
  143. package/src/vp-query/v-vp-query-result.ts +0 -23
  144. package/src/vp-query/v-vp-query.ts +0 -71
  145. package/src/vp-query/vp-query.fixtures.ts +0 -178
  146. package/src/vp-query/vp-query.test.ts +0 -156
  147. package/src/vp-query/vp-query.ts +0 -44
  148. package/tsconfig.json +0 -5
@@ -1 +0,0 @@
1
- {"version":3,"file":"v-vp-query-result.d.ts","sourceRoot":"","sources":["../../../../src/vp-query/v-vp-query-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAI7B,yBAAiB,aAAa,CAAC;IACtB,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGvB,CAAC;IACH,KAAY,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,YAAY,CAAC,CAAC;IAEtD,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOjB,CAAC;IACH,KAAY,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;IAChD,KAAY,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,MAAM,CAAC,CAAC;CAChD;AACD,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC"}
@@ -1,18 +0,0 @@
1
- import * as v from 'valibot';
2
- import { CredentialQueryResult } from '../credential-query/v-credential-query-result.js';
3
- import { VpQuery } from './v-vp-query.js';
4
- export var VpQueryResult;
5
- (function (VpQueryResult) {
6
- VpQueryResult.vQueryResult = v.object({
7
- areRequiredCredentialsPresent: v.boolean(),
8
- credential_set_result: v.array(CredentialQueryResult.vModel),
9
- });
10
- VpQueryResult.vModel = v.object({
11
- ...VpQuery.vModel.entries,
12
- credential_sets: VpQuery.vModel.entries.credential_sets,
13
- // The number of vp_query_results matches the number of credential_sets if provided or
14
- // is 1 in case credential sets is not present. The indexes match.
15
- credential_sets_results: v.array(VpQueryResult.vQueryResult),
16
- });
17
- })(VpQueryResult || (VpQueryResult = {}));
18
- //# sourceMappingURL=v-vp-query-result.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v-vp-query-result.js","sourceRoot":"","sources":["../../../../src/vp-query/v-vp-query-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,KAAW,aAAa,CAiB7B;AAjBD,WAAiB,aAAa;IACf,0BAAY,GAAG,CAAC,CAAC,MAAM,CAAC;QACnC,6BAA6B,EAAE,CAAC,CAAC,OAAO,EAAE;QAC1C,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC;KAC7D,CAAC,CAAC;IAGU,oBAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAC7B,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO;QACzB,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe;QAEvD,sFAAsF;QACtF,kEAAkE;QAClE,uBAAuB,EAAE,CAAC,CAAC,KAAK,CAAC,cAAA,YAAY,CAAC;KAC/C,CAAC,CAAC;AAGL,CAAC,EAjBgB,aAAa,KAAb,aAAa,QAiB7B"}
@@ -1,94 +0,0 @@
1
- import * as v from 'valibot';
2
- export declare namespace VpQuery {
3
- const vModel: v.ObjectSchema<{
4
- readonly credentials: v.SchemaWithPipe<[v.ArraySchema<v.VariantSchema<"format", [v.ObjectSchema<{
5
- readonly id: v.SchemaWithPipe<[v.StringSchema<undefined>, v.RegexAction<string, undefined>]>;
6
- readonly format: v.LiteralSchema<"mso_mdoc", undefined>;
7
- readonly meta: v.OptionalSchema<v.ObjectSchema<{
8
- readonly doctype_values: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, never>;
9
- }, undefined>, never>;
10
- readonly claims: v.OptionalSchema<v.SchemaWithPipe<[v.ArraySchema<v.ObjectSchema<{
11
- readonly id: v.OptionalSchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, never>;
12
- readonly namespace: v.StringSchema<undefined>;
13
- readonly claim_name: v.StringSchema<undefined>;
14
- readonly values: v.OptionalSchema<v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>, v.BooleanSchema<undefined>], undefined>, undefined>, never>;
15
- }, undefined>, undefined>, v.NonEmptyAction<{
16
- namespace: string;
17
- claim_name: string;
18
- values?: (string | number | boolean)[] | undefined;
19
- id?: string | undefined;
20
- }[], undefined>]>, never>;
21
- readonly claim_sets: v.OptionalSchema<v.SchemaWithPipe<[v.ArraySchema<v.ArraySchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, undefined>, undefined>, v.NonEmptyAction<string[][], undefined>]>, never>;
22
- }, undefined>, v.ObjectSchema<{
23
- readonly format: v.LiteralSchema<"vc+sd-jwt", undefined>;
24
- readonly meta: v.OptionalSchema<v.ObjectSchema<{
25
- readonly vct_values: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, never>;
26
- }, undefined>, never>;
27
- readonly id: v.SchemaWithPipe<[v.StringSchema<undefined>, v.RegexAction<string, undefined>]>;
28
- readonly claims: v.OptionalSchema<v.SchemaWithPipe<[v.ArraySchema<v.ObjectSchema<{
29
- readonly id: v.OptionalSchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, never>;
30
- readonly path: v.OptionalSchema<v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.SchemaWithPipe<[v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.LiteralSchema<"*", undefined>], undefined>, undefined>, never>;
31
- readonly values: v.OptionalSchema<v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>, v.BooleanSchema<undefined>], undefined>, undefined>, never>;
32
- }, undefined>, undefined>, v.NonEmptyAction<{
33
- values?: (string | number | boolean)[] | undefined;
34
- id?: string | undefined;
35
- path?: (string | number)[] | undefined;
36
- }[], undefined>]>, never>;
37
- readonly claim_sets: v.OptionalSchema<v.SchemaWithPipe<[v.ArraySchema<v.ArraySchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, undefined>, undefined>, v.NonEmptyAction<string[][], undefined>]>, never>;
38
- }, undefined>, v.ObjectSchema<{
39
- readonly format: v.PicklistSchema<["jwt_vc_json", "jwt_vc_json-ld"], undefined>;
40
- readonly id: v.SchemaWithPipe<[v.StringSchema<undefined>, v.RegexAction<string, undefined>]>;
41
- readonly claims: v.OptionalSchema<v.SchemaWithPipe<[v.ArraySchema<v.ObjectSchema<{
42
- readonly id: v.OptionalSchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, never>;
43
- readonly path: v.OptionalSchema<v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.SchemaWithPipe<[v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.LiteralSchema<"*", undefined>], undefined>, undefined>, never>;
44
- readonly values: v.OptionalSchema<v.ArraySchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>, v.BooleanSchema<undefined>], undefined>, undefined>, never>;
45
- }, undefined>, undefined>, v.NonEmptyAction<{
46
- values?: (string | number | boolean)[] | undefined;
47
- id?: string | undefined;
48
- path?: (string | number)[] | undefined;
49
- }[], undefined>]>, never>;
50
- readonly claim_sets: v.OptionalSchema<v.SchemaWithPipe<[v.ArraySchema<v.ArraySchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, undefined>, undefined>, v.NonEmptyAction<string[][], undefined>]>, never>;
51
- }, undefined>], undefined>, undefined>, v.NonEmptyAction<({
52
- id: string;
53
- format: "mso_mdoc";
54
- meta?: {
55
- doctype_values?: string[] | undefined;
56
- } | undefined;
57
- claims?: {
58
- namespace: string;
59
- claim_name: string;
60
- values?: (string | number | boolean)[] | undefined;
61
- id?: string | undefined;
62
- }[] | undefined;
63
- claim_sets?: string[][] | undefined;
64
- } | {
65
- id: string;
66
- format: "vc+sd-jwt";
67
- meta?: {
68
- vct_values?: string[] | undefined;
69
- } | undefined;
70
- claims?: {
71
- values?: (string | number | boolean)[] | undefined;
72
- id?: string | undefined;
73
- path?: (string | number)[] | undefined;
74
- }[] | undefined;
75
- claim_sets?: string[][] | undefined;
76
- } | {
77
- id: string;
78
- format: "jwt_vc_json" | "jwt_vc_json-ld";
79
- claims?: {
80
- values?: (string | number | boolean)[] | undefined;
81
- id?: string | undefined;
82
- path?: (string | number)[] | undefined;
83
- }[] | undefined;
84
- claim_sets?: string[][] | undefined;
85
- })[], undefined>]>;
86
- readonly credential_sets: v.OptionalSchema<v.SchemaWithPipe<[v.ArraySchema<v.ArraySchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, undefined>, undefined>, v.NonEmptyAction<string[][], undefined>]>, never>;
87
- }, undefined>;
88
- type Input = v.InferInput<typeof vModel>;
89
- type Out = v.InferOutput<typeof vModel>;
90
- const validate: (vpQuery: Out) => void;
91
- const query: (vpQuery: VpQuery, credentials: import("../u-query.js").Mdoc[]) => import("./v-vp-query-result.js").VpQueryResult;
92
- }
93
- export type VpQuery = VpQuery.Out;
94
- //# sourceMappingURL=v-vp-query.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v-vp-query.d.ts","sourceRoot":"","sources":["../../../../src/vp-query/v-vp-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAU7B,yBAAiB,OAAO,CAAC;IAChB,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQjB,CAAC;IACH,KAAY,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;IAChD,KAAY,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,MAAM,CAAC,CAAC;IACxC,MAAM,QAAQ,YAAa,GAAG,SAGpC,CAAC;IACK,MAAM,KAAK,mHAA8B,CAAC;CAClD;AACD,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC"}
@@ -1,52 +0,0 @@
1
- import * as v from 'valibot';
2
- import { CredentialQuery } from '../credential-query/v-credential-query.js';
3
- import { InvalidCredentialQueryIdError, VpQueryCredentialSetError, VpQueryNonUniqueCredentialQueryIdsError, } from '../e-vp-query.js';
4
- import { credentialSetIdRegex, getIdMetadata } from '../u-query.js';
5
- import { queryVerifiablePresentation } from './vp-query.js';
6
- export var VpQuery;
7
- (function (VpQuery) {
8
- VpQuery.vModel = v.object({
9
- credentials: v.pipe(v.array(CredentialQuery.vModel), v.nonEmpty()),
10
- credential_sets: v.optional(v.pipe(v.array(v.array(v.pipe(v.string(), v.regex(credentialSetIdRegex)))), v.nonEmpty())),
11
- });
12
- VpQuery.validate = (vpQuery) => {
13
- validateUniqueCredentialQueryIds(vpQuery);
14
- validateCredentialSets(vpQuery);
15
- };
16
- VpQuery.query = queryVerifiablePresentation;
17
- })(VpQuery || (VpQuery = {}));
18
- // --- validations --- //
19
- const validateUniqueCredentialQueryIds = (query) => {
20
- const ids = query.credentials.map(c => c.id);
21
- const duplicates = ids.filter((id, index) => ids.indexOf(id) !== index);
22
- if (duplicates.length > 0) {
23
- throw new VpQueryNonUniqueCredentialQueryIdsError({
24
- message: `Duplicate credential query ids found: ${duplicates.join(', ')}`,
25
- });
26
- }
27
- };
28
- const validateCredentialSets = (query) => {
29
- if (!query.credential_sets)
30
- return;
31
- const credentialIds = new Set(query.credentials.map(c => c.id));
32
- const undefinedCredentials = [];
33
- for (const credential_set of query.credential_sets) {
34
- for (const credential_id of credential_set) {
35
- const { baseId, isRequiredIfPresent } = getIdMetadata(credential_id);
36
- if (isRequiredIfPresent) {
37
- throw new InvalidCredentialQueryIdError({
38
- message: 'Invalid credential-query id. Required if present operator can only be applied to credential queries.',
39
- });
40
- }
41
- if (!credentialIds.has(baseId)) {
42
- undefinedCredentials.push(credential_id);
43
- }
44
- }
45
- }
46
- if (undefinedCredentials.length > 1) {
47
- throw new VpQueryCredentialSetError({
48
- message: `Credential set contains undefined credential id${undefinedCredentials.length === 1 ? '' : '`s'} '${undefinedCredentials.join(', ')}'`,
49
- });
50
- }
51
- };
52
- //# sourceMappingURL=v-vp-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v-vp-query.js","sourceRoot":"","sources":["../../../../src/vp-query/v-vp-query.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { Mdoc } from '../u-query.js';
2
- import type { VpQueryResult } from './v-vp-query-result.js';
3
- import type { VpQuery } from './v-vp-query.js';
4
- export declare const queryVerifiablePresentation: (vpQuery: VpQuery, credentials: Mdoc[]) => VpQueryResult;
5
- //# sourceMappingURL=vp-query.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vp-query.d.ts","sourceRoot":"","sources":["../../../../src/vp-query/vp-query.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAO,MAAM,2BAA2B,YAC7B,OAAO,eACH,IAAI,EAAE,KAClB,aAmCF,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { VpQuery } from './v-vp-query.js';
2
- export declare const simple: VpQuery;
3
- export declare const matchingSimple: VpQuery;
4
- export declare const multiCredentials: VpQuery;
5
- export declare const credentialAlternatives: VpQuery;
6
- export declare const claimAlternatives: VpQuery;
7
- //# sourceMappingURL=vp-query.fixtures.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vp-query.fixtures.d.ts","sourceRoot":"","sources":["../../../../src/vp-query/vp-query.fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAO,MAAM,MAAM,EAAE,OAepB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,OAsB5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAgC9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,OAmEpC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,OA+B/B,CAAC"}
@@ -1,172 +0,0 @@
1
- export const simple = {
2
- credentials: [
3
- {
4
- id: 'my_credential',
5
- format: 'vc+sd-jwt',
6
- meta: {
7
- vct_values: ['https://credentials.example.com/identity_credential'],
8
- },
9
- claims: [
10
- { path: ['last_name'] },
11
- { path: ['first_name'] },
12
- { path: ['address', 'street_address'] },
13
- ],
14
- },
15
- ],
16
- };
17
- export const matchingSimple = {
18
- credentials: [
19
- {
20
- id: 'my_credential',
21
- format: 'vc+sd-jwt',
22
- meta: {
23
- vct_values: ['https://credentials.example.com/identity_credential'],
24
- },
25
- claims: [
26
- {
27
- path: ['last_name'],
28
- values: ['Doe'],
29
- },
30
- { path: ['first_name'] },
31
- { path: ['address', 'street_address'] },
32
- {
33
- path: ['postal_code'],
34
- values: ['90210', '90211'],
35
- },
36
- ],
37
- },
38
- ],
39
- };
40
- export const multiCredentials = {
41
- credentials: [
42
- {
43
- id: 'pid',
44
- format: 'vc+sd-jwt',
45
- meta: {
46
- vct_values: ['https://credentials.example.com/identity_credential'],
47
- },
48
- claims: [
49
- { path: ['given_name'] },
50
- { path: ['family_name'] },
51
- { path: ['address', 'street_address'] },
52
- ],
53
- },
54
- {
55
- id: 'mdl',
56
- format: 'mso_mdoc',
57
- meta: {
58
- doctype_values: ['org.iso.7367.1.mVR'],
59
- },
60
- claims: [
61
- {
62
- namespace: 'org.iso.7367.1',
63
- claim_name: 'vehicle_holder',
64
- },
65
- {
66
- namespace: 'org.iso.18013.5.1',
67
- claim_name: 'first_name',
68
- },
69
- ],
70
- },
71
- ],
72
- };
73
- export const credentialAlternatives = {
74
- credentials: [
75
- {
76
- id: 'pid',
77
- format: 'vc+sd-jwt',
78
- meta: {
79
- vct_values: ['https://credentials.example.com/identity_credential'],
80
- },
81
- claims: [
82
- { path: ['given_name'] },
83
- { path: ['family_name'] },
84
- { path: ['address', 'street_address'] },
85
- ],
86
- },
87
- {
88
- id: 'other_pid',
89
- format: 'vc+sd-jwt',
90
- meta: {
91
- vct_values: ['https://othercredentials.example/pid'],
92
- },
93
- claims: [
94
- { path: ['given_name'] },
95
- { path: ['family_name'] },
96
- { path: ['address', 'street_address'] },
97
- ],
98
- },
99
- {
100
- id: 'pid_reduced_cred_1',
101
- format: 'vc+sd-jwt',
102
- meta: {
103
- vct_values: [
104
- 'https://credentials.example.com/reduced_identity_credential',
105
- ],
106
- },
107
- claims: [{ path: ['family_name'] }, { path: ['given_name'] }],
108
- },
109
- {
110
- id: 'pid_reduced_cred_2',
111
- format: 'vc+sd-jwt',
112
- meta: {
113
- vct_values: ['https://cred.example/residence_credential'],
114
- },
115
- claims: [
116
- { path: ['postal_code'] },
117
- { path: ['locality'] },
118
- { path: ['region'] },
119
- ],
120
- },
121
- {
122
- id: 'nice_to_have',
123
- format: 'vc+sd-jwt',
124
- meta: {
125
- vct_values: ['https://company.example/company_rewards'],
126
- },
127
- claims: [
128
- { id: 'current', path: ['rewards_number'] },
129
- { id: 'legacy', path: ['legacy_system_rewards_number'] },
130
- ],
131
- claim_sets: [['current', 'legacy?']],
132
- },
133
- ],
134
- credential_sets: [
135
- // deliver the pid, or the other_pid, or both pid_reduced_cred1 + 2; nice_to_have is optional in all cases
136
- ['pid', 'nice_to_have?'],
137
- ['other_pid', 'nice_to_have?'],
138
- ['pid_reduced_cred_1', 'pid_reduced_cred_2', 'nice_to_have?'],
139
- ],
140
- };
141
- export const claimAlternatives = {
142
- credentials: [
143
- {
144
- id: 'pid',
145
- format: 'vc+sd-jwt',
146
- meta: {
147
- vct_values: ['https://credentials.example.com/identity_credential'],
148
- },
149
- // Comments in JSON to be removed before merging PR, they are just here to make Brian less sad
150
- claims: [
151
- // define claims, may add other properties like a purpose to each claims
152
- {
153
- id: 'a', // required for use in claim_sets below; if that is omitted, the id is optional
154
- path: ['last_name'],
155
- },
156
- { id: 'b', path: ['postal_code'] },
157
- { id: 'c', path: ['locality'] },
158
- { id: 'd', path: ['region'] },
159
- { id: 'e', path: ['date_of_birth'] },
160
- { id: 'f', path: ['email'] },
161
- ],
162
- claim_sets: [
163
- // defines the rules
164
- // postal code or (locality and region), last_name, and date_of_birth are mandatory; email is optional
165
- ['a', 'b', 'e', 'f?'],
166
- ['a', 'c', 'd', 'e', 'f?'],
167
- // Note: the ? to mark a claim as optional is syntactical sugar; the rules could be rewritten without it, but that would require a lot of repetition
168
- ],
169
- },
170
- ],
171
- };
172
- //# sourceMappingURL=vp-query.fixtures.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vp-query.fixtures.js","sourceRoot":"","sources":["../../../../src/vp-query/vp-query.fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { queryCredentialSet } from '../credential-query/credential-query-result.js';
2
- export const queryVerifiablePresentation = (vpQuery, credentials) => {
3
- const credential_sets_results = (vpQuery.credential_sets ?? [undefined]).map(credential_set => {
4
- // TODO: SHOULD WE THROW IN CASE AN EMPTY CREDENTIAL_SET IS PASSED?
5
- if (credential_set?.length === 0) {
6
- return {
7
- areRequiredCredentialsPresent: true,
8
- credential_set_result: [],
9
- };
10
- }
11
- const credentialSetQueryResult = queryCredentialSet(vpQuery.credentials, credentials, credential_set);
12
- const areRequiredCredentialsPresent = credentialSetQueryResult.every(credentialQueryResult => credentialQueryResult.isOptional ||
13
- credentialQueryResult.claim_sets_results.some(claimSetResult => claimSetResult.some(claimQueryResult => claimQueryResult.areRequiredClaimsPresent)));
14
- return {
15
- areRequiredCredentialsPresent,
16
- credential_set_result: credentialSetQueryResult,
17
- };
18
- });
19
- return { ...vpQuery, credential_sets_results };
20
- };
21
- //# sourceMappingURL=vp-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vp-query.js","sourceRoot":"","sources":["../../../../src/vp-query/vp-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAKpF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,OAAgB,EAChB,WAAmB,EACJ,EAAE;IACjB,MAAM,uBAAuB,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAC1E,cAAc,CAAC,EAAE;QACf,mEAAmE;QACnE,IAAI,cAAc,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,6BAA6B,EAAE,IAAI;gBACnC,qBAAqB,EAAE,EAAE;aAC1B,CAAC;QACJ,CAAC;QAED,MAAM,wBAAwB,GAAG,kBAAkB,CACjD,OAAO,CAAC,WAAW,EACnB,WAAW,EACX,cAAmD,CACpD,CAAC;QAEF,MAAM,6BAA6B,GAAG,wBAAwB,CAAC,KAAK,CAClE,qBAAqB,CAAC,EAAE,CACtB,qBAAqB,CAAC,UAAU;YAChC,qBAAqB,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAC7D,cAAc,CAAC,IAAI,CACjB,gBAAgB,CAAC,EAAE,CAAC,gBAAgB,CAAC,wBAAwB,CAC9D,CACF,CACJ,CAAC;QAEF,OAAO;YACL,6BAA6B;YAC7B,qBAAqB,EAAE,wBAAwB;SAChD,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,OAAO,EAAE,GAAG,OAAO,EAAE,uBAAuB,EAAE,CAAC;AACjD,CAAC,CAAC"}
@@ -1,31 +0,0 @@
1
- import type { VpQueryResult } from './v-vp-query-result.js';
2
- export declare class ResultBuilder {
3
- private vpQueryResult;
4
- private autoComplete;
5
- constructor(vpQueryResult: VpQueryResult);
6
- disableAutoComplete(disabled?: boolean): void;
7
- getSolutionSpace(): {
8
- credentialSetIndex: number;
9
- claimSets: {
10
- claimSetIndex: number;
11
- credentialIndices: number[];
12
- }[];
13
- }[];
14
- }
15
- export declare const simpleMdoc: {
16
- credentials: {
17
- id: string;
18
- format: "mso_mdoc";
19
- meta: {
20
- doctype_values: string[];
21
- };
22
- claims: {
23
- id: string;
24
- namespace: string;
25
- claim_name: string;
26
- }[];
27
- claim_sets: string[][];
28
- }[];
29
- credential_sets: string[][];
30
- };
31
- //# sourceMappingURL=vp-query.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vp-query.test.d.ts","sourceRoot":"","sources":["../../../../src/vp-query/vp-query.test.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,qBAAa,aAAa;IAEZ,OAAO,CAAC,aAAa;IADjC,OAAO,CAAC,YAAY,CAAU;gBACV,aAAa,EAAE,aAAa;IAIhD,mBAAmB,CAAC,QAAQ,CAAC,EAAE,OAAO;IAItC,gBAAgB;4BAEQ,MAAM;mBACf;YACT,aAAa,EAAE,MAAM,CAAC;YACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;SAC7B,EAAE;;CAoCR;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;CAsDJ,CAAC"}
@@ -1,130 +0,0 @@
1
- import { describe, it } from 'node:test';
2
- import * as v from 'valibot';
3
- import { VpQuery } from './v-vp-query.js';
4
- export class ResultBuilder {
5
- vpQueryResult;
6
- autoComplete;
7
- constructor(vpQueryResult) {
8
- this.vpQueryResult = vpQueryResult;
9
- this.autoComplete = false;
10
- }
11
- disableAutoComplete(disabled) {
12
- this.autoComplete = !(disabled ?? true);
13
- }
14
- getSolutionSpace() {
15
- const solutionSpace = [];
16
- for (const [credentialSetIndex, credentialSetResults,] of this.vpQueryResult.credential_sets_results.entries()) {
17
- if (!credentialSetResults.areRequiredCredentialsPresent)
18
- continue;
19
- const claimSets = credentialSetResults.credential_set_result.flatMap(credentialSetResultsForCredential => {
20
- return credentialSetResultsForCredential.claim_sets_results.flatMap((claimSetResults, claimSetIndex) => {
21
- const credentialIndices = claimSetResults
22
- .map((claimSetResultForCredential, credentialIndex) => claimSetResultForCredential.areRequiredClaimsPresent
23
- ? credentialIndex
24
- : -1)
25
- .filter(index => index !== -1);
26
- return credentialIndices.length > 0
27
- ? [{ claimSetIndex, credentialIndices }]
28
- : [];
29
- });
30
- });
31
- if (claimSets.length > 0) {
32
- solutionSpace.push({ credentialSetIndex, claimSets });
33
- }
34
- }
35
- return solutionSpace;
36
- }
37
- }
38
- export const simpleMdoc = {
39
- credentials: [
40
- {
41
- id: 'my_credential',
42
- format: 'mso_mdoc',
43
- meta: {
44
- doctype_values: ['org.iso.7367.1.mVR'],
45
- },
46
- claims: [
47
- {
48
- id: 'a',
49
- namespace: 'org.iso.7367.1',
50
- claim_name: 'vehicle_holder',
51
- },
52
- {
53
- id: 'b',
54
- namespace: 'org.iso.18013.5.1',
55
- claim_name: 'first_name',
56
- },
57
- {
58
- id: 'c',
59
- namespace: 'org.iso.18013.5.1',
60
- claim_name: 'invalid',
61
- },
62
- ],
63
- claim_sets: [['a'], ['b'], ['c'], ['a', 'b?!']],
64
- },
65
- {
66
- id: 'my_credential2',
67
- format: 'mso_mdoc',
68
- meta: {
69
- doctype_values: ['org.iso.7367.1.mVR'],
70
- },
71
- claims: [
72
- {
73
- id: 'a',
74
- namespace: 'org.iso.7367.1',
75
- claim_name: 'vehicle_holder',
76
- },
77
- {
78
- id: 'b',
79
- namespace: 'org.iso.18013.5.1',
80
- claim_name: 'first_name',
81
- },
82
- {
83
- id: 'c',
84
- namespace: 'org.iso.18013.5.1',
85
- claim_name: 'invalid',
86
- },
87
- ],
88
- claim_sets: [['a'], ['b'], ['c'], ['a', 'b?!']],
89
- },
90
- ],
91
- credential_sets: [['my_credential?'], ['my_credential']],
92
- };
93
- const validMdoc = {
94
- docType: 'org.iso.7367.1.mVR',
95
- namespaces: {
96
- 'org.iso.7367.1': {
97
- vehicle_holder: 'Martin Auer',
98
- non_disclosed: 'secret',
99
- },
100
- 'org.iso.18013.5.1': {
101
- first_name: 'Martin Auer',
102
- },
103
- },
104
- };
105
- await describe('credential-parser', async () => {
106
- await it('mdoc-credential-parser', _t => {
107
- const query = v.parse(VpQuery.vModel, simpleMdoc);
108
- VpQuery.validate(query);
109
- const res = VpQuery.query(query, [
110
- validMdoc,
111
- {
112
- docType: 'org.iso.7367.1.mVR',
113
- namespaces: {
114
- 'org.iso.7367.1': {
115
- non_disclosed: 'secret',
116
- },
117
- 'org.iso.18013.5.1': {
118
- first_name: 'Martin Auer',
119
- },
120
- },
121
- },
122
- { docType: 'some', namespaces: {} },
123
- ]);
124
- console.log(res);
125
- const builder = new ResultBuilder(res);
126
- const solutionSpace = builder.getSolutionSpace();
127
- console.log(solutionSpace);
128
- });
129
- });
130
- //# sourceMappingURL=vp-query.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vp-query.test.js","sourceRoot":"","sources":["../../../../src/vp-query/vp-query.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,OAAO,aAAa;IAEJ;IADZ,YAAY,CAAU;IAC9B,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAC9C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,mBAAmB,CAAC,QAAkB;QACpC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,gBAAgB;QACd,MAAM,aAAa,GAMb,EAAE,CAAC;QAET,KAAK,MAAM,CACT,kBAAkB,EAClB,oBAAoB,EACrB,IAAI,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,IAAI,CAAC,oBAAoB,CAAC,6BAA6B;gBAAE,SAAS;YAElE,MAAM,SAAS,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,CAClE,iCAAiC,CAAC,EAAE;gBAClC,OAAO,iCAAiC,CAAC,kBAAkB,CAAC,OAAO,CACjE,CAAC,eAAe,EAAE,aAAa,EAAE,EAAE;oBACjC,MAAM,iBAAiB,GAAG,eAAe;yBACtC,GAAG,CAAC,CAAC,2BAA2B,EAAE,eAAe,EAAE,EAAE,CACpD,2BAA2B,CAAC,wBAAwB;wBAClD,CAAC,CAAC,eAAe;wBACjB,CAAC,CAAC,CAAC,CAAC,CACP;yBACA,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;oBAEjC,OAAO,iBAAiB,CAAC,MAAM,GAAG,CAAC;wBACjC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;wBACxC,CAAC,CAAC,EAAE,CAAC;gBACT,CAAC,CACF,CAAC;YACJ,CAAC,CACF,CAAC;YAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,aAAa,CAAC,IAAI,CAAC,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,WAAW,EAAE;QACX;YACE,EAAE,EAAE,eAAe;YACnB,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE;gBACJ,cAAc,EAAE,CAAC,oBAAoB,CAAC;aACvC;YACD,MAAM,EAAE;gBACN;oBACE,EAAE,EAAE,GAAG;oBACP,SAAS,EAAE,gBAAgB;oBAC3B,UAAU,EAAE,gBAAgB;iBAC7B;gBACD;oBACE,EAAE,EAAE,GAAG;oBACP,SAAS,EAAE,mBAAmB;oBAC9B,UAAU,EAAE,YAAY;iBACzB;gBACD;oBACE,EAAE,EAAE,GAAG;oBACP,SAAS,EAAE,mBAAmB;oBAC9B,UAAU,EAAE,SAAS;iBACtB;aACF;YACD,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAChD;QACD;YACE,EAAE,EAAE,gBAAgB;YACpB,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE;gBACJ,cAAc,EAAE,CAAC,oBAAoB,CAAC;aACvC;YACD,MAAM,EAAE;gBACN;oBACE,EAAE,EAAE,GAAG;oBACP,SAAS,EAAE,gBAAgB;oBAC3B,UAAU,EAAE,gBAAgB;iBAC7B;gBACD;oBACE,EAAE,EAAE,GAAG;oBACP,SAAS,EAAE,mBAAmB;oBAC9B,UAAU,EAAE,YAAY;iBACzB;gBACD;oBACE,EAAE,EAAE,GAAG;oBACP,SAAS,EAAE,mBAAmB;oBAC9B,UAAU,EAAE,SAAS;iBACtB;aACF;YACD,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAChD;KACF;IACD,eAAe,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;CACvC,CAAC;AAEpB,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE,oBAAoB;IAC7B,UAAU,EAAE;QACV,gBAAgB,EAAE;YAChB,cAAc,EAAE,aAAa;YAC7B,aAAa,EAAE,QAAQ;SACxB;QAED,mBAAmB,EAAE;YACnB,UAAU,EAAE,aAAa;SAC1B;KACF;CACF,CAAC;AAEF,MAAM,QAAQ,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;IAC7C,MAAM,EAAE,CAAC,wBAAwB,EAAE,EAAE,CAAC,EAAE;QACtC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE;YAC/B,SAAS;YACT;gBACE,OAAO,EAAE,oBAAoB;gBAC7B,UAAU,EAAE;oBACV,gBAAgB,EAAE;wBAChB,aAAa,EAAE,QAAQ;qBACxB;oBAED,mBAAmB,EAAE;wBACnB,UAAU,EAAE,aAAa;qBAC1B;iBACF;aACF;YACD,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;SACpC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/eslint.config.js DELETED
@@ -1,10 +0,0 @@
1
- import baseConfig, { restrictEnvAccess } from '@ausweis/eslint/base';
2
-
3
- /** @type {import('typescript-eslint').Config} */
4
- export default [
5
- {
6
- ignores: ['dist/**'],
7
- },
8
- ...baseConfig,
9
- ...restrictEnvAccess,
10
- ];