Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/modules / ___dist / SSR / async-component / createAsyncContext.js
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = createAsyncContext;

function createAsyncContext() {
  let idPointer = 0;
  const registry = {};
  return {
    getNextId: () => {
      idPointer += 1;
      return idPointer;
    },

    resolved(id) {
      registry[id] = true;
    },

    getState() {
      return {
        resolved: Object.keys(registry).reduce((acc, cur) => Object.assign(acc, {
          [cur]: true
        }), {})
      };
    }

  };
}