{"version":3,"sources":["/home/runner/work/flopflip/flopflip/packages/memory-adapter/dist/index.cjs","../src/adapter.ts","../src/index.ts"],"names":[],"mappings":"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","file":"/home/runner/work/flopflip/flopflip/packages/memory-adapter/dist/index.cjs","sourcesContent":[null,"import { exposeGlobally, normalizeFlag } from '@flopflip/adapter-utilities';\nimport {\n  AdapterConfigurationStatus,\n  AdapterInitializationStatus,\n  AdapterSubscriptionStatus,\n  type TAdapterEventHandlers,\n  type TAdapterStatus,\n  type TAdapterStatusChange,\n  type TFlagName,\n  type TFlagVariation,\n  type TFlags,\n  type TFlagsChange,\n  type TMemoryAdapterArgs,\n  type TMemoryAdapterInterface,\n  type TUpdateFlagsOptions,\n  type TUser,\n  adapterIdentifiers,\n} from '@flopflip/types';\nimport mitt, { type Emitter } from 'mitt';\nimport warning from 'tiny-warning';\n\ntype TInternalStatusChange = '__internalConfiguredStatusChange__';\ntype TEmitterEvents = {\n  __internalConfiguredStatusChange__: undefined;\n  flagsStateChange: TFlags;\n  statusStateChange: Partial<TAdapterStatus>;\n};\ntype TMemoryAdapterState = {\n  flags: TFlags;\n  lockedFlags: Set<TFlagName>;\n  user?: TUser;\n  emitter: Emitter<TEmitterEvents>;\n};\n\nconst intialAdapterState: TAdapterStatus & TMemoryAdapterState = {\n  configurationStatus: AdapterConfigurationStatus.Unconfigured,\n  subscriptionStatus: AdapterSubscriptionStatus.Subscribed,\n  flags: {},\n  lockedFlags: new Set<TFlagName>(),\n  user: {},\n  emitter: mitt(),\n};\n\nclass MemoryAdapter implements TMemoryAdapterInterface {\n  id: typeof adapterIdentifiers.memory;\n\n  #__internalConfiguredStatusChange__: TInternalStatusChange =\n    '__internalConfiguredStatusChange__';\n\n  #adapterState: TAdapterStatus & TMemoryAdapterState;\n\n  constructor() {\n    this.#adapterState = {\n      ...intialAdapterState,\n    };\n    this.id = adapterIdentifiers.memory;\n  }\n\n  readonly #getIsAdapterUnsubscribed = () =>\n    this.#adapterState.subscriptionStatus ===\n    AdapterSubscriptionStatus.Unsubscribed;\n\n  readonly #getIsFlagLocked = (flagName: TFlagName) =>\n    this.#adapterState.lockedFlags.has(flagName);\n\n  readonly #updateUser = (user: TUser) => {\n    this.#adapterState.user = user;\n  };\n\n  getUser = () => this.#adapterState.user;\n\n  updateFlags = (flags: TFlags, options?: TUpdateFlagsOptions) => {\n    const isAdapterConfigured = this.getIsConfigurationStatus(\n      AdapterConfigurationStatus.Configured\n    );\n\n    warning(\n      isAdapterConfigured,\n      '@flopflip/memory-adapter: adapter is not configured. Flags can not be updated before.'\n    );\n\n    if (!isAdapterConfigured) {\n      return;\n    }\n\n    for (const [flagName, flagValue] of Object.entries(flags)) {\n      const [normalizedFlagName, normalizedFlagValue] = normalizeFlag(\n        flagName,\n        flagValue\n      );\n\n      if (this.#getIsFlagLocked(normalizedFlagName)) {\n        return;\n      }\n\n      if (options?.lockFlags) {\n        this.#adapterState.lockedFlags.add(normalizedFlagName);\n      }\n\n      this.#adapterState.flags = {\n        ...this.#adapterState.flags,\n        [normalizedFlagName]: normalizedFlagValue,\n      };\n    }\n\n    this.#adapterState.emitter.emit(\n      'flagsStateChange',\n      this.#adapterState.flags\n    );\n  };\n\n  async configure(\n    adapterArgs: TMemoryAdapterArgs,\n    adapterEventHandlers: TAdapterEventHandlers\n  ) {\n    const handleFlagsChange = (nextFlags: TFlagsChange['flags']) => {\n      if (this.#getIsAdapterUnsubscribed()) {\n        return;\n      }\n\n      adapterEventHandlers.onFlagsStateChange({\n        flags: nextFlags,\n        id: this.id,\n      });\n    };\n\n    const handleStatusChange = (nextStatus: TAdapterStatusChange['status']) => {\n      if (this.#getIsAdapterUnsubscribed()) {\n        return;\n      }\n\n      adapterEventHandlers.onStatusStateChange({\n        status: nextStatus,\n        id: this.id,\n      });\n    };\n\n    this.#adapterState.emitter.on('flagsStateChange', handleFlagsChange);\n    this.#adapterState.emitter.on('statusStateChange', handleStatusChange);\n\n    this.setConfigurationStatus(AdapterConfigurationStatus.Configuring);\n\n    const { user } = adapterArgs;\n\n    this.#adapterState.user = user;\n\n    return Promise.resolve().then(() => {\n      this.#adapterState.flags = {};\n\n      this.#updateUser(user);\n\n      this.setConfigurationStatus(AdapterConfigurationStatus.Configured);\n\n      this.#adapterState.emitter.emit(\n        'flagsStateChange',\n        this.#adapterState.flags\n      );\n\n      this.#adapterState.emitter.emit(this.#__internalConfiguredStatusChange__);\n\n      return {\n        initializationStatus: AdapterInitializationStatus.Succeeded,\n      };\n    });\n  }\n\n  async reconfigure(\n    adapterArgs: TMemoryAdapterArgs,\n    _adapterEventHandlers: TAdapterEventHandlers\n  ) {\n    this.setConfigurationStatus(AdapterConfigurationStatus.Configuring);\n\n    this.#updateUser(adapterArgs.user);\n\n    this.#adapterState.flags = {};\n\n    this.setConfigurationStatus(AdapterConfigurationStatus.Configured);\n\n    this.#adapterState.emitter.emit(\n      'flagsStateChange',\n      this.#adapterState.flags\n    );\n\n    return Promise.resolve({\n      initializationStatus: AdapterInitializationStatus.Succeeded,\n    });\n  }\n\n  getIsConfigurationStatus(configurationStatus: AdapterConfigurationStatus) {\n    return this.#adapterState.configurationStatus === configurationStatus;\n  }\n\n  setConfigurationStatus(nextConfigurationStatus: AdapterConfigurationStatus) {\n    this.#adapterState.configurationStatus = nextConfigurationStatus;\n\n    this.#adapterState.emitter.emit('statusStateChange', {\n      configurationStatus: this.#adapterState.configurationStatus,\n    });\n  }\n\n  reset = () => {\n    this.#adapterState = {\n      ...intialAdapterState,\n    };\n  };\n\n  async waitUntilConfigured() {\n    return new Promise<void>((resolve) => {\n      if (\n        this.getIsConfigurationStatus(AdapterConfigurationStatus.Configured)\n      ) {\n        resolve();\n      } else {\n        this.#adapterState.emitter.on(\n          this.#__internalConfiguredStatusChange__,\n          resolve\n        );\n      }\n    });\n  }\n\n  getFlag(flagName: TFlagName): TFlagVariation {\n    return this.#adapterState?.flags[flagName];\n  }\n\n  unsubscribe = () => {\n    this.#adapterState.subscriptionStatus =\n      AdapterSubscriptionStatus.Unsubscribed;\n  };\n\n  subscribe = () => {\n    this.#adapterState.subscriptionStatus =\n      AdapterSubscriptionStatus.Subscribed;\n  };\n}\n\nconst adapter = new MemoryAdapter();\n\nexposeGlobally(adapter);\n\nexport { adapter };\n","const version = '__@FLOPFLIP/VERSION_OF_RELEASE__';\n\nexport { adapter } from './adapter';\nexport { version };\n"]}