update
This commit is contained in:
@@ -0,0 +1,227 @@
|
||||
/**
|
||||
* @fileoverview Rule to disallow specified names in exports
|
||||
* @author Milos Djermanovic
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Requirements
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
const astUtils = require("./utils/ast-utils");
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Rule Definition
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/** @type {import('../shared/types').Rule} */
|
||||
module.exports = {
|
||||
meta: {
|
||||
type: "suggestion",
|
||||
|
||||
docs: {
|
||||
description: "Disallow specified names in exports",
|
||||
recommended: false,
|
||||
url: "https://eslint.org/docs/latest/rules/no-restricted-exports",
|
||||
},
|
||||
|
||||
schema: [
|
||||
{
|
||||
anyOf: [
|
||||
{
|
||||
type: "object",
|
||||
properties: {
|
||||
restrictedNamedExports: {
|
||||
type: "array",
|
||||
items: {
|
||||
type: "string",
|
||||
},
|
||||
uniqueItems: true,
|
||||
},
|
||||
restrictedNamedExportsPattern: { type: "string" },
|
||||
},
|
||||
additionalProperties: false,
|
||||
},
|
||||
{
|
||||
type: "object",
|
||||
properties: {
|
||||
restrictedNamedExports: {
|
||||
type: "array",
|
||||
items: {
|
||||
type: "string",
|
||||
pattern: "^(?!default$)",
|
||||
},
|
||||
uniqueItems: true,
|
||||
},
|
||||
restrictedNamedExportsPattern: { type: "string" },
|
||||
restrictDefaultExports: {
|
||||
type: "object",
|
||||
properties: {
|
||||
// Allow/Disallow `export default foo; export default 42; export default function foo() {}` format
|
||||
direct: {
|
||||
type: "boolean",
|
||||
},
|
||||
|
||||
// Allow/Disallow `export { foo as default };` declarations
|
||||
named: {
|
||||
type: "boolean",
|
||||
},
|
||||
|
||||
// Allow/Disallow `export { default } from "mod"; export { default as default } from "mod";` declarations
|
||||
defaultFrom: {
|
||||
type: "boolean",
|
||||
},
|
||||
|
||||
// Allow/Disallow `export { foo as default } from "mod";` declarations
|
||||
namedFrom: {
|
||||
type: "boolean",
|
||||
},
|
||||
|
||||
// Allow/Disallow `export * as default from "mod"`; declarations
|
||||
namespaceFrom: {
|
||||
type: "boolean",
|
||||
},
|
||||
},
|
||||
additionalProperties: false,
|
||||
},
|
||||
},
|
||||
additionalProperties: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
|
||||
messages: {
|
||||
restrictedNamed:
|
||||
"'{{name}}' is restricted from being used as an exported name.",
|
||||
restrictedDefault: "Exporting 'default' is restricted.",
|
||||
},
|
||||
},
|
||||
|
||||
create(context) {
|
||||
const restrictedNames = new Set(
|
||||
context.options[0] && context.options[0].restrictedNamedExports,
|
||||
);
|
||||
const restrictedNamePattern =
|
||||
context.options[0] &&
|
||||
context.options[0].restrictedNamedExportsPattern;
|
||||
const restrictDefaultExports =
|
||||
context.options[0] && context.options[0].restrictDefaultExports;
|
||||
const sourceCode = context.sourceCode;
|
||||
|
||||
/**
|
||||
* Checks and reports given exported name.
|
||||
* @param {ASTNode} node exported `Identifier` or string `Literal` node to check.
|
||||
* @returns {void}
|
||||
*/
|
||||
function checkExportedName(node) {
|
||||
const name = astUtils.getModuleExportName(node);
|
||||
|
||||
let matchesRestrictedNamePattern = false;
|
||||
|
||||
if (restrictedNamePattern && name !== "default") {
|
||||
const patternRegex = new RegExp(restrictedNamePattern, "u");
|
||||
|
||||
matchesRestrictedNamePattern = patternRegex.test(name);
|
||||
}
|
||||
|
||||
if (matchesRestrictedNamePattern || restrictedNames.has(name)) {
|
||||
context.report({
|
||||
node,
|
||||
messageId: "restrictedNamed",
|
||||
data: { name },
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (name === "default") {
|
||||
if (node.parent.type === "ExportAllDeclaration") {
|
||||
if (
|
||||
restrictDefaultExports &&
|
||||
restrictDefaultExports.namespaceFrom
|
||||
) {
|
||||
context.report({
|
||||
node,
|
||||
messageId: "restrictedDefault",
|
||||
});
|
||||
}
|
||||
} else {
|
||||
// ExportSpecifier
|
||||
const isSourceSpecified = !!node.parent.parent.source;
|
||||
const specifierLocalName = astUtils.getModuleExportName(
|
||||
node.parent.local,
|
||||
);
|
||||
|
||||
if (
|
||||
!isSourceSpecified &&
|
||||
restrictDefaultExports &&
|
||||
restrictDefaultExports.named
|
||||
) {
|
||||
context.report({
|
||||
node,
|
||||
messageId: "restrictedDefault",
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (isSourceSpecified && restrictDefaultExports) {
|
||||
if (
|
||||
(specifierLocalName === "default" &&
|
||||
restrictDefaultExports.defaultFrom) ||
|
||||
(specifierLocalName !== "default" &&
|
||||
restrictDefaultExports.namedFrom)
|
||||
) {
|
||||
context.report({
|
||||
node,
|
||||
messageId: "restrictedDefault",
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
ExportAllDeclaration(node) {
|
||||
if (node.exported) {
|
||||
checkExportedName(node.exported);
|
||||
}
|
||||
},
|
||||
|
||||
ExportDefaultDeclaration(node) {
|
||||
if (restrictDefaultExports && restrictDefaultExports.direct) {
|
||||
context.report({
|
||||
node,
|
||||
messageId: "restrictedDefault",
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
ExportNamedDeclaration(node) {
|
||||
const declaration = node.declaration;
|
||||
|
||||
if (declaration) {
|
||||
if (
|
||||
declaration.type === "FunctionDeclaration" ||
|
||||
declaration.type === "ClassDeclaration"
|
||||
) {
|
||||
checkExportedName(declaration.id);
|
||||
} else if (declaration.type === "VariableDeclaration") {
|
||||
sourceCode
|
||||
.getDeclaredVariables(declaration)
|
||||
.map(v =>
|
||||
v.defs.find(d => d.parent === declaration),
|
||||
)
|
||||
.map(d => d.name) // Identifier nodes
|
||||
.forEach(checkExportedName);
|
||||
}
|
||||
} else {
|
||||
node.specifiers
|
||||
.map(s => s.exported)
|
||||
.forEach(checkExportedName);
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
@@ -0,0 +1,204 @@
|
||||
/**
|
||||
* @fileoverview Rule to disallow unnecessary computed property keys in object literals
|
||||
* @author Burak Yigit Kaya
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Requirements
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
const astUtils = require("./utils/ast-utils");
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Helpers
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Determines whether the computed key syntax is unnecessarily used for the given node.
|
||||
* In particular, it determines whether removing the square brackets and using the content between them
|
||||
* directly as the key (e.g. ['foo'] -> 'foo') would produce valid syntax and preserve the same behavior.
|
||||
* Valid non-computed keys are only: identifiers, number literals and string literals.
|
||||
* Only literals can preserve the same behavior, with a few exceptions for specific node types:
|
||||
* Property
|
||||
* - { ["__proto__"]: foo } defines a property named "__proto__"
|
||||
* { "__proto__": foo } defines object's prototype
|
||||
* PropertyDefinition
|
||||
* - class C { ["constructor"]; } defines an instance field named "constructor"
|
||||
* class C { "constructor"; } produces a parsing error
|
||||
* - class C { static ["constructor"]; } defines a static field named "constructor"
|
||||
* class C { static "constructor"; } produces a parsing error
|
||||
* - class C { static ["prototype"]; } produces a runtime error (doesn't break the whole script)
|
||||
* class C { static "prototype"; } produces a parsing error (breaks the whole script)
|
||||
* MethodDefinition
|
||||
* - class C { ["constructor"]() {} } defines a prototype method named "constructor"
|
||||
* class C { "constructor"() {} } defines the constructor
|
||||
* - class C { static ["prototype"]() {} } produces a runtime error (doesn't break the whole script)
|
||||
* class C { static "prototype"() {} } produces a parsing error (breaks the whole script)
|
||||
* @param {ASTNode} node The node to check. It can be `Property`, `PropertyDefinition` or `MethodDefinition`.
|
||||
* @throws {Error} (Unreachable.)
|
||||
* @returns {void} `true` if the node has useless computed key.
|
||||
*/
|
||||
function hasUselessComputedKey(node) {
|
||||
if (!node.computed) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const { key } = node;
|
||||
|
||||
if (key.type !== "Literal") {
|
||||
return false;
|
||||
}
|
||||
|
||||
const { value } = key;
|
||||
|
||||
if (typeof value !== "number" && typeof value !== "string") {
|
||||
return false;
|
||||
}
|
||||
|
||||
switch (node.type) {
|
||||
case "Property":
|
||||
if (node.parent.type === "ObjectExpression") {
|
||||
return value !== "__proto__";
|
||||
}
|
||||
return true;
|
||||
|
||||
case "PropertyDefinition":
|
||||
if (node.static) {
|
||||
return value !== "constructor" && value !== "prototype";
|
||||
}
|
||||
|
||||
return value !== "constructor";
|
||||
|
||||
case "MethodDefinition":
|
||||
if (node.static) {
|
||||
return value !== "prototype";
|
||||
}
|
||||
|
||||
return value !== "constructor";
|
||||
|
||||
/* c8 ignore next */
|
||||
default:
|
||||
throw new Error(`Unexpected node type: ${node.type}`);
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Rule Definition
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/** @type {import('../shared/types').Rule} */
|
||||
module.exports = {
|
||||
meta: {
|
||||
type: "suggestion",
|
||||
|
||||
defaultOptions: [
|
||||
{
|
||||
enforceForClassMembers: true,
|
||||
},
|
||||
],
|
||||
|
||||
docs: {
|
||||
description:
|
||||
"Disallow unnecessary computed property keys in objects and classes",
|
||||
recommended: false,
|
||||
frozen: true,
|
||||
url: "https://eslint.org/docs/latest/rules/no-useless-computed-key",
|
||||
},
|
||||
|
||||
schema: [
|
||||
{
|
||||
type: "object",
|
||||
properties: {
|
||||
enforceForClassMembers: {
|
||||
type: "boolean",
|
||||
},
|
||||
},
|
||||
additionalProperties: false,
|
||||
},
|
||||
],
|
||||
fixable: "code",
|
||||
|
||||
messages: {
|
||||
unnecessarilyComputedProperty:
|
||||
"Unnecessarily computed property [{{property}}] found.",
|
||||
},
|
||||
},
|
||||
create(context) {
|
||||
const sourceCode = context.sourceCode;
|
||||
const [{ enforceForClassMembers }] = context.options;
|
||||
|
||||
/**
|
||||
* Reports a given node if it violated this rule.
|
||||
* @param {ASTNode} node The node to check.
|
||||
* @returns {void}
|
||||
*/
|
||||
function check(node) {
|
||||
if (hasUselessComputedKey(node)) {
|
||||
const { key } = node;
|
||||
|
||||
context.report({
|
||||
node,
|
||||
messageId: "unnecessarilyComputedProperty",
|
||||
data: { property: sourceCode.getText(key) },
|
||||
fix(fixer) {
|
||||
const leftSquareBracket = sourceCode.getTokenBefore(
|
||||
key,
|
||||
astUtils.isOpeningBracketToken,
|
||||
);
|
||||
const rightSquareBracket = sourceCode.getTokenAfter(
|
||||
key,
|
||||
astUtils.isClosingBracketToken,
|
||||
);
|
||||
|
||||
// If there are comments between the brackets and the property name, don't do a fix.
|
||||
if (
|
||||
sourceCode.commentsExistBetween(
|
||||
leftSquareBracket,
|
||||
rightSquareBracket,
|
||||
)
|
||||
) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const tokenBeforeLeftBracket =
|
||||
sourceCode.getTokenBefore(leftSquareBracket);
|
||||
|
||||
// Insert a space before the key to avoid changing identifiers, e.g. ({ get[2]() {} }) to ({ get2() {} })
|
||||
const needsSpaceBeforeKey =
|
||||
tokenBeforeLeftBracket.range[1] ===
|
||||
leftSquareBracket.range[0] &&
|
||||
!astUtils.canTokensBeAdjacent(
|
||||
tokenBeforeLeftBracket,
|
||||
sourceCode.getFirstToken(key),
|
||||
);
|
||||
|
||||
const replacementKey =
|
||||
(needsSpaceBeforeKey ? " " : "") + key.raw;
|
||||
|
||||
return fixer.replaceTextRange(
|
||||
[
|
||||
leftSquareBracket.range[0],
|
||||
rightSquareBracket.range[1],
|
||||
],
|
||||
replacementKey,
|
||||
);
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A no-op function to act as placeholder for checking a node when the `enforceForClassMembers` option is `false`.
|
||||
* @returns {void}
|
||||
* @private
|
||||
*/
|
||||
function noop() {}
|
||||
|
||||
return {
|
||||
Property: check,
|
||||
MethodDefinition: enforceForClassMembers ? check : noop,
|
||||
PropertyDefinition: enforceForClassMembers ? check : noop,
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,40 @@
|
||||
import { jsx } from "react/jsx-runtime";
|
||||
import { isNotFound } from "@tanstack/router-core";
|
||||
import { CatchBoundary } from "./CatchBoundary.js";
|
||||
import { useRouterState } from "./useRouterState.js";
|
||||
function CatchNotFound(props) {
|
||||
const resetKey = useRouterState({
|
||||
select: (s) => `not-found-${s.location.pathname}-${s.status}`
|
||||
});
|
||||
return /* @__PURE__ */ jsx(
|
||||
CatchBoundary,
|
||||
{
|
||||
getResetKey: () => resetKey,
|
||||
onCatch: (error, errorInfo) => {
|
||||
var _a;
|
||||
if (isNotFound(error)) {
|
||||
(_a = props.onCatch) == null ? void 0 : _a.call(props, error, errorInfo);
|
||||
} else {
|
||||
throw error;
|
||||
}
|
||||
},
|
||||
errorComponent: ({ error }) => {
|
||||
var _a;
|
||||
if (isNotFound(error)) {
|
||||
return (_a = props.fallback) == null ? void 0 : _a.call(props, error);
|
||||
} else {
|
||||
throw error;
|
||||
}
|
||||
},
|
||||
children: props.children
|
||||
}
|
||||
);
|
||||
}
|
||||
function DefaultGlobalNotFound() {
|
||||
return /* @__PURE__ */ jsx("p", { children: "Not Found" });
|
||||
}
|
||||
export {
|
||||
CatchNotFound,
|
||||
DefaultGlobalNotFound
|
||||
};
|
||||
//# sourceMappingURL=not-found.js.map
|
||||
@@ -0,0 +1,33 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var _deepArray = require("./helpers/deep-array.js");
|
||||
class Plugin {
|
||||
constructor(plugin, options, key, externalDependencies = (0, _deepArray.finalize)([])) {
|
||||
this.key = void 0;
|
||||
this.manipulateOptions = void 0;
|
||||
this.post = void 0;
|
||||
this.pre = void 0;
|
||||
this.visitor = void 0;
|
||||
this.parserOverride = void 0;
|
||||
this.generatorOverride = void 0;
|
||||
this.options = void 0;
|
||||
this.externalDependencies = void 0;
|
||||
this.key = plugin.name || key;
|
||||
this.manipulateOptions = plugin.manipulateOptions;
|
||||
this.post = plugin.post;
|
||||
this.pre = plugin.pre;
|
||||
this.visitor = plugin.visitor || {};
|
||||
this.parserOverride = plugin.parserOverride;
|
||||
this.generatorOverride = plugin.generatorOverride;
|
||||
this.options = options;
|
||||
this.externalDependencies = externalDependencies;
|
||||
}
|
||||
}
|
||||
exports.default = Plugin;
|
||||
0 && 0;
|
||||
|
||||
//# sourceMappingURL=plugin.js.map
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={C:{"128":0.09688,"135":0.57587,"136":0.28525,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 129 130 131 132 133 134 137 138 139 140 3.5 3.6"},D:{"109":0.06458,"114":0.16146,"116":0.16146,"133":0.66737,"134":4.80613,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 115 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 135 136 137 138"},F:{"87":2.16356,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.03229,"117":0.09688,"131":5.82871,"133":0.89341,"134":2.10436,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 118 119 120 121 122 123 124 125 126 127 128 129 130 132"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 15.6 16.0 16.1 16.2 16.3 16.4 16.5 16.6 17.0 17.1 17.2 17.3 17.4 17.5 17.6 18.0 18.1 18.2 18.3 18.4"},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00018,"5.0-5.1":0,"6.0-6.1":0.00054,"7.0-7.1":0.00036,"8.1-8.4":0,"9.0-9.2":0.00027,"9.3":0.00127,"10.0-10.2":0.00009,"10.3":0.00208,"11.0-11.2":0.00959,"11.3-11.4":0.00063,"12.0-12.1":0.00036,"12.2-12.5":0.00896,"13.0-13.1":0.00018,"13.2":0.00027,"13.3":0.00036,"13.4-13.7":0.00127,"14.0-14.4":0.00317,"14.5-14.8":0.0038,"15.0-15.1":0.00208,"15.2-15.3":0.00208,"15.4":0.00253,"15.5":0.0029,"15.6-15.8":0.03566,"16.0":0.00507,"16.1":0.01041,"16.2":0.00543,"16.3":0.00941,"16.4":0.00208,"16.5":0.00389,"16.6-16.7":0.04227,"17.0":0.00253,"17.1":0.00453,"17.2":0.00344,"17.3":0.0048,"17.4":0.00959,"17.5":0.02136,"17.6-17.7":0.062,"18.0":0.01738,"18.1":0.05684,"18.2":0.02543,"18.3":0.53158,"18.4":0.00787},P:{"27":0.03233,_:"4 20 21 22 23 24 25 26 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},N:{_:"10 11"},R:{_:"0"},M:{_:"0"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":80.97364}};
|
||||
@@ -0,0 +1,3 @@
|
||||
const compare = require('./compare')
|
||||
const rcompare = (a, b, loose) => compare(b, a, loose)
|
||||
module.exports = rcompare
|
||||
@@ -0,0 +1 @@
|
||||
"use strict";function g(i,n){return{handler:i,config:n}}g.withOptions=function(i,n=()=>({})){function t(o){return{handler:i(o),config:n(o)}}return t.__isOptionsFunction=!0,t};var u=g;module.exports=u;
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="64"
|
||||
height="64"
|
||||
viewBox="0 0 64 64">
|
||||
<path
|
||||
d="M 32.003143,10.913072 57.432701,53.086929 6.567299,53.083723 z"
|
||||
id="path2985"
|
||||
style="fill:#ffff00;fill-opacity:0.94117647;fill-rule:nonzero;stroke:#000000;stroke-width:0.83403099;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 426 B |
@@ -0,0 +1,93 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.createConfigItem = createConfigItem;
|
||||
exports.createConfigItemAsync = createConfigItemAsync;
|
||||
exports.createConfigItemSync = createConfigItemSync;
|
||||
Object.defineProperty(exports, "default", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _full.default;
|
||||
}
|
||||
});
|
||||
exports.loadOptions = loadOptions;
|
||||
exports.loadOptionsAsync = loadOptionsAsync;
|
||||
exports.loadOptionsSync = loadOptionsSync;
|
||||
exports.loadPartialConfig = loadPartialConfig;
|
||||
exports.loadPartialConfigAsync = loadPartialConfigAsync;
|
||||
exports.loadPartialConfigSync = loadPartialConfigSync;
|
||||
function _gensync() {
|
||||
const data = require("gensync");
|
||||
_gensync = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
var _full = require("./full.js");
|
||||
var _partial = require("./partial.js");
|
||||
var _item = require("./item.js");
|
||||
var _rewriteStackTrace = require("../errors/rewrite-stack-trace.js");
|
||||
const loadPartialConfigRunner = _gensync()(_partial.loadPartialConfig);
|
||||
function loadPartialConfigAsync(...args) {
|
||||
return (0, _rewriteStackTrace.beginHiddenCallStack)(loadPartialConfigRunner.async)(...args);
|
||||
}
|
||||
function loadPartialConfigSync(...args) {
|
||||
return (0, _rewriteStackTrace.beginHiddenCallStack)(loadPartialConfigRunner.sync)(...args);
|
||||
}
|
||||
function loadPartialConfig(opts, callback) {
|
||||
if (callback !== undefined) {
|
||||
(0, _rewriteStackTrace.beginHiddenCallStack)(loadPartialConfigRunner.errback)(opts, callback);
|
||||
} else if (typeof opts === "function") {
|
||||
(0, _rewriteStackTrace.beginHiddenCallStack)(loadPartialConfigRunner.errback)(undefined, opts);
|
||||
} else {
|
||||
{
|
||||
return loadPartialConfigSync(opts);
|
||||
}
|
||||
}
|
||||
}
|
||||
function* loadOptionsImpl(opts) {
|
||||
var _config$options;
|
||||
const config = yield* (0, _full.default)(opts);
|
||||
return (_config$options = config == null ? void 0 : config.options) != null ? _config$options : null;
|
||||
}
|
||||
const loadOptionsRunner = _gensync()(loadOptionsImpl);
|
||||
function loadOptionsAsync(...args) {
|
||||
return (0, _rewriteStackTrace.beginHiddenCallStack)(loadOptionsRunner.async)(...args);
|
||||
}
|
||||
function loadOptionsSync(...args) {
|
||||
return (0, _rewriteStackTrace.beginHiddenCallStack)(loadOptionsRunner.sync)(...args);
|
||||
}
|
||||
function loadOptions(opts, callback) {
|
||||
if (callback !== undefined) {
|
||||
(0, _rewriteStackTrace.beginHiddenCallStack)(loadOptionsRunner.errback)(opts, callback);
|
||||
} else if (typeof opts === "function") {
|
||||
(0, _rewriteStackTrace.beginHiddenCallStack)(loadOptionsRunner.errback)(undefined, opts);
|
||||
} else {
|
||||
{
|
||||
return loadOptionsSync(opts);
|
||||
}
|
||||
}
|
||||
}
|
||||
const createConfigItemRunner = _gensync()(_item.createConfigItem);
|
||||
function createConfigItemAsync(...args) {
|
||||
return (0, _rewriteStackTrace.beginHiddenCallStack)(createConfigItemRunner.async)(...args);
|
||||
}
|
||||
function createConfigItemSync(...args) {
|
||||
return (0, _rewriteStackTrace.beginHiddenCallStack)(createConfigItemRunner.sync)(...args);
|
||||
}
|
||||
function createConfigItem(target, options, callback) {
|
||||
if (callback !== undefined) {
|
||||
(0, _rewriteStackTrace.beginHiddenCallStack)(createConfigItemRunner.errback)(target, options, callback);
|
||||
} else if (typeof options === "function") {
|
||||
(0, _rewriteStackTrace.beginHiddenCallStack)(createConfigItemRunner.errback)(target, undefined, callback);
|
||||
} else {
|
||||
{
|
||||
return createConfigItemSync(target, options);
|
||||
}
|
||||
}
|
||||
}
|
||||
0 && 0;
|
||||
|
||||
//# sourceMappingURL=index.js.map
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
@@ -0,0 +1,14 @@
|
||||
import * as pdfjs from 'pdfjs-dist';
|
||||
import Document from './Document.js';
|
||||
import Outline from './Outline.js';
|
||||
import Page from './Page.js';
|
||||
import Thumbnail from './Thumbnail.js';
|
||||
import useDocumentContext from './shared/hooks/useDocumentContext.js';
|
||||
import useOutlineContext from './shared/hooks/useOutlineContext.js';
|
||||
import usePageContext from './shared/hooks/usePageContext.js';
|
||||
export type { DocumentProps } from './Document.js';
|
||||
export type { OutlineProps } from './Outline.js';
|
||||
export type { PageProps } from './Page.js';
|
||||
export type { ThumbnailProps } from './Thumbnail.js';
|
||||
import './pdf.worker.entry.js';
|
||||
export { pdfjs, Document, Outline, Page, Thumbnail, useDocumentContext, useOutlineContext, usePageContext, };
|
||||
@@ -0,0 +1,11 @@
|
||||
const Range = require('../classes/range')
|
||||
const validRange = (range, options) => {
|
||||
try {
|
||||
// Return '*' instead of '' so that truthiness works.
|
||||
// This will throw if it's invalid anyway
|
||||
return new Range(range, options).range || '*'
|
||||
} catch (er) {
|
||||
return null
|
||||
}
|
||||
}
|
||||
module.exports = validRange
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"version":3,"names":["_matchesPattern","require","buildMatchMemberExpression","match","allowPartial","parts","split","member","matchesPattern"],"sources":["../../src/validators/buildMatchMemberExpression.ts"],"sourcesContent":["import matchesPattern from \"./matchesPattern.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Build a function that when called will return whether or not the\n * input `node` `MemberExpression` matches the input `match`.\n *\n * For example, given the match `React.createClass` it would match the\n * parsed nodes of `React.createClass` and `React[\"createClass\"]`.\n */\nexport default function buildMatchMemberExpression(\n match: string,\n allowPartial?: boolean,\n) {\n const parts = match.split(\".\");\n\n return (member: t.Node) => matchesPattern(member, parts, allowPartial);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAUe,SAASC,0BAA0BA,CAChDC,KAAa,EACbC,YAAsB,EACtB;EACA,MAAMC,KAAK,GAAGF,KAAK,CAACG,KAAK,CAAC,GAAG,CAAC;EAE9B,OAAQC,MAAc,IAAK,IAAAC,uBAAc,EAACD,MAAM,EAAEF,KAAK,EAAED,YAAY,CAAC;AACxE","ignoreList":[]}
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"K D E F A B mC"},B:{"1":"0 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB I","2":"C L M G N O P"},C:{"1":"0 9 7B 8B 9B AC BC CC DC Q H R OC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB I PC EC QC RC oC pC","2":"1 2 3 4 5 6 7 8 nC LC J PB K D E F A B C L M G N O P QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB MC wB NC xB yB zB 0B 1B 2B 3B 4B 5B 6B qC rC"},D:{"1":"0 9 jB kB lB mB nB oB pB qB rB sB tB uB vB MC wB NC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB I PC EC QC RC","2":"1 2 3 4 5 6 7 8 J PB K D E F A B C L M G N O P QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB","194":"gB hB iB"},E:{"1":"IC WC XC YC ZC aC 1C JC bC cC dC eC fC 2C KC gC hC iC jC 3C","2":"J PB K D E F A B C L M G sC SC tC uC vC wC TC FC GC xC yC zC UC VC HC 0C"},F:{"1":"0 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC Q H R OC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 F B C G N O P QB RB SB 4C 5C 6C 7C FC kC 8C GC","194":"TB UB VB"},G:{"1":"IC WC XC YC ZC aC UD JC bC cC dC eC fC VD KC gC hC iC jC","2":"E SC 9C lC AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD RD SD UC VC HC TD"},H:{"2":"WD"},I:{"1":"I","2":"LC J XD YD ZD aD lC bD cD"},J:{"2":"D A"},K:{"1":"H","2":"A B C FC kC GC"},L:{"1":"I"},M:{"1":"EC"},N:{"2":"A B"},O:{"1":"HC"},P:{"1":"1 2 3 4 5 6 7 8 dD eD fD gD hD TC iD jD kD lD mD IC JC KC nD","2":"J"},Q:{"1":"oD"},R:{"1":"pD"},S:{"1":"rD","2":"qD"}},B:5,C:"CSS Motion Path",D:true};
|
||||
@@ -0,0 +1,58 @@
|
||||
/**
|
||||
* @fileoverview Common utils for regular expressions.
|
||||
* @author Josh Goldberg
|
||||
* @author Toru Nagashima
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
const { RegExpValidator } = require("@eslint-community/regexpp");
|
||||
|
||||
const REGEXPP_LATEST_ECMA_VERSION = 2025;
|
||||
|
||||
/**
|
||||
* Checks if the given regular expression pattern would be valid with the `u` flag.
|
||||
* @param {number} ecmaVersion ECMAScript version to parse in.
|
||||
* @param {string} pattern The regular expression pattern to verify.
|
||||
* @param {"u"|"v"} flag The type of Unicode flag
|
||||
* @returns {boolean} `true` if the pattern would be valid with the `u` flag.
|
||||
* `false` if the pattern would be invalid with the `u` flag or the configured
|
||||
* ecmaVersion doesn't support the `u` flag.
|
||||
*/
|
||||
function isValidWithUnicodeFlag(ecmaVersion, pattern, flag = "u") {
|
||||
if (flag === "u" && ecmaVersion <= 5) {
|
||||
// ecmaVersion <= 5 doesn't support the 'u' flag
|
||||
return false;
|
||||
}
|
||||
if (flag === "v" && ecmaVersion <= 2023) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const validator = new RegExpValidator({
|
||||
ecmaVersion: Math.min(ecmaVersion, REGEXPP_LATEST_ECMA_VERSION),
|
||||
});
|
||||
|
||||
try {
|
||||
validator.validatePattern(
|
||||
pattern,
|
||||
void 0,
|
||||
void 0,
|
||||
flag === "u"
|
||||
? {
|
||||
unicode: /* uFlag = */ true,
|
||||
}
|
||||
: {
|
||||
unicodeSets: true,
|
||||
},
|
||||
);
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
isValidWithUnicodeFlag,
|
||||
REGEXPP_LATEST_ECMA_VERSION,
|
||||
};
|
||||
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"name": "vite",
|
||||
"version": "6.2.5",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"author": "Evan You",
|
||||
"description": "Native-ESM powered web dev build tool",
|
||||
"bin": {
|
||||
"vite": "bin/vite.js"
|
||||
},
|
||||
"keywords": [
|
||||
"frontend",
|
||||
"framework",
|
||||
"hmr",
|
||||
"dev-server",
|
||||
"build-tool",
|
||||
"vite"
|
||||
],
|
||||
"main": "./dist/node/index.js",
|
||||
"types": "./dist/node/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"module-sync": "./dist/node/index.js",
|
||||
"import": "./dist/node/index.js",
|
||||
"require": "./index.cjs"
|
||||
},
|
||||
"./client": {
|
||||
"types": "./client.d.ts"
|
||||
},
|
||||
"./module-runner": "./dist/node/module-runner.js",
|
||||
"./dist/client/*": "./dist/client/*",
|
||||
"./types/*": {
|
||||
"types": "./types/*"
|
||||
},
|
||||
"./types/internal/*": null,
|
||||
"./package.json": "./package.json"
|
||||
},
|
||||
"typesVersions": {
|
||||
"*": {
|
||||
"module-runner": [
|
||||
"dist/node/module-runner.d.ts"
|
||||
]
|
||||
}
|
||||
},
|
||||
"imports": {
|
||||
"#module-sync-enabled": {
|
||||
"module-sync": "./misc/true.js",
|
||||
"default": "./misc/false.js"
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"bin",
|
||||
"dist",
|
||||
"misc/**/*.js",
|
||||
"client.d.ts",
|
||||
"index.cjs",
|
||||
"index.d.cts",
|
||||
"types"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^18.0.0 || ^20.0.0 || >=22.0.0"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vitejs/vite.git",
|
||||
"directory": "packages/vite"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/vitejs/vite/issues"
|
||||
},
|
||||
"homepage": "https://vite.dev",
|
||||
"funding": "https://github.com/vitejs/vite?sponsor=1",
|
||||
"//": "READ CONTRIBUTING.md to understand what to put under deps vs. devDeps!",
|
||||
"dependencies": {
|
||||
"esbuild": "^0.25.0",
|
||||
"postcss": "^8.5.3",
|
||||
"rollup": "^4.30.1"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "~2.3.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ampproject/remapping": "^2.3.0",
|
||||
"@babel/parser": "^7.26.9",
|
||||
"@jridgewell/trace-mapping": "^0.3.25",
|
||||
"@polka/compression": "^1.0.0-next.25",
|
||||
"@rollup/plugin-alias": "^5.1.1",
|
||||
"@rollup/plugin-commonjs": "^28.0.3",
|
||||
"@rollup/plugin-dynamic-import-vars": "2.1.4",
|
||||
"@rollup/plugin-json": "^6.1.0",
|
||||
"@rollup/plugin-node-resolve": "16.0.0",
|
||||
"@rollup/pluginutils": "^5.1.4",
|
||||
"@types/escape-html": "^1.0.4",
|
||||
"@types/pnpapi": "^0.0.5",
|
||||
"artichokie": "^0.3.1",
|
||||
"cac": "^6.7.14",
|
||||
"chokidar": "^3.6.0",
|
||||
"connect": "^3.7.0",
|
||||
"convert-source-map": "^2.0.0",
|
||||
"cors": "^2.8.5",
|
||||
"cross-spawn": "^7.0.6",
|
||||
"debug": "^4.4.0",
|
||||
"dep-types": "link:./src/types",
|
||||
"dotenv": "^16.4.7",
|
||||
"dotenv-expand": "^12.0.1",
|
||||
"es-module-lexer": "^1.6.0",
|
||||
"escape-html": "^1.0.3",
|
||||
"estree-walker": "^3.0.3",
|
||||
"etag": "^1.8.1",
|
||||
"http-proxy": "^1.18.1",
|
||||
"launch-editor-middleware": "^2.10.0",
|
||||
"lightningcss": "^1.29.2",
|
||||
"magic-string": "^0.30.17",
|
||||
"mlly": "^1.7.4",
|
||||
"mrmime": "^2.0.1",
|
||||
"nanoid": "^5.1.3",
|
||||
"open": "^10.1.0",
|
||||
"parse5": "^7.2.1",
|
||||
"pathe": "^2.0.3",
|
||||
"periscopic": "^4.0.2",
|
||||
"picocolors": "^1.1.1",
|
||||
"picomatch": "^4.0.2",
|
||||
"postcss-import": "^16.1.0",
|
||||
"postcss-load-config": "^6.0.1",
|
||||
"postcss-modules": "^6.0.1",
|
||||
"resolve.exports": "^2.0.3",
|
||||
"rollup-plugin-dts": "^6.1.1",
|
||||
"rollup-plugin-esbuild": "^6.2.1",
|
||||
"rollup-plugin-license": "^3.6.0",
|
||||
"sass": "^1.85.1",
|
||||
"sass-embedded": "^1.85.1",
|
||||
"sirv": "^3.0.1",
|
||||
"source-map-support": "^0.5.21",
|
||||
"strip-literal": "^3.0.0",
|
||||
"terser": "^5.39.0",
|
||||
"tinyglobby": "^0.2.12",
|
||||
"tsconfck": "^3.1.5",
|
||||
"tslib": "^2.8.1",
|
||||
"types": "link:./types",
|
||||
"ufo": "^1.5.4",
|
||||
"ws": "^8.18.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
|
||||
"jiti": ">=1.21.0",
|
||||
"less": "*",
|
||||
"lightningcss": "^1.21.0",
|
||||
"sass": "*",
|
||||
"sass-embedded": "*",
|
||||
"stylus": "*",
|
||||
"sugarss": "*",
|
||||
"terser": "^5.16.0",
|
||||
"tsx": "^4.8.1",
|
||||
"yaml": "^2.4.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/node": {
|
||||
"optional": true
|
||||
},
|
||||
"jiti": {
|
||||
"optional": true
|
||||
},
|
||||
"sass": {
|
||||
"optional": true
|
||||
},
|
||||
"sass-embedded": {
|
||||
"optional": true
|
||||
},
|
||||
"stylus": {
|
||||
"optional": true
|
||||
},
|
||||
"less": {
|
||||
"optional": true
|
||||
},
|
||||
"sugarss": {
|
||||
"optional": true
|
||||
},
|
||||
"lightningcss": {
|
||||
"optional": true
|
||||
},
|
||||
"terser": {
|
||||
"optional": true
|
||||
},
|
||||
"tsx": {
|
||||
"optional": true
|
||||
},
|
||||
"yaml": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "tsx scripts/dev.ts",
|
||||
"build": "premove dist && pnpm build-bundle && pnpm build-types",
|
||||
"build-bundle": "rollup --config rollup.config.ts --configPlugin esbuild",
|
||||
"build-types": "pnpm build-types-temp && pnpm build-types-roll && pnpm build-types-check",
|
||||
"build-types-temp": "tsc --emitDeclarationOnly --outDir temp -p src/node/tsconfig.build.json",
|
||||
"build-types-roll": "rollup --config rollup.dts.config.ts --configPlugin esbuild && premove temp",
|
||||
"build-types-check": "tsc --project tsconfig.check.json",
|
||||
"typecheck": "tsc --noEmit && tsc --noEmit -p src/node",
|
||||
"lint": "eslint --cache --ext .ts src/**",
|
||||
"format": "prettier --write --cache --parser typescript \"src/**/*.ts\""
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.validatePluginObject = validatePluginObject;
|
||||
var _optionAssertions = require("./option-assertions.js");
|
||||
const VALIDATORS = {
|
||||
name: _optionAssertions.assertString,
|
||||
manipulateOptions: _optionAssertions.assertFunction,
|
||||
pre: _optionAssertions.assertFunction,
|
||||
post: _optionAssertions.assertFunction,
|
||||
inherits: _optionAssertions.assertFunction,
|
||||
visitor: assertVisitorMap,
|
||||
parserOverride: _optionAssertions.assertFunction,
|
||||
generatorOverride: _optionAssertions.assertFunction
|
||||
};
|
||||
function assertVisitorMap(loc, value) {
|
||||
const obj = (0, _optionAssertions.assertObject)(loc, value);
|
||||
if (obj) {
|
||||
Object.keys(obj).forEach(prop => {
|
||||
if (prop !== "_exploded" && prop !== "_verified") {
|
||||
assertVisitorHandler(prop, obj[prop]);
|
||||
}
|
||||
});
|
||||
if (obj.enter || obj.exit) {
|
||||
throw new Error(`${(0, _optionAssertions.msg)(loc)} cannot contain catch-all "enter" or "exit" handlers. Please target individual nodes.`);
|
||||
}
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
function assertVisitorHandler(key, value) {
|
||||
if (value && typeof value === "object") {
|
||||
Object.keys(value).forEach(handler => {
|
||||
if (handler !== "enter" && handler !== "exit") {
|
||||
throw new Error(`.visitor["${key}"] may only have .enter and/or .exit handlers.`);
|
||||
}
|
||||
});
|
||||
} else if (typeof value !== "function") {
|
||||
throw new Error(`.visitor["${key}"] must be a function`);
|
||||
}
|
||||
}
|
||||
function validatePluginObject(obj) {
|
||||
const rootPath = {
|
||||
type: "root",
|
||||
source: "plugin"
|
||||
};
|
||||
Object.keys(obj).forEach(key => {
|
||||
const validator = VALIDATORS[key];
|
||||
if (validator) {
|
||||
const optLoc = {
|
||||
type: "option",
|
||||
name: key,
|
||||
parent: rootPath
|
||||
};
|
||||
validator(optLoc, obj[key]);
|
||||
} else {
|
||||
const invalidPluginPropertyError = new Error(`.${key} is not a valid Plugin property`);
|
||||
invalidPluginPropertyError.code = "BABEL_UNKNOWN_PLUGIN_PROPERTY";
|
||||
throw invalidPluginPropertyError;
|
||||
}
|
||||
});
|
||||
return obj;
|
||||
}
|
||||
0 && 0;
|
||||
|
||||
//# sourceMappingURL=plugins.js.map
|
||||
@@ -0,0 +1,66 @@
|
||||
import { HistoryAction } from '@tanstack/history';
|
||||
import { AnyRoute, AnyRouter, ParseRoute, RegisteredRouter } from '@tanstack/router-core';
|
||||
import * as React from 'react';
|
||||
interface ShouldBlockFnLocation<out TRouteId, out TFullPath, out TAllParams, out TFullSearchSchema> {
|
||||
routeId: TRouteId;
|
||||
fullPath: TFullPath;
|
||||
pathname: string;
|
||||
params: TAllParams;
|
||||
search: TFullSearchSchema;
|
||||
}
|
||||
type MakeShouldBlockFnLocationUnion<TRouter extends AnyRouter = RegisteredRouter, TRoute extends AnyRoute = ParseRoute<TRouter['routeTree']>> = TRoute extends any ? ShouldBlockFnLocation<TRoute['id'], TRoute['fullPath'], TRoute['types']['allParams'], TRoute['types']['fullSearchSchema']> : never;
|
||||
type BlockerResolver<TRouter extends AnyRouter = RegisteredRouter> = {
|
||||
status: 'blocked';
|
||||
current: MakeShouldBlockFnLocationUnion<TRouter>;
|
||||
next: MakeShouldBlockFnLocationUnion<TRouter>;
|
||||
action: HistoryAction;
|
||||
proceed: () => void;
|
||||
reset: () => void;
|
||||
} | {
|
||||
status: 'idle';
|
||||
current: undefined;
|
||||
next: undefined;
|
||||
action: undefined;
|
||||
proceed: undefined;
|
||||
reset: undefined;
|
||||
};
|
||||
type ShouldBlockFnArgs<TRouter extends AnyRouter = RegisteredRouter> = {
|
||||
current: MakeShouldBlockFnLocationUnion<TRouter>;
|
||||
next: MakeShouldBlockFnLocationUnion<TRouter>;
|
||||
action: HistoryAction;
|
||||
};
|
||||
export type ShouldBlockFn<TRouter extends AnyRouter = RegisteredRouter> = (args: ShouldBlockFnArgs<TRouter>) => boolean | Promise<boolean>;
|
||||
export type UseBlockerOpts<TRouter extends AnyRouter = RegisteredRouter, TWithResolver extends boolean = boolean> = {
|
||||
shouldBlockFn: ShouldBlockFn<TRouter>;
|
||||
enableBeforeUnload?: boolean | (() => boolean);
|
||||
disabled?: boolean;
|
||||
withResolver?: TWithResolver;
|
||||
};
|
||||
type LegacyBlockerFn = () => Promise<any> | any;
|
||||
type LegacyBlockerOpts = {
|
||||
blockerFn?: LegacyBlockerFn;
|
||||
condition?: boolean | any;
|
||||
};
|
||||
export declare function useBlocker<TRouter extends AnyRouter = RegisteredRouter, TWithResolver extends boolean = false>(opts: UseBlockerOpts<TRouter, TWithResolver>): TWithResolver extends true ? BlockerResolver<TRouter> : void;
|
||||
/**
|
||||
* @deprecated Use the shouldBlockFn property instead
|
||||
*/
|
||||
export declare function useBlocker(blockerFnOrOpts?: LegacyBlockerOpts): BlockerResolver;
|
||||
/**
|
||||
* @deprecated Use the UseBlockerOpts object syntax instead
|
||||
*/
|
||||
export declare function useBlocker(blockerFn?: LegacyBlockerFn, condition?: boolean | any): BlockerResolver;
|
||||
export declare function Block<TRouter extends AnyRouter = RegisteredRouter, TWithResolver extends boolean = boolean>(opts: PromptProps<TRouter, TWithResolver>): React.ReactNode;
|
||||
/**
|
||||
* @deprecated Use the UseBlockerOpts property instead
|
||||
*/
|
||||
export declare function Block(opts: LegacyPromptProps): React.ReactNode;
|
||||
type LegacyPromptProps = {
|
||||
blockerFn?: LegacyBlockerFn;
|
||||
condition?: boolean | any;
|
||||
children?: React.ReactNode | ((params: BlockerResolver) => React.ReactNode);
|
||||
};
|
||||
type PromptProps<TRouter extends AnyRouter = RegisteredRouter, TWithResolver extends boolean = boolean, TParams = TWithResolver extends true ? BlockerResolver<TRouter> : void> = UseBlockerOpts<TRouter, TWithResolver> & {
|
||||
children?: React.ReactNode | ((params: TParams) => React.ReactNode);
|
||||
};
|
||||
export {};
|
||||
@@ -0,0 +1,39 @@
|
||||
# Nano ID
|
||||
|
||||
<img src="https://ai.github.io/nanoid/logo.svg" align="right"
|
||||
alt="Nano ID logo by Anton Lovchikov" width="180" height="94">
|
||||
|
||||
**English** | [Русский](./README.ru.md) | [简体中文](./README.zh-CN.md) | [Bahasa Indonesia](./README.id-ID.md)
|
||||
|
||||
A tiny, secure, URL-friendly, unique string ID generator for JavaScript.
|
||||
|
||||
> “An amazing level of senseless perfectionism,
|
||||
> which is simply impossible not to respect.”
|
||||
|
||||
* **Small.** 130 bytes (minified and gzipped). No dependencies.
|
||||
[Size Limit] controls the size.
|
||||
* **Fast.** It is 2 times faster than UUID.
|
||||
* **Safe.** It uses hardware random generator. Can be used in clusters.
|
||||
* **Short IDs.** It uses a larger alphabet than UUID (`A-Za-z0-9_-`).
|
||||
So ID size was reduced from 36 to 21 symbols.
|
||||
* **Portable.** Nano ID was ported
|
||||
to [20 programming languages](#other-programming-languages).
|
||||
|
||||
```js
|
||||
import { nanoid } from 'nanoid'
|
||||
model.id = nanoid() //=> "V1StGXR8_Z5jdHi6B-myT"
|
||||
```
|
||||
|
||||
Supports modern browsers, IE [with Babel], Node.js and React Native.
|
||||
|
||||
[online tool]: https://gitpod.io/#https://github.com/ai/nanoid/
|
||||
[with Babel]: https://developer.epages.com/blog/coding/how-to-transpile-node-modules-with-babel-and-webpack-in-a-monorepo/
|
||||
[Size Limit]: https://github.com/ai/size-limit
|
||||
|
||||
<a href="https://evilmartians.com/?utm_source=nanoid">
|
||||
<img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg"
|
||||
alt="Sponsored by Evil Martians" width="236" height="54">
|
||||
</a>
|
||||
|
||||
## Docs
|
||||
Read full docs **[here](https://github.com/ai/nanoid#readme)**.
|
||||
Reference in New Issue
Block a user