@toa.io/origin 1.0.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/.vscode/settings.json +8 -1
  2. package/CHANGELOG.md +28 -0
  3. package/README.md +8 -30
  4. package/eslint.config.js +3 -5
  5. package/package.json +1 -1
  6. package/source/Agent.ts +156 -0
  7. package/source/Error.ts +3 -0
  8. package/source/Evt.ts +3 -0
  9. package/source/Octets.ts +5 -6
  10. package/source/Origin.ts +47 -0
  11. package/source/Resource.ts +41 -16
  12. package/source/index.ts +3 -6
  13. package/transpiled/Agent.d.ts +30 -0
  14. package/transpiled/Agent.js +102 -0
  15. package/transpiled/Agent.js.map +1 -0
  16. package/transpiled/Error.d.ts +2 -0
  17. package/transpiled/Error.js +2 -0
  18. package/transpiled/Error.js.map +1 -0
  19. package/transpiled/Evt.d.ts +8 -0
  20. package/transpiled/Evt.js +2 -0
  21. package/transpiled/Evt.js.map +1 -0
  22. package/transpiled/Octets.d.ts +4 -7
  23. package/transpiled/Origin.d.ts +18 -0
  24. package/transpiled/Origin.js +32 -0
  25. package/transpiled/Origin.js.map +1 -0
  26. package/transpiled/Resource.d.ts +16 -9
  27. package/transpiled/Resource.js +22 -13
  28. package/transpiled/Resource.js.map +1 -1
  29. package/transpiled/index.d.ts +3 -6
  30. package/transpiled/index.js +1 -5
  31. package/transpiled/index.js.map +1 -1
  32. package/tsconfig.json +3 -5
  33. package/source/Failure.ts +0 -3
  34. package/source/Method.ts +0 -99
  35. package/source/events.ts +0 -20
  36. package/source/fail.ts +0 -13
  37. package/source/ok.ts +0 -15
  38. package/source/request.ts +0 -84
  39. package/transpiled/Failure.d.ts +0 -3
  40. package/transpiled/Failure.js +0 -4
  41. package/transpiled/Failure.js.map +0 -1
  42. package/transpiled/Method.d.ts +0 -15
  43. package/transpiled/Method.js +0 -71
  44. package/transpiled/Method.js.map +0 -1
  45. package/transpiled/events.d.ts +0 -15
  46. package/transpiled/events.js +0 -3
  47. package/transpiled/events.js.map +0 -1
  48. package/transpiled/fail.d.ts +0 -2
  49. package/transpiled/fail.js +0 -10
  50. package/transpiled/fail.js.map +0 -1
  51. package/transpiled/ok.d.ts +0 -1
  52. package/transpiled/ok.js +0 -17
  53. package/transpiled/ok.js.map +0 -1
  54. package/transpiled/request.d.ts +0 -15
  55. package/transpiled/request.js +0 -52
  56. package/transpiled/request.js.map +0 -1
@@ -1,52 +0,0 @@
1
- import { events } from './events';
2
- import { fail } from './fail';
3
- import { ok } from './ok';
4
- let challenge = null;
5
- export function authenticate(value) {
6
- challenge = value;
7
- }
8
- let _fetch = fetch;
9
- export function use(fetcher) {
10
- _fetch = fetcher;
11
- }
12
- const settings = {};
13
- export function connect(values) {
14
- Object.assign(settings, values);
15
- }
16
- export async function request(path, options = {}) {
17
- if (settings.origin === undefined)
18
- throw new Error('Origin not connected');
19
- options.headers ??= {};
20
- options.headers['accept'] ??= 'application/json';
21
- if (settings.delay)
22
- options.headers['sleep'] = Math.round((Math.random() * settings.delay) / 2 + settings.delay / 2).toString();
23
- const authentication = options.credentials === 'include';
24
- if (options.body !== undefined)
25
- if (options.body instanceof File || options.body instanceof ReadableStream) {
26
- options.method ??= 'POST';
27
- options.duplex = 'half';
28
- options.headers['content-type'] ??= options.body.type ?? 'application/octet-stream';
29
- }
30
- else {
31
- options.body = JSON.stringify(options.body);
32
- options.headers['content-type'] ??= 'application/json';
33
- }
34
- if (authentication && options.headers['authorization'] === undefined) {
35
- if (challenge === null)
36
- throw new Error(`Credentials must be set before sending authenticated request ${options.method ?? 'GET'} ${path}`);
37
- options.headers['authorization'] = challenge;
38
- delete options.credentials; // no cookies
39
- }
40
- const start = performance.now();
41
- const id = typeof window !== 'undefined' && (window.crypto.randomUUID?.() ?? Math.random().toString());
42
- if (id)
43
- events.emit('request', { id, path, options });
44
- const response = await _fetch(settings.origin + path, options);
45
- if (id)
46
- events.emit('response', { id, response, duration: performance.now() - start });
47
- if (!response.ok)
48
- return await fail(response);
49
- else
50
- return await ok(response);
51
- }
52
- //# sourceMappingURL=request.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../source/request.ts"],"names":[],"mappings":"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"}