@envelop/core 1.6.2 → 1.6.3

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.
package/index.js CHANGED
@@ -628,25 +628,27 @@ function createEnvelopOrchestrator(plugins) {
628
628
  };
629
629
  }
630
630
 
631
- const HR_TO_NS = 1e9;
632
- const NS_TO_MS = 1e6;
633
- const deltaFrom = (hrtime) => {
634
- const delta = process.hrtime(hrtime);
635
- const ns = delta[0] * HR_TO_NS + delta[1];
636
- return ns / NS_TO_MS;
631
+ var _a;
632
+ const getTimestamp = typeof globalThis !== 'undefined' && ((_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.performance) === null || _a === void 0 ? void 0 : _a.now) ? () => performance.now() : () => Date.now();
633
+ const measure = () => {
634
+ const start = getTimestamp();
635
+ return () => {
636
+ const end = getTimestamp();
637
+ return start - end;
638
+ };
637
639
  };
640
+ const tracingSymbol = Symbol('envelopTracing');
638
641
  function traceOrchestrator(orchestrator) {
639
642
  const createTracer = (name, ctx) => {
640
- const hrtime = process.hrtime();
643
+ const end = measure();
641
644
  return () => {
642
- const time = deltaFrom(hrtime);
643
- ctx._envelopTracing[name] = time;
645
+ ctx[tracingSymbol][name] = end();
644
646
  };
645
647
  };
646
648
  return {
647
649
  ...orchestrator,
648
650
  init: (ctx = {}) => {
649
- ctx._envelopTracing = ctx._envelopTracing || {};
651
+ ctx[tracingSymbol] = ctx[tracingSymbol] || {};
650
652
  const done = createTracer('init', ctx || {});
651
653
  try {
652
654
  return orchestrator.init(ctx);
@@ -656,7 +658,7 @@ function traceOrchestrator(orchestrator) {
656
658
  }
657
659
  },
658
660
  parse: (ctx = {}) => {
659
- ctx._envelopTracing = ctx._envelopTracing || {};
661
+ ctx[tracingSymbol] = ctx[tracingSymbol] || {};
660
662
  const actualFn = orchestrator.parse(ctx);
661
663
  return (...args) => {
662
664
  const done = createTracer('parse', ctx);
@@ -669,7 +671,7 @@ function traceOrchestrator(orchestrator) {
669
671
  };
670
672
  },
671
673
  validate: (ctx = {}) => {
672
- ctx._envelopTracing = ctx._envelopTracing || {};
674
+ ctx[tracingSymbol] = ctx[tracingSymbol] || {};
673
675
  const actualFn = orchestrator.validate(ctx);
674
676
  return (...args) => {
675
677
  const done = createTracer('validate', ctx);
@@ -704,7 +706,7 @@ function traceOrchestrator(orchestrator) {
704
706
  result.extensions = result.extensions || {};
705
707
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
706
708
  // @ts-ignore GraphQL.js types contextValue as unknown
707
- result.extensions.envelopTracing = args.contextValue._envelopTracing;
709
+ result.extensions.envelopTracing = args.contextValue[tracingSymbol];
708
710
  }
709
711
  else {
710
712
  // eslint-disable-next-line no-console
@@ -828,8 +830,8 @@ const useLogger = (rawOptions = DEFAULT_OPTIONS) => {
828
830
  };
829
831
  };
830
832
 
831
- const HR_TO_NS$1 = 1e9;
832
- const NS_TO_MS$1 = 1e6;
833
+ const HR_TO_NS = 1e9;
834
+ const NS_TO_MS = 1e6;
833
835
  const DEFAULT_OPTIONS$1 = {
834
836
  onExecutionMeasurement: (args, timing) => console.log(`Operation execution "${args.operationName}" done in ${timing.ms}ms`),
835
837
  onSubscriptionMeasurement: (args, timing) => console.log(`Operation subscription "${args.operationName}" done in ${timing.ms}ms`),
@@ -838,13 +840,13 @@ const DEFAULT_OPTIONS$1 = {
838
840
  onResolverMeasurement: (info, timing) => console.log(`\tResolver of "${info.parentType.toString()}.${info.fieldName}" done in ${timing.ms}ms`),
839
841
  onContextBuildingMeasurement: (timing) => console.log(`Context building done in ${timing.ms}ms`),
840
842
  };
841
- const deltaFrom$1 = (hrtime) => {
843
+ const deltaFrom = (hrtime) => {
842
844
  const delta = process.hrtime(hrtime);
843
- const ns = delta[0] * HR_TO_NS$1 + delta[1];
845
+ const ns = delta[0] * HR_TO_NS + delta[1];
844
846
  return {
845
847
  ns,
846
848
  get ms() {
847
- return ns / NS_TO_MS$1;
849
+ return ns / NS_TO_MS;
848
850
  },
849
851
  };
850
852
  };
@@ -861,7 +863,7 @@ const useTiming = (rawOptions) => {
861
863
  }
862
864
  const contextStartTime = process.hrtime();
863
865
  return () => {
864
- options.onContextBuildingMeasurement(deltaFrom$1(contextStartTime));
866
+ options.onContextBuildingMeasurement(deltaFrom(contextStartTime));
865
867
  };
866
868
  };
867
869
  }
@@ -875,7 +877,7 @@ const useTiming = (rawOptions) => {
875
877
  }
876
878
  const parseStartTime = process.hrtime();
877
879
  return () => {
878
- options.onParsingMeasurement(params.source, deltaFrom$1(parseStartTime));
880
+ options.onParsingMeasurement(params.source, deltaFrom(parseStartTime));
879
881
  };
880
882
  };
881
883
  }
@@ -886,7 +888,7 @@ const useTiming = (rawOptions) => {
886
888
  }
887
889
  const validateStartTime = process.hrtime();
888
890
  return () => {
889
- options.onValidationMeasurement(params.documentAST, deltaFrom$1(validateStartTime));
891
+ options.onValidationMeasurement(params.documentAST, deltaFrom(validateStartTime));
890
892
  };
891
893
  };
892
894
  }
@@ -899,12 +901,12 @@ const useTiming = (rawOptions) => {
899
901
  const executeStartTime = process.hrtime();
900
902
  return {
901
903
  onExecuteDone: () => {
902
- options.onExecutionMeasurement(args, deltaFrom$1(executeStartTime));
904
+ options.onExecutionMeasurement(args, deltaFrom(executeStartTime));
903
905
  },
904
906
  onResolverCalled: ({ info }) => {
905
907
  const resolverStartTime = process.hrtime();
906
908
  return () => {
907
- options.onResolverMeasurement(info, deltaFrom$1(resolverStartTime));
909
+ options.onResolverMeasurement(info, deltaFrom(resolverStartTime));
908
910
  };
909
911
  },
910
912
  };
@@ -918,7 +920,7 @@ const useTiming = (rawOptions) => {
918
920
  const executeStartTime = process.hrtime();
919
921
  return {
920
922
  onExecuteDone: () => {
921
- options.onExecutionMeasurement(args, deltaFrom$1(executeStartTime));
923
+ options.onExecutionMeasurement(args, deltaFrom(executeStartTime));
922
924
  },
923
925
  };
924
926
  };
@@ -933,12 +935,12 @@ const useTiming = (rawOptions) => {
933
935
  const subscribeStartTime = process.hrtime();
934
936
  return {
935
937
  onSubscribeResult: () => {
936
- options.onSubscriptionMeasurement && options.onSubscriptionMeasurement(args, deltaFrom$1(subscribeStartTime));
938
+ options.onSubscriptionMeasurement && options.onSubscriptionMeasurement(args, deltaFrom(subscribeStartTime));
937
939
  },
938
940
  onResolverCalled: ({ info }) => {
939
941
  const resolverStartTime = process.hrtime();
940
942
  return () => {
941
- options.onResolverMeasurement && options.onResolverMeasurement(info, deltaFrom$1(resolverStartTime));
943
+ options.onResolverMeasurement && options.onResolverMeasurement(info, deltaFrom(resolverStartTime));
942
944
  };
943
945
  },
944
946
  };
@@ -952,7 +954,7 @@ const useTiming = (rawOptions) => {
952
954
  const subscribeStartTime = process.hrtime();
953
955
  return {
954
956
  onSubscribeResult: () => {
955
- options.onSubscriptionMeasurement && options.onSubscriptionMeasurement(args, deltaFrom$1(subscribeStartTime));
957
+ options.onSubscriptionMeasurement && options.onSubscriptionMeasurement(args, deltaFrom(subscribeStartTime));
956
958
  },
957
959
  };
958
960
  };
package/index.mjs CHANGED
@@ -624,25 +624,27 @@ function createEnvelopOrchestrator(plugins) {
624
624
  };
625
625
  }
626
626
 
627
- const HR_TO_NS = 1e9;
628
- const NS_TO_MS = 1e6;
629
- const deltaFrom = (hrtime) => {
630
- const delta = process.hrtime(hrtime);
631
- const ns = delta[0] * HR_TO_NS + delta[1];
632
- return ns / NS_TO_MS;
627
+ var _a;
628
+ const getTimestamp = typeof globalThis !== 'undefined' && ((_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.performance) === null || _a === void 0 ? void 0 : _a.now) ? () => performance.now() : () => Date.now();
629
+ const measure = () => {
630
+ const start = getTimestamp();
631
+ return () => {
632
+ const end = getTimestamp();
633
+ return start - end;
634
+ };
633
635
  };
636
+ const tracingSymbol = Symbol('envelopTracing');
634
637
  function traceOrchestrator(orchestrator) {
635
638
  const createTracer = (name, ctx) => {
636
- const hrtime = process.hrtime();
639
+ const end = measure();
637
640
  return () => {
638
- const time = deltaFrom(hrtime);
639
- ctx._envelopTracing[name] = time;
641
+ ctx[tracingSymbol][name] = end();
640
642
  };
641
643
  };
642
644
  return {
643
645
  ...orchestrator,
644
646
  init: (ctx = {}) => {
645
- ctx._envelopTracing = ctx._envelopTracing || {};
647
+ ctx[tracingSymbol] = ctx[tracingSymbol] || {};
646
648
  const done = createTracer('init', ctx || {});
647
649
  try {
648
650
  return orchestrator.init(ctx);
@@ -652,7 +654,7 @@ function traceOrchestrator(orchestrator) {
652
654
  }
653
655
  },
654
656
  parse: (ctx = {}) => {
655
- ctx._envelopTracing = ctx._envelopTracing || {};
657
+ ctx[tracingSymbol] = ctx[tracingSymbol] || {};
656
658
  const actualFn = orchestrator.parse(ctx);
657
659
  return (...args) => {
658
660
  const done = createTracer('parse', ctx);
@@ -665,7 +667,7 @@ function traceOrchestrator(orchestrator) {
665
667
  };
666
668
  },
667
669
  validate: (ctx = {}) => {
668
- ctx._envelopTracing = ctx._envelopTracing || {};
670
+ ctx[tracingSymbol] = ctx[tracingSymbol] || {};
669
671
  const actualFn = orchestrator.validate(ctx);
670
672
  return (...args) => {
671
673
  const done = createTracer('validate', ctx);
@@ -700,7 +702,7 @@ function traceOrchestrator(orchestrator) {
700
702
  result.extensions = result.extensions || {};
701
703
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
702
704
  // @ts-ignore GraphQL.js types contextValue as unknown
703
- result.extensions.envelopTracing = args.contextValue._envelopTracing;
705
+ result.extensions.envelopTracing = args.contextValue[tracingSymbol];
704
706
  }
705
707
  else {
706
708
  // eslint-disable-next-line no-console
@@ -824,8 +826,8 @@ const useLogger = (rawOptions = DEFAULT_OPTIONS) => {
824
826
  };
825
827
  };
826
828
 
827
- const HR_TO_NS$1 = 1e9;
828
- const NS_TO_MS$1 = 1e6;
829
+ const HR_TO_NS = 1e9;
830
+ const NS_TO_MS = 1e6;
829
831
  const DEFAULT_OPTIONS$1 = {
830
832
  onExecutionMeasurement: (args, timing) => console.log(`Operation execution "${args.operationName}" done in ${timing.ms}ms`),
831
833
  onSubscriptionMeasurement: (args, timing) => console.log(`Operation subscription "${args.operationName}" done in ${timing.ms}ms`),
@@ -834,13 +836,13 @@ const DEFAULT_OPTIONS$1 = {
834
836
  onResolverMeasurement: (info, timing) => console.log(`\tResolver of "${info.parentType.toString()}.${info.fieldName}" done in ${timing.ms}ms`),
835
837
  onContextBuildingMeasurement: (timing) => console.log(`Context building done in ${timing.ms}ms`),
836
838
  };
837
- const deltaFrom$1 = (hrtime) => {
839
+ const deltaFrom = (hrtime) => {
838
840
  const delta = process.hrtime(hrtime);
839
- const ns = delta[0] * HR_TO_NS$1 + delta[1];
841
+ const ns = delta[0] * HR_TO_NS + delta[1];
840
842
  return {
841
843
  ns,
842
844
  get ms() {
843
- return ns / NS_TO_MS$1;
845
+ return ns / NS_TO_MS;
844
846
  },
845
847
  };
846
848
  };
@@ -857,7 +859,7 @@ const useTiming = (rawOptions) => {
857
859
  }
858
860
  const contextStartTime = process.hrtime();
859
861
  return () => {
860
- options.onContextBuildingMeasurement(deltaFrom$1(contextStartTime));
862
+ options.onContextBuildingMeasurement(deltaFrom(contextStartTime));
861
863
  };
862
864
  };
863
865
  }
@@ -871,7 +873,7 @@ const useTiming = (rawOptions) => {
871
873
  }
872
874
  const parseStartTime = process.hrtime();
873
875
  return () => {
874
- options.onParsingMeasurement(params.source, deltaFrom$1(parseStartTime));
876
+ options.onParsingMeasurement(params.source, deltaFrom(parseStartTime));
875
877
  };
876
878
  };
877
879
  }
@@ -882,7 +884,7 @@ const useTiming = (rawOptions) => {
882
884
  }
883
885
  const validateStartTime = process.hrtime();
884
886
  return () => {
885
- options.onValidationMeasurement(params.documentAST, deltaFrom$1(validateStartTime));
887
+ options.onValidationMeasurement(params.documentAST, deltaFrom(validateStartTime));
886
888
  };
887
889
  };
888
890
  }
@@ -895,12 +897,12 @@ const useTiming = (rawOptions) => {
895
897
  const executeStartTime = process.hrtime();
896
898
  return {
897
899
  onExecuteDone: () => {
898
- options.onExecutionMeasurement(args, deltaFrom$1(executeStartTime));
900
+ options.onExecutionMeasurement(args, deltaFrom(executeStartTime));
899
901
  },
900
902
  onResolverCalled: ({ info }) => {
901
903
  const resolverStartTime = process.hrtime();
902
904
  return () => {
903
- options.onResolverMeasurement(info, deltaFrom$1(resolverStartTime));
905
+ options.onResolverMeasurement(info, deltaFrom(resolverStartTime));
904
906
  };
905
907
  },
906
908
  };
@@ -914,7 +916,7 @@ const useTiming = (rawOptions) => {
914
916
  const executeStartTime = process.hrtime();
915
917
  return {
916
918
  onExecuteDone: () => {
917
- options.onExecutionMeasurement(args, deltaFrom$1(executeStartTime));
919
+ options.onExecutionMeasurement(args, deltaFrom(executeStartTime));
918
920
  },
919
921
  };
920
922
  };
@@ -929,12 +931,12 @@ const useTiming = (rawOptions) => {
929
931
  const subscribeStartTime = process.hrtime();
930
932
  return {
931
933
  onSubscribeResult: () => {
932
- options.onSubscriptionMeasurement && options.onSubscriptionMeasurement(args, deltaFrom$1(subscribeStartTime));
934
+ options.onSubscriptionMeasurement && options.onSubscriptionMeasurement(args, deltaFrom(subscribeStartTime));
933
935
  },
934
936
  onResolverCalled: ({ info }) => {
935
937
  const resolverStartTime = process.hrtime();
936
938
  return () => {
937
- options.onResolverMeasurement && options.onResolverMeasurement(info, deltaFrom$1(resolverStartTime));
939
+ options.onResolverMeasurement && options.onResolverMeasurement(info, deltaFrom(resolverStartTime));
938
940
  };
939
941
  },
940
942
  };
@@ -948,7 +950,7 @@ const useTiming = (rawOptions) => {
948
950
  const subscribeStartTime = process.hrtime();
949
951
  return {
950
952
  onSubscribeResult: () => {
951
- options.onSubscriptionMeasurement && options.onSubscriptionMeasurement(args, deltaFrom$1(subscribeStartTime));
953
+ options.onSubscriptionMeasurement && options.onSubscriptionMeasurement(args, deltaFrom(subscribeStartTime));
952
954
  },
953
955
  };
954
956
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@envelop/core",
3
- "version": "1.6.2",
3
+ "version": "1.6.3",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
6
  "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
@@ -1,5 +1,7 @@
1
1
  import { ArbitraryObject } from '@envelop/types';
2
2
  import { EnvelopOrchestrator } from './orchestrator';
3
+ declare const tracingSymbol: unique symbol;
3
4
  export declare function traceOrchestrator<TInitialContext extends ArbitraryObject, TPluginsContext extends ArbitraryObject>(orchestrator: EnvelopOrchestrator<TInitialContext, TPluginsContext>): EnvelopOrchestrator<TInitialContext & {
4
- _envelopTracing?: {};
5
+ [tracingSymbol]?: {};
5
6
  }, TPluginsContext>;
7
+ export {};