wix-storybook-utils
Version:
Utilities for automated component documentation within Storybook
68 lines • 3.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.saveSnippet = exports.loadSnippet = void 0;
var tslib_1 = require("tslib");
var defaultSnippetDatastoreUrl = "https://www.wix.com/_serverless/wix-style-react-playground/snippet";
var loadSnippet = function (snippetId, snippetDatastoreUrl) {
if (snippetDatastoreUrl === void 0) { snippetDatastoreUrl = defaultSnippetDatastoreUrl; }
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var response, _a, isSafe, code, error_1;
return tslib_1.__generator(this, function (_b) {
switch (_b.label) {
case 0:
_b.trys.push([0, 3, , 4]);
return [4 /*yield*/, fetch("".concat(snippetDatastoreUrl, "/").concat(snippetId))];
case 1:
response = _b.sent();
return [4 /*yield*/, response.json()];
case 2:
_a = _b.sent(), isSafe = _a.isSafe, code = _a.code;
if (code && code.trim().length) {
return [2 /*return*/, {
code: code,
isSafe: isSafe,
}];
}
return [2 /*return*/, Promise.reject("Invalid code snippet loaded: ".concat(code))];
case 3:
error_1 = _b.sent();
return [2 /*return*/, Promise.reject(error_1)];
case 4: return [2 /*return*/];
}
});
});
};
exports.loadSnippet = loadSnippet;
var saveSnippet = function (code, snippetDatastoreUrl) {
if (snippetDatastoreUrl === void 0) { snippetDatastoreUrl = defaultSnippetDatastoreUrl; }
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var response, id, error_2;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
_a.trys.push([0, 4, , 5]);
return [4 /*yield*/, fetch(snippetDatastoreUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ data: code }),
})];
case 1:
response = _a.sent();
if (!(response.status === 200)) return [3 /*break*/, 3];
return [4 /*yield*/, response.json()];
case 2:
id = (_a.sent()).id;
return [2 /*return*/, id];
case 3: return [2 /*return*/, Promise.reject(response.statusText)];
case 4:
error_2 = _a.sent();
return [2 /*return*/, Promise.reject(error_2)];
case 5: return [2 /*return*/];
}
});
});
};
exports.saveSnippet = saveSnippet;
//# sourceMappingURL=snippet.js.map