tungsten 0.5.0 → 0.5.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/dist/.build-complete +1 -1
- package/dist/Components.d.ts +14 -6
- package/dist/Components.d.ts.map +1 -1
- package/dist/Components.js +67 -23
- package/dist/DomPointer.js +1 -1
- package/dist/DomRegion.js +2 -2
- package/dist/Framework.d.ts.map +1 -1
- package/dist/Framework.js +9 -3
- package/dist/FrameworkConfig.d.ts +0 -1
- package/dist/FrameworkConfig.d.ts.map +1 -1
- package/dist/FunctionComponentStandIn.d.ts +4 -0
- package/dist/FunctionComponentStandIn.d.ts.map +1 -1
- package/dist/FunctionComponentStandIn.js +11 -1
- package/dist/Json.type.d.ts.map +1 -1
- package/dist/Servers/DevServer.js +1 -1
- package/dist/Servers/MatchedRouteInfo.d.ts +1 -1
- package/dist/Servers/MatchedRouteInfo.d.ts.map +1 -1
- package/dist/Servers/ProdServer.js +2 -3
- package/dist/Servers/initStores.d.ts.map +1 -1
- package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
- package/dist/Servers/loadEnvsDev.js +8 -3
- package/dist/Store/makeStore.d.ts.map +1 -1
- package/dist/Store/makeStore.js +7 -3
- package/dist/api/ApiMethod.type.d.ts +2 -0
- package/dist/api/ApiMethod.type.d.ts.map +1 -0
- package/dist/api/ApiRoute.d.ts +2 -2
- package/dist/api/ApiRoute.d.ts.map +1 -1
- package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts +2 -2
- package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts.map +1 -1
- package/dist/babelPlugins/BabelExtractComponentStylesheet.js +1 -1
- package/dist/babelPlugins/BabelTransformBindDirect.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformBindDirect.js +2 -4
- package/dist/babelPlugins/BabelTransformBindVar.js +2 -3
- package/dist/babelPlugins/BabelTransformDocInit.js +1 -1
- package/dist/babelPlugins/BabelTransformPackageImports.d.ts +1 -0
- package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformPackageImports.js +51 -69
- package/dist/babelPlugins/BabelTypes.d.ts.map +1 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -1
- package/dist/bin/commands/build.js +0 -1
- package/dist/build/babel.user.common.config.d.ts +2 -1
- package/dist/build/babel.user.common.config.d.ts.map +1 -1
- package/dist/build/babel.user.common.config.js +16 -10
- package/dist/build/compileJavascript.d.ts.map +1 -1
- package/dist/build/compileJavascript.js +3 -4
- package/dist/build/compileStyles.d.ts.map +1 -1
- package/dist/build/compileStyles.js +7 -3
- package/dist/build/createClientFiles.js +2 -3
- package/dist/build/createInstanceConfigFile.js +1 -1
- package/dist/build/devBundle.rollup.config.js +6 -6
- package/dist/build/frameworkDestLocation.d.ts.map +1 -1
- package/dist/build/frameworkDestLocation.js +5 -2
- package/dist/build/makeBabelRawConfig.js +1 -1
- package/dist/build/makeBabelUserProdConfig.js +2 -4
- package/dist/build/packageIdentifier.d.ts +6 -0
- package/dist/build/packageIdentifier.d.ts.map +1 -0
- package/dist/build/packageIdentifier.js +19 -0
- package/dist/build/rollup.user.prod.config.js +12 -12
- package/dist/build/sassImportParser.js +0 -3
- package/dist/clone.js +1 -3
- package/dist/compat/types.d.ts.map +1 -1
- package/dist/componentProxyHandlers.js +1 -1
- package/dist/components/NativeHtml.d.ts +1 -1
- package/dist/components/NativeHtml.d.ts.map +1 -1
- package/dist/components/Protected.d.ts +1 -1
- package/dist/components/Protected.d.ts.map +1 -1
- package/dist/components/Stylesheet.js +0 -1
- package/dist/components/bindable/BindableInputTyped.d.ts.map +1 -1
- package/dist/components/library/RichTextEditor/RichTextEditor.d.ts.map +1 -1
- package/dist/components/library/RichTextEditor/RichTextEditor.js +3 -3
- package/dist/createRef.d.ts +1 -1
- package/dist/createRef.d.ts.map +1 -1
- package/dist/createRef.js +1 -1
- package/dist/env/droppedCoreEnvKeys.d.ts +5 -0
- package/dist/env/droppedCoreEnvKeys.d.ts.map +1 -0
- package/dist/env/droppedCoreEnvKeys.js +9 -0
- package/dist/foreach.d.ts.map +1 -1
- package/dist/frameworkConfigSchema.d.ts +11 -0
- package/dist/frameworkConfigSchema.d.ts.map +1 -1
- package/dist/frameworkConfigSchema.js +15 -4
- package/dist/getUserConfig.d.ts.map +1 -1
- package/dist/getUserConfig.js +7 -2
- package/dist/headChildren.d.ts +2 -0
- package/dist/headChildren.d.ts.map +1 -0
- package/dist/headChildren.js +16 -0
- package/dist/helpers/forwardingFetch.d.ts +3 -0
- package/dist/helpers/forwardingFetch.d.ts.map +1 -0
- package/dist/helpers/forwardingFetch.js +14 -0
- package/dist/helpers/index.d.ts +2 -0
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +3 -1
- package/dist/helpers/perRequest.d.ts +3 -0
- package/dist/helpers/perRequest.d.ts.map +1 -0
- package/dist/helpers/perRequest.js +17 -0
- package/dist/hmr/instanceRegistry.js +2 -2
- package/dist/hooks/useCallback.d.ts.map +1 -1
- package/dist/hydrate/hydrate.d.ts +1 -2
- package/dist/hydrate/hydrate.d.ts.map +1 -1
- package/dist/hydrate/hydrate.js +13 -20
- package/dist/hydrate/reconcileHydratedAttributes.js +1 -1
- package/dist/importDevModuleWithRetry.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/indexInner.d.ts +1 -2
- package/dist/indexInner.d.ts.map +1 -1
- package/dist/logAndReturn.d.ts.map +1 -1
- package/dist/markOptionSelected.js +1 -1
- package/dist/mutatingFunctions.js +0 -3
- package/dist/postcssPlugins/TransformCssNames.js +2 -2
- package/dist/render/addImportMap.d.ts.map +1 -1
- package/dist/render/addImportMap.js +1 -1
- package/dist/render/processHead.d.ts.map +1 -1
- package/dist/render/processHead.js +18 -12
- package/dist/requests/fetch/delete.d.ts +2 -1
- package/dist/requests/fetch/delete.d.ts.map +1 -1
- package/dist/requests/fetch/delete.js +7 -7
- package/dist/requests/fetch/get.d.ts.map +1 -1
- package/dist/requests/fetch/get.js +4 -6
- package/dist/requests/fetch/mergeFetchInit.d.ts +2 -0
- package/dist/requests/fetch/mergeFetchInit.d.ts.map +1 -0
- package/dist/requests/fetch/mergeFetchInit.js +17 -0
- package/dist/requests/fetch/patch.d.ts.map +1 -1
- package/dist/requests/fetch/patch.js +4 -6
- package/dist/requests/fetch/post.d.ts.map +1 -1
- package/dist/requests/fetch/post.js +4 -6
- package/dist/requests/fetch/put.d.ts.map +1 -1
- package/dist/requests/fetch/put.js +4 -6
- package/dist/routing/ParamsFromPath.d.ts.map +1 -1
- package/dist/routing/RouteType.d.ts +1 -8
- package/dist/routing/RouteType.d.ts.map +1 -1
- package/dist/routing/RouteTypes.d.ts +11 -0
- package/dist/routing/RouteTypes.d.ts.map +1 -1
- package/dist/routing/Routes.d.ts +7 -8
- package/dist/routing/Routes.d.ts.map +1 -1
- package/dist/routing/__fluentRouteBuilder.d.ts +80 -0
- package/dist/routing/__fluentRouteBuilder.d.ts.map +1 -0
- package/dist/routing/__fluentRouteBuilder.js +183 -0
- package/dist/routing/__fluentRoutes.d.ts +2 -0
- package/dist/routing/__fluentRoutes.d.ts.map +1 -0
- package/dist/routing/__fluentRoutes.js +59 -0
- package/dist/staticGen/staticGen.d.ts.map +1 -1
- package/dist/testing/host.d.ts.map +1 -1
- package/dist/testing/host.js +1 -2
- package/dist/testing/hydrateTestApp.js +5 -9
- package/dist/update/guardedUpdate.d.ts +9 -0
- package/dist/update/guardedUpdate.d.ts.map +1 -0
- package/dist/update/guardedUpdate.js +20 -0
- package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
- package/dist/update/integrateUpdateVdom.js +5 -3
- package/dist/zones/react.d.ts.map +1 -1
- package/dist/zones/react.js +2 -2
- package/package.json +7 -10
- package/types/env.d.ts +11 -11
- package/types/index.d.ts +7 -3
- package/types/jsx/html.d.ts +5 -5
- package/types/jsx/html.events.d.ts +202 -200
- package/types/jsx/html.global.d.ts +150 -150
- package/types/jsx/html.values.d.ts +29 -29
- package/types/jsx/jsx.d.ts +16 -5
- package/vendor/babel-core.js +13 -8
- package/vendor/babel-parser.js +5 -1
- package/vendor/babel-plugin-syntax-import-assertions.js +5 -1
- package/vendor/babel-preset-react.js +13 -8
- package/vendor/babel-preset-typescript.js +13 -8
- package/vendor/babel-types.js +5 -1
- package/vendor/chalk-extensions.js +6 -161
- package/vendor/chalk.js +4 -0
- package/vendor/chokidar.js +17 -13
- package/vendor/{chunk-B_NeooyV.js → chunk-BSJqV47f.js} +4 -0
- package/vendor/{chunk-1UuLTU0U.js → chunk-BYvDIO7e.js} +4 -0
- package/vendor/chunk-BfcfwwoF.js +15 -0
- package/vendor/{chunk-CPArXGxa.js → chunk-BiUcnLhT.js} +4 -0
- package/vendor/chunk-Bu8ZRE-c.js +179 -0
- package/vendor/chunk-CmnhIuzX.js +167 -0
- package/vendor/chunk-Cqrj-Zqr.js +8579 -0
- package/vendor/{chunk-1TN2rK3j.js → chunk-D2EnpcLg.js} +7 -3
- package/vendor/{chunk-C9FSKeSx.js → chunk-DHmjZ22y.js} +4 -0
- package/vendor/{chunk-C3YkUGz5.js → chunk-Hy-cCmu-.js} +4 -0
- package/vendor/{chunk-C12hSZn7.js → chunk-Lqa6rV_r.js} +4 -0
- package/vendor/{chunk-C3fcZDjl.js → chunk-OUnVY4Wm.js} +24 -191
- package/vendor/cjs-module-lexer.js +4 -0
- package/vendor/dotenv.js +10 -6
- package/vendor/express.js +30 -31
- package/vendor/import-meta-resolve.js +4 -0
- package/vendor/manifest.json +3 -2
- package/vendor/postcss.js +9 -8544
- package/vendor/precinct.js +326959 -0
- package/vendor/serialize-javascript.js +4 -0
- package/vendor/sxy-lib-arrays.js +4 -0
- package/vendor/sxy-lib-object-copy.js +5 -1
- package/vendor/sxy-lib-objects.js +4 -0
- package/vendor/sxy-lib-promises.js +4 -0
- package/vendor/sxy-package-investigator.js +7 -3
- package/vendor/valibot.js +4 -0
- package/dist/.tsbuildinfo +0 -1
- package/dist/api/Method.d.ts +0 -2
- package/dist/api/Method.d.ts.map +0 -1
- /package/dist/api/{Method.js → ApiMethod.type.js} +0 -0
package/dist/hydrate/hydrate.js
CHANGED
|
@@ -4,6 +4,7 @@ import { $number, $string, makeRenderedContentNodeNonRendered, makeRenderedConte
|
|
|
4
4
|
import { ContentNodeElementIsHtml, ContentNodeIsHtml, ContentNodeIsComponent, ContentNodeComponentIsClassComponent, ContentNodeIsFragment, ContentNodeIsElement } from '../ContentNode.js';
|
|
5
5
|
import { IsHTMLElement } from '../DomNodes.js';
|
|
6
6
|
import { DomPointer } from '../DomPointer.js';
|
|
7
|
+
import { appHeadChildrenStart } from '../headChildren.js';
|
|
7
8
|
import { DomRegion } from '../DomRegion.js';
|
|
8
9
|
//import { FunctionComponent } from '../FunctionComponent.js'
|
|
9
10
|
import { FunctionElement } from '../FunctionComponentStandIn.js';
|
|
@@ -127,9 +128,7 @@ export async function hydrateRootComponent(instance, RootComponent, domPointer,
|
|
|
127
128
|
// Real app hydration (hydrate(), above) always hydrates a root with no props of its own -
|
|
128
129
|
// route data comes through the store instead - so the default reproduces that. A test
|
|
129
130
|
// harness hydrating an arbitrary component (see testing/hydrateTestApp.ts) passes its own.
|
|
130
|
-
props = {},
|
|
131
|
-
// eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- default only reached when Props is empty, same as the hardcoded {} this replaces
|
|
132
|
-
routeParams, routeData) {
|
|
131
|
+
props = {}, routeParams, routeData) {
|
|
133
132
|
debug('hydrateRootComponent');
|
|
134
133
|
// matches createTungstenRootComponent's identical cast, the create-path equivalent of this function
|
|
135
134
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
@@ -453,31 +452,25 @@ parentElement, domPointer, instance, meta) {
|
|
|
453
452
|
}
|
|
454
453
|
}
|
|
455
454
|
debug(node, node[$type], typeof node[$type], node[$type] === 'head');
|
|
455
|
+
// the head hydrates like any element below, its children matched from appHeadChildrenStart
|
|
456
|
+
// (past what the server added). Hydration used to skip the children, and the record with no
|
|
457
|
+
// children then made the first root update re-create them all, duplicating the title and metas
|
|
456
458
|
if (node[$type] === 'head') {
|
|
457
|
-
const
|
|
458
|
-
if (
|
|
459
|
-
throwError('hydrateNodeSingle', `expected to find a head node, instead found nodeType ${
|
|
459
|
+
const headDomNode = domPointer.get();
|
|
460
|
+
if (headDomNode.nodeType !== 1 || headDomNode.nodeName.toLocaleLowerCase() !== 'head') {
|
|
461
|
+
throwError('hydrateNodeSingle', `expected to find a head node, instead found nodeType ${headDomNode.nodeType}, nodeName ${headDomNode.nodeName}`);
|
|
460
462
|
}
|
|
461
|
-
// collect
|
|
463
|
+
// collect the head children a head re-created on the client keeps (createHtmlElement)
|
|
462
464
|
const persistentHeadChildren = [];
|
|
463
|
-
const
|
|
464
|
-
for (const child of domChildren) {
|
|
465
|
+
for (const child of headDomNode.childNodes) {
|
|
465
466
|
if (child.nodeType === 1) {
|
|
466
|
-
const el = child;
|
|
467
|
+
const el = child; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- nodeType 1 is an element
|
|
467
468
|
if (el.hasAttribute('data--t-persist')) {
|
|
468
|
-
persistentHeadChildren.push(el.cloneNode(true));
|
|
469
|
+
persistentHeadChildren.push(el.cloneNode(true)); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- a clone of an element is an element
|
|
469
470
|
}
|
|
470
471
|
}
|
|
471
472
|
}
|
|
472
|
-
//const domChildrenPointer = new DomPointer(node as HTMLHeadElement)
|
|
473
473
|
instance.persistentHeadChildren = persistentHeadChildren;
|
|
474
|
-
debug('head node - skipping, because we add a lot to this during initial render, breaking matching');
|
|
475
|
-
domPointer.increment();
|
|
476
|
-
//return { [$type]: $head, domNode: node as HTMLElement } // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
|
|
477
|
-
return {
|
|
478
|
-
[$type]: 'head',
|
|
479
|
-
domNode: node
|
|
480
|
-
}; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
|
|
481
474
|
}
|
|
482
475
|
if (ContentNodeIsHtml(node)) {
|
|
483
476
|
// HTML el
|
|
@@ -543,7 +536,7 @@ parentElement, domPointer, instance, meta) {
|
|
|
543
536
|
});
|
|
544
537
|
} else if (node[$props].__opaque !== true && validChildren(children)) {
|
|
545
538
|
debug('node.props.children', children);
|
|
546
|
-
const childDomPointer = new DomPointer(domNode);
|
|
539
|
+
const childDomPointer = new DomPointer(domNode, node[$type] === 'head' ? appHeadChildrenStart(domNode) : 0);
|
|
547
540
|
renderedChildren = await hydrateNode(children, parentElement, childDomPointer, instance, meta);
|
|
548
541
|
}
|
|
549
542
|
meta.selectValue = outerSelectValue;
|
|
@@ -49,7 +49,7 @@ export function reconcileHydratedAttributes(node, domNode, onMismatch) {
|
|
|
49
49
|
const {
|
|
50
50
|
children: _children,
|
|
51
51
|
...restProps
|
|
52
|
-
} = node[$props];
|
|
52
|
+
} = node[$props];
|
|
53
53
|
const expected = processProps({
|
|
54
54
|
...restProps
|
|
55
55
|
});
|
|
@@ -37,7 +37,7 @@ export async function importDevModuleWithRetry(url, attempts = 30, delayMs = 250
|
|
|
37
37
|
for (let attempt = 0;; attempt++) {
|
|
38
38
|
try {
|
|
39
39
|
const attemptUrl = attempt === 0 ? url : `${url}${url.includes('?') ? '&' : '?'}retryAttempt=${attempt}`;
|
|
40
|
-
return await import(attemptUrl);
|
|
40
|
+
return await import(attemptUrl);
|
|
41
41
|
} catch (e) {
|
|
42
42
|
if (attempt >= attempts - 1 || !isTransientDevModuleError(e)) throw e;
|
|
43
43
|
await delay(delayMs);
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAKA,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
// The globals (Css, DocInit, the env interfaces) travel with any import of the package: preserve
|
|
2
|
+
// keeps the directive in dist/index.d.ts, where the path still lands on types/ beside dist/.
|
|
3
|
+
// eslint-disable-next-line @typescript-eslint/triple-slash-reference
|
|
4
|
+
/// <reference path="../types/index.d.ts" preserve="true" />
|
|
1
5
|
export * from './indexInner.js';
|
|
2
6
|
export * as default from './indexInner.js'; // I can't remember why I did this
|
package/dist/indexInner.d.ts
CHANGED
|
@@ -77,8 +77,7 @@ export type { PopMessage } from './PopMessage.type.js';
|
|
|
77
77
|
export type { ReqRes, ReqResOrNull } from './ReqRes.js';
|
|
78
78
|
export type { Params } from './routing/Params.js';
|
|
79
79
|
export type { ParamsFromPath } from './routing/ParamsFromPath.js';
|
|
80
|
-
export type
|
|
81
|
-
export { type RouteKey, type Path, type Path as RoutePath, StringIsPath, RouteKeyIsPath } from './routing/RouteTypes.js';
|
|
80
|
+
export { type Endpoint, type Route, type Route as RouteType, type RouteKey, type Path, type Path as RoutePath, StringIsPath, RouteKeyIsPath, } from './routing/RouteTypes.js';
|
|
82
81
|
export type { Routes, CustomRoutes } from './routing/Routes.js';
|
|
83
82
|
export type { ErrorRouteType } from './routing/ErrorRouteType.js';
|
|
84
83
|
export { type TungstenErrorInfo, makeTungstenErrorInfo } from './routing/TungstenErrorInfo.js';
|
package/dist/indexInner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexInner.d.ts","sourceRoot":"","sources":["../src/indexInner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"indexInner.d.ts","sourceRoot":"","sources":["../src/indexInner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logAndReturn.d.ts","sourceRoot":"","sources":["../src/logAndReturn.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"logAndReturn.d.ts","sourceRoot":"","sources":["../src/logAndReturn.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;AACxC,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA"}
|
|
@@ -10,7 +10,7 @@ function collectOptionText(node) {
|
|
|
10
10
|
}
|
|
11
11
|
if (typeof node === 'string' || typeof node === 'number') return String(node);
|
|
12
12
|
if (typeof node !== 'object') return '';
|
|
13
|
-
const element = node;
|
|
13
|
+
const element = node;
|
|
14
14
|
if (element[$type] === 'script' || typeof element[$props]?.__html === 'string') return '';
|
|
15
15
|
return collectOptionText(element[$props]?.children);
|
|
16
16
|
}
|
|
@@ -8,14 +8,11 @@ export const arrayMutatingFunctionInsertsFrom = {
|
|
|
8
8
|
export const mapMutatingFunctions = ['set', 'delete', 'clear'];
|
|
9
9
|
export const setMutatingFunctions = ['add', 'delete', 'clear'];
|
|
10
10
|
export function KeyIsArrayMutatingFunction(key) {
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- weird TS issue, won't let us search in a const array
|
|
12
11
|
return arrayMutatingFunctions.includes(key);
|
|
13
12
|
}
|
|
14
13
|
export function KeyIsMapMutatingFunction(key) {
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- weird TS issue, won't let us search in a const array
|
|
16
14
|
return mapMutatingFunctions.includes(key);
|
|
17
15
|
}
|
|
18
16
|
export function KeyIsSetMutatingFunction(key) {
|
|
19
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- weird TS issue, won't let us search in a const array
|
|
20
17
|
return setMutatingFunctions.includes(key);
|
|
21
18
|
}
|
|
@@ -178,11 +178,11 @@ export const TransformCssNames = opts => {
|
|
|
178
178
|
const pseudoClassRegex = /:([a-zA-Z0-9-_]+)(?:\((.*)\))?/;
|
|
179
179
|
const results = pseudoClassRegex.exec(content);
|
|
180
180
|
if (results === null) throwError('TransformCssNames -> walkRules', 'pseudo-class selector did not match pseudo-class regex');
|
|
181
|
-
const label = results[1];
|
|
181
|
+
const label = results[1];
|
|
182
182
|
// if it is :i(xxx) or :ignore(xxx), pass through the internal part
|
|
183
183
|
// otherwise pass all through unaffected
|
|
184
184
|
if (label === 'i' || label === 'ignore') {
|
|
185
|
-
const inner = results[2];
|
|
185
|
+
const inner = results[2];
|
|
186
186
|
if (inner !== undefined && inner !== '') {
|
|
187
187
|
newSelectors.push(inner);
|
|
188
188
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addImportMap.d.ts","sourceRoot":"","sources":["../../src/render/addImportMap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAQ9D,wBAAgB,YAAY,CAAC,IAAI,EAAE,mCAAmC,EAAE,aAAa,EAAE,aAAa,EAChG,mBAAmB,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"addImportMap.d.ts","sourceRoot":"","sources":["../../src/render/addImportMap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAQ9D,wBAAgB,YAAY,CAAC,IAAI,EAAE,mCAAmC,EAAE,aAAa,EAAE,aAAa,EAChG,mBAAmB,EAAE,aAAa,QAiCrC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable indent */
|
|
2
1
|
//import { packageName, frameworkDistFolder } from '../settings.js'
|
|
3
2
|
import { isDev } from '../isDev.js';
|
|
4
3
|
import { $props, $type } from '../contentNodeSymbols.js';
|
|
@@ -11,6 +10,7 @@ export function addImportMap(head, importAliases, clientImportAliases) {
|
|
|
11
10
|
head[$props].children.unshift({
|
|
12
11
|
[$type]: 'script',
|
|
13
12
|
[$props]: {
|
|
13
|
+
'data--t-internal': true,
|
|
14
14
|
type: 'importmap',
|
|
15
15
|
//noEscape: true,
|
|
16
16
|
children: [`{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processHead.d.ts","sourceRoot":"","sources":["../../src/render/processHead.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAK7C,OAAO,EAAE,oBAAoB,EAAqB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"processHead.d.ts","sourceRoot":"","sources":["../../src/render/processHead.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAK7C,OAAO,EAAE,oBAAoB,EAAqB,MAAM,qBAAqB,CAAA;AAY7E,wBAAgB,WAAW,CACvB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,EAAE,QAAQ,QA0JrB"}
|
|
@@ -6,7 +6,11 @@ import { windowGlobalEnvStatement } from 'tungsten/env/windowGlobalEnvStatement.
|
|
|
6
6
|
import { devErrorPageClearRetryScript } from '../Servers/devErrorPageAutoRetry.js';
|
|
7
7
|
// process the tree returned by the root component
|
|
8
8
|
// doing things like ensuring there is are html and head elements,
|
|
9
|
-
// and adding necessary style and script tags
|
|
9
|
+
// and adding necessary style and script tags.
|
|
10
|
+
// Every node added here is unshifted in front of the app's own head children and carries
|
|
11
|
+
// data--t-internal (a bare attribute: a true value renders as one), which is how hydration and
|
|
12
|
+
// updates find where the app's children start (appHeadChildrenStart). data--t-persist marks the
|
|
13
|
+
// ones a head re-created on the client keeps.
|
|
10
14
|
export function processHead(headNode, headData) {
|
|
11
15
|
const {
|
|
12
16
|
instance,
|
|
@@ -22,7 +26,7 @@ export function processHead(headNode, headData) {
|
|
|
22
26
|
headNode[$props].children.unshift({
|
|
23
27
|
[$type]: 'link',
|
|
24
28
|
[$props]: {
|
|
25
|
-
'data--t-internal':
|
|
29
|
+
'data--t-internal': true,
|
|
26
30
|
'data--t-persist': true,
|
|
27
31
|
rel: 'stylesheet',
|
|
28
32
|
href: `${siteBasePath}/${componentCssFolder}/${componentCssFile}`
|
|
@@ -33,7 +37,7 @@ export function processHead(headNode, headData) {
|
|
|
33
37
|
headNode[$props].children.unshift({
|
|
34
38
|
[$type]: 'link',
|
|
35
39
|
[$props]: {
|
|
36
|
-
'data--t-internal':
|
|
40
|
+
'data--t-internal': true,
|
|
37
41
|
'data--t-persist': true,
|
|
38
42
|
rel: 'stylesheet',
|
|
39
43
|
href: `${siteBasePath}${frameworkCss}`
|
|
@@ -44,7 +48,7 @@ export function processHead(headNode, headData) {
|
|
|
44
48
|
const scriptNode = {
|
|
45
49
|
[$type]: 'script',
|
|
46
50
|
[$props]: {
|
|
47
|
-
'data--t-internal':
|
|
51
|
+
'data--t-internal': true,
|
|
48
52
|
src: dev ? `/${clientFolder}/client.js` : `${siteBasePath}/bundle/clientWithEnv.js`
|
|
49
53
|
}
|
|
50
54
|
};
|
|
@@ -55,7 +59,7 @@ export function processHead(headNode, headData) {
|
|
|
55
59
|
headNode[$props].children.unshift({
|
|
56
60
|
[$type]: 'script',
|
|
57
61
|
[$props]: {
|
|
58
|
-
'data--t-internal':
|
|
62
|
+
'data--t-internal': true,
|
|
59
63
|
children: headData.docInitScript
|
|
60
64
|
}
|
|
61
65
|
});
|
|
@@ -66,7 +70,7 @@ export function processHead(headNode, headData) {
|
|
|
66
70
|
const envScriptNode = {
|
|
67
71
|
[$type]: 'script',
|
|
68
72
|
[$props]: {
|
|
69
|
-
'data--t-internal':
|
|
73
|
+
'data--t-internal': true,
|
|
70
74
|
children: windowGlobalEnvStatement('tungstenPublicEnv', headData.tungstenPublicEnv)
|
|
71
75
|
}
|
|
72
76
|
};
|
|
@@ -78,7 +82,7 @@ export function processHead(headNode, headData) {
|
|
|
78
82
|
const cjsHelpersScriptNode = {
|
|
79
83
|
[$type]: 'script',
|
|
80
84
|
[$props]: {
|
|
81
|
-
'data--t-internal':
|
|
85
|
+
'data--t-internal': true,
|
|
82
86
|
src: `${siteBasePath}/${clientFolder}/cjsHelpers.js`
|
|
83
87
|
}
|
|
84
88
|
};
|
|
@@ -91,7 +95,7 @@ export function processHead(headNode, headData) {
|
|
|
91
95
|
const clearErrorRetryScriptNode = {
|
|
92
96
|
[$type]: 'script',
|
|
93
97
|
[$props]: {
|
|
94
|
-
'data--t-internal':
|
|
98
|
+
'data--t-internal': true,
|
|
95
99
|
children: devErrorPageClearRetryScript
|
|
96
100
|
}
|
|
97
101
|
};
|
|
@@ -103,7 +107,7 @@ export function processHead(headNode, headData) {
|
|
|
103
107
|
const liveReloadScriptNode = {
|
|
104
108
|
[$type]: 'script',
|
|
105
109
|
[$props]: {
|
|
106
|
-
'data--t-internal':
|
|
110
|
+
'data--t-internal': true,
|
|
107
111
|
type: 'module',
|
|
108
112
|
src: `${siteBasePath}/${clientFolder}/${hmr === true ? 'hmr.js' : 'liveReload.js'}`
|
|
109
113
|
}
|
|
@@ -127,6 +131,7 @@ export function processHead(headNode, headData) {
|
|
|
127
131
|
const varsScriptNode = {
|
|
128
132
|
[$type]: 'script',
|
|
129
133
|
[$props]: {
|
|
134
|
+
'data--t-internal': true,
|
|
130
135
|
children: varsScriptContent
|
|
131
136
|
}
|
|
132
137
|
};
|
|
@@ -134,14 +139,15 @@ export function processHead(headNode, headData) {
|
|
|
134
139
|
const contentTypeMetaNode = {
|
|
135
140
|
[$type]: 'meta',
|
|
136
141
|
[$props]: {
|
|
137
|
-
'data--t-internal':
|
|
142
|
+
'data--t-internal': true,
|
|
138
143
|
'data--t-persist': true,
|
|
139
144
|
'http-equiv': 'Content-Type',
|
|
140
145
|
content: 'text/html; charset=utf-8'
|
|
141
146
|
}
|
|
142
147
|
};
|
|
143
148
|
headNode[$props].children.unshift(contentTypeMetaNode);
|
|
144
|
-
//
|
|
145
|
-
//
|
|
149
|
+
// Idea, not built (2023): a "before" prop on an app head child would hoist it above the
|
|
150
|
+
// framework's nodes, so its script runs first. If built, appHeadChildrenStart's leading-run
|
|
151
|
+
// skip no longer holds: the app's children would then sit on both sides of the marked ones.
|
|
146
152
|
if (dev) addImportMap(headNode, importAliases, clientImportAliases);
|
|
147
153
|
}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import type { FetchExtras } from './FetchExtras.js';
|
|
2
|
+
export declare function httpDelete(url: string, data?: object, extras?: FetchExtras): Promise<import("sxy-types").JsonValue>;
|
|
2
3
|
//# sourceMappingURL=delete.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/delete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/delete.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAMnD,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,0CAmBhF"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { TungstenError } from '../../TungstenError.js';
|
|
2
2
|
import { _fetchPromise } from './_fetchPromise.js';
|
|
3
|
+
import { mergeFetchInit } from './mergeFetchInit.js';
|
|
3
4
|
const method = 'DELETE';
|
|
4
5
|
export async function httpDelete(url, data, extras) {
|
|
5
6
|
const _fetch = await _fetchPromise;
|
|
6
|
-
const response = await _fetch(url, {
|
|
7
|
+
const response = await _fetch(url, mergeFetchInit({
|
|
7
8
|
method,
|
|
8
9
|
headers: {
|
|
9
10
|
'Accept': 'application/json',
|
|
10
11
|
'Content-Type': 'application/json'
|
|
11
12
|
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
if (response.status !== 200) throw new TungstenError(`${method} request to ${url} returned an invalid status: ${response.status}`);
|
|
13
|
+
body: JSON.stringify(data)
|
|
14
|
+
}, extras));
|
|
15
|
+
if (response.status !== 200) {
|
|
16
|
+
throw new TungstenError(`${method} request to ${url} returned an invalid status: ${response.status}`);
|
|
17
|
+
}
|
|
18
18
|
const jsonData = await response.json();
|
|
19
19
|
return jsonData;
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/get.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAOnD,wBAAsB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,0CAuBlF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TungstenError } from '../../TungstenError.js';
|
|
2
2
|
import { _fetchPromise } from './_fetchPromise.js';
|
|
3
3
|
import { paramsObjectToParamsString } from './paramsObjectToParamsString.js';
|
|
4
|
+
import { mergeFetchInit } from './mergeFetchInit.js';
|
|
4
5
|
const method = 'GET';
|
|
5
6
|
export async function get(url, data, extras) {
|
|
6
7
|
const _fetch = await _fetchPromise;
|
|
@@ -11,15 +12,12 @@ export async function get(url, data, extras) {
|
|
|
11
12
|
url += '?' + paramsObjectToParamsString(data);
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
|
-
const response = await _fetch(url, {
|
|
15
|
+
const response = await _fetch(url, mergeFetchInit({
|
|
15
16
|
method,
|
|
16
17
|
headers: {
|
|
17
18
|
'Accept': 'application/json'
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// credentials?
|
|
21
|
-
...extras
|
|
22
|
-
});
|
|
19
|
+
}
|
|
20
|
+
}, extras));
|
|
23
21
|
if (response.status !== 200) throw new TungstenError(`${method} request to ${url} returned an invalid status: ${response.status}`);
|
|
24
22
|
const jsonData = await response.json();
|
|
25
23
|
return jsonData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeFetchInit.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/mergeFetchInit.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CASnF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// extras over base, with the headers merged (extras' win by name) rather than replaced - a plain
|
|
2
|
+
// spread let a caller forwarding a cookie silently drop the JSON content-type
|
|
3
|
+
export function mergeFetchInit(base, extras) {
|
|
4
|
+
if (extras === undefined) return base;
|
|
5
|
+
const merged = {
|
|
6
|
+
...base,
|
|
7
|
+
...extras
|
|
8
|
+
};
|
|
9
|
+
if (base.headers !== undefined && extras.headers !== undefined) {
|
|
10
|
+
const headers = new Headers(base.headers);
|
|
11
|
+
new Headers(extras.headers).forEach((value, key) => {
|
|
12
|
+
headers.set(key, value);
|
|
13
|
+
});
|
|
14
|
+
merged.headers = headers;
|
|
15
|
+
}
|
|
16
|
+
return merged;
|
|
17
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/patch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/patch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAMnD,wBAAsB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,0CAiB3E"}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import { TungstenError } from '../../TungstenError.js';
|
|
2
2
|
import { _fetchPromise } from './_fetchPromise.js';
|
|
3
|
+
import { mergeFetchInit } from './mergeFetchInit.js';
|
|
3
4
|
const method = 'PATCH';
|
|
4
5
|
export async function patch(url, data, extras) {
|
|
5
6
|
const _fetch = await _fetchPromise;
|
|
6
|
-
const response = await _fetch(url, {
|
|
7
|
+
const response = await _fetch(url, mergeFetchInit({
|
|
7
8
|
method,
|
|
8
9
|
headers: {
|
|
9
10
|
'Content-Type': 'application/json',
|
|
10
11
|
'Accept': 'application/json'
|
|
11
12
|
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
body: JSON.stringify(data),
|
|
15
|
-
...extras
|
|
16
|
-
});
|
|
13
|
+
body: JSON.stringify(data)
|
|
14
|
+
}, extras));
|
|
17
15
|
if (response.status !== 200) throw new TungstenError(`${method} request to ${url} returned an invalid status: ${response.status}`);
|
|
18
16
|
const jsonData = await response.json();
|
|
19
17
|
return jsonData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/post.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/post.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAMnD,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,0CAiB1E"}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import { TungstenError } from '../../TungstenError.js';
|
|
2
2
|
import { _fetchPromise } from './_fetchPromise.js';
|
|
3
|
+
import { mergeFetchInit } from './mergeFetchInit.js';
|
|
3
4
|
const method = 'POST';
|
|
4
5
|
export async function post(url, data, extras) {
|
|
5
6
|
const _fetch = await _fetchPromise;
|
|
6
|
-
const response = await _fetch(url, {
|
|
7
|
+
const response = await _fetch(url, mergeFetchInit({
|
|
7
8
|
method,
|
|
8
9
|
headers: {
|
|
9
10
|
'Content-Type': 'application/json',
|
|
10
11
|
'Accept': 'application/json'
|
|
11
12
|
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
body: JSON.stringify(data),
|
|
15
|
-
...extras
|
|
16
|
-
});
|
|
13
|
+
body: JSON.stringify(data)
|
|
14
|
+
}, extras));
|
|
17
15
|
if (response.status !== 200) throw new TungstenError(`${method} request to ${url} returned an invalid status: ${response.status}`);
|
|
18
16
|
const jsonData = await response.json();
|
|
19
17
|
return jsonData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/put.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/put.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAKnD,wBAAsB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,0CAiBzE"}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import { TungstenError } from '../../TungstenError.js';
|
|
2
2
|
import { _fetchPromise } from './_fetchPromise.js';
|
|
3
|
+
import { mergeFetchInit } from './mergeFetchInit.js';
|
|
3
4
|
const method = 'PUT';
|
|
4
5
|
export async function put(url, data, extras) {
|
|
5
6
|
const _fetch = await _fetchPromise;
|
|
6
|
-
const response = await _fetch(url, {
|
|
7
|
+
const response = await _fetch(url, mergeFetchInit({
|
|
7
8
|
method,
|
|
8
9
|
headers: {
|
|
9
10
|
'Content-Type': 'application/json',
|
|
10
11
|
'Accept': 'application/json'
|
|
11
12
|
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
body: JSON.stringify(data),
|
|
15
|
-
...extras
|
|
16
|
-
});
|
|
13
|
+
body: JSON.stringify(data)
|
|
14
|
+
}, extras));
|
|
17
15
|
if (response.status !== 200) throw new TungstenError(`${method} request to ${url} returned an invalid status: ${response.status}`);
|
|
18
16
|
const jsonData = await response.json();
|
|
19
17
|
return jsonData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParamsFromPath.d.ts","sourceRoot":"","sources":["../../src/routing/ParamsFromPath.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,KAAK,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GACrF,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"ParamsFromPath.d.ts","sourceRoot":"","sources":["../../src/routing/ParamsFromPath.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,KAAK,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GACrF,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AACnF,KAAK,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;AACvC,KAAK,KAAK,GAAG,UAAU,GAAG,UAAU,CAAA;AAEpC,KAAK,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,MAAM,IAAI,CAAC,GACtE,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,GAAG;KAAG,CAAC,IAAI,GAAG,GAAG,MAAM;CAAE,CAAC,CAAA;AAE9C,MAAM,MAAM,cAAc,CACtB,CAAC,SAAS,MAAM,EAChB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,EAC5C,IAAI,SAAS,MAAM,GAAG,EAAE,EACxB,OAAO,SAAS,OAAO,GAAG,KAAK,IAC/B,CAAC,SAAS,GAAG,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,GACrC,KAAK,SAAS,GAAG,GACb,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GACtD,OAAO,SAAS,IAAI,GAChB,KAAK,SAAS,KAAK,GACf,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC,GACvD,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,GAC3D,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,GACrD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA"}
|
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import type { ContentNode } from '../ContentNode.js';
|
|
3
|
-
import type { RouteContentFunction } from './RouteContentFunction.js';
|
|
4
|
-
export type RouteType<Params extends object, DataType> = {
|
|
5
|
-
data?: RouteDataFunction<Params, DataType>;
|
|
6
|
-
content: ContentNode | RouteContentFunction<Params, DataType>;
|
|
7
|
-
};
|
|
8
|
-
export type Route<Params extends object, DataType> = RouteType<Params, DataType>;
|
|
1
|
+
export {};
|
|
9
2
|
//# sourceMappingURL=RouteType.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteType.d.ts","sourceRoot":"","sources":["../../src/routing/RouteType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RouteType.d.ts","sourceRoot":"","sources":["../../src/routing/RouteType.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import type { Routes } from './Routes.js';
|
|
2
|
+
import type { RouteDataFunction } from './RouteDataFunction.type.js';
|
|
3
|
+
import type { ContentNode } from '../ContentNode.js';
|
|
4
|
+
import type { RouteContentFunction } from './RouteContentFunction.js';
|
|
5
|
+
export type Endpoint<Params extends object, DataType> = {
|
|
6
|
+
data?: RouteDataFunction<Params, DataType>;
|
|
7
|
+
content: ContentNode | RouteContentFunction<Params, DataType>;
|
|
8
|
+
};
|
|
9
|
+
export type Method = 'GET' | 'QUERY' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
10
|
+
export type Route = Endpoint<object, unknown> & {
|
|
11
|
+
[K in Method]?: Endpoint<object, unknown>;
|
|
12
|
+
};
|
|
2
13
|
export type Path = `/${string}`;
|
|
3
14
|
export type SpecialRoute = 'default' | '404' | 'error';
|
|
4
15
|
export type RouteKey = Path | SpecialRoute;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteTypes.d.ts","sourceRoot":"","sources":["../../src/routing/RouteTypes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RouteTypes.d.ts","sourceRoot":"","sources":["../../src/routing/RouteTypes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAErE,MAAM,MAAM,QAAQ,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,IAAI;IACpD,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC1C,OAAO,EAAE,WAAW,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAChE,CAAA;AAGD,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE1E,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;KAC3C,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC5C,CAAA;AAED,MAAM,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE,CAAA;AAC/B,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAA;AACtD,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,YAAY,CAAA;AAE1C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,QAAQ,CAExF;AACD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,IAAI,CAE3D;AACD,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,IAAI,IAAI,CAE3D"}
|
package/dist/routing/Routes.d.ts
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
import type { Path } from './RouteTypes.js';
|
|
2
|
-
import type { RouteType } from './RouteType.js';
|
|
1
|
+
import type { Path, Endpoint } from './RouteTypes.js';
|
|
3
2
|
import type { ErrorRouteType } from './ErrorRouteType.js';
|
|
4
3
|
export type MinimumRoutes = {
|
|
5
|
-
default:
|
|
4
|
+
default: Endpoint<any, any>;
|
|
6
5
|
} | {
|
|
7
|
-
'404':
|
|
6
|
+
'404': Endpoint<any, any>;
|
|
8
7
|
};
|
|
9
8
|
export type Routes = {
|
|
10
|
-
[key in Path]:
|
|
9
|
+
[key in Path]: Endpoint<any, any>;
|
|
11
10
|
} & {
|
|
12
11
|
'error'?: ErrorRouteType;
|
|
13
12
|
} & ({
|
|
14
|
-
'default':
|
|
13
|
+
'default': Endpoint<any, any>;
|
|
15
14
|
} | {
|
|
16
|
-
'404':
|
|
15
|
+
'404': Endpoint<any, any>;
|
|
17
16
|
});
|
|
18
|
-
export type CustomRoutes<Route extends
|
|
17
|
+
export type CustomRoutes<Route extends Endpoint<any, any>> = {
|
|
19
18
|
[key in Path]: Route;
|
|
20
19
|
} & {
|
|
21
20
|
error: ErrorRouteType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Routes.d.ts","sourceRoot":"","sources":["../../src/routing/Routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"Routes.d.ts","sourceRoot":"","sources":["../../src/routing/Routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,MAAM,aAAa,GACnB;IAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,GAC/B;IAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,CAAA;AAEnC,MAAM,MAAM,MAAM,GAAG;KAAG,GAAG,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CAAE,GACxD;IAAE,OAAO,CAAC,EAAE,cAAc,CAAA;CAAE,GAC5B,CACE;IAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,GAC/B;IAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,CAClC,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI;KAAG,GAAG,IAAI,IAAI,GAAG,KAAK;CAAE,GACnF;IAAE,KAAK,EAAE,cAAc,CAAA;CAAE,GACzB,CACE;IAAE,SAAS,EAAE,KAAK,CAAA;CAAE,GAClB;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CACrB,CAAA"}
|