@smartlyio/oats-mirage-adapter 4.0.1 → 4.0.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartlyio/oats-mirage-adapter",
3
- "version": "4.0.1",
3
+ "version": "4.0.2",
4
4
  "description": "Mirage.js adapter for Oats",
5
5
  "licence": "MIT",
6
6
  "private": false,
@@ -35,13 +35,13 @@
35
35
  "server"
36
36
  ],
37
37
  "devDependencies": {
38
- "@smartlyio/oats-runtime": "^4.0.1",
39
- "@types/lodash": "4.14.177",
40
- "@types/node": "16.11.12",
38
+ "@smartlyio/oats-runtime": "^4.0.2",
39
+ "@types/lodash": "4.14.178",
40
+ "@types/node": "16.11.14",
41
41
  "miragejs": "0.1.43",
42
42
  "nodemon": "2.0.15",
43
43
  "ts-node": "10.4.0",
44
- "typescript": "4.5.2"
44
+ "typescript": "4.5.4"
45
45
  },
46
- "gitHead": "a25a309b660903f26a0e0033b9629b0c81da64d5"
46
+ "gitHead": "140ea78c4bb8bd34c7959941d4f9d771c289c30c"
47
47
  }
package/dist/index.d.ts DELETED
@@ -1,14 +0,0 @@
1
- import * as runtime from '@smartlyio/oats-runtime';
2
- import * as mirageTypes from 'miragejs/-types';
3
- import Schema from 'miragejs/orm/schema';
4
- import { Server } from 'miragejs/server';
5
- import { Registry as MirageRegistry, Registry } from 'miragejs/-types';
6
- /**
7
- * Bind provided handlers for the OpenAPI routes
8
- */
9
- export declare function bind<Spec, Models extends mirageTypes.AnyModels = never, Factories extends mirageTypes.AnyFactories = never, RequestContext = void>(opts: {
10
- server: Server<MirageRegistry<Models, Factories>>;
11
- handler: runtime.server.HandlerFactory<Spec>;
12
- spec: Spec;
13
- requestContextCreator?: (schema: Schema<Registry<Models, Factories>>) => RequestContext;
14
- }): void;
package/dist/index.js DELETED
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bind = void 0;
4
- const mirage = require("miragejs");
5
- function guessContentType(contentTypeHeader, value) {
6
- if (contentTypeHeader === null || contentTypeHeader === void 0 ? void 0 : contentTypeHeader.includes('application/json')) {
7
- return 'application/json';
8
- }
9
- if (contentTypeHeader) {
10
- return contentTypeHeader;
11
- }
12
- if (value instanceof FormData) {
13
- return 'multipart/form-data';
14
- }
15
- return 'text/html';
16
- }
17
- async function guessValue(contentType, value) {
18
- if (value instanceof FormData) {
19
- return await handleFormData(value);
20
- }
21
- if (contentType.match(/application\/json/) && value) {
22
- return JSON.parse(value);
23
- }
24
- return value;
25
- }
26
- async function handleFormData(value) {
27
- const result = {};
28
- const keys = [];
29
- value.forEach((_, key) => keys.push(key));
30
- for (const key of keys) {
31
- const keyValue = value.get(key);
32
- if (keyValue instanceof Blob) {
33
- result[key] = await keyValue.arrayBuffer();
34
- }
35
- else if (typeof keyValue === 'string') {
36
- result[key] = keyValue;
37
- }
38
- }
39
- return result;
40
- }
41
- function adapter(mirageServer, requestContextCreator) {
42
- return (path, op, method, handler) => {
43
- const miragePath = path.replace(/{([^}]+)}/g, (m, param) => ':' + param);
44
- const mirageHandler = mirageServer[method];
45
- mirageHandler(miragePath, async (schema, request) => {
46
- const headers = Object.keys(request.requestHeaders).reduce((lowerCaseHeaders, key) => {
47
- lowerCaseHeaders[key.toLowerCase()] = request.requestHeaders[key];
48
- return lowerCaseHeaders;
49
- }, {});
50
- const contentType = guessContentType(headers['content-type'], request.requestBody);
51
- const value = await guessValue(contentType, request.requestBody);
52
- const body = value != null ? { value, contentType } : undefined;
53
- const ctx = {
54
- path,
55
- method,
56
- servers: [],
57
- op,
58
- headers,
59
- params: request.params,
60
- query: request.queryParams,
61
- body,
62
- requestContext: requestContextCreator(schema, request)
63
- };
64
- // eslint-disable-next-line no-console
65
- console.log('oats-mirage-adapter request', ctx);
66
- try {
67
- const result = await handler(ctx);
68
- // eslint-disable-next-line no-console
69
- console.log('oats-mirage-adapter response', { result });
70
- return new mirage.Response(result.status, Object.assign(Object.assign({}, result.headers), { 'content-type': result.value.contentType }), result.value.contentType.match(/application\/json/)
71
- ? JSON.stringify(result.value.value)
72
- : result.value.value);
73
- }
74
- catch (error) {
75
- // eslint-disable-next-line no-console
76
- console.log('oats-mirage-adapter handler threw: ' + error.message, { error });
77
- return new mirage.Response(400, { 'content-type': 'text/plain' }, 'Error from handler: ' + error.message);
78
- }
79
- });
80
- };
81
- }
82
- /**
83
- * Bind provided handlers for the OpenAPI routes
84
- */
85
- function bind(opts) {
86
- opts.handler(adapter(opts.server, opts.requestContextCreator || (() => ({}))))(opts.spec);
87
- }
88
- exports.bind = bind;
89
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,12 +0,0 @@
1
- "use strict";
2
- /* eslint-disable no-console */
3
- /* eslint-disable @typescript-eslint/no-floating-promises */
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- const fs = require("fs");
6
- const md = fs.readFileSync('README.template.md', 'utf8');
7
- fs.writeFileSync('README.md', md.replace(/^>>(.*)/gm, (match, file) => {
8
- const m = file.trim();
9
- const example = fs.readFileSync('./' + m, 'utf8');
10
- return example;
11
- }));
12
- //# sourceMappingURL=render-docs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"render-docs.js","sourceRoot":"","sources":["../render-docs.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,4DAA4D;;AAE5D,yBAAyB;AAEzB,MAAM,EAAE,GAAW,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AACjE,EAAE,CAAC,aAAa,CACd,WAAW,EACX,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACtC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,MAAM,OAAO,GAAQ,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACvD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC,CACH,CAAC"}