jinaga-server 2.4.2 → 2.6.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 (62) hide show
  1. package/dist/authorization/authorization-keystore.d.ts +5 -4
  2. package/dist/authorization/authorization-keystore.js +16 -13
  3. package/dist/authorization/authorization-keystore.js.map +1 -1
  4. package/dist/http/router.d.ts +5 -3
  5. package/dist/http/router.js +125 -52
  6. package/dist/http/router.js.map +1 -1
  7. package/dist/http/stream.d.ts +10 -0
  8. package/dist/http/stream.js +35 -0
  9. package/dist/http/stream.js.map +1 -0
  10. package/dist/index.d.ts +2 -3
  11. package/dist/index.js +3 -3
  12. package/dist/index.js.map +1 -1
  13. package/dist/jinaga-server.js +7 -8
  14. package/dist/jinaga-server.js.map +1 -1
  15. package/dist/postgres/connection.js +1 -3
  16. package/dist/postgres/connection.js.map +1 -1
  17. package/dist/postgres/postgres-store.d.ts +4 -4
  18. package/dist/postgres/postgres-store.js +2 -2
  19. package/dist/postgres/postgres-store.js.map +1 -1
  20. package/dist/postgres/query-description.d.ts +75 -0
  21. package/dist/postgres/query-description.js +283 -0
  22. package/dist/postgres/query-description.js.map +1 -0
  23. package/dist/postgres/specification-result-sql.d.ts +2 -2
  24. package/dist/postgres/specification-result-sql.js +39 -324
  25. package/dist/postgres/specification-result-sql.js.map +1 -1
  26. package/dist/postgres/specification-sql.d.ts +2 -2
  27. package/dist/postgres/specification-sql.js +60 -163
  28. package/dist/postgres/specification-sql.js.map +1 -1
  29. package/http/sans-auth/.env.local +1 -0
  30. package/http/sans-auth/Create post sans auth.http +27 -0
  31. package/http/sans-auth/Create site sans auth.http +11 -0
  32. package/http/sans-auth/Feed sites.http +1 -0
  33. package/http/sans-auth/Feeds sites.http +12 -0
  34. package/http/sans-auth/Get posts sans auth.http +35 -0
  35. package/http/sans-auth/Get sites sans auth.http +12 -0
  36. package/http/sans-auth/stream.sh +2 -0
  37. package/integration-test/jinaga-test/Dockerfile +1 -1
  38. package/integration-test/jinaga-test/package-lock.json +917 -748
  39. package/integration-test/jinaga-test/package.json +3 -3
  40. package/package.json +2 -2
  41. package/replicator/package-lock.json +16 -16
  42. package/replicator/package.json +1 -1
  43. package/src/authorization/authorization-keystore.ts +23 -14
  44. package/src/http/router.ts +154 -64
  45. package/src/http/stream.ts +32 -0
  46. package/src/index.ts +3 -4
  47. package/src/jinaga-server.ts +8 -8
  48. package/src/postgres/connection.ts +1 -3
  49. package/src/postgres/postgres-store.ts +5 -8
  50. package/src/postgres/query-description.ts +435 -0
  51. package/src/postgres/specification-result-sql.ts +56 -489
  52. package/src/postgres/specification-sql.ts +71 -232
  53. package/test/authorization/authorizationSpec.ts +12 -2
  54. package/test/postgres/postgresSpecificationSpec.ts +15 -15
  55. package/dist/http/feed-cache.d.ts +0 -12
  56. package/dist/http/feed-cache.js +0 -3
  57. package/dist/http/feed-cache.js.map +0 -1
  58. package/dist/memory/memory-feed-cache.d.ts +0 -6
  59. package/dist/memory/memory-feed-cache.js +0 -17
  60. package/dist/memory/memory-feed-cache.js.map +0 -1
  61. package/src/http/feed-cache.ts +0 -14
  62. package/src/memory/memory-feed-cache.ts +0 -14
@@ -1 +1 @@
1
- {"version":3,"file":"jinaga-server.js","sourceRoot":"","sources":["../src/jinaga-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jinaga-server.js","sourceRoot":"","sources":["../src/jinaga-server.ts"],"names":[],"mappings":"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"}
@@ -80,9 +80,7 @@ class ConnectionFactory {
80
80
  });
81
81
  }
82
82
  createClient() {
83
- return jinaga_1.Trace.dependency('Postgres client', '', () => {
84
- return this.postgresPool.connect();
85
- });
83
+ return this.postgresPool.connect();
86
84
  }
87
85
  }
88
86
  exports.ConnectionFactory = ConnectionFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/postgres/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/postgres/connection.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAA+B;AAC/B,2BAAqD;AACrD,6CAAwC;AAIxC,MAAa,iBAAiB;IAC1B,YAAqB,YAAkB;QAAlB,iBAAY,GAAZ,YAAY,CAAM;IACvC,CAAC;IAED,eAAe,CAAI,QAAgD;QAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAM,UAAU,EAAC,EAAE;YAChC,qEAAqE;YACrE,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,OAAO,IAAI,EAAE;gBACT,IAAI;oBACA,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAChC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC1C,MAAM,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACjC,OAAO,MAAM,CAAC;iBACjB;gBACD,OAAO,CAAC,EAAE;oBACN,cAAK,CAAC,IAAI,CAAC,8BAA8B,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9D,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBACnC,IAAI,CAAC,YAAY,kBAAa,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;wBAClD,cAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;wBAC/C,QAAQ,EAAE,CAAC;wBACX,IAAI,QAAQ,KAAK,CAAC,EAAE;4BAChB,MAAM,CAAC,CAAC;yBACX;qBACJ;yBACI;wBACD,cAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACf,MAAM,CAAC,CAAC;qBACX;iBACJ;aACJ;QACL,CAAC,CAAA,CAAC,CAAA;IACN,CAAC;IAEK,IAAI,CAAI,QAAgD;;YAC1D,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/C,OAAO,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE;gBAC3B,IAAI;oBACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;oBACzC,IAAI;wBACA,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;qBACjC;4BACO;wBACJ,MAAM,CAAC,OAAO,EAAE,CAAC;qBACpB;iBACJ;gBACD,OAAO,CAAC,EAAE;oBACN,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;wBACtB,cAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACf,MAAM,CAAC,CAAC;qBACX;oBACD,cAAK,CAAC,IAAI,CAAC,4BAA4B,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5D,OAAO,EAAE,CAAC;oBACV,IAAI,OAAO,KAAK,KAAK,CAAC,MAAM,EAAE;wBAC1B,MAAM,CAAC,CAAC;qBACX;iBACJ;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACpB,cAAK,CAAC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;oBAC5D,MAAM,IAAA,eAAK,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC/B;aACJ;YACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;KAAA;IAEO,YAAY;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;CACJ;AArED,8CAqEC;AAED,SAAS,gBAAgB,CAAC,CAAM;IAC5B,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE;QAC3B,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,CAAM;IACzB,MAAM,KAAK,GAAG;QACV,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;KACrB,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { FactEnvelope, FactFeed, FactPath, FactRecord, FactReference, Feed, ProjectedResult, Query, Specification, Storage } from "jinaga";
1
+ import { FactEnvelope, FactFeed, FactPath, FactRecord, FactReference, ProjectedResult, Query, Specification, Storage } from "jinaga";
2
2
  import { Pool } from "pg";
3
3
  import { FactTypeMap, RoleMap } from "./maps";
4
4
  export declare class PostgresStore implements Storage {
@@ -11,13 +11,13 @@ export declare class PostgresStore implements Storage {
11
11
  save(envelopes: FactEnvelope[]): Promise<FactEnvelope[]>;
12
12
  query(start: FactReference, query: Query): Promise<FactPath[]>;
13
13
  read(start: FactReference[], specification: Specification): Promise<ProjectedResult[]>;
14
- feed(feed: Feed, start: FactReference[], bookmark: string): Promise<FactFeed>;
14
+ feed(feed: Specification, start: FactReference[], bookmark: string): Promise<FactFeed>;
15
15
  private loadFactTypesFromSteps;
16
- loadFactTypesFromFeed(feed: Feed): Promise<FactTypeMap>;
16
+ loadFactTypesFromFeed(feed: Specification): Promise<FactTypeMap>;
17
17
  loadFactTypesFromSpecification(specification: Specification): Promise<FactTypeMap>;
18
18
  private loadRolesFromSteps;
19
19
  loadRolesFromSpecification(specification: Specification, factTypes: FactTypeMap): Promise<RoleMap>;
20
- loadRolesFromFeed(feed: Feed, factTypes: FactTypeMap): Promise<RoleMap>;
20
+ loadRolesFromFeed(feed: Specification, factTypes: FactTypeMap): Promise<RoleMap>;
21
21
  whichExist(references: FactReference[]): Promise<FactReference[]>;
22
22
  load(references: FactReference[]): Promise<FactRecord[]>;
23
23
  private loadFactTypesFromReferences;
@@ -196,7 +196,7 @@ class PostgresStore {
196
196
  loadFactTypesFromFeed(feed) {
197
197
  return __awaiter(this, void 0, void 0, function* () {
198
198
  const factTypes = this.factTypeMap;
199
- const unknownFactTypes = (0, jinaga_1.getAllFactTypesFromFeed)(feed)
199
+ const unknownFactTypes = (0, jinaga_1.getAllFactTypes)(feed)
200
200
  .filter(factType => !factTypes.has(factType));
201
201
  if (unknownFactTypes.length > 0) {
202
202
  const loadedFactTypes = yield this.connectionFactory.with((connection) => __awaiter(this, void 0, void 0, function* () {
@@ -265,7 +265,7 @@ class PostgresStore {
265
265
  loadRolesFromFeed(feed, factTypes) {
266
266
  return __awaiter(this, void 0, void 0, function* () {
267
267
  const roleMap = this.roleMap;
268
- const unknownRoles = (0, jinaga_1.getAllRolesFromFeed)(feed)
268
+ const unknownRoles = (0, jinaga_1.getAllRoles)(feed)
269
269
  .map(r => ({
270
270
  successor_type_id: (0, maps_1.getFactTypeId)(factTypes, r.successorType),
271
271
  role: r.name
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-store.js","sourceRoot":"","sources":["../../src/postgres/postgres-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres-store.js","sourceRoot":"","sources":["../../src/postgres/postgres-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { FactReference, Label, Match } from "jinaga";
2
+ import { FactTypeMap, RoleMap } from "./maps";
3
+ export interface FactDescription {
4
+ type: string;
5
+ factIndex: number;
6
+ }
7
+ export interface EdgeDescription {
8
+ edgeIndex: number;
9
+ predecessorFactIndex: number;
10
+ successorFactIndex: number;
11
+ roleParameter: number;
12
+ }
13
+ export interface ExistentialConditionDescription {
14
+ exists: boolean;
15
+ inputs: InputDescription[];
16
+ edges: EdgeDescription[];
17
+ existentialConditions: ExistentialConditionDescription[];
18
+ }
19
+ export interface InputDescription {
20
+ label: string;
21
+ type: string;
22
+ factIndex: number;
23
+ factTypeParameter: number;
24
+ factHashParameter: number;
25
+ }
26
+ export interface OutputDescription {
27
+ label: string;
28
+ type: string;
29
+ factIndex: number;
30
+ }
31
+ export declare class QueryDescription {
32
+ readonly inputs: InputDescription[];
33
+ readonly parameters: (string | number)[];
34
+ readonly outputs: OutputDescription[];
35
+ readonly facts: FactDescription[];
36
+ readonly edges: EdgeDescription[];
37
+ readonly existentialConditions: ExistentialConditionDescription[];
38
+ static unsatisfiable: QueryDescription;
39
+ constructor(inputs: InputDescription[], parameters: (string | number)[], outputs: OutputDescription[], facts: FactDescription[], edges: EdgeDescription[], existentialConditions?: ExistentialConditionDescription[]);
40
+ withParameter(parameter: string | number): {
41
+ query: QueryDescription;
42
+ parameterIndex: number;
43
+ };
44
+ withInputParameter(label: Label, factTypeId: number, factHash: string, path: number[]): {
45
+ queryDescription: QueryDescription;
46
+ factDescription: FactDescription;
47
+ };
48
+ withFact(type: string): {
49
+ query: QueryDescription;
50
+ factIndex: number;
51
+ };
52
+ withOutput(label: string, type: string, factIndex: number): QueryDescription;
53
+ withEdge(predecessorFactIndex: number, successorFactIndex: number, roleParameter: number, path: number[]): QueryDescription;
54
+ withExistentialCondition(exists: boolean, path: number[]): {
55
+ query: QueryDescription;
56
+ path: number[];
57
+ };
58
+ isSatisfiable(): boolean;
59
+ hasOutput(label: string): boolean;
60
+ inputByLabel(label: string): InputDescription | undefined;
61
+ outputLength(): number;
62
+ }
63
+ export declare type FactByLabel = {
64
+ [label: string]: FactDescription;
65
+ };
66
+ export declare class QueryDescriptionBuider {
67
+ private factTypes;
68
+ private roleMap;
69
+ constructor(factTypes: FactTypeMap, roleMap: RoleMap);
70
+ addEdges(queryDescription: QueryDescription, given: Label[], start: FactReference[], knownFacts: FactByLabel, path: number[], matches: Match[]): {
71
+ queryDescription: QueryDescription;
72
+ knownFacts: FactByLabel;
73
+ };
74
+ private addPathCondition;
75
+ }
@@ -0,0 +1,283 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueryDescriptionBuider = exports.QueryDescription = void 0;
4
+ const maps_1 = require("./maps");
5
+ function countEdges(existentialConditions) {
6
+ return existentialConditions.reduce((count, c) => count + c.edges.length + countEdges(c.existentialConditions), 0);
7
+ }
8
+ class QueryDescription {
9
+ constructor(inputs, parameters, outputs, facts, edges, existentialConditions = []) {
10
+ this.inputs = inputs;
11
+ this.parameters = parameters;
12
+ this.outputs = outputs;
13
+ this.facts = facts;
14
+ this.edges = edges;
15
+ this.existentialConditions = existentialConditions;
16
+ }
17
+ withParameter(parameter) {
18
+ const parameterIndex = this.parameters.length + 1;
19
+ const query = new QueryDescription(this.inputs, this.parameters.concat(parameter), this.outputs, this.facts, this.edges, this.existentialConditions);
20
+ return { query, parameterIndex };
21
+ }
22
+ withInputParameter(label, factTypeId, factHash, path) {
23
+ const factTypeParameter = this.parameters.length + 1;
24
+ const factHashParameter = factTypeParameter + 1;
25
+ const factIndex = this.facts.length + 1;
26
+ const factDescription = {
27
+ factIndex: factIndex,
28
+ type: label.type
29
+ };
30
+ const facts = [
31
+ ...this.facts,
32
+ factDescription
33
+ ];
34
+ const input = {
35
+ label: label.name,
36
+ type: label.type,
37
+ factIndex,
38
+ factTypeParameter,
39
+ factHashParameter
40
+ };
41
+ const parameters = this.parameters.concat(factTypeId, factHash);
42
+ if (path.length === 0) {
43
+ const inputs = [
44
+ ...this.inputs,
45
+ input
46
+ ];
47
+ const queryDescription = new QueryDescription(inputs, parameters, this.outputs, facts, this.edges, this.existentialConditions);
48
+ return { queryDescription, factDescription };
49
+ }
50
+ else {
51
+ const existentialConditions = existentialsWithInput(this.existentialConditions, input, path);
52
+ const queryDescription = new QueryDescription(this.inputs, parameters, this.outputs, facts, this.edges, existentialConditions);
53
+ return { queryDescription, factDescription };
54
+ }
55
+ }
56
+ withFact(type) {
57
+ const factIndex = this.facts.length + 1;
58
+ const fact = { factIndex, type };
59
+ const query = new QueryDescription(this.inputs, this.parameters, this.outputs, this.facts.concat(fact), this.edges, this.existentialConditions);
60
+ return { query, factIndex };
61
+ }
62
+ withOutput(label, type, factIndex) {
63
+ const output = { label, type, factIndex };
64
+ const query = new QueryDescription(this.inputs, this.parameters, this.outputs.concat(output), this.facts, this.edges, this.existentialConditions);
65
+ return query;
66
+ }
67
+ withEdge(predecessorFactIndex, successorFactIndex, roleParameter, path) {
68
+ const edge = {
69
+ edgeIndex: this.edges.length + countEdges(this.existentialConditions) + 1,
70
+ predecessorFactIndex,
71
+ successorFactIndex,
72
+ roleParameter
73
+ };
74
+ const query = (path.length === 0)
75
+ ? new QueryDescription(this.inputs, this.parameters, this.outputs, this.facts, this.edges.concat(edge), this.existentialConditions)
76
+ : new QueryDescription(this.inputs, this.parameters, this.outputs, this.facts, this.edges, existentialsWithEdge(this.existentialConditions, edge, path));
77
+ return query;
78
+ }
79
+ withExistentialCondition(exists, path) {
80
+ const { existentialConditions: newExistentialConditions, path: newPath } = existentialsWithNewCondition(this.existentialConditions, exists, path);
81
+ const query = new QueryDescription(this.inputs, this.parameters, this.outputs, this.facts, this.edges, newExistentialConditions);
82
+ return { query, path: newPath };
83
+ }
84
+ isSatisfiable() {
85
+ return this.inputs.length > 0;
86
+ }
87
+ hasOutput(label) {
88
+ return this.outputs.some(o => o.label === label);
89
+ }
90
+ inputByLabel(label) {
91
+ return this.inputs.find(i => i.label === label);
92
+ }
93
+ outputLength() {
94
+ return this.inputs.length + this.outputs.length;
95
+ }
96
+ }
97
+ exports.QueryDescription = QueryDescription;
98
+ // An unsatisfiable query description will produce no results.
99
+ QueryDescription.unsatisfiable = new QueryDescription([], [], [], [], [], []);
100
+ function existentialsWithInput(existentialConditions, input, path) {
101
+ if (path.length === 1) {
102
+ return existentialConditions.map((c, i) => i === path[0] ? Object.assign(Object.assign({}, c), { inputs: [...c.inputs, input] }) :
103
+ c);
104
+ }
105
+ else {
106
+ return existentialConditions.map((c, i) => i === path[0] ? Object.assign(Object.assign({}, c), { existentialConditions: existentialsWithInput(c.existentialConditions, input, path.slice(1)) }) :
107
+ c);
108
+ }
109
+ }
110
+ function existentialsWithEdge(existentialConditions, edge, path) {
111
+ if (path.length === 1) {
112
+ return existentialConditions.map((c, i) => i === path[0] ? Object.assign(Object.assign({}, c), { edges: [...c.edges, edge] }) :
113
+ c);
114
+ }
115
+ else {
116
+ return existentialConditions.map((c, i) => i === path[0] ? Object.assign(Object.assign({}, c), { existentialConditions: existentialsWithEdge(c.existentialConditions, edge, path.slice(1)) }) :
117
+ c);
118
+ }
119
+ }
120
+ function existentialsWithNewCondition(existentialConditions, exists, path) {
121
+ if (path.length === 0) {
122
+ path = [existentialConditions.length];
123
+ existentialConditions = [
124
+ ...existentialConditions,
125
+ {
126
+ exists: exists,
127
+ inputs: [],
128
+ edges: [],
129
+ existentialConditions: []
130
+ }
131
+ ];
132
+ return { existentialConditions: existentialConditions, path };
133
+ }
134
+ else {
135
+ const { existentialConditions: newExistentialConditions, path: newPath } = existentialsWithNewCondition(existentialConditions[path[0]].existentialConditions, exists, path.slice(1));
136
+ existentialConditions = existentialConditions.map((c, i) => i === path[0] ?
137
+ {
138
+ exists: c.exists,
139
+ inputs: c.inputs,
140
+ edges: c.edges,
141
+ existentialConditions: newExistentialConditions
142
+ } :
143
+ c);
144
+ path = [path[0], ...newPath];
145
+ return { existentialConditions: existentialConditions, path };
146
+ }
147
+ }
148
+ class QueryDescriptionBuider {
149
+ constructor(factTypes, roleMap) {
150
+ this.factTypes = factTypes;
151
+ this.roleMap = roleMap;
152
+ }
153
+ addEdges(queryDescription, given, start, knownFacts, path, matches) {
154
+ for (const match of matches) {
155
+ for (const condition of match.conditions) {
156
+ if (condition.type === "path") {
157
+ ({ queryDescription, knownFacts } = this.addPathCondition(queryDescription, given, start, knownFacts, path, match.unknown, "", condition));
158
+ }
159
+ else if (condition.type === "existential") {
160
+ // Apply the where clause and continue with the tuple where it is true.
161
+ // The path describes which not-exists condition we are currently building on.
162
+ // Because the path is not empty, labeled facts will be included in the output.
163
+ const { query: queryDescriptionWithExistential, path: conditionalPath } = queryDescription.withExistentialCondition(condition.exists, path);
164
+ const { queryDescription: queryDescriptionConditional } = this.addEdges(queryDescriptionWithExistential, given, start, knownFacts, conditionalPath, condition.matches);
165
+ // If the negative existential condition is not satisfiable, then
166
+ // that means that the condition will always be true.
167
+ // We can therefore skip the branch for the negative existential condition.
168
+ if (queryDescriptionConditional.isSatisfiable()) {
169
+ queryDescription = queryDescriptionConditional;
170
+ }
171
+ }
172
+ if (!queryDescription.isSatisfiable()) {
173
+ break;
174
+ }
175
+ }
176
+ if (!queryDescription.isSatisfiable()) {
177
+ break;
178
+ }
179
+ }
180
+ return {
181
+ queryDescription,
182
+ knownFacts
183
+ };
184
+ }
185
+ addPathCondition(queryDescription, given, start, knownFacts, path, unknown, prefix, condition) {
186
+ // If no input parameter has been allocated, allocate one now.
187
+ if (!knownFacts.hasOwnProperty(condition.labelRight)) {
188
+ const givenIndex = given.findIndex(given => given.name === condition.labelRight);
189
+ if (givenIndex < 0) {
190
+ throw new Error(`No input parameter found for label ${condition.labelRight}`);
191
+ }
192
+ const { queryDescription: newQueryDescription, factDescription } = queryDescription.withInputParameter(given[givenIndex], (0, maps_1.ensureGetFactTypeId)(this.factTypes, start[givenIndex].type), start[givenIndex].hash, path);
193
+ queryDescription = newQueryDescription;
194
+ knownFacts = Object.assign(Object.assign({}, knownFacts), { [condition.labelRight]: factDescription });
195
+ }
196
+ // Determine whether we have already written the output.
197
+ const knownFact = knownFacts[unknown.name];
198
+ const roleCount = condition.rolesLeft.length + condition.rolesRight.length;
199
+ // Walk up the right-hand side.
200
+ // This generates predecessor joins from a given or prior label.
201
+ let fact = knownFacts[condition.labelRight];
202
+ if (!fact) {
203
+ throw new Error(`Label ${condition.labelRight} not found. Known labels: ${Object.keys(knownFacts).join(", ")}`);
204
+ }
205
+ let type = fact.type;
206
+ let factIndex = fact.factIndex;
207
+ for (const [i, role] of condition.rolesRight.entries()) {
208
+ // If the type or role is not known, then no facts matching the condition can
209
+ // exist. The query is unsatisfiable.
210
+ const typeId = (0, maps_1.getFactTypeId)(this.factTypes, type);
211
+ if (!typeId) {
212
+ return { queryDescription: QueryDescription.unsatisfiable, knownFacts };
213
+ }
214
+ const roleId = (0, maps_1.getRoleId)(this.roleMap, typeId, role.name);
215
+ if (!roleId) {
216
+ return { queryDescription: QueryDescription.unsatisfiable, knownFacts };
217
+ }
218
+ const { query: queryWithParameter, parameterIndex: roleParameter } = queryDescription.withParameter(roleId);
219
+ if (i === roleCount - 1 && knownFact) {
220
+ // If we have already written the output, we can use the fact index.
221
+ queryDescription = queryWithParameter.withEdge(knownFact.factIndex, factIndex, roleParameter, path);
222
+ factIndex = knownFact.factIndex;
223
+ }
224
+ else {
225
+ // If we have not written the fact, we need to write it now.
226
+ const { query, factIndex: predecessorFactIndex } = queryWithParameter.withFact(role.predecessorType);
227
+ queryDescription = query.withEdge(predecessorFactIndex, factIndex, roleParameter, path);
228
+ factIndex = predecessorFactIndex;
229
+ }
230
+ type = role.predecessorType;
231
+ }
232
+ const rightType = type;
233
+ // Walk up the left-hand side.
234
+ // We will need to reverse this walk to generate successor joins.
235
+ type = unknown.type;
236
+ const newEdges = [];
237
+ for (const role of condition.rolesLeft) {
238
+ // If the type or role is not known, then no facts matching the condition can
239
+ // exist. The query is unsatisfiable.
240
+ const typeId = (0, maps_1.getFactTypeId)(this.factTypes, type);
241
+ if (!typeId) {
242
+ return { queryDescription: QueryDescription.unsatisfiable, knownFacts };
243
+ }
244
+ const roleId = (0, maps_1.getRoleId)(this.roleMap, typeId, role.name);
245
+ if (!roleId) {
246
+ return { queryDescription: QueryDescription.unsatisfiable, knownFacts };
247
+ }
248
+ newEdges.push({
249
+ roleId,
250
+ declaringType: type
251
+ });
252
+ type = role.predecessorType;
253
+ }
254
+ if (type !== rightType) {
255
+ throw new Error(`Type mismatch: ${type} is compared to ${rightType}`);
256
+ }
257
+ newEdges.reverse().forEach(({ roleId, declaringType }, i) => {
258
+ const { query: queryWithParameter, parameterIndex: roleParameter } = queryDescription.withParameter(roleId);
259
+ if (condition.rolesRight.length + i === roleCount - 1 && knownFact) {
260
+ queryDescription = queryWithParameter.withEdge(factIndex, knownFact.factIndex, roleParameter, path);
261
+ factIndex = knownFact.factIndex;
262
+ }
263
+ else {
264
+ const { query: queryWithFact, factIndex: successorFactIndex } = queryWithParameter.withFact(declaringType);
265
+ queryDescription = queryWithFact.withEdge(factIndex, successorFactIndex, roleParameter, path);
266
+ factIndex = successorFactIndex;
267
+ }
268
+ });
269
+ // If we have not captured the known fact, add it now.
270
+ if (!knownFact) {
271
+ knownFacts = Object.assign(Object.assign({}, knownFacts), { [unknown.name]: { factIndex, type: unknown.type } });
272
+ // If we have not written the output, write it now.
273
+ // Only write the output if we are not inside of an existential condition.
274
+ // Use the prefix, which will be set for projections.
275
+ if (path.length === 0) {
276
+ queryDescription = queryDescription.withOutput(prefix + unknown.name, unknown.type, factIndex);
277
+ }
278
+ }
279
+ return { queryDescription, knownFacts };
280
+ }
281
+ }
282
+ exports.QueryDescriptionBuider = QueryDescriptionBuider;
283
+ //# sourceMappingURL=query-description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-description.js","sourceRoot":"","sources":["../../src/postgres/query-description.ts"],"names":[],"mappings":";;;AACA,iCAA6F;AAmC7F,SAAS,UAAU,CAAC,qBAAwD;IACxE,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAC1G,CAAC,CAAC,CAAC;AACX,CAAC;AAED,MAAa,gBAAgB;IAMzB,YACoB,MAA0B,EAC1B,UAA+B,EAC/B,OAA4B,EAC5B,KAAwB,EACxB,KAAwB,EACxB,wBAA2D,EAAE;QAL7D,WAAM,GAAN,MAAM,CAAoB;QAC1B,eAAU,GAAV,UAAU,CAAqB;QAC/B,YAAO,GAAP,OAAO,CAAqB;QAC5B,UAAK,GAAL,KAAK,CAAmB;QACxB,UAAK,GAAL,KAAK,CAAmB;QACxB,0BAAqB,GAArB,qBAAqB,CAAwC;IAC9E,CAAC;IAEG,aAAa,CAAC,SAA0B;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAC9B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EACjC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,qBAAqB,CAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IACrC,CAAC;IAEM,kBAAkB,CAAC,KAAY,EAAE,UAAkB,EAAE,QAAgB,EAAE,IAAc;QACxF,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACxC,MAAM,eAAe,GAAoB;YACrC,SAAS,EAAE,SAAS;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;SACnB,CAAC;QACF,MAAM,KAAK,GAAG;YACV,GAAG,IAAI,CAAC,KAAK;YACb,eAAe;SAClB,CAAC;QACF,MAAM,KAAK,GAAqB;YAC5B,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS;YACT,iBAAiB;YACjB,iBAAiB;SACpB,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACnB,MAAM,MAAM,GAAG;gBACX,GAAG,IAAI,CAAC,MAAM;gBACd,KAAK;aACR,CAAC;YACF,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CACzC,MAAM,EACN,UAAU,EACV,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,qBAAqB,CAC7B,CAAC;YACF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;SAChD;aACI;YACD,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7F,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CACzC,IAAI,CAAC,MAAM,EACX,UAAU,EACV,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,IAAI,CAAC,KAAK,EACV,qBAAqB,CACxB,CAAC;YACF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;SAChD;IACL,CAAC;IAEM,QAAQ,CAAC,IAAY;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAC9B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EACvB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,qBAAqB,CAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAChC,CAAC;IAEM,UAAU,CAAC,KAAa,EAAE,IAAY,EAAE,SAAiB;QAC5D,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAC9B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAC3B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,qBAAqB,CAC7B,CAAC;QACF,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,QAAQ,CAAC,oBAA4B,EAAE,kBAA0B,EAAE,aAAqB,EAAE,IAAc;QAC3G,MAAM,IAAI,GAAG;YACT,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC;YACzE,oBAAoB;YACpB,kBAAkB;YAClB,aAAa;SAChB,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC,IAAI,gBAAgB,CAClB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EACvB,IAAI,CAAC,qBAAqB,CAC7B;YACD,CAAC,CAAC,IAAI,gBAAgB,CAClB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,EACV,oBAAoB,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,CAAC,CAC/D,CAAC;QACN,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,wBAAwB,CAAC,MAAe,EAAE,IAAc;QAC3D,MAAM,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,4BAA4B,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAClJ,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAC9B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,EACV,wBAAwB,CAC3B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IACpD,CAAC;;AA9JL,4CA+JC;AA9JG,8DAA8D;AACvD,8BAAa,GAAqB,IAAI,gBAAgB,CACzD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CACzB,CAAC;AA6JN,SAAS,qBAAqB,CAAC,qBAAwD,EAAE,KAAuB,EAAE,IAAc;IAC5H,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACnB,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,iCAE/C,CAAC,KACJ,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,IAC9B,CAAC;YACH,CAAC,CACJ,CAAC;KACL;SACI;QACD,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,iCAE/C,CAAC,KACJ,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAC7F,CAAC;YACH,CAAC,CACJ,CAAC;KACL;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,qBAAwD,EAAE,IAAqB,EAAE,IAAc;IACzH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACnB,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,iCAE/C,CAAC,KACJ,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAC3B,CAAC;YACH,CAAC,CACJ,CAAC;KACL;SACI;QACD,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,iCAE/C,CAAC,KACJ,qBAAqB,EAAE,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAC3F,CAAC;YACH,CAAC,CACJ,CAAC;KACL;AACL,CAAC;AAED,SAAS,4BAA4B,CAAC,qBAAwD,EAAE,MAAe,EAAE,IAAc;IAC3H,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACnB,IAAI,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACtC,qBAAqB,GAAG;YACpB,GAAG,qBAAqB;YACxB;gBACI,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,EAAE;gBACT,qBAAqB,EAAE,EAAE;aAC5B;SACJ,CAAC;QACF,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC;KACjE;SACI;QACD,MAAM,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,4BAA4B,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrL,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE;gBACI,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,qBAAqB,EAAE,wBAAwB;aAClD,CAAC,CAAC;YACH,CAAC,CACJ,CAAC;QACF,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;QAC7B,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC;KACjE;AACL,CAAC;AAMD,MAAa,sBAAsB;IAC/B,YACY,SAAsB,EACtB,OAAgB;QADhB,cAAS,GAAT,SAAS,CAAa;QACtB,YAAO,GAAP,OAAO,CAAS;IACxB,CAAC;IAEE,QAAQ,CAAC,gBAAkC,EAAE,KAAc,EAAE,KAAsB,EAAE,UAAuB,EAAE,IAAc,EAAE,OAAgB;QACjJ,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YACzB,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE;gBACtC,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE;oBAC3B,CAAC,EAAC,gBAAgB,EAAE,UAAU,EAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;iBAC5I;qBACI,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,EAAE;oBACvC,uEAAuE;oBACvE,8EAA8E;oBAC9E,+EAA+E;oBAC/E,MAAM,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAAC,wBAAwB,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC5I,MAAM,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,+BAA+B,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;oBAEvK,iEAAiE;oBACjE,qDAAqD;oBACrD,2EAA2E;oBAC3E,IAAI,2BAA2B,CAAC,aAAa,EAAE,EAAE;wBAC7C,gBAAgB,GAAG,2BAA2B,CAAC;qBAClD;iBACJ;gBACD,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE;oBACnC,MAAM;iBACT;aACJ;YACD,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE;gBACnC,MAAM;aACT;SACJ;QACD,OAAO;YACH,gBAAgB;YAChB,UAAU;SACb,CAAC;IACN,CAAC;IAEO,gBAAgB,CAAC,gBAAkC,EAAE,KAAc,EAAE,KAAsB,EAAE,UAAuB,EAAE,IAAc,EAAE,OAAc,EAAE,MAAc,EAAE,SAAwB;QAClM,8DAA8D;QAC9D,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;YAClD,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,CAAC,CAAC;YACjF,IAAI,UAAU,GAAG,CAAC,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,sCAAsC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;aACjF;YACD,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAAC,kBAAkB,CAClG,KAAK,CAAC,UAAU,CAAC,EACjB,IAAA,0BAAmB,EAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAC3D,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,EACtB,IAAI,CACP,CAAC;YACF,gBAAgB,GAAG,mBAAmB,CAAC;YACvC,UAAU,mCACH,UAAU,KACb,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,eAAe,GAC1C,CAAC;SACL;QAED,wDAAwD;QACxD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;QAE3E,+BAA+B;QAC/B,gEAAgE;QAChE,IAAI,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE;YACP,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,CAAC,UAAU,6BAA6B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACnH;QACD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE;YACpD,6EAA6E;YAC7E,qCAAqC;YACrC,MAAM,MAAM,GAAG,IAAA,oBAAa,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC;aAC3E;YACD,MAAM,MAAM,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC;aAC3E;YAED,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5G,IAAI,CAAC,KAAK,SAAS,GAAG,CAAC,IAAI,SAAS,EAAE;gBAClC,oEAAoE;gBACpE,gBAAgB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;gBACpG,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;aACnC;iBACI;gBACD,4DAA4D;gBAC5D,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACrG,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;gBACxF,SAAS,GAAG,oBAAoB,CAAC;aACpC;YACD,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC;SAC/B;QAED,MAAM,SAAS,GAAG,IAAI,CAAC;QAEvB,8BAA8B;QAC9B,iEAAiE;QACjE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACpB,MAAM,QAAQ,GAGR,EAAE,CAAC;QACT,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,SAAS,EAAE;YACpC,6EAA6E;YAC7E,qCAAqC;YACrC,MAAM,MAAM,GAAG,IAAA,oBAAa,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC;aAC3E;YACD,MAAM,MAAM,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC;aAC3E;YAED,QAAQ,CAAC,IAAI,CAAC;gBACV,MAAM;gBACN,aAAa,EAAE,IAAI;aACtB,CAAC,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC;SAC/B;QAED,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,mBAAmB,SAAS,EAAE,CAAC,CAAC;SACzE;QAED,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;YACxD,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5G,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,KAAK,SAAS,GAAG,CAAC,IAAI,SAAS,EAAE;gBAChE,gBAAgB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;gBACpG,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;aACnC;iBACI;gBACD,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAC3G,gBAAgB,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC9F,SAAS,GAAG,kBAAkB,CAAC;aAClC;QACL,CAAC,CAAC,CAAC;QAEH,sDAAsD;QACtD,IAAI,CAAC,SAAS,EAAE;YACZ,UAAU,mCAAQ,UAAU,KAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAE,CAAC;YAClF,mDAAmD;YACnD,0EAA0E;YAC1E,qDAAqD;YACrD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnB,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aAClG;SACJ;QACD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;IAC5C,CAAC;CACJ;AA5JD,wDA4JC"}
@@ -1,11 +1,11 @@
1
1
  import { FactRecord, FactReference, PredecessorCollection, ProjectedResult, Projection, ReferencesByName, Specification } from "jinaga";
2
2
  import { FactTypeMap, RoleMap } from "./maps";
3
- interface SpecificationLabel {
3
+ export interface SpecificationLabel {
4
4
  name: string;
5
5
  index: number;
6
6
  type: string;
7
7
  }
8
- interface SpecificationSqlQuery {
8
+ export interface SpecificationSqlQuery {
9
9
  sql: string;
10
10
  parameters: (string | number | number[])[];
11
11
  labels: SpecificationLabel[];