Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "configcat-react",
"version": "5.0.2",
"version": "5.0.3",
"scripts": {
"build": "npm run build:esm && npm run build:cjs",
"build:esm": "tsc -p tsconfig.build.esm.json && gulp esm",
Expand Down
6 changes: 3 additions & 3 deletions sandbox/src/stories/Hoc.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import React, { useState } from 'react';
import { ConfigCatProvider, LogLevel, withConfigCatClient, type WithConfigCatClientProps, User } from 'configcat-react';
import { ConfigCatProvider, LogLevel, withConfigCatClient, type WithConfigCatClientProps, type IUser } from 'configcat-react';


export class HocComponent extends React.Component<
{ featureFlagKey: string, user?: User } & WithConfigCatClientProps,
{ featureFlagKey: string, user?: IUser } & WithConfigCatClientProps,
{ isEnabled: boolean, loading: boolean }
> {
constructor(props: { featureFlagKey: string, user?: User } & WithConfigCatClientProps) {
constructor(props: { featureFlagKey: string, user?: IUser } & WithConfigCatClientProps) {
super(props);

this.state = { isEnabled: false, loading: true };
Expand Down
4 changes: 2 additions & 2 deletions sandbox/src/stories/Hook.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { useCallback, useState } from 'react';
import { useConfigCatClient, useFeatureFlag, ConfigCatProvider, LogLevel, User } from 'configcat-react';
import { useConfigCatClient, useFeatureFlag, ConfigCatProvider, LogLevel, type IUser } from 'configcat-react';

export const HookComponent = (args: { featureFlagKey: string }) => {
const client = useConfigCatClient();
const userObject = new User('asdad121212sd');
const userObject: IUser = { identifier: 'asdad121212sd' };
const { value: isFeatureEnabled, loading } = useFeatureFlag(args.featureFlagKey, false, userObject);

return (
Expand Down
4 changes: 2 additions & 2 deletions sandbox/src/stories/MultipleConfigCatConfigs.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ConfigCatProvider, useFeatureFlag, User, withConfigCatClient } from 'configcat-react';
import { ConfigCatProvider, useFeatureFlag, withConfigCatClient, type IUser } from 'configcat-react';
import { HocComponent} from './Hoc';


Expand All @@ -9,7 +9,7 @@ const CC_SDK = {
SHARED:"TODO - INSERT SDKKEY"
};

const userObject = new User('microFrontendUser1');
const userObject: IUser = { identifier: 'microFrontendUser1' };

export const C1 = (args: { featureFlagKey: string, providerId: string }) => {

Expand Down
6 changes: 3 additions & 3 deletions src/ConfigCatHOC.tsx
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
"use client";

import type { IConfigCatClient, SettingTypeOf, SettingValue, User } from "@configcat/sdk";
import type { IConfigCatClient, SettingTypeOf, SettingValue, IUser } from "@configcat/sdk";
import React from "react";
import { type ConfigCatContextData, getConfigCatContext } from "./ConfigCatContext";
import { createConfigCatProviderError } from "./ConfigCatProvider";

export type GetValueType = <T extends SettingValue>(
key: string,
defaultValue: T,
user?: User
user?: IUser
) => Promise<SettingTypeOf<T>>;

const getValueFunction = (client: IConfigCatClient) => {
return async function <T extends SettingValue>(key: string, defaultValue: T, user?: User) {
return async function <T extends SettingValue>(key: string, defaultValue: T, user?: IUser) {
return await client.getValueAsync(key, defaultValue, user);
};
};
Expand Down
4 changes: 2 additions & 2 deletions src/ConfigCatHooks.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
"use client";

import type { IConfigCatClient, SettingTypeOf, SettingValue, User } from "@configcat/sdk";
import type { IConfigCatClient, SettingTypeOf, SettingValue, IUser } from "@configcat/sdk";
import { useContext, useEffect, useState } from "react";
import { getConfigCatContext } from "./ConfigCatContext";
import { createConfigCatProviderError } from "./ConfigCatProvider";

function useFeatureFlag<T extends SettingValue>(key: string, defaultValue: T, user?: User, providerId?: string): {
function useFeatureFlag<T extends SettingValue>(key: string, defaultValue: T, user?: IUser, providerId?: string): {
value: SettingTypeOf<T>;
loading: boolean;
} {
Expand Down
12 changes: 6 additions & 6 deletions src/ConfigCatProvider.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"use client";

import type { ClientCacheState, Config, EvaluationDetails, HookEvents, IAutoPollOptions, IConfigCatClient, IConfigCatClientSnapshot, ILazyLoadingOptions, IManualPollOptions, RefreshResult, SettingKeyValue, SettingTypeOf, SettingValue, User } from "@configcat/sdk";
import type { ClientCacheState, Config, EvaluationDetails, HookEvents, IAutoPollOptions, IConfigCatClient, IConfigCatClientSnapshot, ILazyLoadingOptions, IManualPollOptions, IUser, RefreshResult, SettingKeyValue, SettingTypeOf, SettingValue } from "@configcat/sdk";
import { Internals, LocalStorageConfigCache, PollingMode, XmlHttpRequestConfigFetcher } from "@configcat/sdk";
import React, { Component, type PropsWithChildren } from "react";
import { type ConfigCatContextData, ensureConfigCatContext } from "./ConfigCatContext";
Expand Down Expand Up @@ -124,19 +124,19 @@ export function createConfigCatProviderError(methodName: string, providerId?: st
class ConfigCatClientStub implements IConfigCatClient {
readonly isOffline = true;

getValueAsync<T extends SettingValue>(_key: string, _defaultValue: T, _user?: User): Promise<SettingTypeOf<T>> {
getValueAsync<T extends SettingValue>(_key: string, _defaultValue: T, _user?: IUser): Promise<SettingTypeOf<T>> {
throw serverContextNotSupported();
}
getValueDetailsAsync<T extends SettingValue>(_key: string, _defaultValue: T, _user?: User): Promise<EvaluationDetails<SettingTypeOf<T>>> {
getValueDetailsAsync<T extends SettingValue>(_key: string, _defaultValue: T, _user?: IUser): Promise<EvaluationDetails<SettingTypeOf<T>>> {
throw serverContextNotSupported();
}
getAllKeysAsync(): Promise<string[]> {
throw serverContextNotSupported();
}
getAllValuesAsync(_user?: User): Promise<SettingKeyValue<SettingValue>[]> {
getAllValuesAsync(_user?: IUser): Promise<SettingKeyValue<SettingValue>[]> {
throw serverContextNotSupported();
}
getAllValueDetailsAsync(_user?: User): Promise<EvaluationDetails<SettingValue>[]> {
getAllValueDetailsAsync(_user?: IUser): Promise<EvaluationDetails<SettingValue>[]> {
throw serverContextNotSupported();
}
getKeyAndValueAsync(_variationId: string): Promise<SettingKeyValue<SettingValue> | null> {
Expand All @@ -151,7 +151,7 @@ class ConfigCatClientStub implements IConfigCatClient {
snapshot(): IConfigCatClientSnapshot {
throw serverContextNotSupported();
}
setDefaultUser(_defaultUser: User): void {
setDefaultUser(_defaultUser: IUser): void {
throw serverContextNotSupported();
}
clearDefaultUser(): void {
Expand Down