@cubejs-backend/schema-compiler 1.7.48 → 1.7.50

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 (27) hide show
  1. package/dist/src/adapter/BaseQuery.d.ts +7 -1
  2. package/dist/src/adapter/BaseQuery.d.ts.map +1 -1
  3. package/dist/src/adapter/BaseQuery.js +30 -6
  4. package/dist/src/adapter/BaseQuery.js.map +1 -1
  5. package/dist/src/compiler/CubeEvaluator.d.ts +2 -0
  6. package/dist/src/compiler/CubeEvaluator.d.ts.map +1 -1
  7. package/dist/src/compiler/CubeEvaluator.js.map +1 -1
  8. package/dist/src/compiler/CubeSymbols.d.ts.map +1 -1
  9. package/dist/src/compiler/CubeSymbols.js +4 -0
  10. package/dist/src/compiler/CubeSymbols.js.map +1 -1
  11. package/dist/src/compiler/DataSchemaCompiler.d.ts.map +1 -1
  12. package/dist/src/compiler/DataSchemaCompiler.js +103 -0
  13. package/dist/src/compiler/DataSchemaCompiler.js.map +1 -1
  14. package/dist/src/compiler/PrepareCompiler.d.ts.map +1 -1
  15. package/dist/src/compiler/PrepareCompiler.js +1 -0
  16. package/dist/src/compiler/PrepareCompiler.js.map +1 -1
  17. package/dist/src/compiler/transpilers/MemoKeyTranspiler.d.ts +11 -0
  18. package/dist/src/compiler/transpilers/MemoKeyTranspiler.d.ts.map +1 -0
  19. package/dist/src/compiler/transpilers/MemoKeyTranspiler.js +72 -0
  20. package/dist/src/compiler/transpilers/MemoKeyTranspiler.js.map +1 -0
  21. package/dist/src/compiler/transpilers/index.d.ts +1 -0
  22. package/dist/src/compiler/transpilers/index.d.ts.map +1 -1
  23. package/dist/src/compiler/transpilers/index.js +1 -0
  24. package/dist/src/compiler/transpilers/index.js.map +1 -1
  25. package/dist/src/compiler/transpilers/transpiler_worker.js +2 -0
  26. package/dist/src/compiler/transpilers/transpiler_worker.js.map +1 -1
  27. package/package.json +7 -7
@@ -18,7 +18,21 @@ const native_1 = require("@cubejs-backend/native");
18
18
  const UserError_1 = require("./UserError");
19
19
  const ErrorReporter_1 = require("./ErrorReporter");
20
20
  const CubeSymbols_1 = require("./CubeSymbols");
21
+ const transpilers_1 = require("./transpilers");
21
22
  const ctxFileStorage = new async_hooks_1.AsyncLocalStorage();
23
+ // Set while the function passed to `memo` runs, including its async continuations
24
+ const memoFnStorage = new async_hooks_1.AsyncLocalStorage();
25
+ // For memo() keys: objects compare by their keys whatever the property order, and NaN and
26
+ // Infinity don't encode as null
27
+ const memoKeyReplacer = (_key, value) => {
28
+ if (typeof value === 'number' && !Number.isFinite(value)) {
29
+ return { $memoNumber: String(value) };
30
+ }
31
+ if (value && typeof value === 'object' && !Array.isArray(value)) {
32
+ return Object.fromEntries(Object.keys(value).sort().map((k) => [k, value[k]]));
33
+ }
34
+ return value;
35
+ };
22
36
  // Shared realm: closures bind the running compile's scope lexically through `with`, so lazy reads
23
37
  // (sql reading COMPILE_CONTEXT) keep resolving it after the compile; the inner function keeps
24
38
  // top-level declarations off the shared global and gets the compile's own global as `this`.
@@ -424,6 +438,22 @@ class DataSchemaCompiler {
424
438
  let compiledFiles = {};
425
439
  let asyncModules = [];
426
440
  let transpiledFiles = [];
441
+ // Results of `memo` calls. Unlike the objects above it survives between the compile stages:
442
+ // the model is evaluated once per stage, and `memo` makes it do a costly call (an API request
443
+ // from an `asyncModule`, say) only once per compile.
444
+ const memoResults = new Map();
445
+ // Stage that last looked up each key MemoKeyTranspiler generated
446
+ const memoCallSiteStages = new Map();
447
+ let memoStage = -1;
448
+ // Model objects go to the current stage only, while a memoized function runs in the first stage
449
+ // that asks for its key: objects defined from there would be missing from all later stages.
450
+ const assertOutsideMemo = (globalName) => {
451
+ const memoCall = memoFnStorage.getStore();
452
+ if (memoCall !== undefined) {
453
+ throw new UserError_1.UserError(`${globalName}() can't be called from the function passed to ${memoCall}: ` +
454
+ 'return the data from memo() and define model objects outside of it');
455
+ }
456
+ };
427
457
  const cleanup = () => {
428
458
  cubes = [];
429
459
  exports = {};
@@ -438,6 +468,9 @@ class DataSchemaCompiler {
438
468
  if (!file) {
439
469
  throw new Error('No file stored in context');
440
470
  }
471
+ if (cube) {
472
+ assertOutsideMemo('view');
473
+ }
441
474
  return !cube ?
442
475
  this.cubeFactory({ ...name, fileName: file.fileName, isView: true }) :
443
476
  cubes.push({ ...cube, name, fileName: file.fileName, isView: true });
@@ -447,6 +480,9 @@ class DataSchemaCompiler {
447
480
  if (!file) {
448
481
  throw new Error('No file stored in context');
449
482
  }
483
+ if (cube) {
484
+ assertOutsideMemo('cube');
485
+ }
450
486
  return !cube ?
451
487
  this.cubeFactory({ ...name, fileName: file.fileName }) :
452
488
  cubes.push({ ...cube, name, fileName: file.fileName });
@@ -456,6 +492,7 @@ class DataSchemaCompiler {
456
492
  if (!file) {
457
493
  throw new Error('No file stored in context');
458
494
  }
495
+ assertOutsideMemo('context');
459
496
  return contexts.push({ ...context, name, fileName: file.fileName });
460
497
  },
461
498
  view_group: (name, viewGroup) => {
@@ -463,6 +500,7 @@ class DataSchemaCompiler {
463
500
  if (!file) {
464
501
  throw new Error('No file stored in context');
465
502
  }
503
+ assertOutsideMemo('view_group');
466
504
  viewGroups.push({ ...viewGroup, name, fileName: file.fileName });
467
505
  if (this.sharedVmContext) {
468
506
  this.compileScope.vars[name] = name;
@@ -492,11 +530,65 @@ class DataSchemaCompiler {
492
530
  if (!file) {
493
531
  throw new Error('No file stored in context');
494
532
  }
533
+ assertOutsideMemo('asyncModule');
495
534
  // We need to run async module code in the context of the original data model file
496
535
  // where it was defined. So we pass the same file to the async context.
497
536
  // @see https://nodejs.org/api/async_context.html#class-asynclocalstorage
498
537
  asyncModules.push(async () => ctxFileStorage.run(file, () => fn()));
499
538
  },
539
+ memo: (key, fn) => {
540
+ if (typeof key === 'function' && fn === undefined) {
541
+ // MemoKeyTranspiler gives `memo(fn)` its key: this call didn't go through it
542
+ throw new Error('memo() expects a key as its first argument: memo(key, fn)');
543
+ }
544
+ if (typeof fn !== 'function') {
545
+ throw new Error('memo() expects a function as its second argument');
546
+ }
547
+ // Strings are encoded too, or `memo('1', ...)` would share the result of `memo(1, ...)`
548
+ let cacheKey;
549
+ try {
550
+ cacheKey = JSON.stringify(key, memoKeyReplacer);
551
+ }
552
+ catch {
553
+ // BigInt or a cyclic structure
554
+ }
555
+ if (typeof cacheKey !== 'string') {
556
+ throw new Error('memo() expects a string or a JSON-serializable key as its first argument');
557
+ }
558
+ const callSite = transpilers_1.MemoKeyTranspiler.callSiteOf(key);
559
+ // For errors: the key as the code would write it
560
+ const label = callSite !== undefined ? `memo() at ${callSite}` : `memo(${cacheKey})`;
561
+ if (memoStage < 0 || !ctxFileStorage.getStore()) {
562
+ // Called from a member (`sql: () => memo(...)`) evaluated by a compiler or a query, not
563
+ // from a model file: it may run any number of times, so there's no stage to cache for
564
+ return memoFnStorage.run(label, fn);
565
+ }
566
+ if (callSite !== undefined) {
567
+ // A top-level call site runs once per stage: twice means it's in a function or a loop,
568
+ // where the one key would give every call the result of the first one
569
+ if (memoCallSiteStages.get(cacheKey) === memoStage) {
570
+ throw new UserError_1.UserError(`memo() at ${callSite} is called more than once per compile stage: as it's in a function or a loop, ` +
571
+ 'its result may depend on the arguments: pass a key that does, e.g. memo([\'table\', name], fn)');
572
+ }
573
+ memoCallSiteStages.set(cacheKey, memoStage);
574
+ }
575
+ let result = memoResults.get(cacheKey);
576
+ if (!result) {
577
+ // A promise is stored as is, so concurrent and later calls share one invocation.
578
+ // A throw is stored too: every stage has to see the same outcome.
579
+ try {
580
+ result = { value: memoFnStorage.run(label, fn) };
581
+ }
582
+ catch (error) {
583
+ result = { error };
584
+ }
585
+ memoResults.set(cacheKey, result);
586
+ }
587
+ if ('error' in result) {
588
+ throw result.error;
589
+ }
590
+ return result.value;
591
+ },
500
592
  require: (extensionName) => {
501
593
  const file = ctxFileStorage.getStore();
502
594
  if (!file) {
@@ -534,6 +626,7 @@ class DataSchemaCompiler {
534
626
  const compilePhaseFirst = async (compilers, stage) => {
535
627
  // clear the objects for the next phase
536
628
  cleanup();
629
+ memoStage = stage;
537
630
  transpiledFiles = await transpilePhaseFirst(stage);
538
631
  // We render jinja and transpile yaml only once on first phase and then use resulting JS for these files
539
632
  // afterward avoiding costly YAML/Python parsing again. Original JS files are preserved as is for cache hits.
@@ -544,6 +637,7 @@ class DataSchemaCompiler {
544
637
  const compilePhase = async (compilers, stage) => {
545
638
  // clear the objects for the next phase
546
639
  cleanup();
640
+ memoStage = stage;
547
641
  transpiledFiles = await transpilePhase(stage);
548
642
  return this.compileCubeFiles(cubes, contexts, viewGroups, compiledFiles, asyncModules, compilers, transpiledFiles, errorsReport);
549
643
  };
@@ -580,6 +674,15 @@ class DataSchemaCompiler {
580
674
  else if (this.workerPool) {
581
675
  this.workerPool.terminate();
582
676
  }
677
+ })
678
+ // A failed compile mustn't keep the fetched data either
679
+ .finally(() => {
680
+ memoStage = -1;
681
+ memoResults.clear();
682
+ memoCallSiteStages.clear();
683
+ // These hold the globals.py TemplateContext, where the Python @memo caches live
684
+ this.pythonContext = null;
685
+ this.yamlCompiler.free();
583
686
  });
584
687
  // Every continuation of the compile (asyncModule callbacks included) sees its scope
585
688
  return this.compileScope ? sharedScopeStorage.run(this.compileScope, compileAll) : compileAll();
@@ -1 +1 @@
1
- {"version":3,"file":"DataSchemaCompiler.js","sourceRoot":"","sources":["../../../src/compiler/DataSchemaCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataSchemaCompiler.js","sourceRoot":"","sources":["../../../src/compiler/DataSchemaCompiler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PrepareCompiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/PrepareCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAY1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,MAAM,sBAAsB,GAAG;IACnC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAClD,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,kBAAkB,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;CAC/D;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,eAAe,EAAE,qBAAqB,CAAC;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,oBAAoB,EAAE,UAAS,sBAA2B,KAAG,QAqFlG,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,MAAM,oBAAoB,EAAE,UAAU,sBAAsB,KAAG,OAAO,CAAC,QAAQ,CAI5G,CAAC"}
1
+ {"version":3,"file":"PrepareCompiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/PrepareCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAa1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,MAAM,sBAAsB,GAAG;IACnC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAClD,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,kBAAkB,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;CAC/D;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,eAAe,EAAE,qBAAqB,CAAC;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,oBAAoB,EAAE,UAAS,sBAA2B,KAAG,QAsFlG,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,MAAM,oBAAoB,EAAE,UAAU,sBAAsB,KAAG,OAAO,CAAC,QAAQ,CAI5G,CAAC"}
@@ -43,6 +43,7 @@ const prepareCompiler = (repo, options = {}) => {
43
43
  new transpilers_1.ValidationTranspiler(),
44
44
  new transpilers_1.ImportExportTranspiler(),
45
45
  new transpilers_1.CubePropContextTranspiler(cubeSymbols, cubeDictionary, viewCompiler),
46
+ new transpilers_1.MemoKeyTranspiler(),
46
47
  new transpilers_1.IIFETranspiler(),
47
48
  ];
48
49
  if (!options.allowJsDuplicatePropsInSchema) {
@@ -1 +1 @@
1
- {"version":3,"file":"PrepareCompiler.js","sourceRoot":"","sources":["../../../src/compiler/PrepareCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PrepareCompiler.js","sourceRoot":"","sources":["../../../src/compiler/PrepareCompiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { TranspilerInterface, TraverseObject } from './transpiler.interface';
2
+ import type { ErrorReporter } from '../ErrorReporter';
3
+ /**
4
+ * Gives `memo(fn)` the key `{ $memoCallSite: 'orders.js:12:8' }`: it must be the same every time the file
5
+ * is evaluated, as each compile stage evaluates it again and looks the result up by it.
6
+ */
7
+ export declare class MemoKeyTranspiler implements TranspilerInterface {
8
+ static callSiteOf(key: unknown): string | undefined;
9
+ traverseObject(_reporter: ErrorReporter): TraverseObject;
10
+ }
11
+ //# sourceMappingURL=MemoKeyTranspiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoKeyTranspiler.d.ts","sourceRoot":"","sources":["../../../../src/compiler/transpilers/MemoKeyTranspiler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,mBAAmB;WAC7C,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IASnD,cAAc,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc;CAsBhE"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.MemoKeyTranspiler = void 0;
37
+ const t = __importStar(require("@babel/types"));
38
+ /**
39
+ * Gives `memo(fn)` the key `{ $memoCallSite: 'orders.js:12:8' }`: it must be the same every time the file
40
+ * is evaluated, as each compile stage evaluates it again and looks the result up by it.
41
+ */
42
+ class MemoKeyTranspiler {
43
+ static callSiteOf(key) {
44
+ if (typeof key !== 'object' || key === null) {
45
+ return undefined;
46
+ }
47
+ const keys = Object.keys(key);
48
+ const { $memoCallSite } = key;
49
+ return keys.length === 1 && typeof $memoCallSite === 'string' ? $memoCallSite : undefined;
50
+ }
51
+ traverseObject(_reporter) {
52
+ return {
53
+ CallExpression: (path) => {
54
+ const { callee, arguments: args, loc } = path.node;
55
+ if (!t.isIdentifier(callee, { name: 'memo' }) ||
56
+ // A local `memo` isn't the compile global
57
+ path.scope.hasBinding('memo') ||
58
+ // `memo(fn)`: a single argument can only be the function
59
+ args.length !== 1 ||
60
+ t.isSpreadElement(args[0]) ||
61
+ !loc) {
62
+ return;
63
+ }
64
+ args.unshift(t.objectExpression([
65
+ t.objectProperty(t.identifier('$memoCallSite'), t.stringLiteral(`${loc.filename}:${loc.start.line}:${loc.start.column}`)),
66
+ ]));
67
+ }
68
+ };
69
+ }
70
+ }
71
+ exports.MemoKeyTranspiler = MemoKeyTranspiler;
72
+ //# sourceMappingURL=MemoKeyTranspiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoKeyTranspiler.js","sourceRoot":"","sources":["../../../../src/compiler/transpilers/MemoKeyTranspiler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAKlC;;;GAGG;AACH,MAAa,iBAAiB;IACrB,MAAM,CAAC,UAAU,CAAC,GAAY;QACnC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,EAAE,aAAa,EAAE,GAAG,GAAkC,CAAC;QAC7D,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,CAAC;IAEM,cAAc,CAAC,SAAwB;QAC5C,OAAO;YACL,cAAc,EAAE,CAAC,IAAgC,EAAE,EAAE;gBACnD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;gBACnD,IACE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oBACzC,0CAA0C;oBAC1C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;oBAC7B,yDAAyD;oBACzD,IAAI,CAAC,MAAM,KAAK,CAAC;oBACjB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC1B,CAAC,GAAG,EACJ,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC;oBAC9B,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;iBAC1H,CAAC,CAAC,CAAC;YACN,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAhCD,8CAgCC"}
@@ -3,5 +3,6 @@ export * from './CubePropContextTranspiler';
3
3
  export * from './CubeCheckDuplicatePropTranspiler';
4
4
  export * from './ValidationTranspiler';
5
5
  export * from './IIFETranspiler';
6
+ export * from './MemoKeyTranspiler';
6
7
  export * from './transpiler.interface';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/compiler/transpilers/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/compiler/transpilers/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
@@ -19,5 +19,6 @@ __exportStar(require("./CubePropContextTranspiler"), exports);
19
19
  __exportStar(require("./CubeCheckDuplicatePropTranspiler"), exports);
20
20
  __exportStar(require("./ValidationTranspiler"), exports);
21
21
  __exportStar(require("./IIFETranspiler"), exports);
22
+ __exportStar(require("./MemoKeyTranspiler"), exports);
22
23
  __exportStar(require("./transpiler.interface"), exports);
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/compiler/transpilers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,8DAA4C;AAC5C,qEAAmD;AACnD,yDAAuC;AACvC,mDAAiC;AACjC,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/compiler/transpilers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,8DAA4C;AAC5C,qEAAmD;AACnD,yDAAuC;AACvC,mDAAiC;AACjC,sDAAoC;AACpC,yDAAuC"}
@@ -16,6 +16,7 @@ const ErrorReporter_1 = require("../ErrorReporter");
16
16
  const LightweightSymbolResolver_1 = require("./LightweightSymbolResolver");
17
17
  const LightweightNodeCubeDictionary_1 = require("./LightweightNodeCubeDictionary");
18
18
  const IIFETranspiler_1 = require("./IIFETranspiler");
19
+ const MemoKeyTranspiler_1 = require("./MemoKeyTranspiler");
19
20
  const YamlCompiler_1 = require("../YamlCompiler");
20
21
  const cubeDictionary = new LightweightNodeCubeDictionary_1.LightweightNodeCubeDictionary();
21
22
  const cubeSymbols = new LightweightSymbolResolver_1.LightweightSymbolResolver();
@@ -26,6 +27,7 @@ const transpilers = {
26
27
  ImportExportTranspiler: new ImportExportTranspiler_1.ImportExportTranspiler(),
27
28
  CubeCheckDuplicatePropTranspiler: new CubeCheckDuplicatePropTranspiler_1.CubeCheckDuplicatePropTranspiler(),
28
29
  CubePropContextTranspiler: new CubePropContextTranspiler_1.CubePropContextTranspiler(cubeSymbols, cubeDictionary, cubeSymbols),
30
+ MemoKeyTranspiler: new MemoKeyTranspiler_1.MemoKeyTranspiler(),
29
31
  IIFETranspiler: new IIFETranspiler_1.IIFETranspiler(),
30
32
  };
31
33
  // The reporter accumulates across calls, so each file gets only the errors and warnings it added
@@ -1 +1 @@
1
- {"version":3,"file":"transpiler_worker.js","sourceRoot":"","sources":["../../../../src/compiler/transpilers/transpiler_worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transpiler_worker.js","sourceRoot":"","sources":["../../../../src/compiler/transpilers/transpiler_worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@cubejs-backend/schema-compiler",
3
3
  "description": "Cube schema compiler",
4
4
  "author": "Cube Dev, Inc.",
5
- "version": "1.7.48",
5
+ "version": "1.7.50",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/cube-js/cube.git",
@@ -38,8 +38,8 @@
38
38
  "@babel/standalone": "^7.24",
39
39
  "@babel/traverse": "^7.24",
40
40
  "@babel/types": "^7.24",
41
- "@cubejs-backend/native": "1.7.48",
42
- "@cubejs-backend/shared": "1.7.48",
41
+ "@cubejs-backend/native": "1.7.50",
42
+ "@cubejs-backend/shared": "1.7.50",
43
43
  "antlr4": "^4.13.2",
44
44
  "camelcase": "^6.2.0",
45
45
  "cron-parser": "^4.9.0",
@@ -58,9 +58,9 @@
58
58
  },
59
59
  "devDependencies": {
60
60
  "@clickhouse/client": "^1.23.1",
61
- "@cubejs-backend/linter": "1.7.48",
62
- "@cubejs-backend/mssql-driver": "1.7.48",
63
- "@cubejs-backend/query-orchestrator": "1.7.48",
61
+ "@cubejs-backend/linter": "1.7.50",
62
+ "@cubejs-backend/mssql-driver": "1.7.50",
63
+ "@cubejs-backend/query-orchestrator": "1.7.50",
64
64
  "@types/babel__code-frame": "^7.0.6",
65
65
  "@types/babel__generator": "^7.6.8",
66
66
  "@types/babel__traverse": "^7.20.5",
@@ -83,5 +83,5 @@
83
83
  "typescript": "~6.0.3"
84
84
  },
85
85
  "license": "Apache-2.0",
86
- "gitHead": "09f527d29226e9d817d2ac9c46d81ff5427e870a"
86
+ "gitHead": "08419e3642fc4512850a43a54669e0b401bd9865"
87
87
  }