@ninetailed/experience.js-utils-contentful 2.0.0-beta.4 → 2.0.0-beta.42

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-contentful",
3
- "version": "2.0.0-beta.4",
3
+ "version": "2.0.0-beta.42",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./src/index.d.ts"
package/src/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export * from './types';
2
- export { AudienceMapper, ExperienceMapper } from './lib';
2
+ export { AudienceMapper, ExperienceMapper, isEntry, isAudienceEntry, isExperienceEntry, } from './lib';
package/src/index.js CHANGED
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExperienceMapper = exports.AudienceMapper = void 0;
3
+ exports.isExperienceEntry = exports.isAudienceEntry = exports.isEntry = exports.ExperienceMapper = exports.AudienceMapper = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  (0, tslib_1.__exportStar)(require("./types"), exports);
6
6
  var lib_1 = require("./lib");
7
7
  Object.defineProperty(exports, "AudienceMapper", { enumerable: true, get: function () { return lib_1.AudienceMapper; } });
8
8
  Object.defineProperty(exports, "ExperienceMapper", { enumerable: true, get: function () { return lib_1.ExperienceMapper; } });
9
+ Object.defineProperty(exports, "isEntry", { enumerable: true, get: function () { return lib_1.isEntry; } });
10
+ Object.defineProperty(exports, "isAudienceEntry", { enumerable: true, get: function () { return lib_1.isAudienceEntry; } });
11
+ Object.defineProperty(exports, "isExperienceEntry", { enumerable: true, get: function () { return lib_1.isExperienceEntry; } });
9
12
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/utils/contentful/src/index.ts"],"names":[],"mappings":";;;;AAAA,uDAAwB;AACxB,6BAAyD;AAAhD,qGAAA,cAAc,OAAA;AAAE,uGAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/utils/contentful/src/index.ts"],"names":[],"mappings":";;;;AAAA,uDAAwB;AACxB,6BAMe;AALb,qGAAA,cAAc,OAAA;AACd,uGAAA,gBAAgB,OAAA;AAChB,8FAAA,OAAO,OAAA;AACP,sGAAA,eAAe,OAAA;AACf,wGAAA,iBAAiB,OAAA"}
@@ -1,17 +1,15 @@
1
- import { Baseline, Variant, ExperienceConfiguration } from '@ninetailed/experience.js';
2
- import { Entry } from 'contentful';
3
- import { ExperienceEntry } from '../types';
1
+ import { Variant, ExperienceConfiguration } from '@ninetailed/experience.js';
2
+ import { ExperienceEntry, Entry } from '../types';
4
3
  import { BaselineWithExperiencesEntry } from '../types/BaselineWithExperiencesEntry';
5
4
  declare type MapVariantOptions = {
6
5
  hidden: boolean;
7
6
  };
8
- declare type MapBaseline<BT = Entry<unknown>> = (baseline: BT) => Baseline;
9
- declare type MapExperienceOptions<BT = Entry<unknown>> = {
10
- mapBaseline?: MapBaseline<BT>;
11
- mapVariant?: (variant: unknown, options: MapVariantOptions) => Variant;
7
+ declare type MapVariant<VariantType = Entry> = (variant: VariantType, options: MapVariantOptions) => Variant;
8
+ declare type MapExperienceOptions<VariantType = Entry> = {
9
+ mapVariant?: MapVariant<VariantType>;
12
10
  };
13
11
  export declare class ExperienceMapper {
14
- static mapExperience<BT = Entry<unknown>>(entry: ExperienceEntry, baseline: BT, options?: MapExperienceOptions<BT>): ExperienceConfiguration;
12
+ static mapExperience(entry: ExperienceEntry, options?: MapExperienceOptions): ExperienceConfiguration;
15
13
  static mapExperiment(entry: ExperienceEntry): ExperienceConfiguration;
16
14
  static mapBaselineWithExperiences(entry: BaselineWithExperiencesEntry): ExperienceConfiguration[];
17
15
  }
@@ -2,22 +2,35 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExperienceMapper = void 0;
4
4
  const AudienceMapper_1 = require("./AudienceMapper");
5
+ const isEntry_1 = require("./isEntry");
6
+ const defaultMapVariant = (variant, { hidden }) => (Object.assign(Object.assign({}, variant), { id: variant.sys.id, hidden: hidden }));
5
7
  class ExperienceMapper {
6
- static mapExperience(entry, baseline, options) {
7
- const _mapBaseline = ((options === null || options === void 0 ? void 0 : options.mapBaseline) ||
8
- ((_baseline) => (Object.assign(Object.assign({}, _baseline), { id: _baseline.sys.id }))));
9
- const _mapVariant = (options === null || options === void 0 ? void 0 : options.mapVariant) ||
10
- ((_variant, { hidden }) => (Object.assign(Object.assign({}, _variant), { id: _variant.sys.id, hidden: hidden })));
8
+ static mapExperience(entry, options) {
9
+ const _mapVariant = (options === null || options === void 0 ? void 0 : options.mapVariant) || defaultMapVariant;
10
+ const config = Object.assign({ traffic: 0, distribution: [0.5, 0.5], components: [
11
+ {
12
+ baseline: { id: '' },
13
+ variants: [{ id: '', hidden: false }],
14
+ },
15
+ ] }, entry.fields.nt_config);
16
+ const variantReferences = (entry.fields.nt_variants || []).filter(isEntry_1.isEntry);
11
17
  return Object.assign(Object.assign({ id: entry.sys.id, type: entry.fields.nt_type }, (entry.fields.nt_audience
12
18
  ? {
13
19
  audience: AudienceMapper_1.AudienceMapper.mapAudience(entry.fields.nt_audience),
14
20
  }
15
- : {})), { trafficAllocation: entry.fields.nt_config.traffic, distribution: entry.fields.nt_config.scatteredDistribution, components: entry.fields.nt_config.components.map((component) => {
21
+ : {})), { trafficAllocation: config.traffic, distribution: config.distribution.map((percentage, index) => ({
22
+ index,
23
+ start: config.distribution.slice(0, index).reduce((a, b) => a + b, 0),
24
+ end: config.distribution.slice(0, index + 1).reduce((a, b) => a + b, 0),
25
+ })), components: config.components.map((component) => {
16
26
  return {
17
- baseline: _mapBaseline(baseline),
27
+ baseline: component.baseline,
18
28
  variants: component.variants
19
29
  .map((variant) => {
20
- const matchingVariant = entry.fields.nt_variants.find((variantReference) => variantReference.sys.id === variant.id);
30
+ if (variant.hidden) {
31
+ return variant;
32
+ }
33
+ const matchingVariant = variantReferences.find((variantReference) => variantReference.sys.id === variant.id);
21
34
  if (!matchingVariant) {
22
35
  return null;
23
36
  }
@@ -28,13 +41,14 @@ class ExperienceMapper {
28
41
  }) });
29
42
  }
30
43
  static mapExperiment(entry) {
31
- return this.mapExperience(entry, null, {
32
- mapBaseline: () => ({ id: '' }),
44
+ return ExperienceMapper.mapExperience(entry, {
33
45
  mapVariant: () => ({ id: '', hidden: false }),
34
46
  });
35
47
  }
36
48
  static mapBaselineWithExperiences(entry) {
37
- return entry.fields.nt_experiences.map((experience) => this.mapExperience(experience, entry));
49
+ return entry.fields.nt_experiences
50
+ .filter(isEntry_1.isEntry)
51
+ .map((experience) => ExperienceMapper.mapExperience(experience));
38
52
  }
39
53
  }
40
54
  exports.ExperienceMapper = ExperienceMapper;
@@ -1 +1 @@
1
- {"version":3,"file":"ExperienceMapper.js","sourceRoot":"","sources":["../../../../../../packages/utils/contentful/src/lib/ExperienceMapper.ts"],"names":[],"mappings":";;;AASA,qDAAkD;AAalD,MAAa,gBAAgB;IAC3B,MAAM,CAAC,aAAa,CAClB,KAAsB,EACtB,QAAY,EACZ,OAAkC;QAElC,MAAM,YAAY,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW;YACxC,CAAC,CAAC,SAAyB,EAAE,EAAE,CAAC,iCAC3B,SAAS,KACZ,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,IACpB,CAAC,CAAoB,CAAC;QAE1B,MAAM,WAAW,GACf,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;YACnB,CAAC,CAAC,QAAwB,EAAE,EAAE,MAAM,EAAqB,EAAE,EAAE,CAAC,iCACzD,QAAQ,KACX,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,EACnB,MAAM,EAAE,MAAM,IACd,CAAC,CAAC;QAEN,qCACE,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAChB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,OAAyB,IACzC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW;YAC1B,CAAC,CAAC;gBACE,QAAQ,EAAE,+BAAc,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;aAC/D;YACH,CAAC,CAAC,EAAE,CAAC,KACP,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EACjD,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,EAC1D,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC9D,OAAO;oBACL,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;oBAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;yBACzB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;wBACf,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CACnD,CAAC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAC7D,CAAC;wBAEF,IAAI,CAAC,eAAe,EAAE;4BACpB,OAAO,IAAI,CAAC;yBACb;wBAED,OAAO,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,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,aAAa,CAAC,KAAsB;QACzC,OAAO,IAAI,CAAC,aAAa,CAAO,KAAK,EAAE,IAAI,EAAE;YAC3C,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YAC/B,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,0BAA0B,CAC/B,KAAmC;QAEnC,OAAO,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CACpD,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CACtC,CAAC;IACJ,CAAC;CACF;AAjED,4CAiEC"}
1
+ {"version":3,"file":"ExperienceMapper.js","sourceRoot":"","sources":["../../../../../../packages/utils/contentful/src/lib/ExperienceMapper.ts"],"names":[],"mappings":";;;AAOA,qDAAkD;AAClD,uCAAoC;AAepC,MAAM,iBAAiB,GAAsB,CAC3C,OAAO,EACP,EAAE,MAAM,EAAE,EACV,EAAE,CAAC,iCACA,OAAO,KACV,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAClB,MAAM,EAAE,MAAM,IACd,CAAC;AAEH,MAAa,gBAAgB;IAC3B,MAAM,CAAC,aAAa,CAClB,KAAsB,EACtB,OAA8B;QAE9B,MAAM,WAAW,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,KAAI,iBAAiB,CAAC;QAE7D,MAAM,MAAM,mBACV,OAAO,EAAE,CAAC,EACV,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EACxB,UAAU,EAAE;gBACV;oBACE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;oBACpB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;iBACtC;aACF,IACE,KAAK,CAAC,MAAM,CAAC,SAAS,CAC1B,CAAC;QACF,MAAM,iBAAiB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAO,CAAC,CAAC;QAE3E,qCACE,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAChB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,OAAyB,IACzC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW;YAC1B,CAAC,CAAC;gBACE,QAAQ,EAAE,+BAAc,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;aAC/D;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,iBAAiB,CAAC,IAAI,CAC5C,CAAC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAC7D,CAAC;wBAEF,IAAI,CAAC,eAAe,EAAE;4BACpB,OAAO,IAAI,CAAC;yBACb;wBAED,OAAO,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClE,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,aAAa,CAAC,KAAsB;QACzC,OAAO,gBAAgB,CAAC,aAAa,CAAC,KAAK,EAAE;YAC3C,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,0BAA0B,CAC/B,KAAmC;QAEnC,OAAO,KAAK,CAAC,MAAM,CAAC,cAAc;aAC/B,MAAM,CAAC,iBAAO,CAAC;aACf,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IACrE,CAAC;CACF;AAxED,4CAwEC"}
@@ -1,2 +1,5 @@
1
1
  export { AudienceMapper } from './AudienceMapper';
2
2
  export { ExperienceMapper } from './ExperienceMapper';
3
+ export { isEntry } from './isEntry';
4
+ export { isAudienceEntry } from './isAudienceEntry';
5
+ export { isExperienceEntry } from './isExperienceEntry';
package/src/lib/index.js CHANGED
@@ -1,8 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExperienceMapper = exports.AudienceMapper = void 0;
3
+ exports.isExperienceEntry = exports.isAudienceEntry = exports.isEntry = exports.ExperienceMapper = exports.AudienceMapper = void 0;
4
4
  var AudienceMapper_1 = require("./AudienceMapper");
5
5
  Object.defineProperty(exports, "AudienceMapper", { enumerable: true, get: function () { return AudienceMapper_1.AudienceMapper; } });
6
6
  var ExperienceMapper_1 = require("./ExperienceMapper");
7
7
  Object.defineProperty(exports, "ExperienceMapper", { enumerable: true, get: function () { return ExperienceMapper_1.ExperienceMapper; } });
8
+ var isEntry_1 = require("./isEntry");
9
+ Object.defineProperty(exports, "isEntry", { enumerable: true, get: function () { return isEntry_1.isEntry; } });
10
+ var isAudienceEntry_1 = require("./isAudienceEntry");
11
+ Object.defineProperty(exports, "isAudienceEntry", { enumerable: true, get: function () { return isAudienceEntry_1.isAudienceEntry; } });
12
+ var isExperienceEntry_1 = require("./isExperienceEntry");
13
+ Object.defineProperty(exports, "isExperienceEntry", { enumerable: true, get: function () { return isExperienceEntry_1.isExperienceEntry; } });
8
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/utils/contentful/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/utils/contentful/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAEzB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA"}
@@ -0,0 +1,84 @@
1
+ export declare const isAudienceEntry: (entry?: {
2
+ sys: {
3
+ revision?: number | undefined;
4
+ space?: {
5
+ sys: {
6
+ type: "Link";
7
+ linkType: "Space";
8
+ id: string;
9
+ };
10
+ } | undefined;
11
+ environment?: {
12
+ sys: {
13
+ type: "Link";
14
+ linkType: "Environment";
15
+ id: string;
16
+ };
17
+ } | undefined;
18
+ type: string;
19
+ id: string;
20
+ createdAt: string;
21
+ updatedAt: string;
22
+ locale: string;
23
+ contentType: {
24
+ sys: {
25
+ type: "Link";
26
+ linkType: "ContentType";
27
+ id: string;
28
+ };
29
+ };
30
+ };
31
+ fields: {};
32
+ metadata: {
33
+ tags: {
34
+ sys: {
35
+ type: "Link";
36
+ linkType: "Tag";
37
+ id: string;
38
+ };
39
+ }[];
40
+ };
41
+ } | undefined) => entry is {
42
+ sys: {
43
+ revision?: number | undefined;
44
+ space?: {
45
+ sys: {
46
+ type: "Link";
47
+ linkType: "Space";
48
+ id: string;
49
+ };
50
+ } | undefined;
51
+ environment?: {
52
+ sys: {
53
+ type: "Link";
54
+ linkType: "Environment";
55
+ id: string;
56
+ };
57
+ } | undefined;
58
+ type: string;
59
+ id: string;
60
+ createdAt: string;
61
+ updatedAt: string;
62
+ locale: string;
63
+ contentType: {
64
+ sys: {
65
+ type: "Link";
66
+ linkType: "ContentType";
67
+ id: string;
68
+ };
69
+ };
70
+ };
71
+ fields: {
72
+ nt_name: string;
73
+ nt_audience_id: string;
74
+ };
75
+ metadata: {
76
+ tags: {
77
+ sys: {
78
+ type: "Link";
79
+ linkType: "Tag";
80
+ id: string;
81
+ };
82
+ }[];
83
+ };
84
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isAudienceEntry = void 0;
4
+ const types_1 = require("../types");
5
+ const isAudienceEntry = (entry) => {
6
+ try {
7
+ types_1.AudienceEntry.parse(entry);
8
+ return true;
9
+ }
10
+ catch (error) {
11
+ return false;
12
+ }
13
+ };
14
+ exports.isAudienceEntry = isAudienceEntry;
15
+ //# sourceMappingURL=isAudienceEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isAudienceEntry.js","sourceRoot":"","sources":["../../../../../../packages/utils/contentful/src/lib/isAudienceEntry.ts"],"names":[],"mappings":";;;AAAA,oCAAgD;AAEzC,MAAM,eAAe,GAAG,CAAC,KAAa,EAA0B,EAAE;IACvE,IAAI;QACF,qBAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE3B,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AARW,QAAA,eAAe,mBAQ1B"}
@@ -0,0 +1,81 @@
1
+ export declare const isEntry: (entry?: {
2
+ sys: {
3
+ revision?: number | undefined;
4
+ space?: {
5
+ sys: {
6
+ type: "Link";
7
+ linkType: "Space";
8
+ id: string;
9
+ };
10
+ } | undefined;
11
+ environment?: {
12
+ sys: {
13
+ type: "Link";
14
+ linkType: "Environment";
15
+ id: string;
16
+ };
17
+ } | undefined;
18
+ type: string;
19
+ id: string;
20
+ createdAt: string;
21
+ updatedAt: string;
22
+ locale: string;
23
+ contentType: {
24
+ sys: {
25
+ type: "Link";
26
+ linkType: "ContentType";
27
+ id: string;
28
+ };
29
+ };
30
+ };
31
+ fields: {};
32
+ metadata: {
33
+ tags: {
34
+ sys: {
35
+ type: "Link";
36
+ linkType: "Tag";
37
+ id: string;
38
+ };
39
+ }[];
40
+ };
41
+ } | undefined) => entry is {
42
+ sys: {
43
+ revision?: number | undefined;
44
+ space?: {
45
+ sys: {
46
+ type: "Link";
47
+ linkType: "Space";
48
+ id: string;
49
+ };
50
+ } | undefined;
51
+ environment?: {
52
+ sys: {
53
+ type: "Link";
54
+ linkType: "Environment";
55
+ id: string;
56
+ };
57
+ } | undefined;
58
+ type: string;
59
+ id: string;
60
+ createdAt: string;
61
+ updatedAt: string;
62
+ locale: string;
63
+ contentType: {
64
+ sys: {
65
+ type: "Link";
66
+ linkType: "ContentType";
67
+ id: string;
68
+ };
69
+ };
70
+ };
71
+ fields: {};
72
+ metadata: {
73
+ tags: {
74
+ sys: {
75
+ type: "Link";
76
+ linkType: "Tag";
77
+ id: string;
78
+ };
79
+ }[];
80
+ };
81
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isEntry = void 0;
4
+ const types_1 = require("../types");
5
+ const isEntry = (entry) => {
6
+ try {
7
+ types_1.Entry.parse(entry);
8
+ return true;
9
+ }
10
+ catch (error) {
11
+ return false;
12
+ }
13
+ };
14
+ exports.isEntry = isEntry;
15
+ //# sourceMappingURL=isEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isEntry.js","sourceRoot":"","sources":["../../../../../../packages/utils/contentful/src/lib/isEntry.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AAE1B,MAAM,OAAO,GAAG,CAAC,KAAa,EAAkB,EAAE;IACvD,IAAI;QACF,aAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnB,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AARW,QAAA,OAAO,WAQlB"}
@@ -0,0 +1,182 @@
1
+ export declare const isExperienceEntry: (entry?: {
2
+ sys: {
3
+ revision?: number | undefined;
4
+ space?: {
5
+ sys: {
6
+ type: "Link";
7
+ linkType: "Space";
8
+ id: string;
9
+ };
10
+ } | undefined;
11
+ environment?: {
12
+ sys: {
13
+ type: "Link";
14
+ linkType: "Environment";
15
+ id: string;
16
+ };
17
+ } | undefined;
18
+ type: string;
19
+ id: string;
20
+ createdAt: string;
21
+ updatedAt: string;
22
+ locale: string;
23
+ contentType: {
24
+ sys: {
25
+ type: "Link";
26
+ linkType: "ContentType";
27
+ id: string;
28
+ };
29
+ };
30
+ };
31
+ fields: {};
32
+ metadata: {
33
+ tags: {
34
+ sys: {
35
+ type: "Link";
36
+ linkType: "Tag";
37
+ id: string;
38
+ };
39
+ }[];
40
+ };
41
+ } | undefined) => entry is {
42
+ sys: {
43
+ revision?: number | undefined;
44
+ space?: {
45
+ sys: {
46
+ type: "Link";
47
+ linkType: "Space";
48
+ id: string;
49
+ };
50
+ } | undefined;
51
+ environment?: {
52
+ sys: {
53
+ type: "Link";
54
+ linkType: "Environment";
55
+ id: string;
56
+ };
57
+ } | undefined;
58
+ type: string;
59
+ id: string;
60
+ createdAt: string;
61
+ updatedAt: string;
62
+ locale: string;
63
+ contentType: {
64
+ sys: {
65
+ type: "Link";
66
+ linkType: "ContentType";
67
+ id: string;
68
+ };
69
+ };
70
+ };
71
+ fields: {
72
+ nt_config?: {
73
+ distribution: number[];
74
+ traffic: number;
75
+ components: {
76
+ baseline: {
77
+ id: string;
78
+ };
79
+ variants: {
80
+ id: string;
81
+ hidden: boolean;
82
+ }[];
83
+ }[];
84
+ } | null | undefined;
85
+ nt_audience?: {
86
+ sys: {
87
+ revision?: number | undefined;
88
+ space?: {
89
+ sys: {
90
+ type: "Link";
91
+ linkType: "Space";
92
+ id: string;
93
+ };
94
+ } | undefined;
95
+ environment?: {
96
+ sys: {
97
+ type: "Link";
98
+ linkType: "Environment";
99
+ id: string;
100
+ };
101
+ } | undefined;
102
+ type: string;
103
+ id: string;
104
+ createdAt: string;
105
+ updatedAt: string;
106
+ locale: string;
107
+ contentType: {
108
+ sys: {
109
+ type: "Link";
110
+ linkType: "ContentType";
111
+ id: string;
112
+ };
113
+ };
114
+ };
115
+ fields: {
116
+ nt_name: string;
117
+ nt_audience_id: string;
118
+ };
119
+ metadata: {
120
+ tags: {
121
+ sys: {
122
+ type: "Link";
123
+ linkType: "Tag";
124
+ id: string;
125
+ };
126
+ }[];
127
+ };
128
+ } | null | undefined;
129
+ nt_name: string;
130
+ nt_type: "nt_experiment" | "nt_personalization";
131
+ nt_variants: {
132
+ sys: {
133
+ revision?: number | undefined;
134
+ space?: {
135
+ sys: {
136
+ type: "Link";
137
+ linkType: "Space";
138
+ id: string;
139
+ };
140
+ } | undefined;
141
+ environment?: {
142
+ sys: {
143
+ type: "Link";
144
+ linkType: "Environment";
145
+ id: string;
146
+ };
147
+ } | undefined;
148
+ type: string;
149
+ id: string;
150
+ createdAt: string;
151
+ updatedAt: string;
152
+ locale: string;
153
+ contentType: {
154
+ sys: {
155
+ type: "Link";
156
+ linkType: "ContentType";
157
+ id: string;
158
+ };
159
+ };
160
+ };
161
+ fields: {};
162
+ metadata: {
163
+ tags: {
164
+ sys: {
165
+ type: "Link";
166
+ linkType: "Tag";
167
+ id: string;
168
+ };
169
+ }[];
170
+ };
171
+ }[];
172
+ };
173
+ metadata: {
174
+ tags: {
175
+ sys: {
176
+ type: "Link";
177
+ linkType: "Tag";
178
+ id: string;
179
+ };
180
+ }[];
181
+ };
182
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isExperienceEntry = void 0;
4
+ const types_1 = require("../types");
5
+ const isExperienceEntry = (entry) => {
6
+ try {
7
+ types_1.ExperienceEntry.parse(entry);
8
+ return true;
9
+ }
10
+ catch (error) {
11
+ console.error(error);
12
+ return false;
13
+ }
14
+ };
15
+ exports.isExperienceEntry = isExperienceEntry;
16
+ //# sourceMappingURL=isExperienceEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isExperienceEntry.js","sourceRoot":"","sources":["../../../../../../packages/utils/contentful/src/lib/isExperienceEntry.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAE3C,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAA4B,EAAE;IAC3E,IAAI;QACF,uBAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE7B,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAErB,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B"}