From be41540787c17c50f33032c04e695b4c133151ea Mon Sep 17 00:00:00 2001 From: Greg Huels Date: Thu, 11 Jul 2024 14:33:19 -0500 Subject: [PATCH] revert doc generation removal (#94) * Revert "remove doc generation (#86)" This reverts commit b8ceea1905798241a9530b61adc5e220724bd70f. * updated docs --- Makefile | 1 + api-extractor.json | 364 ++++++++++++++++++ docs/index.md | 12 + docs/js-client-sdk.buildstoragekeysuffix.md | 22 ++ ...t-sdk.chromestorageengine._constructor_.md | 21 + ...romestorageengine.getcontentsjsonstring.md | 11 + ...k.chromestorageengine.getmetajsonstring.md | 11 + docs/js-client-sdk.chromestorageengine.md | 34 ++ ...romestorageengine.setcontentsjsonstring.md | 11 + ...k.chromestorageengine.setmetajsonstring.md | 11 + ...client-sdk.eppojsclient.getbanditaction.md | 26 ++ ...sdk.eppojsclient.getbanditactiondetails.md | 26 ++ ...ient-sdk.eppojsclient.getboolassignment.md | 30 ++ ...t-sdk.eppojsclient.getbooleanassignment.md | 25 ++ ...ppojsclient.getbooleanassignmentdetails.md | 25 ++ ...t-sdk.eppojsclient.getintegerassignment.md | 25 ++ ...ppojsclient.getintegerassignmentdetails.md | 25 ++ ...ient-sdk.eppojsclient.getjsonassignment.md | 25 ++ ...k.eppojsclient.getjsonassignmentdetails.md | 25 ++ ...t-sdk.eppojsclient.getnumericassignment.md | 25 ++ ...ppojsclient.getnumericassignmentdetails.md | 25 ++ ...nt-sdk.eppojsclient.getstringassignment.md | 25 ++ ...eppojsclient.getstringassignmentdetails.md | 25 ++ .../js-client-sdk.eppojsclient.initialized.md | 11 + docs/js-client-sdk.eppojsclient.instance.md | 11 + docs/js-client-sdk.eppojsclient.md | 40 ++ docs/js-client-sdk.getconfigurl.md | 27 ++ docs/js-client-sdk.getinstance.md | 19 + docs/js-client-sdk.iclientconfig.apikey.md | 13 + ...ient-sdk.iclientconfig.assignmentlogger.md | 13 + docs/js-client-sdk.iclientconfig.baseurl.md | 13 + ...nt-sdk.iclientconfig.maxcacheageseconds.md | 13 + docs/js-client-sdk.iclientconfig.md | 33 ++ ....iclientconfig.numinitialrequestretries.md | 13 + ...sdk.iclientconfig.numpollrequestretries.md | 13 + ...lient-sdk.iclientconfig.persistentstore.md | 13 + ...entconfig.pollafterfailedinitialization.md | 13 + ...onfig.pollaftersuccessfulinitialization.md | 13 + ...ient-sdk.iclientconfig.requesttimeoutms.md | 13 + ...nt-sdk.iclientconfig.skipinitialrequest.md | 13 + ...lientconfig.throwonfailedinitialization.md | 13 + ...-client-sdk.iclientconfig.updateonfetch.md | 13 + ...lient-sdk.iclientconfig.useexpiredcache.md | 13 + ...-sdk.iclientconfigsync.assignmentlogger.md | 11 + ...dk.iclientconfigsync.flagsconfiguration.md | 11 + ...ient-sdk.iclientconfigsync.isobfuscated.md | 11 + docs/js-client-sdk.iclientconfigsync.md | 21 + ...tconfigsync.throwonfailedinitialization.md | 11 + docs/js-client-sdk.init.md | 24 ++ docs/js-client-sdk.md | 30 ++ docs/js-client-sdk.offlineinit.md | 30 ++ js-client-sdk.api.md | 131 +++++++ package.json | 7 +- yarn.lock | 218 ++++++++++- 54 files changed, 1647 insertions(+), 11 deletions(-) create mode 100644 api-extractor.json create mode 100644 docs/index.md create mode 100644 docs/js-client-sdk.buildstoragekeysuffix.md create mode 100644 docs/js-client-sdk.chromestorageengine._constructor_.md create mode 100644 docs/js-client-sdk.chromestorageengine.getcontentsjsonstring.md create mode 100644 docs/js-client-sdk.chromestorageengine.getmetajsonstring.md create mode 100644 docs/js-client-sdk.chromestorageengine.md create mode 100644 docs/js-client-sdk.chromestorageengine.setcontentsjsonstring.md create mode 100644 docs/js-client-sdk.chromestorageengine.setmetajsonstring.md create mode 100644 docs/js-client-sdk.eppojsclient.getbanditaction.md create mode 100644 docs/js-client-sdk.eppojsclient.getbanditactiondetails.md create mode 100644 docs/js-client-sdk.eppojsclient.getboolassignment.md create mode 100644 docs/js-client-sdk.eppojsclient.getbooleanassignment.md create mode 100644 docs/js-client-sdk.eppojsclient.getbooleanassignmentdetails.md create mode 100644 docs/js-client-sdk.eppojsclient.getintegerassignment.md create mode 100644 docs/js-client-sdk.eppojsclient.getintegerassignmentdetails.md create mode 100644 docs/js-client-sdk.eppojsclient.getjsonassignment.md create mode 100644 docs/js-client-sdk.eppojsclient.getjsonassignmentdetails.md create mode 100644 docs/js-client-sdk.eppojsclient.getnumericassignment.md create mode 100644 docs/js-client-sdk.eppojsclient.getnumericassignmentdetails.md create mode 100644 docs/js-client-sdk.eppojsclient.getstringassignment.md create mode 100644 docs/js-client-sdk.eppojsclient.getstringassignmentdetails.md create mode 100644 docs/js-client-sdk.eppojsclient.initialized.md create mode 100644 docs/js-client-sdk.eppojsclient.instance.md create mode 100644 docs/js-client-sdk.eppojsclient.md create mode 100644 docs/js-client-sdk.getconfigurl.md create mode 100644 docs/js-client-sdk.getinstance.md create mode 100644 docs/js-client-sdk.iclientconfig.apikey.md create mode 100644 docs/js-client-sdk.iclientconfig.assignmentlogger.md create mode 100644 docs/js-client-sdk.iclientconfig.baseurl.md create mode 100644 docs/js-client-sdk.iclientconfig.maxcacheageseconds.md create mode 100644 docs/js-client-sdk.iclientconfig.md create mode 100644 docs/js-client-sdk.iclientconfig.numinitialrequestretries.md create mode 100644 docs/js-client-sdk.iclientconfig.numpollrequestretries.md create mode 100644 docs/js-client-sdk.iclientconfig.persistentstore.md create mode 100644 docs/js-client-sdk.iclientconfig.pollafterfailedinitialization.md create mode 100644 docs/js-client-sdk.iclientconfig.pollaftersuccessfulinitialization.md create mode 100644 docs/js-client-sdk.iclientconfig.requesttimeoutms.md create mode 100644 docs/js-client-sdk.iclientconfig.skipinitialrequest.md create mode 100644 docs/js-client-sdk.iclientconfig.throwonfailedinitialization.md create mode 100644 docs/js-client-sdk.iclientconfig.updateonfetch.md create mode 100644 docs/js-client-sdk.iclientconfig.useexpiredcache.md create mode 100644 docs/js-client-sdk.iclientconfigsync.assignmentlogger.md create mode 100644 docs/js-client-sdk.iclientconfigsync.flagsconfiguration.md create mode 100644 docs/js-client-sdk.iclientconfigsync.isobfuscated.md create mode 100644 docs/js-client-sdk.iclientconfigsync.md create mode 100644 docs/js-client-sdk.iclientconfigsync.throwonfailedinitialization.md create mode 100644 docs/js-client-sdk.init.md create mode 100644 docs/js-client-sdk.md create mode 100644 docs/js-client-sdk.offlineinit.md create mode 100644 js-client-sdk.api.md diff --git a/Makefile b/Makefile index 400a601..c77f1ef 100644 --- a/Makefile +++ b/Makefile @@ -44,3 +44,4 @@ prepare: test-data rm -rf dist/ yarn tsc yarn webpack + yarn api-extractor run --local diff --git a/api-extractor.json b/api-extractor.json new file mode 100644 index 0000000..3c41e59 --- /dev/null +++ b/api-extractor.json @@ -0,0 +1,364 @@ +/** + * Config file for API Extractor. For more info, please visit: https://api-extractor.com + */ + { + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + + /** + * Optionally specifies another JSON config file that this file extends from. This provides a way for + * standard settings to be shared across multiple projects. + * + * If the path starts with "./" or "../", the path is resolved relative to the folder of the file that contains + * the "extends" field. Otherwise, the first path segment is interpreted as an NPM package name, and will be + * resolved using NodeJS require(). + * + * SUPPORTED TOKENS: none + * DEFAULT VALUE: "" + */ + // "extends": "./shared/api-extractor-base.json" + // "extends": "my-package/include/api-extractor-base.json" + + /** + * Determines the "" token that can be used with other config file settings. The project folder + * typically contains the tsconfig.json and package.json config files, but the path is user-defined. + * + * The path is resolved relative to the folder of the config file that contains the setting. + * + * The default value for "projectFolder" is the token "", which means the folder is determined by traversing + * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder + * that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error + * will be reported. + * + * SUPPORTED TOKENS: + * DEFAULT VALUE: "" + */ + // "projectFolder": "..", + + /** + * (REQUIRED) Specifies the .d.ts file to be used as the starting point for analysis. API Extractor + * analyzes the symbols exported by this module. + * + * The file extension must be ".d.ts" and not ".ts". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + */ + "mainEntryPointFilePath": "dist/index.d.ts", + + /** + * A list of NPM package names whose exports should be treated as part of this package. + * + * For example, suppose that Webpack is used to generate a distributed bundle for the project "library1", + * and another NPM package "library2" is embedded in this bundle. Some types from library2 may become part + * of the exported API for library1, but by default API Extractor would generate a .d.ts rollup that explicitly + * imports library2. To avoid this, we can specify: + * + * "bundledPackages": [ "library2" ], + * + * This would direct API Extractor to embed those types directly in the .d.ts rollup, as if they had been + * local files for library1. + */ + "bundledPackages": [], + + /** + * Determines how the TypeScript compiler engine will be invoked by API Extractor. + */ + "compiler": { + /** + * Specifies the path to the tsconfig.json file to be used by API Extractor when analyzing the project. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * Note: This setting will be ignored if "overrideTsconfig" is used. + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/tsconfig.json" + */ + // "tsconfigFilePath": "/tsconfig.json", + /** + * Provides a compiler configuration that will be used instead of reading the tsconfig.json file from disk. + * The object must conform to the TypeScript tsconfig schema: + * + * http://json.schemastore.org/tsconfig + * + * If omitted, then the tsconfig.json file will be read from the "projectFolder". + * + * DEFAULT VALUE: no overrideTsconfig section + */ + // "overrideTsconfig": { + // . . . + // } + /** + * This option causes the compiler to be invoked with the --skipLibCheck option. This option is not recommended + * and may cause API Extractor to produce incomplete or incorrect declarations, but it may be required when + * dependencies contain declarations that are incompatible with the TypeScript engine that API Extractor uses + * for its analysis. Where possible, the underlying issue should be fixed rather than relying on skipLibCheck. + * + * DEFAULT VALUE: false + */ + // "skipLibCheck": true, + }, + + /** + * Configures how the API report file (*.api.md) will be generated. + */ + "apiReport": { + /** + * (REQUIRED) Whether to generate an API report. + */ + "enabled": true, + + /** + * The filename for the API report files. It will be combined with "reportFolder" or "reportTempFolder" to produce + * a full file path. + * + * The file extension should be ".api.md", and the string should not contain a path separator such as "\" or "/". + * + * SUPPORTED TOKENS: , + * DEFAULT VALUE: ".api.md" + */ + // "reportFileName": ".api.md", + + /** + * Specifies the folder where the API report file is written. The file name portion is determined by + * the "reportFileName" setting. + * + * The API report file is normally tracked by Git. Changes to it can be used to trigger a branch policy, + * e.g. for an API review. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/etc/" + */ + "reportFolder": "" + + /** + * Specifies the folder where the temporary report file is written. The file name portion is determined by + * the "reportFileName" setting. + * + * After the temporary file is written to disk, it is compared with the file in the "reportFolder". + * If they are different, a production build will fail. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/" + */ + // "reportTempFolder": "/temp/" + }, + + /** + * Configures how the doc model file (*.api.json) will be generated. + */ + "docModel": { + /** + * (REQUIRED) Whether to generate a doc model file. + */ + "enabled": true + + /** + * The output path for the doc model file. The file extension should be ".api.json". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/.api.json" + */ + // "apiJsonFilePath": "/temp/.api.json" + }, + + /** + * Configures how the .d.ts rollup file will be generated. + */ + "dtsRollup": { + /** + * (REQUIRED) Whether to generate the .d.ts rollup file. + */ + "enabled": true + + /** + * Specifies the output path for a .d.ts rollup file to be generated without any trimming. + * This file will include all declarations that are exported by the main entry point. + * + * If the path is an empty string, then this file will not be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/dist/.d.ts" + */ + // "untrimmedFilePath": "/dist/.d.ts", + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "beta" release. + * This file will include only declarations that are marked as "@public" or "@beta". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "betaTrimmedFilePath": "/dist/-beta.d.ts", + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "public" release. + * This file will include only declarations that are marked as "@public". + * + * If the path is an empty string, then this file will not be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "publicTrimmedFilePath": "/dist/-public.d.ts", + + /** + * When a declaration is trimmed, by default it will be replaced by a code comment such as + * "Excluded from this release type: exampleMember". Set "omitTrimmingComments" to true to remove the + * declaration completely. + * + * DEFAULT VALUE: false + */ + // "omitTrimmingComments": true + }, + + /** + * Configures how the tsdoc-metadata.json file will be generated. + */ + "tsdocMetadata": { + /** + * Whether to generate the tsdoc-metadata.json file. + * + * DEFAULT VALUE: true + */ + // "enabled": true, + /** + * Specifies where the TSDoc metadata file should be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * The default value is "", which causes the path to be automatically inferred from the "tsdocMetadata", + * "typings" or "main" fields of the project's package.json. If none of these fields are set, the lookup + * falls back to "tsdoc-metadata.json" in the package folder. + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "tsdocMetadataFilePath": "/dist/tsdoc-metadata.json" + }, + + /** + * Specifies what type of newlines API Extractor should use when writing output files. By default, the output files + * will be written with Windows-style newlines. To use POSIX-style newlines, specify "lf" instead. + * To use the OS's default newline kind, specify "os". + * + * DEFAULT VALUE: "crlf" + */ + // "newlineKind": "crlf", + + /** + * Configures how API Extractor reports error and warning messages produced during analysis. + * + * There are three sources of messages: compiler messages, API Extractor messages, and TSDoc messages. + */ + "messages": { + /** + * Configures handling of diagnostic messages reported by the TypeScript compiler engine while analyzing + * the input .d.ts files. + * + * TypeScript message identifiers start with "TS" followed by an integer. For example: "TS2551" + * + * DEFAULT VALUE: A single "default" entry with logLevel=warning. + */ + "compilerMessageReporting": { + /** + * Configures the default routing for messages that don't match an explicit rule in this table. + */ + "default": { + /** + * Specifies whether the message should be written to the the tool's output log. Note that + * the "addToApiReportFile" property may supersede this option. + * + * Possible values: "error", "warning", "none" + * + * Errors cause the build to fail and return a nonzero exit code. Warnings cause a production build fail + * and return a nonzero exit code. For a non-production build (e.g. when "api-extractor run" includes + * the "--local" option), the warning is displayed but the build will not fail. + * + * DEFAULT VALUE: "warning" + */ + "logLevel": "warning" + + /** + * When addToApiReportFile is true: If API Extractor is configured to write an API report file (.api.md), + * then the message will be written inside that file; otherwise, the message is instead logged according to + * the "logLevel" option. + * + * DEFAULT VALUE: false + */ + // "addToApiReportFile": false + } + + // "TS2551": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + }, + + /** + * Configures handling of messages reported by API Extractor during its analysis. + * + * API Extractor message identifiers start with "ae-". For example: "ae-extra-release-tag" + * + * DEFAULT VALUE: See api-extractor-defaults.json for the complete table of extractorMessageReporting mappings + */ + "extractorMessageReporting": { + "default": { + "logLevel": "warning" + // "addToApiReportFile": false + } + + // "ae-extra-release-tag": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + }, + + /** + * Configures handling of messages reported by the TSDoc parser when analyzing code comments. + * + * TSDoc message identifiers start with "tsdoc-". For example: "tsdoc-link-tag-unescaped-text" + * + * DEFAULT VALUE: A single "default" entry with logLevel=warning. + */ + "tsdocMessageReporting": { + "default": { + "logLevel": "warning" + // "addToApiReportFile": false + } + + // "tsdoc-link-tag-unescaped-text": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + } + } +} \ No newline at end of file diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..5ba1ff6 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,12 @@ + + +[Home](./index.md) + +## API Reference + +## Packages + +| Package | Description | +| --- | --- | +| [@eppo/js-client-sdk](./js-client-sdk.md) | | + diff --git a/docs/js-client-sdk.buildstoragekeysuffix.md b/docs/js-client-sdk.buildstoragekeysuffix.md new file mode 100644 index 0000000..9cbcd7a --- /dev/null +++ b/docs/js-client-sdk.buildstoragekeysuffix.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [buildStorageKeySuffix](./js-client-sdk.buildstoragekeysuffix.md) + +## buildStorageKeySuffix() function + +**Signature:** + +```typescript +export declare function buildStorageKeySuffix(apiKey: string): string; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| apiKey | string | | + +**Returns:** + +string + diff --git a/docs/js-client-sdk.chromestorageengine._constructor_.md b/docs/js-client-sdk.chromestorageengine._constructor_.md new file mode 100644 index 0000000..93276af --- /dev/null +++ b/docs/js-client-sdk.chromestorageengine._constructor_.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [ChromeStorageEngine](./js-client-sdk.chromestorageengine.md) > [(constructor)](./js-client-sdk.chromestorageengine._constructor_.md) + +## ChromeStorageEngine.(constructor) + +Constructs a new instance of the `ChromeStorageEngine` class + +**Signature:** + +```typescript +constructor(storageMap: ChromeStorageAsyncMap, storageKeySuffix: string); +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| storageMap | ChromeStorageAsyncMap<string> | | +| storageKeySuffix | string | | + diff --git a/docs/js-client-sdk.chromestorageengine.getcontentsjsonstring.md b/docs/js-client-sdk.chromestorageengine.getcontentsjsonstring.md new file mode 100644 index 0000000..2c3cee7 --- /dev/null +++ b/docs/js-client-sdk.chromestorageengine.getcontentsjsonstring.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [ChromeStorageEngine](./js-client-sdk.chromestorageengine.md) > [getContentsJsonString](./js-client-sdk.chromestorageengine.getcontentsjsonstring.md) + +## ChromeStorageEngine.getContentsJsonString property + +**Signature:** + +```typescript +getContentsJsonString: () => Promise; +``` diff --git a/docs/js-client-sdk.chromestorageengine.getmetajsonstring.md b/docs/js-client-sdk.chromestorageengine.getmetajsonstring.md new file mode 100644 index 0000000..53080fe --- /dev/null +++ b/docs/js-client-sdk.chromestorageengine.getmetajsonstring.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [ChromeStorageEngine](./js-client-sdk.chromestorageengine.md) > [getMetaJsonString](./js-client-sdk.chromestorageengine.getmetajsonstring.md) + +## ChromeStorageEngine.getMetaJsonString property + +**Signature:** + +```typescript +getMetaJsonString: () => Promise; +``` diff --git a/docs/js-client-sdk.chromestorageengine.md b/docs/js-client-sdk.chromestorageengine.md new file mode 100644 index 0000000..eda7e9a --- /dev/null +++ b/docs/js-client-sdk.chromestorageengine.md @@ -0,0 +1,34 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [ChromeStorageEngine](./js-client-sdk.chromestorageengine.md) + +## ChromeStorageEngine class + +Chrome storage implementation of a string-valued store for storing a configuration and its metadata. + +This serializes the entire configuration object into a string and then stores it to a single key within the object for another single top-level key. Same with metadata about the store (e.g., when it was last updated). + +Note: this behaves a bit differently than local storage as the chrome storage API gets and sets subsets of key-value pairs, so we have to dereference or re-specify the key. + +**Signature:** + +```typescript +export declare class ChromeStorageEngine implements IStringStorageEngine +``` +**Implements:** IStringStorageEngine + +## Constructors + +| Constructor | Modifiers | Description | +| --- | --- | --- | +| [(constructor)(storageMap, storageKeySuffix)](./js-client-sdk.chromestorageengine._constructor_.md) | | Constructs a new instance of the ChromeStorageEngine class | + +## Properties + +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [getContentsJsonString](./js-client-sdk.chromestorageengine.getcontentsjsonstring.md) | | () => Promise<string \| null> | | +| [getMetaJsonString](./js-client-sdk.chromestorageengine.getmetajsonstring.md) | | () => Promise<string \| null> | | +| [setContentsJsonString](./js-client-sdk.chromestorageengine.setcontentsjsonstring.md) | | (configurationJsonString: string) => Promise<void> | | +| [setMetaJsonString](./js-client-sdk.chromestorageengine.setmetajsonstring.md) | | (metaJsonString: string) => Promise<void> | | + diff --git a/docs/js-client-sdk.chromestorageengine.setcontentsjsonstring.md b/docs/js-client-sdk.chromestorageengine.setcontentsjsonstring.md new file mode 100644 index 0000000..ce0d274 --- /dev/null +++ b/docs/js-client-sdk.chromestorageengine.setcontentsjsonstring.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [ChromeStorageEngine](./js-client-sdk.chromestorageengine.md) > [setContentsJsonString](./js-client-sdk.chromestorageengine.setcontentsjsonstring.md) + +## ChromeStorageEngine.setContentsJsonString property + +**Signature:** + +```typescript +setContentsJsonString: (configurationJsonString: string) => Promise; +``` diff --git a/docs/js-client-sdk.chromestorageengine.setmetajsonstring.md b/docs/js-client-sdk.chromestorageengine.setmetajsonstring.md new file mode 100644 index 0000000..052e97c --- /dev/null +++ b/docs/js-client-sdk.chromestorageengine.setmetajsonstring.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [ChromeStorageEngine](./js-client-sdk.chromestorageengine.md) > [setMetaJsonString](./js-client-sdk.chromestorageengine.setmetajsonstring.md) + +## ChromeStorageEngine.setMetaJsonString property + +**Signature:** + +```typescript +setMetaJsonString: (metaJsonString: string) => Promise; +``` diff --git a/docs/js-client-sdk.eppojsclient.getbanditaction.md b/docs/js-client-sdk.eppojsclient.getbanditaction.md new file mode 100644 index 0000000..9b7d80c --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.getbanditaction.md @@ -0,0 +1,26 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [getBanditAction](./js-client-sdk.eppojsclient.getbanditaction.md) + +## EppoJSClient.getBanditAction() method + +**Signature:** + +```typescript +getBanditAction(flagKey: string, subjectKey: string, subjectAttributes: BanditSubjectAttributes, actions: BanditActions, defaultValue: string): Omit, 'evaluationDetails'>; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| flagKey | string | | +| subjectKey | string | | +| subjectAttributes | BanditSubjectAttributes | | +| actions | BanditActions | | +| defaultValue | string | | + +**Returns:** + +Omit<IAssignmentDetails<string>, 'evaluationDetails'> + diff --git a/docs/js-client-sdk.eppojsclient.getbanditactiondetails.md b/docs/js-client-sdk.eppojsclient.getbanditactiondetails.md new file mode 100644 index 0000000..3180f59 --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.getbanditactiondetails.md @@ -0,0 +1,26 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [getBanditActionDetails](./js-client-sdk.eppojsclient.getbanditactiondetails.md) + +## EppoJSClient.getBanditActionDetails() method + +**Signature:** + +```typescript +getBanditActionDetails(flagKey: string, subjectKey: string, subjectAttributes: BanditSubjectAttributes, actions: BanditActions, defaultValue: string): IAssignmentDetails; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| flagKey | string | | +| subjectKey | string | | +| subjectAttributes | BanditSubjectAttributes | | +| actions | BanditActions | | +| defaultValue | string | | + +**Returns:** + +IAssignmentDetails<string> + diff --git a/docs/js-client-sdk.eppojsclient.getboolassignment.md b/docs/js-client-sdk.eppojsclient.getboolassignment.md new file mode 100644 index 0000000..eff07da --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.getboolassignment.md @@ -0,0 +1,30 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [getBoolAssignment](./js-client-sdk.eppojsclient.getboolassignment.md) + +## EppoJSClient.getBoolAssignment() method + +> Warning: This API is now obsolete. +> +> Use getBooleanAssignment instead +> + +**Signature:** + +```typescript +getBoolAssignment(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: boolean): boolean; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| flagKey | string | | +| subjectKey | string | | +| subjectAttributes | Record<string, AttributeType> | | +| defaultValue | boolean | | + +**Returns:** + +boolean + diff --git a/docs/js-client-sdk.eppojsclient.getbooleanassignment.md b/docs/js-client-sdk.eppojsclient.getbooleanassignment.md new file mode 100644 index 0000000..2ea44b3 --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.getbooleanassignment.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [getBooleanAssignment](./js-client-sdk.eppojsclient.getbooleanassignment.md) + +## EppoJSClient.getBooleanAssignment() method + +**Signature:** + +```typescript +getBooleanAssignment(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: boolean): boolean; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| flagKey | string | | +| subjectKey | string | | +| subjectAttributes | Record<string, AttributeType> | | +| defaultValue | boolean | | + +**Returns:** + +boolean + diff --git a/docs/js-client-sdk.eppojsclient.getbooleanassignmentdetails.md b/docs/js-client-sdk.eppojsclient.getbooleanassignmentdetails.md new file mode 100644 index 0000000..8ab5021 --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.getbooleanassignmentdetails.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [getBooleanAssignmentDetails](./js-client-sdk.eppojsclient.getbooleanassignmentdetails.md) + +## EppoJSClient.getBooleanAssignmentDetails() method + +**Signature:** + +```typescript +getBooleanAssignmentDetails(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: boolean): IAssignmentDetails; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| flagKey | string | | +| subjectKey | string | | +| subjectAttributes | Record<string, AttributeType> | | +| defaultValue | boolean | | + +**Returns:** + +IAssignmentDetails<boolean> + diff --git a/docs/js-client-sdk.eppojsclient.getintegerassignment.md b/docs/js-client-sdk.eppojsclient.getintegerassignment.md new file mode 100644 index 0000000..aaeed14 --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.getintegerassignment.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [getIntegerAssignment](./js-client-sdk.eppojsclient.getintegerassignment.md) + +## EppoJSClient.getIntegerAssignment() method + +**Signature:** + +```typescript +getIntegerAssignment(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: number): number; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| flagKey | string | | +| subjectKey | string | | +| subjectAttributes | Record<string, AttributeType> | | +| defaultValue | number | | + +**Returns:** + +number + diff --git a/docs/js-client-sdk.eppojsclient.getintegerassignmentdetails.md b/docs/js-client-sdk.eppojsclient.getintegerassignmentdetails.md new file mode 100644 index 0000000..7301337 --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.getintegerassignmentdetails.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [getIntegerAssignmentDetails](./js-client-sdk.eppojsclient.getintegerassignmentdetails.md) + +## EppoJSClient.getIntegerAssignmentDetails() method + +**Signature:** + +```typescript +getIntegerAssignmentDetails(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: number): IAssignmentDetails; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| flagKey | string | | +| subjectKey | string | | +| subjectAttributes | Record<string, AttributeType> | | +| defaultValue | number | | + +**Returns:** + +IAssignmentDetails<number> + diff --git a/docs/js-client-sdk.eppojsclient.getjsonassignment.md b/docs/js-client-sdk.eppojsclient.getjsonassignment.md new file mode 100644 index 0000000..eaa0c78 --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.getjsonassignment.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [getJSONAssignment](./js-client-sdk.eppojsclient.getjsonassignment.md) + +## EppoJSClient.getJSONAssignment() method + +**Signature:** + +```typescript +getJSONAssignment(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: object): object; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| flagKey | string | | +| subjectKey | string | | +| subjectAttributes | Record<string, AttributeType> | | +| defaultValue | object | | + +**Returns:** + +object + diff --git a/docs/js-client-sdk.eppojsclient.getjsonassignmentdetails.md b/docs/js-client-sdk.eppojsclient.getjsonassignmentdetails.md new file mode 100644 index 0000000..38e11d5 --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.getjsonassignmentdetails.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [getJSONAssignmentDetails](./js-client-sdk.eppojsclient.getjsonassignmentdetails.md) + +## EppoJSClient.getJSONAssignmentDetails() method + +**Signature:** + +```typescript +getJSONAssignmentDetails(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: object): IAssignmentDetails; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| flagKey | string | | +| subjectKey | string | | +| subjectAttributes | Record<string, AttributeType> | | +| defaultValue | object | | + +**Returns:** + +IAssignmentDetails<object> + diff --git a/docs/js-client-sdk.eppojsclient.getnumericassignment.md b/docs/js-client-sdk.eppojsclient.getnumericassignment.md new file mode 100644 index 0000000..a3dce95 --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.getnumericassignment.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [getNumericAssignment](./js-client-sdk.eppojsclient.getnumericassignment.md) + +## EppoJSClient.getNumericAssignment() method + +**Signature:** + +```typescript +getNumericAssignment(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: number): number; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| flagKey | string | | +| subjectKey | string | | +| subjectAttributes | Record<string, AttributeType> | | +| defaultValue | number | | + +**Returns:** + +number + diff --git a/docs/js-client-sdk.eppojsclient.getnumericassignmentdetails.md b/docs/js-client-sdk.eppojsclient.getnumericassignmentdetails.md new file mode 100644 index 0000000..cd4c475 --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.getnumericassignmentdetails.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [getNumericAssignmentDetails](./js-client-sdk.eppojsclient.getnumericassignmentdetails.md) + +## EppoJSClient.getNumericAssignmentDetails() method + +**Signature:** + +```typescript +getNumericAssignmentDetails(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: number): IAssignmentDetails; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| flagKey | string | | +| subjectKey | string | | +| subjectAttributes | Record<string, AttributeType> | | +| defaultValue | number | | + +**Returns:** + +IAssignmentDetails<number> + diff --git a/docs/js-client-sdk.eppojsclient.getstringassignment.md b/docs/js-client-sdk.eppojsclient.getstringassignment.md new file mode 100644 index 0000000..6976f25 --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.getstringassignment.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [getStringAssignment](./js-client-sdk.eppojsclient.getstringassignment.md) + +## EppoJSClient.getStringAssignment() method + +**Signature:** + +```typescript +getStringAssignment(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: string): string; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| flagKey | string | | +| subjectKey | string | | +| subjectAttributes | Record<string, AttributeType> | | +| defaultValue | string | | + +**Returns:** + +string + diff --git a/docs/js-client-sdk.eppojsclient.getstringassignmentdetails.md b/docs/js-client-sdk.eppojsclient.getstringassignmentdetails.md new file mode 100644 index 0000000..8c591db --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.getstringassignmentdetails.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [getStringAssignmentDetails](./js-client-sdk.eppojsclient.getstringassignmentdetails.md) + +## EppoJSClient.getStringAssignmentDetails() method + +**Signature:** + +```typescript +getStringAssignmentDetails(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: string): IAssignmentDetails; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| flagKey | string | | +| subjectKey | string | | +| subjectAttributes | Record<string, AttributeType> | | +| defaultValue | string | | + +**Returns:** + +IAssignmentDetails<string> + diff --git a/docs/js-client-sdk.eppojsclient.initialized.md b/docs/js-client-sdk.eppojsclient.initialized.md new file mode 100644 index 0000000..74ed212 --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.initialized.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [initialized](./js-client-sdk.eppojsclient.initialized.md) + +## EppoJSClient.initialized property + +**Signature:** + +```typescript +static initialized: boolean; +``` diff --git a/docs/js-client-sdk.eppojsclient.instance.md b/docs/js-client-sdk.eppojsclient.instance.md new file mode 100644 index 0000000..6d8e963 --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.instance.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) > [instance](./js-client-sdk.eppojsclient.instance.md) + +## EppoJSClient.instance property + +**Signature:** + +```typescript +static instance: EppoJSClient; +``` diff --git a/docs/js-client-sdk.eppojsclient.md b/docs/js-client-sdk.eppojsclient.md new file mode 100644 index 0000000..516a457 --- /dev/null +++ b/docs/js-client-sdk.eppojsclient.md @@ -0,0 +1,40 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [EppoJSClient](./js-client-sdk.eppojsclient.md) + +## EppoJSClient class + +Client for assigning experiment variations. + +**Signature:** + +```typescript +export declare class EppoJSClient extends EppoClient +``` +**Extends:** EppoClient + +## Properties + +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [initialized](./js-client-sdk.eppojsclient.initialized.md) | static | boolean | | +| [instance](./js-client-sdk.eppojsclient.instance.md) | static | [EppoJSClient](./js-client-sdk.eppojsclient.md) | | + +## Methods + +| Method | Modifiers | Description | +| --- | --- | --- | +| [getBanditAction(flagKey, subjectKey, subjectAttributes, actions, defaultValue)](./js-client-sdk.eppojsclient.getbanditaction.md) | | | +| [getBanditActionDetails(flagKey, subjectKey, subjectAttributes, actions, defaultValue)](./js-client-sdk.eppojsclient.getbanditactiondetails.md) | | | +| [getBoolAssignment(flagKey, subjectKey, subjectAttributes, defaultValue)](./js-client-sdk.eppojsclient.getboolassignment.md) | | | +| [getBooleanAssignment(flagKey, subjectKey, subjectAttributes, defaultValue)](./js-client-sdk.eppojsclient.getbooleanassignment.md) | | | +| [getBooleanAssignmentDetails(flagKey, subjectKey, subjectAttributes, defaultValue)](./js-client-sdk.eppojsclient.getbooleanassignmentdetails.md) | | | +| [getIntegerAssignment(flagKey, subjectKey, subjectAttributes, defaultValue)](./js-client-sdk.eppojsclient.getintegerassignment.md) | | | +| [getIntegerAssignmentDetails(flagKey, subjectKey, subjectAttributes, defaultValue)](./js-client-sdk.eppojsclient.getintegerassignmentdetails.md) | | | +| [getJSONAssignment(flagKey, subjectKey, subjectAttributes, defaultValue)](./js-client-sdk.eppojsclient.getjsonassignment.md) | | | +| [getJSONAssignmentDetails(flagKey, subjectKey, subjectAttributes, defaultValue)](./js-client-sdk.eppojsclient.getjsonassignmentdetails.md) | | | +| [getNumericAssignment(flagKey, subjectKey, subjectAttributes, defaultValue)](./js-client-sdk.eppojsclient.getnumericassignment.md) | | | +| [getNumericAssignmentDetails(flagKey, subjectKey, subjectAttributes, defaultValue)](./js-client-sdk.eppojsclient.getnumericassignmentdetails.md) | | | +| [getStringAssignment(flagKey, subjectKey, subjectAttributes, defaultValue)](./js-client-sdk.eppojsclient.getstringassignment.md) | | | +| [getStringAssignmentDetails(flagKey, subjectKey, subjectAttributes, defaultValue)](./js-client-sdk.eppojsclient.getstringassignmentdetails.md) | | | + diff --git a/docs/js-client-sdk.getconfigurl.md b/docs/js-client-sdk.getconfigurl.md new file mode 100644 index 0000000..6e0e1c0 --- /dev/null +++ b/docs/js-client-sdk.getconfigurl.md @@ -0,0 +1,27 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [getConfigUrl](./js-client-sdk.getconfigurl.md) + +## getConfigUrl() function + +Used to build the URL for fetching the flag configuration. + +**Signature:** + +```typescript +export declare function getConfigUrl(apiKey: string, baseUrl?: string): URL; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| apiKey | string | | +| baseUrl | string | _(Optional)_ | + +**Returns:** + +URL + +a URL string + diff --git a/docs/js-client-sdk.getinstance.md b/docs/js-client-sdk.getinstance.md new file mode 100644 index 0000000..e147f9f --- /dev/null +++ b/docs/js-client-sdk.getinstance.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [getInstance](./js-client-sdk.getinstance.md) + +## getInstance() function + +Used to access a singleton SDK client instance. Use the method after calling init() to initialize the client. + +**Signature:** + +```typescript +export declare function getInstance(): EppoClient; +``` +**Returns:** + +EppoClient + +a singleton client instance + diff --git a/docs/js-client-sdk.iclientconfig.apikey.md b/docs/js-client-sdk.iclientconfig.apikey.md new file mode 100644 index 0000000..24ef1d6 --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.apikey.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) > [apiKey](./js-client-sdk.iclientconfig.apikey.md) + +## IClientConfig.apiKey property + +Eppo API key + +**Signature:** + +```typescript +apiKey: string; +``` diff --git a/docs/js-client-sdk.iclientconfig.assignmentlogger.md b/docs/js-client-sdk.iclientconfig.assignmentlogger.md new file mode 100644 index 0000000..a406583 --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.assignmentlogger.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) > [assignmentLogger](./js-client-sdk.iclientconfig.assignmentlogger.md) + +## IClientConfig.assignmentLogger property + +Pass a logging implementation to send variation assignments to your data warehouse. + +**Signature:** + +```typescript +assignmentLogger: IAssignmentLogger; +``` diff --git a/docs/js-client-sdk.iclientconfig.baseurl.md b/docs/js-client-sdk.iclientconfig.baseurl.md new file mode 100644 index 0000000..d767f62 --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.baseurl.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) > [baseUrl](./js-client-sdk.iclientconfig.baseurl.md) + +## IClientConfig.baseUrl property + +Base URL of the Eppo API. Clients should use the default setting in most cases. + +**Signature:** + +```typescript +baseUrl?: string; +``` diff --git a/docs/js-client-sdk.iclientconfig.maxcacheageseconds.md b/docs/js-client-sdk.iclientconfig.maxcacheageseconds.md new file mode 100644 index 0000000..b942b01 --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.maxcacheageseconds.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) > [maxCacheAgeSeconds](./js-client-sdk.iclientconfig.maxcacheageseconds.md) + +## IClientConfig.maxCacheAgeSeconds property + +Maximum age, in seconds, previously cached values are considered valid until new values will be fetched (default: 0) + +**Signature:** + +```typescript +maxCacheAgeSeconds?: number; +``` diff --git a/docs/js-client-sdk.iclientconfig.md b/docs/js-client-sdk.iclientconfig.md new file mode 100644 index 0000000..d05f9f6 --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.md @@ -0,0 +1,33 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) + +## IClientConfig interface + +Configuration used for initializing the Eppo client + +**Signature:** + +```typescript +export interface IClientConfig +``` + +## Properties + +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [apiKey](./js-client-sdk.iclientconfig.apikey.md) | | string | Eppo API key | +| [assignmentLogger](./js-client-sdk.iclientconfig.assignmentlogger.md) | | IAssignmentLogger | Pass a logging implementation to send variation assignments to your data warehouse. | +| [baseUrl?](./js-client-sdk.iclientconfig.baseurl.md) | | string | _(Optional)_ Base URL of the Eppo API. Clients should use the default setting in most cases. | +| [maxCacheAgeSeconds?](./js-client-sdk.iclientconfig.maxcacheageseconds.md) | | number | _(Optional)_ Maximum age, in seconds, previously cached values are considered valid until new values will be fetched (default: 0) | +| [numInitialRequestRetries?](./js-client-sdk.iclientconfig.numinitialrequestretries.md) | | number | _(Optional)_ Number of additional times the initial configuration request will be attempted if it fails. This is the request typically synchronously waited (via await) for completion. A small wait will be done between requests. (Default: 1) | +| [numPollRequestRetries?](./js-client-sdk.iclientconfig.numpollrequestretries.md) | | number | _(Optional)_ Number of additional times polling for updated configurations will be attempted before giving up. Polling is done after a successful initial request. Subsequent attempts are done using an exponential backoff. (Default: 7) | +| [persistentStore?](./js-client-sdk.iclientconfig.persistentstore.md) | | IAsyncStore<Flag> | _(Optional)_ A custom class to use for storing flag configurations. This is useful for cases where you want to use a different storage mechanism than the default storage provided by the SDK. | +| [pollAfterFailedInitialization?](./js-client-sdk.iclientconfig.pollafterfailedinitialization.md) | | boolean | _(Optional)_ Poll for new configurations even if the initial configuration request failed. (default: false) | +| [pollAfterSuccessfulInitialization?](./js-client-sdk.iclientconfig.pollaftersuccessfulinitialization.md) | | boolean | _(Optional)_ Poll for new configurations (every 30 seconds) after successfully requesting the initial configuration. (default: false) | +| [requestTimeoutMs?](./js-client-sdk.iclientconfig.requesttimeoutms.md) | | number | _(Optional)_ \* Timeout in milliseconds for the HTTPS request for the experiment configuration. (Default: 5000) | +| [skipInitialRequest?](./js-client-sdk.iclientconfig.skipinitialrequest.md) | | boolean | _(Optional)_ Skip the request for new configurations during initialization. (default: false) | +| [throwOnFailedInitialization?](./js-client-sdk.iclientconfig.throwonfailedinitialization.md) | | boolean | _(Optional)_ Throw an error if unable to fetch an initial configuration during initialization. (default: true) | +| [updateOnFetch?](./js-client-sdk.iclientconfig.updateonfetch.md) | | ServingStoreUpdateStrategy | _(Optional)_ Sets how the configuration is updated after a successful fetch - always: immediately start using the new configuration - expired: immediately start using the new configuration only if the current one has expired - empty: only use the new configuration if the current one is both expired and uninitialized/empty | +| [useExpiredCache?](./js-client-sdk.iclientconfig.useexpiredcache.md) | | boolean | _(Optional)_ Whether initialization will be considered successfully complete if expired cache values are loaded. If false, initialization will always wait for a fetch if cached values are expired. (default: false) | + diff --git a/docs/js-client-sdk.iclientconfig.numinitialrequestretries.md b/docs/js-client-sdk.iclientconfig.numinitialrequestretries.md new file mode 100644 index 0000000..f9d1b23 --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.numinitialrequestretries.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) > [numInitialRequestRetries](./js-client-sdk.iclientconfig.numinitialrequestretries.md) + +## IClientConfig.numInitialRequestRetries property + +Number of additional times the initial configuration request will be attempted if it fails. This is the request typically synchronously waited (via await) for completion. A small wait will be done between requests. (Default: 1) + +**Signature:** + +```typescript +numInitialRequestRetries?: number; +``` diff --git a/docs/js-client-sdk.iclientconfig.numpollrequestretries.md b/docs/js-client-sdk.iclientconfig.numpollrequestretries.md new file mode 100644 index 0000000..8acb6d2 --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.numpollrequestretries.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) > [numPollRequestRetries](./js-client-sdk.iclientconfig.numpollrequestretries.md) + +## IClientConfig.numPollRequestRetries property + +Number of additional times polling for updated configurations will be attempted before giving up. Polling is done after a successful initial request. Subsequent attempts are done using an exponential backoff. (Default: 7) + +**Signature:** + +```typescript +numPollRequestRetries?: number; +``` diff --git a/docs/js-client-sdk.iclientconfig.persistentstore.md b/docs/js-client-sdk.iclientconfig.persistentstore.md new file mode 100644 index 0000000..08a89a2 --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.persistentstore.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) > [persistentStore](./js-client-sdk.iclientconfig.persistentstore.md) + +## IClientConfig.persistentStore property + +A custom class to use for storing flag configurations. This is useful for cases where you want to use a different storage mechanism than the default storage provided by the SDK. + +**Signature:** + +```typescript +persistentStore?: IAsyncStore; +``` diff --git a/docs/js-client-sdk.iclientconfig.pollafterfailedinitialization.md b/docs/js-client-sdk.iclientconfig.pollafterfailedinitialization.md new file mode 100644 index 0000000..2c459c3 --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.pollafterfailedinitialization.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) > [pollAfterFailedInitialization](./js-client-sdk.iclientconfig.pollafterfailedinitialization.md) + +## IClientConfig.pollAfterFailedInitialization property + +Poll for new configurations even if the initial configuration request failed. (default: false) + +**Signature:** + +```typescript +pollAfterFailedInitialization?: boolean; +``` diff --git a/docs/js-client-sdk.iclientconfig.pollaftersuccessfulinitialization.md b/docs/js-client-sdk.iclientconfig.pollaftersuccessfulinitialization.md new file mode 100644 index 0000000..fe176a8 --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.pollaftersuccessfulinitialization.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) > [pollAfterSuccessfulInitialization](./js-client-sdk.iclientconfig.pollaftersuccessfulinitialization.md) + +## IClientConfig.pollAfterSuccessfulInitialization property + +Poll for new configurations (every 30 seconds) after successfully requesting the initial configuration. (default: false) + +**Signature:** + +```typescript +pollAfterSuccessfulInitialization?: boolean; +``` diff --git a/docs/js-client-sdk.iclientconfig.requesttimeoutms.md b/docs/js-client-sdk.iclientconfig.requesttimeoutms.md new file mode 100644 index 0000000..4fc8b97 --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.requesttimeoutms.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) > [requestTimeoutMs](./js-client-sdk.iclientconfig.requesttimeoutms.md) + +## IClientConfig.requestTimeoutMs property + +\* Timeout in milliseconds for the HTTPS request for the experiment configuration. (Default: 5000) + +**Signature:** + +```typescript +requestTimeoutMs?: number; +``` diff --git a/docs/js-client-sdk.iclientconfig.skipinitialrequest.md b/docs/js-client-sdk.iclientconfig.skipinitialrequest.md new file mode 100644 index 0000000..083444e --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.skipinitialrequest.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) > [skipInitialRequest](./js-client-sdk.iclientconfig.skipinitialrequest.md) + +## IClientConfig.skipInitialRequest property + +Skip the request for new configurations during initialization. (default: false) + +**Signature:** + +```typescript +skipInitialRequest?: boolean; +``` diff --git a/docs/js-client-sdk.iclientconfig.throwonfailedinitialization.md b/docs/js-client-sdk.iclientconfig.throwonfailedinitialization.md new file mode 100644 index 0000000..35dfe23 --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.throwonfailedinitialization.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) > [throwOnFailedInitialization](./js-client-sdk.iclientconfig.throwonfailedinitialization.md) + +## IClientConfig.throwOnFailedInitialization property + +Throw an error if unable to fetch an initial configuration during initialization. (default: true) + +**Signature:** + +```typescript +throwOnFailedInitialization?: boolean; +``` diff --git a/docs/js-client-sdk.iclientconfig.updateonfetch.md b/docs/js-client-sdk.iclientconfig.updateonfetch.md new file mode 100644 index 0000000..dfb03a9 --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.updateonfetch.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) > [updateOnFetch](./js-client-sdk.iclientconfig.updateonfetch.md) + +## IClientConfig.updateOnFetch property + +Sets how the configuration is updated after a successful fetch - always: immediately start using the new configuration - expired: immediately start using the new configuration only if the current one has expired - empty: only use the new configuration if the current one is both expired and uninitialized/empty + +**Signature:** + +```typescript +updateOnFetch?: ServingStoreUpdateStrategy; +``` diff --git a/docs/js-client-sdk.iclientconfig.useexpiredcache.md b/docs/js-client-sdk.iclientconfig.useexpiredcache.md new file mode 100644 index 0000000..2183b4e --- /dev/null +++ b/docs/js-client-sdk.iclientconfig.useexpiredcache.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfig](./js-client-sdk.iclientconfig.md) > [useExpiredCache](./js-client-sdk.iclientconfig.useexpiredcache.md) + +## IClientConfig.useExpiredCache property + +Whether initialization will be considered successfully complete if expired cache values are loaded. If false, initialization will always wait for a fetch if cached values are expired. (default: false) + +**Signature:** + +```typescript +useExpiredCache?: boolean; +``` diff --git a/docs/js-client-sdk.iclientconfigsync.assignmentlogger.md b/docs/js-client-sdk.iclientconfigsync.assignmentlogger.md new file mode 100644 index 0000000..7404bc7 --- /dev/null +++ b/docs/js-client-sdk.iclientconfigsync.assignmentlogger.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfigSync](./js-client-sdk.iclientconfigsync.md) > [assignmentLogger](./js-client-sdk.iclientconfigsync.assignmentlogger.md) + +## IClientConfigSync.assignmentLogger property + +**Signature:** + +```typescript +assignmentLogger?: IAssignmentLogger; +``` diff --git a/docs/js-client-sdk.iclientconfigsync.flagsconfiguration.md b/docs/js-client-sdk.iclientconfigsync.flagsconfiguration.md new file mode 100644 index 0000000..3127bc1 --- /dev/null +++ b/docs/js-client-sdk.iclientconfigsync.flagsconfiguration.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfigSync](./js-client-sdk.iclientconfigsync.md) > [flagsConfiguration](./js-client-sdk.iclientconfigsync.flagsconfiguration.md) + +## IClientConfigSync.flagsConfiguration property + +**Signature:** + +```typescript +flagsConfiguration: Record; +``` diff --git a/docs/js-client-sdk.iclientconfigsync.isobfuscated.md b/docs/js-client-sdk.iclientconfigsync.isobfuscated.md new file mode 100644 index 0000000..e53740e --- /dev/null +++ b/docs/js-client-sdk.iclientconfigsync.isobfuscated.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfigSync](./js-client-sdk.iclientconfigsync.md) > [isObfuscated](./js-client-sdk.iclientconfigsync.isobfuscated.md) + +## IClientConfigSync.isObfuscated property + +**Signature:** + +```typescript +isObfuscated?: boolean; +``` diff --git a/docs/js-client-sdk.iclientconfigsync.md b/docs/js-client-sdk.iclientconfigsync.md new file mode 100644 index 0000000..fd6b2bf --- /dev/null +++ b/docs/js-client-sdk.iclientconfigsync.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfigSync](./js-client-sdk.iclientconfigsync.md) + +## IClientConfigSync interface + +**Signature:** + +```typescript +export interface IClientConfigSync +``` + +## Properties + +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [assignmentLogger?](./js-client-sdk.iclientconfigsync.assignmentlogger.md) | | IAssignmentLogger | _(Optional)_ | +| [flagsConfiguration](./js-client-sdk.iclientconfigsync.flagsconfiguration.md) | | Record<string, Flag \| ObfuscatedFlag> | | +| [isObfuscated?](./js-client-sdk.iclientconfigsync.isobfuscated.md) | | boolean | _(Optional)_ | +| [throwOnFailedInitialization?](./js-client-sdk.iclientconfigsync.throwonfailedinitialization.md) | | boolean | _(Optional)_ | + diff --git a/docs/js-client-sdk.iclientconfigsync.throwonfailedinitialization.md b/docs/js-client-sdk.iclientconfigsync.throwonfailedinitialization.md new file mode 100644 index 0000000..ba3bffc --- /dev/null +++ b/docs/js-client-sdk.iclientconfigsync.throwonfailedinitialization.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [IClientConfigSync](./js-client-sdk.iclientconfigsync.md) > [throwOnFailedInitialization](./js-client-sdk.iclientconfigsync.throwonfailedinitialization.md) + +## IClientConfigSync.throwOnFailedInitialization property + +**Signature:** + +```typescript +throwOnFailedInitialization?: boolean; +``` diff --git a/docs/js-client-sdk.init.md b/docs/js-client-sdk.init.md new file mode 100644 index 0000000..c5ad232 --- /dev/null +++ b/docs/js-client-sdk.init.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [init](./js-client-sdk.init.md) + +## init() function + +Initializes the Eppo client with configuration parameters. This method should be called once on application startup. + +**Signature:** + +```typescript +export declare function init(config: IClientConfig): Promise; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| config | [IClientConfig](./js-client-sdk.iclientconfig.md) | client configuration | + +**Returns:** + +Promise<EppoClient> + diff --git a/docs/js-client-sdk.md b/docs/js-client-sdk.md new file mode 100644 index 0000000..e930014 --- /dev/null +++ b/docs/js-client-sdk.md @@ -0,0 +1,30 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) + +## js-client-sdk package + +## Classes + +| Class | Description | +| --- | --- | +| [ChromeStorageEngine](./js-client-sdk.chromestorageengine.md) |

Chrome storage implementation of a string-valued store for storing a configuration and its metadata.

This serializes the entire configuration object into a string and then stores it to a single key within the object for another single top-level key. Same with metadata about the store (e.g., when it was last updated).

Note: this behaves a bit differently than local storage as the chrome storage API gets and sets subsets of key-value pairs, so we have to dereference or re-specify the key.

| +| [EppoJSClient](./js-client-sdk.eppojsclient.md) | Client for assigning experiment variations. | + +## Functions + +| Function | Description | +| --- | --- | +| [buildStorageKeySuffix(apiKey)](./js-client-sdk.buildstoragekeysuffix.md) | | +| [getConfigUrl(apiKey, baseUrl)](./js-client-sdk.getconfigurl.md) | Used to build the URL for fetching the flag configuration. | +| [getInstance()](./js-client-sdk.getinstance.md) | Used to access a singleton SDK client instance. Use the method after calling init() to initialize the client. | +| [init(config)](./js-client-sdk.init.md) | Initializes the Eppo client with configuration parameters. This method should be called once on application startup. | +| [offlineInit(config)](./js-client-sdk.offlineinit.md) |

Initializes the Eppo client with configuration parameters.

The purpose is for use-cases where the configuration is available from an external process that can bootstrap the SDK.

This method should be called once on application startup.

| + +## Interfaces + +| Interface | Description | +| --- | --- | +| [IClientConfig](./js-client-sdk.iclientconfig.md) | Configuration used for initializing the Eppo client | +| [IClientConfigSync](./js-client-sdk.iclientconfigsync.md) | | + diff --git a/docs/js-client-sdk.offlineinit.md b/docs/js-client-sdk.offlineinit.md new file mode 100644 index 0000000..00c1201 --- /dev/null +++ b/docs/js-client-sdk.offlineinit.md @@ -0,0 +1,30 @@ + + +[Home](./index.md) > [@eppo/js-client-sdk](./js-client-sdk.md) > [offlineInit](./js-client-sdk.offlineinit.md) + +## offlineInit() function + +Initializes the Eppo client with configuration parameters. + +The purpose is for use-cases where the configuration is available from an external process that can bootstrap the SDK. + +This method should be called once on application startup. + +**Signature:** + +```typescript +export declare function offlineInit(config: IClientConfigSync): EppoClient; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| config | [IClientConfigSync](./js-client-sdk.iclientconfigsync.md) | client configuration | + +**Returns:** + +EppoClient + +a singleton client instance + diff --git a/js-client-sdk.api.md b/js-client-sdk.api.md new file mode 100644 index 0000000..bb70cda --- /dev/null +++ b/js-client-sdk.api.md @@ -0,0 +1,131 @@ +## API Report File for "@eppo/js-client-sdk" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +/// + +import { AsyncMap } from '@eppo/js-client-sdk-common'; +import { AttributeType } from '@eppo/js-client-sdk-common'; +import { BanditActions } from '@eppo/js-client-sdk-common'; +import { BanditSubjectAttributes } from '@eppo/js-client-sdk-common'; +import { EppoClient } from '@eppo/js-client-sdk-common'; +import { Flag } from '@eppo/js-client-sdk-common'; +import { IAssignmentDetails } from '@eppo/js-client-sdk-common'; +import { IAssignmentEvent } from '@eppo/js-client-sdk-common'; +import { IAssignmentLogger } from '@eppo/js-client-sdk-common'; +import { IAsyncStore } from '@eppo/js-client-sdk-common'; +import { ObfuscatedFlag } from '@eppo/js-client-sdk-common'; + +// @public (undocumented) +export function buildStorageKeySuffix(apiKey: string): string; + +// Warning: (ae-forgotten-export) The symbol "IStringStorageEngine" needs to be exported by the entry point index.d.ts +// +// @public +export class ChromeStorageEngine implements IStringStorageEngine { + // Warning: (ae-forgotten-export) The symbol "ChromeStorageAsyncMap" needs to be exported by the entry point index.d.ts + constructor(storageMap: ChromeStorageAsyncMap, storageKeySuffix: string); + // (undocumented) + getContentsJsonString: () => Promise; + // (undocumented) + getMetaJsonString: () => Promise; + // (undocumented) + setContentsJsonString: (configurationJsonString: string) => Promise; + // (undocumented) + setMetaJsonString: (metaJsonString: string) => Promise; +} + +// @public +export class EppoJSClient extends EppoClient { + // (undocumented) + getBanditAction(flagKey: string, subjectKey: string, subjectAttributes: BanditSubjectAttributes, actions: BanditActions, defaultValue: string): Omit, 'evaluationDetails'>; + // (undocumented) + getBanditActionDetails(flagKey: string, subjectKey: string, subjectAttributes: BanditSubjectAttributes, actions: BanditActions, defaultValue: string): IAssignmentDetails; + // @deprecated (undocumented) + getBoolAssignment(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: boolean): boolean; + // (undocumented) + getBooleanAssignment(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: boolean): boolean; + // (undocumented) + getBooleanAssignmentDetails(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: boolean): IAssignmentDetails; + // (undocumented) + getIntegerAssignment(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: number): number; + // (undocumented) + getIntegerAssignmentDetails(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: number): IAssignmentDetails; + // (undocumented) + getJSONAssignment(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: object): object; + // (undocumented) + getJSONAssignmentDetails(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: object): IAssignmentDetails; + // (undocumented) + getNumericAssignment(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: number): number; + // (undocumented) + getNumericAssignmentDetails(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: number): IAssignmentDetails; + // (undocumented) + getStringAssignment(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: string): string; + // (undocumented) + getStringAssignmentDetails(flagKey: string, subjectKey: string, subjectAttributes: Record, defaultValue: string): IAssignmentDetails; + // (undocumented) + static initialized: boolean; + // (undocumented) + static instance: EppoJSClient; +} + +export { Flag } + +// @public +export function getConfigUrl(apiKey: string, baseUrl?: string): URL; + +// @public +export function getInstance(): EppoClient; + +export { IAssignmentDetails } + +export { IAssignmentEvent } + +export { IAssignmentLogger } + +export { IAsyncStore } + +// @public +export interface IClientConfig { + apiKey: string; + assignmentLogger: IAssignmentLogger; + baseUrl?: string; + maxCacheAgeSeconds?: number; + numInitialRequestRetries?: number; + numPollRequestRetries?: number; + persistentStore?: IAsyncStore; + pollAfterFailedInitialization?: boolean; + pollAfterSuccessfulInitialization?: boolean; + requestTimeoutMs?: number; + skipInitialRequest?: boolean; + throwOnFailedInitialization?: boolean; + // Warning: (ae-forgotten-export) The symbol "ServingStoreUpdateStrategy" needs to be exported by the entry point index.d.ts + updateOnFetch?: ServingStoreUpdateStrategy; + useExpiredCache?: boolean; +} + +// @public (undocumented) +export interface IClientConfigSync { + // (undocumented) + assignmentLogger?: IAssignmentLogger; + // (undocumented) + flagsConfiguration: Record; + // (undocumented) + isObfuscated?: boolean; + // (undocumented) + throwOnFailedInitialization?: boolean; +} + +// @public +export function init(config: IClientConfig): Promise; + +export { ObfuscatedFlag } + +// @public +export function offlineInit(config: IClientConfigSync): EppoClient; + +// (No @packageDocumentation comment for this package) + +``` diff --git a/package.json b/package.json index 41e0953..5fc19a0 100644 --- a/package.json +++ b/package.json @@ -14,10 +14,11 @@ "lint:fix": "eslint --fix '**/*.{ts,tsx}' --cache", "lint:fix-pre-commit": "eslint -c .eslintrc.pre-commit.js --fix '**/*.{ts,tsx}' --no-eslintrc --cache", "prepare": "make prepare", - "pre-commit": "lint-staged && tsc", + "pre-commit": "lint-staged && tsc && yarn docs", "typecheck": "tsc", "test": "yarn test:unit", - "test:unit": "NODE_ENV=test jest '.*\\.spec\\.ts'" + "test:unit": "NODE_ENV=test jest '.*\\.spec\\.ts'", + "docs": "api-documenter markdown -i ./temp -o ./docs" }, "jsdelivr": "dist/eppo-sdk.js", "repository": { @@ -31,6 +32,8 @@ }, "homepage": "https://github.com/Eppo-exp/js-client-sdk#readme", "devDependencies": { + "@microsoft/api-documenter": "^7.23.9", + "@microsoft/api-extractor": "^7.38.0", "@types/chrome": "^0.0.268", "@types/jest": "^29.5.11", "@typescript-eslint/eslint-plugin": "^5.13.0", diff --git a/yarn.lock b/yarn.lock index c7f9b7e..787d135 100644 --- a/yarn.lock +++ b/yarn.lock @@ -715,6 +715,66 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@microsoft/api-documenter@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@microsoft/api-documenter/-/api-documenter-7.23.9.tgz#4ca0166cb42df253c1c4f99a4ff51d0ff763ea76" + integrity sha512-CvOy3JF0oCDm3GDqce3uFS9QGO72lfOEgVbvpje32O+ug/WoL8ITOg2jZszMtowuClasPbpEcEoVsHJJLePirg== + dependencies: + "@microsoft/api-extractor-model" "7.28.2" + "@microsoft/tsdoc" "0.14.2" + "@rushstack/node-core-library" "3.61.0" + "@rushstack/ts-command-line" "4.16.1" + colors "~1.2.1" + js-yaml "~3.13.1" + resolve "~1.22.1" + +"@microsoft/api-extractor-model@7.28.2": + version "7.28.2" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.28.2.tgz#91c66dd820ccc70e0c163e06b392d8363f1b9269" + integrity sha512-vkojrM2fo3q4n4oPh4uUZdjJ2DxQ2+RnDQL/xhTWSRUNPF6P4QyrvY357HBxbnltKcYu+nNNolVqc6TIGQ73Ig== + dependencies: + "@microsoft/tsdoc" "0.14.2" + "@microsoft/tsdoc-config" "~0.16.1" + "@rushstack/node-core-library" "3.61.0" + +"@microsoft/api-extractor@^7.38.0": + version "7.38.0" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.38.0.tgz#e72546d6766b3866578a462b040f71b17779e1c5" + integrity sha512-e1LhZYnfw+JEebuY2bzhw0imDCl1nwjSThTrQqBXl40hrVo6xm3j/1EpUr89QyzgjqmAwek2ZkIVZbrhaR+cqg== + dependencies: + "@microsoft/api-extractor-model" "7.28.2" + "@microsoft/tsdoc" "0.14.2" + "@microsoft/tsdoc-config" "~0.16.1" + "@rushstack/node-core-library" "3.61.0" + "@rushstack/rig-package" "0.5.1" + "@rushstack/ts-command-line" "4.16.1" + colors "~1.2.1" + lodash "~4.17.15" + resolve "~1.22.1" + semver "~7.5.4" + source-map "~0.6.1" + typescript "~5.0.4" + +"@microsoft/tsdoc-config@~0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.16.1.tgz#4de11976c1202854c4618f364bf499b4be33e657" + integrity sha512-2RqkwiD4uN6MLnHFljqBlZIXlt/SaUT6cuogU1w2ARw4nKuuppSmR0+s+NC+7kXBQykd9zzu0P4HtBpZT5zBpQ== + dependencies: + "@microsoft/tsdoc" "0.14.1" + ajv "~6.12.6" + jju "~1.4.0" + resolve "~1.19.0" + +"@microsoft/tsdoc@0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" + integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== + +"@microsoft/tsdoc@0.14.2": + version "0.14.2" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" + integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -736,6 +796,37 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@rushstack/node-core-library@3.61.0": + version "3.61.0" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.61.0.tgz#7441a0d2ae5268b758a7a49588a78cd55af57e66" + integrity sha512-tdOjdErme+/YOu4gPed3sFS72GhtWCgNV9oDsHDnoLY5oDfwjKUc9Z+JOZZ37uAxcm/OCahDHfuu2ugqrfWAVQ== + dependencies: + colors "~1.2.1" + fs-extra "~7.0.1" + import-lazy "~4.0.0" + jju "~1.4.0" + resolve "~1.22.1" + semver "~7.5.4" + z-schema "~5.0.2" + +"@rushstack/rig-package@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.5.1.tgz#6c9c283cc96b5bb1eae9875946d974ac5429bb21" + integrity sha512-pXRYSe29TjRw7rqxD4WS3HN/sRSbfr+tJs4a9uuaSIBAITbUggygdhuG0VrO0EO+QqH91GhYMN4S6KRtOEmGVA== + dependencies: + resolve "~1.22.1" + strip-json-comments "~3.1.1" + +"@rushstack/ts-command-line@4.16.1": + version "4.16.1" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.16.1.tgz#3537bbc323f77c8646646465c579b992d39feb16" + integrity sha512-+OCsD553GYVLEmz12yiFjMOzuPeCiZ3f8wTiFHL30ZVXexTyPmgjwXEhg2K2P0a2lVf+8YBy7WtPoflB2Fp8/A== + dependencies: + "@types/argparse" "1.0.38" + argparse "~1.0.9" + colors "~1.2.1" + string-argv "~0.3.1" + "@sinclair/typebox@^0.27.8": version "0.27.8" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" @@ -780,6 +871,11 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== +"@types/argparse@1.0.38": + version "1.0.38" + resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" + integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== + "@types/babel__core@^7.1.14": version "7.1.19" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" @@ -1237,7 +1333,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5, ajv@~6.12.6: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1301,7 +1397,7 @@ arg@^4.1.0: resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== -argparse@^1.0.7: +argparse@^1.0.7, argparse@~1.0.9: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== @@ -1636,6 +1732,11 @@ colorette@^2.0.16: resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== +colors@~1.2.1: + version "1.2.5" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" + integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== + combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -1643,7 +1744,7 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" -commander@^2.20.0: +commander@^2.20.0, commander@^2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -2289,6 +2390,15 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +fs-extra@~7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -2416,7 +2526,7 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== @@ -2526,6 +2636,11 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" +import-lazy@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + import-local@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" @@ -2601,13 +2716,20 @@ is-callable@^1.1.4, is-callable@^1.2.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -is-core-module@^2.8.1, is-core-module@^2.9.0: +is-core-module@^2.1.0, is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== dependencies: has "^1.0.3" +is-core-module@^2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" + integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== + dependencies: + has "^1.0.3" + is-date-object@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" @@ -3166,6 +3288,11 @@ jest@^29.7.0: import-local "^3.0.2" jest-cli "^29.7.0" +jju@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" + integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== + js-base64@^3.7.7: version "3.7.7" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.7.tgz#e51b84bf78fbf5702b9541e2cb7bfcb893b43e79" @@ -3191,6 +3318,14 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" +js-yaml@~3.13.1: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + jsdom@^20.0.0: version "20.0.3" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" @@ -3255,6 +3390,13 @@ json5@^2.2.1, json5@^2.2.3: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" @@ -3350,6 +3492,16 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + lodash.memoize@4.x: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -3360,7 +3512,7 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash@^4.17.15, lodash@^4.17.21: +lodash@^4.17.15, lodash@^4.17.21, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -3682,7 +3834,7 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.7: +path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -3935,6 +4087,23 @@ resolve@^1.9.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@~1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + +resolve@~1.22.1: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -4015,7 +4184,7 @@ semver@^6.0.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4, semver@^7.3.7, semver@^7.5.3: +semver@^7.3.4, semver@^7.3.7, semver@^7.5.3, semver@~7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -4153,6 +4322,11 @@ string-argv@^0.3.1: resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== +string-argv@~0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + string-length@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" @@ -4241,7 +4415,7 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -4487,6 +4661,11 @@ typescript@^4.7.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== +typescript@~5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" + integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -4497,6 +4676,11 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + universalify@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" @@ -4544,6 +4728,11 @@ v8-to-istanbul@^9.0.1: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^2.0.0" +validator@^13.7.0: + version "13.7.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857" + integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw== + w3c-xmlserializer@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" @@ -4768,3 +4957,14 @@ yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +z-schema@~5.0.2: + version "5.0.3" + resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.3.tgz#68fafb9b735fc7f3c89eabb3e5a6353b4d7b4935" + integrity sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw== + dependencies: + lodash.get "^4.4.2" + lodash.isequal "^4.5.0" + validator "^13.7.0" + optionalDependencies: + commander "^2.20.3"