@lopatnov/as-umd-module
v1.1.0
Published
JavaScript to umd module string converter
Downloads
8
Readme
@lopatnov/as-umd-module
A TypeScript library. It converts JavaScript values to a UMD formatted string.
Install
npm install @lopatnov/as-umd-module
<script src="//lopatnov.github.io/as-umd-module/dist/as-umd-module.js"></script>
Import package to the project
import asUmdModule from "@lopatnov/as-umd-module";
or
var asUmdModule = require("@lopatnov/as-umd-module")
Convert JavaScript values into umd module string
asUmdModule(...values: IModuleValue[]) => string
where
interface IModuleValue {
name: string;
exports: any;
}
Example of using:
let umdModule = asUmdModule({
name: "onmessage",
exports: function(e) {
console.log('Worker: Message received from main script');
let result = multiply(e.data[0], e.data[1]);
if (isNaN(result)) {
postMessage('Please write two numbers');
} else {
let workerResult = 'Result: ' + result;
console.log('Worker: Posting message back to main script');
postMessage(workerResult);
}
}
}, {
name: "multiply",
exports: function(a, b) {
return a * b;
}
});
console.log(umdModule);
/***
Expected result of umdModule variable is string like
"(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = global || self, factory(global));
}(this, function (exports) { 'use strict';
exports.onmessage = function(e) {
console.log('Worker: Message received from main script');
let result = multiply(e.data[0], e.data[1]);
if (isNaN(result)) {
postMessage('Please write two numbers');
} else {
let workerResult = 'Result: ' + result;
console.log('Worker: Posting message back to main script');
postMessage(workerResult);
}
};
exports.multiply = function(a, b) {
return a * b;
};
Object.defineProperty(exports, '__esModule', { value: true });
}));"
***/
Demo
See, how it's working: https://runkit.com/lopatnov/as-umd-module-demo
Test it with a runkit: https://npm.runkit.com/%40lopatnov%2Fas-umd-module
Rights and Agreements
License Apache-2.0
Copyright 2019-2020 Oleksandr Lopatnov