@dereekb/nestjs 13.0.0 → 13.0.1
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/index.cjs.default.js +1 -0
- package/index.cjs.js +136 -118
- package/index.cjs.mjs +2 -0
- package/index.esm.js +136 -118
- package/mailgun/index.cjs.default.js +1 -0
- package/mailgun/index.cjs.js +496 -503
- package/mailgun/index.cjs.mjs +2 -0
- package/mailgun/index.esm.js +496 -503
- package/mailgun/package.json +19 -20
- package/openai/index.cjs.default.js +1 -0
- package/openai/index.cjs.js +194 -161
- package/openai/index.cjs.mjs +2 -0
- package/openai/index.esm.js +194 -161
- package/openai/package.json +19 -20
- package/package.json +32 -55
- package/stripe/index.cjs.default.js +1 -0
- package/stripe/index.cjs.js +158 -128
- package/stripe/index.cjs.mjs +2 -0
- package/stripe/index.esm.js +158 -128
- package/stripe/package.json +19 -20
- package/typeform/index.cjs.default.js +1 -0
- package/typeform/index.cjs.js +257 -240
- package/typeform/index.cjs.mjs +2 -0
- package/typeform/index.esm.js +257 -240
- package/typeform/package.json +19 -20
- package/vapiai/index.cjs.default.js +1 -0
- package/vapiai/index.cjs.js +203 -190
- package/vapiai/index.cjs.mjs +2 -0
- package/vapiai/index.esm.js +203 -190
- package/vapiai/package.json +19 -20
package/typeform/index.esm.js
CHANGED
|
@@ -12,19 +12,19 @@ import { createClient } from '@typeform/api-client';
|
|
|
12
12
|
* @returns
|
|
13
13
|
*/
|
|
14
14
|
function typeFormWebhookEvent(event) {
|
|
15
|
-
|
|
15
|
+
return event;
|
|
16
16
|
}
|
|
17
|
-
const typeformEventHandlerFactory = handlerFactory(x => x.event_type);
|
|
17
|
+
const typeformEventHandlerFactory = handlerFactory((x) => x.event_type);
|
|
18
18
|
const typeformEventHandlerConfigurerFactory = handlerConfigurerFactory({
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
configurerForAccessor: (accessor) => {
|
|
20
|
+
// eslint-disable-next-line
|
|
21
|
+
const fnWithKey = handlerMappedSetFunctionFactory(accessor, typeFormWebhookEvent);
|
|
22
|
+
const configurer = {
|
|
23
|
+
...accessor,
|
|
24
|
+
handleFormResponse: fnWithKey('form_response')
|
|
25
|
+
};
|
|
26
|
+
return configurer;
|
|
27
|
+
}
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
const TYPEFORM_WEBHOOK_SECRET_TOKEN_ENV_VAR = 'TYPEFORM_WEBHOOK_SECRET_TOKEN';
|
|
@@ -32,12 +32,12 @@ const TYPEFORM_WEBHOOK_SECRET_TOKEN_ENV_VAR = 'TYPEFORM_WEBHOOK_SECRET_TOKEN';
|
|
|
32
32
|
* Configuration for TypeformService
|
|
33
33
|
*/
|
|
34
34
|
class TypeformWebhookServiceConfig {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
typeformWebhook;
|
|
36
|
+
static assertValidConfig(config) {
|
|
37
|
+
if (!config.typeformWebhook.secretToken) {
|
|
38
|
+
throw new Error('No Typeform webhook secret specified.');
|
|
39
|
+
}
|
|
39
40
|
}
|
|
40
|
-
}
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
/******************************************************************************
|
|
@@ -84,230 +84,237 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
84
84
|
* @returns A function that verifies a Typeform webhook event.
|
|
85
85
|
*/
|
|
86
86
|
function typeFormWebhookEventVerifier(config) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
87
|
+
const { secret } = config;
|
|
88
|
+
return async (request, rawBody) => {
|
|
89
|
+
const requestBodyString = String(request.body);
|
|
90
|
+
const headers = request.headers;
|
|
91
|
+
const vapiSignature = headers['typeform-signature'];
|
|
92
|
+
const hashForVerify = createHmac('sha256', secret).update(requestBodyString).digest('base64');
|
|
93
|
+
const signature = `sha256=${hashForVerify}`;
|
|
94
|
+
const valid = vapiSignature === signature;
|
|
95
|
+
const event = JSON.parse(requestBodyString);
|
|
96
|
+
const result = {
|
|
97
|
+
valid,
|
|
98
|
+
event
|
|
99
|
+
};
|
|
100
|
+
return result;
|
|
101
101
|
};
|
|
102
|
-
return result;
|
|
103
|
-
};
|
|
104
102
|
}
|
|
105
103
|
|
|
106
104
|
/**
|
|
107
105
|
* Service that makes system changes based on Typeform webhook events.
|
|
108
106
|
*/
|
|
109
107
|
let TypeformWebhookService = class TypeformWebhookService {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
108
|
+
logger = new Logger('TypeformWebhookService');
|
|
109
|
+
_verifier;
|
|
110
|
+
handler = typeformEventHandlerFactory();
|
|
111
|
+
configure = typeformEventHandlerConfigurerFactory(this.handler);
|
|
112
|
+
constructor(typeFormWebhookServiceConfig) {
|
|
113
|
+
const { secretToken: webhookSecret } = typeFormWebhookServiceConfig.typeformWebhook;
|
|
114
|
+
this._verifier = typeFormWebhookEventVerifier({
|
|
115
|
+
secret: webhookSecret
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
async updateForWebhook(req, rawBody) {
|
|
119
|
+
const result = await this._verifier(req, rawBody);
|
|
120
|
+
if (!result.valid) {
|
|
121
|
+
this.logger.warn('Received invalid Typeform event.', req);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
await this.updateForTypeformEvent(result.event);
|
|
125
|
+
}
|
|
128
126
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
127
|
+
async updateForTypeformEvent(event) {
|
|
128
|
+
const result = await this.handler(event);
|
|
129
|
+
if (!result) {
|
|
130
|
+
this.logger.warn('Received unexpected/unhandled Typeform event.', event);
|
|
131
|
+
}
|
|
134
132
|
}
|
|
135
|
-
}
|
|
136
133
|
};
|
|
137
|
-
TypeformWebhookService = __decorate([
|
|
134
|
+
TypeformWebhookService = __decorate([
|
|
135
|
+
Injectable(),
|
|
136
|
+
__param(0, Inject(TypeformWebhookServiceConfig)),
|
|
137
|
+
__metadata("design:paramtypes", [TypeformWebhookServiceConfig])
|
|
138
|
+
], TypeformWebhookService);
|
|
138
139
|
|
|
139
140
|
let TypeformWebhookController = class TypeformWebhookController {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
141
|
+
_typeformWebhookService;
|
|
142
|
+
constructor(typeformWebhookService) {
|
|
143
|
+
this._typeformWebhookService = typeformWebhookService;
|
|
144
|
+
}
|
|
145
|
+
async handleTypeformWebhook(req, rawBody) {
|
|
146
|
+
await this._typeformWebhookService.updateForWebhook(req, rawBody);
|
|
147
|
+
}
|
|
147
148
|
};
|
|
148
|
-
__decorate([
|
|
149
|
-
|
|
149
|
+
__decorate([
|
|
150
|
+
Post(),
|
|
151
|
+
__param(0, Req()),
|
|
152
|
+
__param(1, RawBody()),
|
|
153
|
+
__metadata("design:type", Function),
|
|
154
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
155
|
+
__metadata("design:returntype", Promise)
|
|
156
|
+
], TypeformWebhookController.prototype, "handleTypeformWebhook", null);
|
|
157
|
+
TypeformWebhookController = __decorate([
|
|
158
|
+
Controller('/webhook/typeform'),
|
|
159
|
+
__param(0, Inject(TypeformWebhookService)),
|
|
160
|
+
__metadata("design:paramtypes", [TypeformWebhookService])
|
|
161
|
+
], TypeformWebhookController);
|
|
150
162
|
|
|
151
163
|
function typeFormWebhookServiceConfigFactory(configService) {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
164
|
+
const config = {
|
|
165
|
+
typeformWebhook: {
|
|
166
|
+
secretToken: configService.get(TYPEFORM_WEBHOOK_SECRET_TOKEN_ENV_VAR)
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
TypeformWebhookServiceConfig.assertValidConfig(config);
|
|
170
|
+
return config;
|
|
159
171
|
}
|
|
160
|
-
let TypeformWebhookModule = class TypeformWebhookModule {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
172
|
+
let TypeformWebhookModule = class TypeformWebhookModule {
|
|
173
|
+
};
|
|
174
|
+
TypeformWebhookModule = __decorate([
|
|
175
|
+
Module({
|
|
176
|
+
imports: [ConfigModule],
|
|
177
|
+
controllers: [TypeformWebhookController],
|
|
178
|
+
providers: [
|
|
179
|
+
{
|
|
180
|
+
provide: TypeformWebhookServiceConfig,
|
|
181
|
+
inject: [ConfigService],
|
|
182
|
+
useFactory: typeFormWebhookServiceConfigFactory
|
|
183
|
+
},
|
|
184
|
+
TypeformWebhookService
|
|
185
|
+
],
|
|
186
|
+
exports: [TypeformWebhookService]
|
|
187
|
+
})
|
|
188
|
+
], TypeformWebhookModule);
|
|
171
189
|
|
|
172
190
|
function findTypeformTemplateRefsInString(input) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
191
|
+
/**
|
|
192
|
+
* Used to search the input string to find field refs like the following:
|
|
193
|
+
*
|
|
194
|
+
* {{field:8f7adc1e-c3b8-44bd-b00c-1b6c8de65797}}
|
|
195
|
+
* {{field:01H7G3DCZ1FZV4KYZGM755MXZZ}}
|
|
196
|
+
*/
|
|
197
|
+
const regex = /\{\{\s*(field)\s*:\s*([A-Za-z0-9-]+)\s*\}\}/g;
|
|
198
|
+
const matches = input.matchAll(regex);
|
|
199
|
+
const result = [];
|
|
200
|
+
for (const regexMatch of matches) {
|
|
201
|
+
const match = regexMatch[0]; // {{field:8f7adc1e-c3b8-44bd-b00c-1b6c8de65797}}
|
|
202
|
+
const type = regexMatch[1]; // field
|
|
203
|
+
const ref = regexMatch[2]; // 8f7adc1e-c3b8-44bd-b00c-1b6c8de65797
|
|
204
|
+
result.push({
|
|
205
|
+
type,
|
|
206
|
+
match,
|
|
207
|
+
ref
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
return result;
|
|
193
211
|
}
|
|
194
212
|
|
|
195
213
|
/**
|
|
196
214
|
* Creates an ExpandedTypeformWebhookFormResponse from a TypeformWebhookFormResponse.
|
|
197
215
|
*/
|
|
198
216
|
function expandTypeformWebhookFormResponse(formResponse) {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
result = replacedTitle;
|
|
226
|
-
});
|
|
227
|
-
}
|
|
217
|
+
const { answers, definition } = formResponse;
|
|
218
|
+
const { fields = [] } = definition;
|
|
219
|
+
const questionFieldMap = new Map(filterMaybeArrayValues(fields.map((x) => (x.id ? [x.id, x] : null))));
|
|
220
|
+
const answerValuePairs = answers.map((answer) => makeTypeformFormResponseAnswerValuePair(answer));
|
|
221
|
+
const answerValueFieldRefMap = new Map(filterMaybeArrayValues(answerValuePairs.map((x) => (x.answer.field.ref ? [x.answer.field.ref, x] : null))));
|
|
222
|
+
function expandQuestionTitle(title) {
|
|
223
|
+
let result = title;
|
|
224
|
+
let hadReferenceInTitle = false;
|
|
225
|
+
if (result) {
|
|
226
|
+
const refsInTitle = findTypeformTemplateRefsInString(result);
|
|
227
|
+
if (refsInTitle.length > 0) {
|
|
228
|
+
hadReferenceInTitle = true;
|
|
229
|
+
refsInTitle.forEach((refInTitle) => {
|
|
230
|
+
const { match, ref } = refInTitle;
|
|
231
|
+
const fullMatch = match;
|
|
232
|
+
const answer = answerValueFieldRefMap.get(ref);
|
|
233
|
+
const answerValue = answer?.valueString;
|
|
234
|
+
const replacedTitle = result.replaceAll(fullMatch, answerValue || '');
|
|
235
|
+
result = replacedTitle;
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return {
|
|
240
|
+
questionTitle: result,
|
|
241
|
+
hadReferenceInTitle
|
|
242
|
+
};
|
|
228
243
|
}
|
|
244
|
+
const pairs = answerValuePairs.map((answerValue) => {
|
|
245
|
+
const definitionField = questionFieldMap.get(answerValue.answer.field.id);
|
|
246
|
+
const { questionTitle, hadReferenceInTitle } = expandQuestionTitle(definitionField?.title);
|
|
247
|
+
const result = {
|
|
248
|
+
...answerValue,
|
|
249
|
+
definitionField,
|
|
250
|
+
questionTitle,
|
|
251
|
+
hadReferenceInTitle
|
|
252
|
+
};
|
|
253
|
+
return result;
|
|
254
|
+
});
|
|
229
255
|
return {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
const pairs = answerValuePairs.map(answerValue => {
|
|
235
|
-
const definitionField = questionFieldMap.get(answerValue.answer.field.id);
|
|
236
|
-
const {
|
|
237
|
-
questionTitle,
|
|
238
|
-
hadReferenceInTitle
|
|
239
|
-
} = expandQuestionTitle(definitionField?.title);
|
|
240
|
-
const result = {
|
|
241
|
-
...answerValue,
|
|
242
|
-
definitionField,
|
|
243
|
-
questionTitle,
|
|
244
|
-
hadReferenceInTitle
|
|
256
|
+
formResponse,
|
|
257
|
+
pairs
|
|
245
258
|
};
|
|
246
|
-
return result;
|
|
247
|
-
});
|
|
248
|
-
return {
|
|
249
|
-
formResponse,
|
|
250
|
-
pairs
|
|
251
|
-
};
|
|
252
259
|
}
|
|
253
260
|
/**
|
|
254
261
|
* Creates a TypeformFormQuestionAnswerPair from a TypeformFormResponseAnswer.
|
|
255
262
|
*/
|
|
256
263
|
function makeTypeformFormResponseAnswerValuePair(answer) {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
264
|
+
let value;
|
|
265
|
+
let valueString;
|
|
266
|
+
switch (answer.type) {
|
|
267
|
+
case 'number':
|
|
268
|
+
value = answer.number;
|
|
269
|
+
valueString = answer.number.toString();
|
|
270
|
+
break;
|
|
271
|
+
case 'boolean':
|
|
272
|
+
value = answer.boolean;
|
|
273
|
+
valueString = answer.boolean.toString();
|
|
274
|
+
break;
|
|
275
|
+
case 'email':
|
|
276
|
+
value = answer.email;
|
|
277
|
+
valueString = answer.email;
|
|
278
|
+
break;
|
|
279
|
+
case 'phone_number':
|
|
280
|
+
value = answer.phone_number;
|
|
281
|
+
valueString = answer.phone_number;
|
|
282
|
+
break;
|
|
283
|
+
case 'date':
|
|
284
|
+
value = answer.date;
|
|
285
|
+
valueString = answer.date;
|
|
286
|
+
break;
|
|
287
|
+
case 'payment':
|
|
288
|
+
value = answer.payment;
|
|
289
|
+
valueString = answer.payment.amount.toString();
|
|
290
|
+
break;
|
|
291
|
+
case 'text':
|
|
292
|
+
value = answer.text;
|
|
293
|
+
valueString = answer.text;
|
|
294
|
+
break;
|
|
295
|
+
case 'choices':
|
|
296
|
+
value = answer.choices;
|
|
297
|
+
valueString = answer.choices.other || joinStringsWithCommas(answer.choices.labels);
|
|
298
|
+
break;
|
|
299
|
+
case 'choice':
|
|
300
|
+
value = answer.choice;
|
|
301
|
+
valueString = answer.choice.other || answer.choice.label || '';
|
|
302
|
+
break;
|
|
303
|
+
case 'url':
|
|
304
|
+
value = answer.url;
|
|
305
|
+
valueString = answer.url;
|
|
306
|
+
break;
|
|
307
|
+
case 'file_url':
|
|
308
|
+
value = answer.file_url;
|
|
309
|
+
valueString = answer.file_url;
|
|
310
|
+
break;
|
|
311
|
+
}
|
|
312
|
+
const result = {
|
|
313
|
+
answer,
|
|
314
|
+
value,
|
|
315
|
+
valueString
|
|
316
|
+
};
|
|
317
|
+
return result;
|
|
311
318
|
}
|
|
312
319
|
|
|
313
320
|
/**
|
|
@@ -319,45 +326,55 @@ const TYPEFORM_BASE_URL_ENV_VAR = 'TYPEFORM_BASE_URL';
|
|
|
319
326
|
* Configuration for TypeformService
|
|
320
327
|
*/
|
|
321
328
|
class TypeformServiceConfig {
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
329
|
+
typeform;
|
|
330
|
+
static assertValidConfig(config) {
|
|
331
|
+
if (!config.typeform.config.token) {
|
|
332
|
+
throw new Error('No Typeform token specified.');
|
|
333
|
+
}
|
|
326
334
|
}
|
|
327
|
-
}
|
|
328
335
|
}
|
|
329
336
|
|
|
330
337
|
let TypeformApi = class TypeformApi {
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
338
|
+
config;
|
|
339
|
+
client;
|
|
340
|
+
constructor(config) {
|
|
341
|
+
this.config = config;
|
|
342
|
+
this.client = createClient(config.typeform.config);
|
|
343
|
+
}
|
|
337
344
|
};
|
|
338
|
-
TypeformApi = __decorate([
|
|
345
|
+
TypeformApi = __decorate([
|
|
346
|
+
Injectable(),
|
|
347
|
+
__param(0, Inject(TypeformServiceConfig)),
|
|
348
|
+
__metadata("design:paramtypes", [TypeformServiceConfig])
|
|
349
|
+
], TypeformApi);
|
|
339
350
|
|
|
340
351
|
function typeFormServiceConfigFactory(configService) {
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
352
|
+
const config = {
|
|
353
|
+
typeform: {
|
|
354
|
+
config: {
|
|
355
|
+
token: configService.get(TYPEFORM_SECRET_TOKEN_ENV_VAR),
|
|
356
|
+
baseURL: configService.get(TYPEFORM_BASE_URL_ENV_VAR) ?? undefined
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
};
|
|
360
|
+
TypeformServiceConfig.assertValidConfig(config);
|
|
361
|
+
return config;
|
|
351
362
|
}
|
|
352
|
-
let TypeformModule = class TypeformModule {
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
363
|
+
let TypeformModule = class TypeformModule {
|
|
364
|
+
};
|
|
365
|
+
TypeformModule = __decorate([
|
|
366
|
+
Module({
|
|
367
|
+
imports: [ConfigModule],
|
|
368
|
+
providers: [
|
|
369
|
+
{
|
|
370
|
+
provide: TypeformServiceConfig,
|
|
371
|
+
inject: [ConfigService],
|
|
372
|
+
useFactory: typeFormServiceConfigFactory
|
|
373
|
+
},
|
|
374
|
+
TypeformApi
|
|
375
|
+
],
|
|
376
|
+
exports: [TypeformApi]
|
|
377
|
+
})
|
|
378
|
+
], TypeformModule);
|
|
362
379
|
|
|
363
380
|
export { TYPEFORM_BASE_URL_ENV_VAR, TYPEFORM_SECRET_TOKEN_ENV_VAR, TYPEFORM_WEBHOOK_SECRET_TOKEN_ENV_VAR, TypeformApi, TypeformModule, TypeformServiceConfig, TypeformWebhookController, TypeformWebhookModule, TypeformWebhookService, TypeformWebhookServiceConfig, expandTypeformWebhookFormResponse, findTypeformTemplateRefsInString, makeTypeformFormResponseAnswerValuePair, typeFormServiceConfigFactory, typeFormWebhookEvent, typeFormWebhookEventVerifier, typeFormWebhookServiceConfigFactory, typeformEventHandlerConfigurerFactory, typeformEventHandlerFactory };
|
package/typeform/package.json
CHANGED
|
@@ -1,28 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/nestjs/typeform",
|
|
3
|
-
"version": "13.0.
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
"version": "13.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@dereekb/date": "13.0.1",
|
|
6
|
+
"@dereekb/model": "13.0.1",
|
|
7
|
+
"@dereekb/nestjs": "13.0.1",
|
|
8
|
+
"@dereekb/rxjs": "13.0.1",
|
|
9
|
+
"@dereekb/util": "13.0.1",
|
|
10
|
+
"@nestjs/common": "^11.0.0",
|
|
11
|
+
"@nestjs/config": "^4.0.0",
|
|
12
|
+
"@typeform/api-client": "^2.5.1",
|
|
13
|
+
"express": "^5.0.0"
|
|
14
|
+
},
|
|
7
15
|
"exports": {
|
|
16
|
+
"./package.json": "./package.json",
|
|
8
17
|
".": {
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
},
|
|
13
|
-
"browser": {
|
|
14
|
-
"require": "./index.cjs.js",
|
|
15
|
-
"import": "./index.esm.js"
|
|
16
|
-
},
|
|
18
|
+
"module": "./index.esm.js",
|
|
19
|
+
"types": "./index.d.ts",
|
|
20
|
+
"import": "./index.cjs.mjs",
|
|
17
21
|
"default": "./index.cjs.js"
|
|
18
22
|
}
|
|
19
23
|
},
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"@dereekb/model": "13.0.0",
|
|
24
|
-
"@dereekb/rxjs": "13.0.0",
|
|
25
|
-
"@dereekb/util": "13.0.0",
|
|
26
|
-
"core-js": "^3.0.0"
|
|
27
|
-
}
|
|
24
|
+
"module": "./index.esm.js",
|
|
25
|
+
"main": "./index.cjs.js",
|
|
26
|
+
"types": "./index.d.ts"
|
|
28
27
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./index.cjs.js').default;
|