kc-sdk 6.4.7971 → 6.8.10817

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 (38) hide show
  1. package/package.json +1 -1
  2. package/src/3rdpartylicenses.txt +323 -0
  3. package/src/app.component.css.map +7 -0
  4. package/src/assets/images/optum_favicon.png +0 -0
  5. package/src/assets/sdk/kc-sdk-config.js +8 -0
  6. package/src/assets/sdk/kc-sdk-config.json +8 -0
  7. package/src/{kc-sdk-support.js → assets/sdk/kc-sdk-support.js} +48 -51
  8. package/src/assets/sdk/kc-sdk.js +736 -0
  9. package/src/favicon.ico +0 -0
  10. package/src/index.html +21 -0
  11. package/src/main.js +13 -0
  12. package/src/main.js.map +1 -0
  13. package/src/polyfills.js +3 -0
  14. package/src/polyfills.js.map +1 -0
  15. package/src/styles.css +2 -0
  16. package/src/styles.css.map +7 -0
  17. package/src/angular.min.js +0 -294
  18. package/src/build/config.gypi +0 -77
  19. package/src/kc-messaging-provider.js +0 -26
  20. package/src/kc-sdk-config.js +0 -6
  21. package/src/kc-sdk.js +0 -558
  22. package/src/kcSdkConfigs/kc-sdk-config.cloud.js +0 -6
  23. package/src/kcSdkConfigs/kc-sdk-config.local.js +0 -6
  24. package/src/lodash.min.js +0 -121
  25. package/src/package-lock.json +0 -13
  26. package/src/requirenoop.js +0 -1
  27. package/src/sdk-show-last.directive.js +0 -11
  28. package/src/sdk-string.service.js +0 -70
  29. package/src/sdk-tester-signin.service.js +0 -52
  30. package/src/sdk-tester.js +0 -591
  31. package/src/sdk-tester.module.js +0 -1
  32. package/src/sdkTester.html +0 -120
  33. package/src/sign-in.html +0 -247
  34. package/src/tester.css +0 -271
  35. package/src/theme-changer.css +0 -142
  36. package/src/theme-changer.js +0 -27
  37. /package/src/{bootstrap.min.css → assets/styles/bootstrap.min.css} +0 -0
  38. /package/src/{uitk-defaults.css → assets/styles/uitk-defaults.css} +0 -0
package/src/sdk-tester.js DELETED
@@ -1,591 +0,0 @@
1
- 'use strict';
2
-
3
- require('./kc-sdk');
4
- require('./kc-sdk-config');
5
- require('./sdk-tester.module');
6
- require('./sdk-tester-signin.service');
7
-
8
- angular.module('kcSdk.Tester').controller('testerController', testerController);
9
- testerController.$inject = ['$scope', '$timeout', '$http', '$q',
10
- 'sdkStringService', 'sdkTesterSignInService'];
11
-
12
- function testerController($scope, $timeout, $http, $q,
13
- sdkStringService, sdkTesterSignInService) {
14
- var kcSdk = window.kcSdk;
15
- // to test client specific tokens you need
16
- // 1. their token
17
- // 2. their cer key
18
- // 3. updated appesttings for issuer, audience and cert path
19
- var clientExampleToken = '';
20
-
21
- var vm = this;
22
- var WEB_KC = "web/KC.html";
23
- var WEB_ENCODER = "web/Encoder.html";
24
- vm.selectedPod = '';
25
- vm.outputJson = '';
26
- vm.sdkKcIsListening = false;
27
- vm.sdkEncoderIsListening = false;
28
- vm.sdkTesterSignInService = sdkTesterSignInService;
29
- vm.signInButtonText = sdkTesterSignInService.advancedMode ? 'Generate Token' : 'Launch Encoder';
30
- vm.version = kcSdk.version;
31
-
32
- vm.clearInputOutput = function () {
33
- vm.outputJson = '';
34
- vm.clearWorkflow();
35
- vm.sdkTesterSignInService.clearClientError();
36
- };
37
-
38
- vm.clearOutput = function () {
39
- vm.outputJson = '';
40
- }
41
-
42
- vm.exampleAuthToken = {
43
- userName: 'test2021',
44
- organizationName: '',
45
- access_token: ''
46
- };
47
-
48
- vm.examplePatientRecord = {
49
- demoPatientData: {
50
- sendingFacility: "001",
51
- },
52
- i9Case: {
53
- admitDiagnosisCodes: [],
54
- diagnosisCodes: [],
55
- procedureCodes: []
56
- },
57
- i10Case: {
58
- admitDiagnosisCodes: [],
59
- diagnosisCodes: [],
60
- procedureCodes: []
61
- },
62
- hcpcsCodes: [],
63
- chargeCodes: [],
64
- otherInfo: {
65
- "isDefaultCase": false
66
- }
67
- }
68
-
69
- vm.exampleUrl = 'http://www.google.com';
70
-
71
- vm.exampleDemographicsData = {
72
- sex: 'M',
73
- sendingFacility: "001",
74
- birthDate: sdkStringService.getBirthDateISO(),
75
- admitDate: sdkStringService.getCurrentDateISO(),
76
- dischargeDate: sdkStringService.getCurrentDateISO(),
77
- patientType: kcSdk.patientType.INPATIENT,
78
- financialClass: "09"
79
- };
80
-
81
- vm.encoderDemographics = angular.toJson(vm.exampleDemographicsData, 2);
82
-
83
- vm.encoderTabs = [
84
- kcSdk.encoderTabs.LOGIC,
85
- kcSdk.encoderTabs.INDEX,
86
- kcSdk.encoderTabs.TABULAR
87
- ]
88
-
89
- vm.selectedEncoderTab = kcSdk.encoderTabs.LOGIC;
90
-
91
- vm.sessionTypes = [];
92
-
93
- vm.selectedSessionType = vm.sessionTypes[0];
94
-
95
- vm.patientTypes = [
96
- kcSdk.patientType.INPATIENT,
97
- kcSdk.patientType.OUTPATIENT,
98
- kcSdk.patientType.IRF,
99
- kcSdk.patientType.SNF
100
- ];
101
-
102
- vm.selectedPatientType = vm.patientTypes[0]
103
-
104
- vm.i9I10States = kcSdk.i9I10States;
105
- vm.selectedI9I10State = vm.i9I10States.I10;
106
-
107
- vm.encoderPhraseCode = '';
108
-
109
- vm.closeAllKCWindows = kcSdk.closeAllKCWindows;
110
-
111
- vm.kcWindowDataChanged = function (data) {
112
- $scope.$apply(function () {
113
- logOutput(data.callback, data.value);
114
- });
115
- };
116
-
117
- vm.encoderWindowDataChanged = function (data) {
118
- $scope.$apply(function () {
119
- logOutput(data.callback, data.value);
120
- });
121
- };
122
-
123
- vm.kcListeningChanged = function (data) {
124
- $scope.$apply(function () {
125
- vm.sdkKcIsListening = kcSdk.kcWindowIsListening;
126
- logOutput(data.callback, kcSdk.kcWindowIsListening);
127
- });
128
- };
129
-
130
- vm.encoderListeningChanged = function (data) {
131
- $scope.$apply(function () {
132
- vm.sdkEncoderIsListening = kcSdk.encoderWindowIsListening;
133
- logOutput(data.callback, kcSdk.encoderWindowIsListening);
134
- });
135
- };
136
-
137
- vm.workflowComplete = function () {
138
- $timeout(function () {
139
- vm.availableApiSelected = vm.availableApis[0];
140
- vm.onSelectedNewWorkflowApiChange();
141
- });
142
- }
143
-
144
- vm.doSigninSubmit = function () {
145
- if (!vm.sdkTesterSignInService.signInForm.$valid) {
146
- vm.sdkTesterSignInService.serverError.visible = false;
147
- vm.sdkTesterSignInService.clientError.visible = true;
148
- vm.sdkTesterSignInService.signInForm.$setPristine();
149
-
150
- return;
151
- }
152
-
153
- if (vm.sdkTesterSignInService.advancedMode) {
154
- vm.generateToken();
155
- }
156
- else {
157
-
158
-
159
- var encoderRequest = {
160
- sessionType: vm.selectedSessionType,
161
- encoderTab: vm.selectedEncoderTab,
162
- codePhrase: vm.encoderPhraseCode
163
- }
164
- var authData = {
165
- grant_type: 'org_login',
166
- username: vm.sdkTesterSignInService.clientInfo.name,
167
- organizationId: vm.sdkTesterSignInService.organization,
168
- enableEncoder: true,
169
- client_id: kcSdkConfig.appName,
170
- client_secret: kcSdkConfig.secret
171
- }
172
-
173
- vm.setAuthToken(authData).then(function () {
174
- vm.launchEncoder(encoderRequest);
175
- });
176
- }
177
- vm.sdkTesterSignInService.clearClientError();
178
- }
179
-
180
- vm.generateToken = function () {
181
- if (vm.sdkTesterSignInService.signInForm.$valid) {
182
- var authData = {
183
- grant_type: 'org_login',
184
- username: vm.sdkTesterSignInService.clientInfo.name,
185
- organizationId: vm.sdkTesterSignInService.organization,
186
- enableEncoder: true,
187
- client_id: kcSdkConfig.appName,
188
- client_secret: kcSdkConfig.secret
189
- }
190
- vm.setAuthToken(authData);
191
- }
192
- else {
193
- vm.sdkTesterSignInService.serverError.visible = false;
194
- vm.sdkTesterSignInService.clientError.content = "Review the form and correct highlighted fields."
195
- vm.sdkTesterSignInService.clientError.visible = true;
196
- vm.sdkTesterSignInService.signInForm.$setPristine();
197
- }
198
- }
199
-
200
- vm.setAuthToken = function (authData) {
201
-
202
- var authOrgUser = {
203
- username: btoa(authData.username),
204
- organization: authData.organizationId,
205
- clientId: kcSdkConfig.appName
206
- };
207
-
208
- var headers = { 'Content-Type': 'application/json' };
209
-
210
- return $http({
211
- method: "POST",
212
- url: kcSdkConfig.tokenServer + 'orgLogin',
213
- headers: headers,
214
- data: authOrgUser
215
- }).then(function (response) {
216
- if (response && response.data) {
217
- vm.exampleAuthToken.access_token = response.data.token;
218
- logOutput('auth', 'token generated - userName:\'' + authData.username + '\' org: \'' + authData.organizationId + '\'');
219
- }
220
- }, function (response) {
221
- if (response.status === 401) {
222
- vm.exampleAuthToken.access_token = '';
223
-
224
- vm.sdkTesterSignInService.serverError.visible = false;
225
- vm.sdkTesterSignInService.clientError.content = 'Failed to authenticate user.'
226
- vm.sdkTesterSignInService.clientError.visible = true;
227
- vm.sdkTesterSignInService.signInForm.$setPristine();
228
-
229
- }
230
- var description = response.data && response.data.message
231
- ? response.data.message
232
- : 'undefined error message';
233
- logOutput('auth', 'token exception: ' + description);
234
- return $q.reject();
235
- });
236
- }
237
-
238
- vm.advancedModeOnChange = function () {
239
- vm.sdkTesterSignInService.signInButtonText = vm.sdkTesterSignInService.advancedMode ? 'Generate Token' : 'Launch Encoder';
240
- vm.sdkTesterSignInService.signInHeaderText = vm.sdkTesterSignInService.advancedMode ? 'Create Token' : 'Enter Info';
241
- vm.sdkTesterSignInService.clearClientError();
242
- vm.clearInputOutput();
243
-
244
- if (vm.sdkTesterSignInService.advancedMode) {
245
- vm.onSelectedNewWorkflowApiChange();
246
- }
247
- };
248
-
249
- vm.workflow = kcSdk.workflow;
250
- vm.clearWorkflow = function () {
251
- kcSdk.clearWorkflow();
252
- vm.availableApiSelected = vm.availableApis[0];
253
- vm.onSelectedNewWorkflowApiChange();
254
- };
255
- vm.selectedWorkflowApi = _.first(kcSdk.workflow);
256
- vm.workflowInput = kcSdkConfig.url + WEB_KC;
257
- vm.kcWindowName = kcSdk.kcWindow.name;
258
- vm.encoderWindowName = kcSdk.encoderWindow.name;
259
- var apisForAllWindows = [
260
- {
261
- name: 'launch',
262
- fn: kcSdk.kcWindow.launch,
263
- windowName: vm.kcWindowName
264
- },
265
- {
266
- name: 'launch',
267
- fn: kcSdk.encoderWindow.launch,
268
- windowName: vm.encoderWindowName
269
- },
270
- {
271
- name: 'loadPatientRecord',
272
- fn: kcSdk.kcWindow.loadPatientRecord,
273
- windowName: vm.kcWindowName
274
- },
275
- {
276
- name: 'assignConfig',
277
- fn: kcSdk.kcWindow.assignConfig,
278
- windowName: vm.kcWindowName
279
- },
280
- {
281
- name: 'setAuthToken',
282
- fn: kcSdk.kcWindow.setAuthToken,
283
- windowName: vm.kcWindowName
284
- },
285
- {
286
- name: 'setDemographics',
287
- fn: kcSdk.kcWindow.setDemographics,
288
- windowName: vm.kcWindowName
289
- },
290
- {
291
- name: 'setAuthToken',
292
- fn: kcSdk.encoderWindow.setAuthToken,
293
- windowName: vm.encoderWindowName
294
- },
295
- {
296
- name: 'setDemographics',
297
- fn: kcSdk.encoderWindow.setDemographics,
298
- windowName: vm.encoderWindowName
299
- }]
300
-
301
- vm.availableApis = _.cloneDeep(apisForAllWindows);
302
-
303
- vm.availableApiSelected = vm.availableApis[0];
304
- vm.workflowWindow = vm.kcWindowName;
305
- vm.workflowWindowChanged = function (selectedWindow) {
306
- vm.availableApis.length = 0;
307
- kcSdk.clearWorkflow();
308
- apisForAllWindows.forEach(function (a) {
309
- if (a.windowName === selectedWindow) {
310
- vm.availableApis.push(a);
311
- }
312
- })
313
- vm.availableApiSelected = vm.availableApis[0];
314
- vm.onSelectedNewWorkflowApiChange();
315
- }
316
-
317
- vm.addApi = function () {
318
- var args = vm.workflowInput ?
319
- sdkStringService.isJson(vm.workflowInput) ? JSON.parse(vm.workflowInput) : vm.workflowInput :
320
- [];
321
-
322
- kcSdk.addToWorkflow({
323
- fn: vm.availableApiSelected.fn,
324
- args: args
325
- });
326
- vm.selectedWorkflowApi = _.last(kcSdk.workflow);
327
- }
328
-
329
- vm.updateApi = function () {
330
- var selectedWf = kcSdk.workflow[document.getElementById("kc-workflow").selectedIndex];
331
- if (selectedWf) {
332
- selectedWf.args = JSON.parse(vm.workflowInput);
333
- }
334
- }
335
-
336
- vm.removeApi = function () {
337
- kcSdk.removeFromWorkflow([document.getElementById("kc-workflow").selectedIndex]);
338
- vm.selectedWorkflowApi = _.first(kcSdk.workflow);
339
- }
340
-
341
- vm.runWorkflow = kcSdk.processWorkflow;
342
- vm.onSelectedWorkflowApiChange = function () {
343
- var selectedWf = kcSdk.workflow[document.getElementById("kc-workflow").selectedIndex];
344
- if (selectedWf) {
345
- vm.workflowInput = angular.toJson(selectedWf.args, 2);
346
- }
347
- }
348
- vm.onSelectedNewWorkflowApiChange = function () {
349
- if (clientExampleToken) {
350
- vm.exampleAuthToken.access_token = clientExampleToken;
351
- }
352
-
353
- switch (vm.availableApiSelected.name) {
354
- case 'loadPatientRecord':
355
- vm.workflowInput = angular.toJson(vm.examplePatientRecord, 2);
356
- break;
357
- case 'assignConfig':
358
- vm.workflowInput = angular.toJson({ rcpEndpointUri: vm.exampleUrl }, 2);
359
- break;
360
- case 'setAuthToken':
361
- vm.workflowInput = angular.toJson(vm.exampleAuthToken, 2);
362
- break;
363
- case 'setDemographics':
364
- vm.workflowInput = angular.toJson(vm.exampleDemographicsData, 2);
365
- break;
366
- case 'launch':
367
-
368
-
369
- if (vm.workflowWindow === vm.kcWindowName) {
370
- var url = kcSdkConfig.url + WEB_KC;
371
- var state = vm.selectedI9I10State;
372
-
373
- var args = [angular.toJson(url, 2), angular.toJson(vm.exampleAuthToken, 2), angular.toJson(state, 2), angular.toJson(vm.exampleDemographicsData, 2)].join(',\n');
374
- vm.workflowInput = sdkStringService.wrapAsArray(args);
375
- }
376
- else {
377
- var url = kcSdkConfig.url + WEB_ENCODER;
378
- var demographics = vm.exampleDemographicsData;
379
- var encoderRequest = {
380
- sessionType: kcSdk.sessionTypes.I10CM,
381
- encoderTab: kcSdk.encoderTabs.LOGIC,
382
- codePhrase: 'ANGINA'
383
- }
384
- var state = vm.selectedI9I10State;
385
-
386
- var args = [angular.toJson(url, 2), angular.toJson(vm.exampleAuthToken, 2), angular.toJson(state, 2), angular.toJson(demographics, 2), angular.toJson(encoderRequest, 2)].join(',\n');
387
-
388
- vm.workflowInput = sdkStringService.wrapAsArray(args);
389
- }
390
-
391
- break;
392
- default:
393
- vm.workflowInput = undefined;
394
- }
395
- }
396
-
397
- vm.onStateChange = function () {
398
- filterSessionTypes(vm.selectedI9I10State);
399
- }
400
-
401
- vm.onPatientTypeChange = function () {
402
- try {
403
- var demo = JSON.parse(vm.encoderDemographics);
404
- demo.patientType = vm.selectedPatientType;
405
- vm.encoderDemographics = angular.toJson(demo, 2);
406
- }
407
- catch (e) {
408
- vm.exampleDemographicsData.patientType = vm.selectedPatientType;
409
- vm.encoderDemographics = angular.toJson(vm.exampleDemographicsData, 2);
410
- }
411
- }
412
-
413
- vm.exportWorkflow = function () {
414
- var xwf = [];
415
- xwf.push({
416
- name: 'workflowWindow',
417
- args: vm.workflowWindow
418
- })
419
- kcSdk.workflow.forEach(function (w) {
420
- xwf.push({
421
- name: w.name.indexOf('launch') === 0 ? 'launch' : w.name,
422
- args: w.args
423
- })
424
- });
425
- logOutput('workflow export', xwf);
426
- }
427
-
428
- vm.importWorkflow = function () {
429
- try {
430
- var iwf = JSON.parse(vm.workflowInput);
431
- var input = _.find(iwf, { 'event': 'workflow export' });
432
- var wfWindow = _.find(input.response, { 'name': 'workflowWindow' });
433
- _.pull(input.response, _.find(input.response, { 'name': 'workflowWindow' }));
434
- vm.workflowWindow = wfWindow.args;
435
-
436
- if (!input.response) {
437
- logOutput('workflow import', 'workflow import not expected format');
438
- return;
439
- }
440
-
441
- kcSdk.clearWorkflow();
442
- input.response.forEach(function (w) {
443
- var a = _.find(apisForAllWindows, { name: w.name, windowName: vm.workflowWindow })
444
- kcSdk.addToWorkflow({
445
- fn: a.fn,
446
- args: w.args
447
- });
448
- })
449
- vm.workflowInput = '';
450
- }
451
- catch (e) {
452
- logOutput('workflow import', 'workflow import exception: ' + e);
453
- }
454
- }
455
-
456
- vm.launchKc = function () {
457
-
458
- if (!vm.sdkTesterSignInService.signInForm.$valid) {
459
- vm.sdkTesterSignInService.serverError.visible = false;
460
- vm.sdkTesterSignInService.clientError.visible = true;
461
- vm.sdkTesterSignInService.signInForm.$setPristine();
462
-
463
- return;
464
- }
465
- vm.sdkTesterSignInService.clearClientError();
466
-
467
- var authData = {
468
- grant_type: 'org_login',
469
- username: vm.sdkTesterSignInService.clientInfo.name,
470
- organizationId: vm.sdkTesterSignInService.organization,
471
- enableEncoder: true,
472
- client_id: kcSdkConfig.appName,
473
- client_secret: kcSdkConfig.secret
474
- }
475
-
476
- vm.setAuthToken(authData).then(function () {
477
- var url = kcSdkConfig.url + WEB_KC;
478
- var demographics = vm.encoderDemographics;
479
- var state = vm.selectedI9I10State;
480
-
481
- if (clientExampleToken) {
482
- vm.exampleAuthToken.access_token = clientExampleToken;
483
- }
484
-
485
- kcSdk.kcWindow.launch(url, vm.exampleAuthToken, state, demographics);
486
- });
487
-
488
- }
489
-
490
- vm.launchReferences = function () {
491
- if (!vm.sdkTesterSignInService.signInForm.$valid) {
492
- vm.sdkTesterSignInService.serverError.visible = false;
493
- vm.sdkTesterSignInService.clientError.visible = true;
494
- vm.sdkTesterSignInService.signInForm.$setPristine();
495
-
496
- return;
497
- }
498
- vm.sdkTesterSignInService.clearClientError();
499
- var authData = {
500
- grant_type: 'org_login',
501
- username: vm.sdkTesterSignInService.clientInfo.name,
502
- organizationId: vm.sdkTesterSignInService.organization,
503
- enableEncoder: true,
504
- client_id: kcSdkConfig.appName,
505
- client_secret: kcSdkConfig.secret
506
- }
507
-
508
- vm.setAuthToken(authData).then(function () {
509
- kcSdk.launchReferences(vm.encoderPhraseCode, vm.selectedSessionType.name, vm.exampleAuthToken.access_token);
510
- });
511
- }
512
-
513
- vm.launchEncoder = function (encoderRequest) {
514
- var url = kcSdkConfig.url + WEB_ENCODER;
515
- var demographics = vm.encoderDemographics;
516
- var state = vm.selectedI9I10State;
517
- if (clientExampleToken) {
518
- vm.exampleAuthToken.access_token = clientExampleToken;
519
- }
520
-
521
-
522
- kcSdk.encoderWindow.launch(url, vm.exampleAuthToken, state, demographics, encoderRequest);
523
- };
524
-
525
-
526
-
527
- function logOutput(event, message) {
528
- var jsonOutput = {
529
- event: event,
530
- response: sdkStringService.isJson(message) ? JSON.parse(message) : message
531
- }
532
-
533
- if (jsonOutput.event === 'editGroupPriceCompleted') {
534
- jsonOutput.response = [];
535
- }
536
-
537
- vm.outputJson = vm.outputJson ? [sdkStringService.removeBrackets(vm.outputJson), angular.toJson(jsonOutput, 2)].join(',\n') : angular.toJson(jsonOutput, 2);
538
-
539
- vm.outputJson = sdkStringService.wrapAsArray(vm.outputJson);
540
- }
541
-
542
- function filterSessionTypes(state) {
543
- vm.sessionTypes.length = 0;
544
- for (var session in kcSdk.sessionTypes) {
545
- var s = kcSdk.sessionTypes[session];
546
- if (s.state.indexOf(state.value) > -1) {
547
- vm.sessionTypes.push(s);
548
- }
549
- }
550
-
551
- vm.selectedSessionType = vm.sessionTypes[0];
552
- }
553
-
554
- activate();
555
-
556
- function activate() {
557
- kcSdk.setCallback(kcSdk.callbacks.SDKEXCEPTION, vm.kcWindowDataChanged);
558
- kcSdk.setCallback(kcSdk.callbacks.WORKFLOWCOMPLETE, vm.workflowComplete);
559
-
560
- kcSdk.setCallback(kcSdk.callbacks.SDKRESPONSE, vm.kcWindowDataChanged);
561
- kcSdk.setCallback(kcSdk.callbacks.KCLISTENINGCHANGED, vm.kcListeningChanged);
562
- kcSdk.setCallback(kcSdk.callbacks.ENCODERLISTENINGCHANGED, vm.encoderListeningChanged);
563
- kcSdk.clearWorkflow();
564
-
565
- var authData = {
566
- grant_type: 'org_login',
567
- username: 'sdkTester',
568
- organizationId: 'Justice League',
569
- enableEncoder: true,
570
- client_id: kcSdkConfig.appName,
571
- client_secret: kcSdkConfig.secret
572
- }
573
- filterSessionTypes(vm.selectedI9I10State);
574
-
575
- vm.setAuthToken(authData);
576
- vm.workflowWindowChanged(vm.kcWindowName);
577
-
578
- }
579
-
580
- function xform(obj) {
581
- var str = [];
582
- for (var p in obj) {
583
- /* istanbul ignore else*/
584
- // this check is done because of IE
585
- if (Object.prototype.hasOwnProperty.call(obj, p)) {
586
- str.push(encodeURIComponent(p) + '=' + encodeURIComponent(obj[p]));
587
- }
588
- }
589
- return str.join('&');
590
- };
591
- }
@@ -1 +0,0 @@
1
- angular.module('kcSdk.Tester', []);