@cardano-sdk/projection 0.6.17 → 0.7.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 (27) hide show
  1. package/dist/cjs/operators/Mappers/certificates/withCertificates.d.ts +1 -6
  2. package/dist/cjs/operators/Mappers/certificates/withCertificates.d.ts.map +1 -1
  3. package/dist/cjs/operators/Mappers/certificates/withCertificates.js +3 -3
  4. package/dist/cjs/operators/Mappers/certificates/withCertificates.js.map +1 -1
  5. package/dist/cjs/operators/Mappers/certificates/withStakePools.d.ts +2 -2
  6. package/dist/cjs/operators/Mappers/certificates/withStakePools.d.ts.map +1 -1
  7. package/dist/cjs/operators/Mappers/withHandles.d.ts.map +1 -1
  8. package/dist/cjs/operators/Mappers/withHandles.js +1 -5
  9. package/dist/cjs/operators/Mappers/withHandles.js.map +1 -1
  10. package/dist/cjs/operators/logProjectionProgress.d.ts.map +1 -1
  11. package/dist/cjs/operators/logProjectionProgress.js +37 -12
  12. package/dist/cjs/operators/logProjectionProgress.js.map +1 -1
  13. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  14. package/dist/esm/operators/Mappers/certificates/withCertificates.d.ts +1 -6
  15. package/dist/esm/operators/Mappers/certificates/withCertificates.d.ts.map +1 -1
  16. package/dist/esm/operators/Mappers/certificates/withCertificates.js +3 -3
  17. package/dist/esm/operators/Mappers/certificates/withCertificates.js.map +1 -1
  18. package/dist/esm/operators/Mappers/certificates/withStakePools.d.ts +2 -2
  19. package/dist/esm/operators/Mappers/certificates/withStakePools.d.ts.map +1 -1
  20. package/dist/esm/operators/Mappers/withHandles.d.ts.map +1 -1
  21. package/dist/esm/operators/Mappers/withHandles.js +2 -6
  22. package/dist/esm/operators/Mappers/withHandles.js.map +1 -1
  23. package/dist/esm/operators/logProjectionProgress.d.ts.map +1 -1
  24. package/dist/esm/operators/logProjectionProgress.js +37 -12
  25. package/dist/esm/operators/logProjectionProgress.js.map +1 -1
  26. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  27. package/package.json +9 -9
@@ -1,12 +1,7 @@
1
1
  import { Cardano } from '@cardano-sdk/core';
2
2
  import { WithBlock } from '../../../types';
3
- export interface CertificatePointer {
4
- slot: Cardano.Slot;
5
- txIndex: number;
6
- certIndex: number;
7
- }
8
3
  export interface OnChainCertificate {
9
- pointer: CertificatePointer;
4
+ pointer: Cardano.Pointer;
10
5
  certificate: Cardano.Certificate;
11
6
  }
12
7
  export interface WithCertificates {
@@ -1 +1 @@
1
- {"version":3,"file":"withCertificates.d.ts","sourceRoot":"","sources":["../../../../../src/operators/Mappers/certificates/withCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAwBD,eAAO,MAAM,gBAAgB,oPAG1B,CAAC"}
1
+ {"version":3,"file":"withCertificates.d.ts","sourceRoot":"","sources":["../../../../../src/operators/Mappers/certificates/withCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAwBD,eAAO,MAAM,gBAAgB,oPAG1B,CAAC"}
@@ -5,9 +5,9 @@ const blockCertificates = ({ block: { header: { slot }, body } }) => body
5
5
  .flatMap(({ body: { certificates = [] } }, txIndex) => certificates.map((certificate, certIndex) => ({
6
6
  certificate,
7
7
  pointer: {
8
- certIndex,
9
- slot,
10
- txIndex
8
+ certIndex: Cardano.CertIndex(certIndex),
9
+ slot: Cardano.Slot(slot),
10
+ txIndex: Cardano.TxIndex(txIndex)
11
11
  }
12
12
  })));
13
13
  export const withCertificates = unifiedProjectorOperator((evt) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"withCertificates.js","sourceRoot":"","sources":["../../../../../src/operators/Mappers/certificates/withCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAiBvD,MAAM,iBAAiB,GAAG,CAAC,EACzB,KAAK,EAAE,EACL,MAAM,EAAE,EAAE,IAAI,EAAE,EAChB,IAAI,EACL,EACS,EAAE,EAAE,CACd,IAAI;KACD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;KACzD,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CACpD,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5C,WAAW;IACX,OAAO,EAAE;QACP,SAAS;QACT,IAAI;QACJ,OAAO;KACR;CACF,CAAC,CAAC,CACJ,CAAC;AAKN,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAuB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvF,GAAG,GAAG;IACN,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAAC;CACrC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"withCertificates.js","sourceRoot":"","sources":["../../../../../src/operators/Mappers/certificates/withCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAWvD,MAAM,iBAAiB,GAAG,CAAC,EACzB,KAAK,EAAE,EACL,MAAM,EAAE,EAAE,IAAI,EAAE,EAChB,IAAI,EACL,EACS,EAAE,EAAE,CACd,IAAI;KACD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;KACzD,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CACpD,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5C,WAAW;IACX,OAAO,EAAE;QACP,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC;QACvC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;KAClC;CACF,CAAC,CAAC,CACJ,CAAC;AAKN,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAuB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvF,GAAG,GAAG;IACN,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAAC;CACrC,CAAC,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { Cardano } from '@cardano-sdk/core';
2
- import { CertificatePointer, WithCertificates } from './withCertificates';
2
+ import { WithCertificates } from './withCertificates';
3
3
  import { WithEpochNo } from '../../../types';
4
4
  export interface WithCertificateSource {
5
- source: CertificatePointer;
5
+ source: Cardano.Pointer;
6
6
  }
7
7
  export declare type PoolUpdate = Omit<Cardano.PoolRegistrationCertificate, '__typename'> & WithCertificateSource;
8
8
  export declare type PoolRetirement = Omit<Cardano.PoolRetirementCertificate, '__typename'> & WithCertificateSource;
@@ -1 +1 @@
1
- {"version":3,"file":"withStakePools.d.ts","sourceRoot":"","sources":["../../../../../src/operators/Mappers/certificates/withStakePools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,oBAAY,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,YAAY,CAAC,GAAG,qBAAqB,CAAC;AAEzG,oBAAY,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,YAAY,CAAC,GAAG,qBAAqB,CAAC;AAE3G,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE;QAIV,OAAO,EAAE,UAAU,EAAE,CAAC;QAKtB,WAAW,EAAE,cAAc,EAAE,CAAC;KAC/B,CAAC;CACH;AAKD,eAAO,MAAM,cAAc,sUA0BzB,CAAC"}
1
+ {"version":3,"file":"withStakePools.d.ts","sourceRoot":"","sources":["../../../../../src/operators/Mappers/certificates/withStakePools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC;CACzB;AAED,oBAAY,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,YAAY,CAAC,GAAG,qBAAqB,CAAC;AAEzG,oBAAY,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,YAAY,CAAC,GAAG,qBAAqB,CAAC;AAE3G,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE;QAIV,OAAO,EAAE,UAAU,EAAE,CAAC;QAKtB,WAAW,EAAE,cAAc,EAAE,CAAC;KAC/B,CAAC;CACH;AAKD,eAAO,MAAM,cAAc,sUA0BzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"withHandles.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/withHandles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IAQf,kBAAkB,EAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAsED,eAAO,MAAM,WAAW,2BACG,iBAAiB,6CAiBvC,CAAC"}
1
+ {"version":3,"file":"withHandles.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/withHandles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IAQf,kBAAkB,EAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAiED,eAAO,MAAM,WAAW,2BACG,iBAAiB,6CAiBvC,CAAC"}
@@ -1,12 +1,8 @@
1
- import { Cardano } from '@cardano-sdk/core';
1
+ import { Asset, Cardano } from '@cardano-sdk/core';
2
2
  import { CustomError } from 'ts-custom-error';
3
3
  import { logError } from './util';
4
4
  import { map } from 'rxjs';
5
5
  const handleFromAssetId = (assetId) => Buffer.from(Cardano.AssetId.getAssetName(assetId), 'hex').toString('utf8');
6
- const isValidHandle = (handle) => {
7
- const pattern = /^[\w.-]+$/;
8
- return pattern.test(handle);
9
- };
10
6
  class HandleParsingError extends CustomError {
11
7
  constructor(handle, message = 'Invalid handle') {
12
8
  super(`${message}: ${handle}`);
@@ -14,7 +10,7 @@ class HandleParsingError extends CustomError {
14
10
  }
15
11
  const mapHandleToData = (assetId, data) => {
16
12
  const handle = handleFromAssetId(assetId);
17
- if (!isValidHandle(handle))
13
+ if (!Asset.util.isValidHandle(handle))
18
14
  throw new HandleParsingError(handle);
19
15
  const { datum, address, policyId } = data;
20
16
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"withHandles.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/withHandles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"withHandles.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/withHandles.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logProjectionProgress.d.ts","sourceRoot":"","sources":["../../../src/operators/logProjectionProgress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAwB,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AASpD,eAAO,MAAM,qBAAqB,4EAC0C,MAAM,2CAmC5E,CAAC"}
1
+ {"version":3,"file":"logProjectionProgress.d.ts","sourceRoot":"","sources":["../../../src/operators/logProjectionProgress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAwB,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAyDpD,eAAO,MAAM,qBAAqB,4EAC0C,MAAM,2CAuB5E,CAAC"}
@@ -7,28 +7,53 @@ const isAtTheTipOrHigher = (header, tip) => {
7
7
  return false;
8
8
  return header.blockNo >= tip.blockNo;
9
9
  };
10
+ const intervals = [1000, 10000, 100000];
11
+ const intervalsDesc = new Map([
12
+ [1000, '1K'],
13
+ [10000, '10K'],
14
+ [100000, '100K']
15
+ ]);
16
+ const logSyncLine = (params) => {
17
+ const { blocksTime, header, logger, numEvt, startedAt, tip } = params;
18
+ const syncPercentage = ((header.blockNo * 100) / tip.blockNo).toFixed(2);
19
+ const now = Date.now();
20
+ blocksTime.set(numEvt, now);
21
+ const format = (desc, amount, since) => {
22
+ const speed = amount / (now - since);
23
+ return `${desc}: eta ${new Date(now + (tip.blockNo - header.blockNo) / speed)
24
+ .toISOString()
25
+ .replace(/\..*$/, '')} at ${Math.round(speed * 1000)} b/s`;
26
+ };
27
+ const speeds = [format('All', numEvt, startedAt)];
28
+ for (const interval of intervals) {
29
+ const prevTime = blocksTime.get(numEvt - interval);
30
+ if (prevTime)
31
+ speeds.push(format(intervalsDesc.get(interval), interval, prevTime));
32
+ }
33
+ logger.info(`Initializing ${syncPercentage}% at block #${header.blockNo} ${speeds.join(' - ')}`);
34
+ const pruneOldTimes = (upTo) => {
35
+ for (const block of blocksTime.keys())
36
+ if (block <= upTo)
37
+ blocksTime.delete(block);
38
+ else
39
+ return;
40
+ };
41
+ pruneOldTimes(header.blockNo - 100000);
42
+ };
10
43
  export const logProjectionProgress = (baseLogger) => (evt$) => defer(() => {
11
44
  const logger = contextLogger(baseLogger, 'Projector');
12
45
  let numEvt = 0;
46
+ const blocksTime = new Map();
13
47
  const logFrequency = 1000;
14
48
  const startedAt = Date.now();
15
- let lastLogAt = startedAt;
16
49
  logger.info('Started');
17
50
  return evt$.pipe(tap(({ block: { header }, eventType, tip }) => {
18
51
  numEvt++;
19
52
  if (isAtTheTipOrHigher(header, tip)) {
20
53
  logger.info(`Processed event ${eventType === ChainSyncEventType.RollForward ? 'RollForward' : 'RollBackward'} ${pointDescription(header)}`);
21
54
  }
22
- else if (numEvt % logFrequency === 0 && tip !== 'origin') {
23
- const syncPercentage = ((header.blockNo * 100) / tip.blockNo).toFixed(2);
24
- const now = Date.now();
25
- const currentSpeed = Math.round(logFrequency / ((now - lastLogAt) / 1000));
26
- lastLogAt = now;
27
- const overallSpeedPerMs = numEvt / (now - startedAt);
28
- const overallSpeed = Math.round(overallSpeedPerMs * 1000);
29
- const eta = new Date(now + (tip.blockNo - header.blockNo) / overallSpeedPerMs);
30
- logger.info(`Initializing ${syncPercentage}% at block #${header.blockNo}. Speed: ${currentSpeed}bps (avg ${overallSpeed}bps). ETA: ${eta.toISOString()}`);
31
- }
32
- }), finalize(() => logger.info('Stopped')));
55
+ else if (numEvt % logFrequency === 0 && tip !== 'origin')
56
+ logSyncLine({ blocksTime, header, logger, numEvt, startedAt, tip });
57
+ }), finalize(() => logger.info(`Stopped after ${Math.round((Date.now() - startedAt) / 1000)} s`)));
33
58
  });
34
59
  //# sourceMappingURL=logProjectionProgress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logProjectionProgress.js","sourceRoot":"","sources":["../../../src/operators/logProjectionProgress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,kBAAkB,EAAe,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EAAc,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,kBAAkB,GAAG,CAAC,MAAkC,EAAE,GAAgB,EAAE,EAAE;IAClF,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAChC,CAA8D,UAAkB,EAAE,EAAE,CACpF,CAAC,IAAmB,EAAE,EAAE,CACtB,KAAK,CAAC,GAAG,EAAE;IACT,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACtD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,YAAY,GAAG,IAAI,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,SAAS,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC,IAAI,CACd,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;QAC5C,MAAM,EAAE,CAAC;QACT,IAAI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;YACnC,MAAM,CAAC,IAAI,CACT,mBACE,SAAS,KAAK,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cACjE,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAC/B,CAAC;SACH;aAAM,IAAI,MAAM,GAAG,YAAY,KAAK,CAAC,IAAI,GAAG,KAAK,QAAQ,EAAE;YAC1D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAC3E,SAAS,GAAG,GAAG,CAAC;YAChB,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAC;YAC/E,MAAM,CAAC,IAAI,CACT,gBAAgB,cAAc,eAC5B,MAAM,CAAC,OACT,YAAY,YAAY,YAAY,YAAY,cAAc,GAAG,CAAC,WAAW,EAAE,EAAE,CAClF,CAAC;SACH;IACH,CAAC,CAAC,EACF,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CACvC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"logProjectionProgress.js","sourceRoot":"","sources":["../../../src/operators/logProjectionProgress.ts"],"names":[],"mappings":"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"}