@segment/actions-core 2.0.3-next.0 → 2.1.0-next.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.
Files changed (119) hide show
  1. package/dist/cjs/create-request-client.d.ts +0 -3
  2. package/dist/cjs/create-request-client.js +0 -7
  3. package/dist/cjs/create-request-client.js.map +1 -1
  4. package/dist/cjs/create-test-event.js +1 -1
  5. package/dist/cjs/create-test-event.js.map +1 -1
  6. package/dist/cjs/create-test-integration.d.ts +0 -19
  7. package/dist/cjs/create-test-integration.js +0 -1
  8. package/dist/cjs/create-test-integration.js.map +1 -1
  9. package/dist/cjs/destination-kit/action.d.ts +0 -30
  10. package/dist/cjs/destination-kit/action.js +0 -38
  11. package/dist/cjs/destination-kit/action.js.map +1 -1
  12. package/dist/cjs/destination-kit/fields-to-jsonschema.js +0 -2
  13. package/dist/cjs/destination-kit/fields-to-jsonschema.js.map +1 -1
  14. package/dist/cjs/destination-kit/index.d.ts +0 -10
  15. package/dist/cjs/destination-kit/index.js +3 -6
  16. package/dist/cjs/destination-kit/index.js.map +1 -1
  17. package/dist/cjs/destination-kit/step.d.ts +0 -12
  18. package/dist/cjs/destination-kit/step.js +0 -7
  19. package/dist/cjs/destination-kit/step.js.map +1 -1
  20. package/dist/cjs/destination-kit/types.d.ts +0 -4
  21. package/dist/cjs/fetch.js +0 -1
  22. package/dist/cjs/fetch.js.map +1 -1
  23. package/dist/cjs/get.d.ts +0 -4
  24. package/dist/cjs/get.js +1 -11
  25. package/dist/cjs/get.js.map +1 -1
  26. package/dist/cjs/map-values.d.ts +0 -4
  27. package/dist/cjs/map-values.js +0 -5
  28. package/dist/cjs/map-values.js.map +1 -1
  29. package/dist/cjs/mapping-kit/index.d.ts +0 -6
  30. package/dist/cjs/mapping-kit/index.js +0 -87
  31. package/dist/cjs/mapping-kit/index.js.map +1 -1
  32. package/dist/cjs/mapping-kit/is-directive.js +0 -1
  33. package/dist/cjs/mapping-kit/is-directive.js.map +1 -1
  34. package/dist/cjs/mapping-kit/placeholders.d.ts +0 -3
  35. package/dist/cjs/mapping-kit/placeholders.js +0 -8
  36. package/dist/cjs/mapping-kit/placeholders.js.map +1 -1
  37. package/dist/cjs/mapping-kit/validate.js +0 -84
  38. package/dist/cjs/mapping-kit/validate.js.map +1 -1
  39. package/dist/cjs/middleware/after-response/prepare-headers.js +0 -3
  40. package/dist/cjs/middleware/after-response/prepare-headers.js.map +1 -1
  41. package/dist/cjs/middleware/after-response/prepare-response.js +0 -4
  42. package/dist/cjs/middleware/after-response/prepare-response.js.map +1 -1
  43. package/dist/cjs/omit.d.ts +0 -3
  44. package/dist/cjs/omit.js +0 -3
  45. package/dist/cjs/omit.js.map +1 -1
  46. package/dist/cjs/real-type-of.d.ts +0 -5
  47. package/dist/cjs/real-type-of.js +0 -5
  48. package/dist/cjs/real-type-of.js.map +1 -1
  49. package/dist/cjs/request-client.d.ts +0 -53
  50. package/dist/cjs/request-client.js +4 -48
  51. package/dist/cjs/request-client.js.map +1 -1
  52. package/dist/cjs/segment-event.d.ts +0 -40
  53. package/dist/cjs/time.d.ts +0 -6
  54. package/dist/cjs/time.js +0 -6
  55. package/dist/cjs/time.js.map +1 -1
  56. package/dist/cjs/types.d.ts +0 -4
  57. package/dist/esm/create-request-client.d.ts +0 -3
  58. package/dist/esm/create-request-client.js +0 -7
  59. package/dist/esm/create-request-client.js.map +1 -1
  60. package/dist/esm/create-test-event.js +1 -1
  61. package/dist/esm/create-test-event.js.map +1 -1
  62. package/dist/esm/create-test-integration.d.ts +0 -19
  63. package/dist/esm/create-test-integration.js +0 -1
  64. package/dist/esm/create-test-integration.js.map +1 -1
  65. package/dist/esm/destination-kit/action.d.ts +0 -30
  66. package/dist/esm/destination-kit/action.js +0 -38
  67. package/dist/esm/destination-kit/action.js.map +1 -1
  68. package/dist/esm/destination-kit/fields-to-jsonschema.js +0 -2
  69. package/dist/esm/destination-kit/fields-to-jsonschema.js.map +1 -1
  70. package/dist/esm/destination-kit/index.d.ts +0 -10
  71. package/dist/esm/destination-kit/index.js +3 -6
  72. package/dist/esm/destination-kit/index.js.map +1 -1
  73. package/dist/esm/destination-kit/step.d.ts +0 -12
  74. package/dist/esm/destination-kit/step.js +0 -7
  75. package/dist/esm/destination-kit/step.js.map +1 -1
  76. package/dist/esm/destination-kit/types.d.ts +0 -4
  77. package/dist/esm/fetch.js +0 -1
  78. package/dist/esm/fetch.js.map +1 -1
  79. package/dist/esm/get.d.ts +0 -4
  80. package/dist/esm/get.js +1 -11
  81. package/dist/esm/get.js.map +1 -1
  82. package/dist/esm/map-values.d.ts +0 -4
  83. package/dist/esm/map-values.js +0 -5
  84. package/dist/esm/map-values.js.map +1 -1
  85. package/dist/esm/mapping-kit/index.d.ts +0 -6
  86. package/dist/esm/mapping-kit/index.js +1 -88
  87. package/dist/esm/mapping-kit/index.js.map +1 -1
  88. package/dist/esm/mapping-kit/is-directive.js +0 -1
  89. package/dist/esm/mapping-kit/is-directive.js.map +1 -1
  90. package/dist/esm/mapping-kit/placeholders.d.ts +0 -3
  91. package/dist/esm/mapping-kit/placeholders.js +0 -8
  92. package/dist/esm/mapping-kit/placeholders.js.map +1 -1
  93. package/dist/esm/mapping-kit/validate.js +0 -84
  94. package/dist/esm/mapping-kit/validate.js.map +1 -1
  95. package/dist/esm/middleware/after-response/prepare-headers.js +0 -3
  96. package/dist/esm/middleware/after-response/prepare-headers.js.map +1 -1
  97. package/dist/esm/middleware/after-response/prepare-response.js +0 -4
  98. package/dist/esm/middleware/after-response/prepare-response.js.map +1 -1
  99. package/dist/esm/omit.d.ts +0 -3
  100. package/dist/esm/omit.js +0 -3
  101. package/dist/esm/omit.js.map +1 -1
  102. package/dist/esm/real-type-of.d.ts +0 -5
  103. package/dist/esm/real-type-of.js +0 -5
  104. package/dist/esm/real-type-of.js.map +1 -1
  105. package/dist/esm/request-client.d.ts +0 -53
  106. package/dist/esm/request-client.js +4 -48
  107. package/dist/esm/request-client.js.map +1 -1
  108. package/dist/esm/segment-event.d.ts +0 -40
  109. package/dist/esm/time.d.ts +0 -6
  110. package/dist/esm/time.js +0 -6
  111. package/dist/esm/time.js.map +1 -1
  112. package/dist/esm/types.d.ts +0 -4
  113. package/package.json +15 -11
  114. package/dist/cjs/dayjs.d.ts +0 -2
  115. package/dist/cjs/dayjs.js +0 -10
  116. package/dist/cjs/dayjs.js.map +0 -1
  117. package/dist/esm/dayjs.d.ts +0 -2
  118. package/dist/esm/dayjs.js +0 -5
  119. package/dist/esm/dayjs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fields-to-jsonschema.js","sourceRoot":"","sources":["../../../src/destination-kit/fields-to-jsonschema.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,kBAAkB,CAAC,SAAqC,EAAE;IACxE,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,MAAM,UAAU,GAAgC,EAAE,CAAA;IAElD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QAEzB,wGAAwG;QACxG,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAgB,CAAA;QACzD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;QAE/B,gDAAgD;QAChD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACnB;KACF;IAED,OAAO;QACL,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,UAAU;QACV,QAAQ;KACT,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAsB,EAAE;;IACzD,MAAM,cAAc,GAAG,MAAC,MAAM,CAAC,QAAqB,mCAAI,EAAE,CAAA;IAC1D,MAAM,UAAU,GAAG,MAAC,MAAM,CAAC,UAAyC,mCAAI,EAAE,CAAA;IAE1E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACzC,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAChC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAA;SAChC;KACF;IAED,OAAO,UAAU,CAAA;AACnB,CAAC"}
1
+ {"version":3,"file":"fields-to-jsonschema.js","sourceRoot":"","sources":["../../../src/destination-kit/fields-to-jsonschema.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,kBAAkB,CAAC,SAAqC,EAAE;IACxE,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,MAAM,UAAU,GAAgC,EAAE,CAAA;IAElD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QAGzB,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAgB,CAAA;QACzD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;QAG/B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACnB;KACF;IAED,OAAO;QACL,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,UAAU;QACV,QAAQ;KACT,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAsB,EAAE;;IACzD,MAAM,cAAc,GAAG,MAAC,MAAM,CAAC,QAAqB,mCAAI,EAAE,CAAA;IAC1D,MAAM,UAAU,GAAG,MAAC,MAAM,CAAC,UAAyC,mCAAI,EAAE,CAAA;IAE1E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACzC,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAChC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAA;SAChC;KACF;IAED,OAAO,UAAU,CAAA;AACnB,CAAC"}
@@ -23,17 +23,12 @@ interface PartnerActions<Settings, Payload extends JSONLikeObject> {
23
23
  [key: string]: Action<Settings, Payload>;
24
24
  }
25
25
  export interface DestinationDefinition<Settings = unknown> {
26
- /** The name of the destination */
27
26
  name: string;
28
- /** An optional function to extend requests sent from the destination (including all actions) */
29
27
  extendRequest?: RequestExtension<Settings>;
30
- /** Optional authentication configuration */
31
28
  authentication?: AuthenticationScheme<Settings>;
32
- /** Actions */
33
29
  actions: {
34
30
  [key: string]: ActionDefinition<Settings>;
35
31
  };
36
- /** Subscription presets automatically applied in quick setup */
37
32
  presets?: Subscription[];
38
33
  }
39
34
  export interface Subscription {
@@ -51,7 +46,6 @@ interface Authentication<Settings> {
51
46
  testAuthentication: (request: RequestClient, input: TestAuthSettings<Settings>) => Promise<unknown> | unknown;
52
47
  }
53
48
  export interface CustomAuthentication<Settings> extends Authentication<Settings> {
54
- /** Typically used for "API Key" authentication. */
55
49
  scheme: 'custom';
56
50
  }
57
51
  export interface BasicAuthentication<Settings> extends Authentication<Settings> {
@@ -80,10 +74,6 @@ export declare class Destination<Settings = JSONObject> {
80
74
  private partnerAction;
81
75
  protected executeAction(actionSlug: string, { event, mapping, settings }: EventInput<Settings>): Promise<StepResult[]>;
82
76
  private onSubscription;
83
- /**
84
- * Note: Until we move subscriptions upstream (into int-consumer) we've opted
85
- * to have failures abort the set of subscriptions and get potentially retried by centrifuge
86
- */
87
77
  onEvent(event: SegmentEvent, settings: JSONObject, onComplete?: (stats: SubscriptionStats) => void): Promise<StepResult[]>;
88
78
  private getSubscriptions;
89
79
  private getDestinationSettings;
@@ -14,7 +14,6 @@ export class Destination {
14
14
  this.actions = {};
15
15
  this.authentication = destination.authentication;
16
16
  this.responses = [];
17
- // Convert to complete JSON Schema
18
17
  if ((_a = this.authentication) === null || _a === void 0 ? void 0 : _a.fields) {
19
18
  this.settingsSchema = fieldsToJsonSchema(this.authentication.fields);
20
19
  }
@@ -92,6 +91,9 @@ export class Destination {
92
91
  catch (error) {
93
92
  state = 'errored';
94
93
  results = [{ error }];
94
+ if (error.name === 'AggregateAjvError' || error.name === 'ValidationError') {
95
+ error.status = 400;
96
+ }
95
97
  throw error;
96
98
  }
97
99
  finally {
@@ -112,10 +114,6 @@ export class Destination {
112
114
  });
113
115
  }
114
116
  }
115
- /**
116
- * Note: Until we move subscriptions upstream (into int-consumer) we've opted
117
- * to have failures abort the set of subscriptions and get potentially retried by centrifuge
118
- */
119
117
  async onEvent(event, settings, onComplete) {
120
118
  const subscriptions = this.getSubscriptions(settings);
121
119
  const destinationSettings = this.getDestinationSettings(settings);
@@ -126,7 +124,6 @@ export class Destination {
126
124
  getSubscriptions(settings) {
127
125
  const { subscription, subscriptions } = settings;
128
126
  let parsedSubscriptions;
129
- // To support event tester we need to parse and validate multiple subscriptions from the settings
130
127
  if (subscription) {
131
128
  parsedSubscriptions = [subscription];
132
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destination-kit/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destination-kit/index.ts"],"names":[],"mappings":"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"}
@@ -6,30 +6,18 @@ export interface StepResult {
6
6
  error?: JSONObject | null;
7
7
  }
8
8
  export interface ExecuteInput<Settings, Payload> {
9
- /** The subscription mapping definition */
10
9
  readonly mapping?: JSONObject;
11
- /** The global destination settings */
12
10
  readonly settings: Settings;
13
- /** The transformed input data, based on `mapping` + `event` */
14
11
  payload: Payload;
15
- /** The ids from cached requests */
16
12
  cachedFields: {
17
13
  [key: string]: string | null | undefined;
18
14
  };
19
- /** The page used in autocomplete */
20
15
  page?: string;
21
16
  }
22
- /**
23
- * Step is the base class for all discrete execution steps. It handles executing the step, logging,
24
- * catching errors, and returning a result object.
25
- */
26
17
  export declare class Step<Settings, Payload> extends EventEmitter {
27
18
  executeStep?(data: ExecuteInput<Settings, Payload>): Promise<JSONObject | string | null | undefined>;
28
19
  execute(data: ExecuteInput<Settings, Payload>): Promise<StepResult>;
29
20
  }
30
- /**
31
- * Steps is a list of one or more Step instances that can be executed in-order.
32
- */
33
21
  export declare class Steps<Settings, Payload> {
34
22
  steps: Step<Settings, Payload>[];
35
23
  constructor();
@@ -1,8 +1,4 @@
1
1
  import { EventEmitter } from 'events';
2
- /**
3
- * Step is the base class for all discrete execution steps. It handles executing the step, logging,
4
- * catching errors, and returning a result object.
5
- */
6
2
  export class Step extends EventEmitter {
7
3
  async execute(data) {
8
4
  const result = {
@@ -21,9 +17,6 @@ export class Step extends EventEmitter {
21
17
  return result;
22
18
  }
23
19
  }
24
- /**
25
- * Steps is a list of one or more Step instances that can be executed in-order.
26
- */
27
20
  export class Steps {
28
21
  constructor() {
29
22
  this.steps = [];
@@ -1 +1 @@
1
- {"version":3,"file":"step.js","sourceRoot":"","sources":["../../../src/destination-kit/step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAqBrC;;;GAGG;AACH,MAAM,OAAO,IAAwB,SAAQ,YAAY;IAGvD,KAAK,CAAC,OAAO,CAAC,IAAqC;QACjD,MAAM,MAAM,GAAe;YACzB,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI;SACZ,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO,MAAM,CAAA;SACd;QAED,IAAI;YACF,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;SAC7C;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;SACjB;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,KAAK;IAGhB;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;IACjB,CAAC;IAED,IAAI,CAAC,IAA6B;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAqC;QACjD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;SACpC;QAED,MAAM,OAAO,GAAiB,EAAE,CAAA;QAEhC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAEvC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAEpB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,MAAK;aACN;SACF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"step.js","sourceRoot":"","sources":["../../../src/destination-kit/step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAyBrC,MAAM,OAAO,IAAwB,SAAQ,YAAY;IAGvD,KAAK,CAAC,OAAO,CAAC,IAAqC;QACjD,MAAM,MAAM,GAAe;YACzB,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI;SACZ,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO,MAAM,CAAA;SACd;QAED,IAAI;YACF,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;SAC7C;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;SACjB;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAKD,MAAM,OAAO,KAAK;IAGhB;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;IACjB,CAAC;IAED,IAAI,CAAC,IAA6B;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAqC;QACjD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;SACpC;QAED,MAAM,OAAO,GAAiB,EAAE,CAAA;QAEhC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAEvC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAEpB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,MAAK;aACN;SACF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF"}
@@ -16,8 +16,4 @@ export interface AutocompleteItem {
16
16
  export interface InputField extends Omit<JSONSchema4, 'required'> {
17
17
  required?: boolean;
18
18
  }
19
- /**
20
- * A function to configure a request client instance with options
21
- * that will be applied to every request made by that instance
22
- */
23
19
  export declare type RequestExtension<Settings, Payload = unknown> = (data: ExecuteInput<Settings, Payload>) => RequestOptions;
package/dist/esm/fetch.js CHANGED
@@ -1,4 +1,3 @@
1
- // import fetch ponyfill
2
1
  import fetch, { Headers, Request, Response } from 'cross-fetch';
3
2
  export { Headers, Request, Response };
4
3
  export default fetch;
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/fetch.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE/D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;AACrC,eAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/fetch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE/D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;AACrC,eAAe,KAAK,CAAA"}
package/dist/esm/get.d.ts CHANGED
@@ -1,5 +1 @@
1
- /**
2
- * Lightweight alternative to lodash.get with similar coverage
3
- * Supports basic path lookup via dot notation `'foo.bar[0].baz'` or an array ['foo', 'bar', '0', 'baz']
4
- */
5
1
  export declare function get<T = unknown, Default = undefined>(obj: any, path: string | string[], defValue?: Default): T | Default | undefined;
package/dist/esm/get.js CHANGED
@@ -1,17 +1,7 @@
1
- /**
2
- * Lightweight alternative to lodash.get with similar coverage
3
- * Supports basic path lookup via dot notation `'foo.bar[0].baz'` or an array ['foo', 'bar', '0', 'baz']
4
- */
5
- export function get(
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
- obj, path, defValue) {
8
- // If path is not defined or it has false value
1
+ export function get(obj, path, defValue) {
9
2
  if (!path)
10
3
  return defValue;
11
- // Check if path is string or array. Regex : ensure that we do not have '.' and brackets.
12
- // Regex explained: https://regexr.com/58j0k
13
4
  const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g);
14
- // Find value if exist return otherwise return undefined value
15
5
  const value = pathArray.reduce((prevObj, key) => prevObj && prevObj[key], obj);
16
6
  return typeof value !== 'undefined' ? value : defValue;
17
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/get.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,GAAG;AACjB,8DAA8D;AAC9D,GAAQ,EACR,IAAuB,EACvB,QAAkB;IAElB,+CAA+C;IAC/C,IAAI,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAA;IAE1B,yFAAyF;IACzF,4CAA4C;IAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAc,CAAA;IAEtF,8DAA8D;IAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;IAC9E,OAAO,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;AACxD,CAAC"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/get.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,GAAG,CAEjB,GAAQ,EACR,IAAuB,EACvB,QAAkB;IAGlB,IAAI,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAA;IAI1B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAc,CAAA;IAGtF,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;IAC9E,OAAO,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;AACxD,CAAC"}
@@ -1,7 +1,3 @@
1
- /**
2
- * Lightweight alternative to lodash.mapValues
3
- * Creates an object with the same keys as the input object
4
- */
5
1
  export declare function mapValues<Values extends Record<string, unknown>, Obj extends Record<string, Values>, ValueKey extends keyof Values>(obj: Obj, key: ValueKey): {
6
2
  [K in keyof Obj]: Obj[K][ValueKey];
7
3
  };
@@ -1,10 +1,5 @@
1
- /**
2
- * Lightweight alternative to lodash.mapValues
3
- * Creates an object with the same keys as the input object
4
- */
5
1
  export function mapValues(obj, key) {
6
2
  return Object.entries(obj).reduce((agg, [name, value]) => {
7
- // @ts-ignore this is a pretty complex type, skipping for now
8
3
  agg[name] = value[key];
9
4
  return agg;
10
5
  }, {});
@@ -1 +1 @@
1
- {"version":3,"file":"map-values.js","sourceRoot":"","sources":["../../src/map-values.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,SAAS,CAIvB,GAAQ,EAAE,GAAa;IACvB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QACvD,6DAA6D;QAC7D,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAA4C,CAAC,CAAA;AAClD,CAAC"}
1
+ {"version":3,"file":"map-values.js","sourceRoot":"","sources":["../../src/map-values.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,SAAS,CAIvB,GAAQ,EAAE,GAAa;IACvB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAEvD,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAA4C,CAAC,CAAA;AAClD,CAAC"}
@@ -1,8 +1,2 @@
1
1
  import { JSONObject, JSONLikeObject } from '../json-object';
2
- /**
3
- * Validates and transforms a mapping by applying the input payload
4
- * based on the directives and raw values defined in the mapping object
5
- * @param mapping - the directives and raw values
6
- * @param payload - the input data to apply to directives
7
- */
8
2
  export declare function transform(mapping: JSONLikeObject, payload?: JSONObject): JSONObject;
@@ -1,9 +1,7 @@
1
- import { v4 as uuidv4 } from 'uuid';
2
- import dayjs from '../dayjs';
3
1
  import { get } from '../get';
4
2
  import { isDirective } from './is-directive';
5
3
  import { render } from './placeholders';
6
- import { realTypeOf, isObject, isString, isArray } from '../real-type-of';
4
+ import { realTypeOf, isObject, isArray } from '../real-type-of';
7
5
  import { removeUndefined } from '../remove-undefined';
8
6
  import validate from './validate';
9
7
  const directives = {};
@@ -32,9 +30,6 @@ function runDirective(obj, payload) {
32
30
  }
33
31
  return directiveFn(value, payload);
34
32
  }
35
- registerStringDirective('@base64', (str, _payload) => {
36
- return Buffer.from(str).toString('base64');
37
- });
38
33
  registerDirective('@if', (opts, payload) => {
39
34
  let condition = false;
40
35
  if (!isObject(opts)) {
@@ -58,86 +53,12 @@ registerDirective('@if', (opts, payload) => {
58
53
  return resolve(opts.else, payload);
59
54
  }
60
55
  });
61
- registerDirective('@json', (value, payload) => {
62
- return JSON.stringify(resolve(value, payload));
63
- });
64
- registerStringDirective('@lowercase', (str, _payload) => {
65
- return str.toLowerCase();
66
- });
67
- registerDirective('@merge', (arr, payload) => {
68
- if (!Array.isArray(arr)) {
69
- throw new Error(`@merge: expected array, got ${realTypeOf(arr)}`);
70
- }
71
- const objects = arr.map((v) => resolve(v, payload));
72
- return Object.assign({}, ...objects);
73
- });
74
- function resolveObjectAndFields(directive, opts, payload) {
75
- if (!isObject(opts)) {
76
- throw new Error(`${directive}: expected object, got ${realTypeOf(opts)}`);
77
- }
78
- const obj = resolve(opts.object, payload);
79
- if (!isObject(obj)) {
80
- throw new Error(`${directive}: expected object, got ${realTypeOf(obj)}`);
81
- }
82
- const fields = resolve(opts.fields, payload);
83
- if (!Array.isArray(fields)) {
84
- throw new Error(`${directive}: expected fields as array, got ${realTypeOf(fields)}`);
85
- }
86
- return [obj, fields];
87
- }
88
- registerDirective('@omit', (opts, payload) => {
89
- const [obj, fields] = resolveObjectAndFields('@omit', opts, payload);
90
- const clonedObj = JSON.parse(JSON.stringify(obj));
91
- fields.forEach((f) => delete clonedObj[f]);
92
- return clonedObj;
93
- });
94
56
  registerStringDirective('@path', (path, payload) => {
95
57
  return get(payload, path.replace('$.', ''));
96
58
  });
97
- registerDirective('@pick', (opts, payload) => {
98
- const [obj, fields] = resolveObjectAndFields('@pick', opts, payload);
99
- const clean = {};
100
- fields.forEach((f) => {
101
- if (Object.prototype.hasOwnProperty.call(obj, f)) {
102
- clean[f] = obj[f];
103
- }
104
- });
105
- return clean;
106
- });
107
- registerDirective('@root', (_, payload) => payload);
108
59
  registerStringDirective('@template', (template, payload) => {
109
60
  return render(template, payload);
110
61
  });
111
- registerDirective('@timestamp', (opts, payload) => {
112
- if (!isObject(opts)) {
113
- throw new Error(`@timestamp: requires an object, got ${realTypeOf(opts)}`);
114
- }
115
- const ts = resolve(opts.timestamp, payload);
116
- if (!isString(ts)) {
117
- throw new Error(`@timestamp: timestamp must be a string, got ${realTypeOf(ts)}`);
118
- }
119
- const format = resolve(opts.format, payload);
120
- if (!isString(format)) {
121
- throw new Error(`@timestamp: format must be a string, got ${realTypeOf(format)}`);
122
- }
123
- const inputFormat = resolve(opts.inputFormat, payload);
124
- if (inputFormat !== undefined && !isString(inputFormat)) {
125
- throw new Error(`@timestamp: inputFormat must be a string, got ${realTypeOf(inputFormat)}`);
126
- }
127
- const dayjsTs = dayjs.utc(ts, inputFormat);
128
- if (format === 'json') {
129
- return dayjsTs.toJSON();
130
- }
131
- return dayjsTs.format(format);
132
- });
133
- registerDirective('@uuid', (_, _payload) => uuidv4());
134
- /**
135
- * Resolves a mapping value/object by applying the input payload based on directives
136
- * *WARNING* This function mutates `mapping` when an object
137
- * @param mapping - the mapping directives or raw values to resolve
138
- * @param payload - the input data to apply to the mapping directives
139
- * @todo support arrays or array directives?
140
- */
141
62
  function resolve(mapping, payload) {
142
63
  if (!isObject(mapping) && !isArray(mapping)) {
143
64
  return mapping;
@@ -154,22 +75,14 @@ function resolve(mapping, payload) {
154
75
  }
155
76
  return mapping;
156
77
  }
157
- /**
158
- * Validates and transforms a mapping by applying the input payload
159
- * based on the directives and raw values defined in the mapping object
160
- * @param mapping - the directives and raw values
161
- * @param payload - the input data to apply to directives
162
- */
163
78
  export function transform(mapping, payload = {}) {
164
79
  const payloadType = realTypeOf(payload);
165
80
  if (payloadType !== 'object') {
166
81
  throw new Error(`payload must be an object, got ${payloadType}`);
167
82
  }
168
- // throws if the mapping config is invalid
169
83
  validate(mapping);
170
84
  let resolved = resolve(mapping, payload);
171
85
  resolved = removeUndefined(resolved);
172
- // Cast because we know there are no `undefined` values anymore
173
86
  return resolved;
174
87
  }
175
88
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mapping-kit/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mapping-kit/index.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ export function isDirective(obj) {
8
8
  if (!hasDirectivePrefix) {
9
9
  return false;
10
10
  }
11
- // Ensure there aren't any other keys besides `@directive` or `_metadata`
12
11
  const otherKeys = keys.filter((key) => !key.startsWith('@') && key !== '_metadata');
13
12
  if (otherKeys.length === 0) {
14
13
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"is-directive.js","sourceRoot":"","sources":["../../../src/mapping-kit/is-directive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,KAAK,CAAA;KACb;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IAClE,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO,KAAK,CAAA;KACb;IAED,yEAAyE;IACzE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,CAAC,CAAA;IACnF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"is-directive.js","sourceRoot":"","sources":["../../../src/mapping-kit/is-directive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,KAAK,CAAA;KACb;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IAClE,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO,KAAK,CAAA;KACb;IAGD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,CAAC,CAAA;IACnF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1,4 +1 @@
1
- /**
2
- * Replaces curly brace placeholders in a template with real content
3
- */
4
1
  export declare function render(template: string, data?: unknown): string;
@@ -17,9 +17,6 @@ function escapeHtml(value) {
17
17
  return entityMap[match];
18
18
  });
19
19
  }
20
- /**
21
- * Replaces curly brace placeholders in a template with real content
22
- */
23
20
  export function render(template, data = {}) {
24
21
  if (typeof template !== 'string') {
25
22
  throw new TypeError(`Invalid template! Template should be a "string" but ${realTypeOf(template)} was given.`);
@@ -27,11 +24,8 @@ export function render(template, data = {}) {
27
24
  function replacer(chars, escape) {
28
25
  return (match) => {
29
26
  var _a;
30
- // Remove the wrapping curly braces
31
27
  match = match.slice(chars, -chars).trim();
32
- // Grab the value from data, if it exists
33
28
  const value = get(data, match);
34
- // Replace with the value (or empty string)
35
29
  if (escape) {
36
30
  return String((_a = escapeHtml(value)) !== null && _a !== void 0 ? _a : '');
37
31
  }
@@ -39,9 +33,7 @@ export function render(template, data = {}) {
39
33
  };
40
34
  }
41
35
  return (template
42
- // Replace unescaped content
43
36
  .replace(/\{\{\{([^}]+)\}\}\}/g, replacer(3, false))
44
- // Replace escaped content
45
37
  .replace(/\{\{([^}]+)\}\}/g, replacer(2, true)));
46
38
  }
47
39
  //# sourceMappingURL=placeholders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"placeholders.js","sourceRoot":"","sources":["../../../src/mapping-kit/placeholders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,SAAS,GAA2B;IACxC,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;CACd,CAAA;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;QAC5C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,QAAgB,EAAE,OAAgB,EAAE;IACzD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,MAAM,IAAI,SAAS,CAAC,uDAAuD,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;KAC9G;IAED,SAAS,QAAQ,CAAC,KAAa,EAAE,MAAe;QAC9C,OAAO,CAAC,KAAa,EAAU,EAAE;;YAC/B,mCAAmC;YACnC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;YAEzC,yCAAyC;YACzC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAE9B,2CAA2C;YAC3C,IAAI,MAAM,EAAE;gBACV,OAAO,MAAM,CAAC,MAAA,UAAU,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC,CAAA;aACvC;YAED,OAAO,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAW,CAAA;QAChC,CAAC,CAAA;IACH,CAAC;IAED,OAAO,CACL,QAAQ;QACN,4BAA4B;SAC3B,OAAO,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpD,0BAA0B;SACzB,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAClD,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"placeholders.js","sourceRoot":"","sources":["../../../src/mapping-kit/placeholders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,SAAS,GAA2B;IACxC,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;CACd,CAAA;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;QAC5C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;AAKD,MAAM,UAAU,MAAM,CAAC,QAAgB,EAAE,OAAgB,EAAE;IACzD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,MAAM,IAAI,SAAS,CAAC,uDAAuD,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;KAC9G;IAED,SAAS,QAAQ,CAAC,KAAa,EAAE,MAAe;QAC9C,OAAO,CAAC,KAAa,EAAU,EAAE;;YAE/B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;YAGzC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAG9B,IAAI,MAAM,EAAE;gBACV,OAAO,MAAM,CAAC,MAAA,UAAU,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC,CAAA;aACvC;YAED,OAAO,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAW,CAAA;QAChC,CAAC,CAAA;IACH,CAAC;IAED,OAAO,CACL,QAAQ;SAEL,OAAO,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAEnD,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAClD,CAAA;AACH,CAAC"}
@@ -28,7 +28,6 @@ function realTypeOrDirective(value) {
28
28
  }
29
29
  const directives = {};
30
30
  function validateDirective(obj, stack = []) {
31
- // "allow" non-directive objects so that we can throw a more descriptive error below
32
31
  if (!isDirective(obj) && !isObject(obj)) {
33
32
  const type = realTypeOf(obj);
34
33
  throw new ValidationError(`should be a directive object but it is ${indefiniteArticle(type)} ${type}`, stack);
@@ -38,7 +37,6 @@ function validateDirective(obj, stack = []) {
38
37
  if (directiveKeys.length > 1) {
39
38
  throw new ValidationError(`should only have one @-prefixed key but it has ${directiveKeys.length} keys`, stack);
40
39
  }
41
- // Check that there aren't other keys besides @directive or _metadata
42
40
  const otherKeys = keys.filter((key) => !key.startsWith('@') && key !== '_metadata');
43
41
  if (otherKeys.length > 0) {
44
42
  throw new ValidationError(`should only have one @-prefixed key but it has ${keys.length} keys`, stack);
@@ -77,28 +75,6 @@ function validateDirectiveOrString(v, stack = []) {
77
75
  throw new ValidationError(`should be a string or a mapping directive but it is ${indefiniteArticle(type)} ${type}`, stack);
78
76
  }
79
77
  }
80
- function validateDirectiveOrObject(v, stack = []) {
81
- const type = realTypeOrDirective(v);
82
- switch (type) {
83
- case 'directive':
84
- return validateDirective(v, stack);
85
- case 'object':
86
- return validateObject(v, stack);
87
- default:
88
- throw new ValidationError(`should be a mapping directive or an object but it is ${indefiniteArticle(type)} ${type}`, stack);
89
- }
90
- }
91
- function validateDirectiveOrArray(v, stack = []) {
92
- const type = realTypeOrDirective(v);
93
- switch (type) {
94
- case 'directive':
95
- return validateDirective(v, stack);
96
- case 'array':
97
- return validateArray(v, stack);
98
- default:
99
- throw new ValidationError(`should be a mapping directive or an array but it is ${indefiniteArticle(type)} ${type}`, stack);
100
- }
101
- }
102
78
  function validateObject(value, stack = []) {
103
79
  const type = realTypeOrDirective(value);
104
80
  if (type !== 'object') {
@@ -173,9 +149,6 @@ function directive(names, fn) {
173
149
  };
174
150
  });
175
151
  }
176
- directive('@base64', (v, stack) => {
177
- validateDirectiveOrString(v, stack);
178
- });
179
152
  directive('@if', (v, stack) => {
180
153
  validateObjectWithFields(v, {
181
154
  exists: { optional: validateDirectiveOrRaw },
@@ -184,68 +157,12 @@ directive('@if', (v, stack) => {
184
157
  else: { optional: validateDirectiveOrRaw }
185
158
  }, stack);
186
159
  });
187
- directive('@json', (v, stack) => {
188
- validateDirectiveOrRaw(v, stack);
189
- });
190
- directive('@lowercase', (v, stack) => {
191
- validateDirectiveOrString(v, stack);
192
- });
193
- directive('@merge', (v, stack = []) => {
194
- validateArray(v, stack);
195
- const arr = v;
196
- const errors = [];
197
- arr.forEach((obj, i) => {
198
- try {
199
- validateDirectiveOrObject(obj, [...stack, `${i}`]);
200
- }
201
- catch (error) {
202
- errors.push(error);
203
- }
204
- });
205
- if (errors.length) {
206
- throw new AggregateError(errors);
207
- }
208
- });
209
- directive(['@omit', '@pick'], (v, stack = []) => {
210
- validateObjectWithFields(v, {
211
- object: { required: validateDirectiveOrObject },
212
- fields: { required: validateDirectiveOrArray }
213
- }, stack);
214
- const obj = v;
215
- if (Array.isArray(obj.fields)) {
216
- const errors = [];
217
- obj.fields.forEach((field, i) => {
218
- try {
219
- validateDirectiveOrString(field, [...stack, i.toString()]);
220
- }
221
- catch (error) {
222
- errors.push(error);
223
- }
224
- });
225
- if (errors.length) {
226
- throw new AggregateError(errors);
227
- }
228
- }
229
- });
230
160
  directive('@path', (v, stack) => {
231
161
  validateDirectiveOrString(v, stack);
232
162
  });
233
- directive('@root', () => {
234
- // no-op
235
- });
236
163
  directive('@template', (v, stack) => {
237
164
  validateDirectiveOrString(v, stack);
238
165
  });
239
- directive('@timestamp', (v, stack) => {
240
- validateObjectWithFields(v, {
241
- format: { required: validateDirectiveOrString },
242
- inputFormat: { optional: validateDirectiveOrString },
243
- timestamp: { required: validateDirectiveOrString }
244
- }, stack);
245
- });
246
- directive('@uuid', () => {
247
- // no-op
248
- });
249
166
  function indefiniteArticle(s) {
250
167
  switch (s.charAt(0)) {
251
168
  case 'a':
@@ -267,7 +184,6 @@ export default function validate(mapping, stack = []) {
267
184
  case 'array':
268
185
  return validateArray(mapping, stack);
269
186
  default:
270
- // All other types are valid "raw" mappings
271
187
  return null;
272
188
  }
273
189
  }