@rindo/core 4.18.2 → 4.18.3-dev.1734304270.ca7046f
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/cli/index.cjs +27 -12
- package/cli/index.js +27 -12
- package/cli/package.json +1 -1
- package/compiler/package.json +1 -1
- package/compiler/rindo.js +939 -679
- package/dev-server/client/index.js +1 -1
- package/dev-server/client/package.json +1 -1
- package/dev-server/connector.html +2 -2
- package/dev-server/index.js +1 -1
- package/dev-server/package.json +1 -1
- package/dev-server/server-process.js +52 -40
- package/dev-server/ws.js +1 -1
- package/internal/app-data/package.json +1 -1
- package/internal/client/index.js +38 -17
- package/internal/client/package.json +1 -1
- package/internal/client/patch-browser.js +1 -1
- package/internal/hydrate/index.js +36 -17
- package/internal/hydrate/package.json +1 -1
- package/internal/hydrate/runner.js +70 -60
- package/internal/package.json +1 -1
- package/internal/rindo-private.d.ts +13 -7
- package/internal/rindo-public-compiler.d.ts +10 -3
- package/internal/testing/index.js +35 -16
- package/internal/testing/package.json +1 -1
- package/mock-doc/index.cjs +70 -60
- package/mock-doc/index.d.ts +36 -30
- package/mock-doc/index.js +70 -60
- package/mock-doc/package.json +1 -1
- package/package.json +18 -21
- package/screenshot/index.js +1 -1
- package/screenshot/package.json +1 -1
- package/screenshot/pixel-match.js +4 -1
- package/sys/node/autoprefixer.js +2 -2
- package/sys/node/glob.js +1 -1
- package/sys/node/index.js +2 -2
- package/sys/node/node-fetch.js +10 -2
- package/sys/node/package.json +1 -1
- package/sys/node/worker.js +1 -1
- package/testing/index.js +33 -15
- package/testing/mock-fetch.d.ts +4 -4
- package/testing/mocks.d.ts +9 -9
- package/testing/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Rindo Hydrate Runner v4.18.
|
|
2
|
+
Rindo Hydrate Runner v4.18.3-dev.1734304270.ca7046f | MIT Licensed | https://rindojs.web.app
|
|
3
3
|
*/
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
@@ -12329,67 +12329,75 @@ var MockUListElement = class extends MockHTMLElement {
|
|
|
12329
12329
|
super(ownerDocument, "ul");
|
|
12330
12330
|
}
|
|
12331
12331
|
};
|
|
12332
|
+
var CanvasRenderingContext = class {
|
|
12333
|
+
constructor(context, contextAttributes) {
|
|
12334
|
+
this.context = context;
|
|
12335
|
+
this.contextAttributes = contextAttributes;
|
|
12336
|
+
}
|
|
12337
|
+
fillRect() {
|
|
12338
|
+
return;
|
|
12339
|
+
}
|
|
12340
|
+
clearRect() {
|
|
12341
|
+
}
|
|
12342
|
+
getImageData(_, __, w, h) {
|
|
12343
|
+
return {
|
|
12344
|
+
data: new Array(w * h * 4)
|
|
12345
|
+
};
|
|
12346
|
+
}
|
|
12347
|
+
toDataURL() {
|
|
12348
|
+
return "data:,";
|
|
12349
|
+
}
|
|
12350
|
+
putImageData() {
|
|
12351
|
+
}
|
|
12352
|
+
createImageData() {
|
|
12353
|
+
return {};
|
|
12354
|
+
}
|
|
12355
|
+
setTransform() {
|
|
12356
|
+
}
|
|
12357
|
+
drawImage() {
|
|
12358
|
+
}
|
|
12359
|
+
save() {
|
|
12360
|
+
}
|
|
12361
|
+
fillText() {
|
|
12362
|
+
}
|
|
12363
|
+
restore() {
|
|
12364
|
+
}
|
|
12365
|
+
beginPath() {
|
|
12366
|
+
}
|
|
12367
|
+
moveTo() {
|
|
12368
|
+
}
|
|
12369
|
+
lineTo() {
|
|
12370
|
+
}
|
|
12371
|
+
closePath() {
|
|
12372
|
+
}
|
|
12373
|
+
stroke() {
|
|
12374
|
+
}
|
|
12375
|
+
translate() {
|
|
12376
|
+
}
|
|
12377
|
+
scale() {
|
|
12378
|
+
}
|
|
12379
|
+
rotate() {
|
|
12380
|
+
}
|
|
12381
|
+
arc() {
|
|
12382
|
+
}
|
|
12383
|
+
fill() {
|
|
12384
|
+
}
|
|
12385
|
+
measureText() {
|
|
12386
|
+
return { width: 0 };
|
|
12387
|
+
}
|
|
12388
|
+
transform() {
|
|
12389
|
+
}
|
|
12390
|
+
rect() {
|
|
12391
|
+
}
|
|
12392
|
+
clip() {
|
|
12393
|
+
}
|
|
12394
|
+
};
|
|
12332
12395
|
var MockCanvasElement = class extends MockHTMLElement {
|
|
12333
12396
|
constructor(ownerDocument) {
|
|
12334
12397
|
super(ownerDocument, "canvas");
|
|
12335
12398
|
}
|
|
12336
|
-
getContext() {
|
|
12337
|
-
return
|
|
12338
|
-
fillRect() {
|
|
12339
|
-
return;
|
|
12340
|
-
},
|
|
12341
|
-
clearRect() {
|
|
12342
|
-
},
|
|
12343
|
-
getImageData: function(_, __, w, h) {
|
|
12344
|
-
return {
|
|
12345
|
-
data: new Array(w * h * 4)
|
|
12346
|
-
};
|
|
12347
|
-
},
|
|
12348
|
-
putImageData() {
|
|
12349
|
-
},
|
|
12350
|
-
createImageData: function() {
|
|
12351
|
-
return [];
|
|
12352
|
-
},
|
|
12353
|
-
setTransform() {
|
|
12354
|
-
},
|
|
12355
|
-
drawImage() {
|
|
12356
|
-
},
|
|
12357
|
-
save() {
|
|
12358
|
-
},
|
|
12359
|
-
fillText() {
|
|
12360
|
-
},
|
|
12361
|
-
restore() {
|
|
12362
|
-
},
|
|
12363
|
-
beginPath() {
|
|
12364
|
-
},
|
|
12365
|
-
moveTo() {
|
|
12366
|
-
},
|
|
12367
|
-
lineTo() {
|
|
12368
|
-
},
|
|
12369
|
-
closePath() {
|
|
12370
|
-
},
|
|
12371
|
-
stroke() {
|
|
12372
|
-
},
|
|
12373
|
-
translate() {
|
|
12374
|
-
},
|
|
12375
|
-
scale() {
|
|
12376
|
-
},
|
|
12377
|
-
rotate() {
|
|
12378
|
-
},
|
|
12379
|
-
arc() {
|
|
12380
|
-
},
|
|
12381
|
-
fill() {
|
|
12382
|
-
},
|
|
12383
|
-
measureText() {
|
|
12384
|
-
return { width: 0 };
|
|
12385
|
-
},
|
|
12386
|
-
transform() {
|
|
12387
|
-
},
|
|
12388
|
-
rect() {
|
|
12389
|
-
},
|
|
12390
|
-
clip() {
|
|
12391
|
-
}
|
|
12392
|
-
};
|
|
12399
|
+
getContext(context, contextAttributes) {
|
|
12400
|
+
return new CanvasRenderingContext(context, contextAttributes);
|
|
12393
12401
|
}
|
|
12394
12402
|
};
|
|
12395
12403
|
function fullUrl(elm, attrName) {
|
|
@@ -12816,14 +12824,16 @@ var WINDOW_PROPS = [
|
|
|
12816
12824
|
];
|
|
12817
12825
|
var GLOBAL_CONSTRUCTORS = [
|
|
12818
12826
|
["CustomEvent", MockCustomEvent],
|
|
12827
|
+
["DocumentFragment", MockDocumentFragment],
|
|
12828
|
+
["DOMParser", MockDOMParser],
|
|
12819
12829
|
["Event", MockEvent],
|
|
12820
|
-
["Headers", MockHeaders],
|
|
12821
12830
|
["FocusEvent", MockFocusEvent],
|
|
12831
|
+
["Headers", MockHeaders],
|
|
12822
12832
|
["KeyboardEvent", MockKeyboardEvent],
|
|
12823
12833
|
["MouseEvent", MockMouseEvent],
|
|
12824
12834
|
["Request", MockRequest],
|
|
12825
12835
|
["Response", MockResponse],
|
|
12826
|
-
["
|
|
12836
|
+
["ShadowRoot", MockDocumentFragment],
|
|
12827
12837
|
["HTMLAnchorElement", MockAnchorElement],
|
|
12828
12838
|
["HTMLBaseElement", MockBaseElement],
|
|
12829
12839
|
["HTMLButtonElement", MockButtonElement],
|
package/internal/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rindo/core/internal",
|
|
3
|
-
"version": "4.18.
|
|
3
|
+
"version": "4.18.3-dev.1734304270.ca7046f",
|
|
4
4
|
"description": "Rindo internals only to be imported by the Rindo Compiler. Breaking changes can and will happen at any time.",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -964,11 +964,11 @@ export interface HostElement extends HTMLElement {
|
|
|
964
964
|
*/
|
|
965
965
|
['s-sc']?: string;
|
|
966
966
|
/**
|
|
967
|
-
*
|
|
968
|
-
*
|
|
967
|
+
* Scope Ids
|
|
968
|
+
* All the possible scope ids of this component when using scoped css encapsulation
|
|
969
969
|
* or using shadow dom but the browser doesn't support it
|
|
970
970
|
*/
|
|
971
|
-
['s-
|
|
971
|
+
['s-scs']?: string[];
|
|
972
972
|
/**
|
|
973
973
|
* Hot Module Replacement, dev mode only
|
|
974
974
|
*
|
|
@@ -1276,7 +1276,7 @@ export interface ComponentRuntimeMeta {
|
|
|
1276
1276
|
/**
|
|
1277
1277
|
* This number is used to hold a series of bitflags for various features we
|
|
1278
1278
|
* support on components. The flags which this value is intended to store are
|
|
1279
|
-
* documented in the
|
|
1279
|
+
* documented in the `CMP_FLAGS` enum.
|
|
1280
1280
|
*/
|
|
1281
1281
|
$flags$: number;
|
|
1282
1282
|
/**
|
|
@@ -1320,7 +1320,7 @@ export interface ComponentRuntimeMembers {
|
|
|
1320
1320
|
* The fields are:
|
|
1321
1321
|
*
|
|
1322
1322
|
* 1. A number used to hold bitflags for component members. The bit flags which
|
|
1323
|
-
* this is intended to store are documented in the
|
|
1323
|
+
* this is intended to store are documented in the `MEMBER_FLAGS` enum.
|
|
1324
1324
|
* 2. The attribute name to observe.
|
|
1325
1325
|
*/
|
|
1326
1326
|
export type ComponentRuntimeMember = [number, string?];
|
|
@@ -1329,7 +1329,7 @@ export type ComponentRuntimeMember = [number, string?];
|
|
|
1329
1329
|
* runtime. The field are:
|
|
1330
1330
|
*
|
|
1331
1331
|
* 1. A number used to hold bitflags for listeners. The bit flags which this is
|
|
1332
|
-
* intended to store are documented in the
|
|
1332
|
+
* intended to store are documented in the `LISTENER_FLAGS` enum.
|
|
1333
1333
|
* 2. The event name.
|
|
1334
1334
|
* 3. The method name.
|
|
1335
1335
|
*/
|
|
@@ -1610,6 +1610,12 @@ export interface ScreenshotOptions {
|
|
|
1610
1610
|
* more sensitive. Defaults to the testing config `pixelmatchThreshold` value;
|
|
1611
1611
|
*/
|
|
1612
1612
|
pixelmatchThreshold?: number;
|
|
1613
|
+
/**
|
|
1614
|
+
* Capture the screenshot beyond the viewport.
|
|
1615
|
+
*
|
|
1616
|
+
* @defaultValue `false` if there is no `clip`. `true` otherwise.
|
|
1617
|
+
*/
|
|
1618
|
+
captureBeyondViewport?: boolean;
|
|
1613
1619
|
}
|
|
1614
1620
|
export interface ScreenshotBoundingBox {
|
|
1615
1621
|
/**
|
|
@@ -2134,7 +2140,7 @@ export interface CompilerWorkerContext {
|
|
|
2134
2140
|
transformCssToEsm(input: TransformCssToEsmInput): Promise<TransformCssToEsmOutput>;
|
|
2135
2141
|
}
|
|
2136
2142
|
/**
|
|
2137
|
-
* The methods that are supported on a {@link
|
|
2143
|
+
* The methods that are supported on a {@link CompilerWorkerContext}
|
|
2138
2144
|
*/
|
|
2139
2145
|
export type WorkerContextMethod = keyof CompilerWorkerContext;
|
|
2140
2146
|
/**
|
|
@@ -79,6 +79,13 @@ export interface RindoConfig {
|
|
|
79
79
|
* Below is an example folder structure containing a webapp's global sass file, named app.css.
|
|
80
80
|
*/
|
|
81
81
|
globalStyle?: string;
|
|
82
|
+
/**
|
|
83
|
+
* Will generate {@link https://nodejs.org/api/packages.html#packages_exports export map} entry points
|
|
84
|
+
* for each component in the build when `true`.
|
|
85
|
+
*
|
|
86
|
+
* @default false
|
|
87
|
+
*/
|
|
88
|
+
generateExportMaps?: boolean;
|
|
82
89
|
/**
|
|
83
90
|
* When the hashFileNames config is set to true, and it is a production build,
|
|
84
91
|
* the hashedFileNameLength config is used to determine how many characters the file name's hash should be.
|
|
@@ -2370,9 +2377,9 @@ export interface ResolveModuleOptions {
|
|
|
2370
2377
|
}
|
|
2371
2378
|
export interface PrerenderStartOptions {
|
|
2372
2379
|
buildId?: string;
|
|
2373
|
-
hydrateAppFilePath
|
|
2374
|
-
componentGraph
|
|
2375
|
-
srcIndexHtmlPath
|
|
2380
|
+
hydrateAppFilePath?: string;
|
|
2381
|
+
componentGraph?: BuildResultsComponentGraph;
|
|
2382
|
+
srcIndexHtmlPath?: string;
|
|
2376
2383
|
}
|
|
2377
2384
|
export interface PrerenderResults {
|
|
2378
2385
|
buildId: string;
|
|
@@ -979,6 +979,9 @@ var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
979
979
|
if ((import_app_data10.BUILD.shadowDom || import_app_data10.BUILD.scoped) && isDef(scopeId) && elm["s-si"] !== scopeId) {
|
|
980
980
|
elm.classList.add(elm["s-si"] = scopeId);
|
|
981
981
|
}
|
|
982
|
+
if (import_app_data10.BUILD.scoped) {
|
|
983
|
+
updateElementScopeIds(elm, parentElm);
|
|
984
|
+
}
|
|
982
985
|
if (newVNode2.$children$) {
|
|
983
986
|
for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
|
|
984
987
|
childNode = createElm(oldParentVNode, newVNode2, i2, elm);
|
|
@@ -1340,22 +1343,33 @@ var nullifyVNodeRefs = (vNode) => {
|
|
|
1340
1343
|
var insertBefore = (parent, newNode, reference) => {
|
|
1341
1344
|
const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);
|
|
1342
1345
|
if (import_app_data10.BUILD.scoped) {
|
|
1343
|
-
|
|
1346
|
+
updateElementScopeIds(newNode, parent);
|
|
1344
1347
|
}
|
|
1345
1348
|
return inserted;
|
|
1346
1349
|
};
|
|
1347
|
-
var
|
|
1348
|
-
|
|
1350
|
+
var findScopeIds = (element) => {
|
|
1351
|
+
const scopeIds = [];
|
|
1352
|
+
if (element) {
|
|
1353
|
+
scopeIds.push(
|
|
1354
|
+
...element["s-scs"] || [],
|
|
1355
|
+
element["s-si"],
|
|
1356
|
+
element["s-sc"],
|
|
1357
|
+
...findScopeIds(element.parentElement)
|
|
1358
|
+
);
|
|
1359
|
+
}
|
|
1360
|
+
return scopeIds;
|
|
1349
1361
|
};
|
|
1350
|
-
var
|
|
1351
|
-
var _a
|
|
1352
|
-
if (element && parent) {
|
|
1353
|
-
const
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1362
|
+
var updateElementScopeIds = (element, parent, iterateChildNodes = false) => {
|
|
1363
|
+
var _a;
|
|
1364
|
+
if (element && parent && element.nodeType === 1 /* ElementNode */) {
|
|
1365
|
+
const scopeIds = new Set(findScopeIds(parent).filter(Boolean));
|
|
1366
|
+
if (scopeIds.size) {
|
|
1367
|
+
(_a = element.classList) == null ? void 0 : _a.add(...element["s-scs"] = [...scopeIds]);
|
|
1368
|
+
if (element["s-ol"] || iterateChildNodes) {
|
|
1369
|
+
for (const childNode of Array.from(element.childNodes)) {
|
|
1370
|
+
updateElementScopeIds(childNode, element, true);
|
|
1371
|
+
}
|
|
1372
|
+
}
|
|
1359
1373
|
}
|
|
1360
1374
|
}
|
|
1361
1375
|
};
|
|
@@ -1541,7 +1555,10 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
|
|
|
1541
1555
|
endSchedule();
|
|
1542
1556
|
return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
|
|
1543
1557
|
};
|
|
1544
|
-
var enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn)
|
|
1558
|
+
var enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn).catch((err2) => {
|
|
1559
|
+
console.error(err2);
|
|
1560
|
+
fn();
|
|
1561
|
+
}) : fn();
|
|
1545
1562
|
var isPromisey = (maybePromise) => maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === "function";
|
|
1546
1563
|
var updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
1547
1564
|
var _a;
|
|
@@ -2169,7 +2186,7 @@ var patchCloneNode = (HostElementPrototype) => {
|
|
|
2169
2186
|
"s-nr",
|
|
2170
2187
|
"s-si",
|
|
2171
2188
|
"s-rf",
|
|
2172
|
-
"s-
|
|
2189
|
+
"s-scs"
|
|
2173
2190
|
];
|
|
2174
2191
|
for (; i2 < srcNode.childNodes.length; i2++) {
|
|
2175
2192
|
slotted = srcNode.childNodes[i2]["s-nr"];
|
|
@@ -2746,10 +2763,11 @@ var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) =>
|
|
|
2746
2763
|
}
|
|
2747
2764
|
};
|
|
2748
2765
|
var hostListenerProxy = (hostRef, methodName) => (ev) => {
|
|
2766
|
+
var _a;
|
|
2749
2767
|
try {
|
|
2750
2768
|
if (import_app_data20.BUILD.lazyLoad) {
|
|
2751
2769
|
if (hostRef.$flags$ & 256 /* isListenReady */) {
|
|
2752
|
-
hostRef.$lazyInstance$[methodName](ev);
|
|
2770
|
+
(_a = hostRef.$lazyInstance$) == null ? void 0 : _a[methodName](ev);
|
|
2753
2771
|
} else {
|
|
2754
2772
|
(hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
|
|
2755
2773
|
}
|
|
@@ -2764,7 +2782,8 @@ var getHostListenerTarget = (elm, flags) => {
|
|
|
2764
2782
|
if (import_app_data20.BUILD.hostListenerTargetDocument && flags & 4 /* TargetDocument */) return doc;
|
|
2765
2783
|
if (import_app_data20.BUILD.hostListenerTargetWindow && flags & 8 /* TargetWindow */) return win;
|
|
2766
2784
|
if (import_app_data20.BUILD.hostListenerTargetBody && flags & 16 /* TargetBody */) return doc.body;
|
|
2767
|
-
if (import_app_data20.BUILD.hostListenerTargetParent && flags & 32 /* TargetParent */
|
|
2785
|
+
if (import_app_data20.BUILD.hostListenerTargetParent && flags & 32 /* TargetParent */ && elm.parentElement)
|
|
2786
|
+
return elm.parentElement;
|
|
2768
2787
|
return elm;
|
|
2769
2788
|
};
|
|
2770
2789
|
var hostListenerOpts = (flags) => supportsListenerOptions ? {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rindo/core/internal/testing",
|
|
3
|
-
"version": "4.18.
|
|
3
|
+
"version": "4.18.3-dev.1734304270.ca7046f",
|
|
4
4
|
"description": "Rindo internal testing platform to be imported by the Rindo Compiler. Breaking changes can and will happen at any time.",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"private": true
|
package/mock-doc/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
Rindo Mock Doc (CommonJS) v4.18.
|
|
2
|
+
Rindo Mock Doc (CommonJS) v4.18.3-dev.1734304270.ca7046f | MIT Licensed | https://rindojs.web.app
|
|
3
3
|
*/
|
|
4
4
|
"use strict";
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
@@ -8202,67 +8202,75 @@ var MockUListElement = class extends MockHTMLElement {
|
|
|
8202
8202
|
super(ownerDocument, "ul");
|
|
8203
8203
|
}
|
|
8204
8204
|
};
|
|
8205
|
+
var CanvasRenderingContext = class {
|
|
8206
|
+
constructor(context, contextAttributes) {
|
|
8207
|
+
this.context = context;
|
|
8208
|
+
this.contextAttributes = contextAttributes;
|
|
8209
|
+
}
|
|
8210
|
+
fillRect() {
|
|
8211
|
+
return;
|
|
8212
|
+
}
|
|
8213
|
+
clearRect() {
|
|
8214
|
+
}
|
|
8215
|
+
getImageData(_, __, w, h) {
|
|
8216
|
+
return {
|
|
8217
|
+
data: new Array(w * h * 4)
|
|
8218
|
+
};
|
|
8219
|
+
}
|
|
8220
|
+
toDataURL() {
|
|
8221
|
+
return "data:,";
|
|
8222
|
+
}
|
|
8223
|
+
putImageData() {
|
|
8224
|
+
}
|
|
8225
|
+
createImageData() {
|
|
8226
|
+
return {};
|
|
8227
|
+
}
|
|
8228
|
+
setTransform() {
|
|
8229
|
+
}
|
|
8230
|
+
drawImage() {
|
|
8231
|
+
}
|
|
8232
|
+
save() {
|
|
8233
|
+
}
|
|
8234
|
+
fillText() {
|
|
8235
|
+
}
|
|
8236
|
+
restore() {
|
|
8237
|
+
}
|
|
8238
|
+
beginPath() {
|
|
8239
|
+
}
|
|
8240
|
+
moveTo() {
|
|
8241
|
+
}
|
|
8242
|
+
lineTo() {
|
|
8243
|
+
}
|
|
8244
|
+
closePath() {
|
|
8245
|
+
}
|
|
8246
|
+
stroke() {
|
|
8247
|
+
}
|
|
8248
|
+
translate() {
|
|
8249
|
+
}
|
|
8250
|
+
scale() {
|
|
8251
|
+
}
|
|
8252
|
+
rotate() {
|
|
8253
|
+
}
|
|
8254
|
+
arc() {
|
|
8255
|
+
}
|
|
8256
|
+
fill() {
|
|
8257
|
+
}
|
|
8258
|
+
measureText() {
|
|
8259
|
+
return { width: 0 };
|
|
8260
|
+
}
|
|
8261
|
+
transform() {
|
|
8262
|
+
}
|
|
8263
|
+
rect() {
|
|
8264
|
+
}
|
|
8265
|
+
clip() {
|
|
8266
|
+
}
|
|
8267
|
+
};
|
|
8205
8268
|
var MockCanvasElement = class extends MockHTMLElement {
|
|
8206
8269
|
constructor(ownerDocument) {
|
|
8207
8270
|
super(ownerDocument, "canvas");
|
|
8208
8271
|
}
|
|
8209
|
-
getContext() {
|
|
8210
|
-
return
|
|
8211
|
-
fillRect() {
|
|
8212
|
-
return;
|
|
8213
|
-
},
|
|
8214
|
-
clearRect() {
|
|
8215
|
-
},
|
|
8216
|
-
getImageData: function(_, __, w, h) {
|
|
8217
|
-
return {
|
|
8218
|
-
data: new Array(w * h * 4)
|
|
8219
|
-
};
|
|
8220
|
-
},
|
|
8221
|
-
putImageData() {
|
|
8222
|
-
},
|
|
8223
|
-
createImageData: function() {
|
|
8224
|
-
return [];
|
|
8225
|
-
},
|
|
8226
|
-
setTransform() {
|
|
8227
|
-
},
|
|
8228
|
-
drawImage() {
|
|
8229
|
-
},
|
|
8230
|
-
save() {
|
|
8231
|
-
},
|
|
8232
|
-
fillText() {
|
|
8233
|
-
},
|
|
8234
|
-
restore() {
|
|
8235
|
-
},
|
|
8236
|
-
beginPath() {
|
|
8237
|
-
},
|
|
8238
|
-
moveTo() {
|
|
8239
|
-
},
|
|
8240
|
-
lineTo() {
|
|
8241
|
-
},
|
|
8242
|
-
closePath() {
|
|
8243
|
-
},
|
|
8244
|
-
stroke() {
|
|
8245
|
-
},
|
|
8246
|
-
translate() {
|
|
8247
|
-
},
|
|
8248
|
-
scale() {
|
|
8249
|
-
},
|
|
8250
|
-
rotate() {
|
|
8251
|
-
},
|
|
8252
|
-
arc() {
|
|
8253
|
-
},
|
|
8254
|
-
fill() {
|
|
8255
|
-
},
|
|
8256
|
-
measureText() {
|
|
8257
|
-
return { width: 0 };
|
|
8258
|
-
},
|
|
8259
|
-
transform() {
|
|
8260
|
-
},
|
|
8261
|
-
rect() {
|
|
8262
|
-
},
|
|
8263
|
-
clip() {
|
|
8264
|
-
}
|
|
8265
|
-
};
|
|
8272
|
+
getContext(context, contextAttributes) {
|
|
8273
|
+
return new CanvasRenderingContext(context, contextAttributes);
|
|
8266
8274
|
}
|
|
8267
8275
|
};
|
|
8268
8276
|
function fullUrl(elm, attrName) {
|
|
@@ -8732,14 +8740,16 @@ var WINDOW_PROPS = [
|
|
|
8732
8740
|
];
|
|
8733
8741
|
var GLOBAL_CONSTRUCTORS = [
|
|
8734
8742
|
["CustomEvent", MockCustomEvent],
|
|
8743
|
+
["DocumentFragment", MockDocumentFragment],
|
|
8744
|
+
["DOMParser", MockDOMParser],
|
|
8735
8745
|
["Event", MockEvent],
|
|
8736
|
-
["Headers", MockHeaders],
|
|
8737
8746
|
["FocusEvent", MockFocusEvent],
|
|
8747
|
+
["Headers", MockHeaders],
|
|
8738
8748
|
["KeyboardEvent", MockKeyboardEvent],
|
|
8739
8749
|
["MouseEvent", MockMouseEvent],
|
|
8740
8750
|
["Request", MockRequest],
|
|
8741
8751
|
["Response", MockResponse],
|
|
8742
|
-
["
|
|
8752
|
+
["ShadowRoot", MockDocumentFragment],
|
|
8743
8753
|
["HTMLAnchorElement", MockAnchorElement],
|
|
8744
8754
|
["HTMLBaseElement", MockBaseElement],
|
|
8745
8755
|
["HTMLButtonElement", MockButtonElement],
|
package/mock-doc/index.d.ts
CHANGED
|
@@ -312,38 +312,44 @@ declare class MockTitleElement extends MockHTMLElement {
|
|
|
312
312
|
declare class MockUListElement extends MockHTMLElement {
|
|
313
313
|
constructor(ownerDocument: any);
|
|
314
314
|
}
|
|
315
|
+
type CanvasContext = '2d' | 'webgl' | 'webgl2' | 'bitmaprenderer';
|
|
316
|
+
declare class CanvasRenderingContext {
|
|
317
|
+
context: CanvasContext;
|
|
318
|
+
contextAttributes: WebGLContextAttributes;
|
|
319
|
+
constructor(context: CanvasContext, contextAttributes?: WebGLContextAttributes);
|
|
320
|
+
fillRect(): void;
|
|
321
|
+
clearRect(): void;
|
|
322
|
+
getImageData(_: number, __: number, w: number, h: number): {
|
|
323
|
+
data: any[];
|
|
324
|
+
};
|
|
325
|
+
toDataURL(): string;
|
|
326
|
+
putImageData(): void;
|
|
327
|
+
createImageData(): ImageData;
|
|
328
|
+
setTransform(): void;
|
|
329
|
+
drawImage(): void;
|
|
330
|
+
save(): void;
|
|
331
|
+
fillText(): void;
|
|
332
|
+
restore(): void;
|
|
333
|
+
beginPath(): void;
|
|
334
|
+
moveTo(): void;
|
|
335
|
+
lineTo(): void;
|
|
336
|
+
closePath(): void;
|
|
337
|
+
stroke(): void;
|
|
338
|
+
translate(): void;
|
|
339
|
+
scale(): void;
|
|
340
|
+
rotate(): void;
|
|
341
|
+
arc(): void;
|
|
342
|
+
fill(): void;
|
|
343
|
+
measureText(): {
|
|
344
|
+
width: number;
|
|
345
|
+
};
|
|
346
|
+
transform(): void;
|
|
347
|
+
rect(): void;
|
|
348
|
+
clip(): void;
|
|
349
|
+
}
|
|
315
350
|
declare class MockCanvasElement extends MockHTMLElement {
|
|
316
351
|
constructor(ownerDocument: any);
|
|
317
|
-
getContext():
|
|
318
|
-
fillRect(): void;
|
|
319
|
-
clearRect(): void;
|
|
320
|
-
getImageData: (_: number, __: number, w: number, h: number) => {
|
|
321
|
-
data: any[];
|
|
322
|
-
};
|
|
323
|
-
putImageData(): void;
|
|
324
|
-
createImageData: () => any[];
|
|
325
|
-
setTransform(): void;
|
|
326
|
-
drawImage(): void;
|
|
327
|
-
save(): void;
|
|
328
|
-
fillText(): void;
|
|
329
|
-
restore(): void;
|
|
330
|
-
beginPath(): void;
|
|
331
|
-
moveTo(): void;
|
|
332
|
-
lineTo(): void;
|
|
333
|
-
closePath(): void;
|
|
334
|
-
stroke(): void;
|
|
335
|
-
translate(): void;
|
|
336
|
-
scale(): void;
|
|
337
|
-
rotate(): void;
|
|
338
|
-
arc(): void;
|
|
339
|
-
fill(): void;
|
|
340
|
-
measureText(): {
|
|
341
|
-
width: number;
|
|
342
|
-
};
|
|
343
|
-
transform(): void;
|
|
344
|
-
rect(): void;
|
|
345
|
-
clip(): void;
|
|
346
|
-
};
|
|
352
|
+
getContext(context: CanvasContext, contextAttributes?: WebGLContextAttributes): CanvasRenderingContext;
|
|
347
353
|
}
|
|
348
354
|
declare class MockEvent {
|
|
349
355
|
bubbles: boolean;
|