@webda/content-mapper 4.0.0-beta.4 → 4.0.0-beta.6

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.
@@ -16,6 +16,13 @@
16
16
  */
17
17
  import type { SourceFile } from "typescript/unstable/ast";
18
18
  import type { Generator } from "../plan.ts";
19
+ /**
20
+ * The statement keyword a query starts with, if any: `UPDATE.x = 1` or `DELETE = 1` are filters on fields named
21
+ * like a keyword
22
+ * @param query - the query text
23
+ * @returns DELETE, UPDATE or SELECT, undefined for a filter query
24
+ */
25
+ export declare function statementHead(query: string): string | undefined;
19
26
  /** Options for the WebdaQL generator. */
20
27
  export interface QlValidatorOptions {
21
28
  /**
@@ -33,7 +40,8 @@ export interface QlValidatorOptions {
33
40
  *
34
41
  * Deliberately syntactic: the compile-time check only needs the head of each
35
42
  * comparison, and reusing the full query AST would tie this generator to the
36
- * parser's shape.
43
+ * parser's shape. Statements are covered too: the fields of a `SELECT` list, and
44
+ * the targets of an `UPDATE SET` (written `field = value`, like a comparison).
37
45
  * @param query - raw query text
38
46
  * @returns referenced attribute heads
39
47
  */
@@ -48,6 +56,7 @@ export declare function qlValidatorGenerator(options?: QlValidatorOptions): Gene
48
56
  export declare const WQL_CODES: {
49
57
  UNKNOWN_ATTRIBUTE: number;
50
58
  GRAMMAR_ERROR: number;
59
+ STATEMENT_NOT_ALLOWED: number;
51
60
  };
52
61
  export type { SourceFile };
53
62
  //# sourceMappingURL=qlvalidator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"qlvalidator.d.ts","sourceRoot":"","sources":["../../src/generators/qlvalidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAyD,SAAS,EAAE,MAAM,YAAY,CAAC;AAUnG,yCAAyC;AACzC,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA4CD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAS5D;AA2CD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,kBAAuB,GAAG,SAAS,CAsIhF;AAED,+DAA+D;AAC/D,eAAO,MAAM,SAAS;;;CAAiF,CAAC;AAExG,YAAY,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"qlvalidator.d.ts","sourceRoot":"","sources":["../../src/generators/qlvalidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAyD,SAAS,EAAE,MAAM,YAAY,CAAC;AAiBnG;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/D;AAED,yCAAyC;AACzC,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA4ED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAa5D;AA2CD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,kBAAuB,GAAG,SAAS,CAqJhF;AAED,+DAA+D;AAC/D,eAAO,MAAM,SAAS;;;;CAIrB,CAAC;AAEF,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -5,8 +5,41 @@ const QL_MODULE = "@webda/ql";
5
5
  const WQL_UNKNOWN_ATTRIBUTE = 9001;
6
6
  /** Query text does not parse. */
7
7
  const WQL_GRAMMAR_ERROR = 9002;
8
+ /** A DELETE / UPDATE / SELECT field list where a filter query is expected. */
9
+ const WQL_STATEMENT_NOT_ALLOWED = 9003;
8
10
  /**
9
- * Unwrap `WebdaQLString<T>` to `T`.
11
+ * A statement head: DELETE, UPDATE or SELECT (keywords are uppercase only, so `delete = 1` is a filter)
12
+ */
13
+ const STATEMENT_HEAD = /^\s*(DELETE|UPDATE|SELECT)(?=\s|$)(?!\s*(?:=|!=|<|>|IN\b|LIKE\b|CONTAINS\b|IS\b))/;
14
+ /**
15
+ * The statement keyword a query starts with, if any: `UPDATE.x = 1` or `DELETE = 1` are filters on fields named
16
+ * like a keyword
17
+ * @param query - the query text
18
+ * @returns DELETE, UPDATE or SELECT, undefined for a filter query
19
+ */
20
+ export function statementHead(query) {
21
+ return STATEMENT_HEAD.exec(query)?.[1];
22
+ }
23
+ /**
24
+ * Whether a branded query parameter takes statements: `WebdaQLStatement<T>` (as `deleteMany` / `updateMany`),
25
+ * rather than the filter queries of `WebdaQLString<T>`
26
+ * @param ctx - analysis context
27
+ * @param type - the parameter type
28
+ * @returns true for a statement parameter
29
+ */
30
+ function isStatementParameter(ctx, type) {
31
+ if (!type)
32
+ return false;
33
+ const aliasSymbol = type.getAliasSymbol?.() ?? type.aliasSymbol;
34
+ if (aliasSymbol?.name === "WebdaQLStatement")
35
+ return true;
36
+ if (type.isUnionOrIntersection?.()) {
37
+ return (type.types ?? []).some((member) => isStatementParameter(ctx, member));
38
+ }
39
+ return !!ctx.checker.getPropertyOfType(type, "__webdaQLStatement");
40
+ }
41
+ /**
42
+ * Unwrap `WebdaQLString<T>` or `WebdaQLStatement<T>` to `T`.
10
43
  *
11
44
  * The brand is an alias, so the alias arguments are checked first; a value that
12
45
  * has flowed through a union keeps the brand as a property, which is the
@@ -19,7 +52,7 @@ function peelWebdaQLString(ctx, type) {
19
52
  if (!type)
20
53
  return undefined;
21
54
  const aliasSymbol = type.getAliasSymbol?.() ?? type.aliasSymbol;
22
- if (aliasSymbol?.name === "WebdaQLString") {
55
+ if (aliasSymbol?.name === "WebdaQLString" || aliasSymbol?.name === "WebdaQLStatement") {
23
56
  const args = type.getAliasTypeArguments?.() ?? type.aliasTypeArguments;
24
57
  if (args?.[0])
25
58
  return args[0];
@@ -45,12 +78,28 @@ function queryableAttributes(ctx, type) {
45
78
  .map((property) => property.name)
46
79
  .filter((name) => typeof name === "string" && !name.startsWith("__"));
47
80
  }
81
+ /**
82
+ * Field list of a `SELECT f1, f2.g [WHERE ...]` statement: everything between `SELECT` and the first clause
83
+ * keyword (keywords are uppercase only, so a lowercase `where` is a field)
84
+ * @param query - raw query text
85
+ * @returns the raw field list, or undefined when the query is not a SELECT statement
86
+ */
87
+ function selectFields(query) {
88
+ // Two linear scans instead of one lazy pattern, which backtracks quadratically on long runs of spaces
89
+ const head = /^\s*SELECT\s/.exec(query);
90
+ if (!head)
91
+ return undefined;
92
+ const rest = query.slice(head[0].length);
93
+ const end = rest.search(/\s(?:WHERE|ORDER BY|LIMIT|OFFSET)\b/);
94
+ return (end === -1 ? rest : rest.slice(0, end)).trim();
95
+ }
48
96
  /**
49
97
  * Attribute paths referenced by a query, as written.
50
98
  *
51
99
  * Deliberately syntactic: the compile-time check only needs the head of each
52
100
  * comparison, and reusing the full query AST would tie this generator to the
53
- * parser's shape.
101
+ * parser's shape. Statements are covered too: the fields of a `SELECT` list, and
102
+ * the targets of an `UPDATE SET` (written `field = value`, like a comparison).
54
103
  * @param query - raw query text
55
104
  * @returns referenced attribute heads
56
105
  */
@@ -61,6 +110,11 @@ export function referencedAttributes(query) {
61
110
  if (!/^(AND|OR|NOT|TRUE|FALSE|IN|LIKE|IS|NULL)$/i.test(head))
62
111
  names.add(head);
63
112
  }
113
+ for (const field of selectFields(query)?.split(",") ?? []) {
114
+ const head = field.trim().split(".")[0];
115
+ if (head)
116
+ names.add(head);
117
+ }
64
118
  return [...names];
65
119
  }
66
120
  /**
@@ -160,24 +214,25 @@ export function qlValidatorGenerator(options = {}) {
160
214
  const target = peelWebdaQLString(ctx, parameterType);
161
215
  if (!target)
162
216
  return;
163
- inspectArgument(argument, target);
217
+ inspectArgument(argument, target, isStatementParameter(ctx, parameterType));
164
218
  });
165
219
  }
166
220
  /**
167
221
  * Validate a query argument, rewriting template literals.
168
222
  * @param argument - the argument expression
169
223
  * @param target - the type attributes are checked against
224
+ * @param statement - whether the parameter takes statements
170
225
  */
171
- function inspectArgument(argument, target) {
226
+ function inspectArgument(argument, target, statement) {
172
227
  if (is.isStringLiteral(argument) || is.isNoSubstitutionTemplateLiteral(argument)) {
173
- validateQuery(argument.text, argument, target);
228
+ validateQuery(argument.text, argument, target, statement);
174
229
  return;
175
230
  }
176
231
  if (is.isTemplateExpression(argument)) {
177
232
  // Static parts are validated with a placeholder standing in for each
178
233
  // interpolation, so a hole cannot hide an unknown attribute.
179
234
  const parts = [argument.head.text, ...argument.templateSpans.map((span) => span.literal.text)];
180
- validateQuery(parts.join("?"), argument, target);
235
+ validateQuery(parts.join("?"), argument, target, statement);
181
236
  const values = argument.templateSpans.map((span) => ctx.textOf(sf, span.expression)).join(", ");
182
237
  const partsLiteral = parts.map(part => JSON.stringify(part)).join(", ");
183
238
  edits.push({
@@ -194,10 +249,22 @@ export function qlValidatorGenerator(options = {}) {
194
249
  * @param query - query text
195
250
  * @param node - node used for diagnostic position
196
251
  * @param target - the type attributes are checked against
252
+ * @param statement - whether the parameter takes statements
197
253
  */
198
- function validateQuery(query, node, target) {
254
+ function validateQuery(query, node, target, statement) {
199
255
  const start = node.getStart();
200
256
  const length = node.end - start;
257
+ const head = statementHead(query);
258
+ if (head && !statement) {
259
+ diagnostics.push({
260
+ start,
261
+ length,
262
+ code: WQL_STATEMENT_NOT_ALLOWED,
263
+ messageText: head === "SELECT"
264
+ ? "WebdaQL SELECT field lists are not accepted here: pass a filter query"
265
+ : `WebdaQL ${head} statements are not accepted here: use deleteMany / updateMany`
266
+ });
267
+ }
201
268
  if (options.parse) {
202
269
  try {
203
270
  options.parse(query);
@@ -234,5 +301,9 @@ export function qlValidatorGenerator(options = {}) {
234
301
  };
235
302
  }
236
303
  /** Re-exported so hosts can label diagnostics consistently. */
237
- export const WQL_CODES = { UNKNOWN_ATTRIBUTE: WQL_UNKNOWN_ATTRIBUTE, GRAMMAR_ERROR: WQL_GRAMMAR_ERROR };
304
+ export const WQL_CODES = {
305
+ UNKNOWN_ATTRIBUTE: WQL_UNKNOWN_ATTRIBUTE,
306
+ GRAMMAR_ERROR: WQL_GRAMMAR_ERROR,
307
+ STATEMENT_NOT_ALLOWED: WQL_STATEMENT_NOT_ALLOWED
308
+ };
238
309
  //# sourceMappingURL=qlvalidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"qlvalidator.js","sourceRoot":"","sources":["../../src/generators/qlvalidator.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAGjD,oDAAoD;AACpD,MAAM,SAAS,GAAG,WAAW,CAAC;AAE9B,+CAA+C;AAC/C,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,iCAAiC;AACjC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAe/B;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CAAC,GAAoB,EAAE,IAAS;IACxD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC;IAChE,IAAI,WAAW,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC;QACvE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,EAAE,CAAC;QACnC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC/D,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,GAAoB,EAAE,IAAS;IAC1D,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC;SACnC,GAAG,CAAC,CAAC,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAc,CAAC;SAC/C,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAChC,wGAAwG,CACzG,EAAE,CAAC;QACF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,4CAA4C,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,MAAc,EAAE,UAA6B;IACrE,IAAI,IAAwB,CAAC;IAC7B,4EAA4E;IAC5E,mEAAmE;IACnE,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChD,IAAI,QAAQ,GAAG,YAAY,EAAE,CAAC;YAC5B,YAAY,GAAG,QAAQ,CAAC;YACxB,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS;IACvC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACvB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,QAAQ,GAAG,OAAO,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAO,GAAuB,EAAE;IACnE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;IAE/C,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,OAAO,CAAC,GAAoB;YAC1B,MAAM,GAAG,GAAgB,EAAE,CAAC;YAE5B,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAW,EAAE,CAAC;gBACzB,MAAM,WAAW,GAA0B,EAAE,CAAC;gBAC9C,IAAI,WAAW,GAAG,KAAK,CAAC;gBAExB,KAAK,CAAC,EAAE,CAAC,CAAC;gBAEV,IAAI,KAAK,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;oBACvC,IAAI,WAAW,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7D,KAAK,CAAC,IAAI,CAAC;4BACT,KAAK,EAAE,CAAC;4BACR,GAAG,EAAE,CAAC;4BACN,IAAI,EAAE,0BAA0B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK;4BAC7D,MAAM,EAAE,aAAa;yBACtB,CAAC,CAAC;oBACL,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBAED;;;;;;;mBAOG;gBACH,SAAS,KAAK,CAAC,IAAS;oBACtB,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBAAE,WAAW,CAAC,IAAI,CAAC,CAAC;oBACjD,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,KAAU,EAAE,EAAE;wBACjC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACb,OAAO,SAAS,CAAC;oBACnB,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED;;;mBAGG;gBACH,SAAS,WAAW,CAAC,IAAS;oBAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC3D,IAAI,CAAC,SAAS;wBAAE,OAAO;oBAEvB,sEAAsE;oBACtE,mDAAmD;oBACnD,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAa,EAAE,KAAa,EAAE,EAAE;wBACvD,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;wBACrE,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;wBACrD,IAAI,CAAC,MAAM;4BAAE,OAAO;wBACpB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBACpC,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED;;;;mBAIG;gBACH,SAAS,eAAe,CAAC,QAAa,EAAE,MAAW;oBACjD,IAAI,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,+BAA+B,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjF,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAC/C,OAAO;oBACT,CAAC;oBAED,IAAI,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACtC,qEAAqE;wBACrE,6DAA6D;wBAC7D,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;wBACpG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAEjD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACrG,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACxE,KAAK,CAAC,IAAI,CAAC;4BACT,KAAK,EAAG,QAAgB,CAAC,QAAQ,EAAE;4BACnC,GAAG,EAAE,QAAQ,CAAC,GAAG;4BACjB,IAAI,EAAE,WAAW,YAAY,OAAO,MAAM,IAAI;4BAC9C,MAAM,EAAE,aAAa;yBACtB,CAAC,CAAC;wBACH,WAAW,GAAG,IAAI,CAAC;oBACrB,CAAC;gBACH,CAAC;gBAED;;;;;mBAKG;gBACH,SAAS,aAAa,CAAC,KAAa,EAAE,IAAS,EAAE,MAAW;oBAC1D,MAAM,KAAK,GAAI,IAAY,CAAC,QAAQ,EAAE,CAAC;oBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;oBAEhC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;wBAClB,IAAI,CAAC;4BACH,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACvB,CAAC;wBAAC,OAAO,KAAU,EAAE,CAAC;4BACpB,WAAW,CAAC,IAAI,CAAC;gCACf,KAAK;gCACL,MAAM;gCACN,IAAI,EAAE,iBAAiB;gCACvB,WAAW,EAAE,0BAA0B,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,EAAE;6BACzE,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;oBACH,CAAC;oBAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAC/C,IAAI,CAAC,KAAK,CAAC,MAAM;wBAAE,OAAO;oBAC1B,KAAK,MAAM,SAAS,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;wBACpD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;4BAAE,SAAS;wBACxC,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;wBACtD,WAAW,CAAC,IAAI,CAAC;4BACf,KAAK;4BACL,MAAM;4BACN,IAAI,EAAE,qBAAqB;4BAC3B,WAAW,EACT,sBAAsB,SAAS,oBAAoB;gCACnD,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,UAAU,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;yBACzD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"qlvalidator.js","sourceRoot":"","sources":["../../src/generators/qlvalidator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webda/content-mapper",
3
- "version": "4.0.0-beta.4",
3
+ "version": "4.0.0-beta.6",
4
4
  "description": "Webda compile-time code generation as a TypeScript 7.1 content mapper",
5
5
  "keywords": [
6
6
  "webda",
@@ -9,7 +9,11 @@
9
9
  "codegen"
10
10
  ],
11
11
  "author": "Remi Cattiau <remi@cattiau.com>",
12
- "repository": "git://github.com/loopingz/webda.io.git",
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+https://github.com/loopingz/webda.io.git",
15
+ "directory": "packages/content-mapper"
16
+ },
13
17
  "main": "lib/index.js",
14
18
  "typings": "lib/index.d.ts",
15
19
  "exports": {