@quenk/wml 2.11.2 → 2.12.0
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/lib/cli.js +24 -29
- package/lib/cli.js.map +1 -1
- package/lib/cli.ts +20 -13
- package/lib/compile/codegen.d.ts +6 -10
- package/lib/compile/codegen.js +556 -633
- package/lib/compile/codegen.js.map +1 -1
- package/lib/compile/codegen.ts +58 -25
- package/lib/compile/index.js +6 -11
- package/lib/compile/index.js.map +1 -1
- package/lib/compile/transform.js +19 -25
- package/lib/compile/transform.js.map +1 -1
- package/lib/compile/transform.ts +12 -6
- package/lib/dom.js +118 -167
- package/lib/dom.js.map +1 -1
- package/lib/index.js +7 -10
- package/lib/index.js.map +1 -1
- package/lib/main.js +31 -56
- package/lib/main.js.map +1 -1
- package/lib/parse/ast.d.ts +25 -5
- package/lib/parse/ast.js +186 -214
- package/lib/parse/ast.js.map +1 -1
- package/lib/parse/ast.ts +33 -5
- package/lib/parse/generated.js +2527 -2454
- package/lib/parse/index.js +7 -10
- package/lib/parse/index.js.map +1 -1
- package/lib/parse/test.js +279 -53
- package/lib/parse/test.js.map +1 -1
- package/lib/parse/test.ts +20 -1
- package/lib/parse/wml.y +60 -50
- package/lib/tsconfig.json +1 -1
- package/package.json +1 -2
package/lib/dom.js
CHANGED
|
@@ -7,30 +7,15 @@
|
|
|
7
7
|
* we can detect whether we are in a browser or elsewhere and adjust to
|
|
8
8
|
* suite.
|
|
9
9
|
*/
|
|
10
|
-
var __extends = (this && this.__extends) || (function () {
|
|
11
|
-
var extendStatics = function (d, b) {
|
|
12
|
-
extendStatics = Object.setPrototypeOf ||
|
|
13
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
14
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
15
|
-
return extendStatics(d, b);
|
|
16
|
-
};
|
|
17
|
-
return function (d, b) {
|
|
18
|
-
if (typeof b !== "function" && b !== null)
|
|
19
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
20
|
-
extendStatics(d, b);
|
|
21
|
-
function __() { this.constructor = d; }
|
|
22
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
23
|
-
};
|
|
24
|
-
})();
|
|
25
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
11
|
exports.createElement = exports.unsafe = exports.text = exports.createUnsafeNode = exports.createTextNode = exports.escapeHTML = exports.escapeAttrValue = exports.escapeAttrs = exports.isBrowser = exports.WMLDOMElement = exports.WMLDOMText = exports.WMLDOMNode = exports.WMLNodeList = void 0;
|
|
27
|
-
|
|
28
|
-
|
|
12
|
+
const record_1 = require("@quenk/noni/lib/data/record");
|
|
13
|
+
const type_1 = require("@quenk/noni/lib/data/type");
|
|
29
14
|
// Declared so isBrowser works on node.js.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
15
|
+
let window = global;
|
|
16
|
+
let document = global.document;
|
|
17
|
+
const DOCTYPE = '<!DOCTYPE html>';
|
|
18
|
+
const ATTR_ESC_MAP = {
|
|
34
19
|
'&': '\\u0026',
|
|
35
20
|
'>': '\\u003e',
|
|
36
21
|
'<': '\\u003c',
|
|
@@ -40,16 +25,16 @@ var ATTR_ESC_MAP = {
|
|
|
40
25
|
'\u2028': '\\u2028',
|
|
41
26
|
'\u2029': '\\u2029'
|
|
42
27
|
};
|
|
43
|
-
|
|
44
|
-
|
|
28
|
+
const attrsEscRegex = new RegExp(`[${(0, record_1.mapTo)(ATTR_ESC_MAP, (_, k) => k)}]`, 'g');
|
|
29
|
+
const HTML_ENT_MAP = {
|
|
45
30
|
'"': '"',
|
|
46
31
|
'&': '&',
|
|
47
32
|
'\'': ''',
|
|
48
33
|
'<': '<',
|
|
49
34
|
'>': '>'
|
|
50
35
|
};
|
|
51
|
-
|
|
52
|
-
|
|
36
|
+
const htmlEscRegex = new RegExp(`[${(0, record_1.mapTo)(HTML_ENT_MAP, (_, k) => k)}]`, 'g');
|
|
37
|
+
const voidElements = [
|
|
53
38
|
'area',
|
|
54
39
|
'base',
|
|
55
40
|
'br',
|
|
@@ -71,16 +56,15 @@ var voidElements = [
|
|
|
71
56
|
* WMLNodeList implementation.
|
|
72
57
|
* @private
|
|
73
58
|
*/
|
|
74
|
-
|
|
75
|
-
|
|
59
|
+
class WMLNodeList {
|
|
60
|
+
constructor() {
|
|
76
61
|
this.length = 0;
|
|
77
62
|
}
|
|
78
|
-
|
|
63
|
+
item() {
|
|
79
64
|
return null;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}());
|
|
65
|
+
}
|
|
66
|
+
forEach() { }
|
|
67
|
+
}
|
|
84
68
|
exports.WMLNodeList = WMLNodeList;
|
|
85
69
|
/**
|
|
86
70
|
* WMLDOMNode implements the properties and methods of the DOM Node interface to
|
|
@@ -89,8 +73,8 @@ exports.WMLNodeList = WMLNodeList;
|
|
|
89
73
|
* Most of the methods and properties cannot be relied on and should not be
|
|
90
74
|
* used.
|
|
91
75
|
*/
|
|
92
|
-
|
|
93
|
-
|
|
76
|
+
class WMLDOMNode {
|
|
77
|
+
constructor(nodeName, nodeType) {
|
|
94
78
|
this.nodeName = nodeName;
|
|
95
79
|
this.nodeType = nodeType;
|
|
96
80
|
this.ATTRIBUTE_NODE = -1;
|
|
@@ -124,139 +108,114 @@ var WMLDOMNode = /** @class */ (function () {
|
|
|
124
108
|
this.parentNode = null;
|
|
125
109
|
this.previousSibling = null;
|
|
126
110
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
configurable: true
|
|
133
|
-
});
|
|
134
|
-
WMLDOMNode.prototype.addEventListener = function () { };
|
|
135
|
-
WMLDOMNode.prototype.dispatchEvent = function () {
|
|
111
|
+
get textContent() {
|
|
112
|
+
return '';
|
|
113
|
+
}
|
|
114
|
+
addEventListener() { }
|
|
115
|
+
dispatchEvent() {
|
|
136
116
|
return false;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
|
|
117
|
+
}
|
|
118
|
+
removeEventListener() { }
|
|
119
|
+
appendChild(newChild) {
|
|
140
120
|
return newChild;
|
|
141
|
-
}
|
|
142
|
-
|
|
121
|
+
}
|
|
122
|
+
cloneNode() {
|
|
143
123
|
return this;
|
|
144
|
-
}
|
|
145
|
-
|
|
124
|
+
}
|
|
125
|
+
compareDocumentPosition() {
|
|
146
126
|
return 0;
|
|
147
|
-
}
|
|
148
|
-
|
|
127
|
+
}
|
|
128
|
+
contains() {
|
|
149
129
|
return false;
|
|
150
|
-
}
|
|
151
|
-
|
|
130
|
+
}
|
|
131
|
+
getRootNode() {
|
|
152
132
|
return this;
|
|
153
|
-
}
|
|
154
|
-
|
|
133
|
+
}
|
|
134
|
+
hasChildNodes() {
|
|
155
135
|
return false;
|
|
156
|
-
}
|
|
157
|
-
|
|
136
|
+
}
|
|
137
|
+
insertBefore(newChild) {
|
|
158
138
|
return newChild;
|
|
159
|
-
}
|
|
160
|
-
|
|
139
|
+
}
|
|
140
|
+
isDefaultNamespace() {
|
|
161
141
|
return false;
|
|
162
|
-
}
|
|
163
|
-
|
|
142
|
+
}
|
|
143
|
+
isEqualNode() {
|
|
164
144
|
return false;
|
|
165
|
-
}
|
|
166
|
-
|
|
145
|
+
}
|
|
146
|
+
isSameNode() {
|
|
167
147
|
return false;
|
|
168
|
-
}
|
|
169
|
-
|
|
148
|
+
}
|
|
149
|
+
lookupNamespaceURI() {
|
|
170
150
|
return null;
|
|
171
|
-
}
|
|
172
|
-
|
|
151
|
+
}
|
|
152
|
+
lookupPrefix() {
|
|
173
153
|
return null;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
154
|
+
}
|
|
155
|
+
normalize() { }
|
|
156
|
+
remove() { }
|
|
157
|
+
before() { }
|
|
158
|
+
after() { }
|
|
159
|
+
replaceWith() { }
|
|
160
|
+
removeChild(oldChild) {
|
|
181
161
|
return oldChild;
|
|
182
|
-
}
|
|
183
|
-
|
|
162
|
+
}
|
|
163
|
+
replaceChild(_, oldChild) {
|
|
184
164
|
return oldChild;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
}());
|
|
165
|
+
}
|
|
166
|
+
}
|
|
188
167
|
exports.WMLDOMNode = WMLDOMNode;
|
|
189
168
|
/**
|
|
190
169
|
* WMLDOMText is used to represent Text nodes on the server side.
|
|
191
170
|
* @private
|
|
192
171
|
*/
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
return
|
|
172
|
+
class WMLDOMText extends WMLDOMNode {
|
|
173
|
+
constructor(value, escape = true) {
|
|
174
|
+
super('#text', -1);
|
|
175
|
+
this.value = value;
|
|
176
|
+
this.escape = escape;
|
|
177
|
+
}
|
|
178
|
+
get textContent() {
|
|
179
|
+
return this.escape ? (0, exports.escapeHTML)(this.value) : this.value;
|
|
201
180
|
}
|
|
202
|
-
|
|
203
|
-
get: function () {
|
|
204
|
-
return this.escape ? (0, exports.escapeHTML)(this.value) : this.value;
|
|
205
|
-
},
|
|
206
|
-
enumerable: false,
|
|
207
|
-
configurable: true
|
|
208
|
-
});
|
|
209
|
-
return WMLDOMText;
|
|
210
|
-
}(WMLDOMNode));
|
|
181
|
+
}
|
|
211
182
|
exports.WMLDOMText = WMLDOMText;
|
|
212
183
|
/**
|
|
213
184
|
* WMLDOMElement is used to represent Element nodes on the server side.
|
|
214
185
|
* @private
|
|
215
186
|
*/
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
_this.attrs = attrs;
|
|
223
|
-
_this.children = children;
|
|
224
|
-
return _this;
|
|
187
|
+
class WMLDOMElement extends WMLDOMNode {
|
|
188
|
+
constructor(tag, attrs, children = []) {
|
|
189
|
+
super(tag, -1);
|
|
190
|
+
this.tag = tag;
|
|
191
|
+
this.attrs = attrs;
|
|
192
|
+
this.children = children;
|
|
225
193
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
open = "".concat(DOCTYPE).concat(open);
|
|
245
|
-
return (voidElements.indexOf(tag) > -1) ?
|
|
246
|
-
open : "".concat(open).concat(content, "</").concat(tag, ">");
|
|
247
|
-
},
|
|
248
|
-
enumerable: false,
|
|
249
|
-
configurable: true
|
|
250
|
-
});
|
|
251
|
-
WMLDOMElement.prototype.setAttribute = function (key, value) {
|
|
194
|
+
get innerHTML() {
|
|
195
|
+
return this.children.map(c => (c.nodeName === '#text') ?
|
|
196
|
+
c.textContent :
|
|
197
|
+
c.outerHTML).join('');
|
|
198
|
+
}
|
|
199
|
+
get outerHTML() {
|
|
200
|
+
let { tag } = this;
|
|
201
|
+
let content = this.innerHTML;
|
|
202
|
+
let attrs = (0, record_1.mapTo)((0, exports.escapeAttrs)(this.attrs), (value, name) => !value ?
|
|
203
|
+
name : `${name}="${value}"`).join(' ');
|
|
204
|
+
attrs = (attrs.trim() != '') ? ` ${attrs}` : '';
|
|
205
|
+
let open = `<${tag}${attrs}>`;
|
|
206
|
+
if (tag === "html")
|
|
207
|
+
open = `${DOCTYPE}${open}`;
|
|
208
|
+
return (voidElements.indexOf(tag) > -1) ?
|
|
209
|
+
open : `${open}${content}</${tag}>`;
|
|
210
|
+
}
|
|
211
|
+
setAttribute(key, value) {
|
|
252
212
|
this.attrs[key] = value;
|
|
253
|
-
}
|
|
254
|
-
|
|
213
|
+
}
|
|
214
|
+
appendChild(newChild) {
|
|
255
215
|
this.children.push(newChild);
|
|
256
216
|
return newChild;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
}(WMLDOMNode));
|
|
217
|
+
}
|
|
218
|
+
}
|
|
260
219
|
exports.WMLDOMElement = WMLDOMElement;
|
|
261
220
|
/**
|
|
262
221
|
* isBrowser is set to true if we detect a window and document global variable.
|
|
@@ -265,31 +224,25 @@ exports.isBrowser = ((window != null) && (document != null));
|
|
|
265
224
|
/**
|
|
266
225
|
* escapeAttrs escapes each key value pair of a WMLDOMAttrs.
|
|
267
226
|
*/
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
(
|
|
271
|
-
(0, exports.escapeAttrValue)(String(value));
|
|
272
|
-
}); };
|
|
227
|
+
const escapeAttrs = (attrs) => (0, record_1.map)(attrs, value => (0, type_1.isFunction)(value) ? value :
|
|
228
|
+
(value instanceof WMLDOMText) ? value.textContent :
|
|
229
|
+
(0, exports.escapeAttrValue)(String(value)));
|
|
273
230
|
exports.escapeAttrs = escapeAttrs;
|
|
274
231
|
/**
|
|
275
232
|
* escapeAttrValue for safe browser display.
|
|
276
233
|
*/
|
|
277
|
-
|
|
278
|
-
return value.replace(attrsEscRegex, function (hit) { return ATTR_ESC_MAP[hit]; });
|
|
279
|
-
};
|
|
234
|
+
const escapeAttrValue = (value) => value.replace(attrsEscRegex, hit => ATTR_ESC_MAP[hit]);
|
|
280
235
|
exports.escapeAttrValue = escapeAttrValue;
|
|
281
236
|
/**
|
|
282
237
|
* escapeHTML for safe browser display.
|
|
283
238
|
*/
|
|
284
|
-
|
|
285
|
-
return value.replace(htmlEscRegex, function (hit) { return HTML_ENT_MAP[hit]; });
|
|
286
|
-
};
|
|
239
|
+
const escapeHTML = (value) => value.replace(htmlEscRegex, hit => HTML_ENT_MAP[hit]);
|
|
287
240
|
exports.escapeHTML = escapeHTML;
|
|
288
241
|
/**
|
|
289
242
|
* createTextNode wrapper.
|
|
290
243
|
*/
|
|
291
|
-
|
|
292
|
-
|
|
244
|
+
const createTextNode = (txt) => {
|
|
245
|
+
let str = String((txt == null) ? '' : txt);
|
|
293
246
|
return exports.isBrowser ? document.createTextNode(str) : new WMLDOMText(str);
|
|
294
247
|
};
|
|
295
248
|
exports.createTextNode = createTextNode;
|
|
@@ -299,57 +252,55 @@ exports.text = exports.createTextNode;
|
|
|
299
252
|
*
|
|
300
253
|
* THIS MUST ONLY BE USED IF YOU ARE 100% SURE THE STRING IS SAFE TO OUTPUT!
|
|
301
254
|
*/
|
|
302
|
-
|
|
303
|
-
|
|
255
|
+
const createUnsafeNode = (txt) => {
|
|
256
|
+
let str = String((txt == null) ? '' : txt);
|
|
304
257
|
return exports.isBrowser ? createBrowserUnsafeNode(str) : new WMLDOMText(str, false);
|
|
305
258
|
};
|
|
306
259
|
exports.createUnsafeNode = createUnsafeNode;
|
|
307
260
|
exports.unsafe = exports.createUnsafeNode;
|
|
308
|
-
|
|
309
|
-
|
|
261
|
+
const createBrowserUnsafeNode = (html) => {
|
|
262
|
+
let tmpl = document.createElement('template');
|
|
310
263
|
tmpl.innerHTML = html;
|
|
311
264
|
return tmpl.content;
|
|
312
265
|
};
|
|
313
266
|
/**
|
|
314
267
|
* createElement wrapper.
|
|
315
268
|
*/
|
|
316
|
-
|
|
317
|
-
if (attrs === void 0) { attrs = {}; }
|
|
318
|
-
if (children === void 0) { children = []; }
|
|
269
|
+
const createElement = (tag, attrs = {}, children = []) => {
|
|
319
270
|
if (!exports.isBrowser) {
|
|
320
271
|
// XXX: The whole Element interface is not implemented but on server
|
|
321
272
|
// side we are only interested in setAttribute.
|
|
322
273
|
return new WMLDOMElement(tag, attrs, children);
|
|
323
274
|
}
|
|
324
275
|
else {
|
|
325
|
-
|
|
326
|
-
(0, record_1.forEach)(attrs,
|
|
276
|
+
let e = document.createElement(tag);
|
|
277
|
+
(0, record_1.forEach)(attrs, (value, key) => {
|
|
327
278
|
if (typeof value === 'function') {
|
|
328
|
-
|
|
279
|
+
e[key] = value;
|
|
329
280
|
}
|
|
330
281
|
else if (typeof value === 'string') {
|
|
331
282
|
// prevent setting things like disabled=""
|
|
332
283
|
if (value !== '')
|
|
333
|
-
|
|
284
|
+
e.setAttribute(key, value);
|
|
334
285
|
}
|
|
335
286
|
else if (typeof value === 'boolean') {
|
|
336
|
-
|
|
287
|
+
e.setAttribute(key, '');
|
|
337
288
|
}
|
|
338
289
|
});
|
|
339
|
-
children.forEach(
|
|
290
|
+
children.forEach(c => {
|
|
340
291
|
switch (typeof c) {
|
|
341
292
|
case 'string':
|
|
342
293
|
case 'number':
|
|
343
294
|
case 'boolean':
|
|
344
|
-
|
|
295
|
+
e.appendChild(document.createTextNode('' + c));
|
|
345
296
|
case 'object':
|
|
346
|
-
|
|
297
|
+
e.appendChild(c);
|
|
347
298
|
break;
|
|
348
299
|
default:
|
|
349
|
-
throw new TypeError(
|
|
300
|
+
throw new TypeError(`Can not adopt child ${c} of type ${typeof c}`);
|
|
350
301
|
}
|
|
351
302
|
});
|
|
352
|
-
return
|
|
303
|
+
return e;
|
|
353
304
|
}
|
|
354
305
|
};
|
|
355
306
|
exports.createElement = createElement;
|
package/lib/dom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.js","sourceRoot":"","sources":["dom.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG
|
|
1
|
+
{"version":3,"file":"dom.js","sourceRoot":"","sources":["dom.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -5,20 +5,19 @@ exports.renderAsNode = exports.Component = void 0;
|
|
|
5
5
|
* Component is an abstract Widget implementation
|
|
6
6
|
* that can be used instead of manually implementing the whole interface.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
class Component {
|
|
9
9
|
/**
|
|
10
10
|
* @param {A} attrs is the attributes this Component excepts.
|
|
11
11
|
* @param {Content[]} children is an array of content for Component.
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
constructor(attrs, children) {
|
|
14
14
|
this.attrs = attrs;
|
|
15
15
|
this.children = children;
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}());
|
|
17
|
+
rendered() { }
|
|
18
|
+
removed() { }
|
|
19
|
+
render() { return this.view.render(); }
|
|
20
|
+
}
|
|
22
21
|
exports.Component = Component;
|
|
23
22
|
;
|
|
24
23
|
/**
|
|
@@ -26,8 +25,6 @@ exports.Component = Component;
|
|
|
26
25
|
*
|
|
27
26
|
* This function unsafely assumes the Renderable always returns DOM content.
|
|
28
27
|
*/
|
|
29
|
-
|
|
30
|
-
return r.render();
|
|
31
|
-
};
|
|
28
|
+
const renderAsNode = (r) => r.render();
|
|
32
29
|
exports.renderAsNode = renderAsNode;
|
|
33
30
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAgKA;;;GAGG;AACH;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAgKA;;;GAGG;AACH,MAAsB,SAAS;IAS3B;;;OAGG;IACH,YAAmB,KAAQ,EAAS,QAAmB;QAApC,UAAK,GAAL,KAAK,CAAG;QAAS,aAAQ,GAAR,QAAQ,CAAW;IAAI,CAAC;IAE5D,QAAQ,KAAW,CAAC;IAEpB,OAAO,KAAW,CAAC;IAEnB,MAAM,KAAc,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAEnD;AArBD,8BAqBC;AAAA,CAAC;AAiDF;;;;GAIG;AACI,MAAM,YAAY,GAAG,CAAC,CAAa,EAAQ,EAAE,CAC1C,CAAC,CAAC,MAAM,EAAE,CAAC;AADR,QAAA,YAAY,gBACJ"}
|
package/lib/main.js
CHANGED
|
@@ -1,43 +1,28 @@
|
|
|
1
1
|
#! /usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
4
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
5
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
6
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
7
|
-
function step(op) {
|
|
8
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
9
|
-
while (_) try {
|
|
10
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
11
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
12
|
-
switch (op[0]) {
|
|
13
|
-
case 0: case 1: t = op; break;
|
|
14
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
15
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
16
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
17
|
-
default:
|
|
18
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
19
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
20
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
21
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
22
|
-
if (t[2]) _.ops.pop();
|
|
23
|
-
_.trys.pop(); continue;
|
|
24
|
-
}
|
|
25
|
-
op = body.call(thisArg, _);
|
|
26
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
27
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
4
|
+
const docopt = require("docopt");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const record_1 = require("@quenk/noni/lib/data/record");
|
|
7
|
+
const file_1 = require("@quenk/noni/lib/io/file");
|
|
8
|
+
const cli_1 = require("./cli");
|
|
9
|
+
const future_1 = require("@quenk/noni/lib/control/monad/future");
|
|
10
|
+
const args = docopt.docopt(`
|
|
11
|
+
|
|
12
|
+
Usage:
|
|
13
|
+
wml [options] <path>
|
|
14
|
+
|
|
15
|
+
Options:
|
|
16
|
+
-h --help Show this screen.
|
|
17
|
+
--inputExtension ext The file extension used when reading files. [default: wml]
|
|
18
|
+
--extension ext The file extension to use when writing files. [default: ts]
|
|
19
|
+
--module path The module name or path to get wml symbols from.
|
|
20
|
+
--dom path The module to resolve the DOM functions from.
|
|
21
|
+
--version Show version.
|
|
22
|
+
`, {
|
|
38
23
|
version: require('../package.json').version
|
|
39
24
|
});
|
|
40
|
-
|
|
25
|
+
const defaultOptions = {
|
|
41
26
|
debug: false,
|
|
42
27
|
main: 'Main',
|
|
43
28
|
module: '@quenk/wml',
|
|
@@ -45,25 +30,15 @@ var defaultOptions = {
|
|
|
45
30
|
inputExtension: 'wml',
|
|
46
31
|
outputExtension: 'ts'
|
|
47
32
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
result = _a.sent();
|
|
58
|
-
return [4 /*yield*/, result ? (0, cli_1.compileDir)(path, opts) : (0, cli_1.compileFile)(path, opts)];
|
|
59
|
-
case 2:
|
|
60
|
-
_a.sent();
|
|
61
|
-
return [2 /*return*/, future_1.voidPure];
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
}); };
|
|
65
|
-
var getOptions = function (args) {
|
|
66
|
-
var o = {};
|
|
33
|
+
const main = (cwd, args) => (0, future_1.doFuture)(function* () {
|
|
34
|
+
let path = (0, path_1.resolve)(cwd, args['<path>']);
|
|
35
|
+
let opts = (0, record_1.merge)(defaultOptions, getOptions(args));
|
|
36
|
+
let result = yield (0, file_1.isDirectory)(path);
|
|
37
|
+
yield result ? (0, cli_1.compileDir)(path, opts) : (0, cli_1.compileFile)(path, opts);
|
|
38
|
+
return future_1.voidPure;
|
|
39
|
+
});
|
|
40
|
+
const getOptions = (args) => {
|
|
41
|
+
let o = {};
|
|
67
42
|
if (args['--main'] != null)
|
|
68
43
|
o.main = args['--main'];
|
|
69
44
|
if (args['--outputExtension'] != null)
|
|
@@ -76,10 +51,10 @@ var getOptions = function (args) {
|
|
|
76
51
|
o.dom = args['--dom'];
|
|
77
52
|
return o;
|
|
78
53
|
};
|
|
79
|
-
|
|
54
|
+
const onErr = (e) => {
|
|
80
55
|
console.error(e.stack ? e.stack : e);
|
|
81
56
|
return process.exit(255);
|
|
82
57
|
};
|
|
83
|
-
|
|
58
|
+
const onDone = () => process.exit(0);
|
|
84
59
|
main(process.cwd(), args).fork(onErr, onDone);
|
|
85
60
|
//# sourceMappingURL=main.js.map
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";;;AAEA,iCAAiC;AAEjC,+BAA+B;AAE/B,wDAAoD;AACpD,kDAAsD;AAEtD,+BAAuE;AACvE,iEAA0E;AAE1E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;;;;;;;;;;;;CAY1B,EAAE;IACC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO;CAC9C,CAAC,CAAC;AAEH,MAAM,cAAc,GAAe;IAC/B,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,YAAY;IACpB,GAAG,EAAE,oBAAoB;IACzB,cAAc,EAAE,KAAK;IACrB,eAAe,EAAE,IAAI;CACxB,CAAA;AAGD,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,IAAe,EAAE,EAAE,CAAC,IAAA,iBAAQ,EAAM,QAAQ,CAAC;IAElE,IAAI,IAAI,GAAG,IAAA,cAAO,EAAC,GAAG,EAAU,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChD,IAAI,IAAI,GAAG,IAAA,cAAK,EAAC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,IAAI,MAAM,GAAG,MAAM,IAAA,kBAAW,EAAC,IAAI,CAAC,CAAC;IAErC,MAAM,MAAM,CAAC,CAAC,CAAC,IAAA,gBAAU,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChE,OAAO,iBAAQ,CAAC;AAEpB,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,IAAe,EAAuB,EAAE;IAExD,IAAI,CAAC,GAAwB,EAAE,CAAC;IAEhC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI;QACtB,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE5B,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,IAAI;QACjC,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAElD,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI;QAChC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAEhD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI;QACxB,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAEhC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI;QACrB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAE1B,OAAO,CAAC,CAAC;AAEb,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAAC,CAAQ,EAAE,EAAE;IAEvB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE7B,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAErC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC"}
|