@launchdarkly/js-sdk-common 2.9.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/api/platform/Requests.d.ts +5 -0
- package/dist/api/platform/Requests.d.ts.map +1 -1
- package/dist/datasource/DataSourceErrorKinds.d.ts +7 -0
- package/dist/datasource/DataSourceErrorKinds.d.ts.map +1 -0
- package/dist/datasource/errors.d.ts +17 -0
- package/dist/datasource/errors.d.ts.map +1 -0
- package/dist/datasource/index.d.ts +4 -0
- package/dist/datasource/index.d.ts.map +1 -0
- package/dist/errors.d.ts +0 -11
- package/dist/errors.d.ts.map +1 -1
- package/dist/index.cjs +2477 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +2430 -0
- package/dist/index.mjs.map +1 -0
- package/dist/internal/events/EventSender.d.ts.map +1 -1
- package/dist/internal/index.d.ts +1 -1
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/stream/StreamingProcessor.d.ts.map +1 -1
- package/dist/internal/stream/types.d.ts +1 -1
- package/dist/internal/stream/types.d.ts.map +1 -1
- package/package.json +18 -7
- package/dist/AttributeReference.js +0 -126
- package/dist/AttributeReference.js.map +0 -1
- package/dist/Context.js +0 -382
- package/dist/Context.js.map +0 -1
- package/dist/ContextFilter.js +0 -124
- package/dist/ContextFilter.js.map +0 -1
- package/dist/api/context/LDContext.js +0 -3
- package/dist/api/context/LDContext.js.map +0 -1
- package/dist/api/context/LDContextCommon.js +0 -3
- package/dist/api/context/LDContextCommon.js.map +0 -1
- package/dist/api/context/LDContextMeta.js +0 -3
- package/dist/api/context/LDContextMeta.js.map +0 -1
- package/dist/api/context/LDMultiKindContext.js +0 -3
- package/dist/api/context/LDMultiKindContext.js.map +0 -1
- package/dist/api/context/LDSingleKindContext.js +0 -3
- package/dist/api/context/LDSingleKindContext.js.map +0 -1
- package/dist/api/context/LDUser.js +0 -3
- package/dist/api/context/LDUser.js.map +0 -1
- package/dist/api/context/index.js +0 -23
- package/dist/api/context/index.js.map +0 -1
- package/dist/api/data/LDEvaluationDetail.js +0 -3
- package/dist/api/data/LDEvaluationDetail.js.map +0 -1
- package/dist/api/data/LDEvaluationReason.js +0 -3
- package/dist/api/data/LDEvaluationReason.js.map +0 -1
- package/dist/api/data/LDFlagSet.js +0 -3
- package/dist/api/data/LDFlagSet.js.map +0 -1
- package/dist/api/data/LDFlagValue.js +0 -3
- package/dist/api/data/LDFlagValue.js.map +0 -1
- package/dist/api/data/index.js +0 -21
- package/dist/api/data/index.js.map +0 -1
- package/dist/api/index.js +0 -24
- package/dist/api/index.js.map +0 -1
- package/dist/api/logging/BasicLoggerOptions.js +0 -3
- package/dist/api/logging/BasicLoggerOptions.js.map +0 -1
- package/dist/api/logging/LDLogLevel.js +0 -3
- package/dist/api/logging/LDLogLevel.js.map +0 -1
- package/dist/api/logging/LDLogger.js +0 -3
- package/dist/api/logging/LDLogger.js.map +0 -1
- package/dist/api/logging/index.js +0 -20
- package/dist/api/logging/index.js.map +0 -1
- package/dist/api/options/LDClientContext.js +0 -3
- package/dist/api/options/LDClientContext.js.map +0 -1
- package/dist/api/options/index.js +0 -4
- package/dist/api/options/index.js.map +0 -1
- package/dist/api/platform/AutoEnv.js +0 -20
- package/dist/api/platform/AutoEnv.js.map +0 -1
- package/dist/api/platform/Crypto.js +0 -3
- package/dist/api/platform/Crypto.js.map +0 -1
- package/dist/api/platform/Encoding.js +0 -3
- package/dist/api/platform/Encoding.js.map +0 -1
- package/dist/api/platform/EventSource.js +0 -3
- package/dist/api/platform/EventSource.js.map +0 -1
- package/dist/api/platform/Filesystem.js +0 -3
- package/dist/api/platform/Filesystem.js.map +0 -1
- package/dist/api/platform/Info.js +0 -3
- package/dist/api/platform/Info.js.map +0 -1
- package/dist/api/platform/Platform.js +0 -3
- package/dist/api/platform/Platform.js.map +0 -1
- package/dist/api/platform/Requests.js +0 -3
- package/dist/api/platform/Requests.js.map +0 -1
- package/dist/api/platform/Storage.js +0 -3
- package/dist/api/platform/Storage.js.map +0 -1
- package/dist/api/platform/index.js +0 -26
- package/dist/api/platform/index.js.map +0 -1
- package/dist/api/subsystem/LDContextDeduplicator.js +0 -3
- package/dist/api/subsystem/LDContextDeduplicator.js.map +0 -1
- package/dist/api/subsystem/LDEventProcessor.js +0 -3
- package/dist/api/subsystem/LDEventProcessor.js.map +0 -1
- package/dist/api/subsystem/LDEventSender.js +0 -15
- package/dist/api/subsystem/LDEventSender.js.map +0 -1
- package/dist/api/subsystem/LDStreamProcessor.js +0 -3
- package/dist/api/subsystem/LDStreamProcessor.js.map +0 -1
- package/dist/api/subsystem/index.js +0 -7
- package/dist/api/subsystem/index.js.map +0 -1
- package/dist/errors.js +0 -78
- package/dist/errors.js.map +0 -1
- package/dist/index.js +0 -31
- package/dist/index.js.map +0 -1
- package/dist/internal/context/index.js +0 -38
- package/dist/internal/context/index.js.map +0 -1
- package/dist/internal/diagnostics/DiagnosticsManager.js +0 -70
- package/dist/internal/diagnostics/DiagnosticsManager.js.map +0 -1
- package/dist/internal/diagnostics/index.js +0 -6
- package/dist/internal/diagnostics/index.js.map +0 -1
- package/dist/internal/diagnostics/types.js +0 -3
- package/dist/internal/diagnostics/types.js.map +0 -1
- package/dist/internal/evaluation/ErrorKinds.js +0 -15
- package/dist/internal/evaluation/ErrorKinds.js.map +0 -1
- package/dist/internal/evaluation/EventFactoryBase.js +0 -38
- package/dist/internal/evaluation/EventFactoryBase.js.map +0 -1
- package/dist/internal/evaluation/index.js +0 -8
- package/dist/internal/evaluation/index.js.map +0 -1
- package/dist/internal/events/ClientMessages.js +0 -14
- package/dist/internal/events/ClientMessages.js.map +0 -1
- package/dist/internal/events/EventProcessor.js +0 -263
- package/dist/internal/events/EventProcessor.js.map +0 -1
- package/dist/internal/events/EventSender.js +0 -77
- package/dist/internal/events/EventSender.js.map +0 -1
- package/dist/internal/events/EventSummarizer.js +0 -84
- package/dist/internal/events/EventSummarizer.js.map +0 -1
- package/dist/internal/events/InputClickEvent.js +0 -3
- package/dist/internal/events/InputClickEvent.js.map +0 -1
- package/dist/internal/events/InputCustomEvent.js +0 -22
- package/dist/internal/events/InputCustomEvent.js.map +0 -1
- package/dist/internal/events/InputEvalEvent.js +0 -38
- package/dist/internal/events/InputEvalEvent.js.map +0 -1
- package/dist/internal/events/InputEvent.js +0 -3
- package/dist/internal/events/InputEvent.js.map +0 -1
- package/dist/internal/events/InputEventBase.js +0 -11
- package/dist/internal/events/InputEventBase.js.map +0 -1
- package/dist/internal/events/InputIdentifyEvent.js +0 -12
- package/dist/internal/events/InputIdentifyEvent.js.map +0 -1
- package/dist/internal/events/InputMigrationEvent.js +0 -7
- package/dist/internal/events/InputMigrationEvent.js.map +0 -1
- package/dist/internal/events/InputPageViewEvent.js +0 -3
- package/dist/internal/events/InputPageViewEvent.js.map +0 -1
- package/dist/internal/events/LDInternalOptions.js +0 -3
- package/dist/internal/events/LDInternalOptions.js.map +0 -1
- package/dist/internal/events/LDInvalidSDKKeyError.js +0 -10
- package/dist/internal/events/LDInvalidSDKKeyError.js.map +0 -1
- package/dist/internal/events/NullEventProcessor.js +0 -11
- package/dist/internal/events/NullEventProcessor.js.map +0 -1
- package/dist/internal/events/SummaryCounter.js +0 -20
- package/dist/internal/events/SummaryCounter.js.map +0 -1
- package/dist/internal/events/guards.js +0 -20
- package/dist/internal/events/guards.js.map +0 -1
- package/dist/internal/events/index.js +0 -18
- package/dist/internal/events/index.js.map +0 -1
- package/dist/internal/events/sampling.js +0 -23
- package/dist/internal/events/sampling.js.map +0 -1
- package/dist/internal/index.js +0 -22
- package/dist/internal/index.js.map +0 -1
- package/dist/internal/stream/StreamingProcessor.js +0 -113
- package/dist/internal/stream/StreamingProcessor.js.map +0 -1
- package/dist/internal/stream/index.js +0 -6
- package/dist/internal/stream/index.js.map +0 -1
- package/dist/internal/stream/types.js +0 -3
- package/dist/internal/stream/types.js.map +0 -1
- package/dist/logging/BasicLogger.js +0 -97
- package/dist/logging/BasicLogger.js.map +0 -1
- package/dist/logging/SafeLogger.js +0 -63
- package/dist/logging/SafeLogger.js.map +0 -1
- package/dist/logging/createSafeLogger.js +0 -16
- package/dist/logging/createSafeLogger.js.map +0 -1
- package/dist/logging/format.js +0 -156
- package/dist/logging/format.js.map +0 -1
- package/dist/logging/index.js +0 -10
- package/dist/logging/index.js.map +0 -1
- package/dist/options/ApplicationTags.js +0 -55
- package/dist/options/ApplicationTags.js.map +0 -1
- package/dist/options/ClientContext.js +0 -20
- package/dist/options/ClientContext.js.map +0 -1
- package/dist/options/OptionMessages.js +0 -33
- package/dist/options/OptionMessages.js.map +0 -1
- package/dist/options/ServiceEndpoints.js +0 -77
- package/dist/options/ServiceEndpoints.js.map +0 -1
- package/dist/options/index.js +0 -15
- package/dist/options/index.js.map +0 -1
- package/dist/utils/VoidFunction.js +0 -3
- package/dist/utils/VoidFunction.js.map +0 -1
- package/dist/utils/cancelableTimedPromise.js +0 -30
- package/dist/utils/cancelableTimedPromise.js.map +0 -1
- package/dist/utils/clone.js +0 -10
- package/dist/utils/clone.js.map +0 -1
- package/dist/utils/date.js +0 -9
- package/dist/utils/date.js.map +0 -1
- package/dist/utils/debounce.js +0 -33
- package/dist/utils/debounce.js.map +0 -1
- package/dist/utils/deepCompact.js +0 -24
- package/dist/utils/deepCompact.js.map +0 -1
- package/dist/utils/fast-deep-equal/index.js +0 -90
- package/dist/utils/fast-deep-equal/index.js.map +0 -1
- package/dist/utils/http.js +0 -53
- package/dist/utils/http.js.map +0 -1
- package/dist/utils/index.js +0 -27
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/isEmptyObject.js +0 -5
- package/dist/utils/isEmptyObject.js.map +0 -1
- package/dist/utils/noop.js +0 -4
- package/dist/utils/noop.js.map +0 -1
- package/dist/utils/sleep.js +0 -7
- package/dist/utils/sleep.js.map +0 -1
- package/dist/utils/timedPromise.js +0 -17
- package/dist/utils/timedPromise.js.map +0 -1
- package/dist/validators.js +0 -175
- package/dist/validators.js.map +0 -1
package/dist/Context.js
DELETED
|
@@ -1,382 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const AttributeReference_1 = require("./AttributeReference");
|
|
4
|
-
const context_1 = require("./internal/context");
|
|
5
|
-
const validators_1 = require("./validators");
|
|
6
|
-
// The general strategy for the context is to transform the passed in context
|
|
7
|
-
// as little as possible. We do convert the legacy users to a single kind
|
|
8
|
-
// context, but we do not translate all passed contexts into a rigid structure.
|
|
9
|
-
// The context will have to be copied for events, but we want to avoid any
|
|
10
|
-
// copying that we can.
|
|
11
|
-
// So we validate that the information we are given is correct, and then we
|
|
12
|
-
// just proxy calls with a nicely typed interface.
|
|
13
|
-
// This is to reduce work on the hot-path. Later, for event processing, deeper
|
|
14
|
-
// cloning of the context will be done.
|
|
15
|
-
// When no kind is specified, then this kind will be used.
|
|
16
|
-
const DEFAULT_KIND = 'user';
|
|
17
|
-
// The API allows for calling with an `LDContext` which is
|
|
18
|
-
// `LDUser | LDSingleKindContext | LDMultiKindContext`. When ingesting a context
|
|
19
|
-
// first the type must be determined to allow us to put it into a consistent type.
|
|
20
|
-
/**
|
|
21
|
-
* The partial URL encoding is needed because : is a valid character in context keys.
|
|
22
|
-
*
|
|
23
|
-
* Partial encoding is the replacement of all colon (:) characters with the URL
|
|
24
|
-
* encoded equivalent (%3A) and all percent (%) characters with the URL encoded
|
|
25
|
-
* equivalent (%25).
|
|
26
|
-
* @param key The key to encode.
|
|
27
|
-
* @returns Partially URL encoded key.
|
|
28
|
-
*/
|
|
29
|
-
function encodeKey(key) {
|
|
30
|
-
if (key.includes('%') || key.includes(':')) {
|
|
31
|
-
return key.replace(/%/g, '%25').replace(/:/g, '%3A');
|
|
32
|
-
}
|
|
33
|
-
return key;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Check if the given value is a LDContextCommon.
|
|
37
|
-
* @param kindOrContext
|
|
38
|
-
* @returns true if it is an LDContextCommon
|
|
39
|
-
*
|
|
40
|
-
* Due to a limitation in the expressiveness of these highly polymorphic types any field
|
|
41
|
-
* in a multi-kind context can either be a context or 'kind'. So we need to re-assure
|
|
42
|
-
* the compiler that it isn't the word multi.
|
|
43
|
-
*
|
|
44
|
-
* Because we do not allow top level values in a multi-kind context we can validate
|
|
45
|
-
* that as well.
|
|
46
|
-
*/
|
|
47
|
-
function isContextCommon(kindOrContext) {
|
|
48
|
-
return kindOrContext && validators_1.TypeValidators.Object.is(kindOrContext);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Validate a context kind.
|
|
52
|
-
* @param kind
|
|
53
|
-
* @returns true if the kind is valid.
|
|
54
|
-
*/
|
|
55
|
-
function validKind(kind) {
|
|
56
|
-
return validators_1.TypeValidators.Kind.is(kind);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Validate a context key.
|
|
60
|
-
* @param key
|
|
61
|
-
* @returns true if the key is valid.
|
|
62
|
-
*/
|
|
63
|
-
function validKey(key) {
|
|
64
|
-
return validators_1.TypeValidators.String.is(key) && key !== '';
|
|
65
|
-
}
|
|
66
|
-
function processPrivateAttributes(privateAttributes, literals = false) {
|
|
67
|
-
if (privateAttributes) {
|
|
68
|
-
return privateAttributes.map((privateAttribute) => new AttributeReference_1.default(privateAttribute, literals));
|
|
69
|
-
}
|
|
70
|
-
return [];
|
|
71
|
-
}
|
|
72
|
-
function defined(value) {
|
|
73
|
-
return value !== null && value !== undefined;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Convert a legacy user to a single kind context.
|
|
77
|
-
* @param user
|
|
78
|
-
* @returns A single kind context.
|
|
79
|
-
*/
|
|
80
|
-
function legacyToSingleKind(user) {
|
|
81
|
-
const singleKindContext = Object.assign(Object.assign({}, (user.custom || [])), { kind: 'user', key: String(user.key) });
|
|
82
|
-
// For legacy users we never established a difference between null
|
|
83
|
-
// and undefined for inputs. Because anonymous can be used in evaluations
|
|
84
|
-
// we would want it to not possibly match true/false unless defined.
|
|
85
|
-
// Which is different than coercing a null/undefined anonymous as `false`.
|
|
86
|
-
if (defined(user.anonymous)) {
|
|
87
|
-
const anonymous = !!user.anonymous;
|
|
88
|
-
delete singleKindContext.anonymous;
|
|
89
|
-
singleKindContext.anonymous = anonymous;
|
|
90
|
-
}
|
|
91
|
-
if (user.name !== null && user.name !== undefined) {
|
|
92
|
-
singleKindContext.name = user.name;
|
|
93
|
-
}
|
|
94
|
-
if (user.ip !== null && user.ip !== undefined) {
|
|
95
|
-
singleKindContext.ip = user.ip;
|
|
96
|
-
}
|
|
97
|
-
if (user.firstName !== null && user.firstName !== undefined) {
|
|
98
|
-
singleKindContext.firstName = user.firstName;
|
|
99
|
-
}
|
|
100
|
-
if (user.lastName !== null && user.lastName !== undefined) {
|
|
101
|
-
singleKindContext.lastName = user.lastName;
|
|
102
|
-
}
|
|
103
|
-
if (user.email !== null && user.email !== undefined) {
|
|
104
|
-
singleKindContext.email = user.email;
|
|
105
|
-
}
|
|
106
|
-
if (user.avatar !== null && user.avatar !== undefined) {
|
|
107
|
-
singleKindContext.avatar = user.avatar;
|
|
108
|
-
}
|
|
109
|
-
if (user.country !== null && user.country !== undefined) {
|
|
110
|
-
singleKindContext.country = user.country;
|
|
111
|
-
}
|
|
112
|
-
if (user.privateAttributeNames !== null && user.privateAttributeNames !== undefined) {
|
|
113
|
-
singleKindContext._meta = {
|
|
114
|
-
privateAttributes: user.privateAttributeNames,
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
// We are not pulling private attributes over because we will serialize
|
|
118
|
-
// those from attribute references for events.
|
|
119
|
-
return singleKindContext;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Container for a context/contexts. Because contexts come from external code
|
|
123
|
-
* they must be thoroughly validated and then formed to comply with
|
|
124
|
-
* the type system.
|
|
125
|
-
*/
|
|
126
|
-
class Context {
|
|
127
|
-
/**
|
|
128
|
-
* Contexts should be created using the static factory method {@link Context.fromLDContext}.
|
|
129
|
-
* @param kind The kind of the context.
|
|
130
|
-
*
|
|
131
|
-
* The factory methods are static functions within the class because they access private
|
|
132
|
-
* implementation details, so they cannot be free functions.
|
|
133
|
-
*/
|
|
134
|
-
constructor(valid, kind, message) {
|
|
135
|
-
this.isMulti = false;
|
|
136
|
-
this.isUser = false;
|
|
137
|
-
this.wasLegacy = false;
|
|
138
|
-
this.contexts = {};
|
|
139
|
-
this.kind = kind;
|
|
140
|
-
this.valid = valid;
|
|
141
|
-
this.message = message;
|
|
142
|
-
}
|
|
143
|
-
static contextForError(kind, message) {
|
|
144
|
-
return new Context(false, kind, message);
|
|
145
|
-
}
|
|
146
|
-
static getValueFromContext(reference, context) {
|
|
147
|
-
if (!context || !reference.isValid) {
|
|
148
|
-
return undefined;
|
|
149
|
-
}
|
|
150
|
-
if (reference.depth === 1 && reference.getComponent(0) === 'anonymous') {
|
|
151
|
-
return !!(context === null || context === void 0 ? void 0 : context.anonymous);
|
|
152
|
-
}
|
|
153
|
-
return reference.get(context);
|
|
154
|
-
}
|
|
155
|
-
contextForKind(kind) {
|
|
156
|
-
if (this.isMulti) {
|
|
157
|
-
return this.contexts[kind];
|
|
158
|
-
}
|
|
159
|
-
if (this.kind === kind) {
|
|
160
|
-
return this.context;
|
|
161
|
-
}
|
|
162
|
-
return undefined;
|
|
163
|
-
}
|
|
164
|
-
static fromMultiKindContext(context) {
|
|
165
|
-
const kinds = Object.keys(context).filter((key) => key !== 'kind');
|
|
166
|
-
const kindsValid = kinds.every(validKind);
|
|
167
|
-
if (!kinds.length) {
|
|
168
|
-
return Context.contextForError('multi', 'A multi-kind context must contain at least one kind');
|
|
169
|
-
}
|
|
170
|
-
if (!kindsValid) {
|
|
171
|
-
return Context.contextForError('multi', 'Context contains invalid kinds');
|
|
172
|
-
}
|
|
173
|
-
const privateAttributes = {};
|
|
174
|
-
let contextsAreObjects = true;
|
|
175
|
-
const contexts = kinds.reduce((acc, kind) => {
|
|
176
|
-
var _a;
|
|
177
|
-
const singleContext = context[kind];
|
|
178
|
-
if (isContextCommon(singleContext)) {
|
|
179
|
-
acc[kind] = singleContext;
|
|
180
|
-
privateAttributes[kind] = processPrivateAttributes((_a = singleContext._meta) === null || _a === void 0 ? void 0 : _a.privateAttributes);
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
// No early break isn't the most efficient, but it is an error condition.
|
|
184
|
-
contextsAreObjects = false;
|
|
185
|
-
}
|
|
186
|
-
return acc;
|
|
187
|
-
}, {});
|
|
188
|
-
if (!contextsAreObjects) {
|
|
189
|
-
return Context.contextForError('multi', 'Context contained contexts that were not objects');
|
|
190
|
-
}
|
|
191
|
-
if (!Object.values(contexts).every((part) => validKey(part.key))) {
|
|
192
|
-
return Context.contextForError('multi', 'Context contained invalid keys');
|
|
193
|
-
}
|
|
194
|
-
// There was only a single kind in the multi-kind context.
|
|
195
|
-
// So we can just translate this to a single-kind context.
|
|
196
|
-
if (kinds.length === 1) {
|
|
197
|
-
const kind = kinds[0];
|
|
198
|
-
const created = new Context(true, kind);
|
|
199
|
-
created.context = Object.assign(Object.assign({}, contexts[kind]), { kind });
|
|
200
|
-
created.privateAttributeReferences = privateAttributes;
|
|
201
|
-
created.isUser = kind === 'user';
|
|
202
|
-
return created;
|
|
203
|
-
}
|
|
204
|
-
const created = new Context(true, context.kind);
|
|
205
|
-
created.contexts = contexts;
|
|
206
|
-
created.privateAttributeReferences = privateAttributes;
|
|
207
|
-
created.isMulti = true;
|
|
208
|
-
return created;
|
|
209
|
-
}
|
|
210
|
-
static fromSingleKindContext(context) {
|
|
211
|
-
var _a;
|
|
212
|
-
const { key, kind } = context;
|
|
213
|
-
const kindValid = validKind(kind);
|
|
214
|
-
const keyValid = validKey(key);
|
|
215
|
-
if (!kindValid) {
|
|
216
|
-
return Context.contextForError(kind !== null && kind !== void 0 ? kind : 'unknown', 'The kind was not valid for the context');
|
|
217
|
-
}
|
|
218
|
-
if (!keyValid) {
|
|
219
|
-
return Context.contextForError(kind, 'The key for the context was not valid');
|
|
220
|
-
}
|
|
221
|
-
// The JSON interfaces uses dangling _.
|
|
222
|
-
// eslint-disable-next-line no-underscore-dangle
|
|
223
|
-
const privateAttributeReferences = processPrivateAttributes((_a = context._meta) === null || _a === void 0 ? void 0 : _a.privateAttributes);
|
|
224
|
-
const created = new Context(true, kind);
|
|
225
|
-
created.isUser = kind === 'user';
|
|
226
|
-
created.context = context;
|
|
227
|
-
created.privateAttributeReferences = {
|
|
228
|
-
[kind]: privateAttributeReferences,
|
|
229
|
-
};
|
|
230
|
-
return created;
|
|
231
|
-
}
|
|
232
|
-
static fromLegacyUser(context) {
|
|
233
|
-
const keyValid = context.key !== undefined && context.key !== null;
|
|
234
|
-
// For legacy users we allow empty keys.
|
|
235
|
-
if (!keyValid) {
|
|
236
|
-
return Context.contextForError('user', 'The key for the context was not valid');
|
|
237
|
-
}
|
|
238
|
-
const created = new Context(true, 'user');
|
|
239
|
-
created.isUser = true;
|
|
240
|
-
created.wasLegacy = true;
|
|
241
|
-
created.context = legacyToSingleKind(context);
|
|
242
|
-
created.privateAttributeReferences = {
|
|
243
|
-
user: processPrivateAttributes(context.privateAttributeNames, true),
|
|
244
|
-
};
|
|
245
|
-
return created;
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Attempt to create a {@link Context} from an {@link LDContext}.
|
|
249
|
-
* @param context The input context to create a Context from.
|
|
250
|
-
* @returns a {@link Context}, if the context was not valid, then the returned contexts `valid`
|
|
251
|
-
* property will be false.
|
|
252
|
-
*/
|
|
253
|
-
static fromLDContext(context) {
|
|
254
|
-
if (!context) {
|
|
255
|
-
return Context.contextForError('unknown', 'No context specified. Returning default value');
|
|
256
|
-
}
|
|
257
|
-
if ((0, context_1.isSingleKind)(context)) {
|
|
258
|
-
return Context.fromSingleKindContext(context);
|
|
259
|
-
}
|
|
260
|
-
if ((0, context_1.isMultiKind)(context)) {
|
|
261
|
-
return Context.fromMultiKindContext(context);
|
|
262
|
-
}
|
|
263
|
-
if ((0, context_1.isLegacyUser)(context)) {
|
|
264
|
-
return Context.fromLegacyUser(context);
|
|
265
|
-
}
|
|
266
|
-
return Context.contextForError('unknown', 'Context was not of a valid kind');
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Creates a {@link LDContext} from a {@link Context}.
|
|
270
|
-
* @param context to be converted
|
|
271
|
-
* @returns an {@link LDContext} if input was valid, otherwise undefined
|
|
272
|
-
*/
|
|
273
|
-
static toLDContext(context) {
|
|
274
|
-
if (!context.valid) {
|
|
275
|
-
return undefined;
|
|
276
|
-
}
|
|
277
|
-
const contexts = context.getContexts();
|
|
278
|
-
if (!context.isMulti) {
|
|
279
|
-
return contexts[0][1];
|
|
280
|
-
}
|
|
281
|
-
const result = {
|
|
282
|
-
kind: 'multi',
|
|
283
|
-
};
|
|
284
|
-
contexts.forEach((kindAndContext) => {
|
|
285
|
-
const kind = kindAndContext[0];
|
|
286
|
-
const nestedContext = kindAndContext[1];
|
|
287
|
-
result[kind] = nestedContext;
|
|
288
|
-
});
|
|
289
|
-
return result;
|
|
290
|
-
}
|
|
291
|
-
/**
|
|
292
|
-
* Attempt to get a value for the given context kind using the given reference.
|
|
293
|
-
* @param reference The reference to the value to get.
|
|
294
|
-
* @param kind The kind of the context to get the value for.
|
|
295
|
-
* @returns a value or `undefined` if one is not found.
|
|
296
|
-
*/
|
|
297
|
-
valueForKind(reference, kind = DEFAULT_KIND) {
|
|
298
|
-
if (reference.isKind) {
|
|
299
|
-
return this.kinds;
|
|
300
|
-
}
|
|
301
|
-
return Context.getValueFromContext(reference, this.contextForKind(kind));
|
|
302
|
-
}
|
|
303
|
-
/**
|
|
304
|
-
* Attempt to get a key for the specified kind.
|
|
305
|
-
* @param kind The kind to get a key for.
|
|
306
|
-
* @returns The key for the specified kind, or undefined.
|
|
307
|
-
*/
|
|
308
|
-
key(kind = DEFAULT_KIND) {
|
|
309
|
-
var _a;
|
|
310
|
-
return (_a = this.contextForKind(kind)) === null || _a === void 0 ? void 0 : _a.key;
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* True if this is a multi-kind context.
|
|
314
|
-
*/
|
|
315
|
-
get isMultiKind() {
|
|
316
|
-
return this.isMulti;
|
|
317
|
-
}
|
|
318
|
-
/**
|
|
319
|
-
* Get the canonical key for this context.
|
|
320
|
-
*/
|
|
321
|
-
get canonicalKey() {
|
|
322
|
-
if (this.isUser) {
|
|
323
|
-
return this.context.key;
|
|
324
|
-
}
|
|
325
|
-
if (this.isMulti) {
|
|
326
|
-
return Object.keys(this.contexts)
|
|
327
|
-
.sort()
|
|
328
|
-
.map((key) => `${key}:${encodeKey(this.contexts[key].key)}`)
|
|
329
|
-
.join(':');
|
|
330
|
-
}
|
|
331
|
-
return `${this.kind}:${encodeKey(this.context.key)}`;
|
|
332
|
-
}
|
|
333
|
-
/**
|
|
334
|
-
* Get the kinds of this context.
|
|
335
|
-
*/
|
|
336
|
-
get kinds() {
|
|
337
|
-
if (this.isMulti) {
|
|
338
|
-
return Object.keys(this.contexts);
|
|
339
|
-
}
|
|
340
|
-
return [this.kind];
|
|
341
|
-
}
|
|
342
|
-
/**
|
|
343
|
-
* Get the kinds, and their keys, for this context.
|
|
344
|
-
*/
|
|
345
|
-
get kindsAndKeys() {
|
|
346
|
-
if (this.isMulti) {
|
|
347
|
-
return Object.entries(this.contexts).reduce((acc, [kind, context]) => {
|
|
348
|
-
acc[kind] = context.key;
|
|
349
|
-
return acc;
|
|
350
|
-
}, {});
|
|
351
|
-
}
|
|
352
|
-
return { [this.kind]: this.context.key };
|
|
353
|
-
}
|
|
354
|
-
/**
|
|
355
|
-
* Get the attribute references.
|
|
356
|
-
*
|
|
357
|
-
* @param kind
|
|
358
|
-
*/
|
|
359
|
-
privateAttributes(kind) {
|
|
360
|
-
var _a;
|
|
361
|
-
return ((_a = this.privateAttributeReferences) === null || _a === void 0 ? void 0 : _a[kind]) || [];
|
|
362
|
-
}
|
|
363
|
-
/**
|
|
364
|
-
* Get the underlying context objects from this context.
|
|
365
|
-
*
|
|
366
|
-
* This method is intended to be used in event generation.
|
|
367
|
-
*
|
|
368
|
-
* The returned objects should not be modified.
|
|
369
|
-
*/
|
|
370
|
-
getContexts() {
|
|
371
|
-
if (this.isMulti) {
|
|
372
|
-
return Object.entries(this.contexts);
|
|
373
|
-
}
|
|
374
|
-
return [[this.kind, this.context]];
|
|
375
|
-
}
|
|
376
|
-
get legacy() {
|
|
377
|
-
return this.wasLegacy;
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
Context.userKind = DEFAULT_KIND;
|
|
381
|
-
exports.default = Context;
|
|
382
|
-
//# sourceMappingURL=Context.js.map
|
package/dist/Context.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../src/Context.ts"],"names":[],"mappings":"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"}
|
package/dist/ContextFilter.js
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// _meta is part of the specification.
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
const AttributeReference_1 = require("./AttributeReference");
|
|
5
|
-
// These attributes cannot be removed via a private attribute.
|
|
6
|
-
const protectedAttributes = ['key', 'kind', '_meta', 'anonymous'].map((str) => new AttributeReference_1.default(str, true));
|
|
7
|
-
// Attributes that should be stringified for legacy users.
|
|
8
|
-
const legacyTopLevelCopyAttributes = [
|
|
9
|
-
'name',
|
|
10
|
-
'ip',
|
|
11
|
-
'firstName',
|
|
12
|
-
'lastName',
|
|
13
|
-
'email',
|
|
14
|
-
'avatar',
|
|
15
|
-
'country',
|
|
16
|
-
];
|
|
17
|
-
function compare(a, b) {
|
|
18
|
-
return a.depth === b.length && b.every((value, index) => value === a.getComponent(index));
|
|
19
|
-
}
|
|
20
|
-
function cloneWithRedactions(target, references) {
|
|
21
|
-
const stack = [];
|
|
22
|
-
const cloned = {};
|
|
23
|
-
const excluded = [];
|
|
24
|
-
stack.push(...Object.keys(target).map((key) => ({
|
|
25
|
-
key,
|
|
26
|
-
ptr: [key],
|
|
27
|
-
source: target,
|
|
28
|
-
parent: cloned,
|
|
29
|
-
visited: [target],
|
|
30
|
-
})));
|
|
31
|
-
while (stack.length) {
|
|
32
|
-
const item = stack.pop();
|
|
33
|
-
const redactRef = references.find((ref) => compare(ref, item.ptr));
|
|
34
|
-
if (!redactRef) {
|
|
35
|
-
const value = item.source[item.key];
|
|
36
|
-
// Handle null because it overlaps with object, which we will want to handle later.
|
|
37
|
-
if (value === null) {
|
|
38
|
-
item.parent[item.key] = value;
|
|
39
|
-
}
|
|
40
|
-
else if (Array.isArray(value)) {
|
|
41
|
-
item.parent[item.key] = [...value];
|
|
42
|
-
}
|
|
43
|
-
else if (typeof value === 'object') {
|
|
44
|
-
// Arrays and null must already be handled.
|
|
45
|
-
// Prevent cycles by not visiting the same object
|
|
46
|
-
// with in the same branch. Different branches
|
|
47
|
-
// may contain the same object.
|
|
48
|
-
//
|
|
49
|
-
// Same object visited twice in different branches.
|
|
50
|
-
// A -> B -> D
|
|
51
|
-
// -> C -> D
|
|
52
|
-
// This is fine, which is why it doesn't just check if the object
|
|
53
|
-
// was visited ever.
|
|
54
|
-
if (!item.visited.includes(value)) {
|
|
55
|
-
item.parent[item.key] = {};
|
|
56
|
-
stack.push(...Object.keys(value).map((key) => ({
|
|
57
|
-
key,
|
|
58
|
-
ptr: [...item.ptr, key],
|
|
59
|
-
source: value,
|
|
60
|
-
parent: item.parent[item.key],
|
|
61
|
-
visited: [...item.visited, value],
|
|
62
|
-
})));
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
item.parent[item.key] = value;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
excluded.push(redactRef.redactionName);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
return { cloned, excluded: excluded.sort() };
|
|
74
|
-
}
|
|
75
|
-
class ContextFilter {
|
|
76
|
-
constructor(allAttributesPrivate, privateAttributes) {
|
|
77
|
-
this.allAttributesPrivate = allAttributesPrivate;
|
|
78
|
-
this.privateAttributes = privateAttributes;
|
|
79
|
-
}
|
|
80
|
-
filter(context, redactAnonymousAttributes = false) {
|
|
81
|
-
const contexts = context.getContexts();
|
|
82
|
-
if (contexts.length === 1) {
|
|
83
|
-
return this.filterSingleKind(context, contexts[0][1], contexts[0][0], redactAnonymousAttributes);
|
|
84
|
-
}
|
|
85
|
-
const filteredMulti = {
|
|
86
|
-
kind: 'multi',
|
|
87
|
-
};
|
|
88
|
-
contexts.forEach(([kind, single]) => {
|
|
89
|
-
filteredMulti[kind] = this.filterSingleKind(context, single, kind, redactAnonymousAttributes);
|
|
90
|
-
});
|
|
91
|
-
return filteredMulti;
|
|
92
|
-
}
|
|
93
|
-
getAttributesToFilter(context, single, kind, redactAllAttributes) {
|
|
94
|
-
return (redactAllAttributes
|
|
95
|
-
? Object.keys(single).map((k) => new AttributeReference_1.default(k, true))
|
|
96
|
-
: [...this.privateAttributes, ...context.privateAttributes(kind)]).filter((attr) => !protectedAttributes.some((protectedAttr) => protectedAttr.compare(attr)));
|
|
97
|
-
}
|
|
98
|
-
filterSingleKind(context, single, kind, redactAnonymousAttributes) {
|
|
99
|
-
const redactAllAttributes = this.allAttributesPrivate || (redactAnonymousAttributes && single.anonymous === true);
|
|
100
|
-
const { cloned, excluded } = cloneWithRedactions(single, this.getAttributesToFilter(context, single, kind, redactAllAttributes));
|
|
101
|
-
if (context.legacy) {
|
|
102
|
-
legacyTopLevelCopyAttributes.forEach((name) => {
|
|
103
|
-
if (name in cloned) {
|
|
104
|
-
cloned[name] = String(cloned[name]);
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
if (excluded.length) {
|
|
109
|
-
if (!cloned._meta) {
|
|
110
|
-
cloned._meta = {};
|
|
111
|
-
}
|
|
112
|
-
cloned._meta.redactedAttributes = excluded;
|
|
113
|
-
}
|
|
114
|
-
if (cloned._meta) {
|
|
115
|
-
delete cloned._meta.privateAttributes;
|
|
116
|
-
if (Object.keys(cloned._meta).length === 0) {
|
|
117
|
-
delete cloned._meta;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return cloned;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
exports.default = ContextFilter;
|
|
124
|
-
//# sourceMappingURL=ContextFilter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContextFilter.js","sourceRoot":"","sources":["../src/ContextFilter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDContext.js","sourceRoot":"","sources":["../../../src/api/context/LDContext.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDContextCommon.js","sourceRoot":"","sources":["../../../src/api/context/LDContextCommon.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDContextMeta.js","sourceRoot":"","sources":["../../../src/api/context/LDContextMeta.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDMultiKindContext.js","sourceRoot":"","sources":["../../../src/api/context/LDMultiKindContext.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDSingleKindContext.js","sourceRoot":"","sources":["../../../src/api/context/LDSingleKindContext.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDUser.js","sourceRoot":"","sources":["../../../src/api/context/LDUser.ts"],"names":[],"mappings":""}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./LDContextCommon"), exports);
|
|
18
|
-
__exportStar(require("./LDContextMeta"), exports);
|
|
19
|
-
__exportStar(require("./LDMultiKindContext"), exports);
|
|
20
|
-
__exportStar(require("./LDSingleKindContext"), exports);
|
|
21
|
-
__exportStar(require("./LDUser"), exports);
|
|
22
|
-
__exportStar(require("./LDContext"), exports);
|
|
23
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/context/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,kDAAgC;AAChC,uDAAqC;AACrC,wDAAsC;AACtC,2CAAyB;AACzB,8CAA4B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDEvaluationDetail.js","sourceRoot":"","sources":["../../../src/api/data/LDEvaluationDetail.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDEvaluationReason.js","sourceRoot":"","sources":["../../../src/api/data/LDEvaluationReason.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDFlagSet.js","sourceRoot":"","sources":["../../../src/api/data/LDFlagSet.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDFlagValue.js","sourceRoot":"","sources":["../../../src/api/data/LDFlagValue.ts"],"names":[],"mappings":""}
|