@ninetailed/experience.js-utils 2.2.0 → 2.2.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ninetailed/experience.js-utils",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./src/index.d.ts"
@@ -1,267 +1,12 @@
1
1
  import { ExperienceConfiguration } from '@ninetailed/experience.js';
2
2
  import { z } from 'zod';
3
- declare const ExperienceEntry: z.ZodObject<{
4
- id: z.ZodString;
5
- type: z.ZodUnion<[z.ZodLiteral<"nt_experiment">, z.ZodLiteral<"nt_personalization">]>;
6
- variants: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
7
- id: z.ZodString;
8
- }, "passthrough", z.ZodTypeAny, {
9
- id: string;
10
- }, {
11
- id: string;
12
- }>, "many">>>;
13
- name: z.ZodString;
14
- config: z.ZodOptional<z.ZodDefault<z.ZodObject<{
15
- distribution: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
16
- traffic: z.ZodDefault<z.ZodNumber>;
17
- components: z.ZodDefault<z.ZodArray<z.ZodObject<{
18
- baseline: z.ZodObject<{
19
- id: z.ZodDefault<z.ZodString>;
20
- }, "strip", z.ZodTypeAny, {
21
- id: string;
22
- }, {
23
- id?: string | undefined;
24
- }>;
25
- variants: z.ZodArray<z.ZodObject<{
26
- id: z.ZodDefault<z.ZodString>;
27
- hidden: z.ZodDefault<z.ZodBoolean>;
28
- }, "strip", z.ZodTypeAny, {
29
- id: string;
30
- hidden: boolean;
31
- }, {
32
- id?: string | undefined;
33
- hidden?: boolean | undefined;
34
- }>, "many">;
35
- }, "strip", z.ZodTypeAny, {
36
- baseline: {
37
- id: string;
38
- };
39
- variants: {
40
- id: string;
41
- hidden: boolean;
42
- }[];
43
- }, {
44
- baseline: {
45
- id?: string | undefined;
46
- };
47
- variants: {
48
- id?: string | undefined;
49
- hidden?: boolean | undefined;
50
- }[];
51
- }>, "many">>;
52
- }, "strip", z.ZodTypeAny, {
53
- distribution: number[];
54
- traffic: number;
55
- components: {
56
- baseline: {
57
- id: string;
58
- };
59
- variants: {
60
- id: string;
61
- hidden: boolean;
62
- }[];
63
- }[];
64
- }, {
65
- distribution?: number[] | undefined;
66
- traffic?: number | undefined;
67
- components?: {
68
- baseline: {
69
- id?: string | undefined;
70
- };
71
- variants: {
72
- id?: string | undefined;
73
- hidden?: boolean | undefined;
74
- }[];
75
- }[] | undefined;
76
- }>>>;
77
- audience: z.ZodNullable<z.ZodOptional<z.ZodObject<{
78
- id: z.ZodString;
79
- }, "strip", z.ZodTypeAny, {
80
- id: string;
81
- }, {
82
- id: string;
83
- }>>>;
84
- }, "strip", z.ZodTypeAny, {
85
- variants?: {
86
- id: string;
87
- }[] | undefined;
88
- config?: {
89
- distribution: number[];
90
- traffic: number;
91
- components: {
92
- baseline: {
93
- id: string;
94
- };
95
- variants: {
96
- id: string;
97
- hidden: boolean;
98
- }[];
99
- }[];
100
- } | undefined;
101
- audience?: {
102
- id: string;
103
- } | null | undefined;
104
- id: string;
105
- type: "nt_experiment" | "nt_personalization";
106
- name: string;
107
- }, {
108
- variants?: {
109
- id: string;
110
- }[] | undefined;
111
- config?: {
112
- distribution?: number[] | undefined;
113
- traffic?: number | undefined;
114
- components?: {
115
- baseline: {
116
- id?: string | undefined;
117
- };
118
- variants: {
119
- id?: string | undefined;
120
- hidden?: boolean | undefined;
121
- }[];
122
- }[] | undefined;
123
- } | undefined;
124
- audience?: {
125
- id: string;
126
- } | null | undefined;
127
- id: string;
128
- type: "nt_experiment" | "nt_personalization";
129
- name: string;
130
- }>;
131
- declare type ExperienceEntry = z.infer<typeof ExperienceEntry>;
132
- declare const ExperimentEntry: z.ZodObject<{
133
- id: z.ZodString;
134
- type: z.ZodLiteral<"nt_experiment">;
135
- variants: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
136
- id: z.ZodString;
137
- }, "passthrough", z.ZodTypeAny, {
138
- id: string;
139
- }, {
140
- id: string;
141
- }>, "many">>>;
142
- name: z.ZodString;
143
- config: z.ZodOptional<z.ZodDefault<z.ZodObject<{
144
- distribution: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
145
- traffic: z.ZodDefault<z.ZodNumber>;
146
- components: z.ZodDefault<z.ZodArray<z.ZodObject<{
147
- baseline: z.ZodObject<{
148
- id: z.ZodDefault<z.ZodString>;
149
- }, "strip", z.ZodTypeAny, {
150
- id: string;
151
- }, {
152
- id?: string | undefined;
153
- }>;
154
- variants: z.ZodArray<z.ZodObject<{
155
- id: z.ZodDefault<z.ZodString>;
156
- hidden: z.ZodDefault<z.ZodBoolean>;
157
- }, "strip", z.ZodTypeAny, {
158
- id: string;
159
- hidden: boolean;
160
- }, {
161
- id?: string | undefined;
162
- hidden?: boolean | undefined;
163
- }>, "many">;
164
- }, "strip", z.ZodTypeAny, {
165
- baseline: {
166
- id: string;
167
- };
168
- variants: {
169
- id: string;
170
- hidden: boolean;
171
- }[];
172
- }, {
173
- baseline: {
174
- id?: string | undefined;
175
- };
176
- variants: {
177
- id?: string | undefined;
178
- hidden?: boolean | undefined;
179
- }[];
180
- }>, "many">>;
181
- }, "strip", z.ZodTypeAny, {
182
- distribution: number[];
183
- traffic: number;
184
- components: {
185
- baseline: {
186
- id: string;
187
- };
188
- variants: {
189
- id: string;
190
- hidden: boolean;
191
- }[];
192
- }[];
193
- }, {
194
- distribution?: number[] | undefined;
195
- traffic?: number | undefined;
196
- components?: {
197
- baseline: {
198
- id?: string | undefined;
199
- };
200
- variants: {
201
- id?: string | undefined;
202
- hidden?: boolean | undefined;
203
- }[];
204
- }[] | undefined;
205
- }>>>;
206
- audience: z.ZodNullable<z.ZodOptional<z.ZodObject<{
207
- id: z.ZodString;
208
- }, "strip", z.ZodTypeAny, {
209
- id: string;
210
- }, {
211
- id: string;
212
- }>>>;
213
- }, "strip", z.ZodTypeAny, {
214
- variants?: {
215
- id: string;
216
- }[] | undefined;
217
- config?: {
218
- distribution: number[];
219
- traffic: number;
220
- components: {
221
- baseline: {
222
- id: string;
223
- };
224
- variants: {
225
- id: string;
226
- hidden: boolean;
227
- }[];
228
- }[];
229
- } | undefined;
230
- audience?: {
231
- id: string;
232
- } | null | undefined;
233
- id: string;
234
- type: "nt_experiment";
235
- name: string;
236
- }, {
237
- variants?: {
238
- id: string;
239
- }[] | undefined;
240
- config?: {
241
- distribution?: number[] | undefined;
242
- traffic?: number | undefined;
243
- components?: {
244
- baseline: {
245
- id?: string | undefined;
246
- };
247
- variants: {
248
- id?: string | undefined;
249
- hidden?: boolean | undefined;
250
- }[];
251
- }[] | undefined;
252
- } | undefined;
253
- audience?: {
254
- id: string;
255
- } | null | undefined;
256
- id: string;
257
- type: "nt_experiment";
258
- name: string;
259
- }>;
260
- declare type ExperimentEntry = z.infer<typeof ExperimentEntry>;
3
+ import { Experience, Experiment } from '../types';
4
+ declare type ExperienceEntry = z.input<typeof Experience>;
5
+ declare type ExperimentEntry = z.input<typeof Experiment>;
261
6
  export declare class ExperienceMapper {
262
- static isExperienceEntry(experience: ExperienceEntry): experience is ExperienceEntry;
7
+ static isExperienceEntry(experience: ExperienceEntry): experience is Experience;
263
8
  static mapExperience(experience: ExperienceEntry): ExperienceConfiguration;
264
- static isExperimentEntry(experiment: ExperimentEntry): experiment is ExperimentEntry;
9
+ static isExperimentEntry(experiment: ExperimentEntry): experiment is Experiment;
265
10
  static mapExperiment(experiment: ExperimentEntry): ExperienceConfiguration;
266
11
  }
267
12
  export {};
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExperienceMapper = void 0;
4
+ const experience_js_1 = require("@ninetailed/experience.js");
4
5
  const types_1 = require("../types");
5
- const ExperienceEntry = types_1.Experience.partial({ config: true, variants: true });
6
- const ExperimentEntry = types_1.Experiment.partial({ config: true, variants: true });
7
6
  class ExperienceMapper {
8
7
  static isExperienceEntry(experience) {
9
- return ExperienceEntry.safeParse(experience).success;
8
+ return types_1.Experience.safeParse(experience).success;
10
9
  }
11
10
  static mapExperience(experience) {
12
11
  const parsedExperience = types_1.Experience.safeParse(experience);
13
12
  if (!parsedExperience.success) {
14
- throw new Error('The Experience Input is not valid. Please filter data first with `ExperienceMapper.isExperienceEntry`.');
13
+ experience_js_1.logger.warn('[Ninetailed ExperienceMapper]', 'Error parsing experience', parsedExperience.error.format());
14
+ throw new Error(`[Ninetailed ExperienceMapper] The Experience Input is not valid. Please filter data first with "ExperienceMapper.isExperienceEntry".\n${parsedExperience.error.format()}`);
15
15
  }
16
16
  const { id, type, audience, config, variants } = parsedExperience.data;
17
17
  return Object.assign(Object.assign({ id,
@@ -42,7 +42,7 @@ class ExperienceMapper {
42
42
  }) });
43
43
  }
44
44
  static isExperimentEntry(experiment) {
45
- return ExperimentEntry.safeParse(experiment).success;
45
+ return types_1.Experiment.safeParse(experiment).success;
46
46
  }
47
47
  static mapExperiment(experiment) {
48
48
  return ExperienceMapper.mapExperience(experiment);
@@ -1 +1 @@
1
- {"version":3,"file":"ExperienceMapper.js","sourceRoot":"","sources":["../../../../../../packages/utils/javascript/src/lib/ExperienceMapper.ts"],"names":[],"mappings":";;;AAGA,oCAAkD;AAElD,MAAM,eAAe,GAAG,kBAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAG7E,MAAM,eAAe,GAAG,kBAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAG7E,MAAa,gBAAgB;IAC3B,MAAM,CAAC,iBAAiB,CACtB,UAA2B;QAE3B,OAAO,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAA2B;QAC9C,MAAM,gBAAgB,GAAG,kBAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,wGAAwG,CAAC,CAAC;SAC3H;QACD,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC;QAEvE,qCACE,EAAE;YACF,IAAI,IACD,CAAC,QAAQ;YACV,CAAC,CAAC;gBACE,QAAQ;aACT;YACH,CAAC,CAAC,EAAE,CAAC,KACP,iBAAiB,EAAE,MAAM,CAAC,OAAO,EACjC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5D,KAAK;gBACL,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrE,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACxE,CAAC,CAAC,EACH,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC9C,OAAO;oBACL,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;yBACzB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;wBACf,IAAI,OAAO,CAAC,MAAM,EAAE;4BAClB,OAAO,OAAO,CAAC;yBAChB;wBAED,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CACnC,CAAC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CACzD,CAAC;wBAEF,IAAI,CAAC,eAAe,EAAE;4BACpB,OAAO,IAAI,CAAC;yBACb;wBAED,OAAO,eAAe,CAAC;oBACzB,CAAC,CAAC;yBACD,MAAM,CAAC,CAAC,OAAO,EAAsB,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC;iBAC7D,CAAC;YACJ,CAAC,CAAC,IACF;IACJ,CAAC;IAED,MAAM,CAAC,iBAAiB,CACtB,UAA2B;QAE3B,OAAO,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAA2B;QAC9C,OAAO,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;CACF;AA9DD,4CA8DC"}
1
+ {"version":3,"file":"ExperienceMapper.js","sourceRoot":"","sources":["../../../../../../packages/utils/javascript/src/lib/ExperienceMapper.ts"],"names":[],"mappings":";;;AAAA,6DAImC;AAGnC,oCAAkD;AAKlD,MAAa,gBAAgB;IAC3B,MAAM,CAAC,iBAAiB,CACtB,UAA2B;QAE3B,OAAO,kBAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAA2B;QAC9C,MAAM,gBAAgB,GAAG,kBAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC7B,sBAAM,CAAC,IAAI,CACT,+BAA+B,EAC/B,0BAA0B,EAC1B,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,CAChC,CAAC;YACF,MAAM,IAAI,KAAK,CACb,yIAAyI,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAC3K,CAAC;SACH;QACD,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC;QAEvE,qCACE,EAAE;YACF,IAAI,IACD,CAAC,QAAQ;YACV,CAAC,CAAC;gBACE,QAAQ;aACT;YACH,CAAC,CAAC,EAAE,CAAC,KACP,iBAAiB,EAAE,MAAM,CAAC,OAAO,EACjC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5D,KAAK;gBACL,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrE,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACxE,CAAC,CAAC,EACH,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC9C,OAAO;oBACL,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;yBACzB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;wBACf,IAAI,OAAO,CAAC,MAAM,EAAE;4BAClB,OAAO,OAAO,CAAC;yBAChB;wBAED,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CACnC,CAAC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CACzD,CAAC;wBAEF,IAAI,CAAC,eAAe,EAAE;4BACpB,OAAO,IAAI,CAAC;yBACb;wBAED,OAAO,eAAe,CAAC;oBACzB,CAAC,CAAC;yBACD,MAAM,CAAC,CAAC,OAAO,EAAsB,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC;iBAC7D,CAAC;YACJ,CAAC,CAAC,IACF;IACJ,CAAC;IAED,MAAM,CAAC,iBAAiB,CACtB,UAA2B;QAE3B,OAAO,kBAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAA2B;QAC9C,OAAO,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;CACF;AArED,4CAqEC"}